Hacker News new | ask | show | jobs
by kwantam 6068 days ago
Agreed, this "story" smells fishy. How is it that flash works acceptably on other platforms but not the iPhone?

A much more likely explanation is the one everyone has been assuming, viz., Apple doesn't want any code they haven't approved running on the phone, period.

3 comments

Flash doesn't run "acceptably" on OSX or Linux. It uses around 30% of my cpu on either platform, compared to using only 3% of the cpu on my windows machine. Clearly they have some work to do before they can make flash as efficient as running on their core platform.

Adobe should make flash work decently on other platforms before making one for the iphone...

Running any flash app on my macbook causes the fan to turn on within 5 minutes -- it's horrible.

Wow, it only uses 30% cpu? On my Q8400 in Ubuntu, it pegs an entire core the moment flash launches...
Playing a flash video almost brings my Core Duo macbook to its knees and uses around 40% of each of my 4 cores on my hackintosh (Q9450).
Let's add insult to injury: Apple has reported that a majority of crashes on a Mac — across the board — are due to Flash.
Flash is the single major reason Apple spun off plugins as separate processes, just so Flash's poor performance wouldn't make Safari crash so much.
If that's true, why doesn't Apple make their own swf viewer? I mean, they're Apple, they have twenty billion dollars in the bank; they can afford to reimplement Flash Player.
They are making their own "swf viewer". It's called HTML5 and it's the reason you can't find any Flash on their own webpage, or on their iPhones.
My macbook goes absolutely nuts when I watch even a 2 minute flash video -- CPU usage spikes to close to 100% as the fans try to compensate by ramping up to a speed that makes watching the presentation without headphones unbearable. Adobe definitely has a lot of work to do on Flash on OSX :(
I saw sometime ago a video that a guy opened up a flash video on the os x and then the same on a virtual machine, running windows, on top of os x. The cpu use on the latter was negligible.
I don't know what you have running on your Macbook, but I have two Macbooks, one new and one about 2 years old, and my kids watch hours of Flash videos and Flash games until I have to wrestle the computer out of their hands because it is bedtime.

This "30 minute battery life" smells fishy. It is a friend of friend of a friend who woke up one day in his hotel room with his kidney removed and his iPhone battery drained.

I loaded up this classic video in Safari:

http://www.youtube.com/watch?v=XsSHlCDIzNg&feature=relat...

and watched the resource use. While the video was playing, the minimum CPU use from Safari was 48%, with frequent spikes above 60%. As soon as I closed the tab, CPU use dropped to about 2% and stayed there. On a laptop with a full charge and power-management profiles to optimize usage you can get away with this; on a power-constrained mobile device you most certainly can't.

Same experience here, although I wouldn't laud flash's performance on Windows either. Silverlight runs better than flash most of the time, and Silverlight is pretty terrible.
Silverlight is pretty terrible

Compared to what? Silverlight uses a bit more CPU time when playing MP4 videos compared to Media Player or VLC but about the same as Google Chrome. It may be different on OS X. How does Silverlight's video performance on OS X compare to native Quicktime for example (which is relatively slow on Windows)?

Performance is much improved on Linux these days (at least the x64 version).

My Macbook Pro running Ubuntu 9.10 uses about 5-10% CPU at most for flash video, and usually a little less for flash-only sites. The only problem is that when it crashes the browser is sans-flash until you restart it.

Of course, playing the same flv file full-screen in mplayer uses almost no CPU at all.
On my machine, it likes to kill my whole webbrowser whenever I use the Youtube quicklist too many times. Then I can't relaunch the browser because it doesn't actually kill the browser cleanly; it's zombied. A few kill-9s later, and I can finally watch a cat flushing a toilet.

Not optimal.

Adobe should make flash work decently on other platforms before making one for the iphone...

Do you believe that this opinion both motivates and justifies Apple's refusal to allow Flash on the iPhone?

Well since the iPhone platform is similar to Apple's desktop platform, if I were Apple, before I went ahead and made concessions to Adobe I'd want to see some proof that they wouldn't mess up the user experience. So far Adobe has shown they aren't either willing or able to write quality Unix flash players.
Wow, I'm being downvoted into oblivion for observing that other mobile devices can run flash apps and pointing out that Apple keeps tight control over their platform. Neither of these are particularly controversial, as I see it.

I realize that Flash is annoying, and of course I'd expect to be able to turn it off on any reasonable platform---most of the time, I really don't want it. But when I do, let me make a big-boy decision about battery life versus usefulness all by myself.

Are you really under the impression that Apple is in a better position to decide whether the tradeoffs are worthwhile than I am? On my phone?

> Are you really under the impression that Apple is in a better position to decide whether the tradeoffs are worthwhile than I am? On my phone?

Yes, I am under that impression. If Apple shipped with Flash, people would constantly complain about the battery life of the phone. I have been working on user interfaces for a couple of years now, and I can tell you that my user interface code is constantly at fault. Every segfault, random pause, incorrect data, data corruption, missing file, and plugin bug gets filed under "user interface" by anyone who is not directly part of the project.

Now, its possible that you're the guy who would spend a week testing battery life under various conditions to determine that Flash was at fault. Maybe you would publish all of this to your blog, and 1,000 people would read it and agree. Even if these were both true, the other 21 million iPhone users would be bitching about battery life all day long - and they would not care that Flash is at fault - and they certainly would not be able to live without it now that they spend 29 of their 30 minutes of battery life in FarmVille.

Apple has no control over Flash, and Flash sucks on every platform except maybe Windows. If Flash really mattered, one of the other smartphones would support it and make the iPhone obsolete. This is what competition is for. What we need is more diversity and interoperability in this industry. Flash on every device is not diversity.

Flash on every device is not diversity.

And Apple's walled garden does nothing to promote either diversity or interoperability.

Separate your dislike of Flash from your reasoning on this subject for just a moment. What if it were Sun wanting to deploy a JVM for the iPhone? How about a .NET CLR? These certainly promote both interoperability and diversity.

Now, would Apple allow them? Why not? Because they'd impact battery life? Hardly. They'd disallow them because it would loosen their grip on the iPhone software ecosystem. The bottom line is, Apple's business model with respect to the App Store relies on being the only game in town.

Downvote away. No matter that I'm on topic and making reasonable, if contentious, points. My karma isn't so important to me that I'll let y'all's fanboiism gets in the way of actual discussion.

I never downvoted your comments, and do not I think that my points are fanboyism.

> And Apple's walled garden does nothing to promote either diversity or interoperability.

I want diversity of full device stacks. Many competing operating systems. Microsoft's business plan and the previously high cost of computers has convinced people that hardware and software are separate things. Apple's take is that they are not - they come together to form one device. Apple produces devices that while internally sealed, interoperate with well understood file formats like HTML, Doc, PDF, and MP3/AAC. This is better for the consumer, who honestly shouldn't care how these complicated systems work.

> What if it were Sun wanting to deploy a JVM for the iPhone?

Well thats great, they can, just like Adobe can release Flash for the iPhone [ http://labs.adobe.com/technologies/flashcs5/appsfor_iphone/ ]. The issue at hand is whether MobileSafari has a Flash plugin. I personally do not care for one, and Adobe hasn't gone the extra mile to make it compelling.

> The bottom line is, Apple's business model with respect to the App Store relies on being the only game in town.

Silly, unsubstantiated remarks aren't as interesting as they sound in your dorm room. Apple doesn't need to make any money at all from the AppStore, they're sitting on a $40b pile of gold. From what I can see, they're trying to make a great product, and everyone else who failed to do so on their own wants a piece.

Silly, unsubstantiated remarks aren't as interesting as they sound in your dorm room.

Snarky, wildly inaccurate drivel doesn't lend you any much-needed credibility. If you're unaware of Apple's obsession with lock-in, I'm impressed you can get an internet connection from whatever planet you live on.

Apple doesn't need to make any money at all from the AppStore

Oh really? They just take a 30% cut because they're kind-hearted? True, it's not a huge chunk of their revenue, but it's a very high margin business and you can be damn sure they will fight to grow it as much as possible.

Moreover, your comment about a "pile of gold" is naive. Most companies in the tech sector, Apple included, are expected by investors to maintain a "growth" attitude. If you don't believe me, look at the incidence of dividend payments in high-tech companies versus the market as a whole. Sitting on a huge pile of gold does little to nothing for your stock price[1]; investors want to see up-and-to-the-right. This is a simple, if unfortunate, fact: Apple is on the prowl for every new revenue stream they can find, especially those that print margin dollars, because they must always appear to be a growth company, even though you and I know this is a noble lie at best.

[1] other than establish the "ground floor" valuation for your stock; point is, it does relatively little to drive investment when, by comparison, your peers are shoveling their cash hordes into idiotic buybacks and low-return R&D just to keep the illusion that they're taking over the world. I have substantial experience with this phenomenon at the company I work for.

I believe the only mobile version of Flash for ARM available today is Flash Lite which is based on Flash 7. Is that really useful at all? Seems like Flash 9 is a requirement for almost every thing these days. IIRC Flash Lite isn't even a full implementation of Flash 7. I've never used it myself so I could be wrong. I don't see how useful that would actually be. When Adobe actually ships a modern mobile ARM version of Flash the issue becomes more relevant. I'm not really too keen on Flash in general so I don't mind Apple playing some politics with the iPhone to promote open web standards over proprietary Flash that has historically been an incompatible slow moving mess on just about every non-Windows platform.
Any code? You mean any code other than JavaScript?
You make a good point.

While it is useful for web apps, JavaScript in Mobile Safari is not sufficient for creating the vast majority of standalone applications.

Flash, while hardly a world-class systems programming language, is a step beyond JavaScript in several respects.

Most importantly, it is more consistently cross-platform compatible, meaning that I could actually take advantage of preexisting Flash applets on the iPhone, whereas oftimes when designing a JS app one must consider a far wider range of discrepancies between platforms. In other words, given a randomly-selected JS applet and a randomly-selected Flash applet from all available to me, the probability is greater that the Flash applet will be correct in an officially-supported Flash VM than that the JS applet will be correct in Mobile Safari.

Show me an instance of a modern browser running javascript that doesn't run correctly. I've written a lot of javascript and the only thing that trips me up is the css. Javascript itself works fine on almost all platforms. (Some quirkiness on IE6).