John Dowdell recently twittered about doing a twitter search for “hate flash”. It got me thinking, having recently tried in vain to handle some protests about Flash.
My personal feeling about it is that when someone hates something – really HATES it – it has generally gone beyond a rational argument. It’s no longer about the technology or standards or accessibility or anything else. It’s more like religion. They hate it, it’s evil, it sucks, it should die in a fire, and if you disagree, you are F’ing ignorant. STFU NOOB!
So attempting to explain the open screen project, or recent advances in search indexing or back button handling, etc. really doesn’t get you too far.
But it really makes me wonder, why do people REALLY hate it in the first place? What gets them to the point where they become so livid about it? I mean, I’m pretty sure I use the same Internet as other people do. If Flash sites are really that bad, shouldn’t I be throwing my computer through the window too? Sure, I see abuses here and there. I see bad Flash stuff and good Flash stuff. And I see bad HTML and good HTML. Yeah, I see the occasional really bad site that is obviously so poorly done that it’s not even worth staying on. But it’s not always or even mostly Flash sites that fall into this category. There are plenty of really awful HTML sites. But neither type have ever got me seething with rage the way some people are about Flash.
So, seriously, I’m really curious why so much passion and emotion. So I did a google search for “I hate Flash” and “Flash sucks”, looked through the first couple of pages of results for each, and compiled what I think is a fairly complete list of the major objections. This included the points from the original articles, as well as many comments to various posts.
Now, many, MANY, of the comments really didn’t shed any light on why people hate Flash. Stuff like: “Flash sucks”, “I hate Flash”, “I vehemently hate Flash”, “I hate Flash with a passion”, “I detest flash”, “Flash sucks a big floppy donkey dick” (I’m not making this up). One has to wonder if these people were beaten with a Flash product box when they were young.
But some people did list actual reasons why Flash sucks a … why it’s so bad. Here’s what it comes down to, in no particular order, but numbered for later reference:
- search engine visibility
- no linux version
- takes long to load
- cpu hog
- crashes browser
- cant bookmark pages / back button
- not on mobile/iphone
So, since this is my blog, and nobody is foaming at the mouth just yet, let me try to rationally address these.
First of all, let me acknowledge that problems can and do exist in some instances. I don’t like it when my CPU peaks out, I don’t like waiting forever for sites to load, I’m not particularly fond of my browser crashes. And yes, I’ve seen Flash sites that do this.
But let me say this:
For #1, 2, and 7-12, this is wholly the responsibility of the developer who makes the Flash site.
1. There is no rule or requirement in Flash that says you have to create an intro. To be honest, I think anyone brining this up is a bit stuck in the past. I can’t actually remember the last time I encountered a real old school Flash intro.
2. I’m not particularly familiar with the search engine stuff in Flash, but I do know that this has largely been solved. Google can search and index SWFs now. If you want to argue about the specifics of how this is done and the pros and cons of it, I’m out of my league, but don’t just flat out say that SWFs are not visible to search engines.
7. There are ways to make SWFs accessible. Another area where I’m not anywhere near an expert, but I know that if you really wanted to make your Flash stuff accessible, there are ways. Again, I can’t argue if they are perfect or even great, but if a site has no accessibility at all, it’s just because no effort was made to give it any.
8. Ads. Sure, ads suck in general. And Flash ads can have animation, sound, video, and lots of other ways to get in your face and suck more than non-Flash ads. So does that mean Flash is bad? By that reasoning, TV commercials are worse than print ads, so TV should be banned. 3D ads would be worse than 2D ads, so all 3D is bad.
9. Flash takes too long to load? No, bytes take too long to load. There’s nothing special about Flash bytes that make them go slowly through the tubes. A 500k SWF will take the same amount of time to load as a 500k JPG, given the same connection, unless I’m missing something very fundamental. So the real complaint is that Flash sites are bigger than HTML sites. True? Maybe. I’m sure there are some big sites. Here’s where I get to make a dig about Flex. A simple hello world app in Flex will be something like 400k. Of course, as the Flex app gets more complex, its size increases at a much slower rate. So Flex is good for larger, more complex apps, but IMHO not appropriate for simpler stuff. Now I know a lot of you are going to start chanting, “Framework Caching! Framework Caching!” And before, this one always shut me down, but after talking to some people the other night, I’m more skeptical about this. Or, I’m just as skeptical, but have some data to back it up with. But I digress. If a Flash site is huge it’s because some designer/developer made a Flash site without any regard for size. I could easily make an HTML site and give it a 800k uncompressed background image and have the same effect.
10. Flash is a CPU hog. Again, this falls squarely on the shoulders of the developer. If a site is destroying the CPU its because a. there’s too much happening on each frame / timer interval, or b. there’s too much animation going on. This is because someone did this without ever checking what it was doing to the CPU.
11. Flash crashes the browser. Again, shoddy programming, no QA. Of course, there is an argument to be made that even if a bad SWF crashes, it shouldn’t crash the browser. I’ll buy that, but also say that part of that is the browser manufacturer’s responsibility for how it handles plugins, tabs, etc. Supposedly Chrome is tackling this kind of thing.
12. Can’t bookmark / use back button. Solutions have existed for this for quite a while now. Not everyone uses them. So again, on the shoulders of the developer / designer.
So for all of these items, none of them HAVE to be a problem. A well designed and well programmed Flash site / application should not suffer from any of these defects. But I’m not going to stick my head in the sand and say that problems in many of these areas aren’t rampant. But the problem is going to be solved by education and a demand for quality, not by accusing Flash of unnatural acts with farm animals. Perhaps the problem is that Flash is so accessible that every kid who can torrent a copy and is lucky enough to find a crack that doesn’t wipe his hard drive, can start puking up Flash sites all over the web.
So what about the rest? Flash is proprietary, not open, not standard, and is not on all flavors of Linux or mobile phones or the iPhone.
First of all, I’m probably not qualified to answer most of these. Secondly, my intention here is not to white wash every objection to Flash. As for most of the points I did answer, I really believe in what I wrote. There probably are some valid concerns in these other areas. But things like open source, standards, and platforms are where people REALLY start sounding like religious zealots. Open source is great, but some people go way overboard on it and try to force it down everyone’s throats. Web standards were not handed down from above on stone tablets, they aren’t going to solve everything, and anything that does not follow them is not automatically evil. And yes, we know that whatever platform YOU are using is the best and every other platform is for losers, and any program that doesn’t support your platform, even if it’s only 1% of the market, is committing crimes against humanity.
Anyway, I admit be being biased. I like Flash and think it can do some great things. I also acknowledge that it can, and often all too often is abused. Welcoming feedback.