Working together for standards The Web Standards Project


Flash, JavaScript, and web standards: like sodium and water?

By Ben Henick | August 17th, 2006 | Filed in Browsers, HTML/XHTML, Validation, Web Standards (general)

As expected, Flash and such are proven a controversial topic.

Skip to comment form

In my previous post I related my experience with implementing markup-only solutions to the task of incorporating multimedia into web sites, and later asserted a low opinion of a popular tool used for publishing SWF files.

The response has been passionate if not actually furious, and also a prompted an e-mail to me personally which I’ve not read (because the script that handles the mail form on my personal site was incorrectly configured, though has since been repaired).

I want to thank Geoff Stearns for his well-thought-out reply (linked above), and Drew McLellan for making a comment on that post that perfectly echoes many of my own feelings. I agree with Stearns’ sentiment that his tool and others provide excellent practical solutions to everyday problems, regardless of my peculiar opinions. On review, I also see that our feelings on <object> element support have a lot in common (ironic though that may seem).

However, most of the detractors to my earlier post seem to be missing the points to the whole exercise:

  1. The Web is meant to be an open system, and limited-rights tools (including Flash) practically insult that virtue… without which the web would hardly be worth a damn. When I read the comments of people who imply their support for the replacement of standards based technologies with content generated by their favorite widget (as I feel is the case in the response to my feedback), I get angry, and so do other people. The objection’s not that Flash et. al. are instrinsically bad, it’s that their combined popularity and limited-rights status significantly reduces the realized value of the entire network. Therefore, the need to ease implementation of alternatives and fallbacks is obvious, and I believe that work is easiest to manage in a standards-compliant environment… over the long term, at least.
  2. The current state of web plug-in implementation is a travesty which makes implementation of web multimedia impossible out of context, and every step (no matter how small) taken to prove that there are better solutions is a positive one. The only way things will improve is if people push the limits of the possible and start cmplaining once there is no more pushing to be done. The irony is that by trying to get plug-in applications to work well in standards-compliant environments, the “standardistas” so many of you love to hate are helping you, even though you never need to lift a finger. And yet you complain. Were I to describe my feelings bluntly, I would refer to the horses you rode in on, sort of. Or maybe your mothers.
  3. Taking a tool meant to control behavior and using it instead to publish actual content is a step to be avoided at all reasonable costs. Why are so many people – including and especially myself – outright unreasonable about this opinion? Because it makes sense. The web was designed to be platform-independent. The only way it ever really will be is if people work at it, even if “people” sometimes means “unimaginative jerks” and ”work” sometimes means “pontificate.” However, presentation and behavior on the web are overwhelmingly platform dependent, which means that only the faithful separation of presentation and behavior is the only way to make the content itself platform independent… and no kewl designy tool or clever hack, no matter how amazing and brilliant, can change that. Ever.

Sometimes, I feel like a broken record: close only counts in horseshoes and hand grenades, and claiming that a near miss should gain you the same approval (or exemption from disapproval) that you get from hitting the mark is offensive and wrong.

Are many aspects of browser plug-in behavior inarguably broken? I believe they are. Does the “Eolas workaround” in Internet Explorer harm the user experience unless JavaScript is used to avoid it? I’m certain it does. Does Flash have a place? I definitely think so, though with some broad qualifications.

However, I also believe that an attitude that is universally tolerant of expediency does more to damage the typical user experience in the long term, than it does to improve any specific user experience in the near term.

Your Replies

#1 On August 17th, 2006 5:59 am bobby van der sluis replied:

Regarding your previous post.

If you write posts in the name of the WaSP you should keep in mind what the earlier recommendations of the Wasp are and stay consistent. How to embed plug-ins has been quite confusing for developers, don’t make the subject more confusing by sending out contradicting messages.

Second, your comment on SWFObject was plain degrading. If you insult people on things they care about, they will react passionately.

Finally, you blocked my previous comment for almost a day while other comments were published. Stop doing that, it is annoying and feels like a censorship. If you chair a blogentry, learn to live with comments that are not within your personal philosophy. If they are not off-topic or insulting, publish them.

