
Flash: 99% Bad - gorm
http://www.useit.com/alertbox/20001029.html
======
ender7
I do a lot of Flash development. I would love to switch to HTML. I can't wait.
I will probably be forced to quite soon in order to support mobile devices.

But.

I'm going to miss so very many things:

1\. A decent display architecture. Every display object has its own matrix
transform. All of its children exist inside that space. Position your elements
exactly how you want them. If you want markup-like UI layout, you can use
MXML. Their display system is quite elegant. I will miss it a lot.

2\. A complete development environment. Write code in Flash Builder 4.
Generate art assets in Flash CS5. Save. It works. It's fast. All you need is
two programs (maybe three if you want Photoshop). This is huge for me. The
thought of re-rendering all of my art assets as thousands of flat bitmaps
makes me shudder.

3\. Performance. Yeah, yeah, everyone hates Flash because it destroys your
battery, but it can actually pull off some very impressive feats. When I
switch to HTML, I will have to prune back some of the cooler features I have,
simply for performance reasons.

4\. (nearly) Identical performance across browsers and OSes.

5\. A decent language for large-scale development. Actionscript3 is actually a
really lovely language. I wish I could write HTML apps in AS3. It has real
namespaces. It has real classes and real inheritance. It has static typing
(but it's flexible enough that you don't feel trapped into endless boilerplate
ala Java). It has a sane definition for the 'this' keyword. Javascript is a
lovely language, but it's a nightmare to write a nontrivial app with it.

6\. Display bling. Want a drop shadow around any shape? Done. In HTML, all you
get are square drop shadows. Blur filter? Done. Dynamic masking? Done.
Efficient alpha transparency for any object? Done. Obviously, if you go crazy
with these you quickly eat up all your processing resources, but if used
wisely they are very fast and look lovely.

~~~
flogic
I think the point is more that 99% of the time websites shouldn't be doing the
things Flash does well.

~~~
mdaniel
While I agree with you whole-heartedly, I am starting to suspect that ship has
sailed.

The only weapon I feel I currently have in that war is iReader or Readability.
I have given some consideration to "mining" .swf objects, but it is not
currently a big enough pain point to further pursue that effort.

Oh, I take that back: the "mobile" version of many websites is also nice since
they are (usually) more content-oriented and less dancing monkeys. I fear
that, too, may change but for the time being it works well.

------
CodeMage
I understand why people are still up in arms, because it must be annoying (at
the very list) to see eleven years pass without fixing this. However, I find
it even more annoying that after eleven years people haven't learned that you
can't solve the problem by yelling at people "BAD BOY! FLASH BAD!"

I know really well what the allure of Flash is. I tried my hand at developing
casual Web games and that's done in Flash. The following are the reasons, in
what I believe is the order of importance:

1) Adoption: When it comes to users, everyone and their grandmother has Flash.
Even if they don't, getting it and installing it is usually _really_ easy.
When it comes to development, you find that casual Web game portals (such as
Kongregate, Newgrounds and Armor Games) are Flash-oriented and you even have
sites like Flash Game License and Flash Game Art.

2) Ease of Development: I've seen games that were obviously made by people who
have a considerable talent for art and so little talent for coding that they
should have a court restraint to keep them away from development tools. Guess
what? They work anyway and are popular. Yes, you have to learn ActionScript,
but that's pretty much all.

3) Good Free Toolchain: You don't really have to shell out 600 dollars for
Flash. You can get your stuff done for free, using FlashDevelop and Flex SDK.

Anyway, my point is that it's widespread, it's easy and it gets shit done. For
those who think nagging is the solution, for those who rubbed their hands when
Apple said it wasn't going to support Flash, here's the crucial question: can
you show people an alternative that satisfies their requirements as well or
better?

In this case, Adobe is the metaphorical Microsoft: their stuff is out there
and they make it easy for people to use it. As the history has proven, the
solution is not to call people sheep because they use Flash; the solution is
to provide the metaphorical Mac and metaphorical Firefox and metaphorical
Ubuntu -- stuff that's so good, that people will switch in droves without
looking back.

~~~
cpenner461
_3) Good Free Toolchain: You don't really have to shell out 600 dollars for
Flash. You can get your stuff done for free, using FlashDevelop and Flex SDK._

