April 11, 2010

Apple vs Developers

Just to be up front, this doesn’t affect all developers, but it will affect some that write for the iPhone and iPad.

What did Apple change?  Sectio 3.3.1 of the Developers License Agreement now bans all software written using another language and translated into Objective-C before being submitted to Apple.  Most developers find this new rule unfair and most users will never know about it.  Setting that kind of precedent kind of scares the developer in me, but as a consumer it should mean better software in the store.

What it means is that software written using Flash and some other tools will no longer be allowed.  I’m going to pick mainly on Flash here, but I’m sure other tools have different restrictions.  The advantage of Flash is that a developer would write a piece of software once and it would run on Windows, OS X, Android, iPad/iPhone and others without changes, or very small ones.  Why would Apple care?  Normally these tools work by only using a small part of the API, the part that is similar between all the devices.  This can have different effects, but it often means you aren’t using the full set of features for the platform.  That might mean performance is worse, it’s missing features native applications have or it just doesn’t feel right.

With iPhone OS 4 Apple has introduced a lot of new features.  Two or three in particular might have driven this new rule.  Multitasking for one.  Other platforms don’t use Apple’s implementation and so it’s not possible for these tools to use Apple’s multitasking API.  They’d have to enable it specifically.  This also goes for Apple’s new game network.  Users would expect to find these features in their Apps and anything written with Flash would likely be a substandard experience on the iPhone or iPad.  If a tool like Flash became the standard for writing applications for the iPhone Adobe would basically be in control of the API, not Apple, because they’d choose what Flash could call.  Ditto for any similar product. 

They could also insert their own tools in the middle of it.  Instead of using Apple’s iAds for instance, Adobe might not allow developers to use that API and instead provide their own framework for displaying ads, or replace Apple’s gaming network.  That would mean users get different experiences depending on how the developer chose to write the application and I don’t think that’s good for Apple or their customers.

As a developer I don’t want to be restricted on how I write software, but as a consumer I agree with Apple’s new rules because it’s likely that I’ll get better software as a result.  New features that Apple introduces will be implemented by developers more quickly because they don’t have to wait for a third party to add it to the tools they are using (assuming they ever do).  With the iPad computers are becoming more of an appliance and to maintain that excellent user experience I agree with Apple.

I don’t think Apple is too worried about having competition with more open tablets either.  The two cater to different markets and Apple is betting the consumer experience is more important that being open and I tend to agree with them.  Until someone else creates a better platform, developers are going to have to play by Apple’s rules if they want to sell software to Apple’s users.  I think Apple is going to win this for the near future, and it will be a win for consumers too.

Posted via web from cjlacz’s posterous | Comment »

Comments (View)
blog comments powered by Disqus