Little Boxes, in the Browser…

Little boxes on the hillside...
“…little boxes made of ticky tacky…”
I work on making those boxes just about everyday – those blinking, glowing, beeping boxes that hold an instance of the Flash Player. Some people seem to think that my boxes should be derided and ridiculed like the cookie cutter suburban homes (and lifestyle) the song “Little Boxes” was originally written about.
The problem is that conformity is on the wrong side of the debate this time around – it’s Flash that works to push new forms of media and interactivity out on the web, HTML 5 is just playing catch up.
Yes, this is my post about “The Great Flash vs. HTML 5 Debate of 2010″. Many other people have written about this (I’ll add some links to my favorites in an update later) but my take on it is that a lot of people are missing the point and “yelling” just to yell. HTML 5 is, in some ways, catching up with Flash – but Flash is just going to keep moving forward, and that’s good for everyone.
Overall, the debate (if you can call it that) has been very odd because it’s possible to be an HTML/CSS/JS developer and never use Flash, but it’s very difficult to be a Flash developer and NOT be well versed in the other tools of the web development trade. This has meant that one side of the debate has actual technical familiarity with BOTH technologies in question and the other side only knows “their side”. Folks from that side of the debate seem to see Flash as an abomination, a scourge that must be purged from the web – but why? I hate to say it, but it’s about conformity – it’s cool to hate Flash and entirely ignore it’s merits.
It’s all gotten quite silly really. So, as the owner of a software development shop that creates interactive media for the web in many different technologies (including Flash *AND* HTML/JS) let me lay down a few facts about the technologies in question and how they affect my business:
Yes, HTML 5 supports video and yes there’s still some dust to be settled about the codecs – that’s well worn territory. What isn’t often discussed is the fact that Flash can do so much MORE with video. For starters with Flash you have alpha channel support – with HTML 5 you’ve got video in a box, that’s it. Now that’s not to say you can’t do cool stuff with HTML 5 video – but no green screen action. Then, don’t forget about DRM (I don’t care about it, but ask Hulu or CBS and I’m sure you’ll get a different reaction) and video input. Could you build Chat Roulette with HTML 5? Nope.
When I start new projects with clients we usually spend time debating which Flash Player version we should target. Usually we’re talking about a 5-10% difference (say 92-97% penetration) – but across millions of users, that’s a lot. To put that in perspective, right now, somewhere around 60% of the browsers in the hands of users aren’t capable of rendering the canvas tag. If I’m targeting a general audience, the canvas tag is essentially unusable for me right now and will be for some time to come. That doesn’t even touch on the fact that NO major animation tool (actually I don’t know about any!) currently targets canvas as an output format. If you have kids you’ll see the major problem here – just sloughing off an animated GIF onto junior just isn’t going to cut it these days.
Finally (well, for this post at least) there is audio. What kind of audio support is there in HTML 5 and the other related technologies? Well, you’ve got playback but that’s about it. No synchronization, no volume control, no panning and definitely none of the low-level features needed to make something like, say, Audio Tool or the virtual DJ toy my studio recently released, Shmitty, McFunkle & Stump’s Beats.
What this all comes down to is this simple question: Where does innovation in interactive media on the web come from? It’s not from committees and standards bodies – it’s from de-facto standards that win because they are BETTER and offer MORE than is possible by working within the standards alone. Like it or not, the web, for many, many people, is just an entertainment medium. HTML still has a ways to go to match the kind of entertainment you can build with Flash.
Finally, I want to make this very, very clear – I really want HTML 5 to succeed. There’s a lot of promise there and my team and I are busy working with canvas and other HTML 5 technologies where and when we can. What I don’t want is for Flash to die, and you shouldn’t either – it pushes the web forward in a way and at a speed that a standards body never can.
I mean, if Flash dies, where will HTML 6 borrow ideas from?
Thanks to Malvina Reynolds for her awesome song lampooning the rise of cookie-cutter suburbia, it’s been a favorite of mine since I was a little kid.


