I noticed with interest a new story last week that The New York Times Pulls App from the BlackBerry store. On the one hand, The New York Times has a great mobile web site and Blackberry devices have a super HTML stack, but it got me thinking.
Though HTML5 has not reached a state of API evolution such that apps built with HTML5 can do everything that a native application can do, the gap is rabidly narrowing and, in many cases, the technology is already “good enough” to meet the developer’s needs and reap the benefits of open web development.
Mozilla has been building an HTML5 apps strategy for some time.
Google recently expanded it’s apps strategy with a “packaged” apps initiative.
Microsoft has a new web based model for Windows app building (though a proprietary one).
Missing is an HTML5 installable app strategy for Apple devices but you can use tools like PhoneGap to package an HTML5 app for the Apple store.
New York Times leaving the Blackberry store behind is only a single case, but as HTML5 capabilities evolves, lower volume app store will likely experience an decrease in store specific support. After all, pulling support for a specific store doesn’t meaning leaving customers behind.
It even seems like the pace at which the evolution of the HTML5 APIs might accelerate with the W3C and the WhatWG dividing their concentrations.
I’ve been making a living writing code for 30 years and, as an industry, we have always been looking for ways to “wrote once – run everywhere” – or at least to maximize code reuse.
I personally think HTML5 will be the closest we have ever come as an industry – at least on the front end, and I like the fact that the more we move logic to the client tier, the more simple the server side can become, thereby eliminating the need for overly complex infrastructure and applications on the back end.
So I’m curious, how do YOU think HTML5 is progressing? Are yo using, or planning to use HTML5 specific features? What parts are most interesting and important to you?
Great post, Joe.
I think HTML5 is progressing fine but it’s a standard, so it’s much slower than the web.
I have the idea that maybe Mozilla (or someone else) could build something like the Boot2Gecko Web API on the desktop. An API that would offer platform (local machine) capabilities to Javascript.
HTML5 apps would run outside the browser in their own window, and would be hosted locally even.
Microsoft is now offering access to (what is the Windows 8 equivalent to) Win32 API to Javascript directly. It’s a recognition on their part that:
1. There’s a lot of web developers out there.
2. HTML5 is powerful enough to do desktop apps.
It’s all different approaches to doing the same thing.
When you say “the gap is rapidly narrowing” I disagree. It’s not narrowing at all. So far, HTML has always been lagging behind native apps significantly. By the time HTML was finally capable of doing video properly, the native world was working with touch based interfaces. By the time HTML gets touch right, native will have moved on.
I’ve yet to see ANY ‘web based app’ that can rival a native app. Sure, for a simple content oriented website it’s no problem. But after all these years Google Apps is not nearly as powerful as Microsoft Office (and much more buggy). In my humble opinion, the web is a great platform, but not an application platform. You can build angry birds in HTML5, but the question is: why would you?
Well, the WHY is so that you don’t have to build it again for every platform you want users to be able to run it on 🙂
That ‘why’ is clear, but it’s also a myth. Even HTML5 apps need to be carefully tested across various browsers, so the whole ‘write once’ isn’t really the case.
Also if, in order to ‘write once’, you end up writing crappy software, you’re not doing it for the right reasons..
Sure – but that doesn’t make it a myth.
Test 🙂
This test passed on all different platforms and browsers 🙂
Thansk Amr – trying to find a reported bug in the comments system 🙂
“… thereby eliminating the need for overly complex infrastructure and applications on the back end.”
Not for biz logic heavy apps, those that talk to other systems, and workflows. I cannot see HTML5 tech eliminating backend processing in any large measure. Even if it did, those apps would take forever to load, be hard to maintain, and run too slow to be useful.
I don’t see why html5 needs to be pitched as a panacea for everything. This lack of focus may hurt adoption too.
Well it won’t “eliminate” business logic, though with data logic mostly in S-Procs and UI logic back in the UI. The server logic can be simplified. Of course – one is still free to over complicate things 🙂
[…] post: How will HTML5 “apps” affect the app store eccosystem – MisfitGeek Share:Facebook This entry was posted in Apps, iPhone, Uncategorized and tagged after, apple, […]
The concept of “write once run anywhere” is, as you say, the holy grail that software developers have been chasing for years.
It’s a laudable goal, and HTML5/JS/CSS does indeed seem to be making it a real possibility. It does however, have one major drawback: Anything that can “run anywhere” will, by it’s nature, be limited to the lowest common denominator in terms of features you can use; you have to limit yourself to the least capable platform you want to support.
To a limited degree, you can use graceful degrading to allow you to use certain features where they exist, but at the end of the day if you need/want to rely on a specific feature, you can only support platforms that have it.
This is what is limiting (and will continue to limit) HTML5 apps when compared to native apps. Native apps only need to target a single platform, and thus can make maximum use of that platform’s available features. A HTML app on that same platorm may end up not using certain features because they don’t exist elsewhere.
That’s not to say that HTML5 apps aren’t very capable. The lowest common denominator today (assuming you’re happy to ignore older devices) is sufficiently powerful to be used for a large number of things. But cutting-edge it isn’t.
Simon – how do you “define” cutting edge ?
@SimonC said:
“Anything that can “run anywhere” will, by it’s nature, be limited to the lowest common denominator in terms of features you can use; you have to limit yourself to the least capable platform you want to support.”
I disagree. There are ways to enable some features if the platform supports it and turn them off if the platform doesn’t.
The phrase “write once, run anywhere” is the holy grail of software development like @SimonC said but there’s a intermediate possible goal which code reuse. Being able to reuse as much as possible of your code base across multiple platforms is a great step. You can’t do that if you have to write your application in ObjectiveC, Java, and .NET
Apps-wise i’m unsure. But for HTML5 games, i can say that they’re definitely disrupting the app store ecosystem. Large telco companies and their internet subsidiaries are fighting the app store model by allowing HTML5 games to appear by default on their branded devices.
Not an easy battle, but worth fighting for. Although far from being sophisticated, HTML5 games are in demand, especially on sites like marketJS
First of all I want to say excellent blog! I had a quick question which
I’d like to ask if you don’t mind. I was curious to
know how you center yourself and clear your head before writing.
I have had trouble clearing my thoughts in getting my thoughts out.
I do enjoy writing but it just seems like the first 10 to 15 minutes are generally lost simply just trying to figure out
how to begin. Any ideas or tips? Thanks!