HTML5’s a Game-Changer for Web Apps
HTML5 is a complex specification that’s being completed in stages. While it’s not expected to be fully ratified for quite some time (Ian Hickson, the editor of the HTML5 working draft spec, suggests it won’t be fully complete until 2022), browser vendors are nonetheless starting to implement some of its useful features. This presents a huge opportunity for forward-thinking web app developers, which in turn will spell good news for ever-growing number people who use web apps.
HTML5: What’s It Good For?
So what does HTML5 bring to the table? Broadly, it enables developers to deliver the kind of in-browser desktop app-like experience that up until now has only been available though the use of technologies that require plugins, such as Silverlight and Flash. HTML5 will directly compete with these technologies.
The HTML5 spec is wide-ranging, with a number of separate sections being developed in parallel. Some of these are stable and ready to use now, and some of the most exciting developments include:
- In-browser video, available without the use of a plugin
- Canvas. This new tag enables developers to use vector graphics on the page, much like Flash, although again without the use of a plugin
- Cross-domain messaging
- In-browser storage
- Drag and drop
- Enhanced web forms
Demos of these and other HTML5 features also give an idea of which features are supported in which browsers — Firefox, Safari, Opera and Chrome already support much of this functionality.
As mentioned above, HTML5 should enable web apps to deliver a far richer experience; apps that are more functional and behave more like their desktop cousins. This means developers can build apps able to interact more directly with the users’ file systems. They can incorporate vector graphics, geolocation and other features to provide a more functionally robust user experience. And HTML5 will make it much easier to build many of the features used on modern interactive websites: wikis, drag-and-drop tools, forums/message boards and real-time chat features.
According to Bruce Lawson, an Open Web Evangelist at Opera Software (and also the co-author of the soon-to-be-published book “Introducing HTML5“), incorporating HTML5 into existing apps now is “very feasible.” He adds that, “All the modern browsers (excluding Internet Explorer) support HTML5 features like App Cache, which allows applications to run offline, and Canvas, which is useful for dynamic generation of images. Persistent storage is also available on all modern browsers. Opera, Safari and Chrome have even implemented a full SQL database in the browser for storing application data.”
While it probably wouldn’t be wise for developers to make web apps that relied solely upon HTML5 features — there remains a large proportion of web users who wouldn’t be able to use them — we’re already beginning to see HTML5 making tentative appearances; YouTube is experimenting with HTML5 video, for example.
Opportunities for Web App Developers and Vendors
Today’s web app market is hyper-competitive, with many vendors seeking to gain the advantage. Web apps are often differentiated on features, so the additional power that HTML5 provides could give developers scope to provide apps that have a significant competitive edge: HTML5 web apps can provide considerably more functionality without sacrificing speed. It’s highly likely that this competitive pressure will encourage developers to start incorporating HTML5 features into their apps sooner rather than later — particularly as HTML5 will be widely supported on smartphones and other mobile devices. As much can’t be said of technologies like Flash and Silverlight.
While it’s reasonable for developers to have concerns over using HTML5-only features that are not yet available in all browsers, it’s also worth bearing in mind that the type of user who relies on web apps is much more likely to use an up-to-date, modern browser. The number of new users an app could attract in a highly competitive market by offering new functionality could more than offset the risk of losing some who can’t (or won’t) upgrade their browser.
Lawson believes that, initially at least, developers will struggle to get to grips with HTML5. “Ideally, people will ensure they use cross-browser, standards-based code to ensure that their applications work anywhere. Professional developers will, and those are the apps that will survive the Darwinian process by which apps and their business models perish or not. Coding for this week’s hot device to the exclusion of others is a dangerous game.”
How HTML5 Changes the Game for Web Workers
While web app developers are licking their lips over the opportunities HTML5 provides, web workers should be rubbing their hands with glee too. The explosion of useful collaborative web apps we’ve witnessed over the last few years — which, coupled with an increase in bandwidth and better hardware has helped power the web work revolution — is about to be followed by a new wave of rich, desktop-like HTML5-powered apps.
Working entirely in the cloud should become a reality for many more people too. Google, for instance, is adding HTML5-based features to its apps because it believes that doing so will improve its customers’ experience, as well as entice more users from the desktop and into the cloud. Not only will HTML5 enable the company to incorporate additional functionality (enabling users to drag files from a Gmail message to the desktop, for example), it should also improve speed and responsiveness. At his keynote recently at Usenix WebApps ‘10 in Boston, Google engineer Adam de Boor said HTML5 and CSS3 should slash Gmail’s load time by 12 percent, with the eventual aim to get load times to under one second.
HTML5 would also open up the possibility of a seamless workflow spread across many more devices. The browsers available on tablets like the iPad and many smartphones already support some HTML5 features. Even greater support is expected in future. So, in theory, you could be working on your laptop, hop across to your tablet or smartphone and continue working in the exact same HTML5 app. You wouldn’t have to worry about saving your work, or somehow sending it your other device — it would just be there, waiting for you, exactly as you left it.
Working exclusively in the cloud will have its downsides though. As Lawson notes, “we’ll become even more dependent on ever-on Internet. If all your emails, spreadsheets and photos are ‘in the cloud,’ even a few minutes [of] disconnection becomes intolerable. We’ve already seen services go under — AOL Pictures, Geocities, as well as prolonged outages of Gmail — so people will need strategies to ensure that their cloud data is also backed up physically somewhere.” Assuming that we can deal with those issues, though, the future for HTML5-powered web apps looks bright indeed.