Apple are b@st&#ds and Adobe are $k€w%d

The iPhone and iPad were criticized for not allowing you to show Flash content. Adobe hit back by developing an export to iPhone feature that promised to turn Flash apps into iPhone apps. This was due to be released soon in Flash Creative Suite 5. I was really looking forward to it. As a developer I’ve found the learning curve for iPhone development very steep; the provided tools are lacking and not as good as many other development tools. Programming for the iPhone feels a bit like stepping back ten years in time. It's a much more pleasant experience using Microsoft's developer tools. I don't understand how Apple can be so good at user experience and at the same time so bad at creating a good experience for developers.

Apple released the beta of the new software development kit for iPhone OS4. With it came a new developer agreement. This is still under NDA, but John Gruber leaked details in this blog post.

The developer agreement contains a new clause and you must agree to this if you wish to get your app in the app store:

3.3.1 — Applications may only use Documented APIs in the manner prescribed by Apple and must not use or call any private APIs. Applications must be originally written in Objective-C, C, C++, or JavaScript as executed by the iPhone OS WebKit engine, and only code written in C, C++, and Objective-C may compile and directly link against the Documented APIs (e.g., Applications that link to Documented APIs through an intermediary translation or compatibility layer or tool are prohibited).

This effectively bans the use of any tools other than Apple’s own to create iPhone apps. This was the flag ship feature of Flash CS5 and without it there’s nothing in that I know of that makes it worth upgrading to. It will hit Adobe sales massively, not to mention the wasted man hours that have gone into building this feature.

I’m angry about this, but I’m more angry about how this will affect MonoTouch. MonoTouch is a fantastic product that takes the Microsoft .NET platform and c# (my language of choice) and ports it to the iPhone. You can develop iPhone apps using c# and share core bits of code with any other windows development you’re doing. I find c# much easier than Apple’s objective c and you can use some of Microsoft's development tools, which are much nicer.

Miguel de Icaza, a leading developer behind MonoTouch had this to say on Twitter:

For those kind enough to contact me: I cant comment on the contents of any materials under NDA until Apple lifts the NDA.

Not a particularly revealing quote, which is one of the problems with NDAs. He’s put loads of work into making something fantastic for developers. It’s better than what apple have produced, and they have decided to squash his product and many others. As a developer I am furious with Apple for treating us this way.

This tweet from secretGeek sums up my feelings:

Steve Jobs: "apple does not negotiate with terrorists or developers"

As this is currently under NDA I’ve not read the original iPhone OS4 developer agreement, so this is just a rumour at this stage. I wish it wasn’t true, but I think we’ll find that it is. Many developers have already created apps using MonoTouch that are already in the app store. They’ll find they won’t be able to update them under the new terms and I dread to think how many man hours of development time have been wasted. Adobe have also worked very hard to make an exciting new tool that will make iPhone development easier. Rather than crush other development tools I wish Apple would just improve their own.

Update: Looks like it's official. Here is a response by an Adobe Employee on the Flash Blog.

Update 9/9/2010: I did not expect this. Apple have backed down. Perhaps we can all be friends now.

David J said

:( It's really really annoying, can't help but think they've messed it up. I only hope that they realise and rescind it...

Richard Garside said

The timing stinks of being on purpose. I've just learned that the Adobe Creative Suite 5 launch is on Monday.

Simon said

Time to look at Android? .....failing that you can always add your iPhone apps to the growing grey economy, and etc to which Apple's new T&C are likely to have gifted considerably more popularity and life. I think the iPad will change consumer attitudes and jailbreaking will be more common, its no longer difficult or risky - iPhones are bought in good part to make calls with other functionality a bonus, with the iPad expectations will be for a more mainstream desktop-like experience. Apple as gatekeeper to every application install, not to mention digging in with respect to Java & Flash etc, will be more noticeable and less tolerable to general masses.

Matt Auckland said

It's funny really, after years and years of people bitching about Microsoft and there ruthless business tactics, Apple turns out to be just as bad of not worse. In the quest to make there app store the best there is, they actually risk alienating developers and pushing them to either develop web based iPhone/iPod Touch apps, or worse still move to Android. Tread carefully Apple, because the bigger they are, the harder they fall.

ashok pai said

A big FU to steve jobs and crapple. what a bunch of losers. I'm pretty sure, they'd have already lost a ton of developers, and will move towards a better app store for android, win7 or symbian.