MacFormat logo

Does iPhone OS 4.0 nix Adobe's Flash-to-iPhone compiler plans?

As we went to press with our preview of Adobe CS5, Apple's unrelated launch of iPhone OS 4 unexpectedly threw a very large spanner in the works. One of the CS5 innovations we and many other users were most excited about was the ability to export your work from Flash Pro as an iPhone app. This was Adobe's rather clever way around Apple's refusal to allow Flash Player on its mobile devices, and presented a huge opportunity for Adobe users to produce apps for iPhone, iPod touch and of course iPad - without learning a new set of programming skills.

Our feature in issue 221 of MacFormat explores the pros and cons of that approach with the help of some leading mobile developers. But this all looks academic now that the revised clause 3.3.1 of Apple's developer agreement forbids the use of cross-compilers such as the Flash app packager. Although Flash isn't mentioned by name, it's clearly the primary target.

The Flash app packager - which does exist, has already been used (in the same beta version we saw) to produce apps sold in the App Store, and will still ship with CS5 - provides a relatively simple way to produce content visually and convert it into apps, with little or no coding required. The only route permitted by Apple, by contrast, is to code from scratch in the iPhone SDK, a totally different proposition requiring skills alien to a whole sector of the content industry.

What’s Apple’s reasoning for all this? We don’t know, because there’s been no public announcement; nor have any of us in the tech press so far managed to extract any statement from Apple. My call to the UK PR office was met with a request to email; the email was met with silence. At the time of writing, that silence remains unbroken worldwide.

Characteristically, however, Steve Jobs has responded privately to a personal email from a concerned Flash developer, summarising Apple's objections:

"We’ve been there before, and intermediate layers between the platform and the developer ultimately produces sub-standard apps and hinders the progress of the platform."

Which is a disappointing combination of cliché and loose generalisation - and re-opens the question of why, if this clause was introduced deliberately and knowingly to destroy an entire developer community, nobody at Apple thought it might be a good idea to make some sort of public statement about it.

