Your opinion matters! Please fill in the InfoQ Readers’ Survey!

HTML5 vs. Flash: Where does Adobe Stand?

| by Dio Synodinos Follow 4 Followers on Nov 13, 2010. Estimated reading time: 4 minutes |

In the last year Adobe seems to be embracing HTML5 and integrating it into its product strategy. During the Adobe developer’s conference (MAX), Lee Brimelow tried to clarify his company’s plans for HTML5 and especially regarding competing platforms like Flash and Flex.

Adobe Illustrator, one of the company’s flagship products recently got an HTML5 add-on. This add-on provides basic support for HTML5 and CSS3, extends SVG capability and helps developers design both web and device content:

The HTML5 Pack for Illustrator provides features that enable users to take advantage of the latest developments in HTML5, CSS3, SVG and Canvas for easy multi-screen authoring. The SVG and Canvas enhancements also simplify interactive web content development. … Users can also create web widgets with Illustrator by generating dynamic vector art for data-driven web workflows, and map artwork appearance attributes from designer to developer tools by exporting from the Illustrator Appearance Panel to CSS3 for streamlined styling of web pages.

At the same time Dreamweaver CS5 got HTML5 support, initially with an add-on and later on as part of update 11.0.3. This update brought native support for the new HTML5 structural elements and many of the CSS3 properties supported by the latest browsers. One more feature of the update is the Multiscreen Preview panel, which shows what your page looks like in devices with three different screen resolutions, such as a desktop, tablet device, and mobile phone. The Multiscreen Preview panel allows you to attach different style sheets to target each device using CSS3 media queries, so the same page is rendered in the most appropriate way for each audience.

Also as InfoQ has reported, during Adobe MAX, the company previewed an IDE for HTML5 animation. The IDE, codenamed Edge, uses the WebKit rendering engine to preview animations and like Dreamweaver, offers a source code editing mode. The Edge UI follows the same principles as the other Adobe tools, so it will be familiar to Flash developers. Under the hood, Edge uses jQuery and CSS to manage transitions and from the demoed example, Edge also seems to be using jQuery UI and the jQuery Easing plugin.

During Adobe MAX, Platform Evangelist Lee Brimelow made an hour-long presentation which reveals a lot about how his company perceives HTML5 and its relation to Flash and Flex.

Lee started of by explaining Adobe’s position on the debate with Apple. He said that when the iPhone came out without support for Flash, it wasn’t a big deal and he could understand some of the arguments for this choice, but the release of  the iPad without Flash was a big disappointment. It was also a realization that “there was a motive for that”. Speaking for himself, Lee also made it clear how disappointing it was when the new iPhone licensing agreement came out with version 3.3.1, that didn’t allow for 3rd party development tools. This was actually announced the weekend before Adobe was to release CS5, which featured Flash to iPhone export capabilities. During this part of his presentation, Lee mentioned that “HTML5 is not meant to be a competitor or replacement to Flash.  …Everything you can do by using standards in the browser, if you need to go beyond that, that’s what Flash is for”.

According to Lee “HTML is the foundation of the Web, so you can’t be against it”, but it’s still too early for HTML5 since “60% of user can’t view HTML5 content”. He continued to provide several arguments that revolved around the main idea of HTML5 not being widely available, according to browser market share data.

After enumerating several things that are often mistakenly referred to as HTML5 and giving his own definition, Lee stated that Adobe is heavily investing in HTML5 tooling and urged developers to learn HTML5 since web development skills are essential, even for Flash developers.

With respect to video delivery, which is still a Flash stronghold, Lee suggested that if you need to have the widest possible audience today you have to provide both Flash and HTML5 video. He specifically mentioned the iPhone and the iPad, but also all the other mobile phone platforms that don’t have Flash support yet. Having said that, he stated that he firmly believes that “Flash does better video”, both with respect to features and quality, so it should not only be a sensible fall-back mechanism for video delivery, but actually the preferred one.

Lee finished by explaining Adobe’s vision about the Mobile Web and how Flash should be an integral part of a mobile platform, although it should be used cautiously since it’s still not ubiquitous and existing Flash desktop content might not be well suited for mobile devices. He also suggested that AIR is the right choice for a certain type of applications and many times you’ll have to pursue a native application, depending on the features you require.

