Home Software Imaging Astronomy
www.chrfr.de

Platforms for mobile devices

This is far from complete, but lists some popular platforms. The motivation for creating this page was just to have a place to rant about the policies regarding the iPhone anyway ;)
Platform Description
MIDP For Java applications running on virtually every mobile device. Most of the content here is about MIDP anyway.
Symbian OS Many mobile devices use this operating system. You can write native applications for them using C/C++ or other languages. Find out more information at the Symbian Homepage. Nokia owns Symbian, but other manufacturer also use this platform.
iPhone (and iPod Touch)

A device with interesting capabilities. Also, it is a single device with a large user base, so writing applications for it is possible without worrying about screen size. It features a motion/tilt sensor which is a nice gimmick. Furthermore, deploying and selling applications is made easy via the Appstore.

However, there are also some serious drawbacks:

  • It is not possible for normal iPhone users to install applications via any other channel than the AppStore (doing so requires to do a so-called jail-break, which should be mostly legal in most countries - look for Pwnage (Mac) or OpenPwn (Windows)). However, as most users will not have done this, a commercial application can only have success via the AppStore.
  • This means Apple can (and does) censor the available applications, either for being naughty, or for being a competition to applications developped by Apple (reason for turning the app down may sound like "duplicates functionality already built into the iPhone".) This decision comes after application development is completed.
  • An application to be submitted to the AppStore must be signed in a way which can only be done when using the official development suite xcode which only runs on Mac OS X, so if you wish to develop on real computer (which is technically possible), you're out of luck (unless you just wish to create an application for your own personal use).
  • If you think a simple solution is to purchase Mac OS X and run it in a virtual machine (it's x86-based anyway), think again. Apple in its infinite wisdom forbids to run their OS on non-Apple hardware in the End User License Agreement. I couldn't believe this. The legal issue probably wouldn't hold up but there are also technical hurdles built in which require a patched OS for this to work, so you are on shaky grounds. You may wish to visit the OSx86 Project or search for deadmoo's os x image (at your own risk).
To sum it up, Apple's policies make Microsoft look like a social welfare organization, and I completely lost interest in pursuing iPhone development.
Android

The response to the iPhone? This is a rather new java-based platform for smart phones from the "Open Handset Alliance". It also features a marketplace similar to the AppStore. The project seems to be somewhat dominated by Google, and there have already been cases of applications getting banned from the Android market. However, as far as I understand it, there are no constraints on getting applications from other sources.

The development kit looks rather complete at first glance with eclipse integration and debugging + emulation, and it is available for linux, windows and mac (not everybody has to behave like Apple, it seems). However, I didn't actually try to use it and build an Android application.

Of course, not many devices currently use this platform, but it may be interesting to see how it develops.


Copyright (C) 2006-2009 by Christian Fröschlin. Please note the legal disclaimer. If you experience problems with this page, contact webmaster@chrfr.de.