Interesting, I always assumed you had to buy the full Flash IDE to do
anything. Granted, I never really looked into it at, but I wonder how widely
known this is? Am I just ignorant? :)

~~~
rampr
FlashDevelop is a widely known alternative, just that it is available only for
Windows and not the MAC.

~~~
georgemcbay
FlashDevelop is the IDE though, the important bit is the Flex SDK which is
Java based and runs on virtually anything. Write your code in TextMate or
Sublime Text or vi or emacs or whatever and then compile it with the Flex SDK.

FlashDevelop is great, but it isn't an essential piece any more than Eclipse
is an essential piece for building Java apps.

------
Lagged2Death
Many of the comments here are along the lines of "But we can count on Flash to
work long into the future" or "The alternatives don't work well yet." Both of
which may be true.

But that is very much beside this article's point, which is kind of surprising
- it's a very clearly written article.

Web designers mostly _should not be doing_ the things that Flash/HTML5+Canvas
make possible. Gratuitous animation and sound, non-standard UI, and the
breaking of web fundamentals are not strictly Flash problems, but poor design
practices that Flash does (and which HTML5+Canvas probably will eventually)
seem to encourage.

Nielsen's point isn't that _Flash_ is bad, per se. The problem is: unless
you're producing a piece of pure entertainment (games, Homestar Runner, etc)
then deciding to use (or emulate) Flash is, statistically speaking, almost
certainly a design mistake. A big one.

------
tomlin
Look, if you hate Flash because it eats at your CPU, or it broke into your
house - be angry.

The author explains that Flash breaks 3 fundamentals:

    
    
       * it encourages design abuse
       * it breaks with the Web's fundamental interaction principles
       * it distracts attention from the site's core value.
    

Guess what else breaks these fundamentals? _Everything_. Not just Silverlight
or JavaFX. These technologies have accessibility API. People _just don't
implement them_.

Anyone who implements a fancy custom scrollbar, forgets an ALT attribute, or
doesn't properly wrap their label tags is breaking these fundamentals all the
same.

It's not like I don't agree that Flash could be better, but this argument
could be applied to just about any technology at any point in time.

~~~
talmand
Thank you. I keep pointing out that these complaints can be applied to Canvas
just as easily. When it takes over, will these people hate Canvas with the
same passion?

~~~
alanh
If people create whole websites _within_ Canvas? Then probably.

~~~
talmand
I'm meaning more the annoying banner ads. Most Flash designers do not create
entire websites in Flash anymore, that's a special case situation these days.

------
cturner
A major one not mentioned - flash hijacks your keyboard input, preventing you
from navigating around and out-of on pages which are flash-infected.

~~~
cturner
Now I think about it, the other thing that does this is PDF files. Which are
also a gift from Adobe. I loathe Adobe.

~~~
mitchty
Not in Safari or Chrome. More a fault of the Acrobat plugin I'd imagine.

~~~
jws
Safari with the native PDF renderer still steals the two finger swipe that
does the "back" function from browser navigation. The must be a "good reason"
as this irritant persists into Lion.

------
tensafefrogs
I saw an interesting stat the other day:

According to this "built with" site, use of SWFObject (which is pretty much
what 99% of flash devs use to detect + embed their swfs) is starting to
decline among the "top sites":

<http://trends.builtwith.com/javascript/SWFObject>

I'm the original creator of SWFObject, so I've looked at that chart a bit, and
I've never seen the usage go down in the few years since that site's been
tracking js usage.

~~~
danger42
Does this include SWFObject2? (I think the current version is 2.2)

~~~
tensafefrogs
That's a good question. I suspect it does, as v2 has been out a long time.

They may just look at file names, like swfobject.js, or look for "swfobject"
in the file path.

------
jscheel
What I find more interesting is that the people who usually love to hate on
flash are the same people who break these rules when building poorly
constructed "html5/css3/javascript" (buzzword overload) sites. There aren't a
ton of them out there yet, but the number is growing. Nielsen's points are
valid, but they aren't all flash-specific; I've seen these same principles
violated in supposedly "standards-compliant" sites as well.

