I recently built this as a side project using Bootstrap and it feels similar to an app (or faster) on iOS 'saved to my homepage': http://moneytrackr.ca/
Then later I found out about the Ratchet framework, so I think the potential is there.
Both Android and iOS are built around promoting apps. The web is a second class citizen.
On iOS I would go as far as to say a third class citizen, since Apple are blocking the fast Javascript engine in native apps. This makes the idea of having an app as a simple web-wrapper much harder to accomplish.
But if the systems were actually optimized for open web, then content producers could build 1 web-app, that could have important logic and graphic stored offline in an app container, while still being just as functional via direct web access.
This could work great for 90% of all the apps that are basically just glorified websites.
This of course is the main mission of FirefoxOS.
Also - 'the mobile web' did not exist before the iPhone popped up. Now you have a blazing-fast mobile webkit used in Android, iOS and on more recent Blackberries, and have a quite decent mobile IE on windows phone. Each generation of mobile OS, the mobile browser performance improves massively, adding more and more features with every generation. But somehow they are blocking 'the open mobile web'?
Also - a browser is not the only 'web application'. You already have mail, RSS readers, calendar apps, twitter clients, ... in whatever form, webapp, native desktop app or mobile apps - they all exist. They're all using 'the open web'. I think inter-operability is more important than "it has to be html5". The open web is in my opinion: open API's and data format. And that is exactly what we have, a large amount of mobile apps are just a native more intelligent client for some web API or content for which a website is also available. Twitter, Facebook, Reddit apps, Kickstarter, ... all have 'native' apps - does that mean it's less open than using a web-browser? No - it's just optimized for mobile use, something that is very hard to do with pure html5. REST/JSON api's have taken over the open web. Native or web-apps are just front-ends for these api's - that's the direction it's moving in.
I don't see the problem really, web-browsing still is one of the killer apps of a mobile device - tablet or phone, and that's something neither Google, Apple, Microsoft, or any other large corporation will ever limit. Yes some apps are rejected for whatever reason, but there is competition to choose from if one of iOS, Android, Windows Phone, Firefox OS or Mobile Ubuntu makes choices in their rejections that conflict with your personal beliefs.
There is still a future for for pure web apps that feel great. The framework will be released on Wednesday night.
disclaimer: I work at famous.
We've also been pushing for web app models as developers as a collective quite hard. Not so much with the mobile side of things (all got dollared eyes maybe?) We will likely see a push back into the web side of things once mobile browsers become less painful to use and more powerful in what they can do.
In other words, "decline of the mobile web", yea right. (don't forget half the article was about how we're spending more and more time in mobile web over desktop web.)
This would be better phrased as "and there are still only a few places where they do". Google Docs, for example, is great for basic collaborative editing (as long as you don't mind the NSA reading it), but has a UI that it a total pain (especially the world's worst keyboard shortcuts, e.g. having ctrl-enter and shift-enter reversed, and completely lacks advanced features.
We all started using Gmail because synchronising to a mail server is annoying and PCs where slow. Ten years later machines have a fast internet connection, 1TB HDD as standard and, maybe an SSD. When you have to wait 10 seconds just to view an attachment syncing makes a lot of sense. But generating a thumbnail of that same PDF would be much better handled pre-emptively in the cloud.
The problem is believing that one approach is better for every function of an app. Few user machines will ever have a guaranteed large amount of bandwidth. This is just as true on desktop machines as mobile, but less acknowledged.
appcache does something like this and is something that Firefox OS is pushing.
ServiceWorker (WIP) will do this. Its a WebWorker proxy in the browser's request/response pipeline for a particular origin, with a new cache API built on local storage.
It can process page requests and responses with similar semantics to what a WSGI/Rack/MVC controller normally does on the server. It does away with bullshit 'offline mode' divining and encourages apps to work 'offline first'. https://github.com/slightlyoff/ServiceWorker/blob/master/exp...
The polyfill is actually a node.js headless implementation, which makes this look more and more like an isomorphic controller API. https://github.com/phuu/ServiceWorker-Polyfill
Jake Archibald's talk at Chrome Dev Summit, December. https://www.youtube.com/watch?v=Z7sRMg0f5Hk
Chromium bug. https://code.google.com/p/chromium/issues/detail?id=285976
Except that anyone who actually uses the Facebook apps knows that the performance is horrible in the native apps– jerky scrolling, lots of on-demand loading requiring you to wait for multiple RTTs on every click, etc. I would be hesitant use Facebook as an argument for anything other than the need to place UI performance on equal priority with marketing.
I'd say 80% of developers who choose native do so for performance, and 20% do it because the app store and home screen placement is better for branding and content discovery than just sticking up your website on a server somewhere.
I think there's room for some sort of hybrid product but I'm not sure what it would look like. Maybe a mobile browser with super-aggressive caching (like not even a HEAD request for JS and CSS) and the ability to improve performance for the foreground page to the point where it's near-native. I'd use that for the mobile websites that I use less frequently, and continue to download the native apps for the things I use every day.