Why Flash websites are a really, really bad idea

Just to state some basic facts…

  1. Flash doesn’t work _everywhere_, unlike normal HTML. My computer runs a 64-bit OS without 32bit emulation, and Adobe has yet to provide a Flash player for any 64-bit platform.
  2. Flash requires a proprietary plugin.
  3. Flash does not let users change font sizes or contrast settings using personalized stylesheets.
  4. A lot of screenreaders and other accessibility tools does not work with Flash (some screenreaders does using a Windows-specific API).
  5. Flash is not indexable by all search engines. Some does index text in Flash files, but since there is no way to link to the subpage your query was found in, people can’t be redirected to the result, making the result useless for users.
  6. If a browser doesn’t support Flash, you get nothing unless the entire website is also saved in a standard compliant (also know as HTML) way. If a browser doesn’t support CSS, you will still get a readable website.
  7. Flash doesn’t not present my usual OS widgets (textfields, submit buttons and such) or use my OS settings for these (larger fontsizes, higher contrast and such).
  8. Flash is owned by a commercial entity and even though the format specification is open, it is not licensed for free use.
  9. Flash sites breaks the back button, a fundamental function that users are used to.
  10. There is no way to bookmark a subpage of most Flash-only sites.
  11. Flash doesn’t work in most alternative browser devices, like PDAs or Smart phones.
  12. Printing content from a Flash site is extremely difficult and most of the time comes out weird on paper, if at all.
  13. Flash doesn’t provide a standard way of navigating without the mouse (tab navigation is possible by default).

Note: I’m not saying Flash should be banned from the net, I think there are numerous valid reasons to use Flash. But my opinion is that it should only be used for interactive multimedia which cannot be represented in HTML/CSS/JS in an easy way. Stuff like games, ads and (because of terrible object tag support in browsers) video playback. If you need to use Flash to have graphical menu buttons with mouseovers or display a logo in the header of your site you really should reconsider your profession. :)

Edit: Item 5 moderated, item 13 refuted.

Sidenote: Tadeusz Szewczyk at Fadtastic talks about the demise of Flash.