I think this bigger problem is a lack of true experience/interaction design
knowledge. If you are only focusing on the visual aesthetic, and not spending
time on thinking through the total experience, chances are you are going to
make most of these same mistakes. The technology you choose is less of an
issue, the real problem is how you employ that technology. That said, I always
try to avoid flash unless it has a very specific benefit over css/js,
thankfully I haven't needed to build something in flash in quite a long time.

~~~
hahaiamatwork
I also notice that a large number of these complaints apply to mobile apps.
For example, the difference in back button use between iOS apps and websites
is marked.

~~~
jscheel
Yeah, it really comes down to implementation. I especially love the mobile
apps that don't let you use your back button past their home page. Once you
are there, that's it, you're locked in!

~~~
alanh
Do you mean mobile _web_ apps? Or are you referring to Android apps and the
Android hardware back button? Your comment is really baffling.

------
dylanpyle
Yes, OK, everyone hates Flash. However, as others have said, Flash won't - and
can't - disappear until Canvas development has the same almost-zero barrier to
entry as Flash, and until _every_ potential end user has a modern browser.

Another significant limiting factor is the simple fact that there are still
things that you simply cannot accomplish outside of Flash. Specifically, I'm
talking about camera and microphone data access, which can't be done via HTML5
without calling a Flash or Java applet.

~~~
nikcub
the first implementations of input video and audio will be out soon. the delay
was about how to handle security and privacy issues, and how it will be
implemented (eg. first it was devices tag):

[http://www.whatwg.org/specs/web-apps/current-
work/multipage/...](http://www.whatwg.org/specs/web-apps/current-
work/multipage/video-conferencing-and-peer-to-peer-communication.html#video-
conferencing-and-peer-to-peer-communication)

------
macavity23
Wow, I remember reading this article when it came out - ELEVEN YEARS AGO. Now
I feel old.

------
QuestionWriter
I'll bet the Flash you made 10 years ago still works, and I'll bet the JS game
you made doesn't.

I'll wager the Flash you make today will still work in 10 years, and I'll
wager the HTML5 won't.

~~~
fredleblanc
Just cruising around the websites of local stores in my town, their websites
that were made 5-10 years ago still look the same as ever, and for the most
part still function the same as ever. (The exceptions being when they relied
on third-party includes that have since gone out of business.)

HTML5 is just HTML, and unless that fundamentally changes, it should work
"forever." JavaScript too, again, unless you're linking to frameworks hosted
by companies that later go out of business. JavaScript usually adds, but
rarely takes away.

The look of your HTML site 10 years from now may look more outdated than your
Flash site does, but as long as we're all still around, I'd wager that they'd
both still work, provided Flash player is still a thing.

~~~
whatever_dude
_HTML5 is just HTML, and unless that fundamentally changes, it should work
"forever."_

That is, if you don't use the bunch of temporary CSS properties browser
vendors are supporting (-moz-, -khtml-, -ms-, -o-, etc) that people often
assume to be "ready" but that will be deprecated in the future.

------
jbk
I am just asking a small question: are the complaints here not present with
html5 canvas element?

For me blaming a technology, when the issue is people, is not very effective.

~~~
watty
Yes, this annoys me as well. Don't like splash screens and advertisements in
Flash? Well you're definitely gonna hate them in HTML5 because they consume
more CPU and will be more difficult to block.

------
timc3
Why is this being dug up again? Not that I condone flash.

~~~
gorm
Hoping to get feedback on the current validity of the statements in this
article.

~~~
watty
Well it seems like "Flash" could be replaced with "HTML5" and most of this
article would still make sense - many points are arguable whether they apply
to either though. Most of these are caused by poor developers rather than the
platform itself.

* Gratuitious animation

* Granularity of user control

* Non-standard GUI controls

* Back button

* Moving text is harder to read for users who lack fluency (haha this one made me laugh)

* HTML5 content tends to be created once and then left alone

* HTML5 content is typically superficial

* HTML5 is typically created by outside agents who don't understand the business

------
mynameishere
Eh. Flash is great for games or cartoons or grooveshark-style sites. It's
awful for restaurant webpages, but who cares? Also, people who haven't worked
with flash are probably unaware of how much better actionscript is than
javascript.

