One thing I tend to be responsible for at Thycotic is extension development for browsers. These extensions augment our own web applications that customers can optionally install. While working on a Chrome extension, I was greeted by a very surprising message while testing installation:
Extensions, apps, and user scripts can only be added from the Chrome Web Store.
Say what?
Typically, Chrome extensions are distributed as a CRX file, or a Chrome Extension file. They are basically signed zipped files (more details on them here), and developers could either host them in the Chrome Web Store, which is great if you don’t want to host the extension yourself (or don’t have a server to do so), or you could host the extension yourself on your own server, and just point Chrome to that.
Starting in the Chrome 21 Dev Channel, it appears that Chrome is taking away the option of hosting the extension yourself and it must be hosted in the Chrome Web Store.
This has a big impact on us.
Hosting an extension on the Chrome Web Store is simple. All it really means is you upload your extension as a ZIP instead of distributing an CRX.
Regardless, this still irks me for a couple of reasons.
First, Chrome charges for Developers to upload an extension. It’s only a measly $5 one time fee, but I can’t help but get the feeling like Google is trying to nickel-and-dime me, and all other developers. It seems like Chrome is latching on to the “App Store” idea, and extensions are going to be a part of that initiative. Their explanation is, “it offers better security because it allows us to remove malicious extensions”.
Part of me buys that. Safari does the same thing. If you want to release a Safari extension, you need a developer account, you need a digital certificate to sign it. Apple can revoke the certificate via a CRL at any time. The difference is, Apple does it for free.
Secondly, Chrome doesn’t offer a clear migration path from self hosted extensions to the Web Store. I managed to find a Google Group Discussion with unofficial documentation on how to achieve this.
Thirdly, working around this isn’t very friendly. Chrome 21 can still install extensions from self hosted URLs, but it basically boils down to the user downloading the CRX file, opening the Extensions configuration page in Chrome, and dragging it onto that page. Other options, like whitelisting the extension URL, using an installer (like an MSI), aren’t a great alternative either.
Now that isn’t to say any of this could change before Chrome 21 hits general availability, it is on the Dev Channel (unsure about beta) – but it is clear that they intend to make this move given this page.
Google, please reconsider.
Pay the $5, you can then get google to host your apps if necessary . Cheap at half the price!
(That’s what I ended up doing)
I just found out something tonight that you don’t mention, perhaps it will be (welcome) news to you too!
You don’t have to pay $5 to develop Chrome extensions. (nor to use them)
They key is, you must now drag-drop them onto the Extensions page itself (chrome://chrome/extensions/) If you do this, you can still install any (crx) extension – I haven’t tried dropping any *.user.js files there yet.
I started an extension with Chrome, found this limitation after an update. Threw my hands up in the air and developed it for Opera. Was unsatisfied with the performance of the browser in general, so tonight I looked for ways around it – even being prepared to download the source-code for Chromium and compiling it myself, if need be.
Then I stumbled upon this gem of information.
(http://www.ghacks.net/2012/06/12/chrome-fix-extensions-apps-and-user-scripts-cannot-be-installed-from-this-web-site/)
I too thought it was a simple cash-grab, but after considering that there’s only some 6,000 chrome extensions in their store, EVEN IF each one was done by a separate developer they would only get about 30 grand from the exercise. I’m tending toward the point of view that it really is being done in an attempt to clean up the malicious crap that’s there.
(http://techcrunch.com/2010/08/19/chrome-fee/)
Also, I guess as something of a consolation – the $5 is just 20% of the corresponding fee for Android development and put in perspective, it’s really not more than 2 or 3 cans of coke – or 1/4 of a pack of cigarettes.
(But I still don’t like it either)
Simon,
I’m aware that extensions are still technically free because you can drag-and-drop them onto the extension page, but I have a few problems with this. 1), it has a lousy user experience. Chome would now just download the CRX like any other file, and if you double clicked it.. it would download it again! This would severely complicate the installation process, and I am sure our customers would be calling our support line for this. 2) Yes, the fee is cheap. But why does there need to be a fee in the first place? It just seems a little.. off.. to force users to go through one channel now, and that one channel happens to not be free.
There are three other problems here.
1) If I’m making a free extension for a very silly thing (like fixing a problem on a website) and want to distribute it for free, I really don’t want to pay – I mean, if it’s a small thing and it’s a simple user script I want to distribute for free.
2) Even if you still can host them yourself (and have a user pass trough the horrendous installation procedure), they won’t get synced. This is horrible. The user will have to do it all again for each update, and on each computer.
3) Google wants me to use their ridiculous Paypal clone? I don’t want that, I want to pay with goddamit Paypal. Setting up a Paypal is much easier than that Google Wallet crap. That is not the place or time to “promote” their ridiculous product.