

Ask HN: Why wasn't Adobe able to make Flash run well on smartphones? - sendos

If I'm not mistaken, current smartphones (iPhone 4S and the latest Android phones) should have more computing power than my laptop 5-7 years ago.<p>So, if my laptop 5-7 years ago could run Flash content just fine, why does it not run well-enough on today's smartphones?<p>Is it the size of the RAM? Is it due to strict computing restrictions imposed on smartphones to help save battery life?<p>In what ways were laptops from several years ago better equipped to run Flash than the latest and greatest smartphones from today?
======
cd34
Define runs well.

My macbook is silent until I visit a site with a flash banner at which point
the cpu fan comes on. That tells me that flash does something computationally
intensive even when displaying what looks like a 4 frame movie with a button
that prompts me to click to the next destination. The time between loading a
page and hearing the CPU fan come on depends on how ad-laden the page is.
While my machine doesn't lag and Chrome Canary will occasionally lag a little
when scrolling those pages the first time, I'd have to say that translates to
high cpu utilization which would kill a phone's battery pretty quickly.

The other problem was focus - most flash games used the mouse pointer for
directional control. The mouse pointer doesn't exist on a phone and a tap
would correspond to a mouse click. Redesigning Flash to deal with those issues
on web pages where HTML5 solves many of those issues convinced Adobe to
concentrate on Air, and leave webapps to HTML5.

Flash won't disappear overnight, but, new development ceased. Whether they
make it support GPUs before relegating it to a 'security release only' update
policy is hard to say.

Personally, I have removed flash from my macbook and only Chrome/Chrome
Canary(my primary browser) can even see Flash enabled pages/sites. Months ago
it was very irritating when the version of flash bundled with Canary would
crash on one page and violate the sandbox causing google.com/music to crash as
well.

*still amazed at the irony of using Flash for google.com/music :)

------
acqq
"current smartphones (iPhone 4S and the latest Android phones) should have
more computing power than my laptop 5-7 years ago."

It depends on what you compare. Even if the CPU is fast, its speed is there to
work less, not to be 100% all the time. See:

<http://www.anandtech.com/show/2782/2>

"although the system may require 3 watts or so to "hurry up", the power
consumption goes down near .25 watts when idle. By averaging these two
numbers, one can quickly see how quick start can extend battery life"

There are Flash-based ads that push CPU use to 100% on 6 years old computers
for all the time you're looking at the page with contains them.

Second, the video decoding on the phones is done not in the main CPU --
there's a hardware decoder. If Flash video content is not suitable for the
hardware decoder, Flash code has no chance to be efficient. Again, 100% CPU
use.

~~~
sendos
I would accept the battery life argument if Apple did not allow games in the
App Store that drained the battery very quickly. Why is it acceptable (for
users/Apple/Steve Jobs) for iOS games to drain the battery but not acceptable
for Flash to drain the battery.

If there was a draconian 'thou shalt not drain the battery' rule in place, I
can see how Flash would violate that. But there is no such rule in place,
since other apps are allowed to drain the battery very quickly.

~~~
acqq
> there is no such rule in place, since other apps are allowed to drain the
> battery very quickly.

Flash was not an app. It was supposed to extend the Apple's browser. Imagine
you develop the browser, and you can decide if you want to allow me to
"extend" it causing it: crashing all the time (see how it performs on the OS
X), making the otherwise fluid pages "stuck" and unresponsive, and finally,
not even having a ready version of extension for years. Furthermore, if you're
aware that anybody who develops something new would have anyway to develop the
interaction differently for your mobile device, and that the main benefit of
my extension is for the already deployed code (the one designed for the
desktops). But you know that the already deployed code simply cant be run
"properly" (as in having a proper interaction) on the mobile device no matter
how the extension is developed. Then would you allow me to diminish the value
(making it behaving worse) of your already finished product?

------
jordan3caron
"As Steve Jobs put it: “Flash was designed for PCs using mice”—which is true.
When Flash was created back in the 90′s, the target platform that it was
designed for, was the PC. Flash was designed for desktop computers, computers
with a fast CPU and a power-cable. This is the root cause of all the hardships
Adobe has had with mobile."

read the rest of the article here - <http://techcrunch.com/2011/11/09/why-
adobe-failed/>

explains everything super well!

~~~
sendos
Thanks for the link, I'll take a look.

As for the following: > "As Steve Jobs put it: “Flash was designed for PCs
using mice”

Well, HTML was also initially designed for PCs using mice, but it has managed
to evolve to the new era of smartphones, so why couldn't Flash evolve to
utilize the new touch interface?

> Flash was designed for desktop computers, computers with a fast CPU and a
> power-cable.

I have several games on my iPhone (Fieldrunners being the example that comes
to mind) that are are so power hungry that they deplete my battery in no time.
And yet these are acceptable by users, but a Flash game that depletes battery
is not acceptable. Why is this the case?

~~~
acqq
"And yet these are acceptable by users, but a Flash game that depletes battery
is not acceptable. Why is this the case?"

If you ask ordinary "users" they'd want everything, including Flash on every
device and in the browser too. Then they'd complain that "the internet" is to
slow to even appear even if the page "just has a few ads." In Apple's case,
Jobs, not "users", decided what he cared more for.

~~~
sendos
But this is simply pushing the question further up the food chain.

That is, the question becomes: Why did Jobs find it acceptable to have iOS
games on the iPhone that kill the battery within an hour, but found it
unacceptable to have Flash that kills the battery within an hour?

------
thesash
I think the underlying (and completely unsolvable) problem boils down to user
experience. There are myriad flash apps out there with atrocious hover-state-
based interfaces that are annoying on PC, and would be completely unusable on
a touch screen device. Activating flash on a mobile device would open the
floodgates to countless apps that simply wouldn't work, without providing
context to the user as to _why_ they don't work. In such a situation, it is
simpler to control the user experience by simply not allowing flash.

~~~
sendos
Aren't there countless websites out there with no Flash and only
HTML/Javascript/CSS that have atrocious hover-state-based interfaces that are
completely unusable on a touch screen device?

Why deal with hover-state-based interfaces differently for Flash and non-Flash
websites?

Is it easier to show a user a mobile version of the site (with no hover-state
dependencies) if that site is non-Flash than if it has any Flash on it?