------
marckremers
Why are we even discussing an article from 2000? This is so irrelevant to
todays Flash, and todays digital landscape? And what would the web have looked
like before jquery, html5 etc came to the fore? We needed Flash. And could
YouTube and Google Maps have ever taken off without it? I'm all for the demise
of Flash and the rise of open source, but everything has it's place, and it
served and still serves brilliantly for sites made by the advertising
industry.

~~~
gnosis
Google Maps does not require Flash.

I don't have Flash installed at all, and Google Maps works just fine without
it.

Youtube also doesn't require Flash to download the videos. I use a number of
youtube downloader programs to get the videos, and then use a native video
player to watch them. Of course that's not how most people watch youtube
videos. But there's really no reason why the service couldn't have been built
around an some open downloading/streaming technology instead of Flash.

 _"it served and still serves brilliantly for sites made by the advertising
industry."_

Yet another reason to avoid Flash for end users like me, who hate ads and
despise the advertising industry.

------
pablobm
Is it me or did Nielsen add an update on top of the article when he was hired
by Macromedia, or something like that?

The way I recall it, it said something along the lines of "OK, Flash is not
very good, but now we are working to address the issues mentioned on this
article". I checked in archive.org, but there are no copies of the page there.

~~~
easyfrag
After this article the Nielsen Norman did work with Macromedia on developing
Best Practices. <http://www.internetnews.com/dev-news/article.php/1178941>

Jacob Nielsen later added the summary findings:
<http://www.useit.com/alertbox/20021125.html>

------
tomelders
I agree with the article (and always have done), but it's always bothered me
that useit.com is a website devoted to usability and it looks like this...

<http://www.useit.com/> <http://www.useit.com/alertbox/>

~~~
lurker19
Use It is widely regarded as Spartan and perhaps ugly, but it is eminently
_usable_. I bet most readers get in and out with more recall of key
appreciated content in less time than the ever-so-popular "5 wordpress plugins
to make your site shiny" style of bloggers.

And I bet Jakob N has 1tested this question extensively as well.

Oh and on his home page I stumbled on a link to a page with his own (better)
explanation: <http://www.useit.com/about/nographics.html>

~~~
tomelders
It's not the lack of graphics that I find unwieldy, it's the fact that the
content seems dumped onto the page with only a cursory thought towards
hierarchy. I look at it and see an impenetrable wall of content, which I
personally find difficult to sift through.

------
michaelpinto
Jakob Nielsen understands usability better than most (and I love him for that)
but not multimedia: The proof of this not only how well Flash has done during
the past ten years but how much HTML 5 looks and acts like Flash to the end
user. The flying type has won...

------
matusz13
I've been a flash/flex guy for a number of years. For however many rough spots
it may have the cross platform nature of flash/air is something that shouldn't
be ignored.

------
jdietrich
Flash is substantially fixed. If you haven't used Flash lately, I encourage
you to read the API docs for Flex and have a play around with the Free
compiler. It's become very easy to mix standards-compliant markup and Flash in
a manner which degrades gracefully/enhances progressively.

IMO, the problem is developers. Because of Flash's origins as a tool for
designers to make animations, most ActionScript is atrociously bad. The lion's
share of Flash is created by people who really don't know how to program. When
you have a community where knowing what recursion is marks you out as above-
average, it's understandable that the core technology gets a bad rep. The
problem is self-reinforcing, as good developers want to use the new shiny
HTML5 and don't want to tarnish their CV with Flash development.

A huge spectrum of really high-quality web apps are reliant on Flash.
Streaming video is the obvious application, but projects like SoundManager2
are still reliant on Flash for audio in HTML5 apps. It's a very nineties word,
but Flash is still the bottom line when it comes to multimedia. Products like
Google Street View or Turntable.fm just aren't plausible without Flash and
won't be for the forseeable future. Given the glacial pace of the W3C on HTML5
and the likely slow uptake of newer browsers, we're stuck with it. I don't see
that as a wholly bad thing.

------
hippich
It is not Flash's fault (just like wordpress modules poor coding is not PHP's
or Wordpress fault). It is how it used.

I am glad in fact flash exists. I actually can install Flash Block kind plugin
and 99% of "design mess" disappears.. If there would be no Flash, all these
"designers" star put introduction pages with HTML5/Canvas/etc. And this is
harder to block. =)

