So, I went to Google IO this week and I felt like a total outsider. It's not as though I'm an Apple fanboy, but I do appreciate their products (just as I have concern about their opacity) for their simplicity and popular appeal. The keynotes were pretty heavily anti-Apple though and I did get more than one leering stare as I checked the time on my iPhone. A couple thoughts on Google v. Apple and, more importantly, Google v. Google.
Google has a fantastic ability to ship products that geeks love, this we all know. Unfortunately, they're very often products that only a geek could love. There are exceptions, occasionally a product catches on with non-geeks and I think Google realizes this and improves upon them so they'll have an even greater number of non-geek users. But there's a threshold where products from Google become easier to use. A threshold far, far away from many current Google products. Gmail and Search are above the threshold, for example, but I'm having difficulty picking out any of their other products where I've seen clear improvements in simplicity and usability.
So when Google says "we released x and y today for developers and it's 200% better than Apple's x and y" they get lots of applause and geek love - and it may, in fact, be a much better technical implementation than something similar from Apple - but the world is not technically black and white. Geeks come in all sorts of levels (such as 52nd level Paladin - I kid) and Google's developers just happen to be some of the geekiest. But what about everyone between Google geeks and the guy who's only used BASIC twice? There's a lot of geek in there, most of which doesn't know a kernel from a cache.
Therein lies the difference. Apple releases code and tools that even the geeks that don't know a kernel from a cache can start with. I'm not suggesting that they'll always be ignorant of kernels and caches, just that they are currently, and putting them on the path to creating something and learning more is key. Apple is appealing to the long tail of geeks and getting a ton of interest.
Android is feeling really nice these days, especially on the beautiful EVO screen, but I ran into serious usability problems just starting it up for the first time. Buttons hidden by on-screen keyboards with no obvious way to hide the keyboard, even the tutorial for the keyboard was a little confusing! Between getting developers to get on board and getting regular users to buy android phones... and the marketplace! Every time I open the marketplace I feel like there are only 20 apps and games and the other 30,000 are purposefully hidden from me because there's no way to browse through them.
Finally, Google is in the middle of a crisis (much like Apple) where they need to push open standards like HTML5 because they could be huge - write a web app and have it work on all internet devices - and yet, HTML5 isn't ready for prime time (hell, it's not even ready on android, let alone other phones/devices) and they can't fall behind in the platform-specific app war. So here I am, wanting to be both an Apple and Google developer, and my goal platform (HTML5) isn't available yet - who am I going to go with? The platform that allows every app on to the store, but only shows about 20 of them at a time and has serious usability issues or the platform that has a userbase and clear documentation and tools but might not let my app on after I'm done writing it?
Being a phone developer sucks right now. Someone please fix it, and I don't care which one of you it is.