≡ Menu

The best summary of the Apple/Adobe war

Want a a simple, single-paragraph on what the Apple/Adobe iPhone spat is all about? Jean Louis Gassee supplies it:

“Who, in his right mind, expects Steve Jobs to let Adobe and other cross-platform application development tools control his I mean the iPhone OS future? Cross-platform tools dangle the old “write once, run everywhere” promise. But, by being cross-platform, they don’t use, they erase “uncommon” features. To Apple, this is anathema as it wants apps developers to use, to promote its differentiation. It’s that simple. Losing differentiation is death by low margins. It’s that simple. It’s business. Apple is right to keep control of its platform’s future.”

I think it really is that simple.

Comments on this entry are closed.

  • http://twitter.com/tomp Tom

    I pretty much agree with this but I think (for ideological reasons) that the developer licence is the wrong place for Apple to apply their quality filter, that’s surely the job of the approvals process. Even games consoles, traditionally some of the most tightly controlled environments, allow development teams to use the same middle ware across different platforms. Why code a physics engine or game logic or AI twice? Consoles are closed but not at the level of what tools and languages you’re allowed to use to produce applications for them (in the case of the wii the hardware differences form xbox and ps3 make the amount of shareable code smaller – as I expect the unique features of the iphone would – but there’s no active prohibition of sharing game logic as far as I know). If the concern was really to do with quality Apple would use the approvals process to sort out that issue.

    So a company developing say a word processor for mobile devices, why should they spend time and money developing a spell checking component in multiple languages? These features have nothing to do with the unique properties of any given device and prohibiting developers from cross compiling seems to me unreasonable.

    Apple are using their position in the market to require developers to take on more risk; either reducing their profit margins by developing the same functionality and logic for multiple times for platforms or by developing only for Apples part of the market. Seems to me that Apple’s move isn’t just hostile to Adobe who are big enough to look after themselves, but is also hostile to hundreds of small developers, devaluing their contribution, requiring them to risk more for smaller potential gain. Not to mention that Apple can choose to remove apps on a whim, even ones that have previously been approved.

    I guess my concern is how can developers – iPhone devs, Android devs, Flash devs, whatever – stick up for their interests in this situation where a massive imbalance of power exists?

  • Ian Betteridge

    Although the language of the clause is broad enough to let them do it, I don’t think Apple has much interest in banning the kind of middleware that game developers commonly use. Having said that, I certainly think they’d want to avoid developers using products that gave a poor performance compared to other platforms – look at the Mac port of Warhammer Online, which uses Transgaming’s Cider, for an example of what Apple would want to avoid.

    But I think the core point isn’t about quality, as such – there’s plenty of crap native apps, after all. It’s largely about control over the future of the platform.

    (I’ve posted the following as a comment in a couple of places, so please forgive me if you’ve read it before!)

    Rewind to the transition between 68K and PowerPC. There were, as you probably remember, a plethora of development tools for the Mac. Unfortunately, only one of them – Metrowerks CodeWarrior – supported PowerPC code, so just about every Mac dev moved to CodeWarrior.

    CodeWarrior also happened to be a great development environment and a slick compiler. Only one problem: Every time Apple updated Mac OS, developers had to wait until Metrowerks updated Codewarrior, and there was usually a lag. Now Metrowerks was a good company, and worked closely with Apple, but it meant that Apple’s release schedule was essentially at the whim of a third party – if Codewarrior didn’t support a new API, developers couldn’t use it.

    Apple, in short, was no longer in control of the development of its own OS cycle. No Codewarrior support, and a new feature was dead in the water.

    Fast foward to now. Suppose, for a minute, that some significant proportion of iPhone apps start to be developed using CS. All of a sudden, when Apple updates its operating system, those apps will break – and they can’t be fixed until Adobe decides to update CS. Adobe suddenly has the power to dictate Apple’s OS release schedule, and that’s something that Apple, thanks to its earlier experience, is simply not going to allow.

    So yes, there is a cost to Apple to allowing developers to create apps in Flash (or any other non-Apple language): losing control over its platform, what features it can implement, and when.

    This isn’t hypothetical: from what I hear, CS-generated apps can’t take advantage of multitasking in iPhone OS 4, and there’s no indication when (if) Adobe would have supported it. That’s a major feature of OS 4 which, instantly, Apple would be relying on Adobe to implement. And if they didn’t, for either technical or business reasons, a big bunch of apps would fail when OS 4 is released.

    From a user perspective, it’s not Adobe that would get the blame for that, or even in most cases the developer of the app: it’s Apple. “I installed a system update and it’s broken my games!”

  • http://twitter.com/tomp Tom

    Presumably Apple don’t expect developers to recompile their Objective C apps every time the OS is updated though, so if the cross compiled code plays nicely with Apple’s public APIs there shouldn’t be a problem should there? It’s only apps that use private APIs – which presumably CS5 et al are very careful not to – that are going to cause the problem. But your line of reasoning still holds, if Adobe messes up customer perception will be that Apple messed up. I don’t really have a problem with the fact that Apple are doing this for their shareholder value, that’s inarguable irrespective of what their particular calculations might be. Ditto Adobe’s behaviour.

    As a developer though it feels like we’re caught in the cross fire here. Apple are creating – through their license agreement, their inconsistent approval process and their retroactive disabling of installed apps – an increasingly unstable platform on which to base one’s livelihood. I doubt I’m alone in getting this feeling. More broadly, if Apple’s model continues to be successful my worry is that other companies will be emboldened to create similarly inequitable licences and opaque approvals processes, further devaluing our time and efforts.

  • Brent

    If you are right…why then are most of all the top games built using cross-platform tooling such as Electronic Arts using the Lua language and many games using Unity3D engine…sorry it proves you wrong.

  • Ian Betteridge

    Brent, I don’t think that proves me wrong at all, because I’m not arguing about the performance (except tangentially).

    As I said above, this issue is really to do with Apple’s ability to control its own update/development cycle, particularly with a complete development environment like Flash.

    Automatic tools like CS5’s Packager go a lot further than a cross-platform toolkit like Unity3D. Unity3D creates an Xcode project, which you can then (of course) either just compile or adapt. Flash Packager (as I understand it) creates a complete, compiled binary, bypassing Xcode entirely.

    This is a big difference, because it limits the opportunies for developers to create software which truly uses all the capabilities of the iPhone OS. A developer using Unity3D could, for example, take the output from Unity and add support for iPhone OS 4’s Game Center, even if that wasn’t supported by Unity. A developer using Flash could not, and would have to wait for Adobe to implement support for it in CS5. That’s exactly the situation that Apple wants to avoid.

  • Pingback: Why is Apple getting away with monopolizing the browser on iOS? - Quora()