The only place where Flash works very decent is on Windows with IE. It kind of bogs down on even bigger power desktops and laptops. It absolutely blows on OS X for whatever reason.
That said the point of Flash on Android is not to have guaranteed high performance, fluent apps that work like native ones. That's an impossible goal - for one, Adobe cannot control what kind of Flash/AS code all of the developers out on the web will write.
And secondly on my Xoom with 3.1 - Flash works great enough - no stutter or crashes. Does the job. So as more decent hardware comes out and they optimize Flash even more it will become better.
This whole cult like insanity people have created for and against Flash is mind blowing - it's there you can use it if you want, don't if you don't. No one is forcing anything down your throats folks. For me I will take reasonably working Flash instead of not working at all.
Oh and before you beat up the HTML5 drum - it's not there yet and it's not the absolute reality of the web today.
I think what people take issue with (at least its what I take issue with) is that Adobe is trying to pretend its an open standard of the web, that helps push the web forward when in reality it does the contrary. For starters, its not an open standard, its an executable program (or plugin). It isn't a standard left up to be implemented by whoever is interested, its controlled by the one and only master implementation by Adobe. A lot of websites like to depend on Flash in some way or the other, be it for ads, video, or some functionality, and more often than not it makes the experience unpleasant.
On the other hand HTML5 is an open standard and thats all it is. Its basically an agreement of what the technology takes as input, and puts out as output. If you want to implement the technology, by all means, go ahead. If group A implements it better than group B, then people have the choice of using the group A technology. Group B will then have to improve their implementation if they are interested in staying competitive, and we all win. That to me is key, the option of using a standard, implemented by different people to make it strive, not a binary distributed and leaving you up to the whim of the company behind it.
FYI: You spoke of windows and Mac OS X, but didn't mention Linux (probably because you haven't tried it, the same way I haven't tried it in Mac OS X.) Flash absolutely blows in Linux as well. I'm not talking just on the gnash and open source flash players, I mean the Adobe closed source build. It stutters, the keyboard input detection is abysmal, it leaks memory all the time, and crashes eventually from all the memory leaks.
Flash is ridiculous on OS X. It leaks memory like a sieve - I once left a few tabs open overnight with Flash ads and your various bits of Flash-based internet detritus, and by the time I woke up my machine was thrashing madly until I manually killed Flash. Its performance is also piss poor even when it isn't leaking your RAM all over the floor.
Not to mention it breaks a lot of fundamental browser interactivity - want something to render on top of your Flash applet? FUCK YOU YOU CAN'T.
Scrolling happily along with your mousewheel on a page, then you hit a Flash applet. While your cursor is over the applet, your scroll wheel stops working. Why? God knows, because Adobe hates us and Flash is the greatest bit of trolling ever.
These aren't new issues - these have been around since the very first days of Flash. Adobe simply has no interest in bringing usability up to the standards of the 21st century.
Nor security for that matter - one of my main objections to Flash is that it conveniently circumvents all of the nice security features your browser has painstakingly built into your experience. Incognito mode? Flash won't respect it. Don't like cookies? Well, screw you, Flash will keep its own equivalent anyways. Nice, sandboxed JavaScript runtime? Well, Flash does its own thing (and has its own bugs and security holes... many, many security holes)...
I trust Google, Mozilla, et al to do a reasonably good job protecting me online. I do not trust Adobe - both due to their lack of regard for basic product quality (both stability and usability), as well as their poor security track record of having more holes than a beehive.
If third parties could actually implement a runtime (one that, say, wouldn't suck) then maybe Flash would be a good idea. At least there would be a way to work around a single vendor's supremely shitty implementation.
I don't deny the need and desire for a highly interactive technology like what Flash wants to be (and sometimes is)... but this is not the answer.
Still waiting, all this time later. The killed the beta some time ago that ran on Linux. It seems there's some hard problem they're unable to solve, or just don't care.
There are some types of apps that are in demand and flash is well equipped to build. Users don't care about any of this stuff. They just want something that works and is useful or fun. It doesn't have to be an arch philosophical issue. When people like you rant about flash, it just demonstrates you've never built the sort of app that flash excels at. Sure, flash has its problems, but there are some tasks that javascript simply can't do, or can't do nearly as well as flash. Flash has done some things wrong, but it's also done a lot of things right and helped pushed the web forward. Get off your soapbox!
The issue here isn't that Flash is useless. Of course it is useful for some apps, especially the ones that are dealing with audio/video streams.
The issue here is that Flash got used in all the wrong places. Lots and lots of websites use it for all the wrong reasons, and while you can blame the websites developers for that, the fact of the matter is that Flash scripts are everywhere and regular users don't even notice it.
Because of that, on Android at least your browser experience gets a lot worse -- browser is noticeably slower and it bleeds your battery life like crazy. And users will just blame their phones.
The worst thing about all this - besides the fact that Adobe couldn't pull their shit together to create a version truly optimized for mobiles - because Flash is not an open-standard like HTML5, the others cannot fix it for them. It's not like Google can come up with a new VM (like they did with Chrome), or like how Apple came up with a kick-ass rendering engine like WebKit, that eventually became the norm for mobiles - they can't do that.
That's why standards are better and that's why Flash needs to go and be replaced by web standards. If Flash sucks, nobody but Adobe can improve it and judging by their history Adobe is really week in that department.
And of course, as I said, at the same time Flash is useful for some apps - of course it is, ActiveX was useful too.
I don't think that's true. Find an ordinary user who likes Flash intros on websites, or who likes attention-seeking Flash ads disturbing them while reading an article.
The only thing that Flash is used for that real people (as opposed to marketing twerps) actually like is cheesy little games, and they can be done perfectly well without Flash these days.
Simply not true. Gmail calling is not possibly in HTML/js.
There are a lot of cool websites that use Flash for more than games and video these days. Qwiki won TechCrunch Disrupt last year. Beatlab is a super cool music creation app.
And Flash will likely always be the standard for DRM Video on the web. Being an open standard, HTML5 can never include DRM.
I see Flash's place is as a stopgap for features that haven't been standardized/implemented yet. It does those very well.
Gmail calling uses Google's own plugin, not Flash. And they just open sourced it and intend for browser makers to integrate it into their browsers. Hopefully it will be possible to do video calling in HTML soon.
From a desktop perspective, video streaming is still a marginally more pleasant experience in Flash than in HTML5 equivalents (random position seeking, full screen controls, quality, etc). It may full well be an individual site's deficient/immature HTML5 implementations, I've never been curious enough to investigate in-depth, but I also have yet to experience a better experience in HTML5 that would create an incentive to seek out those implementations over a Flash version if Flash is presented as the default choice.
Flash file uploaders also tend to be more mature and a little smoother to use in general. I'm sure HTML5 will surpass it soon enough, but at present, it's a use of Flash that I don't mind.
Additionally, I somewhat dread the day when annoying and/or malicious advertising makes the switch. At present, blocking Flash is a stupid simple task, a standards based annoyance has the potential to be much harder to avoid.
Flash specs are open sans the Sorenson codec which I don't think is that relevant - so anyone in theory could implement Flash without paying royalties.
But that's besides the point as no one will actually do it effectively - may be the spec is insane and it is impossible to make the pig fly.
But the real failure is not of Flash/Adobe - they went out and _did_ something to make the web richer and provide people with a tool to do what they want when progress on rich, dynamic, more capable standardized Web was painfully slow. The failure is of the Web Standards - I may be slightly off base but till this date HTML5 can't do half of what Flash is capable of doing. The only other alternative is Silverlight - not exactly better as it is less open and ubiquitous than Flash is.
[ On Linux : Using since '96 - But recently gave up on Linux as the Desktop. The latest I tried Flash on Fedora, it was screwed up because Flash gets memcpy wrong - overlapping - and some jerks decided to be uptight about it and fixed memcpy to break Flash. They may have their reasons and justifications but I no longer want to deal with that stuff anymore. Still contribute non-trivial patches to the kernel and manage a bunch of RHEL boxes - so still do Linux but just not on the Desktop.]
First, before May 1, 2008 the official specs for the swf format couldn't be used to create alternative implementations. If you read them, you were tainted. Even after, the spec didn't contain essential info like details about the RTMP protocol.
Second, it took an awful lot of time for Adobe to release specs, and the specs aren't really useful since devs from Gnash and SwfDec did a better job by reverse engineering, which is still legal.
And it can't help when Adobe is suing Wowza (as in, right now) or when it pulls rtmpdump from SourceForge with a DMCA request (May 26, 2009).
Third - open, as in public specs, doesn't mean it's a standard. It would be a standard if you were allowed not only to create an alternative implementation (debatable if you can) but if you were able to improve on it, improvements which may also be accepted in the standard.
And a real open standard requires a standards body, not a company that is willing to sue using patents whenever they feel like they aren't in control anymore.
If anything, the "opening" of those specs means absolutely nothing. Flash is still as closed as it was prior to May 2008. The only difference between now and then is the maturing of projects like Red5, but such projects are in a gray legal area. And THE alternatives to the official Flash client are still mostly unusable.
Go ask the Gnash or SwfDec developers about the openness of Flash.
You are only half right. Flash is not an open standard.
Standards are means to an end, which is cross platform applications so I don't have to write the same thing multiple times over. If Flash was done well and it was cross platform, then it wouldn't be a problem for me.
* Yes, Flash sucks. But there are certain things for which nothing is better.
That's a great one line summary I will remember to throw out and get back to work the next time Flash sucks conversation comes up (will be pretty soon I'm sure :)
Where latest everything == OS version 3.1 and Flash version 10.3? In that case something else may be going on - can't get it to suck enough to bother me on my 3G Xoom.
I'm surprised that there isn't more talk about Flash efficiency and its impact on global energy consumption and the environment. My desktop CPU burns an extra 50 watts when it is pegged at 100% (and in a typical day, Flash is the only thing that pegs my CPU for a prolonged period of time). Multiply that by hundreds of millions of computers running Flash -- many whose owners don't realize their CPUs are at 100% -- and it adds up to potentially millions of extra pounds of CO2 emissions every day.
Chrome, block all plug-ins by default. You'll never see a flash ad again, but instead a big gray box in it's place. Should you need to activate flash to watch a video on a web page then you can just click the gray box and it will load the plug-in. Works great for me.
That said the point of Flash on Android is not to have guaranteed high performance, fluent apps that work like native ones. That's an impossible goal - for one, Adobe cannot control what kind of Flash/AS code all of the developers out on the web will write.
And secondly on my Xoom with 3.1 - Flash works great enough - no stutter or crashes. Does the job. So as more decent hardware comes out and they optimize Flash even more it will become better.
This whole cult like insanity people have created for and against Flash is mind blowing - it's there you can use it if you want, don't if you don't. No one is forcing anything down your throats folks. For me I will take reasonably working Flash instead of not working at all.
Oh and before you beat up the HTML5 drum - it's not there yet and it's not the absolute reality of the web today.