First look: the Maemo 5 multimedia framework

Nokia has released the second Maemo 5 SDK pre-alpha. Ars takes a look at the …

Nokia has announced the availability of the second Maemo 5 SDK pre-alpha release. This version introduces some important functionality, including a sophisticated new framework for multimedia development. Although it is still at an early stage of development, the SDK provides deep insight into the architecture of the next generation Maemo platform.

Maemo is a Linux-based mobile operating system that leverages the GNOME Mobile and Embedded stack. Maemo was originally created by Nokia for the ARM-based Internet Tablet device series. Maemo 5, which is codenamed Fremantle, is the next major version of the platform. Nokia originally announced plans for Maemo 5 at the Open Source in Mobile conference. The company also revealed that its next major tablet device will ship with a powerful OMAP 3 processor and support for 3G Internet connectivity.

The first pre-alpha release of the Fremantle SDK landed in December, but it didn't include much of the new platform stack. The latest release fleshes out Fremantle's multimedia functionality and introduces the new GObject-based Media Application Framework (MAFW).

Exploring MAFW

MAFW provides highly modular infrastructure for consuming and extending Maemo's multimedia functionality. Much like KDE's Phonon library, MAFW is an abstraction layer that is largely decoupled from its underlying components. It will be possible to snap in a number of media backends, such as GStreamer and MPlayer. The scope of MAFW is broader then Phonon, however, as it covers a diverse selection of features including playlist management, playback control, media metadata handling, and media source access.

These aspects of MAFW can all be extended through plugins. For example, there are source plugins that allow MAFW to access to media content via UPnP or through Tracker, an open source filesystem indexing service for Linux. Using Tracker as a global media storage index is extremely advantageous because it will eliminate the need for individual applications to each maintain their own index.

MAFW will serve as an intermediary so that the underlying content source is transparent to the application and media will be seamlessly accessible regardless of where it comes from. This will make it easy to swap out individual components like Tracker in the future and it also insulates application developers from having to implement their own support for all of these different technologies. In general, MAFW aims to centralize a lot of the infrastructure for multimedia so that individual media players don't all have to completely reinvent every spoke of the wheel.

One of the most important pieces of MAFW is the playlist manager, which will make it possible for universal media playlists to be shared by all of the applications that run on the platform. The playlist manager operates as a background service that is controlled through the D-Bus interprocess communication system. A high-level C library wraps the D-Bus interface with a GObject-based API that will be easy for third-party applications to use.

New UI framework planned for the next SDK prerelease

Nokia is taking some impressive steps forward with the alphas of Fremantle, but this is still a very early prerelease and there is a lot of work to be done. This release still ships with the conventional Diablo (Maemo 4.1) UI components.

At the Maemo Summit last year in Berlin, Nokia revealed that Maemo 5 will come with a new version of the Hildon widget toolkit that will include a variety of improvements to boost usability and facilitate finger-friendly application development. Nokia is also working on integrating support for building richer user interfaces using the Clutter scene-graph library on top of OpenGL.

In an announcement posted on the Maemo wiki, Nokia's Quim Gil reports that development is already underway on the next SDK release and that it will likely include the new UI framework and the full set of APIs for application developers.