Regarding this post.

On: “The Web is meant to be an open system, and limited-rights tools (including Flash) practically insult that virtue… without which the web would hardly be worth a damn.”

I thought you were discussing how to embed plug-ins, not how bad plug-ins are for the overall state of the web. Any way, why should Flash video, animations, games, audio, or even an integrated blend of all of these be bad for the overall state of the web? They enrich the web by adding functionality, content and interactive possibilities that are not possible with web standards alone.

Flash and web standards are both great toolsets that can be used for every day web development. Why? Because the majority of people browsing the web support them. They don’t have to be exclusive, they can complement each other greatly. JavaScript based tools like UFO and SWFObject both support the use of progressive enhancement, so alternative and search engine friendly content can be added. This is just one example of how Flash and web standards can blend seemlessly.

I personally believe that it is more important for people to learn about these good practices, than to fight about which toolset is good or evil by nature, because this will help nobody make websites build the right way. The ‘we-and-them’ discussion will make a lot people shy away from standards, instead let’s open up standards for everybody.

On: “The current state of web plug-in implementation is a travesty which makes implementation of web multimedia impossible out of context, and every step (no matter how small) taken to prove that there are better solutions is a positive one.”

Exactly the point. But let’s consider why this is the case. It was the W3C themselves who kept the (at that time already well-supported) embed element out of any official specs, with purely political motives, as a revenge act towards browser makers ignoring by W3C recommended standards, leaving confused web developers as collateral damage in their little private war.

For any good citizen that tries to live according to the W3C’s big book of (X)HTML, the W3C validator judges relentlessly, leaving people in nothing but a state of dissonance. So in the case of plug-ins, why should people really care if an embed tag validates or not? When it comes to the embed element the W3C has created their own mess, don’t make developers bleed for it.

Besides, it would be interesting to know what Microsoft’s real motives are for implementing an ususable solution like the ‘click to activate content’ mechanism. Does the new competition with Adobe Flash or some old soar towards the W3C have something to do with it? In any case it has pushed the use of object as the one-and-only embed method for plug-ins even further away.

In the near future ‘plug-ins’ like Microsoft WPF and Adobe Apollo will run natively on every desktop or device, probably including an auto-detection or auto-update mechanism. Apollo can even be used as a web browser, because it will adopt an existing browser engine (hopefully the Gecko engine, which could be a big boost for the support of web standards) so it can natively support (X)HTML. So I personally don’t think anybody is working on finding a solution for the plug-ins and object issue.

On: “Does Flash have a place? I definitely think so, though with some broad qualifications.”

Flash has already conquered its spot in web user, web design and development land. Wake up, accept it, move on. The real question is how you can make web standards and good practices so damn sexy that nobody can live without them anymore.

#2 On August 17th, 2006 12:07 pm Marc Kennedy replied:

On: “Does Flash have a place? I definitely think so, though with some broad qualifications.”

And

“Flash has already conquered its spot in web user, web design and development land. Wake up, accept it, move on. The real question is how you can make web standards and good practices so damn sexy that nobody can live without them anymore.”

What position do most web designers and developers hold on the idea that “only the faithful separation of presentation and behavior is the only way to make the content itself platform independent”? Does using Flash for behavior set a ticking fuse under the hood of the Internet that Adobe could set off at any time, creating a gulf between web users the way proprietary html did?

#3 On August 17th, 2006 1:42 pm WaSP Member bhenick replied:

Something to keep in mind, folks, is that Flash itself is so far off of the web standards map that I often wonder if it should be mentioned on this site at all. As for SWFObject, it’s pretty sweet as code goes – but it runs directly to document.write(), Do Not Pass Go, Do Not Collect $200. For that reason alone the defense it’s getting here feels a little out of line.

In his rebuttal, Geoff stopped just short of calling me a nobody and wondering out loud where I get off. But hey, I started it. Darn. It looks like there’s plenty of degradation to go around.

