OpenMoko develops completely open Linux-based mobile phones that can be modified and improved in the spirit of open source. OpenMoko's developer-oriented Neo1973 was released last year and the consumer model, called the FreeRunner, is expected to move into the mass production stage next month. Now, the company has radically reinvented its mobile software platform and is offering developers an early sneak peek of an alpha release that features Trolltech's Qtopia mobile technology and uses the Enlightenment e17 window manager.

Although the OpenMoko application stack was originally built largely with GTK+ and GNOME mobile and embedded technologies, the developers have recently pursued a radical deviation from the original plan and are reshaping many aspects of the platform to make it more functional and responsive.

We got our first hints of this transition back in February when we met with Enlightenment developer Carsten Haitzler at the Southern California Annual Linux Expo (SCALE). He told us that pervasive use of GTK+ throughout core components of the user interface was consuming too much memory and diminishing the phone's responsiveness. He planned to leverage Enlightenment technology to cut back on the bloat while also making the user interface visually richer.

In addition to dropping OpenedHand's Matchbox window manager in favor of Enlightenment e17, the OpenMoko developers are also adopting components from Trolltech's Qtopia mobile environment. Qtopia, which is built with the Qt toolkit, provides a relatively mature and functional mobile Linux solution. The GTK-based software used for basic phone capabilities like dialing and the address book have been replaced with Qtopia equivalents. Although OpenMoko has largely abandoned GTK+ for many of it built-in capabilities, the developers will still make it possible for GTK+ to be used for third-party applications. OpenMoko's developers ported Qtopia to X11 so that it can coexist with other frameworks.

OpenMoko developer Holger Freyther explains that the decision to adopt Qtopia was primarily motivated by the need for software that works today and he comments that the community members are still welcome to contribute to moving the GTK-based stack forward as well.

"We wanted to have a working phone on a short time frame and some of us believed that the current stack, specially the gsmd, is not close to be working properly. The most promising alternative was the Qtopia stack. So we started marching into this direction by porting it to Qt/X11. When I say Qtopia we mean the prediction of the keyboard, the dialer, the sms program, the various other phone apps," Freyther writes in a blog entry. "There are quite some things left but it is looking promising. So guys, be happy that you will getting working hardware and working telephony software. If you are bored with stuff just working the Gtk+ based stack is awaiting your patches."

Support for Qtopia expands the ecosystem of community-built software that is available for the platform because it will now likely be easier to port existing Qt and KDE applications to the phones. It's also worth noting that Trolltech's recently released Qt 4.4 has support for Windows Mobile. Developers will be able to build an application with a single code base that can be used across both Windows Mobile and OpenMoko devices.

OpenMoko's decision to adopt Qt seems to have come at roughly the same time that Nokia decided to make Qt available in its Maemo Internet Tablet operating system. Nokia is also in the process of acquiring Qt creator Trolltech.

Two of the most prominent adopters of GTK+ in the mobile space are now emphatically embracing the competing Qt toolkit—a shift that will likely impact the decisions of other mobile Linux adopters. GTK+ still has some big supporters in the phone handset industry, however, because it has been selected as the default application user interface toolkit for the LiMo Foundation's mobile platform. LiMo has a lineup of some heavy hitters including Motorola, NEC, NTT DoCoMo, Panasonic, Samsung, LG, and Verizon.

OpenMoko's new strategy will ensure that its phones are more functional at launch and it will also provide developers with more options and flexibility, but it could fragment the platform. Supporting multiple toolkits will make it harder to make the platform truly integrated on the level that many expect of their phones. It is likely that the Qtopia components are being used extensively now simply because they are more mature and that they will be incrementally replaced with richer Enlightenment-based software as the platform evolves.

Further Reading: