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.
- Our Chat team is planning to experiment with WebSockets which will hopefully replace long polling and make real-time web apps more stable.