The Blue Screen of Death still casts a negative halo around Windows despite basically disappearing from PCs a decade ago, after Windows XP arrived. Similarly, I wonder if Android will be unfairly dogged by a reputation for a sluggish user interface for years even if version 4.0 'Ice Cream Sandwich' effectively solves this nagging rendering problem.
Before I go on, here's the backstory for those of you who didn't see the dueling Google+ blog posts that appeared earlier this week between Android engineer Dianne Hackborn and ex-Android-future-Windows-Phone intern, Andrew Munn on the subject of Android's laggy rendering compared to iOS, Windows Phone 7, and other modern smartphone OSes.
(Also! After I posted this blog, Hackborn responded with a strong rebuttal of Munn's assertions. See my summary here.)
Now, I had always assumed that sluggishness in Android was symptomatic of quality issues that are the inevitable result of Google's open ecosystem strategy: 1) until Google's acquisition of Motorola, its inability to optimize hardware with OS since they are built by different companies (unlike the iPhone or iPad); 2) the lower bar for entry for apps into the Android market that results in more potentially buggy apps.
Then I heard about Ice Cream Sandwich (hereafter known as ICS), and how features such as hardware acceleration (the ability to let the GPU more efficiently do the rendering work) would supposedly smooth out Android's stuttering UI.
In that context, Hackborn's post was curious. Rather than confirming that ICS' hardware acceleration will improve Android's touchscreen response, she focused on correcting "technical misinformation" and explain that earlier versions of Android, including the version 2.2 Gingerbread installed on most phones today, actually already use some hardware acceleration.
With its latest update, has Android fixed its nagging screen lag problem? Early evidence strongly suggests 'Yes.'
Being an engineer, it's not in Hackborn's DNA to be market-y or even humblebrag. Which is admirable, but it left the uneasy impression that rendering lag would continue to be a huge problem.
That's exactly what Munn argues. Citing several online sources plus ex-colleagues at Android, the 3rd-year engineering student explains that Android's lagginess is fundamental to its architecture. Basically, Android was originally designed to be used on regular laptops with a keyboard and a mouse. It doesn't prioritize real-time tasks like screen rendering with a separate, protected thread. As a result, the UI can't handle constant input and screen redraws, as fingers on a touchscreen tend to create.
This is the main reason why Android isn't and can never be as smooth as iOS or Windows Phone 7, which do prioritize real-time rendering, says Munn. Only a fundamental rewrite, the kind that would break hundreds of thousand of existing Android apps, will fix this nagging issue, he warns. Otherwise, "Android UI will never be completely smooth."
Munn is a great writer, and combined with his ostensible insider knowledge and his no-BS truthtelling stance, he makes a compelling argument.
The fact that neither Hackborn nor anyone else at Google has responded to Munn after two days is also telling.
But let's put this into perspective:
- Munn worked on Android full-time as a college intern for all of 3 months.
- He admits that he was neither on the Android framework team responsible for UI rendering, nor has he even "read any Android rendering source code."
I am going to go out on a limb and say that Munn probably — hear me out — actually maybe, may in fact, not be the supreme authority on Android rendering that we'd all wish him to be.
Also, here's the thing. After reading Munn's post, I decided to see what the real-world evidence, not just the theory, says.
I found all of the reviews I could for the only phone running Ice Cream Sandwich today - that would be the Samsung Galaxy Nexus - to see if the UI was indeed smoother than before. Below are excerpts from reviews that explicitly commented on the UI:
Engadget: "The Galaxy Nexus is definitely one of the fastest Android handsets we've ever played with. Everything feels snappy, everything looks fluid -- Ice Cream Sandwich isn't just a new version of Google's mobile OS, it's what happens when Android hits the gym and becomes lean and mean."
Boy Genius Report: "Android 4.0 is fast. Extremely fast. Scrolling between the five home screens (please, please let me customize the number of home screens) was silky smooth with practically no lag whatsoever."
GigaOM: "Android 4.0.1 on the Galaxy Nexus feels like it actually borrows more from Windows Phone 7.5 than iOS, at least in terms of aesthetics, and everything in general seems to work better and smoother."
The Verge: "As far as phone performance is concerned, however, the Galaxy Nexus feels blazingly, stupidly fast to me. Touch response is excellent on the phone — everything reacts quickly to your movements. Homescreen scrolling was snappy, moving into and out of apps was instantaneous, swiping through long lists was stutter free, and web browsing (even on heavy pages like ours) was super speedy. ..It's obviously a combination of great hardware and great software, but the Nexus is probably the tightest feeling, snappiest Android phone I've ever used. It's awesome."
Gizmodo: " The user experience is extremely fast and fluid. Scrolling around webpages is quicker and smoother than any other mobile browser I've used (and with all of its new enhanced features, I would call ICS' version of Chrome the best mobile browser out there)."
PhoneArena: "Using an Android phone has never looked or felt better...It just flies no matter if you're swiping through homescreen, scrolling long lists, webpages, or opening and closing heavy applications. The occasions where we noticed a slight slowdown (like when switching to landscape QWERTY) were so few, that we'd go as far as to say that the Samsung Galaxy Nexus is one of the fastest smartphones out there today."
SlashGear: "Although the TI dual-core is capable of 1.2GHz in the Galaxy Nexus (the chip itself is offered at up to 1.5GHz in other devices) during our testing it spent less than 5-percent of its time at that speed. In fact, over 85-percent of the time the CPU was running at just 350MHz, with the remainder somewhere around the 700-850MHz point. That aggressive throttling – and the fact that the phone never felt slow – is testament to Ice Cream Sandwich’s frugality and refinement."
Laptop magazine: "Very fast performance: On our tests, the Galaxy Nexus was super smooth and responsive. Featuring a 1.2-GHz dual-core processor, the phone instantly launched the App menu and let us jump between apps (such as the browser and "Fruit Ninja") in a second. The Galaxy Nexus also delivered excellent graphics performance when we played "Riptide GP." The action never stuttered, and we could make out detailed reflections in the rippling water."
Mashable: "All that hardware is brought to bear on the centerpiece of this new phone, the first smartphone shipping with Google’s Android 4.0 “Ice Cream Sandwich” (ICS) operating system. It represents a giant leap in usability for this popular operating system. The first thing I noticed was its ability to smoothly scroll down long lists, the complaint I’ve had against Android-packing phones from the beginning. Finally, you can scroll up and down a Google+ stream and slide down lists of emails with smoother response, although not all apps I tried enjoy that butter-smooth scrolling yet."
That's nine reviews saying ICS on Nexus is butter-smooth. Meanwhile, I found only 3 reviews that mentioned a hiccup-y UI:
CNET: "Though we were hoping that it would be different, the Galaxy Nexus still has that slight laggy effect that we've seen on other Android phones. Indeed, you'll notice it here when scrolling through lists. It is better than we've seen on previous models, so it doesn't ruin the touch interface, but you do notice the difference when switching from an iOS or Windows Phone 7 device"
TechCrunch: "Usually the Galaxy Nexus hums along, but I’ve had one or two moments where where it reminded me of my Nexus One, pausing at odd moments and apparently ignoring finger taps. This hasn’t happened often — and Google says at least one of the issues I saw is a known bug that has already been fixed on devices customers will receive. So we’ll see how it performs over the coming weeks."
Time magazine: "For the most part, the Galaxy Nexus’s 1.2-GHz dual-core processor makes for a fluid experience, but I did encounter some instances when the phone briefly ignored my taps and swipes–a usability glitch that’s pretty much unknown in the Apple world."
The evidence would say no. Six reviews mentioned the laggy UI, one review was neutral, and one said the problem had gone away.
GigaOM: "The ASUS Transformer Prime tablet, powered by Nvidia’s quad-core Tegra 3 chip, seems to be running silky-smooth in this first look."
So to recap, Doctor of Science style:
Hypothesis: Even if handicapped by a lack of real-time rendering thread, Android's screen lag can be reduced to the point that, for all intents and purposes, it matches iOS or Windows Phone 7 in perceived smoothness.
Experiment 1: Does ICS on Galaxy Nexus run smoothly?
Result: Yes, by an overwhelming 9:3 margin, according to professional reviewers.
Experiment 2: Does the more-powerful hardware of the Asus Transformer Prime overcome the stuttering Honeycomb UI?
Result: No, by an even more overwhelming 6.5:1.5 margin.
Conclusion: Throwing faster processors at Android isn't what solves its stuttering problem; its improvements in ICS. Improvements that appear to have banished the lag problem, even without having apparently rewritten its rendering engine, as Munn argued must be done.
With more than 85% of Android users on either Froyo or Gingerbread, this would be great news and potentially the end of their most nagging, annoying issue.
Here's the list of devices and when they'll be eligible for official installs of ICS. They include virtually all dual-core devices released by HTC, Acer, Asus, LG, Motorola, Samsung and Sony this year.
I'm eager to see if ICS does indeed improve screen lag on those devices, too. That would be definitive proof of my theory that even if it's not the most elegant solution, Google's engineers are doing enough workarounds to the real-time threading issue so that it won't matter anymore.
A quick plug: I'll be covering the Mobility portion of the next Tuesday's SAP Influencer Summit. Basically, my parent company will trot out top executives to speak to top market analysts about next year's strategy and roadmap. If you're interested in what we're doing in enterprise mobile apps, development and management, follow me on Twitter at @ericylai on Dec. 13 starting 6 am PST or watch the hashtag #SAPsummit.