Edit: Item 4 moderated.

  • Morten

    Almost all of your “facts” are just plain wrong. You obviously don’t know anything about Flash or its capabillities. How can you write such drivel? Reasearch your topics before you start spouting bombastic statements like this.
    Not impressed!

  • I’d _really_ like to see links to articles that refute “almost all” of my facts. :) As a matter of fact, I have done quite a lot of research on this subject. I have done some slight editing on some of the points to clear up some potential misunderstandings, as well as adding two new ones.

  • blueNine

    Actually, he’s correct on most points. I don’t think anyone is saying “Never use flash”, but to use flash to create a complete site is a bad idea.

  • Morten

    1. How many do this apply to, really? If absolutly everyone is to have full access to all content at all times, tell me why does this page fail WAI level 2 and 3? This page isn’t even a valid xhtml-document.

    2. A proprietary plugin that pretty much everyone has installed.
    How is this a problem?

    3. If the flash designer has the know-how he can easely make the flash movie scaleble. If he knows anything about color schemes the contrast issues are void. It is not the technology that fail here, it is the designer.

    4. I would like to see the documentation for this statment. I went to the @media confrence in London this summer. On of the speakers is blind and was talking about accessebillity. He actually said flash had a lot of great features for screen readers, but that most designers didn’t have sufficient skills to maker use of them. Again, not the technologies fault.

    5. Flash is not as available to search engines as straight html, but it is making progrss.
    Still, if the information on my site was crucial, then I would build the site with xhtml. But lets say I want to develop an online brand. Flash is so much better at conveying that “cool” feel you want your users to get. Rich media is better at somethings than html, and vice versa. Thers is not an absolute right or wrong with every project.

    6. If a user has flash turned off or is using a browser that doesn’t support it, than just have the page render alternative content. Use SWFObject to do this (http://blog.deconcept.com/swfobject/).
    If you choose to build a flash web site, then you take into account that some users will see alterntaive and possibly not so “cool” content. They will however see the information you want those users to see.

    7. Jeez, how is that a problem? Just leave the site then.

    8. So everything that isn’t free is bad. Let’s all bash on Microsoft and be men! Please explain to me WHY every piece of information or technology on the web should be free?

    9. I beg to differ:

    10. Yes, there is:
    This breaks the back button though, so for large sites you might want to think about it first.

    11. Yes, they do:

    12. Again, the technology supports printing, but that doesn’t mean the designer knows how to implement it.

    13. You can create intelligent tabbing using the tabIndex and tabEnabled properties with the movie clip, button, text field, or component instances.

    I wouldn’t use flash for all projects, but in some cases flash will be the better choice. It all depends on what you want to communicate, how you want to communicate it and to whom you want to communicate it to.

  • 1. As the numbers you link to tells you, Flash sites alienate every 20th visitor. That IS a big deal. It’s about being accessible. And when it comes to my xhtml, the site itself is valid, I just had a misedit in my article. And that further proved my point, since the page was still readable. Try serving Flash player an invalid swf and look what happens. :) My fact is not refuted, my own Linux 64bit install proves it.

    2. See 1 about loosing visitors. Using a proprietary plugin means that if Adobe suddenly decides that their player won’t play Flash movies unless the author buys a license from them, they’re free to do so at ANY time. It’s not likely, but they have that power over MY work, and that’s completely unacceptable. Not refuted. My fact is not refuted, even Adobe’s license tells you it’s _their_ format.

    3. Can you link to an article or tutorial on how a Flash movie can respect the text size I’ve selected in my browser or use the default text color I’ve chosen? It’s not the designers job to scale. The user should have it’s browser preferences respected. Not refuted until you can provide a proof.

    4. I’ll moderate my point here, as my sources might have been a bit old. Flash only supports screen readers using Microsofts Active Accessibility proprietary (again, *sigh*) API which is only available on Windows and only supported by Internet Explorer 6 or newer. There are however two readers that support it, Jaws and Windows Eyes. This is still not what I call “screen reader aware”. Not refuted.

    5. I’ve seen the SDK, but the support is close to non-existent even so. Have you ever had a hit in Google in a swf? And if you by some magical power did, that link would only bring you to the front page of a Flash site, not the actual page your text was found in. Useless, and not refuted.

    6. That means creating two sites and therefore isn’t a property of Flash itself. And if you have to create a HTML site anyway, why make two? It’s not thanks to the JPG format that I can serve people with images off the text of the alt attribute. Not refuted.

    7. Really good argument there. :) Users with bad eyesight might choose high-contrast color schemes for their OS, which also affects controls in HTML forms. Or they might adjust the text size used to see better. Or they are dyslexic and have spell checking in their text fields. Flash is spitting on their preferences. Not refuted.

    8. Remember the gif format when the company suddenly demanded money from every software author that wanted to generate gifs? Also see point 2. You can’t tell me the format is open, so this is definitely not refuted.

    9. It is possible to repair Flash’s completely broken behavior by using a completely different technology known as Javascript, but that isn’t Flash’s own property, and it’s not something you see done often. It’s like saying HTML allows you to write upside down, because an ActiveX component allows you to do it. Not refuted.

    10. Same as point 9. It isn’t something Flash allows you to do. It’s a hack for repairing Flash’s built in brokenness. Not refuted.

    11. I know Flash had a Pocket PC version. But what about Symbian or Palm? Every mobile client is not Pocket PC compatible. More and more basic phones with proprietary OSes (Samsung, Sony Ericsson, Nokia and so on) comes with XHTML compatible browsers with no way of adding 3rd party plugins. Not refuted.

    13. That requires you to create all your print content programmatically yourself with no user preview. Most users click their browsers print button when they want to print something, even websites with “printer friendly” buttons experience that users overlook the function and uses the browsers print button. Not refuted.

    You have some points which is a good bias to my article, and I appreciate that.

    But you my friend, seems to be the bombastic one. I can’t see that you prove a _single one_ of my statements as “just plain wrong” as you put it. That’s quite a difference from “almost all” to zero…

  • Trond

    Håvard is right, maybe not 100 % correct on all points – and some of them are open for discussion, I think – but his main message is 100 % correct: Flash websites (which I read as: Websites done entirely in Flash) are a really, really bad idea.

    Flash is a unique tehcnology for creating online applications (or RIAs), where you want to optimize design and user experience.

    Creating entire websites in Flash, however, is plain stupid.

    Every cool, ultra-urbane, self centered (and probably metrosexual, as well) designer type, who spend more time using phrases like “I can’t wait to get may hands on the new version of Flash and play around with it”, who create entire (or allmost entire websites in Flash), and who use Flash to build useless crap, should be shot on sight. They are the ones giving Flash a bad name!

    The “Skip intro”-days may be over – but now we are living in an era with missing “Skip useless crap made to show off”-buttons.

  • Morten

    I do not agree with Håvard, and I do not agree with you. Take a look at http://www.2advanced.com and tell me how it hurt that company to have built all their versions of their site in flash. This is one of the most acclaimed web design companies in the USA. Take a look at their client list. I want you to explain why these people are “plain stupid”. The problem with flash-bashers like yourselves is that you are blind to what actually works (in a commercial sense) and what does not. Ok, so maybe their site isn’t 100% accessible to absolutely everyone. So what? Do you think that “everyone” is their target audience? Do you believe that they care that some geek that refuses to use anything that has the Microsoft or Adobe/Macromedia stamp on it can not view their site? And how many blind or severly handicapped people work with design? Who cares if they can’t use the site! Those are not the target groups of the company. You can bash on flash as much as you like. Leave the use of flash to those who know how to use it and use it to target their target groups. The fact of the matter is that cusomers want flash because of the versatillity of the software. They like it and they know flash banners and cool looking flash sites generate income. I know this because I work in the industry and have seen the statistics. That said, I write 100% semantic, validating and cross-browser xhtml Strict markup and css. They conform to the W3C specs on accessebillity (WAI AAA) and I always beta test with alternative devices to go beyond automatic validation. I say this so you won’t take me for a beginner who knows nothing of web development.
    An all flash web site can be great for its use. But not all web sites should be built with flash. It all comes down to target groups, intention and product. To say all flash websites are bad is just ignorance talking. A lot of them are truly bad, but that is not the point. A lot of html-sites are truly bad too.

  • I suggest you take a look at http://justaddwater.dk/2006/01/20/one-of-four-web-users-are-disabled-users/

    25% (minimum, the author seems to think the actual number is higher) of web users are affected by accessibility problems one way or another. Are you saying 25% of web users are not your target group?

    I’ve been to 2advanced numerous times. Their design is awesome, and their animations are too. But the website is extremely noisy and cumbersome to use. Quick, try finding an employee list from the second you type in their URL and time your result. Now try the same on any company with a normal HTML site and note the difference. The design is effectively acting as an obstacle for actually finding information. Navigating through a site that forces you too look at long animation sequences every single time you click at a link is _not_ enjoyable, it’s just a pain in the a**.

    Websites are about content and (for some sites) user interaction (and having things bounce when I click them is nowhere near my definition of interaction). When the focus is shifted towards glossy buttons and animations instead, the user experience is often forgotten.

    If you think accessibility is so irrelevant that it can be ignored for Flash sites, why do you bother to validate your websites against WAI AAA?

  • Morten

    “Websites are about content”
    Websites can be about anything anyone can think of. Who died and made you Master of the Web? Even the W3C only make recomandations, there is no law that says you have to make your site this way or that way. I know of course about Section 508, and I actually validate against it, not because I have to (it’s an american law) but because I take pride in following standards and being accessible.

    “If you think accessibility is so irrelevant that it can be ignored for Flash sites, why do you bother to validate your websites against WAI AAA?”
    I don’t think it should be ignored. I think the person who makes a flash web site should make the site as accessible as he thinks is nessesary to cater to his target group. If after analyzing the project he finds that close to a 100% of his users will have no problem using a flash web site, AND the use of flash will enhance the user experience either through animations or rich media then why not use flash? Like I’ve been trying to point out: Flash _can_ be the best choice when certain criteria are met. And when making a flash site there are ways around most of the problems you wrote about in your article.

    So, I’ll state my opinion clearly:
    XHTML/css will always be more accessible then a flash web site if coded correctly. A flash site can be accessible to most users, including handicapped people if done right. Sometimes the goal of a project warrents the use of a flash web site, but most often not.
    That’s beasically what I have to say about this topic. Reply and lets be done with this. We’ll never agree with eachother.

  • Bob

    You could say the same thing why making a web site in pure HTML is a bad thing.

    1. You can’t do video in straight HTML – you have to externally link other activeX controls that could possibly break the web site.

    2. No drop shadows, glows, filters, blend modes. Only CSS can do this.

    3. Cannot do dynamic changing lists (you have to use Ajax and DHTML)

    4. You have to use the native browser in order to display the content — no custom look to create an incredible user experience.

    5. You cannot do anti-aliased text.

    6. Animation is nearly impossible unless you use flash or dhtml – and even then dhtml is implemented in different browsers differently so results very.

    7. HTML fonts cannot be embedded and only uses whats on the native machine.


    You get it? That’s purely from a viewpoint of a designer and why people use flash. If you dont give a ** about design then using flash doesnt matter.

    We are going into a visual age where animation is huge and that’s why flash can create your experiences.

    As for point 8.

    It’s good to have a single source for a plugin — that way you can know it will work the same on all OS’s.

    Flash works on linux, mac os, intel macs, vista, windows xp, windows 2000.

    Point #1:

    Ok, so it doesnt support 64bit – fine. Not every software package supports it as well. I know flash can run on linux with 64bit — people have done it.

    #2 — Requires a proprietary plugin? Doesn’t matter if it comes pre-installed with browsers, etc. Look at the penetration stats.

    #3 — Not true. A flash movie can be set to allow someone to change fonts and stylesheets.

    #4 — Ok. Ive seen other people do accessibility with flash just fine. There are articles and tutorials on this.

    #6 — This is the stone age.

    #7 — This is your opinion because you want the native widgets. Flash has themes that can make it look like native widgets. Just like how microsoft did the same thing with their new .net 3.0 package — it uses vector to render the widgets.

    Take the point of view of a designer who wants to create an experience and is forced to use the exact same buttons for everything. It’s lame.

    #8 — Does this matter? You can still install the flash plugin anywhere you want by using adobe’s installer. Just like when you install IE – you have to run the installer. Its the same thing.

    #9 — Back support exists and deep linking. http://www.asual.com/swfaddress/

    PDAs, phones? Ever heard of flash lite?

    The basic point here is that you want everything to remain the same and consistent with the same buttons using the same os widgets.

    With flash you can do ANYTHING. And you’re asking for restrictions and standardization which can be appreciated, but you’ve got to take the viewpoint of someone who is marketing and who wants to communicate a message and have a customized theme.

  • You can do video straight in HTML, it’s called the object tag and has been around for ages. Same things with glow and dropshadows. A lot of websites has it without Flash. Just because a page does a refresh doesn’t mean it isn’t dynamic. And antialiased text is done in most browsers by default today. So, off to your arguments…

    1. I also know it’s possible. It requires the installation of a whole stack of 32bit libraries and running your entire browser process in 32bit mode. No thanks.

    2. It’s still proprietary, look up the definition.

    3. “Allow someone” and respecting the preferences is not the same. If these people have a central place in the OS to set the preferences, they shouldn’t need to readjust them for every webpage or application they launch.

    4. See my answers to Morten. There is some usability support, but compared to HTML, it’s still severly lacking.

    7. And how would the Flash anim know how my native theme in Kubuntu draw it’s widgets? It’s not because I want it, it’s because some people need it.

    8. Yes it does matter. I will not give a commercial company the control over wether or not my design will be displayed.

    9. See my answer to Morten.

    I sense that there are huge differences to how we look at design. Flash fanboys seems to design for web as if it were paper, ie controlling the entire experience, revoking control from the user in the process.

    For a look on how to really make use of the web, I suggest you read http://alistapart.com/articles/dao/

  • I won’t make any more arguments, as the points in your last post are points that cannot be argued about in an objective manner. It’s your opinion against mine, and I guess we’ll have to settle for that. :) I’ll agree that we’ll never agree.

    However, I invite you to read http://alistapart.com/articles/dao/ – I feel that article might explain some of the differences in our viewpoints.

  • frank rizzo

    Your argument is asinine. There are a million things one can do in Flash that cannot be done with HTML or CSS or Ajax. So tired of seeing this garbabe on the web, it’s like a bug on my windshield. Get over your “flash is really bad” soapbox. What can you do in Flash? I think most anti flash people are the way they are because they are scared to learn it. It takes considerably more effort than HTML or CSS or PHP. Much easier to poo-poo Flash and Flash “fanboys” than it is to actually learn how and when to use it to enhance the experience of your viewers.

    I wouldn’t want a web without Flash. These boring strict CSS/HTML sites are missing the boat.

  • Mik

    Håvard is right, just admit it. Flash just makes sites slow, and that is also a pain is the a** and it makes me I.R.R.I.T.A.T.E.D. I hate to wait.

    It’s not very accessable i many ways, but somethimes it can be very good too.

    And, how should it help, and be good to create flashsites when those people who create don’t know anything about flash, and then make a shitty site?

    HTML For The Win.

  • andrew

    sorry, but i think you’re talking rubbish… you said what about people who don’t know how to use flash and design a site in flash? what? why would they be using flash in the first place if they didnt know how to use it?

    the truth is a web site can be designed entirely in flash and be very good, look at starwars.com; if the designer has good knowledge of actionscript just about every problem can be overcome. also. another truthful point, people who knock it are usually people who have tried to learn flash and found it too difficult; i have never heard of anyone who has learned to use flash and then gone back to html…. the internet is changing, keep up!

  • aud1

    I agree with Pedersen’s comments regarding flash, plus I’d like to add one more — for those of us who are afflicted with vertigo (damaged inner ear from strep infection when I was very young), flash can turn a simple visit to a website into the equivalent of a long bumpy ride in the back seat of a car! Perhaps websites heavily employing the use of flash should be required to post a warning — Caution: Dramamine may be needed to navigate this site! :-D

  • DJ MichaelAngelo

    VERY good missive – Flash sucks major donkey d*ck, and is the worst thing to hit the web since myspace. Pie in the sky webmasters who like to show off their bells & whistles: K.I.S.S.

  • aliezoid

    i agree with what the guy above said. flash has it’s role. but not as a full flash website.

  • fuckflash

    fuck flash and fuck adobe, and fuck all these artsy fartsy types who think by doing pointless animations in flash is somehow revolutionary.
    most flash is pointless and a fucking waste of time.
    If I see a flash website which has a loading animation on it, i immediately close it. Flash is only useful for one off gimmicks, not useful stuff. Flash is a fucking waste of time for people who like to masturbate themselves.

    html,css and javascript are more than enough.

    fucking useless flash is for morons.
    anyone who uses flash to impress people can suck on my cock and go fuck themselves.

    fuck flash and fuck what it does.

  • I found this article by searching for +Flash +”Bad idea” because building a site entirely in Flash or even primarily in Flash IS a VERY bad idea.

    Designers may love it but it creates an extremely poor user experience for a significant percentage of Internet users:

    1) Those with older PCs or
    2) Slower Internet Connections or
    3) 64 bit Operating sytems or
    4) Limited bandwidth (or who must limit bandwidth due to being charged for overages or even having their Internet cut off for 24 hours as HughesNet does if you exceed your limits)!
    5) When using mobile phones
    6) Internet Users with common disabilities such as reduced vision

    I know most designers love Flash; however, it is NOT in the best interests of businesses whose primary purpose should be offering information to their potential buyers and NOT entertainment. For that we can watch movies!

    See my just published post which I link from this comment adding more reasons why Flash is a bad idea and also when it can be very useful.

  • Velma

    This is old but after reading the angry comments I just have to leave my own.

    REALITY CHECK: Flash is ANNOYING!!! and always has been. I wish designers would just listen when they’re told this. For every 1 that has basic website functionality, there are thousands upon thousands that are complete rubbish in terms of usability. An all-flash website is GUARANTEED to lose clients’ viewers for one reason or another. It’s simply not worth it for the client and is purely self-indulgent for the designer.

  • Flashboy

    Flash used right is great, but a complete site in flash is often a bad idea. Here is an example that would be impossible with only html/css, it goes way beyond dropshadows, AA-text and glows:

  • There are not many educated people writing here. Head over to http://www.useit.com There you find all the facts

  • 1. Flash is not working everywhere, but you forgot to mention exact the numbers. Statistics show that 95% of user agents has flash installed. You can not really say HTML4 “works”, everywhere, because while on my safari it looks terrific, my IE shifts tables and divs around like nuts. As html developer you must be familiar with computability issues.

    2. How on earth you need to pay for plugin licence. Go and download plugin here http://get.adobe.com/flashplayer/ and sdk here http://opensource.adobe.com/wiki/display/flexsdk/Flex+SDK

    3. Yes, if developer has not added such functionality.

    4. –

    5. Flash source code is binary. That’s one of the reasons flash weights less, but that really is not the point here, since you can compress html contents for faster downloads using gzip algorithm on supported browsers. If you are worried about search engines, nobody is preventing you putting text contents behind the flash. That is what I always do. Create primitive XHTML with all textual contents from flash and database. If you think it is extra work then I think you are lazy. Quite recently I built flash site that ranked at very top by search keywords client requested, because for XHTML search engine version I spent more time on thinking about SEO.

    6. Listen to yourself “If browser doesn’t support the CSS”. Are you from past? For those unlucky 5% who does not have flash player installed put a link to flash plugin download page. Or for humble systems and search engines as I said, create plain XHTML with textual contents. If you are not able to run flash on your agent, then probably you don’t care about visual effects any way. This is what I always do.

    7. It is owners decision how the web page should look, and it really should be owners decision.

    8. Even though it is not licensed for free use, you are legitime to use if for free and develop on platform for free what else do you need?

    9. …

    Allright I’m tired of writing. I agree with Morten that your points based either on lack of your knowledge, or absolutely irrelevant issues or shortcomings that arises from bad developers not technology itself.

    My point is that you should stop telling everybody how bad technology flash is. Because people with lack of understanding can actually believe your words without understanding technology. I like HTML of it’s simplicity. This is a very good format for documentation, manuals, laws and news portals. But when it comes to Rich user experience the flash is the right choice. Even if it is a whole web page. In my opinion HTML5 new graphical and visual elements were unnecessary. HTML 5 will never substitute flash. What you already see that that developers with minimal experience are starting to put together resource demanding code and it runs even slower than flash did. HTML5 will gain it’s bad reputation for the very same reasong flash gain it’s bad reputation – lack of smart developers. You can turn of flash if you do not like flash banners today, but you will not be able to turn off HTML5 banners tomorrow.

    So please understand that all technologies are good. In this case both technologies has it’s own application, and even there is overlapping usage area. Respect actionscript developers as we respect HTML developers.

    I will also quickly add flash advantages you were probably unaware of.
    * Raw bitmap data manipulation using BitmapData
    * Low level CPU programming using Pixelbender
    * Low level GPU programming using 3D engine Molehill
    * Remote procedure calls
    * P2P direct connections for chat, video and audio translation using Universal Datagram Protocol

  • miniml,

    1. Compatibility issues and “not showing anything” is not the same, by a long shot.

    2. Proprietary does not mean you have to pay for a license. But it does mean that a company (which has making money as a goal) might demand money for a license whenever they wish. Or prevent you from controlling how your content is displayed.

    8. Control over the fact that it always will be free. That’s what I need. Adobe can do whatever they want with the Flashplayer required to display the content. That is not freedom.

    Most of the features you mention at the end are coming in HTML5. WebGL and websockets solves all of that.

  • 2., 8. if and when Adobe will start asking money, or even talk about that bizarre idea I will change the platform. For now I will keep using what technology offers. In my opinion that is great that commercial company gives away it’s tools for free.

    That is also great that with HTML5 you can use now many features that in past was available only in flash. HTML5 can look back at many issues that flash has since flash was pioneer in many areas.

    There are many programming languages out there and it is not right for one individual to impose which language to use.

  • Pingback: Moonfruit Review | Site Builder Reviews()