Bobby, regarding the moderation status of your comments, I’m not sure what that was about… I didn’t moderate your comment, but I’m pretty sure that WordPress flagged it.

As for the Flash-is-evil conversation, I agree with Bobby that it goes on a damaging tangent. However, I brought it up because of the nature of the feedback, which sounds to me like "FLASH 4EVAH!!!11!!1" over and over and over. The hyperbolic implication is that there are plenty of people out there who’d love to see the web composed of nothing but Word files, PDF’s, and all-Flash sites, which will happen only when you can pry my mouse from my cold, dead hand.

The <object> vs. <embed> business deserves only to be shuffled into the dustbin of history and fixed without further ado. Of course, since the W3C WG’s appear to be reaching for the Radiant Future and common sense be damned, it seems more likely to me that the status quo will continue: the shops that care about the extensibility of their content will avoid the hacks, and the ones that only care about Getting It Launched Already will continue using whatever tools will get the job done.

In suggesting that it’s time to "move on" past the ascendancy of Flash, you’re again completely sidestepping the issue of absue.

What offends me (and most folks with an opinion, I suspect) is that Flash developers too often put across the position that they are entitled to use their favorite tool any time they want, for any purpose they feel like achieving. Holding onto this position in cases where standards-compliant implementations do just as well or better for achieving those purposes is what leads me to words of one syllable in reply.

I reckon most developers don’t care about platform independence a jot, but those folks aren’t the focus of my present concern – my focus is on the people who feel like their work deserves the applause of the standards-aware developer community, even though nothing could be further from the truth.

Given its ubiquity, using Flash for any behavior, presentation, or content is a potential problem precisely because of its limited-rights status. Leaving a significant proportion of the Web entirely at the mercies, tender or otherwise, of a single corporate actor is a disaster waiting to happen.

Even so, Flash is the best we’ve got for interactive A/V presentations, passive A/V playback, and high-frame-rate animation – no more, no less.

Finally, I’m waiting for someone to offer a decent rebuttal to the close of the post. Any takers?

Edited to add:

As far as I know, the WaSP position on plug-ins can be summarized as follows:

  • <embed> doesn’t validate. As such, WaSP cannot endorse its use, no matter how much its individual members might wish otherwise. (Consider that impossibility to be procedural nonsense, if that makes you feel any better.)
  • When the point is to publish content which is not altered as a result of application behavior, every reasonable effort should be made to rely on markup to get it published.
  • Using document.write() to do an end-run around the validator is a cop-out (and forms the substance of the criticism which set this off).
  • There have been, are, and will continue to be times beyond counting when it becomes impossible to produce sites that validate and meet sponsor expectations. That doesn’t mean we shouldn’t keep on trying to figure out a better way – "the best is the enemy of the good," but the good should not be achieved to the exclusion of the best.

As for the sexiness of web standards, consider:

  • The strengths of web standards have nothing to do with Flash, except when the latter unnecessarily negates the former.
  • While the alternative may not be sexy in the strictest sense, publishing a separate site for each individual combination of platform and context is ugly as hell.
  • Outside of the best demesne of Flash (which I outlined above), standards-compliant technologies cover the rest of the ground. Given adequate developer training, they do so better, faster, and cheaper than any other tools presently available… and that is sexy (to an engineer or CFO, at least).
#4 On August 17th, 2006 5:05 pm Geoff Stearns replied:

Something to keep in mind, folks, is that Flash itself is so far off of the web standards map that I often wonder if it should be mentioned on this site at all.

This doesn’t sound like a good idea. And advocating techniques that can be bad for users just because it’s the only ‘true’ ‘standards compliant’ way to do it isn’t a good idea either.

As for SWFObject, it’s pretty sweet as code goes – but it runs directly to document.write(),

No it doesn’t. It uses innerHTML, and only because using the DOM to write object tags is nearly impossible to do properly cross browser. Once browsers support it, I’ll gladly update the script.

the shops that care about the extensibility of their content will avoid the hacks, and the ones that only care about Getting It Launched Already will continue using whatever tools will get the job done.

