December 1, 2006

Trolltech's Greenphone: A reasonable first effort

Author: Nathan Willis

Linux users have been salivating over Trolltech's promised Greenphone for the better part of a year. The "open" Linux phone platform, powered by Trolltech's Qtopia 4 embedded software stack, is bundled with a Qtopia software development kit (SDK) designed to kick-start mobile Linux application development. The first batch of devices has now shipped, and I spent a couple of weeks with a review unit. While it's an interesting package, it's only a first step and in no way a finished product.
Greenphone SDK -- click to enlarge

View the full photo set at Flickr

The SDK consists of the Greenphone hardware device, a CD containing development tools, and some printed documentation. The development environment is implemented as a prebuilt VMware virtual machine, making it cross-platform and usable with VMware's free VMware Player. Within the virtual machine are more extensive developer docs, KDE-based development tools (such as KDevelop, Qt Designer, and an ARM debugger), and a software emulator for the Greenphone hardware.

On the hardware side, you can read detailed specs at Trolltech's site, but essentially the Greenphone is an ARM-based GSM phone (unlocked) with both a mini-SD card slot and mini-USB connector for linking to a desktop computer. The device runs Qtopia Phone Edition, and ships with a dozen or so built-in "smartphone" basic applications. A top-level menu titled Devtools provides access to lower-level functions needed to develop and test applications, such as starting and stopping services like USB and Ethernet and mounting and unmounting the mini-SD card.

Writing an application for the phone is a matter of compiling and testing the code in the VMware environment, then connecting the hardware to the PC and transferring the executable. Trolltech's Greenphone site claims that the source code to all of the bundled applications will be posted for download, but it is not yet available.

"Not yet" is, regrettably, a recurring catchphrase with the Greenphone SDK. The release date was pushed back multiple times, and when the device did ship, the firmware lacked a couple of the advertised applications and features -- including, notably, a working Bluetooth stack. Today, one month out, no firmware images or source code has appeared on the Greenphone update pages.

That is forgivable, considering that Trolltech is not in the hardware business, so long as the company gets its cards in order before too long. But the clock is running. Both public forums for the SDK -- the Qtopia-interest mailing and Greenphone Development Web forum -- are peppered with developers asking for help and waiting for answers.

Who cares? All I want is an open Linux phone already!

Greenphone unboxing -- click to enlarge

View the full photo set at Flickr

As appealing or frustrating as developing apps with the Greenphone SDK may be, what the majority of readers want to know is "can I buy a Greenphone just to use as a phone?" Trolltech goes out of its way to discourage this idea, emphasizing its purpose as a development platform -- even going so far as to refer to the Greenphone as a "kit" or a "device," but never simply as a phone.

Oh yeah -- and by pricing it at nearly $700. For that kind of money, this device is not much of a phone.

For starters, there are hardware issues. Don't get me wrong -- the industrial design of the Greenphone is slick and impressive. The touchscreen is beautiful to behold, the size, weight, and balance are comfortable, and even the hidden stylus is easy to retrieve and use.

But the more you use it, the more annoying quirks you find. The four-way rocker button used to navigate around the screen is built at 45 degrees off the correct angle: a square instead of a diamond, placing the up/down/left/right buttons on the four-millimeter-wide edges instead of the corners. The two softkeys are too far from the screen, and the buttons on the sides and top of the device are awkwardly out of reach for one-handed operation.

Plus, it gets warm. If you are charging it -- a process that takes 12 hours through the mini-USB port -- the hardware can get downright hot. Furthermore, the battery is non-replaceable, attached to the battery cover, which limits the lifespan of the device.

At 1100mAh, the battery needs recharging every other day, and the battery cover (which must be removed to access the SIM card and to reset the device when it locks up) is tricky and awkward both to remove and to put back into place. The latch is a slider switch seated in a recess below the camera lens and directly against the edge of the battery cover itself. You must pry the cover upward with one hand while you attempt to pull the slider to one side with the other -- without getting in the way of the cover you are prying.

And I don't idly mention locking up; lock up it does, far too frequently for it to be useful as a reliable cell phone. More importantly, the on-board software betrays Trolltech's place as a platform provider. The included apps are barebones; not unpleasant, but behind on features compared to what comes with commercial smartphones. You get basic PIM functions, but no synchronization support, no multimedia or Internet-enabled apps, and no terminal.

There are no third-party applications available either -- not even Java apps, since the device does not include Java support. Most Qtopia apps for other devices (such as the Sharp Zaurus) are built for Qtopia 2, so they would need at least a recompile in order to run on the Greenphone. And even if there were apps available, currently you must transfer them onto the device by using Ethernet-over-USB from within the SDK virtual machine.

I found text input difficult; word prediction is unhelpful, there is no on-screen keyboard, and the handwriting recognition is frustrating and impossible to please, even after working with the included tutor. The pop-up window through which you must select non-alphanumeric characters is microscopic: it is a 12-by-18-millimeter grid of 65 characters -- and that's with one of them on a line all by itself. You try distinguishing between an @, a ©, and a ® at that size -- I dare you.

Some of those software nitpicks can be smoothed over by Trolltech. The company claims it will release an update to the phone firmware that enables the Bluetooth radio; perhaps USB mass storage and improved stability will accompany it. But for the userspace applications, the only real hope is that outside developers will improve the standard PIM suite and write additional apps.

Open source to the ... rescue?

Greenphone up close -- click to enlarge

View the full photo set at Flickr

Surprise! That is what Trolltech was counting on all along. When the company said the Greenphone is not a consumer cell phone, it wasn't kidding. Its play here is to get these devices to developers, and let developers write the apps (and thus increase the value of Qtopia). Maybe someday a great suite of apps will emerge from that process -- but it is way in the future. The million-dollar question is whether the process will work.

As it stands today, $700 is too rich for an independent open source developer, and what you get for that price is not enough to evoke love or enthusiasm. You can get a Zaurus for a fraction of the Greenphone's price, and a Zaurus is stable enough for daily usage, while the Greenphone isn't. Plus, although Trolltech repeatedly states that the purchase price is for the SDK, not the phone itself, you can get a "community license" to develop open source Qtopia applications for free. Bottom line: the Greenphone just isn't a good value.

Consequently, I have serious doubts that Trolltech will sell enough of these to nurture a development community around the device and platform. A sustainable community requires lots of devices in lots of hands, and if the device is a bad value it may never get off the ground.

Trolltech declined to disclose Greenphone SDK sales numbers when I inquired. That fact certainly does not constitute proof that sales are underperforming; Trolltech is free to publish or withhold its sales figures as it sees fit. But we can observe public developer activity, and so far the forum and the mailing list have yet to take off.

Conversely, the interest in Greenphone proves that there is a large unserved market for an open, hack-friendly Linux phone. Trolltech's competition grows closer every day. Witness the recently announced hackable Linux phones from OpenMoko and ROAD, among others. Motorola is moving slowly, but it too has started to release source code for its Linux phone kernels and apps.

Today the smartphone operating system is a fragmented, balkanized mess -- just the kind of situation Linux and open source software can unify and build up. The open phone maneuvering we are witnessing this fall is the first sign of corporations recognizing the opportunity. Linux phone platform winners and losers will emerge out of all this competition. It is just way too early to tell who they will be.

As slick as the Greenphone is, it is just a small step in the right direction. I hope that Trolltech is committed to supplying devices like Greenphone to open source developers over the long term; that it will iron out the kinks, fix the price point, and help make user-hackable smartphones a commodity. When hackable phones are as ubiquitous as PCs, everyone stands to gain -- including Trolltech.

Click Here!