It’s this reporter’s opinion, that by looking at Adobe’s latest moves and what Lee Brimelow stated during Adobe MAX, we should be expecting a wider involvement of his company with HTML5 and an increased support for this standard in its product line. It seems that Adobe wishes for Flash to be a complementary solution to HTML5 and especially focus on areas like video and mobile where there are valid use cases where its platform outshines standards-based solutions.

You can find more information on HTML5 right here on InfoQ or join us in QCon London 2010 where there will be a whole track dedicated to the HTML5 Platform.

Rate this Article

Adoption Stage

Hello stranger!

You need to Register an InfoQ account or or login to post comments. But there's so much more behind being registered.

Get the most out of the InfoQ experience.

Tell us what you think

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Email me replies to any of my messages in this thread

Solution: Run Flash on HTML5 by Clinton Begin

I don't think anyone really dislikes "Flash". What they dislike is the plugin. Love or hate Flash, one has to respect that the plugin has allowed us to do a lot more on the web than would have ever been possible otherwise. When you look at the plugin, it's amazing how small and fast it really is for what it does. It's a fraction of the size of the JRE, about half of Silverlight and it's way smaller than the Apple Quicktime player -- which only plays video (not the one with iTunes bundled). Furthermore, Adobe has managed to make it the most ubiquitous platform on the planet. It has a broader installed base of a single version that's even greater than Windows (believe it).

But that said, it's still a plugin. While the Windows Flash Player is fast and rock solid (by no means perfect though), Adobe really didn't do themselves any favors on the Mac. And also, they failed to get hardware video acceleration implemented soon enough, so it can still be a bit of a CPU hog.

Add to that the armies of marketing companies and online retailers (read automaker websites) that have abused flash for years and used it for things that they should have stuck to plain HTML for. More than anything, this is what bugs me about Flash... which is not really Adobe's fault. I would have hated Silverlight or Java for the same reasons - had they been successful at all on the web.

In any case...

Nobody likes the plugin. So what needs to be done? What would be really sad is to see the baby thrown out with the bathwater.

There is a lot of great things about the Flash platform.

  • First: ActionScript 3. What a fantastic language! Adobe really hit the mark here. I'm a "too-long" veteran of Java (13 years I think). I also have a couple years of Rails and a couple more in the .NET space. I have to say, of all the languages in the last few years, the one that was the biggest surprise was AS3. I won't get into details, but the short story is: Even though they share a heritage, going back to JavaScript would be painful and sad. Not only am I worried about working in a generally inferior language, knowing that there will be 5 different implementations of the runtime (one for each browser).

  • Second: Flash has a great deal of tooling behind it. Not just the editors, but also the libraries that have years of graphics and animation programming experience behind them. I've heard that the actual editing tools aren't all that great, but the libraries are important. To lose those and start over in JavaScript will create even more fragmentation. Consider having to maintain compatibility with 5 browsers, but then also try to get a few different rendering and animation frameworks to work together smoothly! Say what you will about the Flash tools, but there are no equivalents for HTML5 as of yet.

  • Third: Flex and AIR. Flex is among the best Rich UI toolkits for business that I've ever used. It's well designed and fantastic. AIR on the other hand, is everything Java wished it could be on the desktop. AIR has achieved what Java could not, and did not. It would be nice to maintain both Flex and AIR in some form, surviving beyond the Flash plugin.

  • Finally: Network effect. There are thousands of great Flash developers out there, and a lot of Flash products. This isn't just a convenience, it's a business opportunity. Those developers are going to be looking for something familiar... and probably something one step above a blank editor window and an HTML5 spec.

So what does Adobe do? Simple.

  • Option 1: Treat HTML5 and JavaScript as a "target runtime". In other words, "compile" ActionScript3 and XFL (new FLA) formats into optimized, compressed JavaScript, SVG and HTML5 code. Treat it like a runtime, just like the Flash player. This isn't a crazy idea, frameworks like GWT already do this.

    JavaScript can be treated like nothing more than IL (intermediate language) for the browser. Then we can have other languages, tools and platforms built upon it. Such tools can also help deal with the common problems of cross compatibility between browsers and versions.

  • Option 2: Write a SWF VM in JavaScript. It's probably entirely possible (one independent developer has already demonstrated this with simple video examples of JavaScript running Flash movies). I'm not sure if this would perform faster or slower, but I'm going to guess "slower" -- but perhaps this is a temporary solution while making the transition to Option 1.

