So I’ve got the upgrade blues. Last week, the Android 4.3 update (from 4.1, both named Jelly Bean, incidentally) became available and although I read reports about much reduced battery life times, I though, “well they certainly have weeded out these bugs by now, right?” But as you can imagine, this is exactly what happened. The first day I thought “ok, I’ve been playing around looking for new features all day long”, but by now it’s pretty clear that something is wrong. Not only that but the whole phone feels less responsive. I mean I should have known better. I always tell people not to take future upgrades into account when buying a new phone (maybe apart from the Nexuses where it is sort of their main point). Updates are always late and somehow never achieve the same amount of polish the original release had.
I really should have known better because I already lived through all of this with my first Android phone, the HTC Desire. It was tragically underpowered in terms of app storage space which just kept getting smaller and smaller with each update. Originally released with 2.1, the update to 2.2 came, but the update to Gingerbread (2.3) just took forever. Finally they released it as a “developer upgrade” which you had to install yourself over USB, wiping all data on the phone, leaving you with less than 100MB for apps.
And the worst thing is that there is really no feature I was holding my breath for or any bug I needed to resolve. Instead Android just keeps getting more and more bloated. NFC? I don’t even use bluetooth. Apparently now there’s an option to use mobile Internet when that is faster then the available Wifi which is nice but yet another layer of complexity. Going through the various system tools to find just which app is using so much battery, you see system internal which remind much more of Linux than of a mobile device targetted at endusers.
So why is it that Android just keeps getting worse? It’s as if Google has never heard of the KISS principle: Keep It Simple, Stupid. Which is funny because I normally criticize Google for overapplying engineering principles to product design. Instead of keeping Android simple, they are just pushing more cruft on devices. It only works because hardware vendors are at the same time ramping up the specs on the new devices. Just think about it: I’m carrying around a computer with a quad-core CPU clocked at more than 1 GHz with 2GB of RAM and a few GB of permanent storage. I remember how impressed I was when the first Pentium processors with more than 1 GHz came out, and the required cooling on those was absolutely insane.
So if you’ve made it so far in this post, you’d probably agree with me that many features of Android have just stopped making sense. At some point, the actual benefit for the user was replaced by a marketing need to just provide one more feature than the previous generation of devices, or to push the envelope such that people need faster phones to get basically the same level of responsiveness.
Don’t get me wrong, I’m a big fan of smartphones in general, and there’s a lot which I find very useful. At the same time, there are things like the abysmal battery life which I just try to ignore because it would just annoy me massively if I thought about it for too long (do you remember that you used to have a full day to find a charger when the phone indicated it was about to run out of juice?)
We’ve seen tremendous technological progress in the last 100 years or so, and there were some great products which differentiated themselves from the status quo by giving new functionality to large numbers of people. For example, take transatlantic phone lines. The first phone line had only 36 channels, meaning that only a small number of people could access the lines at a time, and you had to manually set up the connections through operators. The first transcontinental call from New York City to San Francisco took 23 minutes to set up. Nowadays we can just dial any number anywhere in the world and get connected. That’s what I call progress and a great product. Before, only corporations and a small number of privileged people could do long-distance calls, but now virtually anyone can stay connected with family and friends abroad.
Now take the Google Chromebook.
I can partly understand why Google built the Chromebook. Because they could. Because all those Internet companies somehow believe that users will just trust them with all their data. Because they wanted to achieve a much higher level of technology lock-in of their customers. Maybe because they actually believed that the enduser would benefit from the vast processing powers of the Google army of servers.
But let’s face it, the most peculiar thing about the Google Chromebook is that it is just inferior in every aspect to a normal notebook except for the price. It’s basically saying “OK, you get a computer for 100 bucks less than a real computer, but it works just worse than a real one. Oh and we get to keep all your data. Unless we change our minds, then you have 3 months to download your stuff and afterwards we will throw it away.” Don’t say Google wouldn’t dare to do that, that is exactly what happened with Google Reader, and Google Latitude.
Price alone is not a good differentiator for all products, mostly for those where the product itself is already very standardized (like a litre of milk. Oh sorry, a gallon. No that also doesn’t sound right. What’s the usual quantity for milk in the US?)
In a way we programmers are also always product builders, and much too easily we just heap feature after feature on our projects, just to differentiate us from the competition, or because we can. But I think the real test is whether we build something which enables a sufficiently large set of people to do something they couldn’t do before.
This is what I’ll try to keep in mind for 2014.
Posted by Mikio L. Braun at 2013-12-20 15:45:00 +0100blog comments powered by Disqus