

Adobe, Apple, and Flash - spicyj
http://daringfireball.net/2010/01/apple_adobe_flash

======
ZeroGravitas
With the recent Vimeo and Youtube announcements that Flash would effectively
become a fallback delivery format in the future, people have been too caught
up in the Theora discussions to say much about this potential deathblow for
Flash.

As Gruber says, when people say Flash support, they basically mean Youtube.
Once Youtube goes native, all the other sites need to rethink their usage
because Flash is no longer _necessary_ on phones, tablets etc. and indeed,
even for platforms that support it I can see Flash blockers and selective
Flash usage becoming popular for battery life reasons alone.

~~~
teej
> As Gruber says, when people say Flash support, they basically mean Youtube.

He doesn't say this at all. He says "Flash is the way video is delivered over
the web". Video is only delivered by Flash, but that doesn't imply that Flash
only delivers video.

Games are a huge source of Flash usage on the web. 75M people played Farmville
last month alone. That's not an insignificant audience. Gruber points this out
in the article, along with the reason why Apple doesn't care about Flash
games.

I don't disagree that smaller sites will probably take the lead of larger
sites regarding front-end technology switches. But I believe this follow-after
will happen more because HTML5 is the "cool new thing" not because Flash has
somehow overnight become obsolete.

~~~
potatolicious
The problem with Flash is that it's _really, really_ slow. For most web-
browsing PCs there's more than enough power under the hood to spare to account
for the slowness of Flash (even then, Flash is sluggish on most machines, just
not enough to be _really_ annoying).

On a phone or other slow-ish device, I cannot imagine how it could even hope
to run.

Look at the Palm Pre - a very good example of trying to run non-native code
_all over the place_ in a mobile device, and the whole thing grinds to a halt.
Multi-tasking on the Pre is a bit of a joke because of it - sure you can _do_
it, but not if you wanted some semblance of snappiness in your UI.

~~~
metamemetics
"The problem with Flash is that it's really, really slow."

if you program a simple particle generator with say a 400x300 display, flash
is a TON faster than canvas\javascript.

~~~
ido
Which browser?

Can you post numbers by any chance (I'm genuinely interested - in my
experience chrome and safari were sometimes several times faster than ff with
canvas)?

------
Groxx
No APIs for hardware h.264 decoding? What, you haven't seen OpenCL? You can't
write a GPU-accelerated video player? Mplayer's been GPU accelerated in h.264
(well, x.264) for a relatively long time, on both Linux and OSX. Are you
saying a behemoth like Adobe can't learn a trick or two from someone else?

There's no excuse for Flash to be so bad.

