Get a free year on Tuts+ this month when you purchase a Siteground hosting plan from $3.95/mo
Twice a month, we revisit some of our best posts from throughout the history of Activetuts+. This week's retro-Active post as originally posted on the 8th of November, 2010; since then we've seen Microsoft announce that Windows 8 will support HTML5 for native apps, Adobe move further and further into the mobile area, and the release of HTML5 multimedia tools such as Edge. Things are certainly different - how have the experts' predictions held up?
The subject of Flash, HTML5, Silverlight, RIAs and all that surrounds them continues to be debated across the net. It's a sensitive issue as we've discovered; our recent roundup post certainly opened a can of worms and touched a raw nerve with a few folk!
Today, we're going to put that behind us and approach the discussion in a more sensible fashion. Read on to see what some of the most respected members of our community have to say on the matter.
A huge thanks to everyone who gave up their time in contributing to this article. We've collected commentary from Authors, Designers, Developers, UI & UX Architects, Evangelists and Community Experts from all sides of the fence. Here they are, in no particular order.
Jump to any Section of this page quickly by following a link below:
- Alan Klement Powerflasher Developer
- Keith Peters Flash/ActionScript Developer, Author & Speaker
- Bruce Lawson Web Evangelist for Opera
- Jonathan Campos Director of Software Development at Dedo Inc. & Adobe Community Professional
- Stray Flash & AIR Programmer
- Tom Green Flash Educationalist & Author
- Romin Irani Software Developer
- Joseph Labrecque Senior Multimedia Application Developer & Adobe Education Leader
- Rich Clark User Interaction Designer & Creator of html5doctor.com
- Jack Doyle Founder of GreenSock Tweening Platform
- Rich Tretola Adobe Community Expert, Author & Speaker
- Paul Neave Interaction Designer
- Rob Larsen Interface Architect, Isobar
- Kevin Suttle Flash Platform User Experience Developer
- Mike Taulty Microsoft UK
- Steve Fulton 8bitrocket.com
- Remy Sharp All Round Supporter of Make Believe Animals
- James Whittaker UI/UX Architect TweetDeck Inc. & Adobe Community Professional
Megaphone Icon by silenceplease available on GraphicRiver.
We are expected to be innovators and that means pushing ourselves outside of our comfort zones from time to time.
Lately, it seems cooler heads are slowly prevailing when it comes to the "HTML5 vs Flash" debate. The consensus is shifting toward choosing "the right tool for the right job" and that is how it should be for everyone. We're all craftsmen and professionals - not tool-smiths and laborers. Perhaps the most fun, and most intimidating, part of our job as creators is to be willing to explore new and better ways of engaging those who enjoy what we create. Does a painter use only one brush or a dentist use only a drill?
We are expected to be innovators and that means pushing ourselves outside of our comfort zones from time to time. The question to ask yourself is, 'Am I choosing the best tool that fits the project's needs?
Flash/ActionScript Developer, Author & Speaker
You fear what you don't understand. The more you learn, the less you fear.
I think the whole argument of technology X vs. technology Y is stupid and childish and anyone who gets all defensive about their technology - or offensive about some other technology - is mainly showing off their own lack of confidence or certainty in their own future. I know Flash very well. I can do Flex. I can code up just about anything on the iPhone. I've dabbled in Android. I'm currently learning Silverlight and XNA for Windows Phone 7 development. You fear what you don't understand. The more you learn, the less you fear.
Web Evangelist for Opera
A professional developer evaluates the client, the task and the audience and chooses the tool accordingly.
The big misconception is that it's either HTML5 or Flash/Silverlight. Flash in particular is part of the Web's ecosystem, and we'll need to be able to render Flash content for ever. It would be a tragedy if future generations were not able to enjoy the Kenya song.
HTML5 even legalises the <embed> tag so adding plugin content to HTML5 pages can be done without making the page invalid.
Some HTML5 technologies can replace some uses of Flash: scripted graphics can be achieved using <canvas> for example, and interacting with videos through script is (arguably) easier to achieve using HTML5. It's important, though, that we now have a choice; previously, for video or animations you were pretty much limited to plugins; now there is an open standards choice as well.
Some things can't be as easily achieved in HTML5 as they can using plugins. AS I alluded to in my Five things that carrots can do that HTML5 can't video, the choice of technology should be based on what you're trying to achieve. A professional developer evaluates the client, the task and the audience and chooses the tool accordingly.
Director of Software Development at Dedo Inc. & Adobe Community Professional
Neither HTML5 nor Flash is without flaw.
Working with the Flash Player on large scale multitouch devices and multiscreen development, I can tell you that there are things we do now that HTML5 just can't do yet. As such, we will continue to watch HTML5 grow but for us we are happy with the capabilities provided to us through the Flash Player and Adobe AIR.
Flash & AIR Programmer
Deciding the technology your users might want to use your site/app in is only the first step.
In the short term, I see HTML5 taking on Flash in creating over-designed ego-driven micro-sites. The clients we've been turning down on these projects for a couple of years don't even bother us Flash devs anymore. They're ruining the lives of HTML5 devs instead! Thanks Steve - we owe you for that one.
My little company mostly builds big Air apps - tuition and instruction for the engineering industry. These types of applications leverage the full power of flash development: a grown-up set of technologies and tools, and the incredible flexibility of the Flash timeline. This is Flash's strength over HTML5 - audio, video, text, multilayer animation, interaction and the application they're sitting in all playing together.
The other strength flash has is a mature tool set and some great frameworks and libraries. Increasingly generous open-source development is lifting the game of whole chunks of the community. A lot of us are really good at what we do and getting better every day.
Deciding the technology your users might want to use your site/app in is only the first step. Building real software is hard. And it's different from building websites. The number of pathways through a really rich application or game is mind-blowing. Not blowing-our-own-minds building this stuff is what flash devs have become good at. We've learned through making a lot of mistakes - HTML5 devs haven't had that opportunity yet.
I predict a lot of high-profile HTML5 project fails - anyone remember boo.com?
Flash Educationalist & Author
I truly see the browser as a doomed technology.
The jury is still out on whether HTML is a Flash-killer. Over the years, I have seen too many of these "emergent technologies" touted as the "App_Name_Goes_Here- killer" to get myself worked up about it.
I found it rather fascinating, though, to see a demo of an app during the "Sneaks" at Max this year that essentially recompiled a swf into an HTML5 file. Again, there is a lot of "perception" between demo and release (Macromedia/Adobe's Fixation on on Flash Lite for Mobile a few years back, for example) to get myself too worked up. The implications of this sort of thing, though, are rather interesting.
The ability to cross-compile a swf to an HTML5 file gets Flash onto Apple's devices without a lot of extra work and essentially gets Flash/Air/Flex projects driven by the Flash Player on to practically every device on the planet. Even then I truly see the "browser" as a doomed technology. We are undergoing a fundamental shift away from browser-based presentations to apps that don't necessarily need to be delivered through an ethernet cable or viewed on a PC or laptop to be experienced.
The challenge around this multiscreen "environment" that just popped up is aimed more at designers than the codies. The codies quite rightfully claim they can "Write-Once/Deploy Everywhere" which is true because it is code and data. The danger in that is though it is true, it is also wrong. As I pointed out during a RIM Focus Group at Max when I asked this question: "Do you really think the app on your Blackberry Torch is going to look equally stunning on the 60" inch Samsung monitor over there, my MacBook Pro, your Dell PC laptop and that guy's Motorola?" What I was getting at is the real issue is a design issue because designers will have to play close attention to the Presentation layer than simply whipping something up in Flex. Think about it for a minute. Apps look great when they are on a screen roughly the size of a business card but you simply can't expect that content to scale up in orders of magnitude without sacrificing quality or something else. I find it rather interesting that no one has started talking about this issue and I can pretty well guarantee it will come up later rather than sooner.
HTML5 lowers my barrier to start creating powerful browser applications today
I think the biggest misconception is to think in terms of "Flash is going to die" or "HTML5 is not going to succeed" and so on. Given the way the world works, neither of them are going to be clear winners or losers. Every developer knows that to create a compelling application to reach out to as wide an audience as possible, you need to cater to both sides. For e.g. you cannot assume that HTML5 will be present on all browsers, similarly you cannot assume that Flash will be present everywhere. You have to design for a fallback mechanism and that I believe is ingrained.
Flash is powerful. The graphics capabilities, the Charting support and its current reach is excellent. Where I think it stands out and will stay its ground today is not in features but two things:
- Plenty of excellent developer tools, IDEs that are available
- The huge developer ecosystem.
Both of these are well entrenched. HTML5 is still evolving, once it is finalized can one expect more tools.
Senior Multimedia Application Developer & Adobe Education Leader
Why would anyone expect HTML, as a specification, to stand still?
Ever since the inception of this debate, I’ve held the position that the majority of dialogue around "HTML vs. Flash" is an intentional misrepresentation of facts and usage. There is no better example of this than Steve Jobs’ counterfactual letter, "Thoughts on Flash"; a message clearly designed to provide ignorant media outlets and technology zealots with cleverly crafted soundbytes used to encourage a position against Flash as a viable platform on the web and on devices.
HTML5 is the natural progression of the HTML specification. As such, it poses no threat to the Flash Platform because HTML and Flash have always existed as complimentary technologies. Why would anyone expect HTML, as a specification, to stand still? In my opinion, it has done so for far too long and is overdue an abundance of rich, new features. Does this in any way harm Flash as a platform? Of course not; Flash advances at a much faster rate than HTML, unrestrained by standards bodies and bickering between opposing corporations. The addition of capabilities with HTML only augments embedded Flash in the browser, as these new capabilities (geolocation data, for example) can be fed into a Flash interface through local connection or via initialization variables.
I actually find it humorous that the fate of Flash is called into question at this time of great advances. Flash Player 10.1 took a long time to emerge since a massive rewrite was required to allow a good experience across desktops, mobile devices, and eventually the digital living room. Now that this foundation has been set, we are seeing some startling growth across numerous areas of platform implementation. The beginnings of which can be seen in the upcoming 3D "Molehill" APIs, the super-performant StageVideo classes, the first glimpses of multi-threading, and upcoming 64-bit runtimes across Windows, Linux, and Mac OS. This doesn’t even consider advances in the AIR runtime and associated frameworks.
It’s a great time to be a Flash developer – and a great time for HTML too!
User Interaction Designer & Creator of html5doctor.com
..it's likely proprietary solutions will always be somewhat ahead of the curve when compared to open standards..
Both Adobe & Microsoft seem to be working towards embracing HTML5. Just look at IE9, it's come on leaps and bounds from previous versions of the browser. If Adobe can get on board and develop a decent IDE for working with <canvas> and SVG then they'll be onto a winner as well.
There's maybe not been a shift [in disciplines where Flash is used] but there likely will be a shift in the not too distant future. I don't think that there's much doubt that Flash will continue to push the boundaries of what's possible online. Companies like Adobe can afford innovate, improve and release new products more rapidly in comparison to an organisation like the W3C who have to work with implementers, authors and users while still maintaining backwards compatibility. That's why it's likely proprietary solutions will always be somewhat ahead of the curve when compared to open standards - it's the nature of the beast.
Video & Audio are the main areas that HTML5 will start to outgrow Flash I imagine. In fact, some would have you believe that a large percentage of HTML5 _compatible_ video already exists.
Probably the biggest misconception is defining HTML5. It seems to be whatever you want it to be - that annoys me. Especially when people lump together CSS3, Web Fonts, SVG, etc all into HTML5. It would be preferable for people to use the phrase 'Open Standards' or similar but we're probably too far down the line for that now. When you see daily newspapers using the term 'HTML5' you know it ain't gonna happen ;)
[I'm looking forward to] the fact that the web will move away from the need for proprietary plugins (and associated software) that are replaced by Open Standards that anyone with a text editor can work with.
Founder of GreenSock Tweening Platform
..despite the hype around HTML5, Flash is doing great.
The HTML5 vs. Flash topic has become far too divisive. HTML5 is an evolving standard that promises some exciting capabilities, but it is most definitely not a Flash killer. HTML and Flash have always coexisted but I believe that 3 things are primarily responsible for the recent crusade against Flash: Apple’s refusal to support it in iOS, HTML5’s proposed <Video> tag, and CSS3’s animation capabilities. I've addressed each one in the full article on my site (cut here for brevity).
For the Flash developers out there, the sky isn’t falling. In fact, despite the hype around HTML5, Flash is doing great. Better than ever. I firmly believe that it will continue to be a major player in web and mobile development. Adobe has got some great stuff up their sleeve too, so stay tuned.
For more thoughts check out Flash vs. HTML5: Faux Drama on my site.
Adobe Community Expert, Author & Speaker
The biggest misconception is that you can use HTML5 to do anything that can be done with Adobe Flash. At this point, this is not even close to true.
The rise of HTML5 is an exciting one as it will continue the transformation of the web to a much more rich and interactive experience. Although there is a perception that Adobe and Microsoft both have technologies that compete with HTML5, in my opinion Flash and Silverlight should be used to compliment and not compete with HTML5.
There's certainly been a shift in disciplines where Flash is used; Apple's decision not to include the Flash player on iOS (iPhone, iPad) has led to many companies reconsidering the use of Flash for creating content that can also be created with HTML. This decision is a simple one based on cost of development; by going with HTML5 over Flash, a single application can be created to target all major platforms.
Since the Flash player will continue to evolve at a much faster pace than HTML5 (which has taken years and is still in progress), it will always offer more options for developers. I also believe that Apple will eventually agree to allow the Flash player on its iOS which will reverse the trend I mentioned earlier.
Eventually though, Flash and HTML5 will redefine their space in web development with each being used for what it does best. I look forward to the merging of these technologies into a collaborative development space which will ultimately continue to make the user experience a more interactive one.
It's not about the tools or the platform, it's about the idea.
There's no such battle as Flash vs HTML. It's Flash and HTML. Flash is just one of the many tools in the toolbox, and like any tool it needs to be used in the right way for the right job. And it's the role of the developer to decide which tool is appropriate.
The Flash work I do these days is mostly device specific rather than generic. Perhaps Flash is becoming less cross-platform and more niche. We now have more devices, browsers and operating systems to deal with than ever before. The good news is that Flash is not going to go away. Flash may become more niche, but it's relevance will simply shift, not shrink.
To Flash developers I say: remember why you're doing this. It's not about the tools or the platform, it's about the idea. Never stop creating, and never stop learning!
Interface Architect, Isobar
[I'm] excited by how far HTML5 has come over the past couple of years
Personally, I come at this from two angles. There's the part of me that wants to expand the use of web standards wherever possible and wants to put those technologies to use early and often. That guy is excited by how far HTML5 has come over the past couple of years, with hundreds of developers working long hours to fill in the implementation gaps, allowing us to use some of the most exciting technologies, like Canvas, today. I'm working on a project right now that utilizes a Canvas charting component. That would have been Flash just a couple of years ago. That's exciting.
There's another part of me, the pragmatist, that realizes there's a limit to what we SHOULD be doing with HTML5 right now, at least in a production environment and a limit to what we will be able to do in the future. I'm responsible to clients, co-workers and users to get the best site or application out the door as efficiently as possible. From that perspective, Flash is a powerful, mature option that I'd be silly to ignore.
Flash Platform User Experience Developer
We're all working together towards the same goal: the best possible content experiences for our users.
When I first started in this industry, the tech tabloids hadn't yet skewed it with terms like "technology wars" and other poorly-researched sensationalism. We just saw the web as a single, wide-open medium, and you know what? It still is.
HTML5/CSS3 is beginning to extend the web experience for many desktop and mobile browsers. The Flash Platform continues daily to push the limits of desktop applications, mobile devices, tablets, television, and hardware that doesn't really fit in any one category. As both developers and users, we need to ignore the hype, use the right tool for the job, and remember that we're all working together towards the same goal: the best possible content experiences for our users.
The reality is that Silverlight occupies a strong position even in a future world where every user has an HTML5 capable browser.
It’s common to see "HTML5" browsers and RIA frameworks like Silverlight presented as an "either/or" choice with the success of one necessitating the hasty demise of the other. The reality is that Silverlight occupies a strong position even in a future world where every user has an "HTML5" capable browser.
Silverlight applications can run both in and outside of the browser and offer elevated trust options. The runtime remains cross-browser (IE6,IE7,IE8,IE9, Safari, Chrome, FireFox) and cross-platform (Windows7,Vista,XP,OS X) where it provides a consistent experience. Silverlight also provides a framework for building apps for the new Windows Phone 7 devices to get re-use of code and skills.
Today, HTML based clients offer the greatest possibility of a client reaching across devices and platforms as HTML browsers are ubiquitous albeit with challenges around using a single set of markup in all browsers. Microsoft's committed to web standards and is doing a tonne of work in IE9 around "HTML5" to build a performant implementation in a clean, safe browser that does more to enable this idea of "one markup".
As that works gets released and IE9 and other "HTML5" browsers become the default over time, then developers will be able to take this reach approach across those new HTML5 features like video, audio, canvas, offline storage and so on.
However, there are still a rich set of capabilities that an "HTML5" browser doesn’t have which show up in a framework like Silverlight and those sit in 3 main areas of premium media experiences, casual gaming and business applications. Applications need those kinds of capabilities even in an "HTML5" world and Silverlight will take that forward, innovating at pace.
For more detailed information on the future of Silverlight – see this longer post from the Silverlight team.
I'm looking forward to more great opportunities to make a good living from making cool stuff.
Adobe needs to make tools to create HTML5 content, that's just obvious. I'd like to see the Flash IDE export both .swfs and HTML5/JavaScipt/Canvas. Obviously you would have to make concessions for what the HTML5 Canvas can support, but for things like ad units and animations with click-through it should be a no-brainer. Adobe's reaction though has been a bit defensive, which I think is a mistake. Microsoft is embracing HTML5 in IE 9, but I'm still not sure how much they really believe in it. They have many enterprise customers, and the concept of using Visual Studio to build both your front and backend of the web site is very compelling for them.
From what I've seen, Adobe is taking Flash into the games market in a big way. There are things they showed at Max this year that would be extremely difficult to do in HTML5, and even if you could do them, they would only be supported by a very small subset of browsers. I would also look to Adobe focusing on Air as the delivery mechanism for content to multiple platforms.
Saying that, I do think HTML5 will take some ground from Flash. For example, content that is consumable by mobile devices where developers currently use Flash to develop only because there is no better alternative. Ad units, simple (and I do mean simple) audio and video players, drop-down navigation, animated overlays, etc. Flash will retain its position in the Games market and Air applications, Flex based apps, e-learning, and applications where the content and code needs to be secure for monetization.
Biggest misconceptions? Flash is dead. HTML5 sucks. Silverlight is lame. Hyperbole is the realm of the Steve Jobs in the world, developer's don't need it. We should think about how we can make use of any decent technology to solve problems.
All Round Supporter of Make Believe Animals
Both Flash and HTML5 haters are going to be left behind, and frankly good riddance.
Both Flash and HTML5 haters are going to be left behind, and frankly good riddance. Flash for a long time has been plugging the holes in browsers for us via custom fonts, drawing APIs, SVG support, sockets, video and much more. HTML5 and related specs, for the most part formalises those technologies so that we don't have to rely on plugins to play a video - and seriously how many flash developers think "Flash" amounts to being able to play a video?
The biggest misconception I run into is that HTML5 is this single silver bullet that will return the unicorns to the fields and the phoenix to the skies. It's not. In fact the HTML5 specification is a collection of APIs (the HTML component aside), so it's not the silver bullet, nor do we need browsers to support every single API before we start making use of just one of them, such as the canvas API, video or perhaps the history API. We should use the right technology for the job, and that's still true if Flash is the right technology for the job.
UI/UX Architect TweetDeck Inc. & Adobe Community Professional
I'm hoping that as developers and designers we have learnt from all the bad things that were done in the early days of Flash.
At TweetDeck our flagship desktop application is built using Adobe Flex and deployed cross platform using Adobe AIR. Adobe AIR was the best and fastest way to build consistent cross platform apps that integrated with the OS using either Flash or HTML. Our application is one of the largest distributed AIR apps in existence and we have really pushed what the platform can do and been amazed with the results.
We are also busy building an HTML5 version of TweetDeck for deployment as a web app using the Google Chrome Web Store. This will pack the same (if not more!) detailed feature set as the AIR client so it's giving us a real sense of how these two technologies stack up against each other. For me, the new CSS3 animations and transitions have been really fun to try out.
Flash has been around for a long time. From animations to tacky skip intro screens it is now a credible platform for building enterprise level apps for desktop and mobile. HTML5 is still very new, I'm hoping that as developers and designers we have learnt from all the bad things that were done in the early days of Flash and don't repeat them in HTML5.
Let's stop arguing and get down to creating amazing experiences.
You've heard it from the horses' mouths, now let's see how you feel about what they've had to say. We want to hear your comments! Let's try and keep this discussion civil though..
Remember, this roundup was originally posted in November, 2010. A lot can change in that time!