Apple, Adobe, Flash, and iPhone OS: A Primer for the Uninitiated

Somebody recently asked me what’s going on with the recent conflict between Apple and Adobe. Is Flash really that bad?

In short, yes. But that’s probably not a useful answer to anybody. (Neither is “In long, yyyyeeeeeessssssssssssssssssss”.) So where does someone just now discovering the issue turn? John Gruber‘s written a ton of very insightful material on the topic, but it’s hard to keep up if you haven’t been following the issue since the beginning. I recommend reading through his archives, regardless, but for those with a bit less time on their hands, here’s my attempt at an executive summary:

Your Business, My Business

Adobe is a company whose revenue comes from selling tools to content creators. Content creators want tools they can use to reach a wide audience. So when it comes to Flash, it’s in Adobe’s interest to:

  • make sure Flash Player exists everywhere, so lots of people can see Flash content.
  • make sure Adobe’s tools are the only way to create Flash content.

Apple is a company whose revenue comes from selling devices to people who want a quality user experience. Apple has a very strict definition of what constitutes quality — too strict, some might say, but it’s working out well enough for their financials — so it’s in Apple’s interest to control the user experience.

All Adobe needs for its strategy to succeed is for there to be some way for Flash content creators to target every major platform where interactive media might be used. They don’t need to care how well Flash works on any given platform, or how that might affect users’ opinions of that platform, they just need Flash Player (or similar) to exist on that platform.

For Apple’s strategy to succeed, they have to make sure there’s no aspect of using a product that reflects poorly on that product. The only way they can really make that happen is to control every aspect of the product. Apple controls all the hardware and all the software on its iPhone OS products — they may not “own” every line of code (e.g. the open source parts of OS X), but they have the ability to tweak any part of the system to meet their performance / user experience goals.

Apple’s strategy also depends on being able to innovate or react quickly: if your revenue depends on having the coolest toy on the block, you need to keep up with whatever’s “cool” this year (or define it). More on this in a bit.

3, 2, 1… Fight!

Back to the dispute over Flash — this started out as a dispute over one aspect of the technology, and now it’s two:

  • Since the original iPhone shipped, there’s been the question of whether some variant of the Flash Player browser plugin is included with MobileSafari, so that existing types of web-based Flash content can exist on iPhone OS devices.
  • More recently, Adobe realized Apple wasn’t changing its stance on the first issue and looked for another way to enable Flash content creators to target iPhone OS devices: they made a tool which lets one build content using Flash, then have it automatically translated into a native iPhone app one can sell on the App Store. However, Apple changed the legal Terms of Use so that developers aren’t allowed to use such tools.

As for the first — putting web-based Flash content on the iPhone — it’s not too hard to see how the business cases I laid out above make this a win for Adobe and a screw for Apple.

All Adobe would need to do for their business strategy to succeed in this case is whatever minimal engineering effort is needed to make existing web-Flash content run on the iPhone. They don’t have to care about whether it runs slow (because smartphone CPUs are much less powerful than desktop CPUs), drains battery life (because all that CPU usage requires power), and isn’t quite usable (because lots of web-Flash content assumes you have a keyboard, multiple mouse buttons, and the ability to hover the pointer over something without clicking it — all stuff you don’t get on a touchscreen-only platform). All they need is to be able to sell content creators on having millions more devices on which their content (theoretically) works.

On the other hand, for Apple this proposition sucks. If web browsing becomes slow (because every other page is eating up the CPU with Flash-based banner ads), battery life becomes poor (for the same reason), and you can try to play all those Flash-based web games only to have them fail at random times for random reasons, it makes a crappy user experience for the device as a whole. And since Flash is Adobe’s software, Apple wouldn’t be able to do much about the problem.

You might think the answer is for Apple and Adobe to make nice, and cooperate on making Flash on iPhone not just work, but work really awesomely well. But this still goes counter to the business strategy. Adobe doesn’t stand to gain from such an endeavor — they sell just as many Flash Creative suite licenses either way. And while Apple could spend a bunch of money sending its top iPhone engineers to help Adobe with Flash, that doesn’t help Apple’s bottom line much — millions of people are happily buying iPhone OS products already, and it’s doubtful that number would change much with Flash on iPhone. (Not to mention that Apple stands to gain more from having its top iPhone engineers working on the next iPhone.)

Round 2: Gatekeepers Always Win

Okay, so what about the latest turn in this fiasco? Isn’t it a win-win for everybody if Adobe’s Flash tools can be used to create native iPhone apps? Not really — it’s a short-term success for Adobe and a long-term risk for Apple.

How so? Well, the benefits to Adobe from such a move should be obvious: more ways for Flash content creators to put their work in front of people means more sales of Flash content-creation tools. The problem for Apple has to do with the second aspect of their strategy that I outlined earlier: since their revenue depends on having the coolest new devices, they have to keep on top of what’s “cool” as times change — either coming up with the next cool thing themselves, or being able to react quickly to new trends originating elsewhere. If a third-party toolkit for Apple’s platform becomes too popular, Apple becomes dependent on the third party.

