iPhone News Desk
Jobs Says "Not Likely" to Flash on the iPhone
Flash, in its current state, is not a good fit for the iPhone
Mar. 6, 2008 04:00 AM
Digg This!
Kevin Hoffman's Blog
Ever since the iPhone was first displayed, people have been wondering if there was going to be any kind of Flash support for the iPhone. Initially, I think the response from Jobs was "maybe", but I took that as a "nope." There are hundreds of reasons why Flash doesn't make sense on the iPhone, but I'll run through a couple of my own opinions as to why Flash, in its current state, is not a good fit for the iPhone.
- File System. The Flash Plugin simply assumes the presence
of a file system to which it has (limited, isolated, and secure) access. The
iPhone file system is not open. Unlike Windows Mobile, you
can't pop open an explorer window and browse around the contents of your phone.
- Processing Power. The iPhone has a processor that is
designed to be optimized for limited power consumption. The version of OS X that
runs on the iPhone is designed to maximize battery life, as is Safari. Flash
assumes it can suck whatever resources from the computer it wants. Even if every
single Flash developer agreed to produce low-resource-consuming Flash files, how
could the runtime be tuned to work in this environment in a way that is both
practical and profitable? (you'll see that theme as I continue...)
- Alternate UI paradigm. Flash is not optimized for touch
interfaces. In fact, Flash has no idea what a touch interface is at all. It
responds to clicks and mouseovers, and the iPhone has no concept of a mouseover.
Any existing Flash sites or mini-apps would have to somehow compensate for that.
If you've been to enough Flash-ridden sites, you'll know that there are
tons of SWFs that rely heavily on mouseover and would simply be
unusable on an iPhone.
- Zooming and Pixel Depth. The iPhone is an extremely high
resolution display, even though it is a small form factor. I think it has 3
times the pixel density of the average monitor. I don't even want to know what
kind of headaches that would cause the developers trying to port the flash
runtime to the phone. Surely a port could be made, but would it be practical or
profiterable for either Apple or Adobe to do it?
- Form Factor. I can't even count the number of Flash
portions of web sites that do not scale when the page scales. Flash is
fantastically easy in fixed-width mode, and when people do navigation bars,
rollover strips, or some of the other extremely ubiquitous use cases for Flash,
they do them in fixed width scale! Basically what you'd be looking at
is any page with any of this non-scaling flash content on it would completely
obliterate what is currently the most smooth and seamless mobile browsing
experience available. It would prevent mobile Safari from being able to scale
and zoom to other portions of the page not containing Flash. No port of the
Flash runtime would prevent iPhone users from being
assaulted by this experience. Any iPhone user who hit
a page like this would flee in terror, just like people do now with other
crappy mobile browsing experiences. Do you think Apple wants to give their
users a crappy experience?
- Security and Sandboxing. Flash can do things that
JavaScript cannot. Flash can also do things that you simply cannot do on a
mobile phone with a locked file system. Even if a port were possible and/or
completed, if you thought the complaints about the Vista UAC were bad... just
imagine what Apple fanatics would do if constantly being beaten over the head
with security and sandboxing prompts and dialogs. "This page is trying to do
something the iPhone doesn't support" ... WTF??! Steve Jobs is right in assuming
people would rather see the "blue cube" of the missing Flash plugin than have to
tap away a security violation dialog. At least with the blue cube,
the important content of the page is still accessible.
- The Canvas. I don't know about you, but I think this little
HTML tag kicks ass. Using a little JavaScript and the
Canvas tag, you can draw and animate to your heart's content.
- Video. The iPhone uses H.264, which is, as far as I know, a
more widely used video standard than Flash.
So, to sum things up:
If Apple were to create a Flash port for the iPhone, the nature of the
exiting world of Flash applications would make the user experience terrible, and
not up to Apple's standards. If Adobe were to create a flash port for the
iPhone, the user experience would be equally crappy, and equally below Adobe's
high standards for quality. Both efforts would require a large financial
investment to produce something that most people would think sucked anyway, so
its solid business that neither of them are very interested in creating the
port.
I say leave Flash off the phone. The combination of the forthcoming SDK and
the abilities granted to web developers by virtue of CSS3, WebKit extensions to
CSS, Safari's advanced HTML support (including the Canvas tag!) all add up to a
rich development environment that is wanting for very little and I don't think
anybody who actually uses an iPhone on a daily basis really misses having Flash
there... I know I don't.
About Kevin HoffmanKevin Hoffman, editor-in-chief of SYS-CON's "iPhone Developer's Journal" is one of the most popular "iPhone" and "Silverlight" bloggers on the Net. Kevin has been programming since he was 10 and has written everything from DOS shareware to n-tier, enterprise Web applications in VB, C++, Delphi, and C. He is coauthor of Professional .NET Framework (Wrox Press) and co-author with Robert Foster of Microsoft SharePoint 2007 Development Unleashed. Kevin authors "The .NET Addict's Blog" at ".Net Developer's Journal" (dotnetaddict.dotnetdevelopersjournal.com).