tags:

views:

304

answers:

14

I've heard many times that I should avoid flash for my website. Yet no one has told me a good reason for this. I've searched for reasons and I see many that are not true (such as text in flash are not indexable by search engines) or may not necessarily be true or significant enough (eating more bandwidth. Would a JS equivalent be bigger or smaller?).

My site uses flash to playback sound (m4a). I don't have to worry about indexing, the back button not working, etc.

But I have a feeling there may be other reasons. What are the reasons I shouldn't use flash on my website?

I'll note one, the fact iPhone/iPod Touch and mobile devices do not support it. Not a big deal for most sites and it's obvious. What are other reasons to avoid flash on my site?

+3  A: 

Aside of the fact that iPhone/iPod Touch/iPad don't support flash which you've already mentioned, there is also the fact that many users have flash disabled to prevent being shown advertisements (a common use of flash).

Asaph
Advertisements - practically THE most common use for flash.
Bevan
If the user has specifically disabled something in their browser, then they will also know how to re-enable it for a website with a legitimate use of that feature (whether it be Flash, Javascript, images, etc).
nickf
I like this argument
acidzombie24
I have to disagree with this. If a user disables JS he knows that some functionalities on some websites are going to be disabled. In the end they'll end up enabling JS when there's something they can't do with them disabled.
Ben
Who disables Flash to block ads? Anybody who knows how to install flashblock almost certainly has adblock already.
fenomas
Along this same vein, if you decide to use Flash then *please* create your page in a way that respects those people/platforms that don't have it. I always hate going to a website on my phone only to find out that it's completely unusable without Flash. This is one thing that helps give Flash a bad name to many people.
bta
A: 

If it's just to play back some audio, I'd say it's an acceptable use of Flash. At least until IE catches up with the present and implements <audio>. Video is also fine, at least for the moment.

Just don't create your entire website in Flash. They're hard to use and that should be enough not to make Flash websites.

Matti Virkkunen
+1  A: 

If you are just using it to play audio, I would stick with it. It works for that and has been around for a while (I mean, it's not the greatest thing ever, but it does work).

If you are thinking of designing an entire site in Flash, I would advise against that, as you have then totally eliminated mobile devices.

webdestroya
Over a billion mobile devices support Flash. I think you mean "eliminated mobile devices from Apple", which is quite true.
fenomas
A: 

Flash is annoying because:

  • Users have to have the plugin
  • Context menus don't work right (you get the Flash context menu instead of the browser's)
  • Mouse gestures fail when started over a Flash object

For audio, I'd say Flash is probably the best cross-platform method though. If you're really hardcore, you could nest it inside an <audio> tag, so that people with a non-IE browser don't need Flash. I believe it works something like:

<audio $attributes>
    <embed $attributes />
</audio>

Any browser that understands the <audio> tag should ignore anything inside it.

Disclaimer: It's probably not worth the effort. Everyone has Flash, and as long as you're not using it for your layout, you should be fine.

Brendan Long
+1 for the note about mouse gestures... it's really annoying sometimes :)
nico
"Flash is annoying because users have to have the plugin". I counter with: "HTML is annoying because users have to have a browser." The install base and the simplicity of installing the plugin makes this a non-point.
nickf
Guess you never tried to install Flash on Linux right?(ok, ok, it's got MUCH better lately, but still far from easy for the average user IMHO)
nico
nickf: Not 100% of people with browsers have Flash, and some people may not want it. if you look at the second paragraph you'll notice I also said that it's the best choice anyway.
Brendan Long
+6  A: 

Flash is a tool just like PHP, ASP.NET, Ruby On Rails. Like any framework you can do sites that are good and bad. Any tool can be abused, Flash has gotten a bad rap because there are many annoying sites that use Flash. However that are FAR more that use Flash in a good way.

David Basarab
+2  A: 

A major reason not to use Flash is because Adobe Flash is proprietary software. This means it is developed solely by a single company, and the source code is not available to the public. This is bad because:

  • Flash is really only available for the platforms that Adobe decides to support. Currently, the list includes Mac OS X, Windows, and Linux (if you have a certain kind of CPU). A lot of platforms and architectures are marginalized, most notably the iPad/iPhone. That doesn't just hurt those weird people using FreeBSD on SPARC or whatever, it limits adoption of such platforms.
  • Many people morally object to installing any proprietary software at all for various reasons:
    • Using proprietary software lessens interest in free alternatives. Also, Flash is the biggest roadblock of a fully open Web.
    • Running software you (or the public) don't have control over makes it more likely that someone else might use it to spy on you.

There are a few open source Flash implementations, such as gnash and swfdec. However, last time I checked, most Flash content simply does not work with them.

Although Flash has a bad reputation for being associated with intrusive ads and gaudy effects, this could also be said about excessive JavaScript. Just because a technology is often abused doesn't mean it should be considered harmful and shunned categorically. In my opinion, Flash as a technology is actually really great. However, (primarily) because it is proprietary, Flash limits accessibility and adoption of new technologies.

Joey Adams
I really dislike this argument. The software not being open source is a terrible reason not to use it--it's not practical at all. Also, technically speaking, only the Flash Player is proprietary; the Flash format is an open standard. That's like telling people not to use Opera because it is not open source.
musicfreak
@musicfreak, you are spot on.
nickf
There's a difference between telling someone not to use XYZ and telling someone not to force people to use XYZ.
Joey Adams
Web designers force users to use HTML-capable web browsers. I fail to see how Flash is different. It's just another tool; I don't see why you are so against it.
musicfreak
Proprietary standards are like playing ball with the kid who insists on only using his ball for his game. It's fine for a while, but pretty soon, he's going to quit playing ball. I'd rather play with the kid who shares his toys and plays with everybody.
kainosnous
You left out a hell of a lot of platforms. Symbian, Brew, WinMo, LiMo, Wii, PS3, PSP.. I'm probably forgetting some. (Plus, I'm not sure "marginalized" is exactly the word for iPhone/iPad..)
fenomas
+13  A: 

