In this second part of my thoughts about mobile cloud — which I hope we can all talk about at OSCON — I’ll try to find answers to this question: as a developer commited to free-as-in-freedom software, what would you need to do to get started?
In this who’s who in mobile open source, Funambol and Volantis are shown as the only companies offering service delivery platforms, demonstrating that there are many ways to develop free software applications but only a few solutions to build open mobile services with.
|Linux support packages||Wind River (also one of the most prominent integrators for mobile Linux stacks), MontaVista|
|Operating systems||for feature phones: Purple Labs; for smartphones: Azingo, Access Linux Platform, A la Mobile, OpenMoko; for MIDs: Intel Moblin, Ubuntu Mobile. Also OKL4 is virtualisation (hypervisor) software for mobile phones.|
|Middleware||GNOME’s GTK+ and related projects (e.g. D-Bus, Gstreamer), the graphics subsystem of Nokia’s Qt and the db4o database engine.|
|Application environments||Google’s Android, Nokia’s Maemo, Nokia’s Qt, Eclipse eRCP, Sun’s Java phone ME, Motorola’s Java MIDP3, AOL’s Open Mobile Platform and Nokia’s Web Runtime|
|Browsers||Apple’s WebKit (on the verge of becoming a de facto standard for web-centric service delivery) and Firefox Mobile|
|Service deliv. platforms||Funambol (consumer email sync), Volantis (content adaptation)|
|Development tools||Eclipse Foundation (manages the Eclipse IDE, used as the basis for Nokia’s Carbide, Wind River tools and many others). Plus RhoMobile – a new set of open source developer tools for creating connected enterprise apps on smartphones.|
|Industry initiatives||Symbian Foundation (EPL license), Open Handset Alliance (APL2 license), LiMo Foundation (open source as it builds on top of Linux), GNOME Mobile and Embedded (LGPL-licensed GTK+ and related software)|
On the other hand, proprietary mobile services are blossoming everywhere. Funambol recently listed and reviewed 11 mobile cloud sync services, from Apple MobileMe to Vodafone Zyb.
A minimum requirement are interoperable services implementing open standards, because users’ data must be preserved at all costs. Proprietary walled gardens create small monopolies that sometimes grow big and take away personal data from the users. Two recent cases demonstrated that users of mobile cloud services are exposed to serious problems: one with Amazon Kindle and the other with Palm Pre. Both are mobile devices, both rely on mobile cloud services for most of their usefulness. Kindle users that buy electronic books are realizing that they don’t end up owning anything and Amazon can too easily prevent users from enjoying the books they’ve bought. The other disturbing news story reports that Palm Pre owners cannot access the music that they bought and stored in Apple’s iTunes: Apple still wants to own the music it sold its users and keep their data hostage. I think these are just a visible signal of proprietary services battling to own the users’ data. If Kindle and iTunes used interoperable and open standards, which could be safely implemented in free/libre open source software, their users would not face much of these problems.
The pure mobile service frameworks available for freedom conscious developers are Funambol, which offers push notification, synchronization and device management, and Volantis, which offers content adaptation to mobile browsers. Rhomobile is another options, a mix between a development tool and a service delivery platform. Funambol is fully based on the Open Mobile Alliance (OMA) open standards Data Synchronization and Device Management, therefore services built with Funambol can easily respect users’ rights. The server aspect is complemented by the Java and C++ SDKs to develop native mobile applications for the devices. Rhomobile is based on Ruby and can be used to develop applications that act as being native but use the local web browser.
While Funambol and Rhomobile in theory can be used to develop free as in freedom mobile cloud services, there is still one big issue to solve: locked down devices. Network operators don’t want the users to be too free so almost all of them prevent users to run applications that are not digitally signed. RIM, Apple and to some extent also Symbian devices are all locked down, which renders users’ freedom in the mobile cloud a balancing act: on one hand a developer needs to obey the rules dictated by network operators and device manufacturers; on the other hand the same developer needs to find ways to deliver freedom to the users. In Funambol’s case, for example, the official iPhone client can only sync contacts because the official Apple SDK only allows that. Nonetheless, Funambol client for iPhone can sync also calendar accessing directly the sqlite database, but such version cannot run on the device unless it is unlocked (breaking Apple’s warranty).
This is only scratches the surface of the mobile cloud services for the freedom-concerned developers and users. There are further issues to talk about, including:
- device management,
- how to push software updates to the devices,
- security of data (since people tend to lose their phones),
- how to keep data secure while transfering.
The free software movement should take the lead to address and solve these issues. I hope we can spark the discussion at OSCON. I’ll be available all days ping me any time. Follow me on identi.ca or twitter.