The problem with HTML5 "apps" is they're not "apps"
The biggest problem with HTML as an application platform is that you can't create an HTML package that someone can just grab and use. Anything you create with HTML has to be connected to the web to work at all. Your customers don't like that, even if you think that's kind of neat. People really do want to be able to do stuff when they're not online (even if they have a phone, there's places you can't get online, and you don't want to have to worry about bandwidth).
This is where the original iPhone fell badly short.
Even flash does this better. You have a .swf, you can run it. It takes a modest amount of geek knowledge to make it work, but it does work. And even if you don't do that, you can keep playing a flash game even if you lose connectivity. They can be made self-contained.
About six months ago I suggested an alternative to flash support for HTML5 applets, which would solve this problem as well.
When I recently brought this up on Buzz, I was directed to HTML5 offline support. That seems rather fragile to me:
- It's built on top of caching, what happens when you clear your cache? What should happen? Should such implicit "offline" apps stay around after you clear your cache? That sounds like a way to create a "persistent script injection" attack. The idea of the "app bundle" is that you have an object (an app) that you deliberately choose to install, and that you can throw away when you don't want it.
- How do you know when you have the whole application safely in your cache?