Can Adobe do this? Sure they can. They've demonstrated how they can do similar things with the Packager for iPhone, which produced native iOS applications from ActionScript and Flash content.

To summarize, I believe that HTML5 and JavaScript may be the platform for the foreseeable future, but that doesn't mean we have to code directly upon it any more than we do machine code, or Java bytecode or IL.

I don't think this is only an opportunity for Adobe and Flash either. I expect other languages and frameworks to eventually offer similar solutions.


Re: Solution: Run Flash on HTML5 by Christopher Brind

Clinton, I think you've assessed the situation expertly. I love Flex, but I hate Flash plugin. If you could run a SWF in JavaScript (and get decent performance) problem solved.

But like you say, it's going to be slower. Adobe can help the situation by plowing some engineering effort in to JavaScript VMs. They have a good relationship with Google, so why not contribute to V8?

The thought of my Flex app running in a JavaScript VM on an iPad is quite exciting!

The ball is definitely in Adobe's court at this point.

Re: Solution: Run Flash on HTML5 by Darren Smith

@Clinton, firstly, if could do everything in Javascript that you could do in Flash, there would be no need for Flash. Unfortunately, that's not even close to being true. Secondly, Flash could not utilize H.264 hardware-decoding on OSX because Apple didn't provide public APIs that were adequate (even though Quicktime and the higher-level video APIs clearly utilized suitable private APIs). Apple released the Video Decode Acceleration Framework in March, Adobe had a preview version using the framework in April. By any measure, Adobe moved very quickly to implement H.264 hardware-decoding in OSX as soon as Apple made this possible. Even so, the hardware support for the Apple's framework is woeful. But who looks bad because of this in the eyes of the public? Certainly not Apple.

Re: Solution: Run Flash on HTML5 by Clinton Begin

@Darren: I'm not sure how you could have read my comment and thought I was anything but on Adobe's side. Yet you seem to be defending them. I don't think they need to be defended. They're in a good position if they play this out right. But if they attempt to preserve the plugin architecture, they won't have a chance.

Also, taking the position that HTML5, SVG and JavaScript can't or won't be able to compete point-for-point with Flash, will result in failure. If it can't it will. Microsoft, Google, Mozilla and Apple will make sure of that. Meanwhile, there are things that Flash can't do too, not the least of which is embed other web content within it (AIR aside). This makes Flash a one-way street, once it's Flash, it's a closed world, and very difficult to integrate with other content (remember that stupid div trick to overlay HTML on top of the flash player-- gross).

In any case, I think you're passion for Flash is good. Adobe (and previously Macromedia) deserves credit for a lot of good they've done. But don't protect them for their faults. The plugin has to go.

Re: Solution: Run Flash on HTML5 by vic c

