Last week, on Friday, I attended the rescheduled-at-the-last-hour Google Android Developers Lab in Zürich and, as a result, I started learning about Android application development, the Android Google SDK and, as a gift, I came back home with a shiny new NexusOne, which is not available in Europe, yet.

I’m now making a list in the typical fashion of a good ol’ Italian-directed western movie both from a (advanced, I daresay) user and a developer perspective. I hope no-one will feel bad about what I write as most of it, to me, are easily acknowledgeable facts, rather than my only suppositions.
Let’s start up without further waiting.
THE GOOD
NexusOne Overall
I must say that is the best non-iPhone iPhone-competitor that I’ve seen, tried and played with (played as in using, not played as in playing mobile games, for which I don’t have time). The size is right about the same as the iPhone (yes, don’t give me shit it’s one millimeter (I DO use the metric system, and all of you should, as well) less thick, and stuff like that). So, for any iPhone user it just fits good in your hand/pocket/wherever-you-carry it. The screen is bright, the manufacturing quality seems good, it has a replaceable battery with all the pros and cons of that (i.e. it fell and of course the shell opened up, the battery came off, etc, I don’t have to tell you all of this, right?). The screen finishing seems different from the iPhone one and oily fingers DO leave more visible traces than on the iPhone. But that’s just noticeable while the screen is switched off.
Android OS 2.1 updated
The OS is stable, it’s fast and it’s good. I like the interface elements, even though they are much different from the iPhone ones. Everything that’s shipping with/on the phone is good, fast and reliable. A few things could be changed, perhaps, but nothing too radical or that would have a major impact on the overall OS. The “notification system” is a well structured way of informing the user of changes or if something happened. Maybe having the date always on on the top bar while no notifications are available would be a nice thing, rather than having to touch the bar to display the date. But maybe that’s even an option, I do not know.
SDK
At the Android Developers Lab we had the pleasure to have a few talks by one of the Android Application Development Gurus: Reto Meier (The guy that wrote this book). And coming from the wonderful iPhone/MacOSX SDK I was impressed by the quality put into the Android SDK. It surely is easy to learn, easy to code against and quite good. A few very good ideas are Alarms (I smell cronjob around them! And I like it!) and Intents for inter-app communication. Please Apple, if you are reading this have something like it on the iPhone, as well!
THE BAD
The Keyboard
It just badly suck. Especially if you come from the iPhone. First of all, like many European user, we tend to know at least two languages. One being our mother tongue, the other being English. And that’s saying “at least two”, many do speak even three or four. It is very common for me, for example, but for many, many (yes Google, if you’re reading this: MANY) other to write in different languages. And sorry to say it but switching dictionary-based-not-so-well-working-word-recognition on the Android is even harder than on old mobile phones (and I DO mean old mobile phones). Basically it just has ONE language for input AND for the system. To change that you need to go all the way to the preferences. It just resolves into not caring about the language-input-recognition. Which isn’t a very good system, either, yet.
Secondly the keys are too packed together. Or the touch sensitivity isn’t that great. Or I do not know what, but on the iPhone I rarely rarely mistype a word, and in that rare occasion it just gets (properly) corrected. On the NexusOne Android phone I keep, keep, keep mistyping words. And they don’t get corrected, or get corrected in the wrong/weirdest way (for Italian input, at least).
Just two examples, first in Italian, second in English. In Italy we use accents. Quite a lot. The future first person singular of the verb “to go” is “andrò”.
Android I type: Andro – it suggests: Andro, androne, Andria, Andromeda, andrò – for it I have to scroll, as well, on the suggestion.
iPhone I type: Abdro – it suggests: andrò
Let’s see with English, where there’s much use of the “‘” character for shortening things around. Let’s write “you’ve”.
Android I type: Youve – it suggests: nothing
iPhone I type: Youve – it suggests: you’ve
Now, this is just two examples, and both use quite annoying things, such as accents, for which normally you would have to tap-and-keep-pressed a letter for the options to come up or the “‘” character which requires on both phones to “switch” keyboard to the punctuation and then back to the letters (which the iPhone is smart enough to do on his own, anyway, getting more points for it, as well), but I happen to use such features much. much. MUCH. And I do bet most of the user will find this “problem” quite annoying.
Enough said: Google, please fix the keyboard: changing input language, understanding what I would’ve wanted to write, user-interaction needed to write.
This is the ONE BAD THING about the Android OS. Unfortunately it is also quite a big issue for smartphones where we usually “write” more than “speak”. Fortunately it is a software-fixable issue. So just fix it! :)
THE UGLY
Apps
Ok, the iPhone has been out for longer, has less fragmentation, whatnot. But come on, some “bigs” can really do a better job with their apps. First of all, the Facebook app, if compared to the iPhone companion is like 1 era away. I won’t say much more, just update it! Shazam is at the same level, what a pity. And that’s just to cite two GOOD apps. The Market is plagued by bad applications that suck much. And they suck more than most iPhone applications, which already suck quite a lot (many of them, at least). This of course has nothing to do with Google, which is actually delivering quite GOOD applications. Keep the good work up, Google. Step it up, developers!
Just one thing related to Application development. InterfaceBuilder, for the iPhone GUI has no rivals. Just think of something, writing GUI for Java is THE nightmare, at the current state of things.
Battery Life
I haven’t played around too much with the phone. But battery draining seems quite fast. I’ve been mostly texting/writing emails and the thing (brand new!) lasts only two/three days. My iPhone 3G which is now one year and a half old, used exactly in the same way + for listening to some music lasts the same or at times more. This is NOT a good signal. So please, engineers, work on this issue. Please.
WRAPPING IT UP
The NexusOne is definitely a good phone. Possibly some Android OS updates which I hope won’t come too late in the future will make it even a better one. The openness of the Market is surely a good thing, but at this time I would still suggest buying and iPhone. That said, I will wait to see enhancements been thrown down the pipe and update you on the situation. I’m sure the Android OS has a bright future, and I’m happy to be using it and to be developing for it. As much as I’m happy that the iPhone is around, so I don’t waste hours to write an email :P
These are just my thoughts.
~C