The Flash vs HTML5 debate

28th February, 2010

Article

There is currently a heated debate within the web design & development community. It concerns the relative merits of Adobe Flash and HTML5, and which technology should hold the crown for rich content on the web (by rich content we’re talking about things like video, complex animation, and so on).

The most recent trigger for this opinionated to and fro was Apple’s decision to leave Flash off the iPad. I’ll come back to that, but for now suffice it to say that it divided people into two camps: those who find the absence of Flash to be a pain in the arse, and those who are glad to see the back of it.

The anti-Flash argument goes (and, yes, I’m paraphrasing) that Flash is a proprietory format controlled by Adobe, is less than perfect from an accessibility or SEO standpoint (albeit better than it used to be, on both counts), causes computers to crash, and is generally not a very Web Standards-friendly technology. HTML5, on the other hand, is destined to be fully browser-native, semantic in nature (which is good for assistive technology, search engines and standardistas in general), and can do most of what Flash is generally used for.

“Flash must die” has been the recent cry; “HTML5 is the future!”

And, for my money, therein lies the crux of the matter. HTML5 probably is the future. But it’s not the present, not yet. It’s not finished. And I don’t mean in the sense that CSS 2.1 is not ‘technically’ finished; I mean in the sense that most of HTML5 is still in flux, with even the precise semantic meaning of various elements still being debated.

How is HTML5 going to kill Flash?

The main Flash-killing aspects of it are, essentially, the Canvas and Video elements. Of those two, Canvas — which permits developers to generate Flash-like animation in the browser with no plugins — has a lot of potential. However, it still feels pretty ‘fresh out the lab’ and I have a hard time imagining anyone feeling comfortable about using it for a regular client project just yet.

The Video element, by contrast, seems fairly production-ready and, indeed, YouTube has built an HTML5 beta version of their site using it. Currently, however, different browsers support different video codecs; some (eg. Safari) support the proprietary H.264, whilst Firefox is sticking with the open-source Ogg Theora codec. Until that issue gets resolved developers wanting to use HTML5 for video need to encode all their content twice — hardly an ideal situation. And should we really be replacing one proprietory format with another?

One party that seems feel that we should is, of course, Apple, which brings us full circle. Many, however, saw the absence of Flash on the iPad as a deal breaker; after all, the iPad is being marketed, to a large degree, as a device intended to allow browsing the web in convenience and comfort. Whether Apple likes it or not, a huge number of sites use Flash and plenty of people find the lack of Flash support on the iPhone — and, soon, the iPad — extremely inconvenient. Although it’s fair to say that a lack of Flash browsing hasn’t exactly harmed iPhone sales, the iPad is designed to provide a slightly different lifestyle service, and it remains to be seen whether making a big chunk of web content inaccessible will reduce its appeal.

The real issue here is not whether HTML5 and standards-based web apps are the future (they probably are). The issue is that they aren’t quite ready yet, and this fact is being glossed over.

Now what does that remind me of?

In recent years the government in the UK has been imposing various taxes and penalties on motorists with the intention of encouraging people to use public transport more. Okay, fine, no problem with that per se. The mistake, however, was that the penalties were handed down before the necessary improvements had been made to make public transport a truly viable, user-friendly option and to permit it to take the strain of the additional traffic.

The same is true here. Apple is playing the ‘No Flash for you!’ card before the necessary alternatives are either sufficiently mature or widely distributed. Furthermore, whilst London commuters could, if push came to shove, get on a bus or train rather than drive to work, people who wish to view a particular flash-based web site on their iPhone or iPad have no such option. Presumably Apple feels that its stance will encourage a sea change in the way people build rich content web sites; however, clearly this is not going to happen overnight. In the meantime users of iPhone and iPads are the ones locked out of content that they might really want to see, because Apple wants to make a stand.

Of course, whilst Apple’s position is ostensibly about standards, it would not be unreasonable to speculate whether it is perhaps equally about promoting the proprietary and patent/license-encumbered H.264 (which it had a hand in developing) and ridding its own browser of semi-dependancy upon a corporate rival, ie. Adobe.

As far as the debate about HTML5 or Flash is concerned, of course, Apple’s motives are neither here nor there. The point is that whilst HTML5 may oust Flash in the medium-long term, it’s not going to do so in the next few days, and probably not for a little while yet. In the meantime, those designers and developers who are taking a strongly partisan, black-and-white stance in favour of one camp of the other are doing their clients a disservice. They should look at both options objectively and decide, in the context of the project at hand, which is the right tool for the job.

I think that it is still just slightly too early to do otherwise.

2 Comments… so far

Matt Hernandez’s avatar 1 Matt Hernandez3 March, 2010 at 15:05

Great read. I was a little unclear on the whole Flash/HTML 5 situation until I read this post. Being an avid Apple supporter and iPhone owner I have always been irritated that my phone doesn’t have Flash capabilities… ESPECIALLY since MY OWN site is done in Flash. After reading this is disturbs me even more. Not to the point of doing away with my iPhone, but I definitely won’t be buying an iPad any time soon. I think it is short sighted and arrogant for Apple to think their sales won’t be effected by the iPad not supporting Flash. They could at least make it compatible until HTML 5 is ready. I’d say it’s safe to say anybody who knows the iPad can’t view Flash sites will think twice before purchasing one, and they should.

Rick Lecoat’s avatar 2 Rick Lecoat4 March, 2010 at 13:54

Matt, thanks for your comments. Apple’s position seems to be that Flash puts a considerable a strain on the processor and, whilst this is manageable in a laptop or desktop machine, the processors in iPhones and iPads are less powerful and so performance quality degrades beyond what Apple considers acceptable.

Of course, that immediately makes me wonder why they don’t just put a Flash On/Flash Off switch in the iPhone/iPad’s ‘Settings’. They did it for the battery-draining 3G in the iPhone after all, so it shouldn’t be too hard for them to put the choice in the hands of the user. Which implies that the reasons are less about maintaining perfect performance for the good of their customers, and more about long-range business tactics.

(As a side note, I also seem to recall Apple being rapped across the knuckles by the Advertising Standards Authority over the iPhone ads that trumpeted that “...all the parts of the internet are on the iPhone”, but which somehow neglected to mention that this didn’t include any bits of the internet that relied on Flash or Java).

I understand your concerns about your own site also. However, creating sites entirely in Flash is rarely a good idea these days, especially if the site has no fallback for non-flash browsers. If you look at the home page of this site, I have used flash to animate the screenshot that slides up. But on an iPhone, you see a static image — not a blue lego. Have a look at swfobject as a way of loading Flash content into a page whilst still providing non-Flash fallback content as a means of graceful degradation.

Join the discussion

Guidelines

  1. You must wait at least 2 minutes between comment submissions. (This is an attempt to reduce comment spam).
  2. Gravatars are enabled for all commenters. Non-Gravatar users will be represented with our default avatar.
  3. This site uses the Askimet system to prevent comment spamming. If your comment looks like spam then its posting will be delayed until it is manually checked by the site moderator.
Comment form

Required

Required but not published

Is rain wet or dry?

plus…

Selected work

Latest weblog entries

Categories

Monthly archives

Copyright © 1999-2010 Shark Attack. All rights reserved.