The .NET Addict's Blog

Kevin Hoffman

Subscribe to Kevin Hoffman: eMailAlertsEmail Alerts
Get Kevin Hoffman: homepageHomepage mobileMobile rssRSS facebookFacebook twitterTwitter linkedinLinkedIn


Related Topics: iPhone Developer

iPhone Developer: Article

Jobs Says "Not Likely" to Flash on the iPhone

Flash, in its current state, is not a good fit for the iPhone

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.

More Stories By Kevin Hoffman

Kevin Hoffman, editor-in-chief of SYS-CON's iPhone Developer's Journal, 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. Hoffman is coauthor of Professional .NET Framework (Wrox Press) and co-author with Robert Foster of Microsoft SharePoint 2007 Development Unleashed. He authors The .NET Addict's Blog at .NET Developer's Journal.

Comments (0)

Share your thoughts on this story.

Add your comment
You must be signed in to add a comment. Sign-in | Register

In accordance with our Comment Policy, we encourage comments that are on topic, relevant and to-the-point. We will remove comments that include profanity, personal attacks, racial slurs, threats of violence, or other inappropriate material that violates our Terms and Conditions, and will block users who make repeated violations. We ask all readers to expect diversity of opinion and to treat one another with dignity and respect.