Nexus One from an iPhone Developer's Perspective
iphonedevelopment.blogspot.com
iphonedevelopment.blogspot.com
When you hit the home button, the previous application keeps running, which means it keeps eating memory, keeps using processor cycles, and keeps eating battery.....To truly quit most applications requires a multi-step navigation that is neither intuitive nor well-documented.
That one is one of the most pernicious bits of misinformation about the Android platform. Applications that are no longer visible to the user are NOT "background" applications like they are on a desktop OS. Applications that are no longer visible to the user are stopped. They no longer consume CPU resources, but the OS does hold them in memory in case the user returns to the app. Stopped applications may be killed by the OS, thereby freeing up the memory used by them, at any time by the OS when it determines it needs resources. Think of it like caching. The app state is cached in memory so that if you switch momentarily to another app (to answer a call for example) you can return immediately to the previous app with minimal delay and minimal resource cost (ie, the app doesn't need to be re-loaded, etc). The Android developer docs have more information: http://developer.android.com/guide/topics/fundamentals.html#....
The only things that truly run in the background on Android are service process. These are somewhat like worker threads that are created specifically to handle long running background tasks (like playing music, or downloading data over the network, etc).
There is absolutely no need to go through any "multistep navigation" to quit apps, nor do non-visible apps continue "using processor cycles and eating battery" (with the exception of course of apps that are supposed to be using processor cycles, ie, music players, etc. running in a background service process).
If that is the case I'd prefer the iPhone way wherein the onus is on the developer to preserve the state and if they have, the app will always return to the way you left it or, if they haven't it will always be restarted from scratch. For me, knowing is better than not knowing.
However, if it is the case that the OS rarely kills apps then the Android method seems preferable.
The effect for the user is much like you describe it for the iPhone. It's as though your apps never die. Whenever you restart them, whether it's 5 minutes from now or 5 days, everything is exactly as you last left it. Except that, unlike on a PC, those "background apps" don't take up any resources. Obviously there is room for poorly written apps to flub up, or for apps to override the normal behavior for specific reasons.
I agree that a search button is totally unnecessary, and I never use it, but I've had a use for the menu button on every screen. Keep in mind that most iPhone apps have a button bar on the bottom with items. This is just smart screen management. The back button has a few software design quirks that give it inconsistent result, but again most apps use it well.
The author then assumes the higher resolution is just to show off a big number. There's a reason 300dpi is the minimum for print...the eye can detect lower resolutions (and usually higher) [1].
I find it interesting that he dismissed some Android features that "most people won't care about", citing the "average user", and then goes on to dismiss multitasking, saying:
"Everybody except most 'tech pundits' knows that the iPhone's Mach kernel supports full preemptive multitasking and also knows that at any given moment there are somewhere on the order of twenty daemons and other processes running on a stock (non-jailbroken) iPhone."
I don't know if that's a typo or a joke, but I don't think the "average user" cares, I think they just want to listen to Pandora while checking email.
I'm not going to pick apart everything I disagree with the author about, and I'm probably as much of an Android lover as he is an iPhone lover, but I do think this article presents a fairly biased view of the two devices, even though the author claims to not be judging them "purely on what [he] was already accustomed to."
[1] http://www.clarkvision.com/articles/printer-ppi/ and other sites found on Google.
After that I noticed that pretty much everything the Nexus One does better than the iPhone was minimized or excused away.
When you hit the home button, the previous application keeps running, which means it keeps eating memory, keeps using processor cycles, and keeps eating battery.
It's a lot more complicated than this. There is a battery monitor application, and background apps don't use much power. (Keeping wifi on and scanning is my biggest power sink. It makes Locale more accurate, though.)
Background apps are quite nice. With K-9 mail and my home IMAP server, I get true push email. Whenever I order something from Amazon or forget my password or something, the little trackball lights up instantly. It's really cool, and it doesn't need any special support. If I had an iPhone, I could never get this functionality.
Anyway, apps are what make Android great, and it's strange that he didn't talk about any of them. If you want nice effect when scrolling through your Twitter feed, get an iPhone. If you want advanced software, get Android.
Wait, wait, wait. Isn't this sort of like a creationist reviewing evolution as a theory? What's the point of "reviewing" something when you already "believe in" the opposition?
[added quote below]
Not chintzy or cheap like the Motorola Droid or most cell phones. It feels solid and very much like the iPhone.
Ok, well, if "like the iPhone" == good to you, then maybe you should just ignore other devices?
If you like, take his review as "this is how far the Nexus One diverges from my favorite industrial design philosophy, as embodied by Apple".
"The iPhone is the best thing in the universe, and anything on the Nexus One that seems to be better actually isn't and anyone who thinks so is clearly mistaken"
If you think that's a post worth reading, we have very different preferences in reading material, that's all. The criticisms I directed at it were made given the premise that I expected to read a post about what the title said it was about.
It should have just read, "In conclusion, the iPhone is the best thing in the universe, and anything on the Nexus One that seems to be better actually isn't and anyone who thinks so is clearly mistaken."
The article could be better described as a tech-savvy user opinion rather than a developer opinion.
One additional comment about the scroll ball and hardware buttons is that the UX is poor when used in landscape mode and now you have to move your finger in a different position to perform the same task.
This leads to weird contortions in user behavior. For example, my father-in-law's favorite application on his Droid is 'Advanced Task Killer'. From my perspective, the fact that the application even exists is horrifying. A phone should not require sysadmin tools.
In stark contrast, look at how WebOS handles multitasking. You know exactly what's running at any given point, because you have a visible card up. To close an application, flick the card up and off the screen. It's intuitive and obvious, even to non-technical people. It's really an amazing design.
My suspicion is that Apple will never allow multitasking on the iPhone unless they can make it Palm-like in it's simplicity. However, that would probably require a major UI refactor, which is not going to happen any time soon.
EDIT: This contains some bad info. See thread below.
Apologies for spreading bad info.
BTW... The mis-information about how Android background apps work is pretty widespread, so I wouldn't feel bad about having it incorrect. Heck, that's what I believed the situation was until I got an Android phone. :-)
And the touchscreen really is less sensitive. Scrolling a web page is jerky, whereas on the iPhone it really does feel like you're dragging around a piece of paper with your finger.
And not having scroll bounce on the menus _will_ drive you nuts. It really does seem like the phone froze.
Something he didn't mention is that the new apps launcher blows hard. They tried to go with some pointless 3D effect where the rows snap into place. All it does though, is make sure that right after you scroll, your apps move just a little bit, making tapping the right one a game you'd rather not have to play every damn time.
However, all that said, widgets and multitasking are huge. I got rid of my Nexus One to go back to my iPhone, but only because I'm stuck with AT&T and couldn't handle edge for everything. Every day I miss the snappiness of switching between apps that don't close and regret having to open the calendar app all the time to check what's coming up because I can't make it a widget.