In January 2015, YouTube announced its decision to use HTML5 by default for all video playbacks on its website to provide faster and smoother video streaming to users. In December 2015, Facebook announced its decision to switch to HTML5 from Flash-based video player for all its web video surfaces. According to Code.Facebook.com, “From development velocity to accessibility features, HTML5 offers a lot of benefits. Moving to HTML5 best enables us to continue to innovate quickly and at scale, given Facebook’s large size and complex needs.”
Within a shorter span of time, many large and high-traffic websites have switched from Flash to HTML5 to enhance video streaming experience. The trend indicates effectiveness of the latest version of HTML to meet the needs of large and complex websites. In one of my previous posts, I had written about why HTML5 videos are more interactive. The post on Code.Facebook.com further mentioned several benefits of HTML5, along with the major challenged associated with replacing Flash with the latest version of HTML. The post makes it easier for analysts to understand why Facebook finally moved from Flash to HTML5 for all video playbacks.
5 Reasons Why Facebook Decide to Switch from Flash to HTML5 Video
1) Supported by Major Browsers
At present, HTML5 is supported by all major web and mobile browsers including Chrome, Firefox, Internet Explorer, Opera and Safari. There are older versions of Internet Explorers that do not support the updated version of HTML. But Microsoft has already stopped supporting earlier versions of its web browser. So users have to migrate to Internet Explorer 10. The HTML5 developers are no longer required to correct the behaviour of old browsers using the new semantic elements provided by HTML5. Thus, the users can now access Facebook videos seamlessly on a variety of devices.
2) Faster Development
As modern web browsers support HTML5, Facebook can easily take advantage of the tooling included in web browsers. At the same time, the support will enable developers to take advantage of a variety of open source tools. The tools will speed up and simplify the process of modifying the existing code of applications. The programmers can make changes to the code, and apply the changes directly to the web browser without recompiling the code. At the same time, they also avail WebDriver, jest and similar advanced tools included in testing infrastructure at Facebook to deliver high-quality video quickly and smoothly.
3) Support for High-Definition H.264 Video
The latest models of iPhone and iPad have already started supported high-definition H.264 video. The Apple devices do not support Adobe Flash. Further, Flash video player is not effective in delivering high-definition H.264 video seamlessly to users. The developers at Facebook built a custom HTML5 video player with built-in support for high-definition H.264 video. They further tested the video player across many mobile browsers to ensure seamless video streaming experience. The initiative will encourage many businesses to create custom HTML5 video players according to the nature of their video content.
4) Loading Selective Page Content
The developers at Facebook further used the History API to load selective page content to users without affecting the readability of URLs. The History API loads selective page content through AJAX. So the current application state is no longer required to store in the page URL fragments. HTML5 enabled the developers to separate the current state of the application from the URL displayed to users. The decoupling help the application to load pages more quickly, consume less bandwidth, and keep the location bars unpolluted.
5) Experiment with HTML5 Features
However, Facebook has not stopped supporting Flash completely. According to Code.Facebook.com, “We are continuing to work together with Adobe to deliver a reliable and secure Flash experience for games on our platform, but have shipped the change for video to all browsers by default.” So the popular social networking platform is currently using HTML5 only for providing faster and smoother video streaming experience to users.