In my opinion, the easiest way to achieve the B2G vision on Android (the web as a platform) is to let browsers run websites as an app. I am still using my Firefox OS phone, but I am using my Android, similarly:
- I use all major services (Twitter, Facebook, Gmail, local news, etc.) in my browser;
- I pin these to the home screen.
What I am really missing is a browser on Android that runs sites as an app. The problem here is: Firefox, the native Android browser, and Chrome all show the url bar. A second problem: they do not allow separate configs (so my Facebook cookies will be availble on all sites with a facebook button, Google analytics sites will all see I am logged into Gmail, etc.). A third problem: my “apps” are not available when I ‘scroll’ through my ‘apps’., etc.
On Ubuntu, running websites as an app, in a different “sandbox” is perfectly supported by Chromium (and Chrome) by the following command (to make a Twitter app):
chromium-browser --app=https://twitter.com/ --user-data-dir=.config/chromium-twitter
This is almost all we really need to make the “web as a platform” possible. I can make a .desktop file that configures my app further, for instance by assigning a proper icon. This app has its own space in the status bar, it runs in its own environment (so my login in my ‘gmail app’ is not shared with other websites). In fact, we have a web standard for such config files too, with the manifest.json file that was also used by FirefoxOS.
I never understood why Firefox (on Android, on Ubuntu, on Windows) does not support this (Firefox did it for a while in a clunky way). Why Firefox? This is the easiest way to use any platform as a “web as a platform” system. Maybe I am missing something?