Android 2.3 Gingerbread: the browser

I’ve to admit: I had a high expectative for new APIs and feature support in Gingerbread. After the iOS 4.2 update, and the last Google IO announcements for Gingerbread, I was expecting more HTML5, accelerometer, full-screen webapp and SVG support. Is Android Browser 2.3 supporting this? Let’s see.

What’s new on Android 2.3 browser?

While I am still waiting for the 2.3 OTA (over-the-air) update for my Nexus One, I’ve tested for one hour the Android Browser in the emulator available with the SDK, following the installation and localhost usage guidelines I wrote in Chapter 4 of the book.

Back in July, I’ve talked about Google’s promises on the browser and Froyo (2.2) browser updates. And a week ago, I’ve also talked about iOS 4.2 Safari updates with great surprises.

Therefore, my expectations were high. And I have to be honest: I’m disappointed.

The new browser does not support any of the promised and expected features. It seems to be the same browser with some minor core updates, such as support for better exception handling with new object constructors like SyntaxException, EvalError or URIError.

There is still no support for SVG, Web Sockets or other HTML5 stuff (besides HTML5 compatibility in 2.2). And there is no support for Device Motion, accelerometer, camera or speech support, as promised in Google IO (see video1 -starting at 6:00- and video2).

UPDATE: Here you will find the video:

UPDATE: We can find now WebM support for the video tag on Android 2.3. Animated GIF support was added in 2.2 and is still there in 2.3.

We can access many of these features from Flash Player 10.1, however the user needs to install it from Android Market first.

There is one big change affecting browser typing: the new virtual keyboard (see image at the right). It’s a great opportunity to use the free service I’ve launched a year ago: Mobile Tiny URL. You can short a URL optimized for numeric keypads, like the new Android’s one. Of course, it also works on other keyboards as well.

Waiting Android 3.0 Honeycomb

I have a request for the Android team for Android 3.0 Honeycomb: you need to empower your webapp platform. There is a lot of innovation to do in this topic and the Chrome team is leading this innovation in the desktop world with great success. You need to be at least in the same level in the mobile world.

I will continue with my testing on the browser. If you know any other feature working or missing, use the comment box below. If you want to check what’s new in the native environment, this is a good post.

If you want to know about HTML5 and other stuff for Mobile Web in Android, iOS and other 15 platforms, remember to look at Programming the Mobile Web book, from O’Reilly Media.


24 thoughts on “Android 2.3 Gingerbread: the browser

  1. At least expected the device motion APIs… :-/

    To be honest, it’s hard to to tell from the (lack of) documentation what APIs are and are not supported. Did you just try stuff out?

  2. Sad, they could’ve at least thrown in input speech, web sockets and accelerometer support.

    Especially input speech, I mean all they would have to do is not display the keyboard and use their voice recognition pop up when on a speech enabled input box (this could’ve been implemented very easily).

  3. James, I’ve tested the APIs… and I made an extensive test over the window object. As the global JS object, you can find there all the “classes” (or object constructors), events and more. That is how I detected the new stuff in iOS and that is how I conclude that Android 2.3 is not supporting them. I’ve also made a comparison between the DOM available in 2.2 and in 2.3, so I could find the differences.

  4. Perhaps they didn’t think iOS4.2 would come out guns blazing with browser updates. Let’s hope they push a minor update with browser goodies.

  5. I’ve had a look into it, and there seem to be quite a few improvements to web page rendering (like better support for inline frames), which is great news for web apps. The HTML5 video and audio tags seem to work now on a basic level – I still haven’t been able to get them to play via JavaScript. I hope they haven’t implemented the same annoying feature as the iOS guys, with the “you have to click it to play it” principle. That just renders audio playback in web games useless…

  6. Hey,

    is there a way to make your WebApp Fullscreen, making it look like a native app?
    (like ) on the iOS?

    That would be great

  7. David, there is no meta-tag or other way to make a fullscreen webapp using only the browser. You should create a hybrid application: a native app with a fullscreen WebView control loading your webapp.

    I agree with you: that would be great on Android.

  8. Wasn’t the support for animated GIFs added in 2.2? At least they seem to work on Nexus One and Galaxy S nowadays…

  9. Does Gingerbread support advanced touch events in javascript, like pinch-to-zoom? People have been asking for that for ages…

  10. Tim, mostly all HTML5 and new API stuff aren’t a finalized standard. This is a whole discussion by its own, but browsers are implementing all this new stuff not matter what the W3C says about them. Everyone will follow the discussion, but nobody wants now to wait for the discussion to be finished.

    You are right about Animated GIF’s, there is still a bug on the first 2.2 release. SVG is definitely not supported.

  11. 2.3 (and 2.2 before it) have file upload support which gives you the option of snapping a picture or selecting one from your camera roll. By “camera support” are you talking about direct access to data? Have they promised that? And if so, is that part of an open standard I’m not aware of?

  12. I’m talking about direct access to data (or at least, snapshots). The only standards are from widgets API (like WAC APIs). It was promised as you can see on the video embedded, that is why I’m mentioning it.

  13. Do you now if 2.3 has support for multitouch in the browser? Specifically broadcasting multitouch events to JavaScript (as iOS does). (not gestures, but raw touch events)

    Currently the browser only appears to support single touch.


  14. Hi Mike, Android Browser supports touch events and internally it has the ability to receive multiple touchs. It doesn’t support gesture events, as the Safari on iOS does.

    However, there are different hardware using Android. Some of them are not multi-touch, and for the ones who are it depends on the Android OS version. On latest versions, the browser captures multitouch for zooming (even if you deactivate zooming via viewports), so the short answeris: “Android does not support multitouch on JavaScript for most modern devices”. It’s a real shame.

  15. Hello!
    I am planning to buy Xperia Play? But I am interested in Phones that can open websites like skype. If you check the website it has drop down menus. What do you suggest can Play do that?

Leave a Reply

Your email address will not be published. Required fields are marked *