Some of the basic principles for the hardware/OS choices for KoBo are ease of use, flexibility, openness to development by third parties, and international usability (e.g. unlocked for SIM card swapping). After careful consideration for the various technologies available, KoBo will be developed using the Open Data Kit for Google Android Phones. Below is a short summary of the characteristics of the systems considered.
Handsets
Android
Google’s Android OS is the most recent addition to the PDA market, it is completely open source. While other phones allow for open source development (for example, using Eclipse to develop Java ME applications to run on java enabled phones) other operating systems do not allow for modifications to the underlying system itself. Android is the only open source operating system in the market. This allows for custom versions of the OS to be constructed for purpose built devices. Google provides a robust (and free) cross-platform development SDK for building applications that run on Android phones. Java is the foundation for development, which allows access to many open-source libraries (think “building blocks for code”) There is a large and active community of Java and Android developers. The Android OS runs on Android phones (it must be customized for each piece of hardware), currently there are limited options for finding and buying these phones. The HTC G1 is the first available phone. However, the most unique aspect of Android is that the hardware is open source, anyone can build hardware (it doesn’t have to be a phone) that runs Android. Many more companies will enter the market with hardware designed to run Android, and there is reason to believe that these will be cheaper (greatly reduced development costs, free software) and more innovative (smaller companies can enter the market, purpose built devices become available). It is possible to implement Android for phones previously designed to run other operating systems, allowing users to recycle old hardware. (For example, Pocket PCs could be flashed with an Android image). Currently, Android development must be aimed at the HTC G1, so it is worth mentioning that this is a very capable PDA with strong processing power, a camera, removable battery, removable SIM card, true compass, microSD card, BlueTooth, 3G, Wi-Fi, GPS, and a full keyboard. Applications developed for Android can be distributed through the Android Market and through microSD cards. The full operating system can be loaded onto microSD cards and flashed onto new phones with relative ease. Of all the systems in consideration, Android is the only option that allows for full access to the underlying OS. If the design requires control over the lowest levels of booting and storage (particularly for security purposes) then Android is the only option.
iPhone
Apple’s iPhones are excellent devices. They have long battery life, they have an intuitive and compelling user interface, and there is a lively community of developers. However, the hardware is expensive (though cheaper versions may soon arrive). They do not have removable batteries or sim cards. That means that you cannot easily change carriers. If you are doing research in a country outside of the USA, there is no way to use a local carrier (such as MTN in Uganda). Also, there is no way to recharge the battery separate from the device, upgrade, or replace the battery. Software development for the iPhone is not open source, and application distribution can only be done through the iPhone App Store, which is closely controlled by Apple. The programming environment for iPhone is Objective-C, an uncommon Mac-centric language.
Palm
Palm Pre is the newest phone from Palm, released June 2009. Reviews are very good for this device, and it has gotten a lot of positive press indicating that it might save the flagging Palm industry. It has a Linux bases OS, though it is not exposed to developers. There is an SDK for developers to create applications, though it is unclear how much power Palm will exercise over 3rd party applications. The major drawback to the Palm is that it is a CDMA phone, that means that it can be used in the United States, but not Europe or Africa where networks are GSM instead of CDMA. A GSM version is to be released in the future, but not right away. Right now, it can only be purchased in conjunction with a phone plan. It will eventually be available direct for about $549. For development, the Palm has the advantage of being based in simple web technologies. Basically, the same things you use to build web pages, HTML, JavaScript, & CSS. There is a SDK available (it’s called “mojo”) for developers to build software. The Palm Pre has a built in sqlLite database, just like the Android. One of the best advantages would be the ability to use Episurveyor, which is designed for PalmOS. However, these new Palm Pre PDAs use a new webOS, which is based on linux, and Episurveyor may not have been adapted to work on that system. Because of the nature of webOS, it would be impossible (or very difficult) to implement custom security features along the lines of the Android Guardian project.
Pocket PC
PPC devices are very common and come in a wide variety of phones and PDAs. Very popular in Europe, there is a lot of development for these devices and a wide range of software available to use on them. Most PPC devices have removable batteries and SIM cards. These PDAs may or may not have GPS, Wi-Fi, cameras, etc. HRC has used Mitak Mio PDAs in the field very successfully, but development was closed source, awkward and inflexible. Development is not open source, and is limited to Windows platform. Most development would be done using Visual Basic, which allows for construction of applications that run on PPC, but does not allow for modifications to the underlying OS. Visual Basic is an excellent development environment, but it’s cost is a barrier to individual developers.
|
iPhone |
Pocket PC |
Palm Pre |
Android |
|
SDK (development) |
Free (must own mac) |
Free (must purchase programming tools) |
Free, but not yet available. |
Free, all free tools. |
|
Open Source Hardware |
no |
no |
no |
yes |
|
Open Source OS |
no |
no |
no |
Yes |
|
Development Language |
Objective-C |
Several (C++) |
Javascript,html,css |
Java |
|
Removeable SIM |
no |
yes |
yes |
yes |
|
Removeable Battery |
no |
yes |
yes |
yes |
|
Phone Bands |
GSM |
GSM |
CDMA |
GSM |
|
Open apps distribution? |
No |
Yes |
Maybe |
Yes |
|
Multitouch screen? |
Yes |
No |
Yes |
No |
|
Runs Java programs? |
No |
Yes |
Yes |
Yes |
|
Runs Flash programs |
No |
Yes |
? |
No |
|
Dev community |
large |
large |
small |
large |
|
Price (no contract) ± |
8gig: $539 |
varies |
Not yet available without contract. |
G1: $389 |