In the same correspondence, Steve endorses a blog post by industry watcher John Gruber speculating on the motivation for 3.3.1 (http://daringfireball.net/2010/04/why_apple_changed_section_331), so if you want to understand Apple’s broader strategic motivation, that’s probably a good place to start.

Apple had already established (despite recurring rumours to the contrary) that it wasn’t going to allow Flash content to play on iPhone using a plug-in player, the way it works on Macs, PCs and other mobile devices. The difference here is that it’s not even going to allow apps that effectively have their own built-in player, simply because they were created using third-party tools.

As we all know, Apple controls content (other than websites) on its mobile devices via the App Store. It only allows apps that it thinks are of a suitable nature and quality, and it takes a cut of every app’s purchase price, while generously distributing free apps without charge. It doesn’t want users installing Flash Player once, then using it to access a zillion unvetted third-party apps. Some think that's evil; we think it makes a lot of practical sense.

But none of the same arguments seem to apply to allowing developers to use Flash to make apps, then delivering them, using the packager, as approved apps via the App Store. Apple still gets to say yes or no to every app. Not every natively coded app is good. Not every Flash-originated app will be bad.

We don’t buy the view that Flash apps are bound to be rubbish because they can’t call the iPhone’s built-in user interface, for example. Plenty of existing apps don’t. And plenty of existing apps are written for multiple platforms or converted to iPhone from elsewhere; it’s just that the porting is done via donkey work rather than a multi-platform authoring tool.

That’s why most people are seeing this less as a technical response to a threat to Apple’s control of its platform and more as a petulant ‘hands off’ to Adobe. As one mobile developer (by no means exclusively wedded to Flash) told MacFormat:: “It’s a big ‘up yours’ from Apple.”

The trouble is, it’s not just ‘up yours’ to Adobe, but to Adobe’s users. That's us, and you. Ironically, it's the creative industries that propped Apple up for so many years when it was still making its money from computers. Even more ironically, this sector is arguably the most important new source of content for the iPad, to which the same restriction will inevitably apply.

Apple aren't the only ones being tight-lipped about the implications. We haven't been able to get much in the way of comment from Adobe, either. The nearest thing to an official response has been a couple of sentences in a post by Adobe CTO Kevin Lynch about the CS5 announcement:

"Yesterday Apple released some proposed changes to their SDK license restricting the technologies that developers can use, including Adobe software and others such as Unity and Titanium.[...] We intend to still deliver this capability in CS5 and it is up to Apple whether they choose to allow or disallow applications as their rules shift over time."

That’s not tremendously reassuring. Rather than saying, “We’d rather Apple had allowed us to do it this way, but since they won’t, we’re going to make sure our users have some other way to deploy to iPhone and iPad,” they’re just saying: well, we’ve done our bit, let’s hope Apple change their minds.

I put this to someone within Adobe’s Flash team who’s familiar with the issue. He was kind enough to respond, and said, among other sensible things:

"I really do think ‘we’ve done our bit’. My preference is to have Flash Player and AIR directly on the iPad. Apple has dug in its heels about it, so we created the packager to make native apps. Now they appear to be saying no to this too. We could go another round of trying to meet their demands, but who’s to say they won’t find some new thing to object to? There’s only so much time we can spend chasing moving goalposts."

An understandable reaction, matching that of many native iPhone developers to Apple’s whimsical App Store rejections. But developers are only responsible to themselves. Adobe is responsible to all the people who’ve invested time and money in Flash – and they’ve had three years to twig that (a) iPhone was the biggest single mobile platform everyone wanted to target and (b) Apple didn’t want Flash on iPhone. If they haven’t come up with an effective response in that time, they could at least tell us they’re working on it. Let’s face it, everyone always knew Flash, as a delivery system, was a stopgap technology.

On the other hand, it’s been a very useful stopgap technology. It’s easy to wish we could do all this stuff with open standards, but that’s still some way off. People talk about HTML5, but this is only in the early stages of development. Right now, Flash achieves some things that are genuinely difficult to achieve other ways.

Apple, as the owner of one mobile platform, is somewhat justified in ignoring the issues of others and pointing out that its SDK enables all the features that can be created with Flash and more, so nobody can say the lack of Flash is a limitation. But apps don’t just happen; developers have to produce them. By restricting the tools developers can use, Apple is, in practice, limiting the apps that get developed.

Will banning Flash help to maintain the quality of iPx apps? That’s often cited as Apple’s motivation. True, there are thousands of Flash games on the web that we wouldn't particularly want to see cluttering the App Store. But there are rubbish games on the App Store already; if Apple thinks new titles aren't good enough, it can always reject them. Surely it's more significant that there are people wanting to bring superb content to Apple devices who’ve just been waiting for the right tool – which has now been snatched away before it properly arrived.

Who do we have in mind? Publishers – the people who create ‘content’ in the sense it used to mean, back when it really was about content, not gewgaws. You’d think Apple would be pleased that everyone sees its new product as the future of magazines. Not a bit of it: the company has made no public reference to this that we’ve seen. There have been no magazines in its public demos, despite several publishing giants busting a gut to pre-develop digital editions. Its blurb for the new iPhone OS makes no mention anywhere of text or typography, areas where the iPhone OS remains surprisingly primitive.

Most publishers - MacFormat's included - create all their content in Adobe software. (QuarkXPress is still used by a sizeable minority, but it has good links to Flash too.) To go from print to iPad via the Flash packager looked like an extremely promising route. Wired magazine built its already legendary (though not yet, and now perhaps never, released) iPad edition with Adobe, though its publisher, Condé Nast, saw the writing on the wall even before 3.3.1 and made noises about the Apple/Adobe scrap most likely killing the project, as now seems inevitable.

Other publishers could have leveraged the skills already under their roofs to build apps via Flash. They simply don’t have people who can write Objective-C in the Apple SDK. Of course, they can hire them or partner with them, but they have little or no experience of those processes either.

That’s why most publishers dipping their toes in the iPad waters at the moment are using third party solutions such as PixelMags and Zinio, which take the finished PDFs of any magazine and package them, basically just showing each page of the magazine onscreen until you perform a page-turny gesture to flip to the next. Although this works, it doesn't produce the kind of tailored, rich, innovative user experience that iPad users will be hoping for. Just making the same layouts visible on screen isn’t enough.

What’s needed is a way for publishers to reformat the content they already have into iPhone- or iPad-sized chunks, then devise new navigation methods to get around it easily, without any “pretending to turn a pretend page” nonsense. InDesign+Flash would be not just a route to this, but in many ways the perfect route. The pages are already in InDesign. InDesign users can reformat them without learning new skills. Basic interactivity can even be added within InDesign before transferring to Flash Pro – which implements Adobe’s new Text Layout Framework, so you get full control over typography instead of Apple’s strangely clunky text engine. Then you can add as much clever ActionScript as you’re capable of before running the end result through the packager and testing it via the Apple SDK.

But apparently Apple doesn’t want that. Apple wants a handful of big-budget publishers to hire development teams to write fancy native apps, and everyone else to either plough on with page-turny PDF shovelware or bog off. This doesn't seem like a recipe for higher-quality content.

It’s not just about print publishers, of course. Flash originally grew out of the 1990s ‘multimedia’ boom. The kind of thing that was then done often very well – but expensively, and ultimately not sufficiently profitably – on CD-ROM could today be done on iPad: reference works that combine words, pictures, animation, video and interaction. Of course, some people are doing this, such as the people behind The Elements, the lovely Periodic Table book. But these are exceptionally geeky people. For the mass market, you need tools that the kind of people who design books can use. Apple doesn’t provide those tools. Adobe does.

Apple’s message is not simply “Do it our way”. No, Apple must be very well aware that many talented individuals and illustrious organisations won’t be able, in the foreseeable future, to do it their way. For Flash users, coding from scratch in Objective-C demands totally new skill sets. (Steve Jobs may have trouble understanding that other people actually have to do stuff to respond to change, not just shout at someone, “Fire Flash devs! Hire iPhone devs!” but he can't be oblivious to the scale of the challenge.) So in effect Apple is saying “Don’t do it. We don’t need you here.”

This insult to the creative community comes accompanied by injury. Although the new clause has emerged (buried in a long technical document that Apple didn’t refer to during the iPhone OS 4 event) before the official launch of Adobe CS5, the Flash packager beta has been out for months and many devs were already gearing up for Flash-to-iPad development. There are already quite a few apps approved and in the App Store that were built this way, and devs are still reporting approvals (the new conditions only apply to OS 4, which doesn’t arrive until autumn). All this work is now effectively trashed.

Thanks to Adobe, it looked as if Flash developers were going to be able to get into the iPx market; now, thanks to Apple, they can’t.

In summary: nobody is getting covered with glory here, but Apple is more wrong than Adobe – it’s Apple that needs to change its policy. There’s no obvious cost involved in doing so, except to its pride. Which comes, as the saying goes, before a fall.

Speaking for himself and not his employer, my correspondent within Adobe concludes:

"I’ve been an Apple fanboy since the Lisa, I use OS X 90% of the time, but I can’t squeeze myself into their new walled garden. My hope is that Apple finds a way of backing down without losing face."

We hope so too. Either that, or Adobe comes up with another miracle…

Pull Quote: 

C PhinG BarlowJ Osborne"Xxxxx xxxxx xxxx xxxxx"


Respectful disagreement

I really enjoyed reading this piece - a well thought out article that shows all sides of the issue. However, I do find myself in disagreement with the conclusion. Whilst I wholeheartedly agree that the publishing industry needs a way to get their content onto the Apple mobile devices in an engaging and rich manner that current solutions may lack, I don't agree that allowing Flash apps has to be the way to do it. Easier doesn't always mean better.

Cross-platform development, by its nature seems to achieve one of two possible outcomes. Either the apps give the same experience to all by catering to the lowest common denominator, or apps are written such that the chosen platform works fine and all other platforms suffer to a greater or lesser extent. This applies to Flash, .NET, Java or any number of Universal interpreted languages.

It also opens up more potential for 'pass the buck' on any future issues. For example, lets say a future OS4.1 breaks major functionality in Apps built using CS5s compiler or that the flash apps become restrictively RAM hungry. Who is at fault? Who fixes it? I can see the deluge of analyst tweets and articles already as each company passes the fault between them whilst users of the apps suffer. Only once that farce is completed could the issue begin to be resolved. This is exactly the sort of negative user experience that Apple prides itself on having avoided for the past 3 years.

Whilst I don't have a strong position on Flash in general on the iPhone (although I go on record as saying that I simply don't miss it), I can see why Apple would impose the 3.3.1 restriction on App development. I'd much rather they get their own house in order around consistent app approval guidelines than have to start worrying about a new class of apps.


I'm not so sure

@DarthSarcasm
I'm more on the side of the article. It is certainly true, as you say, that “Easier doesn't always mean better” but it doesn't have to mean worse, either. Remember, permitting use of the Flash compiler would *not* simply open the floodgates to a deluge of unmoderated apps; Apple would still be using the same Quality Control process (albeit a flawed one) that it currently applies to every prospective app seeking entrance to the AppStore. And, as the article points out, there are many, many apps on the store right now that are, frankly, crap. Thanks to the review system on the AppStore (essentially a 2nd level of QA), they tend not to get downloaded much; digital Dawinism in action.

Additionally, if devs are using the Flash Compiler to produce iPhone/iPad content then they are probably targeting that platform exclusively, so your point about performance being lacking on other platforms may be moot. If, on the other hand, they are, indeed, using the Flash Compiler to simultaneously target numerous platforms -- and I agree that this would most likely lead to crummy performance across the board -- then, again, there is the double whammy of the AppStore approval process teamed with in-store peer reviews to push the lamer candidates further down the food chain.

Your point about passing the buck is well taken, and the danger of updates breaking the Flash-compiled apps is a real one. But it seems a sad state of affairs that an avenue to possibly excellent content creation might be denied simply on grounds that two corporations can't stop squabbling.

As regards Flash on the iphone in general, I guess I miss it about 50% of the time. If the issues really, as Apple has sort-of said in the past, are essentially about it degrading performance on the platform to a level that their customers might consider unacceptable, then there is surely a solution, and it is the same one that Apple used to alleviate the impact of 3G on the battery life of the iPhone: include it, and then provide a switch to allow those users who *do* find it a problem to turn it off. Problem solved, surely?

The latest news from TechRadar