The pendulum has definitely swung. Flash is the new F-word and HTML5 is everyone's best friend.
At Odopod, our teams are well versed in both Flash and open Web Standards development. Each has its strengths and weaknesses and, in order to make the right decisions about these technologies, we need cut through the hype and weigh the options as objectively as possible.
Following are some of the questions that we have been hearing and debating at Odopod. The responses are intentionally high-level, intended as an overview. If you are looking for more exhaustive details, you will find some links at the end that will help you along.
What is HTML5?
Over the past couple years, several advancements have contributed to the feasibility of relying solely on open Web technologies for creating richer, sexier web experiences. Some of the more notable ones include:
What is the current browser support status?
The HTML5 and CSS3 specifications are fairly new and technically still in draft status, but browser makers have begun implementing them already. Support for CSS3 is further along than that of HTML5, but both have been partially implemented in the following browsers: Firefox 3.5+, Safari 3+, Chrome 3+, Mobile Safari 3+ and Android 2+.
Conspicuously missing from this list is Internet Explorer. Currently, IE 6,7 and 8 do not have support for CSS3 or HTML5 features. Microsoft will change this with IE9, which should launch with excellent support for the latest Web Standards sometime in early 2011. However, roughly 50% of browsers currently online are IE 6,7 or 8 and it will likely be quite a while before these are upgraded.
The World Wide Web Consortium (W3C) oversees HTML5 and other standards-based specifications and last week, Philippe Le Hegaret from W3C stated that HTML5 is not ready for production yet. He is referring specifically to HTML5, not the popular cocktail of Web Standards; however, it is an indication of the work that remains before technologies like HTML5 video and canvas should be relied upon. "The real problem is can we make [HTML5] work across browsers and at the moment, that is not the case." (via InfoWorld)
Does HTML5 = iPad compatible?
If the motivation is primarily to be compatible with iOS (and Android) devices, Web Standards are an excellent choice. The browsers on these devices provide solid support of the standards; however, compatibility requires more. We need to also consider the following:
Using Web Standards alone does not make something fully compatible for mobile devices. Ultimately, the design of the experience needs to be considered.
What about HTML5 Video?
Because of the lack of Flash on iOS and the limited support for it on Android, HTML5 Video is required for providing video to mobile devices.
In general though, it is not yet ready for prime time. There are several significant issues it faces:
In order to reach both desktop and mobile browsers, the best strategy for now is to provide Flash video whenever possible and HTML5 video to play in capable browsers without Flash.
Why use open standards?
Long before Steve Jobs' outcry against Flash, Odopod was directing many of our clients toward sites that combined open Web technologies with richer Flash modules. This can be seen in the work we've done for Nike Soccer, MSI, Giant for Women and others.
The lack of Flash support on iOS is certainly not the only reason to choose open Web development. Web Standards have advantages with regards to:
Flash can certainly be made do these things, but they require additional effort.
So, why use Flash then?
Flash continues to excel at rich immersive experience with layers of video, images, and text as well as dynamic drawing, animation and sound. In these regards, Flash is far ahead of even the most capable browsers in terms of both features and performance. Furthermore, given the speed with which Adobe innovates the platform and the speed with which they distribute new versions of the player (to desktop computers at least), Flash will continue to be ahead of the capabilities of Web Standards for the foreseeable future.
Furthermore, despite the incredible efforts of the Web Standards community to reduce differences between browsers and abstract the remaining differences using libraries like Jquery, the fact remains that developing for browsers requires additional QA time for each browser. Flash does an incredible job of eliminating these differences within their platform, reducing the effort needed to develop innovative experiences.
Right now, Flash remains the better choice for rich, immersive experiences. It is also very well suited for lighter interactive elements (like media players and interactive visualizations) that don't need to be supported on devices.
Web Standards is the right choice for more standard web pages (text and images) and interactive elements, especially when they need to work on iOS and Android devices. Additionally, although I have not talked about it here, Web Standards development makes it possible to use progressive enhancement and reach a much broader set of browsers than Flash is ever likely to support.
In many cases, a hybrid approach is still the best. I expect that we will continue to see an increase in the number of sites built with both Flash and Web Standards elements. Embedded media is fun, but we should continue to push harder on both Flash and Web Standards, inventing the experiences that will give the HTML6 guys something to do.