We are excited about HTML5 and wanted to share with you some of the things we’re already using it for!
It’s worth understanding that the term “HTML5” has come to mean more than just the single HTML5 specification, but really represents the next evolution of the web platform and thus dozens of related specifications. Many of them have already been implemented across recent versions of Chrome, Firefox, Internet Explorer, Safari, and Opera.
Our engineering teams started shipping HTML5 functionality over the past few months and we’re quite excited by what’s already possible:
- A summer intern, Carl Jackson, built a new HTML5 video player with support for high-definition H.264 video which is rolled out to iPhone and iPad users. While we tested this new player on other mobile browsers, we found that Flash still outperformed their HTML5 video implementations.
- Places is available for Android, iPhone, and any other mobile device with similarly modern browsers via http://touch.facebook.com/. The team is making use of the Geolocation API.
- Zach Rait, an engineer on our infrastructure team, implemented the History API to enable selective loading of page content via AJAX while preserving readable URLs. Previously, current application state was stored in the URL fragment which resulted in unseemly URLs like “profile.php?id=1586010043#!/pages/Haskell/401573824771”. Now, because HTML5 allows us to decouple the currently displayed URL from the actual state of the application, we’re able to display pages more quickly, save bandwidth, and avoid polluting users’ location bars.
- We’ve experimented with Web Storage to cache typeaheads and give us more control over how we cache CSS and JavaScript. While we’re not using it in production today, we’re extremely excited about how it can be used in lower bandwidth environments such as mobile.
- Our Chat team is planning to experiment with WebSockets which will hopefully replace long polling and make real-time web apps more stable.
If you’re building a web app and are wondering where to start, Dive Into HTML5 (book) by Mark Pilgrim is a great resource.