To get an idea of what this means, imagine Adobe’s Flash-to-iPhone technology became available a year ago — April 2009 — and shortly thereafter, more than half the developers on the App Store migrated to it, including most games. (It’s so great to be able to develop the same app once and release it for both web and iPhone!) What would the past year have looked like?

  • Apple unveils iPhone OS 3.0 in mid-March. Adobe couldn’t delay their big Flash tools release for it, so the Flash-to-iPhone tech ships in April, still targeting iPhone OS 2.x.
  • iPhone OS 3.0 ships in June, with great features like cut/copy/paste, landscape-orientation keyboard, push notifications, and tools that make it easy for game developers to add both local and internet-based multiplayer.
  • Very few App Store products take advantage of the iPhone OS 3.0 features — there’s no support for them in Adobe’s Flash-to-iPhone tool, and the new version of that isn’t due out for several months at least.
  • Adobe ships a new Flash-to-iPhone tool in January 2010, with support for all the new features in iPhone OS 3.0.
  • Apple unveils iPad in January 2010, and gives developers the iPhone OS 3.2 tools needed to build bigger better apps for it.
  • It takes a little while for developers to make use of the new features from the latest version of Adobe’s Flash-to-iPhone tool, but stuff using the new iPhone OS 3.0 features starts to show up on the App Store in February-March. Not much of it, though, because most of those features are irrelevant to web-Flash users.
  • iPad ships in April 2010, but there’s not much third-party software for it, because everybody’s building stuff in Flash, and the next version of Flash-to-iPhone/iPad won’t be ready till October…

Get the picture? (Considering that Adobe tends to produce big new releases of its authoring tools only once every couple of years, the hypothetical timeline above might be overly optimistic.)

Regardless of what you might think about Apple having established themselves as gatekeeper to the iPhone OS platform, it’s clearly in Apple’s best interest not to let Adobe or anyone else take over that role.

Is it good for the platform and its users for Apple to be acting as gatekeeper at all? Could Apple achieve its anti-Flash goals through less heavy-handed means? What about the whole HTML5 angle? There are many more questions to be answered here, but this is an executive summary: plenty more is available elsewhere.

Safari 4: “Delicious”?

Heh. “Perhaps I’ll get back into the swing of things soon,” I said in the last post… two and a half years ago. I guess I’ve just been reluctant to publicly talk the talk about UE issues when I haven’t been publicly walking the walk lately. (Yes, I need to stop tinkering and start releasing, but hobbies and their side projects a good at distracting me, as is buying a fixer-upper house.)

But this Safari 4 beta fiasco is too juicy to pass up. Go read John Gruber’s excellent summary of the situation if you haven’t already.

The sense of déjà vu here keeps grabbing me. Is this a fruit of Mike Matas moving to Apple a few years ago? It’s so much like the later parts of my time at Omni: artist-designer takes the beginnings of a good idea and pours all his time into iterating on its presentation… until it impresses all the engineers and managers with how slick and cool it looks that nobody pays attention to the interaction-designer in the corner wailing, “but it breaks every fundamental rule of the Mac UI!”

Yes, the Delicious Generation may take its name from Delicious Library being one of the first high-profile products of that nature to ship. But it was born earlier: in fanboy gushing over UI reskinnings on the MacNN forums in the early years of OS X, in that and similar communities’ enthusiasm for Apple’s own design style divergences of the day — like QuickTime Player, iTunes, and the 10.2 Address Book — and at a little office in Seattle that looks like a house. 

It’s all the same: controls that are nonstandard for novel (if debatable) reasons, overdesigned to look cool but break consistency of look and feel; standard controls repurposed for completely nonstandard uses; oddball new controls that fit nothing other than the artist’s whim (and are redesigned again a few weeks later, once the engineers are busy implementing the earlier design). Just like when, after taking home top design honors two years in a row, those at Omni most responsible for UI design stopped working together and started exclusively (but for the protests of some) following the plans of a high-school intern who spent all his time making (and embellishing, and advocating, and embellishing some more) spiffy UI mockups. 

Moving browser tabs above the other browser chrome and integrating them more with window chrome is an idea with merit: as Lukas Mathis notes, it fixes an odd conceptual hierarchy issue that’s been around since browsers first started going tabbed several years ago; and as Manton Reece notes, it’s a good prologue to moving tab-style window-collection management out of the realm of inconsistent third-party variations and into the realm of OS-provided standards. (Personally, I hope adopting Google Chrome’s UI hierarchy is also prelude to adopting its underlying multi-process model.)

But as all the discussion of this issue has shown, it’s an idea that — in order for it to be implemented well — requires careful consideration of many usability issues that don’t readily come up in Photoshop mockups. Hopefully Apple considers Safari 4 a beta of not just the rendering engine but the UI as well… Sean Sperte’s idea is a good start, but really this is an issue that needs a lot more debate and iteration before it’s ready for prime time. (Me, I’m still waiting for OS-level window-group management that brings together the best of browser-tabs and Exposé.)

