Flash vs HTML5 - a few points for HTML5 advocates to consider :)
For any developer worth their salt, it will ALWAYS be about using the right technology for the job. Because I’m primarily developing on the Flash-platform I’m looking for areas where I see the Flash-platform as being beneficial over other current technologies. I’m not a fan of all-flash websites, but I’ve found the platform perfect for creating a dynamic UK online examinations application, an internal application to generate visual interactive representations of text documents (try saying that when you’re drunk), and for creating enterprise-level financial applications.
Why The Flash vs HTML Post?
[ Edit - I'm surprised no one has picked me up on this yet, but something quite important that I forgot to add in here - the "Flash vs HTML" part of the title is a reference to the childish "my technology is better than your technology" style rants I've been reading, and not intended to suggest that it's an either/or situation - I'm sure that's pretty evident from the rest of this post but just thought I'd clarify it]
They say that “change is the only constant” and online boundaries are certainly shifting all the time; Some of the more traditional benefits that the Flash-platform has/had are lessening over time due to advances such as the HTML5 spec, but new ones are appearing too - for the record I’m all for HTML5; So many of the reasons I disliked HTML in the first place are being addressed and that is great news! Yet the Flash-platform does have benefits in certain areas; Just because they may not fit your particular use-case, it doesn’t mean they do not exist. There are so many short-sighted, one-sided arguments flying around on both sides of the Flash vs HTML5 debate that it’s hard to know where to start. People often make the assumption that there is only one use-case. They ignore real-world time & budget constraints. When criticising Flash they all too often rely upon extremely outdated arguments that no longer apply, or talk about how the web is too important to be in the hands of a single company (I agree - but companies do drive technology sometimes). It’s a shame because some arguments against Flash are very valid, but they lose credibility when paired with ones that are not.
I’ve no doubt that any Flash vs HTML5 post will cause some kind of angst-ridden spat amongst the party-faithful on each side, but I am eternally optimistic that there can be reasoned, grown up discussions without resorting to child-like attacks - let’s see if I’m right ;)
My reasons for this post? To encourage people to think reasonably, to dispel a few myths about Flash and to hope HTML5 users avoid mistakes that were made by us in the Flash world … “skip-intro” anyone :)
The Arguments
1. The “I hate Flash adverts” argument
I hate Flash ads too. For the most part I hate all ads (possibly with the exception of a few subtle targeted ones like Google Adwords). Adblock Plus is a faithful friend of mine. If you say that you hate Flash *because* of ads, remain balanced and make sure you start declaring your hatred for HTML5 as soon as some ad agency uses a Canvas element to deliver a nauseating advert to your page. Animated adverts with sound should become easily achievable in HTML5. Advertisers use Flash at the moment because it’s the best medium for them to deliver their content. When HTML5 allows them to deliver that same rich content, which medium do you think they’re going to choose? Yes you got it, HTML5! Blaming a technology for the way people misuse it is, in the main, pretty dumb. It’s just as wrong to blame HTML5 as it is to blame Flash. They are simply technologies which facilitate the delivery of rich media.
2. The “I hate Flash because it’s not fully accessible” argument
HTML5’s Canvas tag allows people to do some amazing stuff. I’ve seen some stunning examples already (side note: in the early days of Flash, examples were ripped off from Java, so it’s amusing to see many HTML5 examples apparently ported over from Flash). However, be warned, HTML5’s canvas tag is not accessible. I guess the question is how do you make such varied dynamic content accessible? Now that HTML5 can DO MORE, it will face more of the problems that the Flash-platform faced (because it could DO MORE). The more a technology can do, the more challenges it will face. Make sure that if you used the “I hate Flash because of the lack of accessibility” argument, that you avoid using the HTML5 Canvas tag altogether until the issue is sorted, if it ever is.
3. The “Flash video is rubbish & the iPhone shows we don’t need it anyway” argument
The iPhone delivers video without needing Flash so why can’t everyone else? First of all, as I mentioned above “change is the only constant”. Now that many of us have broadband we can get high quality video streamed to us, but that wasn’t always the case and believe it or not, still isn’t for many people in the world. Flash became popular because it could deliver streamed/progressive video better/faster than many alternative solutions around at the time. There are other use-cases besides watching YouTube. Video content creators may want to take advantage of overlaying, queue points, filters and other additional features which I’m not sure are offered by all the other formats. It’s a shame to see a technology get knocked because it did something so well. Flash video really did facilitate change on the web. I’m not saying don’t start investigating alternatives, but I think it’s a strange argument for hating Flash. I would rather hear people say something along the lines of “Our video requirements are evolving and we need to review our reliance upon Flash as a video streaming solution” … though I wouldn’t necessarily agree outright ;) … and finally, as Flash is already the establish default format is it necessarily right to force content providers to have to provide alternatives as well? I’ll leave that open ended as I’m sure there can be lots of good discussion around that point.
4. The “Why Doesn’t Adobe Use Open Standards?” argument.
This is a biggie and I’m obviously not equipped to answer it all. I know that ActionScript3 (the language behind Flash, Flex and AIR) was meant to be 100% ECMAScript compliant, but the ECMAScript committee decided to halt work on ECMAScript 4 in favour of an incremental updated to JavaScript (known as ECMAScript 3.1) and I guess Adobe couldn’t just hang around. You can read about that here. In Flex 4 there is also a declarative graphics language called FXG. Why didn’t Adobe use SVG? Adobe stuck as near to the conventions as they could but felt unable to go 100% with SVG. You can read all about it here. Standards take time to agree upon and still not everyone will agree - I’ve already seen HTML developers complaining about decisions being made in the HTML5 spec. I’m not suggesting Adobe are angels by any means, but I think the argument can be unfairly levelled at Adobe here and they seem to want to adopt or stay close to open standards where possible ( plus they’ve been open-sourcing a lot in recent years).
BONUS ARGUMENT: The “I hate Flash intros” argument
Don’t we all? HTML5 will allow people to do more, and because they can do more they almost certainly will! All I can say is you must learn from the mistakes of us Flash guys. Don’t give your users some crazy navigational controls just because you can - only do it if it benefits THEM! And for goodness sake, perform user testing where possible :)
In Conclusion…
There are really exciting times ahead. I’m genuinely excited by HTML5 but I’m under no illusion that there won’t be things to dislike too - What? You’re telling me it’s going to be perfect? ;) - but it will be interesting to see if those shortcomings escape as much hate as I see levelled at Flash in certain circles simply because HTML5 is an open standard. The thing is, any technology can be misused and the more powerful it is, the more the scope for misuse … with HTML5’s new tags such as Canvas I’m sure we will see a host of truly awful things. That is not a reason to hate HTML5 and I hope Flash developers will not resort to tit-for-tat arguments. If you can separate the technology from the (mis)use of the technology it gives you a far more balanced picture. Flash does have problems but I’m happy as long as they are constantly being addressed, and if you look at many of the announcements from Adobe this week, you can see that it is still evolving and issues *are* being addressed - working with ARM to make improvements at chip-level is just one new example.
Meanwhile if you want to check out some truely great Flash-platform apps I would recommend:
http://www.hobnox.com/audiotool
http://www.lovelycharts.com/
http://www.balsamiq.com
p.s. Sanity note for fellow iPhone/Apple guys - Apple lock down their app store, tie you into a single provider, they expect you to pay for an mp3 and then *pay again* to turn it in to a ring tone and they have historically made it difficult for people to get the music they (may have) purchased off of the iPod and on to another device - iPhone owners seem to be the worst critics of Flash, so just bear that in mind when you’re talking to me in the pub about how bad Adobe are & discussing openness … just thought I’d point that out ;)
p.p.s Flash may not be on the iPhone for many reasons. My personal thought: the main reason for exclusion is that it would break the entire app-store model and allow people to get apps for free. As an iPhone & MPB owner, and someone who owns shares in Apple, I see the different sides of the argument. I want my shares to increase in value and I’ve never been particularly desperate to see Flash fully supported on the iPhone … but I *would* at least like a cut down version which allows me to view any Flash video, and not just content from the major sites. Plenty of great home-made tutorials out there, only available in Flash!
28 Comments so far
Leave a reply
While I don’t necessarily subscribe to the arguments, a couple that you missed are:
- that Flash requires an extra bit of software to use it
- the Flash player eats CPU even when idle
As for the arguments you mention, canvas tag might not be ‘accessible’, but because it’s in a web page, it makes it very easy to arrange the content so that it is.
Finally … iPhone … well, all I say to that is, eat my Android. :)
Yeah, I tried hard to get across that I wasn’t addressing all arguments & that also some are very valid.
Flash requiring an extra bit of software … hmmm well the Flash player has impressive penetration and HTML5 will require me to upgrade my entire browser(s).
Your second point however, yes very valid indeed. Developers can do a lot to lessen that (dynamically change the frame-rate when nothing is going on for example) and this weeks Adobe announcements at Max focused a lot on the pretty drastic reduction of CPU consumption I believe - I’ll wait till I see it in action, but I think they were banding about 30-50% reduction.
There are most certainly issues to be addressed in Flash. I just wanted to address the ‘issues’ that were not really the fault of Flash.
I love my iPhone :)
I don’t disagree with you on anything, just augmenting the arguments. :)
It does have impressive penetration, especially when you look at the statistics touted by Adobe (who I believe use a Flash site to gather at least some of those statistics). However, many many many people would like to not have the need to even install Flash Player in the first place. It has good penetration because it is used almost ubiquitously. I seriously feel that when HTML5 gains large scale developer adoption, people will see less and less Flash. Also, a fresh install of Mac OS doesn’t include Flash (I think), but does include a HTML5 browser.
I’m looking forward to the performance increase. I don’t know about you but debug player eats around 5%-10% of CPU when idle and the plugin for Safari doesn’t always kill the FP executable when you’re no longer viewing Flash on a page, which means that sometimes it can be holding on to large amounts of memory until I close the browser.
Have you tried Android? You can try it without even having a handset. Just download the SDK Eclipse plugin and run up the emulator. Then see how easy it is to program for Android… especially compared to the complexity of Objective and the price of CS5. It’s great fun, too. :)
Well, apart from my choice of phone ;)
Yes, better compiler, better IDE, better player performance - that’s my wish list.
I’ve not tried Android yet … thanks for the suggestion regarding Eclipse though, you’ve probably just put an end to any chance of me doing any real work today!
No problem - real work sucks anyway. :)
Yeah, lots of Flash hate going around these days. It’s hard to say why since Flash is more powerful and stable than it’s ever been. I’m currently listening to a tirade on this week’s Mac Break Weekly. It’s very frustrating to hear ad homenim arguments being bandied about like this, without any sort of counterpoint presented.
Yeah I had so switch off Macbreak this week as it was making me too angry. It made me feel there is a general ingnorance about all the great uses of flash and a focus on the negative often outdated arguments against flash - one of the guests mentioned punch the monkey two or three times… Come on! I’m a website designer and it always should be a horses for courses decision when choosing between flash and Html. I have also created more than my fair share of banner ads - but hey somethings got to pay for all the free content, plus there fun to build.
You said it but I think it needs to get more emphasis
Flash is based on a proprietary standard that uses a proprietary player which is not open making it defacto a monopoly in my eyes which brings us back to your argument about it being in control of a single company which is bad.
I don’t say html5 is better then flash I just think the best move for adobe would be to open flash and the player to the public and let the community take it from there but then again Adobe is not known for its free software movement (that is free as in freedom)
Just my 2cts take it or leave it
I sent an email to leo@thisweekintech.com complaining about their Flash platform coverage. Gina Trapani on This Week in Google, is also an avowed Flash hater.
There are pros and cons to Flash that are very much open to discussion. The TWIT shows are doing a disservice to their audience by only presenting this narrow view.
@anon - Adobe have a whole site dedicated to open source http://opensource.adobe.com/wiki/display/site/Home
take a look at the projects page.
The email address didn’t work. I guess I’ll try snail mail:
http://www.twit.tv/contact
@anon I have absolutely no problem with your views; they are grounded :) … it’s the frothing at the mouth all-out hatred which I don’t really get. Mind you, if I had lots of hate to focus, I think it would be in this direction: http://news.zdnet.co.uk/software/0,1000000121,39794636,00.htm
People are so busy saying “Ha, screw you Adobe and screw Flash” that they seem to have overlooked the part about Adobe being years ahead in terms of giving users the ability to create this kind of rich content. All that stuff being done in HTML5 Canvas … Flash guys were doing much of it back at the start of 2000. Yes Flash may have been abused and yes it’s not be perfect but HTML5 will also be abused, and to be fair Adobe had to deal with the constraints of working within a plugin inside a browser they are not in control of (do people honestly think all Flash stability issues are the fault of the plugin alone I wonder).
HTML5 seems to be coming together well, but it’s still only delivering things which were available in Flash over a decade ago; I don’t really want to be waiting around another 10-15 years for the next big evolution of HTML if some other company can offer up interesting and useful advances this year or next year (even if they are not perfect). I’m sure that will happen too, and I’m sure when HTML6 borrows/replicates that functionality in 2020 there will be plenty of people around saying “Ha, screw you CompanyX and screw your product”, once again missing the point that if they reply upon open standards alone, they may have to wait another 10-15 years for the next big wave of innovation.
Again, I don’t disagree with you, Neil - but there is something to be said for a company that goes out there to innovate while remaining completely open. Adobe could have done that, but back in 2000 people were only just beginning to realise what software freedom was all about.
There’s no excuse these days, so I fully expect the next massive innovation to come from such an open company and end up being adopted rapidly by the community - that is, rapidly compared to Flash -> HTML5.
And, yes, I realise I am playing both sides of the argument. :)
>I realise I am playing both sides of the argument
Hey, at least you see there are 2 sides… and having your ideas challenged, isn’t that what it’s all about? I’m happy for you to keep throwing stuff back.
>There’s no excuse these days …
Yeah I had these exact same thoughts initially, but then I thought am I (or any of us for that matter) really able to make that statement with any certainty? Is it that easy if you’re a large company which has been set up to work one way, to suddenly change your revenue model? How risky is it? When you employ circa 3000 people I guess you don’t really want to play hard & loose with peoples’ jobs. Maybe Adobe do plan to go completely open down the line but are trying to do it incrementally because they feel it’s safer? <- I don’t know what they plan, obviously! They seem to be making moves in that direction though.
Don’t get me wrong, other companies certainly prove it can work, but I only know about the big ones like Mozilla. It’s not my area of expertise … I’ve never even run a 2-person company let alone a large one. Is it really a one-size-fits-all solution?
We may both be right - it may be too hard for Adobe to make the move and so the next big advances may come from a company which can go (or is already) open.
Maybe Adobe have seen this & it’s a driving force behind developments like AIR - even if people hate Flash, they can choose whether they want an application enough to install AIR themselves.
I’m in favor of HTML5, not for its technical qualities, but because I use Linux, and for several years Flash in Linux was poorly supported by Adobe.
Even today is always one step behind of other platforms and still has several issues.
I don’t think those issues will disappear until the opensource community can help. And they can only help if there’s an open standard that they can put their hands onto.
Good points, all around. My personal feelings of Flash are as follows:
1) Too powerful. With high-bandwidth movies just for ad content, I’m finding it hard to surf on my expensive connection. Security threats are everywhere. HTML5 is poised to fall into this trap, too.
2) Accessibility. I have some very basic woes that always seem to come back time and again. First, if I click on a piece of Flash and later try to scroll the page down a bit, I can’t. I have to click out of the Flash player before I can move. Canvas doesn’t have that problem. Second, if I right-click, there’s usually only an almost-empty menu with nothing but “About Flash” when I want to Inspect the document or open a link in a new tab. Canvas has the usual right-click menu.
Overall, I don’t really ‘get’ Canvas, and my own argument is Javascript Vs Flash. If you use the canvas as little as possible (only for complex multimedia or such) and work more with real HTML elements and javascript, most of the problems disappear.
If Flash is used sparingly, implemented with progressive enhancement, and is accessible, then it’s fine.
@Carlos, I think Flash on Linux has been well supported by Adobe but wasn’t by Macromedia. Ever since Adobe acquired Macromedia, releases of the FP on Linux vs the Windows and Mac have been converging to the point where now Linux has a 64-bit version and the others don’t. Sure, the Linux version is not perfect but Adobe have been doing a great job of catching-up - I think you’re beef is with Macromedia.
@anon, everyone has access to the SWF spec since Adobe made it available and can build their own Flash Player if they choose. Why don’t you?
@Michael - Allowing source to be viewable upon right-click is something users can do (by choice). Right-click on the Flex demo in this post to see what I mean: http://nwebb.co.uk/blog/?p=327
I like this ability to share your work when you want to, and I think a lot of businesses like the ability to hide the code! I hadn’t really thought of how code protection is going to apply to HTML5. Many businesses are going to want some form of protection.
With the right-click issue, it’s one of those things where the freedom afforded by Flash can backfire - I use right-click a lot and I agree it’s annoying. Again, this is why I prefer to use Flash/Flex/AIR for applications and not web sites (a mixture of HTML & Flash would be my normal recommendation for web sites where Flash does offer benefits). If you right-click on an ahref link inside of a text field you should get the “open link in new window” option these days. However, it still means that a developer can create what is effectively an ahref link (using static text and a button) which requires them to have to implement the right-click menu themselves.
Overall I’ve never thought the right-click menu to be very nice. I’d really like to see it cleaned up. I’ve watched people like my mum accidentally right-click Flash and go “Oh what have I done?!”. That should never be the reaction (but when faced with options like “Show Redraw Regions” what do they expect?) Is it really essential that it even looks like a standard HTML menu these days? I’d like to see options like “about Flash”, “debugger” and “Show redraw regions” hidden under a collapsible area or something at the very least.
@Darren Making a spec public does not give anybody else control over this spec. Although it is true that one is able to program a flash player it still doesn’t make the underliing technic free.
I see flash as a infrastructure provider like XML, HTML, SVG etc…
The problem is Adobe can change the spec as they see fit and this is clearly not what you want if you program a flashplayer.
It is kind of like with doc and Microsoft. It is not that it isn’t open but the way Microsoft changes the “standard” as they see fit.
sure HTML is amazing compared to Flash but for me i feel HTML is just a messy page. of course there are technologies to help making this easier but still they are just adding more garbage on the way, and the performance sucks at the end.
@brindy
“However, many many many people would like to not have the need to even install Flash Player in the first place.”
Wrong. A lot of people would like to turn off Flash ads and those same people will want to turn off Canvas-based ads. Users just want stuff to work. Period. They couldn’t care less about the underlying technology. Only programmers develop an irrational hatred of Flash itself. The only downside that users are even aware of is excessive CPU usage and Adobe has made it clear that addressing that issue is now priority number one. I’m actually impressed that they have such a clear understanding of their true weak points and the willingness to acknowledge and fix them.
“Also, a fresh install of Mac OS doesn’t include Flash (I think), but does include a HTML5 browser.”
Wrong. Mac OS X has always included the latest version of Flash, pre-installed. Didn’t you read about the recent Snow Leopard dust-up due to the included Flash Player not being the absolutely latest security release?
“Have you tried Android? You can try it without even having a handset. Just download the SDK Eclipse plugin and run up the emulator. Then see how easy it is to program for Android… especially compared to the complexity of Objective and the price of CS5. It’s great fun, too. :)”
A few things wrong again. At least your implications are wrong.
First, you don’t need a handset to write iPhone apps either (sounds like that’s what you are implying). The iPhone simulator is included with the free iPhone SDK, along with the free Xcode IDE and Interface Builder for iPhone/Mac OS X.
Second, anyone who actually writes in Objective C would strongly disagree that it’s a complex language. It’s one of the most simple and elegant languages around. It takes about two hours to learn. And the Cocoa framework is simple, elegant, powerful and mature. It is one of the biggest strengths of the iPhone and Mac OS X. If you spent the time to learn it, you would agree.
Third, you don’t need CS5 to write Flash apps. In fact, you don’t any commercial tools at all. You can write ActionScript and MXML in your favorite IDE and use the free and open source Flex SDK from Adobe to compile it. If you need to create complex motion graphics or do professional level graphic design, you will be using CS5 and/or other commercial tools that cost a lot of money regardless of your development platform.
I think your heart is in the right place, but your assumptions are way, way off the mark.
@ryan
Yes, of course you’re right, it’s only the techy people who don’t like Flash specifically - I guess most of the people I know are tech-savvy, even if they’re not actually in IT or software development.
Ah yes, I remember the whole ‘downgrading of Flash’ thing now. I just couldn’t remember if it was there or not.
I have spent time learning Objective and could do it if I need to (in fact, I’m going to have soon on some freelance work I’ve just got). I have many many years experience in programming in a myriad of programming languages, OO based or otherwise. Objective C is probably the one I like the least - even Turbo Pascal was more enjoyable The other problem is that I find the API disjointed and in some parts incomplete. The usual examples on the web also all seem to be based on really old versions of the API. But at the end of the day my dislike of Objective is my personal preference only.
I didn’t mean to imply that the iPhone SDK didn’t come with an emulator.
Finally, my comment about using CS5 was specifically about developing mobile applications, not Flash in general, I’m full aware of the all the tools available. It is just my personal opinion (goes without saying, no?) that Android (a Java based SDK) is far easier for a larger range of people to get on with than Objective because of Objective’s complexity/learning curve (not to mention the iPhone SDK’s dependency on actual Mac hardware) and CS5’s price tag.
By ‘incomplete’ I mean the documentation, since of course you can code at any level in the whole iPhone OS stack.
Hey guys, great stuff here. I agree with all the issues raised in the article and in the comments, but I’m yet to see any arguments on the side of performance.
I mean, if you think about it, when it comes to being a FLASH KILLER, HTML5 needs to show strong graphics performance (which is not what flash is known for, but it is what we are demanding even more of the flash player). Down the road, if HTML5 gets widely adopted and someone releases a very powerful IDE for working with it, then even I, with 10 years of flash, will make the switch.
And strangely I haven’t found any head to head benchmarks between Flash and HTML5 (JS+Canvas to be more precise). Thats the real deal breaker for me, if performance for canvas graphics is SLOWER than flash, than it WILL fail (It better fail, how worse can you get?). Questions like the number of sprites it can handle to how fast it can redraw are, for me, paramount. We want to go forward, not change a mature technolgy for a slower utopian vision
There are already great demos in http://www.chromeexperiments.com/ and to me they look as good as flash, so if a viable IDE shows up, I would gladly give it a try.
If anyone found any benchmarks please post it here? Or if someone is willing to make one, it would definitely strengthen our discussions
Hey Daniel, I saw some Flash Alchemy demos which were pretty impressive (even more so than the Chrome Experiments), but I don’t have the links to hand. You can find out more about Alchemy here though: http://labs.adobe.com/technologies/alchemy/
I imagine this will appeal to a lot of people - especially those who find AS3 a little ‘noddy’ ;) I really think Adobe should be doing more to get the message out about it.
[...] Flash vs HTML5 – a few points for HTML5 advocates to consider :) [Neil Webb] [...]
[...] back to the matter, I found this article: Flash vs HTML5 – a few points for HTML5 advocates to consider from NWEBB is quite interesting and informative, if you’re interested in the matter, you [...]