HTML5 is a forthcoming W3C specification that defines the 5th revision of HTML, the core language of the Web. Like many current W3C specs, Google is championing this one, and its goal is to make things easier and more consistent for Web application developers.
There’s a lot to like in HTML5, including new markup semantics for multimedia tags, a standard canvas element for immediate mode 2D drawing, support for offline storage, geolocation, document editing and drag & drop.
In the Web Technologies group of the Qualcomm Innovation Center, our interest in HTML5 is motivated by the potential for mobile Web apps to benefit from the consistency and richness the spec encompasses. One of the sites that demonstrates this potential is Google’s Chrome Experiments, dedicated to showing just what’s possible using HTML5 features. The site includes over 100 experimental Web apps, many of which run well within both Chrome and Firefox.
Generally the experience is good since most make use of Canvas, SVG, or HTML5 features common to both browsers. But I have found that some of these apps either won’t launch, or run erratically on Firefox due to their reliance on features not yet implemented. There’s even one high profile music video replacement app from the band Arcade Fire, that warns against running in Firefox, having been optimized for Chrome.
All of this feels very much like the kind of browser inconsistency we lived with on the desktop years ago. So are we headed back to those frustrations, having to keep and run specific browsers for certain apps or sites? And will the problems be even more pronounced with mobile Web variations thrown into the mix?
Browsers are undergoing a sea change to better support Web apps and mobile. As was the case with past quantum changes in the Web such as the migration to AJAX and Web 2.0, there are some platforms that are ahead of others, resulting in fragmentation and inconsistencies. But this time, there are some important differences:
WebKit: As the engine for many mainstream desktop and mobile browsers, WebKit provides a consistent, standards based foundation upon which differentiated products can be built. Before WebKit was available as an option, browser and device developers often built their own engines with custom behaviors, or selected only portions of the defined standards to implement. A February 2010 study of worldwide mobile browser market share shows that WebKit based browsers (iOS, Android, and Nokia) lead in most global regions.
Standards: The standards that define the Web are much more complete and rich than they were some years ago, and projects like WebKit have taken those standards and made them available to a broad audience covering both desktop and mobile.
Developers: The advent of the Web application and the monetization of these apps provides obvious motivation for browser and device makers to adhere to standards, as well as to reuse code that easily integrates those standards into products. Leveraging an existing and growing market of applications is far easier than building one from scratch.
Mobile: The potential number of end users represented by mobile devices and growth of that segment of the browser market makes for a business incentive that wasn’t there during previous quantum changes in the Web.
We aren’t yet at the point where Web apps can be write once, run anywhere. But there are consistencies we didn’t enjoy just a few years ago. Coupling HTML5 with the current momentum, we can expect to see more standards based features and convergence in the future.