Stanislav Khromov announced Clarity, a plugin for hiding obtrusive banners, via Twitter and the Advanced WordPress (AWP) Facebook group today. It was first pushed to WordPress.org around a year ago, but the developer seems to be just now publicizing it.
The Clarity website describes its mission as: “Ads, upsells, and analytics banners have been running rampant in our WordPress dashboards for too long. It’s time to make them go away, once and for all.”
Clarity does not come with a settings screen. Once users active it, it attempts to hide banners and other notifications falling outside of its “acceptable ads policy,” which is currently a draft that Khromov has encouraged feedback on. This policy covers plugins that ask for reviews, inform users of discounts, or prompt them to upgrade to a commercial version.
The plugin’s goal is to hide those notices unless they are:
- Shown only on an options page that belongs to the plugin or theme and nowhere else.
- Shown only to Administrator role users.
- Not intrusive or distracting.
- Not displayed in the main column, but rather in an “aside.”
The plugin does include a link on the plugins management screen to report unwanted banners. It leads to a pre-filled issued template on Clarity’s GitHub repository.
The announcement was well-received by many on AWP, judging by the likes from members. However, several vocalized their opposition to the idea. Some called it “unethical” and “damaging” to the ecosystem.
Ads are a fact of life. They generate the necessary revenue for companies to continue maintaining their current products and building new ones. The WordPress industry is no different in that regard. However, these are often small companies where the wrong placement in the admin can mean the difference between creating new jobs and barely scraping by.
Freemium products are one of the ways that shops provide free features to end-users while also making a commercially-viable solution that keeps their business running. Banners for ads and user ratings are often the most effective methods of making a sale or generating more interest in the project.
“By creating an ad blocker – your selfish disregard to the commercial realities of [open-source] damages a delicate ecosystem,” wrote one developer[1] in the AWP thread. “If you use a free product – pay for it by tolerating a few nags.”
“The idea of taking someone’s work product, but bypassing their ads, is at a minimum unethical,” wrote another developer. “Nobody is forced to capitalize on the fruit of anyone else’s labor.”
Free software means giving users the freedom to change all that. If another developer comes along and blocks the behavior that those users want, it is fair game. Playing in the free-software sandbox means accepting that others can and will change the code you write every now and again. WordPress makes it even easier to do so via its hooks system.
Clarity is merely one tiny fish swimming in a vast ocean of plugins. If it had over a million active installs, maybe it would be realistically put a dent in some commercial shops’ profits. However, that is not the case. Any claim that it is damaging to the ecosystem is tip-toeing into hyperbole.
If it did have that many active installs, perhaps it would be a wake-up call for developers, a warning that users want to see change.
The question is: Do most users need such a plugin?
Maybe not, but it depends. The directory guidelines require that any admin notices — where most of the “offending” ads are located — must be dismissible. However, the standard is relatively loose in definition. Some plugins show the ad to every user logged into the admin, requiring each to dismiss it. Others refresh themselves on plugin updates, requiring additional action by the user. If a plugin is updated multiple times per week and adds a new admin-wide banner each time, it almost feels like it is skirting the rules, just a little bit.
Advertisements and other notices can also be problematic on client builds. Freelancers and agencies sometimes get that frantic call when a plugin update displays a new pro upsell message to clients who thought they had already paid what was required for their site. There are some ways to mitigate this, but they are not all 100% fool-proof in every scenario. Clarity would just be another wrench in the ol’ toolbox for tightening up those client sites, creating some extra peace of mind.
The plugin itself is not “intelligent.” It does not learn and grow on its own, evolving as more plugins are created. It requires a manual process of creating a curated list of selectors to target via CSS. The plugin hides banners according to this custom set of definitions.
As long as third-party developers do not create an ad-block blocker method within their own plugins, Clarity should keep some of the notices at bay. It is unlikely most even knew about this project until its announcement. With it now in the public sphere, I have few doubts that some will override it. It may depend on individual stances on user choice in advertising.
Clarity provides a method for plugin and theme authors to opt into the blocking of their own advertisements. They only need to check for a PHP constant to do so:
if ( defined( 'CLARITY_AD_BLOCKER_ENABLED' ) && CLARITY_AD_BLOCKER_ENABLED ) {
// You should not serve ads or upsells to this user.
}
I doubt most would willingly buy into this system. However, I like the idea. The users who go through the trouble of installing and activating an ad-blocking plugin are unlikely the target audience anyway.
Clarity is a decent option for users who want to find a little calm amidst the noise, but it has its limits.
Footnotes:
1. Advanced WordPress is a private Facebook group. Therefore, I did not include the names of the quoted sources in this article.