This should have read: “the shops that care about the extensibility of their content over the usability of their site will avoid the hacks, and the ones that only care more about Getting It Launched Already the user experience will continue using whatever tools will get the job done.”

While your argument might make sense about some things, in the world of the Flash Plugin, there isn’t really much choice.

What offends me (and most folks with an opinion, I suspect) is that Flash developers too often put across the position that they are entitled to use their favorite tool any time they want, for any purpose they feel like achieving.

So you’re saying because there’s a few developers out there who don’t make good usability decisions, then every use of Flash is bad? Come on.

Holding onto this position in cases where standards-compliant implementations do just as well or better for achieving those purposes is what leads me to words of one syllable in reply.

What about the cases where they don’t? Nobody is arguing about when to use Flash or not, simply the best way to deliver it to your users.

I reckon most developers don’t care about platform independence a jot, but those folks aren’t the focus of my present concern – my focus is on the people who feel like their work deserves the applause of the standards-aware developer community, even though nothing could be further from the truth.

Nobody is looking for applause here, the reason for my post was to correct your original post and inform people of the risks of using your proposed solutions.

Finally, I’m waiting for someone to offer a decent rebuttal to the close of the post. Any takers?

You mean the last sentance of your post? I’ve already partially corrected you in my reposnse above. SWFObject wasn’t created simply to speed up my workflow (although that was a very nice side-effect). It was created because the user experience of viewing Flash content was broken. Things like plugin detection (you seem to brush this aside, but I think it’s because you don’t understand the implications of *not* doing it – would you rather a user just sees a big area with broken content? Maybe some random shapes flopping around instead of your awesome animation? If you think that’s a good user experience I think your job as a web developer will be short lived), handling alternate content for people without the plugin, search engine optimization, and of course the new Eolas issues.

So you see, this isn’t about some temporary band-aid. Internet Explorer 7 will be released “soon-ish”, and with it will come another couple of (few more?) years of broken browsing experiences. They aren’t changing the way it handles plugins, and it will include the Eolas ‘click to activate’.

#5 On August 17th, 2006 6:28 pm WaSP Member bhenick replied:

Resolved, that:

  1. SWFObject reduces the hassles involved in providing a postive user experience to site visitors who are using Flash content.
  2. SWFObject accomplishes its objectives by using scripting implementations that live outside the DOM Recommendation, thereby failing standards compliance tests.
  3. I have a strong hostility toward Flash, and will go to rather extreme lengths in order to avoid using it.
  4. Aforementioned hostility notwithstanding, there is general agreement that Flash is far from useless.
  5. I am wrong to assert that Flash can be published via the use of markup alone, without also accepting the risk that the user experience of a proportion of site visitors will be unacceptably poor.
  6. The preceding point is true largely because browsers have horribly broken plug-in implementations, seemingly without exception.

Fair ’nuff?

#6 On August 17th, 2006 6:47 pm WaSP Member bhenick replied:

Notwithstanding my prevous comment, I stick by my guns on the expediency-vs.-validity issue.

Eleven years of hindsight teaches me that this business is far too often about whacked-out timelines and cool whizzy things, instead of consistently doing Good Things (like building sites that aren’t constrained to particular environments by design).

We can consider ourselves lucky that quite often the cool whizzy things also turn out to be good, at least in some respects.

At the same time, I don’t see how either of the implementations discussed in this thread will be always and beyond a doubt inadequate (markup with regard to universally positive UX, publishing scripts with regard to standards compliance) – not as long as work continues.

Edited to add:

If anything, the causes of the issues under discussion – the Eolas case, the W3C’s obstinacy, Microsoft’s longtime refusal to demonstrate that it gives a damn about Internet Explorer – bring this point home. If plug-in support hadn’t been hacked together out of expediency in the first place (and instead been specified and implemented with the same foresight given to other parts of HTML), I’d bet that we wouldn’t even be having this discussion.

#7 On August 18th, 2006 2:17 am arch replied:

