Overview of HTML5 Support in the Android 4.0 Browser
Android 4.0 was announced and the SDK was released. So, I’ve washed my hands, I’ve opened the emulator and I’ve started to dive into the new browser and see what’s in there and what’s not. Unfortunately it’s still Android Browser and not Chrome, but it comes in a better way.
October 2011: Busy month for mobile web world. Just a few days ago, I’ve blogged about Safari on iOS 5; yesterday BlackBerry announced the first mobile browser with WebGL support on the (future) PlayBook platform and a few weeks ago Amazon announced Silk, a new proxy-based browser for tablets.
And now, it’s the Android turn. Android 4.0 was released and while there is no real phone yet to test it on (the Galaxy Nexus will be available soon) I’ve downloaded the emulator and I’ve tested the browser comparing it to Android 2.3 (smartphones) and Android 3.2 (tablet) that I both have on my hands.
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:
- 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 still missing on Android 4.0
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)
The new stuff for both smartphones and platforms I’ve found:
- 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
- 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.