------
jarin
The only things I see Flash being useful for these days are video in older
browsers and copying text to the clipboard via a button.

Sure, there are Flash games and ads, but I think Unity is a much better game
development plugin and many people block Flash ads these days.

------
BoppreH
There are hundred of thousands of Flash games on the web. None of the issues
raised by the article apply to them.

Though I hate Flash _websites_ as much as everyone else, the title is
misleading and harmful for game developers.

------
MathieuGosselin
You'll eventually regret flash when all those banners will be replaced by
their HTML5 equivalent ;-)

------
roythunder
Flash is great if used well.

Eg: check out www.pinklab.com -- I defy you to replicate this site in html5.

~~~
Xurinos
I would have appreciated a NSFW warning.

------
gaius
AS true now AS it was then.

------
geraldalewis
In the 11 years since this article has been published, Flash has changed, HTML
has changed, and web developers' philosophies have changed.

I don't like the tone of the article, but I have to hand it to Nielsen for
creating something that likely had some impact on the web. In the hall of fame
of inflammatory, overly-broad titles, I think it'll be next to Djikstra's
"Goto Considered Harmful".

> First, Flash encourages gratuitous animation: Since we can make things move,
> why not make things move?

Good taste has prevailed. Once ubiquitous "intro animations" have almost
disappeared, as have <marquee> and <blink>. Hype <http://tumultco.com/hype/>
and Sencha Animator <http://www.sencha.com/products/animator/> are powerful
animation tools that export HTML5/CSS3. We will have to hope HTML5 and Flash
designers continue exhibiting restraint with _gratuitous_ animation.

> Second, one of the Web's most powerful features is that it lets users
> control their own destiny.

It's hard to address this issue, since I'm not exactly sure what Nielsen is
specifically objecting to. I think it might have to do with McLuhan's "Hot"
and "cool" media theory where certiain media encourage participation instead
of hijacking attention?

> Third, many Flash designers introduce their own nonstandard GUI controls.
> How many scrollbar designs do we need?

"Aristo" <http://cappuccino.org/aristo/showcase/> "mocha(ui)"
<http://mochaui.org/> "Dijit" <http://dojotoolkit.org/reference-
guide/dijit/index.html>

... the list goes on. There's nothing wrong with custom UI, so long as it
conforms to users' expectations (a tall order). This issue is still in the
hands of developers.

> __Breaks Web Fundamentals __

> The "Back" button does not work.

In the hands of developers. Many ajax-y sites have this problem now (see
Twitter). Many libs exist for both JS and Flash devs to fix (or not) this
issue.

> Link colors don't work.

a:link {color:#000000;} a:visited {color:#000000;}

> The "Make text bigger/smaller" button does not work.

This is a browser issue. All elements should magnify when a user Zooms In/Out
(fixed on some modern browsers).

> Flash reduces accessibility for users with disabilities.

<img src="image.gif" alt="" /> <canvas>...anything...</canvas>

> The "Find in page" feature does not work.

Still true.

> Internationalization and localization is complicated.

Local websites must enlist a Flash professional to translate content.

Nearly all serious Flash projects separate content into XML or JSON files
(especially if the website content will need to be translated). Some AJAX-
driven sites do this as well.

> Also, text that moves is harder to read for users who lack fluency in the
> language.

In the hands of developers.

> __Distracts from a Site's Core Values __

> Frequently updating content (Flash content tends to be created once and then
> left alone).

Not true now (or then).

> Providing informative content that answers users' key questions at all depth
> levels (Flash content is typically superficial).

This is a great example of why I object to the tone of the article.

> Identifying better ways to support customers by task analyzing their real
> problems (Flash is typically created by outside agents who don't understand
> the business).

I'm trying to understand the implications of this statement, but I'm baffled.
Maybe it made sense in 2001 when HTML sites were sometimes cobbled together by
a favorite nephew close to the company. Either way, web development is
sufficiently sophisticated/complex enough now to require developers to know
what they're doing. This sometimes means hiring an agency/production house.

------
TobiHeidi
This Article is not like wine, it doesnt get any better eleven years later.
Compared with wine this article is plonk.

------
ristretto
Food: 99% bad

