When Steve Jobs badmouthed Adobe Flash to The Wall Street Journal, he said it was buggy, littered with security holes, and a "CPU hog". It's hard to argue with the first two, but a new study claims the Apple cult leader was wrong about the hog bit. According to tests from the Streaming Learning Center - an online media …
Rich interactive content?
By "rich interactive content" do you mean those goddamn' flickering, bouncing, migraine-inducing ads that won't hold still? The slide shows that take forever to load, and don't really _need_ Flash? The pointlessly over-designed Web sites that you can't bookmark, can't search, can't index? The goddamn' Smack The Monkey game?
Forgive me if I'm overly cynical here, but I've been designing for the Web since around '94 -- after fifteen years in print design -- and I've learned that the phrase "rich interactive content" is marketing-speak for "useless glitzy shit".
There are plenty of excellent Flash apps as you should know if you've been developing for that long. Animations, games, video players, interactive tools, front ends etc. Many of these would be difficult or outright impossible to do in HTML.
It's quite obvious Apple could implement Flash in a manner which wouldn't overwhelm the device (e.g. by not launching flash apps in a browser unless the user touched them), but they choose not to. All their excuses for not supporting Flash (or any other runtime for that matter) are just that - excuses.
Apple to implement Flash?
Hold on... I thought it was Adobe that implemented Flash.... And thats the major problem with it...
Adobe would be implementing a virtual machine on the phone and contrary to what you believe most people don't see that as an advantage. They want speed, reliability, battery life and security on their phone not crap adverts that take forever to download when they are on the road.
Hell, if Flash was such a huge deal breaker then no one would buy an iPhone in the first place and customer satisfaction would be abysmal (which it clearly is not).
I am willing to wager that the vast majority of current iPhone owners will one day replace their aging phones with yet another iPhone.
Wrong? well, wrong-ISH...
Your first point's quite true, but still, as a fistful of commenters here have pointed out, the vast majority of Flash content on the Web these days is the aforementioned ads and PITA Flash Web sites.
For every smartly-designed, elegant Flash game, presentation or interactive piece, there's probably a thousand bouncing, wiggling, stroboscopic skyscraper ads and needlessly bloated Flash-based foto slide shows.
Adobe implement Flash but Apple implement the browser that launches Flash (and other plugins). Apple could allow plugins within a page but not launch them until the user explicitly clicks on them. This would alleviate the more general concern of CPU consumption but still allow someone to run a Flash app when they need to. They could even allow the page to specify a placeholder image which is displayed in the object's space so it isn't filled with some generic plugin graphic.
Deal breaker or not for some people, the fact is that the iPhone and more obviously the iPad enjoys a crippled web experience thanks to no Flash support. Not just Flash but also no Java, Silverlight, Real or any plugin a user might have a legitimate reason for wanting to install.
The excuses that some are trotting out for why Apple don't do this, or why no one should care simply hold no water. Lots of sites require Flash for core functionality (e.g. most video sites) and iPhone owners are screwed.
good god, make some intuitive leaps here
my point was that if one kernel-level sploit works on an iPad, through flash, it'll work for all iPads. my point on diversity was that hardware is diverse, but so is the client base : everyone is running XP/Vista/7. sure. but half of those are running non-MS Antivirals and firewalls, and a sizeable proportion dont use Outlook, etc etc. ad fucken nauseum.
Ipad says here's Safari. Ipad says here's the OS. You make a good sploit or a woim or a trojan or whatever piece of blackhattery you like for a windows system, you cull a few thousand or a few tens of thousands of machines. Good job. You sploit yourself into an Ipad, congratulations, you can probably sploit them all.
and they let lots of people develop for their platforms, using their SDKs, and vetoing things calling functions they dont like.
so, once again : The hardware is all the same. The browser is all the same. the OS is almost guaranteed to be the same. you put something that makes your device look bad _and_ is a giant security hole on it, and you end up running around with an entire hardware generation of ipads that brick themselves.
Im sorry you were unable to fill in the blanks yourself.
FYI, the lesser of two hogs....
Just because you find another hog that's bigger doesn't mean Flash isn't also a hog.
A more balanced view
is available here
A much more informed and balanced review
Balanced view = he works for Adobe...
time to send flash packing. Am behind Steve on this one. Seeing my CPU meter peg and my browsers constantly crash even when running the latest versions of both flash and the browser makes no sense. I am tired of this thing killing off my work. HTML 5 is a cleaner spec and not having flash around will sew up some serious code execution holes that have been open for way too long.
the iPhone, iPad & Mac don't need flash to be successful. They need a solid OS and when leaving flash out of the picture, they have one.
"The iPhone, iPad & Mac don't need flash to be successful. They need a solid OS and when leaving flash out of the picture, they have one."
You are right indeed. However having a cross platform application environment will pretty much weaken the app market and hasn't this been the main reason why you cannot have dangerous stuff like Java and other runtimes on their mobile platform?
Let's face it. It is not really about streaming videos but having an interactive content delivery system that competes with their locked in environment. As ususall, Steve Job's is diverting attention on an irrelevant direction.
Think of education. If they can pitch iPad to educational instutitions and flash is used for delivery, there would be nothing to lock these institutes down. They could move to a better platform anytime witthout any loss. However, by eliminating such environments (threats), Apple is aiming to have custom applications for the platform which will lock the potential customers within. Of course, this strategy is one of the reasons, iPad announcement was not received well by even the Apple subjects.
So having flash would not make Aplle more successfull but pretty much threaten the future of their lock in strategy instead.
Gates - Kill him
The jury's still out on exactly why Apple are so against Flash, though I suspect things like 99.5% of Safari crashes being caused by Flash probably didn't help.
It could be about lock in to the App Store, but in that case why are Apple so keen to see HTML5 develop into a capable standard with things like the canvas class etc.?
More likely is that Apple don't like Flash is because they don't control the source code. HTML isn't a threat because it's open and they can develop their own mobile browser that's as good at or better than the competition, but with Flash they're at Adobe's mercy. Apple don't want to be condemned to having a second best implementation of mobile Flash and not being able to do anything about it. Much better not to support it at all.
No, you lost me
"Let's face it. It is not really about streaming videos but having an interactive content delivery system that competes with their locked in environment. As ususall, Steve Job's is diverting attention on an irrelevant direction."
As far as I can see the only content that you are locked into is the apps. Music, movies and books can all be bought from someone else and loaded on these devices. Usually the problem lies in conversion, which in turn relies on whether or not the provider makes that possible, but that's hardly Apple's fault - you would be in the same boat with a device from Archos for example.
"Think of education. If they can pitch iPad to educational institutions and flash is used for delivery, there would be nothing to lock these institutes down. They could move to a better platform anytime without any loss."
Why the fcuk would an educational establishment base it's content around Flash? All they would be doing is getting locked into someone else. What happens when Adobe decide to not make a runtime for the "better platform"? Ask anyone running 64-bit Windows if you want to know how quickly Adobe support new platforms.
There are a great many ways of creating cross-platform rich content, flash is only one of them but if you want to avoid lock-in and make your stuff future proof then you probably want to give it a wide berth.
Yes, Apple want people to go to iTunes to buy all of their content, but it's not the only option. My iPod has plenty of albums on it that I purchased from Amazon, books I got from project Gutenberg and videos I converted from my own DVDs. In fact the only content on it that came from iTunes is stuff I won in a Coke promotion.
Hardly locked in!
Re: No, you lost me
I thought it was obvious that there would be newer and more magical models of iPad before HTML5 takes over. Therefore I did not really consider HTML5 as a mature competitor to Flash or other RIA environments as you do. You might have a valid point, I am sure the original iPad will be obsolete before HTML5 takes over.
I've been using flash on 64 bit systems but mainly Vista and Windows 7. So if the complaints apply to older versions, I cannot really comment.
I believe you know more About Apple's strategy here, but is there any news about Java and other runtimes being allowed on iPad? This is what I remember from SDK agreement:
"No interpreted code may be downloaded and used in an Application except for code that is interpreted and run by Apple’s Published APIs and builtin interpreter(s)… An Application may not itself install or launch other executable code by any means, including without limitation through the use of a plug-in architecture, calling other frameworks, other APIs or otherwise.”
I know this restriction is for the greater good, but right now, we are only discussing Flash because Adobe has spoken publicly about the situation. But I don't really think the question is about if it will be possible to run flash on iPad.
Not really, HTML5 does basically everything Flash does, it's not going to be that long before it becomes pretty widespread either - long before it ever becomes a reccomended standard.
HTML5 does about 1% of what Flash does - and largely theoretically at the moment. Adobe are probably very worried about video streaming dominance going west, but don't kid yourself about RIA - in this latter respect HTML5 is not the standard you're hoping for.
HTML5 is ideal for Jobs though, enough for a few bells and whistles without being able to provide all those cute little games, widgets and toys from which may Apple so much money without doing anything very much - and for which Flash equivalents already exist in massive over-abundance, waiting to be ported and largely distributed though cost-free, ad supported models which won't earn Apple anything.
You obviously have no idea about Apple making money on the App store and this tired old theory that flash is not implemented because Apple would lose out on vast amounts of cash.
1. The apps that flash would replace are nearly all free on the app store.
2. Free apps on the app store cost Apple as much money to review and host as paid apps.
3. Apple loses money for hosting free apps on the app store.
4. There are a zillion free apps on the app store (go figure the economics)
5. Web apps have always been available on the iPhone... just not java or Flash based.
6. Overall the app store makes a profit, but not the vast riches you guys seem to think
7. If the app store was so profitable then Microsoft, Google, Nokia, Blackberry etc would have had a proper competitor to it by now.
Maybe for pure video
But flash is inefficient at everything. Flash games often eat an entire core for simplistic 2D worlds that if running on even the inefficient Java or .NET VMs would barely touch the CPU.
For a long, long time expecting flash to run above 10fps at high resolutions would result in disappointment.
Even now, only the Windows version of flash has any consistency of sensible framerate with the Linux version especially dying, losing sound or dropping to under 5fps. It's so bad that browser restarts every few hours are required to keep using flash on Linux.
The technology is flawed. I'm no fan of Apple, in fact I'd be as happy to see them go as flash, but they are correct in saying flash is a CPU hog.
Not what I would call a solution
On linux try turning off Compiz or any window manager that uses hardware acceleration. Flash's acceleration is incompatible with those. Without it can run much faster but is still as buggy if not more so than the Windows equivalent.
I haven't tried alternatives like Gnash or swfdec because they lack support for newer version files.
(Thumbs down for closed-source, proprietary vendor lock-ins)
@Philip Webster: Interesting point. Can you direct me to the games sites that are based on Java or .NET please? You know, those equivalents to Popcap or Miniclip that you're obviously referring to...
"with the Linux version especially dying, losing sound or dropping to under 5fps"
Umm , I can run full screen iPlayer on linux with a perfectly respectable frame rate on my fairly wheezy laptop.
Though I'll give you the browser dying - adobe have yet to release a flash plugin that wont crash firefox after a couple of hours especially if you liberally use the back button.
My son plays simple platform games on Friv using a P4 3.2 with 2GB Ram. It maxes the CPU all the time - my old Amiga 500 could have done those half asleep. Trying to play HD video using iPlayer - it can't, and yet the same machine can play HD video using VLC/MediaPlayer with only 10% CPU thanks to a cheap HD grfx card.
Flash is pants, used by numpties to write crap code..... but cos everyone has it, it's the easy choice. Can it.
@Grant Gibson: There aren't the sites as such, but if you're incapable of googling for "java 2d game" or ".net 2d game" then I can't help you anyway.
I work a little with OpenTK (http://www.opentk.com) which provides access to the OpenGL API from .NET/mono allowing full 3D acceleration with a much lower CPU cost than Flash seems to produce with a platform independent binary as well.
@boltar: That's kind of my point, it's unpredictable. Presumably on your wheezy laptop you aren't running any fancy window manager? As Anonymous Bastard pointed out, Flash doesn't like these and I suspect they are causing some of my problems. Running on plain XFCE is pretty safe, still get crashes though.
What I've found is the easiest method to cope is to have several browsers installed (FF, Chrome and Konqueror on my current install) with flash support as Flash works most reliably with a clean start. So when you open a page and Flash fails, just copy the URL and boot another browser. Not ideal, but it works. Mostly.
I heart Reg
Good to see sensible comments here at El Reg. I read this story on another site and was disgusted by the blatant flash fanboyism taking place in the comments there, along with slating of HTML5 even though the standard hasn't been finalised yet!
It seems there are a lot of flash-loving "web designers" who haven't heard of accessibility, usability, security or common sense.
Ok, so flash is best on Windows
That's fine with me, I have XP Home on my EeePC, Oh, wait, no GPU support there.
And the battery bit
I would think that allowing flash to use the GPU means higher battery consumption. And the higher memory use means more drain again.
I'd rather have quality video codec in H264 or Off Theora than a cheap, buggy, battery burning Flash codec.
Heat as energy
Just based on relative heat generation, it looks like letting the GPU do the work is MUCH more efficient than trying to do everything "in software".
Flash uses h264. There's just the question of how efficiently that is going to be implemented and whether or not it will take care of speciality decoding hardware. It's all about how well the decoder is written. Adobe's dragging their feet in this respect.
Missing the Point
The point here is that Apple controls the HTML 5 implementation on the iPhone. The test shouldn't be comparing against *all* HTML5 implementations and concluding that lots of them suck so flash is no worse. Instead, it should be comparing against the HTML 5 implementation written by apple, on an apple designed platform and concluding that HTML5 is 2 to 3 times more efficient than Flash. It's no good claiming "flash is at least as good" because Mozilla's implementation is the same speed, when Mozilla's implementation won't be used – apple's will.
"Instead, it should be comparing against the HTML 5 implementation written by apple, on an apple designed platform and concluding that HTML5 is 2 to 3 times more efficient than Flash"
I agree, they should have tested HTML5 on Safari, on OSX..... wait, they did, what was your point again?
The implementation of HTML5 in Safari on iPhones etc is based on the open source Webkit engine, of which Apple is just one contributor. Google Chrome is also webkit based. To suggest that Apple 'controls' is perhaps a little unfair?
"Flash causes a majority of Mac crashes"
Given that the only thing that ever crashes on my Mac is Safari and that it does tend to be when websites are playing particularly offensive flash adverts, I can well believe the above statement.
The real reason....
Is that 90% (or whatever) of the iPhone Apps can be done with free Flash Apps.
Flash and multitouch
Can Flash handle a Multitouch-equipped input system ?
I don't see any way to access the GPS, the Compass, the acceleration sensors etc.pp in flash.
The real reason?
"Is that 90% (or whatever) of the iPhone Apps can be done with free Flash Apps."
Yes... but those 90% of iphone apps that could be done in Flash are probably free anyway.
Your understanding of app store economics seem to be based on what other ill informed Apple hating bigots are saying.
Get this... Free apps on the app store LOSE money for Apple. They cost the same to review and host as paid apps and there are zillions of them.
Newsflash... Apple turn a small profit on the app store.
Here's what Steve is really saying:
"Anyone can write apps in Flash. If they can use those on their iPhones and iPads then I can't control the devices from my top-secret control-freak paranoia centre and we can't charge even more money on top of the insane price we already charge. Therefore, Flash is a CPU hog. Inform the brethren of this new Truth and let it be repeated across the land via the usual blogs."
Flash does suck, but not as much as Jobs.
The only apps that flash would replace are ones that are free on the app store anyway.
Free apps LOSE Apple money as they cost the same to review and host as paid apps.
The app store turns a small profit, not the vast wealth you think it brings in.
"With Safari on the Mac, Flash did show a significantly higher CPU utilization, but Ozer attributes that to Apple's use of GPU hardware acceleration with HTML5."
So.... he found evidence of Flash being a CPU hog, but passed it off as something else entirely? In effect he's proved Jobs' point, then bullshitted his way into another conclusion entirely.
Wake me when a professional does the same study.
Mines the one with ClickToFlash in the pocket.
Also, Flash video (iPlayer etc) makes my GPU kick up to ~30% + the ~70% on my CPU, so I'm not sure what that quote was about.
can someone do a "feature" comparison?
I'd be interested in reading a comparison of the features of Flash compared to the features of HTML5.
I hear a lot of noise about the video in HTML5 but not much noise about any other feature. I agree that video is a major use of flash, but it is only a recent feature. I recall from my youth that Flash used to be used for all sorts of things, such as the Games someone mentioned above. Hey, I remember getting a Tweenies DVD for my niece and finding out that it was a bunch of Flash (or was it shockwave i dont recall) 'programs'.
so: can we replace all the functionality in flash with HTML5? or do we need to just do Video though HTML5 and all the rest of the flash-y stuff through a small, dinky 'flash lite' like we used to have in te olden dayes?
...go read the HTML5 specs for yourself?
There's one big advantage with HTML5....it works on 64bit!
The problem with Flash, well, there are too many problems to count, but a big one is its over use in non-essential areas, like adverts and menus.
If you have 20-30 tabs open, each with a couple of Flash objects in them, the whole machine grinds to a halt. I run with FlashBlocker or ClickToFlash in Firefox, Chrome and Safari. I'm happy to look at adverts to help fund a site, but I won't watch Flash adverts...
On top of that, I use NoScript in Firefox to help keep unwanted sites, like Doubleclick or Google's ad services or analytics from running scripts in my browser.
I like Chrome and Safari better, in some ways, to Firefox, but until they get an equivalent to NoScript, they will remain 2nd/3rd tier choices for me.
Flash is just too insecure and overused where it isn't needed. It causes more problems than it solves.
this post has no title, just words and a tune
@ big_D 02.12.10, 13:52gmt:
"I'm happy to look at adverts to help fund a site, but I won't watch Flash adverts..."
Why the hell should you? Y'know the sites are paid by the advertisers whether your browser actually displays their shit or not... the same way that radio or TV networks are paid to run the commercials whether or not you leave the room for a piss or a beer, or tape the show ahead of time and fast-forward through the commercials.
I have no guilt whatever about ad blocking, leaving the room, fast-forwarding, etc... the Web site, radio/TV network is paid no matter what.
One other problem with Flash...
...is the DRM. Just look at the iPlayer. There's a few "third party" apps (even ones the BBC supported and promoted!) that respected the rules about how the content could be streamed/stored and they cannot be used any more because of the RTMP bullshit in Flash.
This would be easy to get around, but illegal due to the DMCA bullshit (and similar bullshit laws in Europe).
This is, basically, caused by Flash IMHO (well, more correctly, Adobe and the BBCtards). And it's all bullshit.
It's the same crap that has foisted DVD regions on use, allowed Sony-BMG to think it was "OK" to install a root-kit and so on.
A second problem with Flash is that it is not truly cross-platform. Flash on Linux sucks ass. Really. I will agree that Linux is a (very) niche market, but if you are lording yourself about as a "standard" you'd better bloody well work across ALL platforms (and that also includes simialr performance across ALL browsers).
This neatly segways into the third problem with Flash. Obviously Adobe can't do all the above, they are a bottleneck. Flash is not open, no one else can help them. There are projects that try to ape Flash (e.g. Gnash) and they have one hell of a time. If Flash was open, the individual OS/browser teams could make sure it works correctly on their platform. No bottleneck.
This would also solve problems one and two at a stroke and the world would be a happy place.
So, to clarify...
... Steve Jobs said that Flash is a CPU hog, and the test claims he's lying and then goes on to prove that actually he's correct. Sure in some browsers on some OS's there is no difference, but do we really think that Steve cares about Firefox on a PC, i'm going to go out on a limb and say he doesn't.
What an amazing study, brazenly state someone is wrong and then back it up with facts proving yourselves complete idiots. Well done.
Ok, to all the haters - lets discuss this sensibly for once
Ok, lets start with a simple agreement - all commercial sites need to run display ads to survive (even the mighty Reg).
Next, advertisers demand animation. Outside of Google Adwords this is non-negotiable. It's a brand building exersise, and static / text ads ain't gonna cut it.
So, lets kill Flash because Steve says so. Now what? Two options:
1) Have animated ads that run 30fps video in an HTML5 container.
Pros: No Flash.
- Massive bandwidth consumption (min 1MB per 15 sec ad)
- Massive CPU usage once you've got 2, 3 or 4 of these running on a page.
- AdBlock now needs to disable the HTML5 video element, so we're back to where we started.
Pros: No Flash.
- Hugely inefficient as the client runtime libraries (that were a one-time, 1MB download from Adobe) are now using different technologies (JQuery, YUI, etc) and having to download those for every ad view on every page.
- The optimisations are less efficient (e.g. you need to deliver a PNG24 to do Alpha transparency, whereas you can give a JPEG alpha trasparency in Flash).
- There's no potential for efficiency through compiled code or hardware acceleration -- every frame of movement is being calculated from complex math functions and rendered at runtime (This is a huge deal for eased, tweened animations which all professional ads use. Flash calculates these at SWF compile time for much greater efficiency.)
In short, whatever way you do animation in HTML5 it's guaranteed to be: Higher bandwidth; more CPU intensive; harder to disable as it's built into the fabric of the page, not via an easily disabled plug-in.
Why does Steve hate Flash? Yes, there are performance concerns, but those could be addressed. The real reason is that it takes away Apple's gatekeeper status. Want to play a game on the iPhone? Go to the App Store. If Flash was there, anyone could make iPhone games, apps, etc of equal quality to most App Store apps but without the Steve approval process.
Popcap games on your iPhone? Say goodbye to 50%+ of those 59p game downloads that make up so much of App Store sales.
Critical analysis? We've heard of it.
I don't supose there is any chance the el Reg might apply a bit of critical analysis to this pathetic bit of work? As so eloquently pointed out above, Flash isn't simply about video, and indeed the whole argument about Flash on iPhones isn't about video either. For all useful intents the cited study is useless. It fails to address the core point of the argument. Once upon a time we might have seen The Register take such shoddy work to task. Perhaps because it attacks Steve Jobs, El Reg's bias is allowed to show a bit.
A test where browsers with and without Flashblock enabled were pointed at a slew of popular sites, and the power overhead of the Flash crap measured would have been a worthwhile study. If you want a really interesting headline - multiply it by the estimated number of computers with open browsers and work out the carbon footprint of Adobe Inc. It won't be pretty.
- Nokia: Read our Maps, Samsung – we're HERE for the Gear
- Kaspersky backpedals on 'done nothing wrong, nothing to fear' blather
- Episode 9 BOFH: The current value of our IT ASSets? Minus eleventy-seven...
- Too slow with that iPhone refresh, Apple: Android is GOBBLING up US mobile market
- NASA to reformat Opportunity rover's memory from 125 million miles away