Can Flash and HTML5 get along?

Adobe's Duane Nickull on serving developers -- HTML5 and Flash alike -- through choice.

Flash and HTML5As the HTML5 standard evolves, and the technology becomes more capable, it’s natural to start examining the overlap between Flash and the new capabilities of HTML5.

One person with a strong opinion on this subject is Duane Nickull, Adobe’s senior technical evangelist. He’ll be talking about the new world of HTML5, AJAX and Flash at Web 2.0 Expo, and he gave us a sneak peak at his thoughts on the subject.


To what extent do HTML5 and Flash cover the same ground, and to what extent do they play well together?

<a href="http://www.web2expo.com/webexsf2011/public/schedule/speaker/1386"Duane NickullDuane Nickull: First, let’s clear up a common misperception about HTML5. When many people say or think “HTML5” they really are referring to a set of technologies that includes things like jQuery, AJAX, CSS and even plain old JavaScript. Likewise, Flash is more than just the Flash — *.swf — file format. Flash is a complete platform that has server-side components, authoring tools, protocols, binary formats, supported codecs and even side-channel communication features in server products like Livecycle Data Services and the Flash Media Server.

Most of the time, a Flash-based application deployed to the Internet is done so within an HTML container. It uses JavaScript to invoke and instantiate an instance of the Flash Player browser plugin. One could summarize that HTML and Flash always play nice together, and in fact, Flash relies on HTML.

How is Adobe addressing HTML5?

Duane Nickull: Adobe’s strategy is to embrace and develop toolsets for both HTML5 and Flash. HTML5 is an exciting technology and in my opinion, HTML, as a standard, has stagnated for far too long. We are participating in the W3C standards group as well as pushing to bring features into our products as early as possible. At Adobe MAX 2010, we also previewed a prototype technology, conceptually similar to Flash Professional CS5, to show designers and developers how simple and intuitive it could be for them to build interactive animations with HTML.

Developers and architects have to make decisions about which technology suits them best. Let’s use forms as an example. In many cases, HTML forms are given preference to Flash-based forms for online experiences, as they load quickly and do not require a plugin. If the architecture calls for offline use, then PDF or AIR applications, often Flash-based, start to make more sense. Adobe doesn’t tell developers which technology to use. We deliver multiple choices and allow developers to make their own decisions. Developers would refute such arrogance if anyone demand they always use one technology over the other.

Web 2.0 Expo San Francisco 2011, being held March 28-31, will examine key pieces of the digital economy and the ways you can use important ideas for your own success.

Save 20% on registration with the code WEBSF11RAD

The overlap between these technologies grows as HTML5 is used more, and functions like the video tag are added. There are some real issues, though, with merely pointing a browser at a video source and expecting it to work in all browsers on all devices and bandwidth variations. The Flash platform has a history of delivering a high-quality user experience for video by detecting bandwidth and processing capabilities and then compensating attributes of the video playback to suit that context. This requires server-side components and side protocols to monitor the playback. HTML5 is a markup language, and it may not be able to match the video experience on all devices that Flash Player now delivers unless it adds a comparable server-side option to the equation.

Another consideration is the actual rendering of the video controls and frame. Using Flash Player, the rendering is consistent if developers use something like the standard video control. If you write your own control in HTML and CSS it is possible that it might look different on different browsers. CSS today has issues with rendering across all combinations. You have Opera, Chrome, IE, Safari, Firefox, et al. Most of these run on three to 10 different operating systems, supporting an average of around five multiple concurrent versions of both browser and OS. This means you have a matrix of 5 * 10 * 5 * 5, or around 1,250 variations, which is a fairly large matrix to test CSS against. That’s not even the end of it, either. Some people are still using IE6. I have voiced my concerns about this on my blog.

How is the Flash / HTML5 story going to play out in the mobile space?

Duane Nickull: I think it will play out much as the Internet is already playing out. Adobe will give developers the choices to build the way they want to build. The Flash Platform certainly has an appeal for mobile development and the only hitch is that it’s not currently running on the iOS platform.

Consumers have a choice, though. Millennial Media recently reported that Android phones in the U.S. accounted for 46% of traffic on its ad network, more than Apple’s 32%. Android, which supports Flash on mobile in Android versions 2.2 or higher, has also taken the No. 2 spot in smartphone handsets and is poised to grow even more.

The tablet market is also heating up. Research in Motion (RIM), which will support both HTML5 and Flash Player as Android does, is poised to make a big splash in the tablet market despite Apple’s early lead.

Adobe’s strategy, again, is to ensure we deliver the tools that give developers choice. We love Flash and we love HTML and its peripheral technologies.

This interview was edited and condensed.

Related:

tags: , ,

Get the O’Reilly Web Platform Newsletter

Stay informed. Receive weekly insight from industry insiders—plus exclusive content and offers.