Other Safari 4 thoughts

Combining UI elements to save space is a worthy goal — when handled well, at least. So why are we still stuck with a strip of web browser chrome at the bottom of the window?

Okay, Safari’s status bar isn’t shown by default, but savvy users are quick to turn it on: without it, there’s no way to determine the nature of the link you’re about to click. Is it to related content on the same site, or some completely different site that I’d rather spawn off another window or tab for and come back to later? Is it a site I really want to go to, or does the URL look phishy? Is it going to stay in this window or is the HTML hardcoded to make it open another regardless of what I might prefer? Okay, I clicked it but it didn’t do anything — is it broken, or does it run a script that’s likely failing due to my Block Pop-Up Windows preference?

Back in the early days of Mac OS X, I loved how the borderless Aqua windows combined with OmniWeb 4′s unorthodox design (only showing a status bar while loading, and showing link targets on mouseover in place of the current-page URL) freed web pages from the heavy web browser chrome prevalent at the time. You could have just the page, with a tiny strip of titlebar/toolbar at the top and your desktop background behind it, and nothing else to distract from the content.

I’d love to see a browser that gets rid of the status bar chrome without undermining its purpose. In non-browser WebViews — like in Mail — hovering over a link shows a tooltip with its URL. Safari, like most other browsers, shows a tooltip with the link’s TITLE attribute (and/or ALT attribute if it’s a linked image). Why not, if the status bar isn’t showing, a tooltip that shows both? And the link’s expected behavior (open in new window, run script, etc), too?

Back from the dead.

Whoa, I have a blog? I almost forgot… It’s been an interesting couple of years since I last wrote, but perhaps I’ll get back into the swing of things soon.

For now, I’ve migrated the old blog content onto a new WordPress 2.0 install, which of course comes with a change of theme. (Which may change some more as I tinker with it… but for now I’ve got other things that need to get ported to the new server.) Comments and pingbacks are now supported, too. Enjoy!

The Good, the Bad, and the Tog: Efficiency Isn’t Everything.

I’m not sure if I’ve mentioned this here (or in any of the other public forums for my thoughts on UE) before, but I have this general skepticism towards many of the so-called luminaries in my field. There’s the academic HCI experts whose research is of little use outside of their ivory towers, the web journalists who know exactly what they want in an interface and assume it’s the best thing for everybody… and then there’s the folks who did good work twenty years ago but have apparently lost their way since.

One of these made waves in the Mac community this past week… revered HI commentator Bruce “Tog” Tognazzini (founder of Apple’s Human Interface Group) wrote up a review of Mac OS X 10.3 and its interface, after being largely silent on OS X for the past few years. Despite his credentials , Tog’s column reads little differently from the many rants we’ve seen in various online forums and blogs — the ones from longtime Mac “power users” who see any and every change from the OS 9 environment as a crippling blow to everyone’s productivity. He’s got a few good points, but it’s looking like he’s lost his edge and feels the need to resort to sensationalism. There’s an awful lot to criticize about this article — indeed, folks are already ripping it to shreds in some forums — but I’d like to focus on one issue that’s been largely overlooked.

If Tog’s still an expert on anything, it’s the subfield of human interface study that relates to user efficiency; that is, how to optimize a software design so that the user can accomplish the most tasks with the fewest actions in the shortest amount of time. He recognizes that Exposé is a great step forward in this area, and notes the minor time-wasters associated with it (if you use “hot corners”, you have to be careful not to accidentally hit a corner; a problem which could be solved with a tiny delay), and points out several issues of low information density and user slowdowns in the Finder and Dock.

The problem with this argument is that efficiency alone doesn’t make for a good user experience. After all, seasoned Unix command-line jockeys are well known for their ability to accomplish with a few arcane gestures over the keyboard what point-and-click laymen can take a whole day to work though. The whole point of graphical user interfaces is that they balance efficiency with intuitiveness. An intuitive interface may make some tasks take longer to complete than they could in an interface designed for maximum efficiency, but you can learn it on the spot instead of having to take time digging through documentation.

Yes, the Dock takes up more screen space than the OS 9 Apple Menu and Application Menu did. But what we lose in efficiency we make up for in usability: no longer are new users confounded by applications which remain running with no windows open, for example. In fact, the usability advantages of the Dock are making many users more efficient and productive than they were on OS 9 — making favorite applications easily accessible no longer requires an understanding of aliases and a complicated procedure for setting up an hierarchic Apple menu or set of tabbed Finder windows full of them. Also, since the Dock merges these two OS 9 interface elements, users need not concern themselves as much with whether an application is running when they go to activate it.

The best interface designs strive to find a balance between being efficient and being intuitive. Sometimes the one has to be sacrificed for the other, but often, with a lot of work, some inspiration, and maybe a little luck, it’s possible to arrive at a solution that maximizes both.