Android and the eternal dying mobile browser

Android Browser, one of the most important mobile browsers out there is an eternal dying piece of software. Android hasn’t evolved its default browser since 2011 and this is affecting HTML5 developers, including Cordova/PhoneGap apps, while Google Chrome is replacing it slowly.

Today Android 4.3 JellyBean update was released and after some testings I can confirm that the browser is still the same as the one with Android 4.0 launched on October 2011. No new APIs, no new support, same bugs and problems.

Just a quick reminder: Android Browser is the default browser in the OS and has no relationship with Chrome or Chromium (well, it’s using a WebKit engine as the base for current Chrome).

According to different sources, Android Browser is fighting the first place with Safari on iOS in mobile web market share. While numbers can differ depending on the source, it’s clear that it’s still part of the two most important browsers.

For example, Akamai Internet Observatory says that around 40% of the whole mobile browsing is done with Android Browser and only 6% with Google Chrome. On the other hand, StatCounter Global Stats says Android Browser is still 30% while Google Chrome only 3%.

Based on StatCounter and Akamai.IO, Android Browser is one of the most used browsers on mobile devices on July 2013

These stats don’t separate Android by OS version, but according to the official Android Dashboard38% of the Android market share is still on Android 2.x. And the Android Browser on this version is still worst: no SVG, terrible performance and less API support.

What about Google Chrome

Google Chrome for Android is leading the HTML5 ecosystem in terms of developer tools, compatibility, APIs and new CSS support. We are very happy with the Chrome team. However, Chrome is available for download only for Android 4.0+ and even on new devices it’s the default browser only on some specific devices. That’s the reason for not seeing Chrome as the main browser for Android users yet.

We know Android Browser will die eventually in the future, but the agony is taking too long so we need a solution in the meantime

How does a dying mobile browser affect us?

No remote debugging: this is a huge problem today

Some specs are implemented with an older deprecated version, such as Network Information and HTML Media Capture

No support for some APIs affecting the kind of apps/games we can develop for it, compared to Safari/Chrome/FF: Server-Sent events, Web Sockets, Web Workers, Rich HTML5 form controls, FileSystem, IndexedDB, Animation timing

No hopes for advanced APIs for the future, such as WebGL, Web Audio, Web RTC or getUserMedia.

Stuck also for native apps

Having to deal with this dying browser means also that we are stuck in terms of the WebView, the native control to create hybrid apps or show HTML content in a native Android app.Therefore, Apache Cordova (PhoneGap) developers have to use this dying engine even on the most modern Android device.

While the Chrome team has announced twice that Chrome Apps for Androids and a ChromeWebView may be available later, we don’t have a solution out there yet.

Compare it with other browsers

In terms of compatibility, Android Browser is far way at this point. Using HTML5 Test, Android Browser 4.0-4.3 scores 297 while Chrome scores 410 and even IE10 on Windows Phone scores 320.

HTML5Test comparison between Android Browser, Chrome and IE10

Internet Explorer 10 for Windows Phone is better than Android Browser

I think we need a solution while Google Chrome gains market. Just waiting for the long agony doesn’t seem a good idea anymore. It’s talking much more time that we all expected.

Google has decided that Google Chrome will be the browser to promote. While they might have some licenses issues yet to resolve to provide Chromium inside Android in the future, I think that will be the case. And while I don’t have any official word from the Android team I see that Android Browser is not evolving and that means to me the development process is frozen.

Android Browser is also WebKit-based and not Chrome is going with Blink so it’s another difference for the future. I don’t think Google will want to invest in two different browser teams for the long term.

Thanks to the advance of Firefox during the last decade, browser teams – both open and closed source – are now proud to announce better standards compatibility and new features with every new version; so Android being the exception points to something fundamentally going wrong.

So yes, lets hear from the the developers involved in this open source project.

Sorry for being late to the party but might it be possible, for PhoneGap development, to include in the app a whole instance of Chrome for mobile (just like the WebView available with the SDK) so as to bypass this dying browser ?

I realize this only solves the issue for PhoneGap apps and will probably be very heavyweight, but I was curious of this angle of attack.

Even more so now that as you pointed out, all other “webView-esque” components for other platforms are decent enough and only android has such a terrible situation.

Don’t worry, there are still some beers :) What you are offering is a possible option in the near future with Chrome Apps for Android. It is known that it will be based on Apache Cordova, but it’s not sure yet if the user will need to have Chrome pre-installed or not to use it. Chrome Apps for Android will use some kind of ChromeWebView.

Hopefully those chrome packaged apps are not so far away and it will be possible to retro-use them on older Android versions, either by packaging a bigger app or maybe using the play-store capability to push parts of an update to the Android core through the play store ? A man can have dreams …