Why Flash still beats everything else on the Web (or “How I spent my weekend on the Web”)

It’s been a while since I dabbled in developing Web interfaces using anything but Flash, clinic and now I remember why: Everything else just sucks.

Having recently redesigned Turdhead.com’s look and feel, I have renewed my love affair with Flash: Web designs that look just like I intended no matter what browser the user chooses to use.

Ever since Sun showed off its Hot Java browser as a multimedia alternative to the popular NCSA Mosaic in the 1990s, there’s been no such thing as a true HTML Web standard — at least not in the sense that there is one thing you can do that any browser should be able to render consistently as you intended.

You can talk about such imaginary standards all day long, and the W3 Consortium can pretend they actually exist, but after 12 years of waiting for them to show up, I’m fairly convinced that no two browsers will ever render the same markup code — whether its HTML, XHTML, CSS or LMNOP — in the same way.

Sure, you can code your way around these “standards” by picking a few you like and writing bloated code that identifies, second-guesses and coerces each browser and shows it one of 18 different layouts depending on what User Agent the browser sends the server (assuming, of course, the browser does such a thing; one must never assume it actually will, though). But why???

Screw markup languages, their standards bodies and the vendors that choose to ignore them. Screw their limitations and screw their promises.

I’m going back to Flash. A few people may not be able to see it at all, but those who do will see exactly what I want ’em to see. And screw the rest.

Yes, it’s another rant, and one that’s been often repeated over the years. I’m tired, fed up and ticked off. I’d usually blame Microsoft and Internet Explorer, but who’s to say their fake standards are any worse than anyone else’s? (OK, I will, but regardless…) Dammit, I like Flash.


