Samsung Galaxy Nexus & Ice Cream Sandwich Review
by Brian Klug & Anand Lal Shimpi on January 18, 2012 1:34 PM ESTThe Browser
The improvements to the Android web browser are some of the most noticeable in Ice Cream Sandwich. Browser performance both in JavaScript rendering and web page scrolling is worlds better than in Gingerbread. We've already explained why scrolling is smoother (full OpenGL ES render path), while the js performance improvements come courtesy of a newer V8 rendering engine in ICS.
The browser in 4.x also includes essentially everything that made the browser in 3.x smooth as well. As opposed to the Android 2.x browser's immediate rendering system - which would redraw the page in its entirety as you zoomed and panned around and seem choppy as a result - Android 3.x/4.x now render tiles into a backing store for webpages. This is the same system that iOS, webOS, and Samsung's custom browsers use, and as a result panning and translating around is now just as smooth as it is in those platforms. To be totally honest, this is probably one of the single largest and most welcome improvements over Android 2.x because of how dramatic the difference is.
Android 4.0 browser with visual indicator enabled (left), debug settings (right)
In Android 4.0 you can actually go inside the debug settings for the browser (enter about:debug into the address bar, enter, then a new settings pane emerges) and enable or disable OpenGL assisted rendering for the browser. With it off, it feels just like 2.x's choppy stock browser, and with it on, it feels buttery smooth like 3.x. The difference is beyond dramatic. This is actually a feature that was present in Android 3.x as well.
A look at SunSpider and Browsermark performance tells us all we need to know about how the JavaScript V8 engine performance has changed under ICS:
While companies like Motorola and Samsung backported parts of the Honeycomb browser to their own Gingerbread browsers, the stock Gingerbread browser needed work. ICS modernizes the Android web browser and finally removes the need for third party customizations, at least from a performance standpoint.
Gingerbread vs. Ice Cream Sandwich | ||||
Gingerbread | Ice Cream Sandwich | |||
Browser |
The ICS browser is still WebKit based and uses a much newer version of WebKit than what you'll find in Android 2.3.6. Compared to the latest Honeycomb browser however there's not all that much difference in version number. The ICS browser does still use an older version of WebKit than Mobile Safari in iOS 5.0.1:
User Agent String Comparison | |||||
Device | OS | WebKit Version | UA String | ||
Apple iPhone 4S | iOS 5.0.1 | 534.46 | Mozilla/5.0 (iPhone; CPU iPhone OS 5_0_1 like Mac OS X) AppleWebKit/534.46 (KHTML, like Gecko) Version/5.1 Mobile/9A405 Safari/7534.48.3 | ||
Samsung Galaxy Nexus | Android 4.0.2 | 534.30 |
Mozilla/5.0 (Linux; U; Android 4.0.2; en-us; Galaxy Nexus Build/ICL53F) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Mobile Safari/534.30 |
||
ASUS TF Prime | Android 3.2.1 | 534.13 |
Mozilla/5.0 (Linux; U; Android 3.2.1; en-us; Transformer Prime TF201 Build HTK75) AppleWebKit/534.13 (KHTML, like Gecko) Version/4.0 Safari/534.13 |
||
Google Nexus One | Android 2.3.6 | 533.1 | Mozilla/5.0 (Linux; U; Android 2.3.6; en-us; Nexus One Build/GRK39F) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1 |
HTML5 compatibility is fairly similar to Honeycomb, although a significant improvement compared to Gingerbread. If you haven't had any experience with Honeycomb tablets, the ICS browser will feel like like brand new technology.
The HTML5 Test | ||||||||
Test | Apple iPhone 4S | Samsung Galaxy Nexus | Google Nexus One | ASUS Eee Pad Transformer | ASUS Eee Pad Transformer Prime | |||
OS | iOS 5.0.1 | Android 4.0.2 | Android 2.3.6 | Android 3.2.1 | Android 3.2.1 | |||
WebKit Version | 534.46 | 534.30 | 533.1 | 534.13 | 534.13 | |||
Total Score | 305 (and 9 bonus points) | 256 (and 3 bonus points) | 182 (and 1 bonus point) | 222 (and 3 bonus points) | 233 (and 3 bonus points) | |||
Parsing rules | 11 (2 bonus points) | 11 (2 bonus points) | 1/11 | 11 (2 bonus points) | 11 (2 bonus points) | |||
Canvas | 20 | 20 | 20 | 20 | 20 | |||
Video | 21/31 (4 bonus points) | 21/31 | 21/31 | 21/31 | 21/31 | |||
Audio | 20 (3 bonus points) | 20 (1 bonus point) | 20 (1 bonus point) | 20 (1 bonus point) | 20 (1 bonus point) | |||
Elements | 22/29 | 23/29 | 13/29 | 20/29 | 20/29 | |||
Forms | 77/100 | 57/100 | 33/100 | 54/100 | 54/100 | |||
User Interaction | 17/36 | 17/36 | 0/36 |
0/36 |
0/36 | |||
History and navigation | 5 | 5 | 5 | 0/5 | 0/5 | |||
Microdata | 0/15 | 0/15 | 0/15 | 0/15 | 0/15 | |||
Web applications | 15/20 | 15/20 | 19/20 | 15/20 | 15/20 | |||
Security | 5/10 | 5/10 | 5/10 | 5/10 | 5/10 | |||
Geolocation | 15 | 15 | 15 | 15 | 15 | |||
WebGL | 9/25 | 9/25 | 0/25 | 0/25 | 9/25 | |||
Communication | 32/36 | 12/36 | 9/36 | 10/36 | 12/36 | |||
Files | 0/20 | 10/20 | 0/20 | 10/20 | 10/20 | |||
Storage | 15/20 | 15/20 | 15/20 | 15/20 | 15/20 | |||
Workers | 15 | 0/15 | 0/15 | 0/15 | 0/15 | |||
Local multimedia | 0/20 | 0/20 | 0/20 | 0/20 | 0/20 | |||
Notifications | 0/10 | 0/10 | 0/10 | 0/10 | 0/10 | |||
Other | 6/8 | 6/8 | 6/8 | 6/8 | 6/8 |
Performance and compatibility are obvious improvements, however there's much more to the ICS browser. For starters it implements tabbed browsing, a feature that has been available on Honeycomb but not in Gingerbread. Given the small screen size, tabs aren't immediately visible but are instead switched between after hitting the tabs button. The process makes sense and thanks to GPU accelerated drawing, scrolling through tabs is extremely smooth.
The normal desktop UA switcher (left), More options under developer settings (right)
Google added quick user agent switching to ask for desktop versions of websites vs. mobile by default through a checkbox under settings. Enabling the option changes the browser's UA string from representing itself as a mobile Safari browser to Chrome 11. There's also a menu inside debug settings to change your user agent (UAString) to look like the desktop, iPhone, iPad, Nexus One with Froyo, or a Xoom with Honeycomb.
User Agent String Comparison | |||||
Device | UA String | ||||
Default |
Mozilla/5.0 (Linux; U; Android 4.0.2; en-us; Galaxy Nexus Build/ICL53F) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Mobile Safari/534.30 |
||||
Desktop |
Mozilla/5.0 (X11; Linux x86_64) AppleWebKit 534.24 (KHTML, like Gecko) Chrome/11.0.696.34 Safari/534.24 |
Prior to ICS, the browser was a serious limitation of the Android platform on smartphones - it was choppy, and something OEMs continually replaced with their own (sometimes worse, sometimes better) browser. Granted you could always download and replace the browser with one of your own choosing, but for the mainstream user the Gingerbread browser was a problem. In ICS the browser is a blessing to use. It's very fast, smooth and compatible. We've had no problems using the Honeycomb browser and the same can be thankfully said about the evolution of it in ICS.
185 Comments
View All Comments
zorxd - Wednesday, January 18, 2012 - link
The Skyrocket is also 1.5 GHz so the CPU helps.sprockkets - Wednesday, January 18, 2012 - link
There's a very small bit of lag on the bottom buttons. Quite frankly I think the delay is just the OS making sure you are holding down the home button for the task manager instead of just going home.Using ICS on a HTC Sensation. The status of it is beta - HTC still has work to do on it to make it as good as the 2.3.4 ROM.
webmastir - Wednesday, January 18, 2012 - link
Love my Galaxy Nexus. Best phone I've ever had & have no DOUBT in my mind that I'll be happy until my next Phone.Thanks Google!
OCedHrt - Wednesday, January 18, 2012 - link
Since I can't get the HTC keyboard working on AOSP ICS...I have to make this comment: I prefer the HTC keyboard much much more than even the ICS keyboard. It is ridiculously easy to mistype on the ICS keyboard.vithee05 - Wednesday, January 18, 2012 - link
Can you guys tell me how the accessibility is in ICS? It's supposed to be better for those of us who are visually impaired. I am debating between the galaxy nexus, the razr, or waiting on the droid 4 to get the keyboard. Do you think the accessibility is good enough to not need the keyboard?secretmanofagent - Friday, January 20, 2012 - link
I have a Droid RAZR (2.3.5) in my hands, and looking at the accessibility settings, it's pretty paltry. If you're considering a RAZR or Droid 4, I would wait until ICS shows for it.tipoo - Wednesday, January 18, 2012 - link
I agree that its worlds better than the Gingerbread browser, but scrolling on image heavy pages still lags a bit compared to Opera Mobile (not to be confused with Mini). AFAIK Opera Mobile uses GPU acceleration as well and seems to do it better than Google at their own game. Just an idea, but a comparison of all the Android browsers would be nice :)tipoo - Wednesday, January 18, 2012 - link
*on my Nexus S. Maybe on newer/faster phones it would be a toss up.bjacobson - Wednesday, January 18, 2012 - link
Really? interesting. Opera seems to get everything right. Their browser is blazing fast for Netbooks too. Everything in the UI and foreground tab gets processing priority, everything else (like background tabs rendering) gets delayed. It's a flawless design, much more responsive than Chrome when loading multiple tabs.tipoo - Thursday, January 19, 2012 - link
Yeah, and as far as I know its the only browser that dynamically adjusts its memory use depending on how much your using for other tasks, so it scales up or down to more powerful or less powerful systems, another reason its good on netbooks. It has addons now too which are rapidly gaining traction. If it wasn't for some compatibility niggles I would say its hands down the best browser, but I keep Chrome around for the 1 in 1000 site it might break. Oddly enough the Mobile version seems to be the opposite, its the only mobile browser that I've never seen break a site.