An iOS Developer reviews Android 4.0
Having observed from afar the development of Android since it came onto my radar (sometime around 2.0), I have felt compelled to purchase various models of Android devices from time-to-time in fulfillment of mere curiosity and overall, to test the waters with something other than iOS. Never have I given an Android device as much face time as I have the Samsung-manufactured Galaxy Nexus, and much proselytising from people such as Joshua Topolsky about Ice Cream Sandwich convinced me to properly evaluate the state of Android and the evolution of the largest competitor to iOS.
ICS is (supposed to be) the saving grace of Android’s fragmentation problem — since despite stellar sales numbers, Android has always seemed to be in competition with iOS’ smoothness, completeness and overall, its polish — and that brought me to exchange my money for another try with Google’s finest. This is the first (of many) posts in which I wax lyrical about where Android comes up short.
Those new software controls
I wonder what design considerations led to the creation of ICS’ new software controls, which replace the previous hardware buttons seen in versions of Android until Gingerbread (Honeycomb — 3.x — was the first introduction of said soft buttons), as Google perhaps felt the need to relegate said controls to being mere bit-part, optional controls as required by apps needing that functionality. Or, how iOS seems to control navigation, where buttons can be used in the context of how the app displays content (using a UINavigationController gives an iOS developer a simple way to provide a navigation stack, giving users that venerable ‘back’ button they’ve been used to since iPhone OS 1.0). But if that were Google’s wish, that’s not what they gave us, since the three buttons that are the virtual replacements of what was once physical are omnipresent in every screen, on every page of ICS. The only question that remains is, why did Google bother? Device manufacturers now find themselves in the position where they either machine displays with sufficient room for said buttons (since they seem to never, ever disappear), or sell devices with inferior, sub-standard displays with less screen real estate for content since they’ll need to squeeze the content viewport to fit in said buttons. The Nexus S seems to be getting ICS as we speak (modified for its physical buttons), so perhaps Google will allow manufacturers the same opportunity to continue to make devices as they have done so for several years now. But if they don’t, this is the state of Android’s navigation functionality in ICS — and that’s not even half of the story.
That unfathomably impossible to decipher ‘back’ button
I’ve spent seven days with my Galaxy Nexus and I still find it hard to believe that Google ships a mobile operating system with such a broken navigation system, centered around that one back button. Let’s begin with the downright obscene. The back button never, ever tells you if you’ve gone ‘back’ as far as you can go. Tap on that button ad infinitum until every screen/app in the device’s history disappears and you’ll find yourself at the home screen. But the back button will not dim, nor will it disable. You can tap on it to your heart’s content, and you won’t move (though your device will vibrate and chime). The same applies for the home button, which surprisingly doesn’t dim when you’re already ‘home’ either:
The home button has a double life too, since it shows up when you’re asked to confirm the power off of your device too (the astute of you might notice that dialog isn’t much of a question, either):
I cannot understand why the home button needs to appear when you’ve made this choice in the lock screen, but also why the back button needs to show up on a modal dialog with a cancel button. The buttons even stay when the device is shutting down (but tapping on them, again, does nothing):
Oh, and I’m not done. I could ignore the rudimentary implementation — nay unfathomable rigidity of these buttons — if ICS had a simple, understandable multitasking/navigation system, but alas, it doesn’t. This back button of our affection doesn’t even seem to do the job it’s supposed to; namely, taking you ‘back’ within screens of an app. No, it has a double life, as both the system navigation control (sending you back in time through apps you’ve launched other apps from, all the way to the home screen), and an individual app’s navigation control (through an app’s individual screens and modal dialogs). The worst thing is, since it doesn’t provide a textual hint as to where you’ll return if you tap it, you never seem to know what tapping it will do. Here are some examples of how this Grecian Hydra, impossible to understand button works:
- If you say, tap on a file in Dropbox (though this example applies wholly to any app opening another), Android will open an external viewer as a separate app, and tapping back will send you backwards to that file in Dropbox — transcending the fact that you’ve actually, opened a new app. Oh, and to make matters even worse, since you were actually in a new app when viewing the file, the second app stays in memory after you return to Dropbox via the way of the back button (even though to an unsuspecting user, they’ve just opened one app, total):
And in case you were wondering, if I opened ‘Document Viewer’ and then tapped the back button, I wouldn’t end up in Dropbox, but the home screen. Un-fucking-believable.
Opening a new tab in Android’s browser gives me more ammunition for this discussion; if I tap-and-hold on a link to open a new tab, tapping back will actually, amazingly, close said tab and return me to the previous tab (nevertheless ignoring the fact that ordinarily, the back button helps you navigate said tab’s page history — as Safari’s back arrow does on iOS). But if I manually create a new tab through Browser’s tab-browse view and then tap back, I end up at the home screen. Not at the tab I viewed previously, not at the browse view, but at the home screen.
Some applications will also offer their own, special home ‘button’ in the top left of their view. I thought this was a remnant of Android 2.x, but I was mistaken — this is Google+ — try and figure out what the difference is between the two back buttons in this screenshot:
There is no science nor structure to this navigation system at all, and I shudder to think of what a novice (the market that Google and Apple are now targeting; dumbphones) might think of this utter clusterfuck.
Want to reply to this post? Find me on twitter: @alanzeino