Wednesday, November 16, 2011

Android 4.0 Browser: smartphones meet Tablet on HTML5 API's

Android 4.0 was announced and the SDK was released. A look at the emulator running on the new 4.0 os,I observed following - unfortunately it’s still Android Browser and not Chrome, but it comes in a better way.

Arms Race for Mobile Browsing 
mobile browser war entering the arms race in October 2011 with release of Safari on iOS5, Amazon's own Silk browser and BlackBerry announcing the first mobile browser with WebGL support on the (future) PlayBook platform its about time android os comes with inbuilt chrome but i left disappointed... x-( Android 4.0 was released and while there is no real phone yet to test it on (the Galaxy Nexus S will be available soon) Google announced that Google Chrome will be the future of browsing in Android but it was not 4.0 the time for that.

Smartphones meets tablets. 
This version merges both smartphones and tablets, so smartphones jumps from 2.3 to 4.0 acquiring all the new things on the browser available on 3.x, including:
·         SVG
·         Motion Sensor API (accelerometer and gyroscope -on compatible devices-)
·         3D Transforms on CSS3
·         XHR 2 & CORS
·         File API
·         HTML Media Capture API for camera/microphone access through file management
·         Binary Arrays (Int16Array, Float32Array, etc.)
What’s in and what’s not... 
Unfortunately, there are still some missing APIs that are available on Google Chrome and on iOS5 -some of them-, including:
·         No Server-sent events (BTW, does anybody use it?)
·         No WebSockets
·         No WebWorkers
·         No IndexedDB
·         No Web Notifications (that is a real shame for this platform – Firefox on Android is doing it-)
·         No WebGL
·         No History Management API
·         No rich input controls! I’ve found a huge bug on the range input type (no rendering at all), and no date controls are working. Even it seems that Android 3.x has better support than 4.x (more testing soon)
New stuff
The new stuff for both smartphones and platforms:
·         Navigation Timing API, same API in IE9 on Windows Phone and in Firefox 7 for Android
·         New Console API, but not working properly, for example there is a console.memory.usedJSHeapSize and console.memory.totalJSHeapSize attributes, and some new functions but I could not make them work yet.
·         The HTML5 <keygen> new form is available
·         Basic MathML seems to work
New things to know 
The browser has new user features that can change the way our website will work.
·         New Incognito Tab
·         New “Labs” section where the user can add full-screen webapp support on the browser and some gestures over the browser (similar to Firefox for Android)
·         New “Request Desktop site” feature that I’m not sure exactly everything it does, but it changes the User Agent at least.

Android browser is well known as a problematic browser in terms of performance. Google in its official documentation claims to have a faster browser in 4.0 with an updated V8 JavaScript engine. But if it deliver the said promise remains to be seen...