You cannot open links in a new tab in Flash. You cannot use the browser's "Find" feature in Flash. You cannot zoom in Flash. You cannot use mouse gestures in Flash. You cannot use your browser's spellcheck in Flash. I could go on.

However, you can play video and audio in Flash. You can show complex animations in Flash. You can access the user's webcam and microphone in Flash. And you can do many other things in Flash that you cannot do in HTML--in a cross-browser way.

In other words, Flash is bad for usability, but has many legitimate uses. If you need one of Flash's features and HTML just doesn't cut it, there is no reason not to use Flash. However, you need to be aware of the drawbacks and not use it simply because you want to.

musicfreak
excellent answer as well
acidzombie24
I don't understand the downvote.
musicfreak
lol jealously maybe? all answer above this (currently) have -1 except for Asaph's which may have recently got an upvote.
acidzombie24
+1 for actually answering the question rather than just writing "Flash has no problems" like everyone else.
Brendan Long
+5  A: 

Flash is, by far, the best multimedia plugin for the browser there is.

It gets a lot of flak surrounding its accessibility and "annoyance" level, but these stem from people using it for sub-optimal purposes: eg, building an entire site in flash, pop-over advertising. As such, I would disregard this criticism. You can imagine that if there were a trend towards people replacing all the text on their websites with jpegs, there would be a lot of complaints, but it would be silly to blame Photoshop or the <img> tag for that trend.

Flash is 100% perfectly suited to purposes such as animation, video, audio, and gaming. Use Flash on your site when you need to use elements such as these.

nickf
A: 

Nobody mentioned this one yet:

  • because of Adobe's abysmal security track record (major reason invoked by Apple btw)

In my view it's an insecure underperforming clumsy proprietary product that anyway won't work on the millions of iPhone/iPad out there.

Heck, I didn't even bother to install Flash on my Linux workstation (and, no, I don't watch youtube videos on my workstation ;)

Anyway, HTML5 is here and it's here to stay and it makes Flash even less compelling.

Webinator
A: 

Why I don't use flash:

  • I have to pay to use, but I can't have a free simpler tool for using flash.

  • The concept, most of flash sites uses some fancy presentation.

  • I can do the same things using javascript. Without using big tool.

  • You have to install a plug-in to play it, some people have problems to do that(really I've seen it once, I can see it again)

  • Stopped impressing me, really all the things I can see in flash, I've saw years ago. Nothing in flash have stunned me. So I think that won't be more.

So if I can use a feature like javascript, that's impressing over the years, and getting more libraries and plug-ins everyday. Why I would use something that I have to pay for it, that haven't done something great, since...

Juliano
You can create flash for free with Adobe's Flex SDK. There are other free tools like haxe, etc as well.
fenomas
Uhm flex isn't a framework for what I know, and if I'm not using some of the languages that it's support. Flex is not flash...haxe, for what google told me is a programming language, so why learn a bunch of things, It's not easier or simpler.Don't make sense.
Juliano
I didn't say they were easier or simpler, I said they were free. Haxe and the Flex SDK are both open-source packages which you can use to make Flash content.
fenomas
+1  A: 

Accessibility.

Screen readers can't read flash files, can't understand what the flash content represents & can't read it. It's important not to discriminate against people you have problems reading/seeing the screen.

Ben Rowe
Flash does have a certain amount of support for screen readers. The problem is that content must be built to support them, and that such content is very rare, so nearly all Flash content is not accessible. But it's not correct to say that screen readers can't do anything with Flash at all.
fenomas
A: 

The problem with Flash is that as a proprietary standard, it is limited and not flexible with regard to community input. Other than IE, it is the greatest hindrance, IMHO, to a mature web and limits imagination and innovation.

A mature web is one with content fully controlled by the user. As such, that user should be able to do such things as go forward/backward in history, adjust the size of their display, or even choose not to have any visual display at all. Content and style should be separate. Markup should give context to content. Flash does none of this, but can be added to a site that does.

So, if you want to serve your visitors a hollow magazine page with video and links, or if you are of the opinion that your visitors should view your content only in the way that you have predetermined, then Flash is the only tool you may need. If you want to add functionality at the expense of progress, then Flash is a great addition to your site. Every tool has a trade off.

kainosnous
Ohhh... well said.
CurtainDog
A: 

Rich internet apps (regardless of framework) go against the original intent of the web. That being said even the w3c is getting on the bandwagon with html5. So the best advice is probably use it when you need to and avoid it when you don't.

CurtainDog
A: 

Main reasons for me:

  1. Flash sites tend to be slower for me (running on a mac) and I've found some sites (hotels in particular), where I was totally unable to access some of the functionality.

  2. I've noticed recently that more and more flash items on pages seem to be throwing errors (I have Adobe flex installed at work, and get a prompt to debug it). The latest version seems to be a bit shaky.

Paddy
When you see errors pop up in the debug player, that means the content you're watching had an uncaught exception. It doesn't have anything to do with the stability of the flash player.
fenomas
@fenomas - I'm aware of that, I'm just seeing a lot more recently than I had previously.
Paddy
@Paddy - then presumably you're browsing more than previously, or browsing content with more errors than previously. What does that have to do with whether someone should or shouldn't use Flash to play mp4 audio?
fenomas