Well said Brandon!
April 22nd, 2010 at 5:16 amMost of the arguments I’ve heard over why folks hate Flash so much is because of how terrible it is on computers not running Windows. It causes a ton of crashes and problems in browsers all the time. Flash is also the biggest resource-hog out of anything I’ve ever seen. My CPU will skyrocket with a page with flash all over it. And this happens even in Windows as well. I know I’m not the only one with this problem either. Adobe’s Flash implementation on Mac is horrific, to say the least. It’s not optimized at all. And on Linux, it requires third-party help to get Flash working, and it is still a resource-hog there as well.
I can understand the merits of Flash, but I honestly have to side with HTML5 on this one. I don’t need my cooling fans hitting an all-time high, and my computer slowing to a crawl, just to watch Youtube videos or play silly little Flash games or load up annoying as Hell advertisements.
April 22nd, 2010 at 5:20 amThen don’t install flash! You always have that option but even in 4 years (when HTML5 still won’t be finalized!) you won’t be able to get the same experience Flash can give now.
Could the flash player be improved? Of course! But the same is true of any piece of software. The thing is, Flash is the most highly distributed piece of software for desktop computers ever. It’s warts are going to be a lot more visible just due to it’s high visibility. The current incarnation of the player is quite young – there was a major rewrite with Flash 9. There are a lot of improvements Adobe can make and have made with 10.1 – you can download the beta now and see.
Finally, it’s quite telling that you say “silly flash games”. Those games are a HUGE industry these days and HTML/JS can’t and won’t be able to provide the experiences people expect.
April 22nd, 2010 at 6:01 amas a nod to the performance angle, there are many shitty coders out there, no matter the language. just waiting to hear about how some crappy HTML5 site sucks up someone’s CPU when some inexperienced coder put a 10 millisecond resize loop into their javascript instead of a listener or something.
nice writeup Branden
April 22nd, 2010 at 6:17 amFLASH IS DEAD! NO ONE NEED THIS SHIT.
April 22nd, 2010 at 6:25 amBravo sir, bravo. Nice post
April 22nd, 2010 at 6:35 amGreat post Branden.
I’ve developed Flash based apps daily on a mac for the last three years (and on Windows for almost nine years before that) and I hardly see the cpu issues other complain about. When I do, it seems fairly obvious there is a developer to blame, not the Flash Player. I think it’s just a talking point that requires little proof so all the haters continue to say it whether they believe its factual or not.
The issue with DRM and HTML5 media is one that isn’t mentioned much because a) who wants to tell the client they will have to pay for multiple media encodings to support different browsers and platforms and b) you cannot DRM an HTML media stream. Also, variable bit rate streaming for video? Not with HTML 5. Anyone who is expecting an ROI on online video subscription services is not going to use HTML 5. The devil is always in the details.
Last, “silly little Flash games”.. A BILLION dollar a year (and growing) industry.. silly? little? Hardly.
April 22nd, 2010 at 6:37 amAll of the anti-Flash arguments I’ve read over the last few months are highly amusing and incredibly weak.
Flash can’t be blamed for excessive resource usage, if people really need to point fingers then those fingers should be pointed at Steve Jobs (for restricting access to important APIs) and crappy developers. Let’s not forget that HTML5+JavaScript in the wrong hands is more than capable of sucking the life out a CPU. As for advertisements, loud (both visually and sonically) annoying animated ads created with HTML5 are inevitable… and there won’t be any magical “ad blockers” capable of distinguishing them from the rest of the page.
Personally I’m looking forward to HTML5, it will be very cool when it has been finalised, but it won’t be capable of completely replacing Flash – I’m sure any developer who understands the AS3 API would agree with that. HTML5 and Flash can and should coexist (for numerous reasons), period.
April 22nd, 2010 at 6:49 amRobert;
I’d counter that if you have problems with the Flash experience on your computer, then push back on Apple to allow Adobe access to the lower-level API’s that they’d need to improve performance even more than they reportedly have in the new 10.1 player. Or just buy a computer made by someone who doesn’t make it hard for software manufacturers to integrate with their computers, then criticize those same manufacturers for the fact that the software doesn’t perform well on the platform.
April 22nd, 2010 at 6:49 amFlash performance is as good as the developer. This is true for any platform. Honestly guys, don’t blame the canvas for the penis drawn on it.
April 22nd, 2010 at 7:19 amSO well stated. Well done Branden.
April 22nd, 2010 at 7:21 amFLASH IS 100TB BLOATWARE EATING ALL YOUR CPU FOR BRUNCH BECAUSE ITS TOO LATE FOR BREAKFAST BECAUSE IT WAS UP ALL NIGHT HACKING YOUR MOMS…PROPRIETARILY!
April 22nd, 2010 at 7:25 amMost of the anti-Flash arguments are following a defined set of points (using these exact terms, every time):
1) Buggy
2) Resource Hog
3) Crashes
4) Proprietary
I’d love to have a look at the script you guys post from. Think for yourselves and stop regurgitating these tired old arguments.
Most Flash devs are THRILLED that HTML is improving with a new spec (HTML5). We don’t hate HTML or want it to “die” – where does your hatred for Flash come from? Not healthy!
April 22nd, 2010 at 7:26 amActually you forgot that most Flash developers don’t understand usability which most ‘htmlers’ as you call them do. Having an embedded object breaks this web usability norm the second you add Flash to a webpage.
April 22nd, 2010 at 7:29 amI’m still am having a hard time understanding why some developers are saying drop Flash and go full HTML5. They are tools, not competitors. Flash is a tool, HTML5 is a tool, I’m a developer, not a Flash developer. In the same way a hammer is no better or worse as a screwdriver to a construction worker. I should use whatever tool works best for the project or task at hand.
As for HTML5 being better than Flash, it is just now doing things that Flash has been doing for years. Remember when AJAX was hot and everyone said it was the Flash killer. What happen to that, well people used Flash with AJAX to create amazing interactive experiences. Again just adding another tool to their skill set.
I would love to see someone take any website from http://www.thefwa.com/ and try to rebuild it in HTML5. I bet it wouldn’t be very easy, if even possible. Do I think the whole web should be in Flash, hell no. But I do like it the way it is now, a little of everything depending on the experience.
My point is, Flash is awesome and isn’t going anywhere, HTML5 is doing some cool stuff and I will use both.
April 22nd, 2010 at 7:37 amAh – usability. Let’s talk about it, shall we? Please show me accessible HTML games, interactives and videos. Go ahead I’ll wait. (No I won’t, I’ve got things to do)
There are two approaches to accessibility – to the law and to the user. You can easily make 508 (if you’re in the states) compliant website that’s aweful for a disabled person to use. That doesn’t even take into account the fact that there’s no universal “disability”. I’d argue a good Flash interactive with clean animation and helpful sound is MORE accessible to many actual users than an HTML version would be. After all, Flash CAN tie into screen readers – canvas can’t at all.
April 22nd, 2010 at 7:38 amDont trust JB. What he really wants is easier access to your source view.
April 22nd, 2010 at 7:39 amJB:
What are you smoking? I want some.
If you’re concerned about web usability, you should be EXTRA SUPER MONDO concerned about what happens when Canvas starts being used to render GUI.
Some web developers are incurably elitist. For a platform so absolutely swiss cheesed with competing implementations and standards, there is this prevailing hope that “at the very least whatever we do will be standards compliant”. It’s absolutely bonkers.
Let’s be clear here. There is no evil Flash currently offers that HTML5 does not simply standardize. How standards compliant and “usable” is the recent Quake 2 port to HTML5 / JS? I’m eagerly awaiting your response.
April 22nd, 2010 at 7:40 amGreat article – thanks for intelligently representing the other side of the debate. While many of these complaints ridicule the HTML5 camp for using the same 4 “defined set of points” – the same can be said for the supporters of flash – typically “Steve Jobs sucks, I want to play farmville on my iPhone!” (just kidding.) Anyway, it’s nice to hear some real debate, which is healthy and helps innovation in both directions, for Flash and HTML5.
I typically say that Flash needs to die, but I’m not a developer – just a user of the internet and an emerging web designer. As a user of the internet, I can understand flash as a “application” for the internet – not that I play games online (I have a console and a TV larger than my car), but if I did I’d expect and welcome them in flash. I get more annoyed with entire websites developed in flash (particularly recording artists homepages) that take 2 mins to load only to show me a few pictures, some minuscule animation, an auto-start music player reminiscent of the internet in 98, and their tour dates. Flash for flash’s sake seems superfluous, so I’m excited for HTML5 to take over THAT realm and provide a better user experience.
But if you’re going to show me an augmented reality experience, I will not hesitate to click through my “ClickToFlash” and print out your marker and revile in your amazing ActionScript skills.
April 22nd, 2010 at 7:49 amabout the reason that flash was unstable on another os than windows,
April 22nd, 2010 at 8:22 amsurely, it’s developer matter and the communities, also it time to jump to kill this limitation,
this is what real things i meet in my society, For who’s age at under 15, they spend much of their time to playing with that silly game.n i think the net isn’t only for 15++. which what will they play if flash killed by standard.They are exactly like innocent bystanders in this strange net.
then if html5 can handle and perform better than flash at the next time, why not we move to html5.
hopefully.
correct me if i was mistake.
Bravo, thanks for the post!
April 22nd, 2010 at 9:11 amI find it pathetic that people think that flash is:
1) Dead
2) Useless
3) Buggy
And should be eliminated from the world, and the world would be a better place. Flash has its place, some developers over ‘flash’ just for kicks. I believe in solid, usable, tested applications REGARDLESS of environment. I have seen crappy apps in ALL languages, although flash got a bad rap because some things are so easy, and thus, doesn’t take a physicist to figure out to do some things. That said, you can’t blame the developers of the product for that, their job is to make things easy. Blame the site developers.
Flash is a strong plug-in, and by no means, will be replaced anytime soon. AS3 is a solid OO language that supports incredible interactivity inside and outside of the browser.
I do have a lot of development experience, so I do know a little bit of what I’m talking about (10+ytd, C++, JAVA, C# ASP.NET, Certified AS2, AS3, Objective C, xHTML, CSS)
April 22nd, 2010 at 9:20 amMy issue with flash isn’t the performance (which is horrible on OSX, admittedly – in many applications, such as google street view, the mouse cursor is detected as being about 400 pixels below where it actually is on the screen, not to mention video…), or with the accessibility (VERY different than usability! and I agree that Canvas will kill a lot of this; that’s what SVG is for though..).
Usability – making something easy and intuitive to use: the onus is on the developer. And most flash developers really, really don’t get it. They make something pretty, but certain things get broken by flash. Deep-linking. Bookmarking. The back button. A lot of these same things get broken by heavily AJAXified sites, though it’s possible to be smart about them (and not break them). I don’t know how possible it is to even build a flash-only site that you can deeplink to.
For example: on a fashion website, how do you send a link to a particular item in a collection to a friend? You can’t send the URL – they get sent to the front page (with its 45 second unskippable loading animation). You can send them the name of the item, but then if they are not familiar with the site, you need to step them through the process of getting there (especially since most flash-only sites lack any kind of search functionality). Or you can just take a screenshot and send it over IM. Which, something tells me, contradicts the reason many clients want it in flash – so people can’t steal their art (balderdash – anyone can take a screenshot).
Other sites sacrifice the ability to /find/ and /navigate/ to what you actually want in order to show off the animation skills of the developer. If it takes me six clicks, a couple drags, and 45 seconds wasted watching pretty animations to get what I really wanted to find… how likely am I going to come back? What’s the bounce rate for your flash-only websites? What do your repeat visitor statistics look like? How often do you have people linking to your site to share one of its tidbits of information?
How many times do flash developers re-develop simple page controls (scrolling, especially)? Do users really like using your pretty (and often laggy) scrolling mechanism over the browsers? Do they like not being able to use their scrollwheel on the little 50×120 box that all your important content is stored in? Do they like not being able to resize the text to ease their tired eyes? Do they like reading light-blue-on-dark-red text without being able to switch off stylesheets (or use the readability bookmarklet)?
Flash is good for games and video, certainly. HTML5 is catching up in these areas (canvas, audio, video). But that’s not what the evils of flash are. The evils of flash are /overriding user expectation of interaction and display/, and /disconnecting everything but your front page from the contextual importance that it might have to the rest of the internet/.
Use flash for games. I won’t play them. (I don’t play many ‘casual’ games except on my mobile). I won’t play HTML5 games either, most likely. Use flash for video. But don’t use flash to render your entire site useless to people who want to /go there/, /find shit/, and /share shit/. Don’t use flash to override user expectations of how scroll bars work. Don’t use flash to make your text content reliant on flash instead of the browser. Accessibility isn’t the issue.
Usability, sharability, findability, and utility are the issue. Flash, when misused: Breaks. The. Internet. All for the sake of flash developers showing off their animation wankery. Most of the sites on thefwa I will never, ever visit. They may look cool and flashy, but really? What is there that is remotely interesting other than a developer showing off how hard he can make his site to use?
(HTML5 woohoos: form fields, more semantic html nodes; flash woohoos: video, game interaction)
April 22nd, 2010 at 9:53 amLook, all I know is that I’ve been burned by Flash. Literally – every time I watch a youtube video, or browse to a site with flash ads (creative cow, digg, pretty much anything) the CPU on my macbook pro pegs, the fans kick into overdrive, and the damn thing burns my legs. You could blame Apple for their heat dissipation design, but I don’t have any of these problems watching videos with HTML5 (with “processor intensive” H264).
April 22nd, 2010 at 9:54 am“but it’s very difficult to be a Flash developer and NOT be well versed in the other tools of the web development trade.”
This is it exactly, and it’s the reason I made the html5 video demo you linked above. I’ve been working in flash for 9 years, hell I started in the flash business because of guys like you and praystation, but in this industry you have to blow with the wind, and the wind right now is blowing back towards javascript even after all those years of horrible performance and incompatibility.
Flash is still the better platform for a lot of features, but everyone in this industry should be investing themselves into html5 so they can speak to it’s features intelligently. With that said, you can do green screening with html5 video, the imageData pixel array provides access to RGB and A to manipulate.
April 22nd, 2010 at 9:57 am[...] another as has been the case up to the present day. Over the next decade, specifications such as HTML5 will push the native browser experience forward as well, simplifying and empowering web development [...]
April 22nd, 2010 at 10:02 amExtremely well written. Thanks!
April 22nd, 2010 at 10:10 amSerious Flash-haters are snide bitches who have nothing but vapid angst to offer the digital planet. It is time to relegate these flap-jaws to a cold meaningless hell.
April 22nd, 2010 at 10:25 amThe reasons people are assuming Flash will die out is not addressed in this post, but the writing is pretty clearly on the wall. The main reasons are as follows:
1) Native support: html5 will be accessible to everyone. In the not to distant future, all browsers will have html5 and will not need new plugins to work. Front-end developers will now have the tools to create rich media without having to know flash. This means that the gap flash filled will now be able to be filled by the native language. CSS3 now includes transitions and animations, further eliminating the need for flash for the whiz-bang factor.
2) Mobile: Mobile is growing at an exponential rate. And current flash implementation on the web isn’t a good experience. And of course we all know how the iphone doesn’t support flash; and they have the leading share of traffic on the web.
Flash will probably stick around for RIAs while we still have desktops, of course everything is going to the cloud so who knows how long even that will be relevant.
What this all means is that Flash* use on the web will continue to fall. It probably won’t be tomorrow or next year, but in a few years no one is going remember flash, just like they forgot about the Real Player.
*Flash as a format, that is. Since Adobe is working to make flash output to HTML5/Javascript, Flash as an Authoring tool will continue to be the gold standard for web animations in the foreseeable future. Which, as an interesting note, is only going to help push Flash the file format out, because Flash authors will be able to easily output to the new hotness without developing a new skillset.
April 22nd, 2010 at 10:26 amWhy debate this issue at all? This is as bad as the age old C++ vs Java, C#, and .
For most tasks, there is usually the most appropriate tool, and very rarely is it always the same tool.
Everything looks like a nail when your only tool is a hammer… Sometimes the screwdriver works better.
April 22nd, 2010 at 10:27 am@w.f.: http://www.asual.com/swfaddress/ Did I just blow your mind?
April 22nd, 2010 at 10:34 ammax, just because video playback can be an issue for Flash on Mac, that’s just a very specific use of Flash. YouTube doesn’t actually need Flash for anything other than its adoption rate right now. They’re playback mechanism is simple enough for HTML5 when the numbers are there. But that’s still just one aspect of Flash, video playback. Throwing the baby out with the bathwater doesn’t make sense if there are real-world problems solved with Flash (or any other 3rd party runtime) that can’t be reliably solved with out of the box browser technology.
April 22nd, 2010 at 10:42 amthe thing is flash was a great product when it came out and its market share on the web is testament to that same fact…. but the problem is do you really believe Adobe has done enough to improve the platform? I think many people will agree that it simply did not do enough.. Adobe had a LOT of time to make flash an unbelievably amazing product, they had the money and the engineers…… but they didn’t and now because of that html5 is catching up… and i think it’ll only be a little while longer before developers would be able to make anything that they make in flash using HTML5/CSS…. or maybe even surpass flash… and then it’ll simply be a matter of choice… developers will obviously choose the better platform…. so i think its tough times ahead for flash.
April 22nd, 2010 at 10:52 amBranden, you seem to be overlooking a very important aspect. Flash will continue to evolve, but it will always be a browser plugin. Yes, even if it comes bundled with browsers, it’s still run in a sandboxed, behind a plugin architecture. Plus, swf is a binary format, thus, nothing can be interpreted from it. No *content*.
So yes, granted. Flash has been ahead when it comes to interaction and entertainment, but only Adobe gets to dictate what goes into the Flash player. The Web should not owned by any one company. That’s also a big reason for the hype behind HTML5. It’s being elaborated by a lot of people, together.
The price for consensus is time. Standards take time, but once done, anyone gets to play with it. No strings attached…
ps: just because people loathe flash doesn’t mean they’ve never used it. Speaking for just myself, but I can build something with flash, including some actionscript into the mix, but I’d never use it for any project of mine. (unless you kidnap my wife & kids
)
April 22nd, 2010 at 10:55 amWell, for the comment of Si Robertson, about the unblockable nature of HTML5 ads, I actually tried making a CanvasBlock script(originally just for fun), turn out that there are really some technical issues on blocking a canvas element…
See it in my blog post: http://blog.onthewings.net/2010/04/13/canvasblock-a-gm-script-to-block-canvas-tag-should-we-or-can-we/
April 22nd, 2010 at 10:58 amFirst – sean – very cool demo! While I admit you can do real time chromakey, that’s not what I was really talking about – it’s embedding the alpha channel in video itself.
A lot of the changes that have been made to Flash over the last few years were under the hood. Flash 9 was a major rewrite of the entire virtual machine – AVM2. The player now works in a similar manner to how Apple handled the OS X/OS 9 transition – there’s two VMs built into the machine, one for modern content and one for legacy content. Then there’s things like PixelBender and the fact that Flash changed hands when Adobe bought Macromedia – that kind of transition is NEVER seamless.
Now, that being said – of course if Adobe can’t keep advancing Flash it’s going to die.
April 22nd, 2010 at 11:00 am[...] another as has been the case up to the present day. Over the next decade, specifications such as HTML5 will push the native browser experience forward as well, simplifying and empowering web development [...]
April 22nd, 2010 at 11:03 amFlash is a great solution if you’re targeting Windows users.
My selfish reason to be excited about HTML5 is that as a developer I tried to love Flash and failed. I found Adobe’s tools to be frustrating and painful to use, even worse that Eclipse. The open-source tools are like trying to build a house with a collection of screwdrivers from a yard sale. I just find Canvas much, much easier to use, it fits my brain better. And with libraries like Processing.js it is not just easier, but really fun.
My need for either of these technologies is mainly for my little art projects on the side, and for that I have no desire for Flash to die, I just don’t want to have to use it. Choice is good.
April 22nd, 2010 at 11:06 amAndre – actually content can be interpreted from SWF, Google has been doing it for quite some time.
YES – Flash will always be a plugin. It’s just another tool in my toolbox – but it’s a tool that lets me do things I simply CAN’T do with other tools. For example – my company recently helped build the new website for WGBH’s American Experience – http://www.pbs.org/wgbh/americanexperience/
It’s mostly text content so of COURSE it’s mostly HTML/CSS/JS – but for certain features we got a better user experience using Flash – so we used Flash.
What I want is for Flash to keep evolving and evolving quicker than standards. I want a way to be able to do new things to push what the web can be.
April 22nd, 2010 at 11:07 amWhat people in the industry want is not Flash to die completely. They just want it not to conflict with the semantics, usability, and accessibility of the Web. I think Flash in advertisements or games is a perfectly valid; though I hate advertisements, and Flash’s performance is awful in my Apple computers and borderline mediocre in my Windows machines. Flash should be part of the content, not part of the construction itself.
That being said, I’ve found most Anti-Flash complaints have to do with performance and openness, and as users they have the right to complain. In comparison, in most discussions I’ve had or seen in the Web about the topic the Flash advocates is almost always a Flash developer spreading FUD about how Flash is the best platform for web-development over Php, Python, Ruby, et al. or a Flash designer trying to convince people that without Flash interactivity is dead. I’m not trying to generalize here, it’s just my experience, and I know Flash developers whom aren’t like this and I’m pretty certain that’s probably not the case here.
Give me unobtrusive and decently performing Flash objects in my content (be them ads, video, or whatever…) and I’ll be happy. But a Flash intro or any component made in Flash will make me not visit the site ever again.
April 22nd, 2010 at 11:13 amI’d like to reply from the perspective a lowly user. I take no stand on the technical merits of flash as a programming tool, and I really only know a small amount about HTML 5. But I DO curse flash on a nearly daily basis, so let me try to give you an idea of why. I’m fairly sure that flash is useful for a lot of things (otherwise a guy like you wouldn’t have dedicated so much time to it), but in my interactions it mostly just brings me pain.
I’m one of that small segment of users who uses Linux as their home desktop OS, and the root of my pain seems to be that basically the Linux flash player sucks (at least the versions installed by Ubuntu). Flash elements in web pages crash very often, exceeding by at least an order of magnitude any other piece of software on my machine. When flashplayer does not crash, it often eats up a huge amount of CPU time. This is usually either for things I don’t want to see (ads) or for video playback. The former is obviously not just a tech issue, so it’s probably better for focus on video. It seems that to play a hulu video (the low resolution, so pretty tiny) takes 40-50% of the CPU time of one core, while playing a higher resolution h.264 video (with mp3 sound) file locally with mplayer takes 10-15%. At least to this naive user, it looks like video decoding in flash is monstrously inefficient. Now, of course, I’m not saying that HTML5 would be superior in this regard (I have no idea whatsoever), but it makes me hate the fact that flash has become the default way of putting up video.
So, okay, flashplayer on Linux has some problems. Linux represents a tiny sliver of the OS market, and presumably an even smaller proportion of the market for websites using flash. You might even say that Adobe are good citizens for even producing a Linux flash player, and it’s certainly understandable if it’s a low priority. Linux users are used to being low on the list of priorities, but usually the solution is for OSS people to roll their own software. It generally will also be far from perfect, but usually it’s good enough to get us by. But as far as I know, open source flash players like Gnash have never really been a usable alternative. Regardless of the technical reasons, it seems that as long as flash remains a de-facto web standard, I’m likely to keep having a very bad experience; whereas when viewing HTML, running JS or Java, or playing a movie locally, I have an experience very much comparable to users on other platforms.
Despite being Linux user, I’m not an OSS nut. I think there are many contexts in which proprietary software is a perfectly reasonable thing. But when it comes to communication between computers (and, therefore, people) a proprietary system for that communication means that the vendor controls who can take part in the conversation. It looks to me like Adobe is much better in this regard than Microsoft was during the bad old days of IE and MS non-standard HTML, but the fundamental problem is the same. With flash as a de-facto web standard, you have to choose to use an OS and CPU architecture that Adobe deigns to support with a decent flash player (basically Windows and maybe Mac on an x86 chip) or you will be left with significant parts of the web that are either faulty or entirely inaccessible.
If you want to give it a name, call it the Chipotle effect.
Try to order a Chipotle burrito online to carry out. Their entire website is flash-based, so you need to have either flash or an iPhone (”there’s an app for that!”). If you’re using, say, the browser on my cell phone, then you are simply SOL.
None of these things have to do with the technical merits of flash itself, but the problems are a symptom of its dominance. As long as those problems are a daily headache for this user, I will fervently hope for some open standard that will replace flash in most important places (even if that standard is a more open incarnation of flash).
April 22nd, 2010 at 11:17 amJamie – I’m 100% there with you.
What’s funny though is do a search-and-replace on your last paragraph to swap Flash for Canvas and you’ll see where we are headed. You can make crap with any tool. As someone who has had to “rescue” more than a few Flash projects I have to say that more than anything else, Flash is “poor performing” because of poor programmers.
April 22nd, 2010 at 11:18 amNick – what you’ve got there is a big pile of great points. A good deal of the inefficiencies of Flash are based on it’s position in the ecosystem – it’s virtual machine running in a browser which itself is running on an OS. Linux’s support for letting Flash talk to the system is rough at best – see the excellent http://blogs.adobe.com/penguin.swf/ for some technical information (and snap up the beta of 10.1 – it may fix a LOT of the problems for you).
I’m 100% with you on 100% Flash sites that AREN’T just for entertainment (I love http://www.mostawesomestthingever.com/) I love me some Chipotle and I HATE their stinkin’ site.
April 22nd, 2010 at 11:25 amI’m not a flash developer.
I’m a programmer. I prefer clean HTML/CSS/JavaScript. I love HTML 5, and the simplicity of providing video. I love what’s being done with JavaScript and canvas with games. It’s awesome.
But I don’t hate Flash.
You make a lot of good points regarding Flash. I’ll be honest, I’m not so familiar with the Adobe/Apple pissing contest, and I’m not really concerned. What I do see, however, is Flash, every day, on sites I use regularly. I see people screaming for YouTube to leave Flash and only use HTML5, trashing Flash, and hating it. Yet I don’t see how YouTube could have existed without Flash. And it’s not just YouTube. It’s every video site, every game, every funny cartoon we all remember.
Before HTML5.
And yes, I’m still wondering how HTML5 is going to be different with Ads. Already we see advanced JS and CSS and compliance making it easier and easier to get popups and annoying ads in your face. HTML5 is only going to help the advertisers.
And as cool as HTML5 video is, I’m still wondering about which format we’ll end up using. H.264 is burdened by licenses, and free till 2016… and then after that?
And finally, HTML5 isn’t even finalized yet. There is no standard, and Apple, Google, and Microsoft are all jockeying for position in the standard to get their agenda across (along with Adobe, of course).
Competition is good. Just look at MS and the last few years with it’s OS and browser.
April 22nd, 2010 at 11:27 amTheres an HTML 5 now? I’m still using 3…
April 22nd, 2010 at 12:11 pmWhat happened in the past doesn’t predict the future. The situation of the web from 02 till 07 was not the same as it is now. People did not see the web as THE platform because there weren’t that many services on it, like Youtube, facebook etc.. So in that world, Flash pushed things forward because its developers were guided by the demands of designers who wanted to do everything they could in print and TV on the web.
The HTML/JS side wasn’t guided by anything except a few crazy developers who wanted to make HTML parsing really fast, or make sure browsers ran fast on all platforms, even Linux.
Now the situation is different. The browser makers are not only interested in catching up to Flash’s capabilities, but going way ahead. Google is pushing for NaCl to run languages like C at native speed with more security than your OS can with all its anti-viruses. They’re integrating WebGL with DirectX, to get good hardware acceleration. WebKit2 added advanced threading, Safari has resolution independence, MS is adding hardware acceleration for text rendering.
People are expecting this big HTML5 push to run out of steam and stagnate in a few years, just like IE vs Netscape did. Meanwhile Flash will move things forward again? As if Flash didn’t stagnate since their AS3 release, and took 2-3 years to get a full version on mobiles, attempted to run C code at pathetic speeds, threw in alpha features like PixelBender that aren’t hooked into hardware acceleration on half the machines, and now has to backtrack to reduce CPU usage, RAM usage and improve security. They also wasted a lot of time shoving in HTML imitation features for their RIAs, experimenting with fancier markup, binding, things that make Java developers excited. They were only ahead because they had different priorities, now they’re behind.
At this point both Flash and browser approaches are becoming obsolete. With something like NativeClient that could hook into hardware acceleration, run any language at desktop app speeds, you could move towards site/app centered capabilities. Never have to wait for plugin or browser makers to add new features, never have to worry about distribution as whatever feature you want can be downloaded by the user as he visits the site. Browsers and plugins should become nothing more than frameworks that give us some UI and coding consistency.
So to say we need Flash when we have better technologies and new economic motivations is looking at the past. Flash is controlled by a toolmaking monopoly. Adobe is guided by the print advertising world and few people like what is produced with their tools and project ideas for the web. They should not be the people who influence the direction of the web to such a degree. The biggest influence should be those who owe their success to the web alone, like Google and Facebook.
Adobe’s whole tool chain is out of touch. People are switching to templates, supersites like YouTube, Twitter etc.. to spread their content. People want CMS integration, which is best achieved by templates and supersites, not separately for each project. Users don’t like inconsistent user interfaces necessitated by old world branding.
Adobe’s dream of WYSIWYG website editors are old news, don’t need those when you can have templates with proven UIs, made using analytics not just intuition. The most interesting digital art is being done with Processing by designers who can code. The year long Flash development cycle synced with the huge CS suite releases is not how people develop for the web, it’s how they developed for CDs.
The differences between the technologies are minor, both can be improved to support all the features. The main differences are in the people behind the technologies, what types of projects they work on, what they are interested in. On the web, the winners are the people who build useful services, who work on one big project for a long time. The losers are the old world designers, who do a project to impress a rich client, not a real audience. They can’t even make advertising work on the web. Those are the people Adobe makes tools for, those are the people who made everyone hate Flash.
The faster that old world is disrupted, the faster we can improve the web based economy.
April 22nd, 2010 at 12:42 pmWoo – now that’s screed!
Let me break it down into a few bite-sized chunks:
1 – New technologies are coming that are bad ass. Agreed. But where are the tools, particularly for designers? Pretty matters.
2 – Flash was ahead and now it’s not. This is true for some features and not for others. Audio in particular is WAY behind.
3 – Browsers should go away – eh, not totally there with you. Not everything is an application. There’s still a lot of benefit to good old markup. That being said I’ve been saying the net needs to step beyond the “web” for many years now. The web as a concept is being pushed at the expense of other technologies and potentially better directions.
4 – WYSIWYG is dead, CMSs rule, interesting art is made with the tools you like – Please inform Apple that Interface Builder is dead, no argument about CMSs, and cool art is made with all kinds of tools – validating the art by the tool it was made with is silly at best
5 – Winners are big services, losers are small sites – uh, no. It’s not about winners or losers. There’s a whole ecosystem there – big players, little players – you name it. Some players want Flash, some don’t. Don’t get me wrong – if Flash doesn’t evolve it will die and it’s got some very big competition on the horizon with NaCl and such.
6 – Adobe makes tools for artists, designers and developers – good and bad. Adobe is not some gatekeeper to the web – they are tools company and they will happily go wherever people need tools.
April 22nd, 2010 at 1:11 pmIf the HTML5 (or whatever you want to use) is better then Flash, then just go and build something amazing with it. You do not need to go around and talk about flaws of Flash and its soon-to-happen-death. All you have to do is build something better and everyone will adopt it same way everyone adopted Flash simply because it was best platform and to this day it still is.
Nobody knows what future brings. Will we still use Flash in 2022? Maybe. Will we lick the screen and sniff the pictures? I hope not.
April 22nd, 2010 at 1:23 pmBranden, that’s an interesting blog. I think I’d actually run across it before (talking about the mess that is audio in Linux). Some of that is out of my depth, but it does shed a little light on why playback of flash video is such a hog and why HTML5 video may not be much better.
As a user, flash is definitely the conduit through which a lot of pain comes to me, in the form of CPU usage, annoying sites and ads, etc. So I guess you could say there’s a sort of Pavlovian conditioning against flash. Realistically, though, a lot of those are situations where stupid people are doing stupid stuff and simply using flash as their tool of choice. The tool isn’t the problem. While in many cases I wish content providers would find more reasonable, accessible, and efficient ways to do things, switching away from flash won’t necessarily cause that to happen. It can be hard to see in which instances (if any) flash is the root cause of the pain that I associate with it.
I guess my own position is not that flash is technically bad or that is should never be used, but I hope for a future where it is not used as the main interface for sites or the lingua franca of audio/visual content, because I think it’s necessarily bad for any single entity to control that much via a closed standard. I hope for a future in which I can use the bulk of the web, even if I want to run BSD on ARM or some minor player’s cell phone/MID. So, I’m hoping that HTML 5 can take over these primary functions where they’re currently performed by flash and realize that future.
As you made reference to, on the video front I’m doubtful it could ever happen; I would think that as long as content producers want DRM people will use a closed system for video content.
I suppose my other impression is generally flash in websites makes me feel as though I’ve been taken out of the driver’s seat. I find myself wanting to “find in page” on a site, but then the find function of my browser is useless because I’m looking at a flash interface. WIth HTML I can use a user style sheet to reshape what I’m viewing, or I can even go straight to the source to grab out something I want to see (which I’ve done when a site is not displaying properly). I may also like to links in a new window/tab. It may be that these things are possible with flash content, but my experience has been that I haven’t been able to do them in the past. Basically, it feels like flash shifts the balance of power, so to speak, away from the user to the developer (makes sense, since that’s who flash it really marketed toward). I might also hope that a switch to HTML5 would tip the balance back in the favor of the user (since browsers are marketed toward the user).
April 22nd, 2010 at 1:41 pmGreat article. Wish I had time to respond more elaborately, but I’m really busy with Flash work.
Maybe if I start taking some HTML5 jobs I’ll have more time for this
April 22nd, 2010 at 1:47 pmSpeaking of accessibility . . . you can caption a Flash video, and Adobe makes it really easy to do so (wish more people would do this, especially for technical how-to videos). Can you do the same with a HTML5 video??? Looks like the process is a bit more involved when it comes to an HTML5 video. I did some googling and here’s what I found:
http://dev.opera.com/articles/view/accessible-html5-video-with-javascripted-captions/
And here’s what the W3C spec says:
…this content is not intended to address accessibility concerns. To make video content accessible to the blind, deaf, and those with other physical or cognitive disabilities, authors are expected to provide alternative media streams and/or to embed accessibility aids (such as caption or subtitle tracks) into their media streams.
April 22nd, 2010 at 2:02 pm4 – WYSIWYG needs to work with analytics, templates, sites like twitter on the web. Not an easy problem to solve and Adobe with it’s 3 billion Omniture acquisition aren’t any closer to solving it. Placing buttons and textfields isn’t the big problem. Adobe should have had Catalyst ready for Flash and HTML years ago, but the web did fine without them.
5 – The long project winners are big and small. 37Signals is small. Tumblr, ffffound, wordpress, threadless are small compared to Google. Bloggers and tweeters are small, but if they build quality dialogue that others respond to, they are winners on the web.
The losers are always small, like Coca-Cola, they focus on disruptive FWA sites that run once then are forgotten, just like TV campaigns. That doesn’t work on the web. You need to build audiences on the web, get people involved, make sure they read your tweets by counting responses. Adobe’s tools don’t help you do that, they only do one way extravaganza communication modeled after TV.
They’re losers because they waste millions on that stuff, there’s no doubt that their advertising model will be made obsolete and they don’t get a step closer to the two way approach by throwing money around.
6 – Adobe is the gatekeeper for designers. But designers are an endangered profession, largely unchanged for decades. Their visually focused skills that aren’t involved in mathematically understanding user behavior so they don’t fit with the web like they fit with print and TV. How many blog layouts do you need? How many ways can you position an ad? Automation, templates, aggregators and mass produced consistency are the enemies of craftsmen.
1 – The visual tools for programming complex Processing, 3D, 2D motion effects aren’t much easier than programming. They’re a break from the traditional static image creation process. NativeClient will integrate with HTML through NPAPI, so the tools for making normal UIs can stay the same. The tools for making new UIs, like some games have are 3D game making tools like Unity, Unreal etc..
April 22nd, 2010 at 2:54 pmFlash is total crap, I saw this one Flash website once that crashed my browser every time I went there! And when I was on my iBook, it could barely load videos! This is because Apple didnt allow Flash access to the graphics card, becase Apple knows Flash is dead, so they are killing it. Thats what you do to dead stuff, you actively try to kill it as fast as you can, otherwise it might get up and become a zombie, and we know what happens to civilizations when zombie epidemics spread? Did you guys know that FlashPlayer is owned 100% by Adobe? That means it’s not open, therefor it is not good for the people because anything not 100% open is probably somehow related to extremist fundamentalism which we all know leads to terrorism or dictatorships. So you see, HTML5 is the future, and everything else SHOULD be killed because if HTML5 has competition we all lose, because that’s what this is, competition. This straight-up line of reasoning completely applies to all other areas of life. Flash = dead, you do the math.
April 22nd, 2010 at 3:38 pmPlus, think of it like this…
HTML is only on version 5, and it’s already better than Flash at everything who is on version 10. So just wait until HTML is on version 10, then what? Mind blown… that’s what. HTML10 will allow you to reach through your monitor and punch Flash developers/designers, so we can then really kill them. Careful Flash, I’m just sayin
April 22nd, 2010 at 3:41 pmDetrus – reading your text and then visiting your site can only lead me to the conclusion that you’re trolling… but for the sake of the audience let’s take a look at your points:
4 – I don’t entirely get the Omniture thing either – but hey… that being said, I’m not a terribly big fan of Catalyst. I don’t use WYSIWYG tools personally, so I’m not their best defender. However, I do think they have their place. I can appreciate wanting to work in that manner and don’t want to take anyones toys away.
5 – I gotta say, I just straight up reject the idea that long term projects are the only winners. Brand awareness is still a big deal – and you don’t always want users to have to engage in a deeper way, just remembering your name is great. Adobe’s tools are (mostly) all about content creation – a need that’s not going away anytime soon.
6 – I’m entirely confused but this point, but designers aren’t endangered. They may need to grow with the times, but the world will always need creative people who can make pretty things.
1 – Huh? Are you saying I’m going to have to code my designs? I’m very confused. The traditional tools for designing UIs are… well, often, Adobe tools… (at the very least that’s where a lot of folks make their textures for use in things like Unreal and Unity).
April 22nd, 2010 at 3:50 pm“it’s possible to be an HTML/CSS/JS developer and never use Flash, but it’s very difficult to be a Flash developer and NOT be well versed in the other tools of the web development trade.”
I disagree with this entirely. Knowing flash doesn’t mean you know the basics of the web: HTML, CSS and JS.
Totally incorrect!!!!
April 22nd, 2010 at 6:28 pmReally? I’m not talking about students – I’m talking about professional developers here. If you make a living with Flash you HAVE to know HTML and CSS in order do your job. I wouldn’t hire a Flash developer who didn’t have excellent HTML and CSS chops – and neither would any other employer who has any idea what they are doing.
April 22nd, 2010 at 6:34 pm[...] and “Apple Kills Flash” fluff (which is meaningless by the way, Flash will be around a long time yet), there are some very shrewd businesspeople doing very clever [...]
April 22nd, 2010 at 7:10 pmThat site is from 2006 and was quickly slapped together with two templates.
1 – Not the simple UIs for websites. If you want to create the type of complex stuff people do in processing you’ll have to code and/or learn ever more complex UIs like the ones in 3D and motion programs.
6 – People who crafted handmade watches and muskets didn’t all lose their jobs but how many were left after mass production took off? And sure, the next generation of craftsmen can move to jobs that are more difficult to automate, but technology moves much faster today, and what craft minded people will end up doing in a decade is difficult to predict.
5 – Content creation is becoming less important. Feedback on content, adjusting the content accordingly, tracking the feedback, analytics, is becoming more important. That’s what Omniture is for, but integrating all that into the old Adobe tools will bloat them. We need to rethink the tools from the ground up and Adobe is in the worst position to do this, as they have to cater to their current userbase, most of whom are confused by the Omniture deal.
So not only do tools have to change, but people who use them. I’m not holding my breath.
Brand awareness is a long term relationship, not a quickie. Brands that treat the web like a TV channel where they interrupt regular programming to shove their wares are rarely talked about online. Brands that have a usable, consistent web presence, like sites on the deck network, Apple, are talked about online, and linked to, even if they’re not web services.
Analytics and feedback are more important for achieving that goal than Adobe’s tools. The winning approach on the web is iterative improvement of a site or app, not a one time show. You can reject the idea but $3 billion says Adobe noticed their tools became less relevant, they’re only years late to the party.
April 22nd, 2010 at 7:11 pmHit the nail right on the head. Of course, it doesn’t help when Steve Jobs shuns Flash in favor of HTML5, especially since the majority of the web design community are, well, Mac evangelists. They will follow whatever their pastor will say.
As for no good HTML5 animation tools, there is one, Raphael, which actually does do animations pretty well. It uses SVG (which is a little confusing, considering they often refer to a canvas in the documentation), but even Raphael reverts to good ole Flash when SVG is not available.
April 22nd, 2010 at 7:29 pm“Really? I’m not talking about students – I’m talking about professional developers here. If you make a living with Flash you HAVE to know HTML and CSS in order do your job. I wouldn’t hire a Flash developer who didn’t have excellent HTML and CSS chops – and neither would any other employer who has any idea what they are doing.”
April 22nd, 2010 at 7:57 pm….
Yes really! CSS is not trivial. Proper semantic markup is definitely not trivial. They take a time to learn. I constantly test potential employees in this field, and a very high percentage of people who claim “experience” fail miserably. And let’s not start on Javascript. Sure it’s easy to whack in a jQuery plugin, but beyond that…
Jason,
April 22nd, 2010 at 9:48 pmNot every Flash developer will understand HTML/CSS/JS properly (there are a lot of hackers around) but professional Flash developers will, and they’ll also know at least one server-side language. A lot of modern Flash based sites/apps hook into HTML (via JS), server-side databases, various services in the “cloud”, and so on. If a developer only knows “Flash” they aren’t going to last very long in this industry.
Great article, thank you for saying what I’m feeling this period of time. I have clients coming to me asking me ” should we do a flash website, cause I heard flash is dyeing” and I gotta start explaining to them why that is just a bunch of flash haters not knowing what they are talking about. I can create flash website that are fun and give a nice emotions to visitors, I can;t feel that with HTML, I’m not saying html is bad ( far from it) but each medium has it’s own target and its own way of presenting it. One thing I’m starting to get sick of is people saying that people on mac flash works bad and it;s full of bugs and crashes a lot, I have been using mac for the past 3 years and I gotta say I had a couple of crashes, but I used to have the same in windows, nothing out of the ordinary. thank you so much for this article.
April 23rd, 2010 at 3:09 amThis discussion is all a moot point.
Silverlight killed Flash years ago
(my opinion is that 99% of Flash IDE problems on Mac are due to fonts)
April 23rd, 2010 at 6:11 amYou had me at the Weeds reference.
April 23rd, 2010 at 7:40 amSaying we don’t need Flash is like saying we don’t need cars or airplanes. Look at all the accidents those cause.
Everyone has legs. Let’s go back to walking everywhere. You don’t hear about crazy walking accidents do you? That should be the standard. Everyone can do it. And…there’s much fewer problems. Well you know why? Because you’re going 3MPH.
Good article….
April 29th, 2010 at 5:17 pmTo those that want Flash to die, (and I include Steve Jobs and Apple in that group) let me simply say the following. The death of Flash will not make the problems you are experiencing on the internet disappear. The problems you are experiencing stem from poor development practices and an evolving internet that includes increased complexity. No matter what development technology is used it will be subject to these issues. You see these problems most often with Flash, because Flash is ubiquitous and has been alone in its ability to provide more advanced functionality, but these problems are not unique to Flash. To illustrate my point, consider that many AJAX applications experience the same difficulties with back/forward navigation, deep linking and bookmarking as Flash applications. Why? Because the underlying problem is not the technology, but instead because complex interactions expose the antiquated idea of back/forward navigation. Further to my point, HTML5, Canvas and WebGL all significantly increase CPU load, (and subsequently kill batteries) in many cases to a greater amount than Flash does. Why? Because again the underlying problem is not the technology, but instead the fact that complex animations utilize more processing power.
Let’s not kill development tools (especially ubiquitous ones like Flash) just because they can be used poorly or because their capabilities can expose underlying issues of an evolving system. Instead let’s encourage choice amongst development tools and let the free market decide. I certainly understand the enormous benefits of simplicity (i.e. everyone using the same tools, the same way, with the same objectives) and I also understand that freedom can be messy, but I still prefer freedom.
May 3rd, 2010 at 9:38 pmI am a casual games developer, and Flash has pretty much been the tool in this sense. In this respect, HTML5 is still years behind, and the fact that source code cannot be hidden and that its not easy to distribute one single file (like I can in Flash) makes things even worse. I, too, hope that Flash lives and improves.
May 16th, 2010 at 1:28 pm