views:

194

answers:

2

Hello,

I'm analyzing the iPhone platform (for a paper). I've made a list with issues, developers/architects have to consider, before working with the iPhone SDK.

The questions aims at people, who want to release iPhone software. What constraints restrict them in comparsion to other mobile platforms, such as Android, Windows Mobile, Symbian, etc.

Feel free to add hurdles, which I may have forgotten to list. Thanks.

iPhone platform constrains/hurdles:

  • No physical keyboard
  • No replacable battery
  • One Application A Time
  • Sandbox File System
  • Restricted Deployment Cycle (Dev program...)
  • App Store Approval Process
+2  A: 

No replaceable battery is no concern for software developers whatsoever, as there are no APIs for battery manipulation or replacement. This is no more of a concern for iPhone developers than "access to electricity" is a practical concern for developing for other platforms.

Others I would add:

  • Requires a Mac. Fairly obvious one, not a terrible barrier to entry compared to other closed systems like game consoles, but still higher than some other phone/mobile platforms like Windows Mobile, J2ME or Brew.
  • Costs money to debug on real hardware. You can only run and debug in the simulator unless you buy a $99 developer program subscription, which lets you pair iPhone and iTouch hardware with your Xcode install and run apps on it.
  • Objective-C as the programming language. It really shouldn't deter anyone but a lot of developers get really grumpy about learning anything new or different.
  • Must accommodate interruptions (i.e., the user may get a call at any time and the app must be prepared to save any state necessary and quit within a fixed time limit).
  • Not specific to iPhone but like any platform, you are constrained by the CPU/GPU/RAM the device has, and in the iPhone's case this is obviously quite a bit less hardware than people with a desktop background are accustomed to.
  • Restrictive wording in EULA regarding embedded scripting languages. It is apparently forbidden to execute any scripts via an iPhone application, which is quite a bummer as embedded scripting languages are quite common these days and very useful.
Thank you very much. This gives me some points, I can think about and examine further. The issue with the EULA is completely new to me. Thats really annoying.
Stefan
+1  A: 
  • Limited CPU speed
  • Limited RAM
  • Objective-C is effectively the main dev language
  • Power management concerns (I'm not sure if lack of a replaceable battery is a concern of mine). High CPU utilization can be a drain on the battery (and cause extra heat). In other words there are CPU intensive things I choose not to do, in order not to drain the battery too fast.
  • Only one IDE
  • inability to access other apps' data easily
mahboudz
Thank you, good points :-)
Stefan