Trolltech Qtopia Greenphone and SDK Review
Trolltech Qtopia Greenphone
The Greenphone comes at a time when there are countless mobile Linux platforms, but not many of them are open for easy development. This little device aims to fill a niche for a community-oriented mobile development platform. How does it perform? Well, let’s take a look...
Shortly after the Qtopia Greenphone was announced, I was given the opportunity to run one through the paces and see what kind of things this cool little smartphone could do. One of the first questions that arose in my mind was, “Is there a need for another Linux mobile platform?”
After thinking about it for a while, it started to make sense. If you take a visit over to LinuxDevices.com and search the archives, you will find countless phones and PDAs - like the Sharp Zaurus which I reviewed back in 2003. There is definitely a market for these devices, but can the Greenphone find its place in such a world?
The Greenphone comes at a time when there are countless mobile Linux platforms, but not many of them are open for easy development. This little device aims to fill a niche for a community-oriented mobile development platform. How does it perform? Well, let’s take a look.
As I am not a software developer, the approach to this review will generally consist of my impressions of the Greenphone hardware platform and my thoughts on the SDK as a package. As an engineer and long time Linux user, I feel that this is the most appropriate course of action for this type of product with my given expertise.
Here’s a breakdown of what’s included in the SDK package:
- Greenphone with included stylus
- AC Charger
- UK/Europe plug adapter
- USB Data cable
- Headphones with Lanyard and detachable clip
- Keychain-like logo for phone
- Software Developer Kit (SDK) CD-ROM
- Device User License Agreement
- Getting Started Guide
Overall, I was quite pleased with the physical contents of the SDK box. The provided documentation was fairly sparse but adequate for the intended audience. The “Getting Started Guide” showed the basics of installing a SIM card, installing the battery, charging the phone, etc. The provided headphones were a nice touch, but the lanyard was probably a bit of overkill. I doubt that too many people will be sporting one of these as a music device – as it cannot play MP3s or videos at this time.
- Touch-screen and keypad UI
- QVGA® LCD color screen
- Marvell® PXA270 312 MHz application processor
- 64MB RAM & 128MB Flash
- Mini-SD™ card slot
- Broadcom® BCM2121 GSM/GPRS baseband processor
- Tri-band (GSM 900/1800/1900) support
- Bluetooth® equipped
- Mini-USB port
- 1.3 megapixel camera
- Qtopia Phone Edition 4.1.7
- Linux kernel 2.4.19
The Greenphone is essentially an unlocked GSM phone sporting an ARM processor, 64MB of RAM and runs Qtopia Phone Edition. The phone itself boasts a fairly nice colour display that is large and quite bright. The screen is also touch sensitive and can take input from either a small finger or the included stylus which tucks neatly into the bottom of the phone. I must say that I was a little surprised at the proportions of the phone, as it is thicker than my folded up Motorola RAZR V3i. The screen dominates the real estate of the front, leaving the bottom for a set of small, cramped buttons. The buttons felt even more jammed together than those on the Blackberry Pearl.
Navigation is accomplished using either the touchscreen or the pointing device. I didn’t particularly like the feel of the pointer, but it got the job done. The feel of the user interface was a bit sluggish for everyday use, but it was quite adequate for a development product. A selection of the basic smartphone applications was included (Documents, Email, Calendar, Games, Calculator, Images/Camera, World Time, Voice notes, etc.). There were also a few development apps, to help install software packages, and manage some of the GSM capabilities of the device.
Most noticeably missing from the software line up is a way to synchronize with my desktop applications. It is my hope that synchronization plugins for Kontact (QT) and/or Evolution (GTK) will be coming down the pipeline shortly, license permitting. There is synchronization software available from Trolltech, but it is proprietary and will not sync with the software that I use. In order to use this software, I would have to duplicate all of my PIM data on the Qtopia Desktop software. OpenSync seems like it would be ideal for this device.
Trolltech has done everything in its power to convince the user that the Greenphone is not a consumer level device. The following Figure shows the warning message displayed as the machine turns on. If you are simply looking for a cool Linux smartphone, this device falls flat with its poor price/performance ratio. Sporting a hefty price tag of $695 USD, you’d be better off with a consumer smartphone for a few hundred dollars and save the rest for your data transfer fees.
One of the poorest performances in the Greenphone was the built-in 1.3 megapixel camera. The image displayed on the screen was constantly lagging behind the movements of the camera and would often take 2-3 seconds to catch up. The software included was awkward to use because it required pressing a software button on the screen. Generally, I ended up trying to use the stylus to press the button, but this made steadying the camera very difficult.
Software Development Kit (SDK)
The software installation was completely painless (even on an AMD64 installation), and basically consisted of running a script off of the included CD-ROM. This created a folder (2.1GB) in the user’s home directory containing a VMware image of a Linux installation. The concept of using virtualization for the SDK was something that I was torn about. On the one hand, virtual machines can take up a fair bit of resources for machines with single core processors and basic amounts of RAM. On the other hand, the pre-configured SDK virtual machine is a way of ensuring that all of the software necessary to develop for the Greenphone are installed properly and limits the possibility of version conflicts between different Linux distributions. Since the release of VMware player, one is not required to purchase an additional license for the virtualization software.
In my opinion the SDK should come in two flavors, one containing the SDK virtual machine, and the other being packages of the non-free applications and a list of software necessary to create your own development environment. I find that running a VMware instance is fine for casual use, but is not something I would enjoy doing frequently. That being said, the SDK ran quite smooth and stable during the testing performed for this review.
The SDK is based on the Debian Testing/Unstable (Etch) and KDE 3.5. It includes development applications such as the KDevelopt IDE, QT Designer, QT Assistant, QT Linguist, an arm-linux debugger and more. Generally, it’s a pretty standard development environment with some extra Qtopia development tools.
Launching the software shown in the above Figure required two separate applications to be started (‘runqpe’ and ‘runqvfb’) from the desktop. In my opinion, a simple wrapper script should have been written and placed on the desktop. This just makes common sense to me.
Building and installing software for the Greenphone was fairly straightforward for someone comfortable with installing software from source. I downloaded, built, and installed a source package from the Greenphone community site. A good read of the developers guide gives you the commands to build and package the software. Once built, the software can be tested on the software phone (as seen in the above figure), or transferred manually via SMB to the hardware device. Once transferred, the phone’s package management software must be used to install the binaries. Unfortunately, in order for the new package to be recognized, the phone had to be manually refreshed for the files to appear on the file system. I found this to be quite disappointing. Overall, the development environment is extensive and performed well under the basic testing that was completed.
The price you pay for freedom
As far as pricing is concerned the phone itself costs $695 USD, and there are three options for the SDK: Professional, Light, and Community. The details can be found here, but generally the Professional version includes more source code and is intended for large software development shops, the Light version is for small commercial developers (limited to one phone per license) and the Community version is free for the rest of us. The major difference between the Light vs. Community SDKs is that the latter is strictly licensed as GPL 2.0 and where the former has a commercial license.
It is not often that I’ve talked about product licenses in reviews, but in this case I felt it was very important aspect of this device. The Greenphone package included a folded piece of paper entitled “Device User License Agreement”, shown below. Some of the clauses are pretty standard, but the first statement is what caught my attention. “...This device may only be used with Trolltech’s Qtopia Software. You may not use this device in any other hardware/software combination other than in the combination of hardware and software that was delivered to you...”
For a device aiming to build a strong open source community this type of license agreement appears to be very counterproductive. This device is clearly oriented towards developers, as demonstrated by the limited software provided with it, but this effectively limits the creativity and freedom that free/open source software was built around. Would a license clause such as this prevent a developer from writing synchronization plug-ins for Evolution or Kontact, or an alternative firmware/OS like OpenZaurus? What worries me is that this might be the case.
After having spent a fair bit of time with the Greenphone, it became clear to me that the goal of this device was to build and extend the Qtopia mobile platform community and provide a means for developing software for such a platform. Trolltech is attempting to “ride on the shoulders” of such a community, hoping that their new platform will take off. Some of the steps they are taking are very good, such as providing a downloadable Community SDK (with licensing limitation), so that a budding software developer can write and test code without having to invest the whopping $700 for the hardware. In my opinion, the platform definitely has potential, but as far as being a truly hacker friendly device, I think the above license agreement says it all.
Shortly after publishing this review, we were contacted by Trolltech in regards to the concerns we had over the licensing of the Greenphone. As a response, Trolltech has since changed the wording in its licensing with respect to the openness of the hardware. The entire LinuxLookup.com team is pleased that Trolltech took our comments constructively and worked quickly to rectify the situation. We hope that these changes will help the Greenphone do well as an open mobile development platform and that many new free/open source projects flourish as a result.
ConclusionThe Good - Pros
- Interesting little gadget
- SDK bundle that gives the community a chance to develop for a mobile device.
The Bad - Cons
- The phone itself is very expensive for personal development.
- The license agreement is extremely restrictive and could drastically affect the adoption of such a device.
The Ugly - Issues
- Nothing major encountered other than a few broken pages in the developer documentation.
The Verdict - Opinion
The concept of building a development community around an “open” mobile platform, such as the Greenphone, is a noble one. In my opinion, Trolltech dropped the ball on their "First Linux Mobile Development Device Open for Unlimited Software Innovation" with a draconian license agreement that, rather than fostering innovation, may stop it in its tracks.