I think JavaScript and ActionScript are similar langages. If you can write in one, you can write in the other. (Or if you use Haxe you don' need to write in both to get GPU optimization, for example Haxe has Away3D in .js and .as).

What .as gives you is cross browser support, you see the same thing in any browser, same font, etc. THAT IS NOT EASY TO DO.
2nd is that .as developers are way more advanced than .js developers. The .js people in general say hey look this is great and it's usually something that flash did 5-10 years ago. It's a like popular astrology, vs scientific astronomy, clearly astrology is more popular, most papers have astrology. If I don't know it, it must not be important.

Lets compare leading edge in .js ( ) vs leading edge in .as ( ) (Compre it in anyway, but one is triangle count). Will browsers one day have GPU support for 3 most popular browsers(say 90% penetration) and it works on Android, or iPad, or Google TV, etc? Yes, .js will do that. But today? tmrw?
Or here's another example of SAME code running in .js or in .as .

Also, who do you think is writing the .js engines ? and more every year.
So I think the flash player rocks , relative to anything else. Or ... FP (flash player) is the worst, except when compared to everything else. (Churchill)

I challenge you to show me an comparison. (Don't compare Flex to .js, Flex is some kind of a bloated joke. Compare .as to .js. Write something in both .js and .as and say here, js is in better. If .js becomes better, then the .as people will switch, and they will have years of experience in ECMA script over the .js n00bs)

Re: Solution: Run Flash on HTML5 by Russell Leggett

2nd is that .as developers are way more advanced than .js developers. The .js people in general say hey look this is great and it's usually something that flash did 5-10 years ago. It's a like popular astrology, vs scientific astronomy, clearly astrology is more popular, most papers have astrology. If I don't know it, it must not be important.

I don't know if you're just shooting for flamebait here, but I just had to note how childish and ignorant your sentiments are here. First of all, you have to separate the developers from the environment. The flash environment may provide an easier way to do graphically rich programming while HTML5 is still pretty bare bones, but don't bring skill of developers into it. The fact is that the playing field is pretty equal. Are there a lot of jquery users out there that barely know how to program, sure, but I would say that there are plenty of equally unskilled people who mostly live in flash builder and use the graphical tools without writing much code. By your own example I would ask how many actionscript developers would writing their own 3d engines for flash player, and how many even could. Flash has a huge head start in its tooling and standard environment. Don't put that on the developers.

Also, who do you think is writing the .js engines ? and more every year.

That was back in 2006, and Mozilla isn't even really using much of that code. And no other browser is using any of it at all. And guess what, the latest JS engines are faster than the latest AS engine in the flash player.

I'm happy to agree that Flash has a leg up when pushing pixels, but the browsers are catching up rapidly. Between WebGL and hardware acceleration of everything that IE9 and the others are doing, I give it another year or two before the bleeding edge will be kicking some serious ass, even in many of the areas that Flash excels at. I think the last place Flash will be top in will be video - especially drm.

Re: Solution: Run Flash on HTML5 by vic c

Hi Russell,
You are making my point:
"I give it another year or two before the bleeding edge..."
One day....
(Some of the browsers and the top 3 will look a bit different and it will be longer than that before those new browsers are deployed to 95% of users. Oh and Flash will also get better in a few years, it may always be ahead. For example webcam gestures).
But ... not today?

Today you can start writing .as ... and when/if .js catches up in speed and capability then you can port .as to .js.

(Cross browser is a non issue in .as.) But look at more: (the video shows same code base on 5 devices)
What if (mobile and setbox) devices become important in a few years for your app?

As far as 'Flash vs HTML'... Flash run in HTML, it's not vs.

Start today! And be judged on your application, not on the technology you used.

Re: Solution: Run Flash on HTML5 by Russell Leggett

The point I was disagreeing with you was not the current use of flash vs. html5, it was about you sounding like an asshole with your actionscript developer vs javascript developer superiority complex. I just don't see why you want to make it about the developers instead of the technology. I wasn't even trying to hide my agreement about the current flash vs html5 state of affairs. If you have to make something right now that involves a lot of complex animations or you need high performance streaming video or DRM video on the desktop, flash is definitely better.

However, I do predict that more and more of the things that flash are currently being used for will use what is generally termed as HTML5 (although I agree with the Adobe guy that it's really mostly CSS and JavaScript). The fact is that that trend has already been going on since before the term HTML5 existed. Most use of flash is minimal things - flashy menus, some minor interactive graphics. Those kinds of things have been capable of being done in html for a while, but are now much more performant and easy to do. As support for more advanced things get easier and easier, flash may always be ahead, but the amount of cases where that advanced capability is needed will get smaller and smaller.

And don't forget the mobile factor. Even microsoft has come to the conclusion that HTML5 is the only way to achieve ubiquity across desktop and mobile - that's why it has "shifted its focus" of Silverlight.

So if your advice is "keep your head in the sand until the last possible moment, because flash is just that much better", you may find that you're wrong about:

If .js becomes better, then the .as people will switch, and they will have years of experience in ECMA script over the .js n00bs

The technology is different, you should learn the HTML5 way of doing things before you just assume you can so easily just port your .as code.

Re: Solution: Run Flash on HTML5 by vic c

That was not my advice, people can read my post to get my POV.
.as runs great on mobile.
And I do assume that if you know one ECMAScript implementation it gives you a leg up on the other.

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Email me replies to any of my messages in this thread

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Email me replies to any of my messages in this thread

9 Discuss