I decided a while ago to jump into the mobile development world -- creating applications for the iPhone. Apple has done a good job with the iPhone SDK, covering much of what developers need, and I've found it easy to develop applications. But there are still some problems with the platform -- nine of them, to be exact.
Apple typically likes to keep control of their products, and the iPhone is no exception. Primarily as a result of that control, there are nine issues I've encountered in developing iPhone applications:
1. Apple decides who gets to develop applications. Though anyone can download the SDK, There is a $99 fee just to apply to become a registered developer, and you may not be approved. Apple alone decides who is in or out.
2. There are non-disclosure concerns. The SDK download agreement, which must be accepted in order to continue, places substantial limits on what may be shared. This seems to be limiting the ability to create such things as sample code, video instruction, or how-to books about developing applications for the iPhone.
3. Unless you are a registered developer, then there is no approved way to test your own applications on your own iPhone or iPod Touch. Apple has provided a very good simulator, but that is no substitute for the real thing.
4. Apple owns and controls the sole distribution mechanism for iPhone applications -- the iTunes App Store. Their have been problems getting applications reviewed and on the store. And they have already removed previously approved applications with no warning.
5. Apple collects 30% of the revenue from your application for the privilege of allowing your application to be distributed through the App Store. Can you imagine the uproar if Microsoft or Nokia took 30% of every application you created?
6. Apple controls -- and limits -- what kinds of applications are allowed to be distributed. For example, they specifically prohibit real-time route guidance GPS applications. They even have the ability to remotely disable an application that you have already installed and are using on your iPhone.
7. The iPhone runs only one application at a time. Applications do not run in the background. When you start a new application, the first one is shut down, and you need to ensure that your application handles that gracefully -- and quickly.
8. Development of iPhone applications is pretty much limited to Objective C/C++/C, which means that existing mobile applications created in languages such as Java must be rewritten. This means that you can't re-use your existing codebase.
9. Since all applications are delivered through the App Store, there is no opportunity for developer-to-user communication, or for things such as beta programs. While this is fine for the type of applications that are currently being developer, this will be completely unacceptable if Apple wants the iPhone to compete in the enterprise space.
The iPhone is still an impressive device, one that is driving much greater use of the mobile Internet, and blurring the distinction between your computer and your phone. The applications that we have already seen are just touching the surface of what is possible.
These concerns certainly won't change that, but in addition to providing the tools, Apple needs to learn to cede some control if it wants to allow the full potential of the iPhone to be realized.
Larry Borsato has been a software developer, marketer, consultant, public speaker, and entrepreneur, among other things. For more of his unpredictable, yet often entertaining thoughts you can read his blog at larryborsato.com.













Comments
irrelevant, lame and foremost OLD NEWS for those who followed the blogosphere. If this is indeed the industry standard we are in trouble; thankfully the industry standard is Cupertino.
cheers Larry and much success with programming!
Actually, some other distributors of mobile apps take more than 30%. Its a very good value when you consider what Apple offers in return, like credit processing fees, bandwidth, and the fact that every single iPhone user comes to the App Store to find apps.
While there is some merit to your list. Point #7 (at least how you have presented it) is bunk. Specifically the first two sentences:
7. The iPhone runs only one application at a time. Applications do not run in the background.
Do you have an iPhone? Have you ever surfed the web while listening to music in the iPod app? Have you every crafted an email while on a call? If you have, then you can plainly see that the iPhone most certainly runs more than one application at a time.
What you are actually referring to, is that the iPhone SDK restricts developers from having THEIR applications running in the background. So yes, as you more correctly state "when your applications quits, you need to ensure that your application handles that gracefully -- and quickly." But this is for YOUR applications as a 3rd party developer. Apple most probably made this decision to favor phone stability.
> Can you imagine the uproar if Microsoft or Nokia took 30% of every application you created?
If they did 100% of the distribution, and billing, and server installation, and maintenance, etc... and I had to do absolutely nothing but put my app on *THEIR* server... I wouldn't mind getting 70% of the profits... while I sit and do nothing for the next 1-2 years.
From a personal perspective #4 and #8 are pretty painful right now. DoApp has applications and updates that have been pending for about three years. Well it feels that way anyway. Also, you know the old cliche, "its hard to find good help," especially if you don't want to wait for the first graduating class of iPhone developers from Stanford.
I should clarify- more help. The developers we have are second to none!
The iPhone is certainly moving towards the direction of being a mobile platform albeit with all the points you've listed, being a proprietary one. As much as there are more support for Iphone web app developers being introduced - like the one from Morph Labs, you can't just feel but be uneasy especially now that Mr. Jobs has confirmed the existence of a kill switch. Yet with this confirmation then maybe something good will come out of it and pressure to ease restrictions would prosper.
Best.
alain
Post new comment