GNOME Mobile hits the road
Sep 25, 2008 — by Eric Brown — from the LinuxDevices Archive — 10 viewsThe GNOME project has formally released the mobile version of its Linux desktop environment. GNOME Mobile is based on the GNOME 2.24 desktop that was released this week, and is targeted at mobile phones, handhelds, and other devices with constrained display, input, and system resources.
(Click for larger view of the Garmin Nuvi 880, one of many GNOME Mobile-based devices)
GNOME Mobile was announced over a year ago as part of the GNOME Mobile & Embedded Initiative (GMAE), The platform (see diagram below) is a subset of the GNOME 2.24 desktop stack, which was also released this week. One of the top two desktop environments for Linux, along with KDE, GNOME offers e-mail, groupware, web browsing, file management, multimedia, and games, says the GNOME project.
GNOME Mobile architecture
Like the desktop GNOME, the mobile version is licensed under the GNU LGPL (Lesser General Public License). GNOME Mobile comprises C, C++, and Python APIs (application programming interfaces), and is said to include a variety of applications and tookits including GTK+ (Gimp ToolKit), GStreamer support, Telepathy instant messaging (IM) and presence, the BlueZ Bluetooth stack, and Avahi network service discovery (see below for the complete list).
GNOME Mobile is already being used in Linux-based mobile platforms including Maemo, the Access Linux Platform, the LiMo Platform, Ubuntu Mobile, Moblin, and Poky Linux. Gnome Mobile-based devices include OpenMoko's Neo FreeRunner, Garmin's Nuvi navigation devices (pictured above), the Bug Labs “Bug” embedded device mashup platform, Vernier Labs's test and measurement handheld, LabQuest, and the pioneering One Laptop per Child XO netbook. The Nokia-sponsored Maemo project adopted stripped down versions of various GNOME libraries for its Linux-based N800/N810 Internet Tablets, although with Nokia acquiring Trolltech and its Qt technology, which is used by GNOME's desktop rival, KDE, the GNOME connection may not last.
GNOME Mobile-based devices, left to right:
Nokia N810, Bug Labs BugBase, OpenMoko Neo Freerunner
GNOME Mobile's core infrastructure is based on GLib and D-Bus, says the GNOME project. GLib offers core application building blocks for portable C libraries and applications, and supplies the core object system, main loop implementation, and utility functions for strings and common data structures.
D-Bus (Desktop Bus), meanwhile, is a message bus system between applications that also coordinates process lifecycles. Developed by FreeDesktop.org, the open source, Linux/Unix-based inter-process communication (IPC) technology links applications with services such as those offered by printers or CD-ROMs. In the mobile world, D-Bus has been made part of the LiMo Platform spec, as well as OpenMoko's next-generation FSO framework initiative for its Neo FreeRunner phone.
More GNOME Mobile devices, left to right:
OLPC's XO, Garmin's Nuvi 880
In August, Gnome Mobile contributor, Movial, which is known for its Scratchbox development tools and Movial IXS mobile application stack, released open-source code for the LiMo Platform called Browser D-Bus Bridge. The bridging technology is said to translate HTML and Javascript commands to D-Bus to create “mashups” of applications and services, including Android-like Google apps mashups. Other Gnome Mobile applications that exploit D-Bus messaging include GeoClue, a modular geoinformation service that runs on the Garmin Nuvi, and is designed for creating location-aware applications on mobile Linux devices.
GNOME 2.24 (Click for details) |
System infrastructure components for GNOME Mobile are said to include:
- BlueZ — a modular Bluetooth stack that includes several graphical utilities
- Evolution Data Server (D-Bus port) — manages access to calendar, tasks, and address book both locally or via standard network protocols
- Telepathy — unified framework for providing IM, voice and video over IP and point-to-point sockets (Tubes) to applications, and the basis for GNOME 2.24's Empathy IM client
- Avahi — network service discovery multicast DNS stack that provides “zeroconf service discovery” on a local network
- GStreamer — multimedia framework that provides audio/video playback and streaming as well as media capture, mixing, and non-linear editing
- SQLite — Stripped-down transactional SQL database for embedded applications
- GConf — utility for storing and retrieving configuration preferences
- Matchbox — window manager for non-desktop X11 environments such as handhelds, set-top boxes (STBs) and other devices with limited screen resolution, input mechanisms, or system resources
- Gio and GVFS — virtual filesystem API supporting services, including FTP, SFTP (SSH), WebDAV, NFS, and SMB/CIFS
- GTK+ — cross-platform GIMP toolkit for creating graphical user interfaces (GUIs)
- Pango — Text rendering and layout app for GTK+, with emphasis on internationalization
- ATK — Accessibility toolkit available for all GTK+ widgets, enabling accessibility tools for alternative view and control applications
- Cairo — 2D vector graphics library with PostScript-like API
For its next release, the GNOME project is planning on adding to its mobile desktop with GeoClue, GUPnP, HAL, PulseAudio, and Tinymail. Technologies under consideration for future releases include Hike components, Java ME, a Mozilla-based browser, OHM, and WebKit.
Availability
GNOME Mobile is available now, says the GNOME project. More information should be available here.
This article was originally published on LinuxDevices.com and has been donated to the open source community by QuinStreet Inc. Please visit LinuxToday.com for up-to-date news and articles about Linux and open source.