"Will the new HTML5 standards have a big positive impact on enterprise application development? If so, what’s so great about it? If not, why don’t you think it will really help?"
HTML5 should have an immensely positive impact on enterprise application development, particularly with Web applications. Although the HTML5 standards are still a work-in-progress, modern browsers have already begun supporting this important upgrade to the Web. The rich features that can be built into HTML5 applications running in the browser will provide excellent support for enterprise applications on various mobile devices.
HTML5 grew out of an upstart group of W3C participants who were interested in adding more application-level functionality to the next version of HTML. The Web Hypertext Applications Technology Workgroup (WHATWG) was opposed to the focus that W3C was placing on strict XML compliance and decided instead to focus on both supporting and extending the existing Web. In the end, since the WHATWG consisted largely of browser vendors (led by Ian Hickson, formerly of Opera and now at Google), they wielded a large amount of leverage. In 2009, the W3C conceded defeat by abandoning their work on XHTML 2.0 and co-opting the work done by the WHATWG.
The most common question developers have about HTML5 is, “What browsers support it?” Or more specifically, “How is it supported in my company right now?” On the surface, the answer is not encouraging. The most widely deployed browser in most corporate environments is Internet Explorer 8, followed closely by version 7. If you visit http://html5test.com/results.html you will see how IE8 stacks up. It holds an extremely poor score, well behind recent versions of Google Chrome and Firefox.
HTML5 offers a number of interesting features that add new capabilities and semantic information to your content. You can get a reasonably complete list of them the W3C’s website. I say “reasonably complete” because the specification is not completely fixed at this time. For example, it was recently announced that the <time> tag was being dropped from the spec, yet developer outcry caused the W3C to reverse this decision. I would like to summarize a few of the bigger new additions:
- Web Forms 2.0
The new additions to Web Forms let you control autofocus, validation, placeholder values and more. One of my personal favorites is the Datalist, which finally brings a native combo box to HTML.
- Web Workers
Threads for Web pages! If you’ve ever seen the image below then you’ll appreciate this feature.
Web Workers allow you to have background processes on Web pages separate from the thread running the user interface.
- Local Storage
We’ve seen a lot of solutions for persisting data on the client (think Google Gears). The initial implementation of Local Storage in HTML5 is rather primitive: Only 5MB total can be stored, and the database is restricted to simple Key/Value string pairs. Hopefully, we’ll see support for a more powerful local SQL database in the future.
- Offline Web Apps
HTML5 offers a robust caching framework to support offline Web applications. Google has already made excellent use of this feature in Gmail. I can envision a mobile workforce repeating the benefits of offline apps to deal with dead zones and outages during client meetings.
- History API
One of the trickier parts of writing a dynamic Web app is dealing with the browser’s back button. By allowing a Web app to directly manipulate the browser history stack, HTML5 can help make this task easier.
- Geolocation API
Mobile developers will most certainly take advantage of this one. There are additional sub-groups working on support for hardware features like accelerometers.
"Who should look at HTML5 today?"
For starters, anyone doing mobile development should look at HTML5. The browsers embedded in the iOS Android platforms both have excellent support for HTML5. Several companies have already decided to make the switch from OS-specific apps to HTML5 equivalents. This achieves several benefits: You avoid the onerous approval policies of the curated app store (ala Apple), you have a single URL for all environments that can spread virally and you also avoid revenue sharing requirements. For example, the Financial Times made the switch from native to HTML5 to avoid Apple’s grab for 30% of the subscription revenue from in-app purchases. On the downside, when you abandon native, you have to manage the entire payment process yourself.
HTML5 will also allow us to be more creative in terms of the user interfaces we can create for our applications. However, we need to make sure that we exercise caution and don’t do something overly cute or clever just because we can. To avoid isolating your site from a specific browser segment, make sure to use polyfills when appropriate.
I’m looking forward to the biggest update HTML has seen in more than ten years. I think we’ll see a lot of interesting sites and services emerge as people start leveraging HTML5’s new features.
What are your thoughts on HTML5 and enterprise application development? Let us know.