What seems funny two me is that two of the most popular sites today, which basically are the core of the new boom of internet, and are basically changing our society, basically….don’t respect standards…..uhm….have you heard of that horribly coded site called myspace????? have you seen the mess it is, and, even so, people don’t care?

Do you know a site called youtube? a site which, in my opinion, had so much success in ‘sharing’ videos, because it uses flash, which is almost anywhere and would work in almost all platforms, so it’s tthe easiest way to deliver video?

My point is…you’re not dealing with machines…you’re dealing with people…the internet is not about web pages, or web standards, or servers, or pages, or code, or plugins. It’s about people…and as you might think you’re educated and you know what’s good and what’s bad, people, the general public, the real owners of the internet, don’t always know what’s best for them….if it weren’t like that, reality tv wouldn’t exist, Bush wouldn’t be president, we wouldn’t need to worry about cigarrettes causing cancer because nobody with enough intelligence would think of smoking, etc…..the thing is, you cannot just tell people what’s best for them, and expect that people will follow blindly. You cannot expect that the people adapt to internet. You have to make the internet adapt to people, and, though, web standards have helped us in a lot of ways, they also have limited us in a lot of ways, just because ‘that’s not the right way to do things’. It’s true, web standards bring some order, but they are not the only way, and they are not the right way, because saying that something is the one and only way to do things is just wrong. You want to become the architects of the perfect internet, but again, if you put people in the middle, you won’t have anything perfect….so instead of trying to limit the internet to the ‘way it should be’, why don’t you try to just let it evolve…so far so good, infact the irony again is that the too most successful sites of today’s net are taking a dump on web standards, and people aren’t really complaining about them, are they?

#8 On August 18th, 2006 4:56 am bobby van der sluis replied:

On: “I stick by my guns on the expediency-vs.-validity issue.”

I don’t think that anybody reading this blog will disagree on this. However please realize that this works both ways.

As an example, recently we designed a small Flash ‘high impact’ campaign or micro-site for the promotion of a new product for one of our clients. The site primarily consisted of integrated (not in the regular box) video, audio, animations and interactive elements. Before the site was produced somebody decided that the site had to be created using web standards and should only sparingly use Flash (instead of the proposed 100% Flash), for reasons of search engine optimization and accessibility.

When we viewed the final website it primarily consisted of images (the design used no regular system font) and incredible poor HTML (e.g. no alt tags were used, no correct doctype, inaccessible JavaScript navigation), so that it negated all the arguments why web standards had to be used in the first place.

PLUS that our originally designed user experience was completely ruined. Hardly any interactivity, no nice transitions, no seemless integration of audio, video and animations, no high impact.

Nice detail is that they could have had BOTH the designed user experience AND accessible and search engine friendly content, if they would have used a library like UFO or SWFObject, that DO use regular markup for these purposes, in combination with a good practice called Progressive Enhancement.

The point is that there are as many bad web standards developers out there as bad flash developers.

The only thing you can do about bad quality labour in general is try to raise the general norm of what the quality of a website should be, by teaching both clients and developers about the pros and cons of the different toolsets and, even more important, how to do create things the right way, using the best practices available at that moment. I personally feel that the general norm has been raised in the past few years, however a lot of work still needs to be done in this area.

On: “Even so, Flash is the best we’ve got for interactive A/V presentations, passive A/V playback, and high-frame-rate animation – no more, no less.”

One thing to consider is that in the next few years audio-visual content will boom on the web, and so will the use of Flash or any plug-in or program that will offer this content. To me the Web’s true power lies in the fact that it can offer a seemless and endless combination of different types of content, different types of publishing methods and a range of levels to interact with this content. What the web looks like in the next five years will all be determined on how we can combine the different technologies into a practical solution that fits all needs. In my opinion both Flash and web standards fit in this picture.

On: “While the alternative may not be sexy in the strictest sense, publishing a separate site for each individual combination of platform and context is ugly as hell.”

