Last week, Steve Jobs posted a "Thoughts on Flash" article to Apple's website discussing Apple's decision to not pursue Flash on iPhone.
Google VP Andy Rubin responded to this by saying, "sometimes being open means not being militant about the things consumer are actually enjoying." Jobs wants us all to use HTML5, CSS, and JavaScript, but despite the growing capabilities and support of those standards, Flash is still the right tool for some jobs, and despite Jobs' complaint that most Flash sites weren't designed for touch interfaces and will probably be broken, a lot of them will probably still be usable, or easily fixed by developers who care.
While I'm a happy Mac user — happy about everything, that is, except Flash video performance — Jobs' fourth point, on battery life, "The difference is striking: on an iPhone, for example, H.264 videos play for up to 10 hours, while videos decoded in software play for less than 5 hours before the battery is fully drained," and the implied conclusion "therefore you should not be allowed to watch software-decoded videos on the 45 minute bus ride between your charging station at home and your charging station at work" typifies what really irks me about Apple, why I tend to disagree with Apple's so many of Apple's technological policies, and why I'm happy there's a Droid in my pocket and not an iPhone.
After some hurried initial thoughts that went something like: "Open? App Store Pot, meet Adobe kettle" and "'users are not missing much video' and 'we have plenty of free games in the App Store' is not the same as 'access the full web!'" I decided to write something a little more coherent and (a little) less snarky.
I understand that Apple is in the business of selling an experience. However, as a consumer and as a developer I'm in the market for a tool. When shopping for a phone, my target audience is very small: me. And frankly, I don't trust anyone to craft a technological experience for me other than me. I've done careful market research over an extended period of time and I've got fairly good data that indicates I know what kind of experience I'm looking for. Give me a tool and I'll build that experience; give me the experience you think I want and no matter how precise and polished I'll wish I had a tool to use to grind those rounded corners to a point for a ridiculous and highly idiosyncratic, but nonetheless important, reason as regards my enjoyment of the experience.
As a developer I want to write-once-run-anywhere, whereas Apple wants a top-quality experience hand crafted for their specific device. I've got enough to worry about making sure one codebase correctly handles running in all of the various configurations our users require without worrying about making sure a second codebase supports all of those configuration on iPhone.
The Flash VM guarantees (for reasonable definitions of "guarantee") that the environment is the same (or, at least, similarly testable) regardless of whether the app is running on a desktop computer or the headrest of the minivan of the future. If my iPhone app sucks because it's running in Flash on a phone but using memory as if it were on a gaming rig, that's my problem. If my app is useful, some other developer is going to come along with a native app knock-off and steal my userbase; that's my problem too. Apple's problem is to make sure that the best version of an app is the first one that users find. That's the experience Jobs should be concerned with.
As a consumer I want a device that will bend to my whim, not one that will tell me what I can do. If I want to watch The Daily Show while waiting in line at the DMV, why should I have to wait for The Daily Show to create an app for my phone, or to sync the (not free H.264-encoded) podcast through iTunes before I leave, when thedailyshow.com has free full episodes streaming in Flash? If I spend hours at home trying to unlock all the achievements in the flash version of Tower Defense VII, why shouldn't I also be able to do that while waiting for a bus?
As a consumer/developer (dare I say poweruser?) I want to write an app which will log my gps coordinates to my private webserver every 15 minutes (for my own data-obsessed curiousity), unless my battery level is less that 20% and it's still before 5pm, in which case I want a 3rd party app to automatically kill my app and disable gps, wifi and bluetooth in order to make sure I have enough battery left to check the bus schedule when I leave the dance at midnight or call a cab if I miss the last bus. Apple wants me to take a month and write a general purpose app following their UI guidelines and to review the app before I can put it on the AppStore and then onto my phone. I want to bust it out in 30 lines of phone-side code (with my twitter id and webserver name hardcoded) in a cobbled together phone-based version of Python and 15 lines of the ugliest PHP server-side code you've ever seen on a lazy Sunday afternoon before I go to the farmers' market.
*Deep Breath*
Here's the crux of the disconnect: Apple wants me to have a beautiful device in my pocket that helps me do things and always behaves exactly as I expect. I want to have a greasy robot in my pocket that does things *for* me, even if it occasionally flips out and kills people.
Android's not perfect: hardware segmentation is a problem, OS Version segmentation moreso, and plenty of apps in the Android Market are laggy, buggy and crashy. But well-rated apps by major players (Pandora, Yelp, etc) are there. They work. And they're just as good as iPhone versions of the same apps (Facebook being the notable and continually surprising exception). For the majority of users, this shiny well-behaved robot is all they'll ever see and for my money this experience is on par with the iPhone experience. However, I just ordered a new command module and some laser eyes from Evil Robot Co. Ltd., and invented this Rocket Pack that should be pretty neat, and I'd like to be able to install them, please.
Finally, with all that said, my iPod Touch isn't going anywhere until someone releases a music player for Android that wasn't designed by a monkey.






Submitted by Pip (not verified) on May 7, 2010 - 7:03pm.
THANK YOU! You said exactly what I have been unable to coherently say. Although I come from a different place (non-developer, iphone user, mac/apple-hater) you describe things perfectly. Trust the user to know what they want.
As we saw with the iPod, no matter what you create, others will do things with it you never thought of, podcast. You run the risk of killing your business if don't let people have some control over the toys they bought and paid for.
Submitted by Shell Greenier (not verified) on July 9, 2010 - 3:40pm.
I disagree, people have become reliant on Flash to make things sparkly and in the process, are segregating users and risking their SEO.
1. Disabled users have always had issues with flash content and the rest of society is now starting to see the frustrations that go on daily for users of visually impaired browsers.
2. Flash is notoriously bulky and hard to maintain unless your developer creates the files to allow for content to be pulled in dynamically from outside sources like xml. Which most don't and most clients do not know they should even ask for.
3. Javascript has come leaps and bounds, new libraries make it easy to create interactive pages that are smaller, more accessible, and allow for excellent search engine optimization. Add to this the capabilities for HTML5 and CSS3 and you really won't need flash for more than video, audio and on-the-fly generated dynamic content.
4. Users are becoming less and less patient. They won't sit and wait for your flash site to download connected to their fiber internet, what makes you think they will wait for your content to download on their 3G/4G?
5. Developers/designers/marketers need to test their designs and concepts out on focus groups first. Flash sites are often designed for the bells and whistles of flash instead of for the user. Gimmick focused as opposed to user focused. Remember your goal is conversion or to inform, get to it as simply, effectively and quickly as possible.
Just my two cents.
Post new comment