edit: for a better, in-browser example, tried Unity lately? In-browser GPU
accelerated 3D graphics. And it's never crashed any of my systems, in any
browser. ( personal favorite: <http://blurst.com/> )

edit again: hah, check this out. Note the "helloracer.com" link in the top
article, and that Unity works on the iPhone.
<http://drawlogic.com/category/unity3d/>

~~~
vetinari
Sorry, but OpenCL is not API for hardware H.264 decoding as we know it on
other platforms. Yes, OpenCL allows you to run code on GPU, but that's where
it ends. It is no match to DXVA in Windows or VA-API/VDPAU in Linux, which
allows you using the silicon dedicated to decoding MPEG-2/4 ASP/4 AVC/VC-1.
There is no equivalent to these APIs in OSX.

~~~
Groxx
Which still leaves the ability to _speed up_ h.264 / video in general with GPU
rendering, which is far more optimized for it than your CPU. It's not ideal,
but it's significantly better than nothing.

Granted, it's not "true" h.264 hardware decoding, but it's better than pure-
CPU-through-Flash, and as far as I can tell they have yet to take advantage of
it, and have been exceptionally late to the game no matter what.

~~~
vetinari
That's difficult to say without benchmarking. Yes, you can offload some
computations to GPU (you certainly are not going to parse the bitstream or VLD
decode using shader programs), but do you get net gain, when you are shuffling
buffers over PCI-E? You also limit your target audience to NVidia 9400 and up
when talking about OSX, basically telling the Macbook users with Intel graphic
cards, that they do not need to apply (Intel 3100 and 4500 are perfectly
capable of decoding H.264 and VC-1, just not through shaders).

------
nzmsv
It's easy to see for yourself how many crashes are caused by Flash. Firefox
used to crash regularly for me. After I installed FlashBlock it can run pretty
much indefinitely.

~~~
jgrahamc
I agree. I don't mind Flash when it's used for something useful, but most of
the time (perhaps even 99.99% of the time) it's being used for ads. Those ads
are, by definition, very attention grabbing because of their use of animation.
The animation uses my CPU.

So, in general I say... go away Flash and browse without it enabled. It's
very, very rare that I need to access a web site's Flash.

~~~
amadiver
Seriously, what do you think would happen if, magically, all those Flash ads
disappeared one day?

Bloated, gif-based animated ads and/or HTML5 <canvas><audio><video> animated
ads would take their place. (With, in many instances, much worse performance).

Flash isn't the issue; CPU-pegging animation, and ads, are the issue. The
Medium != the Message.

~~~
ericd
The Mac implementation of the Flash player is awful, it regularly pegs my CPU.
I'm assuming that HTML 5 in a well coded browser will not do the same, no
matter how annoying the ad.

~~~
Groxx
If you're talking Youtube's HTML5 video player, I regularly stay below 20%
CPU. That's 10% total power, as percentages go above 100 when using more than
one core.

Otherwise, it'd be Javascript + <canvas>, which so far is pretty darned fast,
but not too friendly to ad-servers. Not Flash-fast, but speedy, and quickly
getting faster. If JS+canvas gets more popular, you can bet that JS will get
WAY more attention in this area.

~~~
cake
I'm actually quite disapointed by Youtube's HTML5. I had great expectations, I
know it's just the beginning and I'm sure it'll be better, but I'm closer to
80% CPU than 20% with my Macbook on Safari 4.

~~~
tl
On Ubuntu 9.10(all same video):

Youtube HTML5 - 15-20% CPU

Youtube Flash - 20-25% CPU

.flv in Totem - 2-3% CPU

Clearly, there is optimisation work needed here.

------
jsz0
Realistically Flash isn't going to just disappear. I think everyone
understands that. We just want an alternative whenever possible. I can
certainly understand that Flash game creators don't want to re-write their
perfectly functional games in Objective-C. The Adobe Flash iPhone complier
solves that problem nicely. For anything on the web, ads, videos, navigation,
etc I don't think it's unreasonable to expect a Flash free alternative.
Adobe's embarrassing Flash support on OSX/Linux is a perfect example of why we
need alternatives. Adobe apparently cannot even adequately support three major
operating systems. How can we rely on one company to provide make or break
support for an entire assortment of computing devices? Three major operating
systems (at minimum) each with 32bit/64bit variants and multiple browsers in
mainstream usage. Half a dozen mobile phone platforms too. To date Adobe has
been able to offer good Flash support for a grand total of _one_ operating
system. If there weren't real fundamental problems with the security,
stability and performance of Flash I don't think we'd be having this
conversation at all.

~~~
PhilChristensen
"If there weren't real fundamental problems with the security, stability and
performance of Flash I don't think we'd be having this conversation at all."

But that always seems to be the way one technology gives way to another,
because it improves on various aspects that were lacking in its predecessor.

I think an apt comparison is RealMedia versus RTSP audio streaming. RealMedia
had a significant market share (for the time), but the mishandling of the
product led to people finding/building/demanding better tech.

It's arguable whether Adobe is mishandling Flash at the same level, but Flash
could easily go away in favor of HTML5 and Javascript.

The only thing lacking right now is the tools, and the Flash IDE would _not_
be difficult to improve upon. On top of that, there's already precedent in the
Palm Web OS IDE. Make a similar kind of interface for building easily
deployable standards-based web applications, and Flash could end up as a bad
dream faster than you think.

------
NathanKP
I completely agree with the judgement that Flash is the cause of most
application crashes on Safari. It is time for flash to die. Not only are most
flash plugins terribly inefficient (demanding 100% processor power on both
cores to run a simple movie is ridiculous) but they also tend to consume more
memory than they should.

The only people who would want flash to stick around would be flash based ad
providers and flash based games. Movies and other formats are easily dealt
with using HTML 5.

I think it would be best if Apple created their own flash implementation, yet
Adobe probably wouldn't want them doing that.

------
jcl
_The Apple way to play H.264 is through the QuickTime APIs (and really, as of
Snow Leopard the new QuickTime X APIs), not to write your own H.264 playback
code that seeks to directly access hardware accelerators._

I'm confused... If hardware decoding were simply a matter of using the
QuickTime APIs, why doesn't Flash just use those?

~~~
wtallis
It would be very easy for flash to use QTKit to just play a video, in the
HTML5 kind of way. But it would be quite a bit harder for them to do it in a
way that remains compatible with all the different play/pause/volume/seek
controls that different video sites have built in to their flash apps, not to
mention the advertising schemes. If they weren't smart about how they handle
all the compositing, they could probably end up really slowing things down
when there are things like custom translucent controls overlayed above the
video.

------
neovive
With total control over the iPhone OS, I wonder if Apple will slowly start
repositioning OS X as an operating system for power users and focus more on
the iPhone OS for it's consumer-line products. A basic iLife/iWork suite for
iPhone OS would be all that's needed for most users.

~~~
orangecat
That's exactly what I expect to happen. Steve said the tablet is the most
important thing he's ever done; I believe that's because he ultimately intends
it to replace general purpose computers for most consumers. If it's as locked
down as the iPhone, I fervently hope that does not come to pass.

------
jasonlbaptiste
Buy Adobe. Owning Flash source code problem solved.

Market cap of adobe as of writing is 17.82 billion. It's been rumored for a
while and might make a lot of sense (or none at all).

~~~
Groxx
Noooooo! Adobe is at least as much of a monolithic-program-overlord as
Microsoft is! Arguably worse, given its updating application that intertwines
with your computers' innards. It's practically opposite of what OSX is
encouraging, with fast, simple applications everywhere that talk to each
other.

~~~
epochwolf
They could buy Adobe and just drop the entire company into a dumpster along
with it's software.

------
wallflower
Daniel Eran Dilger of RoughlyDrafted has a very cogent perspective on most
things Apple.

Also, has Gruber ever linked to/acknowledged Hacker News before?

"Were Flash Lite to gain momentum, it might make Adobe the Microsoft of
mobiles, and Flash Lite the new Windows. That also makes it obvious why Apple
wants to choke Flash to death before it falls into position as the new lowest
common denominator in proprietary platforms on a new crop of mobile devices...

And you thought the iPhone was just Apple's way of muscling into the mobile
business! No, it’s really a proactive battle against a wide swatch of
proprietary platforms promising to plague a new wave of mobile devices."

[http://www.roughlydrafted.com/RD/RDM.Tech.Q2.07/879DD82D-559...](http://www.roughlydrafted.com/RD/RDM.Tech.Q2.07/879DD82D-5595-4746-BFCE-524BBA7C7A85.html)

------
armandososa
I think the whole 'open web' argument goes down as soon as Gruber mentions
h.264 as the alternative to flash. That's replacing an evil with another evil.

~~~
loup-vaillant
I think h.264 is a bit less evil than flash. First, it is not ubiquitous yet.
Second, it turns the flash vs <video> fight into a <video h.264> vs <video
Theora> fight. This move already lean towards open standards and free
software. Pushing further can only mean the eventual victory of Theora.

Now, talking like Theora doesn't exist _is_ evil. However, Apple and its fans
don't have much choice: Apple is a licensor of some patents on h.264, and
hardware acceleration isn't available for Theora in the Iphone. A world
without Theora is in their best interests.

The eventual format will probably be determined by Google (with YouTube). Will
they chose a non-encumbered format, or will they choose to support the Iphones
? I don't know.

~~~
armandososa
I agree that it is a lesser evil _right now_ , but it is not an that's why I
think Gruber's "open web" argument is hypocrite at least.

------
pilif
when I see how much flash content of the web is useless advertising and I
combine that knowledge with the currently available limited traffic plans
available here in Switzerland, I think flash on the iphone would only work if
I can selectively chose which flash applet I want to see which is probably too
complicated for apples taste.

Even worse: While I'm sure it's possible to create optimized flash-content
that is not too taxing on the hardware, I'm not quite sure that the various ad
agencies take their time to optimize their output for small devices. Why
should they?

So flash-ads would probably really diminish the overall browsing experience -
just look at the flash-enabled android phones out there: The moment you hit a
page with flash ads on them, they slow down to a crawl.

Would you want to have that experience on your iphone?

After two years of heavy iPhone use, I might (direly) miss background
applications or real over-the-air podcast download but I certainly don't miss
the flash support. At all.

------
TallGuyShort
I'll be a witness to the fact that memory management on the Flash platform is
horrible. The virtual machine that runs ActionScript is pretty good, but any
use of the Flex libraries, "debugging" versions of SWFs, programmers who don't
understand low-level concepts, etc... quickly leads to memory bloat, and in
extreme cases - frequent crashing.

~~~
sshumaker
Try loading in SWFs created with Blaze (the artist tool) into your flex app,
and you're in for an even more huge world of hurt. You can fume memory (crash
the browser within 30 seconds) without even writing a single line of code,
just by having an artist placing certain kinds of keyframed animations and
fonts. We spent weeks trying to explain this problem to the absolutely idiotic
Adobe Support Gold, and after months we got something like "seems like
something might be up. we'll have our engineers look into it. Can you send us
another test case?"

------
Tichy
Tablet not supporting Flash would imply that the tablet would also be tied to
the app store? That's me losing interest right there.

I'd expect a tablet to be more like a "real" computer than a phone. Where
(i)phones would be real computers, too, except they are tied to app stores,
which limits their use as real computers.

~~~
roc
It being a (hypothetical) new product Apple would imply +appstore, -flash. I
wouldn't _expect_ anything new from Apple would allow unsigned binary
installation as a default.

It sounds like you should probably just tune out anything new from Apple and
save yourself the time.

~~~
orangecat
_It sounds like you should probably just tune out anything new from Apple and
save yourself the time._

Sadly I'm getting to that point. I love my MacBook Pro and Mac minis, but I
left the iPhone for Android, and am expecting the tablet to be another piece
of excellent engineering deliberately crippled by Apple's marketroids.

------
ryoshu
Anecdote: A few years back I wrote a Flash 8 piece for a relatively large ad
campaign. The code ran fine on everything except OSX/Safari. Not only did it
run poorly, but it had the strangest behavior: it ran poorly the first time
you visited the site with Safari, but if you reloaded the site, everything ran
fine.

I bought a Mac mini to try to debug the problem, but without dev tools I was
at a loss. After sharing my frustration amongst my circle of friends, a guy
that did a lot of OSX work decided to take a look with some debugging tools.

From what I recall, he discovered that Flash was making a perfectly valid call
to an API method that should have been deprecated. The bug report was filed
with both companies and I can only hope that one of them paid attention. The
hack to get it to work on OSX/Safari wasn't pretty.

------
jxcole
I would like to have an issue clarified: The author mentions that flash is
completely controlled by adobe which makes apple uncomfortable. This is true
practically, but theoretically, the swf format is open. Apple could come out
with their own player if they wanted. Am I missing something important?

Here is the spec for flash player 10.
[http://www.adobe.com/devnet/swf/pdf/swf_file_format_spec_v10...](http://www.adobe.com/devnet/swf/pdf/swf_file_format_spec_v10.pdf)

There are a lot of open source flash projects. Here is a nice list I found:

<http://osflash.org/open_source_flash_projects>

~~~
wmf
The amount of effort to implement a new Flash player is huge. Epic, even.
Considering how fast Adobe is adding new features to Flash, trying to clone it
would be like getting on a treadmill whose speed is controlled by your
competitor.

~~~
gaius
Yet there are non-Sun JVMs...

------
jasongullickson
Next to video, the largest pro-Flash argument is games. Some have said that
most flash-based games could also be made using nothing more than what is
available in HTML5.

If this is true, is the reason these games are built using Flash just a matter
of the quality of tools available to game developers? If there were an open-
source equivalent to Adobe's Flash developer tools, who's output was HTML5,
would Flash developers switch?

~~~
benologist
There are a bunch of reasons we use Flash for games

\- we give a site a SWF and that's it, they have the game.
HTML5+CSS+JS+images+sounds+music+a flash bridge to handle audio, etc is a mess
by comparison to "a swf".

\- distribution is critical to the business of making Flash games, when you
see a game on whateverwebsite.com that begins with the logo and branding of
for instance www.armorgames.com, that's because Armor has paid the developer
to brand that game with his site. This alone is a massive industry that
includes many amongst the most-trafficked sites on the met.

\- power and functionality, every generation of the software Flash gets
noticeably better. Massive progress every other year, that allows developers
to do things like use webcams for player movement, audio and visual sound
effects, graphical work, only some of which right now is still years from
being viable across the board in HTML5/CSS/JS. New versions also enjoy rapid
adoption rates by ocnsumers.

\- truly cross platform, even if it sucks a bit on linux or whatever, we as
developers don't have to do anything at all to accommodate anyone at all ...
we write once and that's it. The fantasty with html/css/js etc standards
making this a reality for that platform have historically and currently not
worked that well, the most obvious example being video codecs for html5, where
you'll now have to sniff the user's browser and serve them alternate content.

------
ThomPete
Flash wont die out anytime soon.

You wont find any platform that is so well equipped for rich experiences as
the Flash Platform. HTML5 is no where near that.

A lot of developers hate flash, but the rest of the world loves it.

------
owid
Is it easier to create Flash packager for iPhone(
<http://www.adobe.com/devnet/logged_in/abansod_iphone.html> ) or 64bit Flash
Player?

------
est
okay, what's the current best web solution for vector animation besides Flash?

~~~
mikepurvis
Canvas. Or SVG. Those are the iPhone-friendly solutions.

For IE compatibility, experiment with Raphael: <http://raphaeljs.com/>

~~~
est
Are you suggesting artists or non-programmers to create animations not by
using an authoring tool, but by typing numerous for's and setTimeout's ?

Also is it possible to streaming the animations in SVG?

~~~
raganwald
_Are you suggesting artists or non-programmers to create animations not by
using an authoring tool, but by typing numerous for's and setTimeout's ?_

1\. Write new authoring tool that outputs numerous fors and setTimouts

2\. ...

3\. Profit!

~~~
alex_c
That's exactly what I'm thinking as I read this whole debate. Does such a tool
exist, and if not, why not?

------
todd3834
Does someone want to sell a cliff notes version of that?

------
rortian
I think this article highlights how backwards Apple can be on things. There
are really no advantages to having your browser be 64-bit (I could imagine how
you could have a 4GB+ browser process but its really not the most common use
case).

I have really been impressed with how well Windows does 64-bit. The 32-bit
layer just works.

Also, Apple is always a pain about anything GPU related. Usually you have to
buy through them at an absurd premium, then you are usually dealing with an
older opengl version. They are not the platform to use if you are interested
in having decent graphics acceleration.

~~~
blasdel
I'm sorry, you've got that totally backwards. The way Windows handles 64-bit
is decidedly disappointing: it's a whole separate version (no upgrades!) that
has two copies of everything.

Apple has pulled it off beautifully: one version of the whole OS, Universal
Binaries for everything, uses whatever kernel is most appropriate because it
can run 64-bit processes on a 32-bit kernel, everything just works.

~~~
rortian
I don't think I do. There is a certain irony in you saying everything just
works, when the blog post explicitly says that hardware acceleration doesn't
work for flash, and seemingly by Apple's design.

You hate there being a whole separate version of the OS, far out. I think the
needing universal binaries is a little silly. The fact is Windows biggest
strength is its gigantic amount of software available for it and it doesn't
require rebuilds all the time. Stability can be a good thing.

I find Apple constantly releasing upgrades a little ridiculous. It's nice to
know my PC will be able to run just about anything without need to spend $100
every 2 years.

~~~
NathanKP
_It's nice to know my PC will be able to run just about anything without need
to spend $100 every 2 years._

Snow Leopard didn't cost anywhere near $100. I paid about $30 for it.

