Nokia announced today the launch of Qt Extended 4.4, a complete mobile and embedded development platform based on the open source Qt toolkit. It is designed with a modular architecture that provides building blocks for assembling a Linux-based software stack for various embedded devices ranging from phones to set-top boxes.

Nokia acquired Norwegian software company Trolltech earlier this year for $153 million and is now working to consolidate Trolltech's technologies in order to simplify the Qt software ecosystem. The release of Qt Extended 4.4 is part of an effort to rebrand and overhaul Trolltech's former Qtopia platform.

The Qt Extended platform consists of 19 separate components that span a broad range of functionality, including messaging, multimedia, and productivity.

"Qt Extended is designed to accelerate software development for a wide range of consumer devices, such as video IP phones, media players and other advanced devices," said Nokia's Qt software vice president Sebastian Nystrom. "With the new release of Qt Extended, we are making it easier to differentiate the user experience and the feature set."

The Qt Extended platform

The underlying telephony stack supports GSM, GPRS and VoIP. For those capabilities, the platform supplies reference implementations that hardware makers can replace or extend. These pieces are wrapped with an abstraction layer that gives application developers easy access to the functionality in a consistent way across Qt Extended devices.

The Qt Extended messaging component spans the full range of mobile communication technologies, including SMS, MMS, e-mail, and instant messaging. It is built on top of Telepathy, a modular communication framework that is also used on Nokia's Maemo platform and is increasingly being adopted on the Linux desktop. The platform includes a messaging library that provides application developers with a high-level API for composing messages and manipulating the system's message data store. It also exposes Telepathy-based services, including XMPP communication via the Telepathy's Gabble connection manager.

In addition to including audio and video playback infrastructure, the multimedia framework in Qt Extended also offers a set of common widgets for building multimedia applications. The top layer of the multimedia stack is the Phonon abstraction library. Qt Extended supports Helix and GStreamer backends for Phonon, but adopters can also make their own to plug into the stack. The multimedia stack also supports a DRM implementation that is compatible with the Open Mobile Alliance DRM standard.

The platform's built-in personal information management (PIM) layer is constructed on top of the SQLite database library. It is fully extensible and can be accessed by multiple applications at the same time. The toolkit includes synchronization APIs and widgets that can be used to develop new PIM applications. The platform includes a reference implementation of a very basic PIM suite.

The user interface is, of course, built with the Qt widget toolkit. The layout and design of the menu system, dialer, and window manager can be customized with XML-based theming descriptions. It also includes an extensible input method system that supports basic handwriting recognition, standard phone numerical pads (with predictive text), and qwerty keyboards.

Qt Extended comes with a lot of other useful things, including the QWebKit widget for building mobile browsers and rich Internet applications, support for Bluetooth and WiFi, and some important architectural components, like a policy-based security system for sandboxing applications and an interprocess communication layer that leverages Qt's signal and slot model.

Running Qt Extended

Nokia is distributing two basic reference platforms built on top of Qt Extended. One of them is a GSM phone platform that is designed for the OpenMoko handsets, and the other is for a desktop video phone device. These reference platforms can be used as a starting point for device makers that are building their own Qt Extended hardware products and can also be used by third-party application developers who want to target Qt Extended devices.

There are numerous commercial products that run various flavors of the Qt mobile platform, including the Sony Mylo, the Dash navigation system, and the Netflix Roku streaming video box. I've experimented with a previous version of the Qtopia phone reference platform on one of Trolltech's now-defunct Greenphone devices, but the best way for developers to do application testing and get a real hands-on feel for the platform now is to test it on an OpenMoko phone.

Relative to some other mobile platforms that we have looked at recently, Qt Extended is a strong contender, and it has a lot of nice capabilities. The biggest strengths are the quality of the development tools and the flexibility of the toolkit. There are a lot of things in Qt that make it a real asset on mobile devices. For example, it's easy to create visually rich touchscreen-friendly Qt widgets using SVG and CSS.

Qt Extended is distributed under the same kind of dual-licensing model as the desktop toolkit. Qt developer Lorn Potter commented on this in a blog entry this past weekend. "Qt Software and Nokia are still committed to releasing Qt and Qt Extended under the GPL as open source, and will continue to do so," he wrote. "Changes are a part of life and what make it exciting. The Open Source community has nothing to fear by this name change, or by Nokia buying Trolltech."

Check out the Qt Extended launch web site for more details about the platform and some demo videos.