35 thoughts on “Why Flash still beats everything else on the Web (or “How I spent my weekend on the Web”)”

  1. Everything else just sucks is right, espeically Ruby or Ruby on Rails. It’s more like Ruby is popular because those hardcore grammers are the only ones talking about it, but no one really gives a f*ck.

  2. Nice rant. I go back and forth on this issue, and have written on the pros and cons of both Flash and DHTML on my blog. I have concluded that at the moment there is that there is no perfect solution, and we developers have to do our best to pick right tool for the right job.

  3. HTML is not supposed to have anything to do with controlling how things look. it is intended to describe the TYPE of content.

    your false expectation that the HTML standards mean that all User Agents should somehow display the same seriously underlines your lack of understanding about the subject.

    I’m curious – if developing the interface to the site was so horrid with HTML, and if flash is so superior, why did you not make a 100% flash-based website? i’ve worked with someone who has done it before, i know it’s possible.

  4. I’m well aware of the various roles and reasons for the existence of HTML, XHTML and CSS — I’ve been putting up with their various inconsistencies since Netscape 0.9Beta. But pretending people won’t — or haven’t — used them to create application interfaces is simply ridiculous. I’m not saying Flash is a suitable replacement for any of them (in fact, developing an entire site in Flash would be maddening if the visual effect were not the main goal in development): There are many reasons to use all of them. My point is that Flash actually DOES what it’s supposed to do — consistently and across platforms. No implementation of CSS or HTML can so far claim this, and therefore, when it comes to simple sanity, I sing the praises of the SWF format, and curse the failures of other so-called “standards.” So there.

  5. wow, you still completely fail to get it.

    i’ll address one thing in your reply to try to keep the discussion targeted –

    you said “Flash actually DOES what it’s supposed to do”. you’re implying that HTML doesn’t do what it is supposed to do.

    I’m curious, jsut what is it that you think HTML is supposed to do?
    because display is not one of those things.

  6. HTML is supposed to make me a damned sammich, of course! And failing that, it should at least get me some Cheez Wheez and a pack of Premiumâ„¢ Brand® salted crackers. What the hell’s up with it, anyway?

  7. I’m pretty sure Vito’s point isn’t that HTML wasn’t intended to be a display medium; rather, it’s been contorted into such by, well, everyone on the Internet who existence permits them occasional visits into sunlight. (No, the buzzing UVs above you don’t count.)

    We all know HTML was originally intended as metadata about what was being described: Is this a picture? We’ll use an <img> tag! Is this a really, really big heading — way bigger than it should be? Must be an <h1>!

    Sometimes I use a screwdriver has a hammer. Because I’m stupid? No, because sometimes that’s the only tool available. Such is HTML: it’s been coopted by people with a functioning sense of aesthetic who have to do all sorts of unmentionable things to get it to “behave.” Sure, you can present whatever you want — with text and images — with HTML. But if you want pixel-level control (which every designer worth his or her salt does), then you need to resort to the bloated work-arounds Vito laments. And I agree with him: I hate them. I wish all of it would play nice. It doesn’t.

    I’ll admit, though, I’m intrigued by your assertion that “display is not one of those things” — one of the things HTML was supposed to do? So even back in the DARPA days, were people supposed to just know what was marked up — without looking at it? If you really mean that HTML wasn’t intended to gratify those of us who wanted the aforementioned pixel-level control, I understand what you mean; clearly, however, it is supposed to handle “display” — otherwise you’re right back to a block of flat text (á là WordStar, ca. 1994).

  8. naphthalene, thank you for the thoughtful response – you’re the only one so far.

    of HTML was meant to BE displayed – we are human after all, and the sighted amongst us expect some sort of visual treatment to reflect the semantic markup, but that’s not the same as saying that HTML itself would define the visual experience, or as explain further – the ‘interface’ experience.
    That part is left up to the User Agent – whether it be mosaic, firefox, lynx, internet explorer, jaws (a reader for the blind, see where this is heading?), a phone-based browser, a PDA, a web crawler such as google, etc. all these different user agents need to be able to get the underlying html, understand the markup, and present it to the expected audience.
    firefox and IE give us the web how we have come to expect it.
    JAWS reads out the web to those who are blind.
    google reads the web, trying to pick meaning and links out of the HTML – and so on and so forth.

    i just don’t have any expectation that HTML convey the exact same experience to all user agents. what does a search engine care that that the HTML defining this page has three columns of very specific pixel widths?

  9. hrm, something odd happened to my previous post. hopefully meaning can still be derived from it.

  10. What blows my mind is the huge number of Flash pros who are now blogging…in HTML! (not that theres anything wrong with that, ya know.) But the irony is thick.

  11. Wow. Out-ranted!

    Not to offend anybody, but I couldn’t give a rat’s ass about the history of HTML and/or CSS (which by, the way, damned well is supposed to control the way something is displayed). My beef is with the lack of standardization in the way they’re handled across something called a “Web browser.” In the real world, nobody cares what a particular device wants something to look like — what counts is what our clients want something to look like. And that’s why I’d like to see a standard followed in reaching those goals. Does that make me a commie-loving terrorist? Or an aesthete? So be it!

    Truth is, Flash is the only viable tool for making something look the same across browsers today. But it’s certainly not the right tool for everything else! HTML and CSS are often used simply because they’re the tools available for much of the Web’s work — using Flash would make as much sense as using C++ or Delphi: Sure, it could be done, but why bother when XHTML/CSS/PHP/etc. are more likely the right tools for the job? I like my jackhammer, too, but I won’t use it when planting tulips. No irony there!

    But while so-called Web “standards” have been constantly changed, battered and ignored, Flash just plain works: I don’t have to worry about which browser puts what padding on which side of the #@%&!! “box model.” It’s a real “standard” so far, and you can count on your SWF looking the same on any machine. Perhaps I’m spoiled by consistency and reliability, but it sure would be nice if browser vendors took a clue and chose to use agreed-upon standards as well, because, frankly,if you don’t believe the Web involves displays and layouts — or that HTML/XHTML/CSS/etc. are an integral part of those layouts — then I leave you with Lynx and Mosaic, and I say good day sir.

    Regardless, bitch all you want; it won’t make me enjoy HTML coding. 😉

    Oh, and Gary, your blink tags don’t work here. Sigh…

  12. i think part of the problem is the expectation people have that the site look the same across all browsers. the web is not TV.

    now, for browsers of the same classification (however that would be determined) – yeah, i’d like to see the same visual end-result come out of them.
    for example, i’d like to see FF, IE, and Opera browsers spit out the same experience.

    BUT – would you expect some other browser-type to look the same? i’m thinking of stuff like very small portable devices. it IS a browser, but to expect it to look the same for them might tick off clients who are on the road alot. – or clients who are just mobile device dorks – a growing segment.

    and once again, this is not a problem with HTML – this is a problem/issue with User Agents (or ‘browsers’ since no one here seems to be thinking of any other type of UA).

    UA’s render the source. i just think the frustration is misdirected.

  13. It’s starting to sound like we’re essentially all agreeing, although we don’t necessarily realize it: What we really hate is the fact that FF, IE, Opera, Lynx (ha ha!), Safari, etc., display the same information (HTML/CSS) in different ways, and it drives us batty. What we really want is for, say, when defining a paragraph style:

    p { margin: 8px; padding: 4px; border: 1px solid #F00; }

    we’d like every paragraph to have 8 pixels separating its box from surrounding content and 4 pixels separating the paragraph’s text from its own red border. This is an oversimplification, but the point is sound (I think) — and it all comes back to how the UA renders what it reads in from the document. It’s not necessarily the document’s fault it’s being manhandled by the Agent (like it’s not the gun’s fault some crunked-up criminal uses it to shoot his grandma).

    I think Vito’s saying that he knows and understands all that: Flash, however, don’t take no poop from nobody when it comes to visual presentation, hence his admiration for it and his disdain for the clunkly hoodoo required to achieve a similar visual result from HTML/CSS and Javascript.

    I guess I’m up to 4¢ now…

  14. /me throws some more change into the pot

    personally i find it helpful to approach web development understanding that i have to give up control over certain things. in fact, in some circles it’s considered a bit totalitarian to expect complete visual control. what if someone wants to increase the font size but can’t because you wish to strictly dictate that aspect of the experience? that might be a person who won’t come back.

    having done application development, i can appreciate the desire and smoothness of the development cycle (well part of it at least) involved with having complete control over the visual output, but that’s not really a ‘web’ mentality. it’s more of a ‘print design’ mentality. it sure will lead to heaps of frustration!

  15. Isn’t this exactly where Vito started from? You’re (messy) saying that web browsers don’t display visual output consistently. That’s what HE said. That’s why when you design websites and the layout/graphics for websites, having that kind of consistent control over the visual output becomes important. Since browsers don’t display CSS or XHTML or such consistently, but they DO display Flash consistently, Flash makes the designer’s job easier.

    That’s not a print design mentality. That’s a designer’s mentality. Users want pages that work, pages that look right. They don’t care what browser or user agent they’re using. They just want it to look right. And our job is to make it look right. And it gets really fucking frustrating when you use technology and markup languages that’s supposed to make it look right, and it DOESN’T FUCKING WORK! That directly affects my livelihood when things I design for the web don’t look right. Or they only look right in half the browsers, or only half the time in the same broswers (thank you IE). I don’t have the luxury of saying, ‘Oh, the web isn’t supposed to dictate an exact experience…browsers are inconsistent, oh well.’ My client isn’t going to take that with a grain of salt…I’d lose my job if I responded like that. So it’s easy to get frustrated with the promise of cross-browser standards they say is part of CSS and DHTML and XHTML and the rest, when they just don’t deliver, and you have to make it work regardless. Which brings us back to the beginning.

  16. Yevgyeni,

    my gripe with the initial post was two-fold.

    he was ranting about the standards in a way which implied that they had something to do with ensuring a consistent visual output. my stance is that the standards do not (the HTML standards, that is. CSS is another matter), nor should they. the BROWSER is the cuplrit.
    so don’t yell at HTML, yell at IE, FF, Opera, Safari, etc.

    my otehr gripe is the insistence on obtaining something which was not a part of HTML in the first place – consistent visual experience across all user agents. It’s just not a valid expectation if you ask me.

    yes, i do this for a living. Managing client expectations is an art. This is managable when dealing with clients. also, if you really know what you’re doing, XHTML/CSS is pretty damn easy to get consistent across browsers if you’re dealing with modern browsers. and if you’re not dealign with modern browsers, then you really should do a better job of managing the client expectations.
    a few years ago, if someone asked me to make sure it all looked the same for navigator 4, i told them my price would quadruple, and i explained why. If the client found it unacceptable, my plan was to turn down the client and move to another one. That never happened – they all accepted the terms.

  17. oh yeah, i forgot –

    i stand by my remark about the print mentality.

    if you really adopt the web as medium, it become apparent rather quickly that it’s a fluid medium.

    every now and then i hit the web with lynx for the sheer torture of it. Or i turn off stylesheets, or somesuch ther alteration.
    are you suggesting that i should not be allowed to do that? is that too much of a violation of the designers vision?
    When you design for the web, it’s not jsut about composition and colors, and the grid – it’s about information design.

    you kept saying that you just ‘want it to look right’. well crap – what i’m using JAWS because i’m blind or vision-impaired? i don’t surf around for things to look right, i surf around for information.
    what if i’m the googlebot? i really don’t care what it looks like – i care what type of content is in the document.
    these are real consumers of the site and should not be ‘designed’ out of consideration.

    design isn’t just about pixel-precision.

  18. All right, this is off-topic, but when I submitted the last comment, I got an “error” about something with one of your (Vito’s) spam-defeating measures: I guess I’m just unlucky in that the “penis-enlargment” directory didn’t exist or some such nonsense.


  19. Unless i’m missing something, the last time I checked, Flash required the user to ensure that they had the latest version of flash installed in order to (in your words) view the content exactly as you intend it…

    I can assure you that a .swf exported for use with flash player 8 will NOT look as you intended it when played in flash player 7 or lower…

    Your rant did make me smile however, I’m sure we all get hacked off with dealing with so called ‘standards’, however flash (IMO) is most certainly NOT the answer,

  20. Thanks, mwp. I agree, Flash isn’t the answer for everything. I was just pointing to its success as a model of something that generally does what one expects of it. As others come up with their own versions of the SWF player though (and it’s happening), there’s a danger that even that consistency may disappear some day. And then I’ll rant about that, too.

  21. just try to run your pixel designed swf on a nokia phone.

    i bet you have to do some fancy schmanzy actionscript work to figure out which device you are running on, meausre the canvas, scale some parts, remove others, etc. etc.

    if you don’t, it wont look the way you intended it.

    but box model hacks, clearfix’s and font-sieze 180%/1.2 and * html p sure sucks hardcore.

    but what can one do? go on a strike?

    i suggest that everybody who doesnt like the way browsers work refuse to use the web until the browser makers fix it. or, we could all just use one rendering engine (gecko). you can still choose your browser 🙂

  22. If you site is about delivering an “experience” to the end user I agree with you 100%. That’s what Flash is great at. If the purpose of your site is to deliver content, then I have to disagree. In that case your job (for lack of a better word) is to deliver the content to the end user in an easily digestable way. And they should be able to do what they want with it in order to consume your content… i.e increase the font size to 500%, pass it thru a screen reader, project it on to a wall, copy it and paste it, send it to their cell phone, and on and on and on.

  23. Great conversation, thanks. (My take is that sometimes we need predictable presentation, sometimes we don’t, and that predictable presentations are easier to achieve with a predictable implementation of the underlying rendering engine. Both approaches are good, complementary.)

    Some particular Flash-oriented points in the comments:

    o HTML is great for text-blogging, agreed, although I’m still not sure which spec describes the ideal behavior of ham-sammich delivery…. 😉

    o JAWS and Window Eyes both do text-to-speech for SWF content, and in fact support it in a more configurable way that HTML work does:

    o Googlebot does slurp text in SWF… do a search on “contrary evidence filetype:swf” to confirm, or “dowdell swf seo” for more info.

    o For versioning, you can publish to SWF8 format, or SWF7 format, or SWF6 format or whatever. Some browsers do minimum-version testing (ActiveX in IE/Win, eg), others will try to play it. The constraint is the rendering engine each consumer has happened to install. (Flash Player 8 flew past Firefox in its first week, past Windows XP Service Pack 2 in its first month, and is now at about the level of all Windows XP installations.) Bottom line: You don’t need the *latest* Player to view predictably, just the appropriate Player for the file version you’ve chosen.

    o “Nokia phone” is a good example. We definitely need to design differently for different sizes of display, and different input devices. (and different social use too!) Nokia is already a big backer of the Flash Lite rendering libraries:

    o “Content” is both medium and message — the presentation influences how the message is perceived. Rephrased, text ain’t the only means of information in the world, and in fact you could argue that straight English-heavy work is less accessible than integrated use of text, image, animation, sound and video.

    Good thread of commentary here, thanks.


  24. Thanks, John! I was compiling a list to address most of these same points, but you nailed ’em better than I could have (and certainly with more authority). Truth be told, I use a lot of different tools and technologies for developing personal and professional projects; Flash is just one of the more enjoyable ones. (Ironically, anybody that knew me four years ago would be shocked to hear me say it — There was a time when I kicked, screamed, fought and eventually hired others just to keep from getting involved in “that #!%@! timeline thing.” Now it’s my comfort food — along with Perl, my first love.)

  25. excellent points and references John. Obviously flash has come a long way.

    I have to say though – the jkrowling site may have become a shining beacon to accesibility – unless you can see. i found that to be a most difficult site as far is usability goes. i had to close it after fumbling around for a while on it. I’d give it a giant F for a grade – i couldn’t use the site. i dunno, maybe i’m not the audience.

    as for flash lite, i’d rather see it used as a standard platform for phone interfaces than i would for surfing. Then again, i think flash is a better tool for app-dev interface design than for web communication. i have future plans to monkey with using flash as the front end to a c# application since i think winforms blow.

    i’m glad to hear the feedback on this, even if the source of the good feedback is not the author (not trying to be mean, veryvito, but i think that reading the comments speaks for itself).

    I can understand the love for flash, but for the most part, i do not consider it to be a web development tool. it plays a part ON the web, and IN pages, but i consider it an optional accessory so far as the web in general is concerned.

  26. Okay, I watched this drama unfold, and now here’s my two cents:

    Messy, I’m not sure what your beef with Vito (or Flash) is, but as he and several others have pointed out already, it sounds to me like you’re both saying the same thing. Your arguments are sound, but I don’t see where they’re really different from his. Vito’s been saying Flash isn’t everything and markup languages are essential since the initial post, but somehow you seem to think he wants the w3c dismantled? A little less self-righteous frothing, and you might see that you agree with the guy. 😉

    To many people, differences in the way browsers render cascading style sheets IS maddening. As a freelancer, I can say “no” to a client, but if you work for someone else, try telling it to your boss. When she sees someone else apparently making it work, you’d better do it too – no matter how you feel a web browser should work!

  27. Hey now, no bar fights at Turdhead! Personally, I’m glad to see some discussion, regardless. Funny which posts seem to strike a nerve.

  28. nah, i’m not trying to pick a fight, or pick on vito.
    many many times i’ve been assumed to be aggressive through typing – it’s the nature of typed communication – unless you dress up your words. after years of writing things, i’m kinda sick of dressing up my words with extra sugar in order to simply sound neutral in writing.

    so i mean no aggression or offence, but i’m also not going to get all flowery, or use emoticons, or say ‘lol’ alot.

    i really enjoy a hearty discourse and i’m glad it has occured to some degree here.

  29. Well, messy, if you won’t say “lol,” then I will.

    No, I won’t…I’m presently feeling some of the initial frustration that propmted Vito to start this whole thing in the first place: I’m working on a site for a “client” (all right, my dad), and CSS is just…not…working. But then again, I demand pixel-level control 🙂 If someone wants to jack with my styles and make his font 300em, be my guest — the 99.9999% who leave it as-is should see what I want them to see. Except CSS and tables is like, well, two things that really, really don’t like each other’s guts.


  30. It’s the damn internet people! It’s like saying let’s start the New World Order and let the earth be ruled by one government! The web is the web, people can do whatever they’re comfortable with. If it works and displays the content to the end user than for my liking, that’s what the intended purpose was in the first place. As long as my car runs on 2 cylinders, then at least it’s getting me somewhere! Screw standards, you standards people have junk looking websites. Whatever happened to good ‘ol “web design?” HTML, invented the internet but yet you’ve got people arguing that CSS is how the web page should be layed out. What, so you can do a ‘view source’ on me and point and laugh if it’s still sitting in tables? Damn, people piss me off. I fully support Flash. I like a medium where people sit there guessing, how’d he do that?

Leave a Reply

Your email address will not be published. Required fields are marked *