I guess that beauty is in the eye of the beholder ;-) Personally I think that a progressively enhanced website can be one of the most beautiful things on earth. The main reason for this is that with only a bit of extra effort, you can create complete user experiences, or visible and accessible websites for a lot of different target audiences: e.g. mobile browsers, text browsers, search engines, CSS enabled browsers without the Flash plug-in, browsers with good JavaScript support and the Flash plug-in.

Using Progressive Enhancement you do have to do extra effort, however you don’t create separate websites: technically you only build one website, but build it with different ‘layers’, e.g. CSS could be one enhancement layer to add presentation to your marked up content. You just offer content in a way that the browser technology support of a visitor can handle. Again, for content that would otherwise be invisible or opaque to search engines its is a bliss.

On: “5. I am wrong to assert that Flash can be published via the use of markup alone, without also accepting the risk that the user experience of a proportion of site visitors will be unacceptably poor.”

I would like to hear what the WaSP’s official standpoint is about the best way to embed Flash movies, especially there in the past year I have been going through a few hoops in trying to make UFO the most standards compliant Flash embed library available.

A few highlights, as available from the UFO page:
- UFO follows JavaScript best practices and is completely unobtrusive.
- UFO is as standards compliant as it can be; it uses the valid object element over the proprietary and invalid embed element, it prefers W3C DOM methods over proprietary methods like innerHTML, but both as long as a fully functioning feature set allows it to:
a. UFO uses W3C DOM methods to insert the object element for all Gecko based browsers (e.g. Firefox, Mozilla, Netscape) and all other browsers that use both the Netscape plug-in API (e.g. Opera and Safari) and an XML MIME type.
b. UFO uses innerHTML to insert the object element for Internet Explorer.
c. In all other cases (e.g. Safari, Opera using MIME type text/html, especially to ensure that older versions work correctly using all parameters) UFO uses innerHTML to insert the proprietary embed element. Please note that in this last case your pages will not contain valid (X)HTML code, but will pass the W3C validation tests because UFO generates the Flash object’s (X)HTML code with JavaScript.
- UFO supports MIME type application/xhtml+xml.

In short, UFO uses different code branches to deliver an optimal Flash embed to browsers as far as their DOM support allows it. It is as good as it gets.

#9 On August 18th, 2006 12:26 pm Scott replied:

BOBBY WINS

#10 On August 18th, 2006 6:38 pm Flash, JavaScript, UX, standards, apologia, apologies, and one man’s opinions - The Web Standards Project replied:

[...] My last two posts here have engendered a lot of anger from some Flash developers, and even led to direct questioning of my professional skill. Put bluntly, I believe the attacks say at least as much about the professionalism of their authors as they do about my own. [...]

#11 On August 19th, 2006 3:48 pm Flash, JavaScript, UX, standards, apologia, apologies, and one man’s opinions » The Worlds News » Blog Archive replied:

[...] My last two posts here have engendered a lot of anger from some Flash developers, and even led to direct questioning of my professional skill. Put bluntly, I believe the attacks say at least as much about the professionalism of their authors as they do about my own. [...]

#12 On August 19th, 2006 4:34 pm Indirect Manipulation » Blog Archive » Phase Patterns replied:

[...] On the other side, I have some appreciation for what Ben Henick of the Web Standards Project is proposing: When I read the comments of people who imply their support for the replacement of standards based technologies with content generated by their favorite widget, I get angry … The objection’s not that Flash et. al. are instrinsically bad, it’s that their combined popularity and limited-rights status significantly reduces the realized value of the entire network. Therefore, the need to ease implementation of alternatives and fallbacks is obvious, and I believe that work is easiest to manage in a standards-compliant environment … over the long term, at least. [...]

#13 On November 10th, 2006 11:43 pm Blog de David Mejia » Critica Arroba de Oro y Felicidades Nuevo Sitio LPG replied:

[...] Webstandards.org [...]

Return to top

Post a Reply

Comments are closed.


All of the entries posted in WaSP Buzz express the opinions of their individual authors. They do not necessarily reflect the plans or positions of the Web Standards Project as a group.

This site is valid XHTML 1.0 Strict, CSS | Get Buzz via RSS or Atom | Colophon | Legal