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.
1. Creating Hello World was dead simple. Just like photoshop, it was as easy as selecting the text tool, typing out what you wanted and hitting publish. Instant visual feedback for what you were creating.
2. Flash swf startup is measured in milliseconds, java applet startup is measured in seconds. Sun never seemed to care about "visual java" and they suffered for it.
3. Single vendor control. For years Macromedia and Adobe were giving devs and designers the apis they wanted, rather then being stuck in design-by-commitee hell.
5. Absolute layout. While html developers were complaining about box models, flash developers were building things to look exactly as they wanted them to.
4.1 Who blocks JS without also blocking Flash?
5 This is what I'm talking about. Flash devs were busy building exactly what they wanted while HTML developers - by virtue of not using absolute layout, etc, were delivering what users could actually use.
and some other games on armorgames or kongregate and stop propagating rumors about HTML5 replacing flash for games. The performance of HTML5+JS is not there yet, unless you talk about tic-tac-too games and the like. If flash is going to be replaced by something it would be by unity3d not by HTML5 or might be chrome native client. Adobe would be smart to secure this game thing because ads, video, etc, will probably be less and less. I'd love to see a cheap flash console where indies could publish games and sell games.
That said I'm happy to see flash beeing kicked out of website design, when flash is mixed with html it sucks.
When it's as easy to write your game in HTML5+JS as it is in Flash then people will switch, and not one minute before.
Mind, this isn't a 100% fair review, it's not an in-depth comparison or anything like that. It is, however, the "first glance evaluation" you'll probably get from any Flash game developer who's wondering whether they should switch to HTML5+JS.
I'm not saying we should just give up and use Flash forever and ever. I'm trying to explain why HTML5+JS is not a mature game development platform yet.
On the other hand, I'm pretty sure DOM doesn't provide a boilerplate game loop. It might sound trivial, but sorting and linked lists also sound trivial and you don't see people reinventing them on a daily basis either.
I usually program in Java but I'm using Flash (the tool) to throw together the GUI for a game I'm making. I find it's way more productive to develop the GUI visually rather than positioning and tweening things with code.
Of course, ultimately you can do all of that in a canvas but it is an awful lot easier in Flex.
Also, don't you have to manage the redraw of areas yourself with canvas?
[NB I hate what people do with Flash as much as the next person - but the actually tool is actually a pretty decenlt development environment (I just used the command line Flex compiler)]
I think it's one of the best Flash examples out there.
IE not implementing the tag isn't a big deal, since they expose the drawing (directx) interfaces anyway
I got a press release yesterday that said jquery was now more common than flash across the top websites. the 'flash is everywhere' argument is a bit 2004 and isn't true anymore .
I think you mean Chrome frame here? explorercanvas is an implementation of Canvas on top of SVG for IE.
Any alternative to showing videos on the web will obliterate the need for flash for pretty much all users, and it's hard to imagine any alternative actually being worse for that (but deciding on format sure seems tricky).
I didn't know until today that this spring's RSA hack used Flash:
Perhaps, but interestingly enough the attack wasn't against a web browser, but against Excel running a Flash applet. Maybe that path was chosen because it's less carefully examined by security policy and security software; I don't know.
In any case, it's certainly true that this pathway wouldn't have been available if not for the unnecessary use of Flash in places where it doesn't belong, i.e., Excel. Which ties into the theme here rather nicely; Flash used unnecessarily is worse than Flash eschewed entirely.
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? :)
We only used the official Flash IDE for building animations, for programming, it all too easily allows for code to be flung everywhere and creates debugging nightmares (Flex and Flex Builder is a slightly different story).
FlashDevelop is great, but it isn't an essential piece any more than Eclipse is an essential piece for building Java apps.
It's nice for people to want their favorite Flash-based sites/games to work as-is on their phones and tablets, once you get down to it though, those sites/games just won't work well without major overhauls, and so instead of rewriting to Flash (with all its usability problems), why not give your users a better experience in a web-native or device-native form?
I'm using Linux myself full-time, but for flash games I might even consider Linux irrelevant if there is no way of getting good performance.
The by far biggest part of the audience still uses windows and that probably won't change for quite a while.
Flash is installed outside the package management system (particularly on distros emphasizing Free Software: Debian, Ubuntu, etc.). This has improved through packaged installers (the plug-in's still fetched from outside of repos), but only in very recent times.
The player is very resource-heavy. I'll browse with several score tabs open. On a sufficiently beefy box, that's tenable, but with flash, memory and CPU utilization go through the roof.
The browser plug-in crashes, frequently requiring a browser restart to restore it. Given that Flash is virtually always at best ancillary to my browsing session (where I use it it's almost exclusively as a video player), my preference would be to have an external video player (I have several excellent free ones at my disposal). The crashes are addressed in Chrome as tabs and plug-ins run as separate threads/processes, but this still affects Firefox/Iceweasel.
There are numerous security and privacy issues with Flash, for which we're wholly dependent on Adobe to please, eventually, maybe address these.
64 bit Linux support was a long, long, long time in coming (and IIRC it's still weak). Until Linux itself got 32/64 bit library support sorted (again, only in recent years), this was a significant PITA.
Given Nielsen's criticisms (which address Flash as a website UI element, not such things as Flash video and games), yes, Flash is at least 99% bad. Most use is still advertising (yuk) and idiotic slideshows (infuriating). Its valid uses (videos, maybe games) would still be better addressed through standalone utilities rather than in-browser plug-ins, IMO. I use my browser for work and information, not entertainment. I keep a lot of state in my browser sessions, and they tend to live for days if not weeks.
All in all, as a Linux user, up until 2008/2009, Flash was sufficiently a pain in the ass that I'd generally just not bother installing it. I install it now (it's gotten easy enough) but block the hell out of it, with my rare use-case being YouTube videos and the very occasional informational graphic which makes valid use of Flash.