In this guide you’ll learn how to destroy 2/3 of your user base in Chrome Web Store with a single update. Take a look on the chart:
This is the history of real chrome app and as you see, at the time when the “killer-update” came it was installed by almost 32,000 Chrome users. Then I made new version of the app and that single update caused a lose of almost 2/3 of the users. (They are 13,400 right now, but still dropping). Nice update, isn’t it 😉 And the problem was not in the updated code — it was just a simple new feature added. Still, some features may kill your app. Are you curious how I managed to achieve that? Then just read the rest of this post. That could save you from doing the same mistake…
Few months ago I decided to give Chrome Web Store a try. It is emerging app store in the last 2 years and the cost of the experiment wasn’t big at all (I don’t mean the $5 dollars tax but the time I was able to put in this test). So, back in November I launched one test app (the calculator app mentioned before in this blog) that was intended to be a real-life test for jQuery Mobile and Chrome Web Store at the same time.
So far I am quite happy with the results. The Chrome Web Store is fair place and it is well designed to fit both user’s and developer’s needs. Among the pleasant things (from developer’s point of view) is that the store gives new apps a chance. When I launched the test app, it was placed close to the top of the list for some time and that gave it a good kick-start. Then, on (some) updates, the store put it in front of users again. So, when you work on your app, it have a good chance to be noticed.
But then, two weeks ago, I found something that one must keep in mind when a real life app is concerned. The silent update is not so silent. And one single update of your App can destroy 2/3 of your App’s user base.
What NEVER to do in Chrome Web Store
I saw, among the user comments, a fair feature request: to add copy/paste support to my Calculator App. And because I tend to implement as much user requests as possible, I stole 2 hours and made new version with copy/paste buttons added. Did you see what’s coming? If not – just keep reading (it’s a short post)…
As always, after creating the zip, it was just a matter of uploading the new code to the store and waiting for the change to propagate. Great store. Great feature. But…
There were a surprise hidden in the wild and waiting to eat my work. We have a saying here, in my country: “no good doing will stay unpunished”. Remember — I had a really good intention (to add user requested feature), but as you know — the road to hell is paved by good intentions. So, what was the initial sin of my app and why all that happened?
The silent update feature of Chrome Web Store is not (always) silent
Yes, there are specific permissions you must set for your app if it needs those permissions in order to work. The first versions of my calculator came without any permissions required — it was just a set of buttons and functions (html+css+jQuery Mobile) and didn’t need any special permissions. But suddenly, when the copy/paste functionality was added, it turned too be a requirement to add these “low-security risk” (as referred by google documentation) permissions info to the bundle. That’s another good feature of Chrome Store — safety first. But what happened when the “silent” update came to replace the old version of my app with the new one? Simple. It just destroyed 2/3 of my user base. Because when I published the new version, all installed instances of the app showed a scary message to the users: This Calculator App needs MORE permissions! Not hard to imagine what will happen when user see such message several months after he/she installed an app. There are two options: approve or delete the app. If you are just installing the app for first time, there are no so big problems (you see what the app wants while you are “fresh” in what you are installing). But if an app starts asking more permissions (whatever that means) to “access everything you copy and paste”, well, that’s “scary movie”.
I should see that coming. But I didn’t. It doesn’t hurt, when it comes to tests like this app. But if you are planning to play the real game in Chrome Web Store — never change permission requirements for an app in any new version. I’ll write it down in bold:
Before launching the first version of your app, meditate on the future of the app and select the permissions it will need or could need in future. And never ever change these permissions in any update.
Now, be careful with this advice. I am not saying you must request all possible permissions for your app. This will scare the users from the start. I would offer to keep things simple by not asking for permissions at all. Many users will see almost any permission request as security risk (do they know you? do they believe you?who are you? why you want to access their computers?) Stay away from that. For example, if I could, I would delete the new buttons from my calculator and revert back to the old version. But since the damage is done (and I don’t actually care about that particular app) — let us at least get the moral from the story. And right now it sounds like that: Chrome Web Store is a cute place for web apps, almost all of them free, and that’s great. Anyone can publish his/her apps for just $5 bucks (one time tax). That’s great. Anyone with $5 bucks in the pocked can publish an app in Chrome Web Store. That’s awful. That makes it simple: user must feel it’s safe from the beginning. So — avoid any feature that requires special permissions at all. But if it is a must — be sure to set the proper permission requirements from the start. Otherwise you’ll get the same result as the one described here.