As an Embedded Software Developer with experience in writing networking code, HTML5 may seem somewhat tangential as a topic for study. However, as “embedded” has come to include devices with 512+ MBytes of memory, GHz processors, and gigabit Ethernet connections, the range of devices has expanded considerably, even at the low end of the embedded device spectrum. There’s an expectation in the marketplace that the latest embedded widget will have a web interface to support user interactivity.
I recently read “HTML5 Up and Running” by Mark Pilgrim (O’Reilly | Google Press) in order to come up to speed on the technology. A brief review follows.
Pilgrim begins the book with a review of the history of HTML from the early 1990′s until today. The description of HTML’s evolution was supplemented by mailing list excerpts from its major developers – the process was depicted as collaborative and practical. The ideas developed in parallel with the standards that documented them; compromises were made as required, allowing HTML to deal with imperfect (not well-formed) code, rather than trying to develop a perfect protocol.
The new HTML5 standard is a collection of improvements to the existing 4.x standard. Since HTML5 is actually a collection of capabilities, current browsers are likely to be only partially compliant. So, the following chapters describe the individual components of the new standard, and how to detect whether the web client (browser) implements them (examples use Modernizr to query the client). The new features covered include Canvas, Video, Local Storage, Web Workers, Offline Web Applications, Geolocation, and several others.
Some highlights of the most interesting HTML5 features described:
- Video Support: A new <video> element that a complient browser can use to select a video format that it is able to render. This eliminates the need for 3rd party plugins.
- Local Storage: A means to allow websites to store larger quantities of information on the client computer for subsequent retrieval.
- Offline Web Applications: the ability to cache online content for later retrieval.
- Geolocation – To be expected, given the proliferation of web-enabled smart phones.
This book is a great read. It provides the “back story” on the evolution of HTML, and a practical guide for using HTML5 for modern web applications.