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:
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:
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:
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.
Update 9/9/2010: I did not expect this. Apple have backed down. Perhaps we can all be friends now.