Do you know Objective C?
The iPhone SDK has been released, and it comes with some pretty strict restrictions on what apps can be built and deployed on it. I’m sure you’ve read about it in plenty of online publications & blogs already. You have to know Objective C and Cocoa in order to be able to create apps that run on the iPhone. Kliener Perkins has announced that there’s a $100M fund (iFund) for companies that are creating iPhone apps. That’s a pretty big fund. My thoughts are – where are all these hordes of developers going to come from, to develop iPhone apps using Objective C and Cocoa? How many programmers out there are well versed in this language and API, when compared to say Java developers, or C# & .NET developers, or even C/C++ developers that program for Windows or Linux? I think Apple is being quite pompous in presuming that developers will drop their day jobs and start learning Objective C and Cocoa just to put some apps on the iPhone. I don’t know how much sense it makes for ISVs to target the iPhone, given the restrictions and controls that Apple is putting on 3rd party apps, and given that you can target the Blackberry and leverage Java. It makes sense for Facebook and IBM to get their apps on the iPhone, but what about (much) smaller ISVs?
Does Apple even like 3rd party software?
Sun has announced that it will support Java on the iPhone. I hope this happens, but there are plenty of legal licensing issues in their path… These are some of the limitations that Apple imposes on 3rd party apps for the iPhone: “No interpreted code may be downloaded and used in an Application except for code that is interpreted and run by Apple’s Published APIs and builtin interpreter(s)” and “An Application may not itself install or launch other executable code by any means, including without limitation through the use of a plug-in architecture, calling other frameworks, other APIs or otherwise.” This pretty much eliminates the possibility of putting a VM on the iPhone. Of course, if Sun can cut some special kind of deal with Apple then this might happen. But given Apple’s lack of Java love (demonstrated by still not having a JDK 6 for Leopard), I think that this has a pretty low chance of materializing. Additionally, 3rd party apps on the iPhone SDK can’t run in the background (as soon as any other app switches to the foreground, the 3rd party app gets killed, which can happen when an income phone call happens, or a calendar alert, etc). This is a pretty crippling limitation that Apple is imposing on 3rd party apps… I sense a lot of hostility towards 3rd party application developers & their apps . JavaME and Blackberry (as the target deployment platform) are not a bad platform to develop for . Google has created a really nice YouTube app with JavaME. I’m not even talking about Android… if and when there are phones that run it, it might become a viable target platform to put apps on (and at least it’s API is Java based).
This is a great post that articulates more reasons that the iPhone SDK has sever limitations for 3rd party developers and mobile innovation in general (on iPhone) – http://whydoeseverythingsuck.com/2008/03/apples-iphone-sdk-prohibits-real-mobile.html
ActiveSync vs RIM’s NOC based approach to pushing email
This is not really related to the iPhone SDK, but this article does a great job of comparing RIM’s NOC approach of pushing email to the ActiveSync approach.
Update – Apr 27 2008 – Here’s a report that ranks programming language popularity, and Objective C is pretty low on the list, with Java being the most popular language. Would it make too much sense to port the Java 6 VM for OSX Leopard (still in beta) to the iPhone? . Also, here’s an update on the SDK Beta 4, which has inclusion for “inactive” apps, not background apps.
Update – Mar 14 2008 – Apparently lots of developers who are trying to get approval from Apple to put their apps on the iPhone are getting mass rejection letters. That’s a nice way to treat developers . More details here: TUAW and Ars.
|« Java SceneGraph Effects Framework||Formula 1 racing and Microsoft »|