Google announced today that it would begin cracking down on makers of “multi-purpose” extensions.
In a post on the Chromium Blog, Engineering Director Erik Kay described the new “keep it simple” policy as an expression of the original purpose of Chrome:
[E]xtensions in the Chrome Web Store must have a single purpose that is narrow and easy-to-understand. While this has always been the intent of the Chrome extension system, not all extensions have lived up to this ideal. These multi-purpose extensions can crowd your browser UI and slow down your web browsing - sometimes significantly. We're making this policy change to fix these problems and give users more control over their browsing experience.
The new developer guidelines, posted on the Chrome Web Store’s Program Policies page, offer a hint of what the real reason might be:
An extension should have a single purpose that is clear to users. Do not create an extension that requires users to accept bundles of unrelated functionality, such as an email notifier and a news headline aggregator. If two pieces of functionality are clearly separate, they should be put into two different extensions, and users should have the ability to install and uninstall them separately. For example, functionality that displays product ratings and reviews, but also injects ads into web pages, should not be bundled into a single extension. Similarly, toolbars that provide a broad array of functionality or entry points into services are better delivered as separate extensions, so that users can select the services they want.
The post doesn’t contain any specific examples of extensions that violate that original principle, only describing the problem in generic terms:
[W]e couldn't enforce these design goals technically. With content scripts, extension developers have full control over the page, so they can put up as much UI as they want, even going as far as to create toolbars in the page. Others used content scripts to create extensions with more subtle features bundled together that were harder to attribute to specific extensions.
It might have been helpful for Google to have created a sample extension as a “don’t do this” example. Bizarrely, Google chose instead to illustrate the problem using an infamous gag screenshot of the seven-year-old Internet Explorer 7 stuffed to the limit with toolbars and add-on panes.
Even more bizarrely, the second toolbar in that screenshot is from … Google.
Which is a little like complaining about your neighbor's ugly house, then spray-painting graffiti on his front door to prove your point.
Google won't allow third-party developers to build toolbars for Chrome, but the company still makes its own toolbar for Internet Explorer and distributes that toolbar widely. Anyone who installs the stand-alone Flash Player from Adobe without specifically changing the default settings will get Google Chrome installed and set as their current browser, with the Google Toolbar added to Internet Explorer.
This screenshot of the Adobe installer was captured yesterday:
If Google were a third-party developer building similar functionality for Chrome, it would have to break that Internet Explorer toolbar into a dozen or more separate extensions, each installed separately.
The real reason for the new policy might have less to do with user interface guidelines and more with Google's attempt to shut down extensions that intrude on its advertising fiefdom. In particular, the policies target any extension that modifies web pages by injecting ads into those pages, covering up Google’s own ads.
The new policy seems to be aimed at extensions that use ad injection as a way of making money. The policy mentions that a bundled extension that “[shows] product ratings and reviews, but also injects ads into web pages” would be prohibited. The blog post acknowledges this possibility: “Developers may need to switch to a different approach to monetization,” it says, conveniently adding that Google has recently “add[ed] payment options to extensions.”
One example is the SmoothScroll Chrome extension, which has been absolutely pummeled in the past few months by reviewers in the Chrome Web Store.
The extension had overwhelmingly positive reviews until mid-2011. Then, there's a nearly two-year gap before the new, mostly 1-star reviews slam the product for injecting ads, apparently without permission. The product's listing, from a company called DemandMagic, LLC, acknowledges that it's ad-supported, using language remarkably similar to the generic example Google cites:
SmoothScroll has partnered with SimilarProducts.net to let you instantly compare prices and see similar items while you shop. When turned on from the options page, you can hover over the "See Similar" icon on images to find better deals around the web.
This extension is ad supported, you can disable your support by going to the options and making a one-time donation. We depend on your support, but we understand if you would prefer to withhold it.
The first item on the associated terms of service is titled "smoothscrollapp.com Business Model," which should be a giveaway. It appears this app changed hands recently, and the new owners have decided to cash in.
A quick look at SimilarProducts.net uncovers more evidence for the theory that ad injectors are the real target:
SimilarProducts is a monetization platform that uses Superfish technology to help users find and discover products visually. The technology instantly analyzes images on the web and presents identical and similar product offers.
Our visual search results generate revenue when your users click over to a store. ...
In other words, images on the pages you visit, be they ads or content, can be replaced with ads from the Superfish network. Needless to say, the ad revenue doesn't go to the owner of the website.
Google's blog post also briefly mentions the problem of “sideloading”:
[W]hen extensions were sideloaded locally on their computer (perhaps bundled as part of another piece of software they installed) the user wouldn't have the benefit of the information in the Chrome Web Store at all, so they might not realize they were agreeing to install an extension with unwanted functionality or poor reviews.
Nothing in the new policy prohibits sideloading, although that language appears to be a shot across the bow at developers who go outside the Chrome Web Store. Indeed, another new policy, announced last month, requires all extensions for Chrome on Windows to be hosted in the Chrome Web Store. Effective in January, extensions can only be sideloaded in Developer mode or using enterprise policy.
The new policy takes effect immediately for new extensions. Existing extensions have until June 2014 to submit new, compliant versions or be removed.