You are on page 1of 15

Maemo

Dipl. Ing. Catalin Constantin

3 Sept. 2008 NEUSOFT SECRET

Maemo 5 Developer Guide

Provides an overall picture of the Maemo 5 platform.


Intended for developers wishing to create applications for Maemo devices. Maemo software platform is developed by Nokia for smartphones and Internet Tablets.

Maemo
What is it ?
The Maemo devices run a Linux-based operating system on ARM architecture Maemo is an open source development platform for mobile devices Uses GNOME/GTK+ technologies plus additional tweaks to integrate well in handheld devices Platform comprises the Maemo operating system and the Maemo SDK

3 Sept. 2008 NEUSOFT SECRET

Maemo
Versions

3 Sept. 2008 NEUSOFT SECRET

Maemo 5
Fremantle
Latest version of Maemo

Maemo 5 delivers computer experiences to pocket-sized devices


Maemo 5, also known as Fremantle, is the default operating system on the Nokia N900

3 Sept. 2008 NEUSOFT SECRET

Maemo 5
Development
Based on free software and tools

Maemo 5 uses GNOME mobile platform

and uses GTK+ toolkit (C is the native programming language; C++ & Python also used - bindings) Single-user system
Qt = alternative for GTK+

3 Sept. 2008 NEUSOFT SECRET

Maemo 5
Kernel and core
Linux kernel 2.6 - processes hardware events, system-wide memory allocation, process creation and everything that you would expect from a modern multi-tasking UNIX-like kernel D-Bus = IPC - service (daemon) that allows related processes to pass events to each other & passes important events from the core system to applications HAL - provides means for storing data about hardware devices, gathered from multiple sources and to provide an interface for applications to access this data GLib - cross-platform software utility library ( provides the core object system used in GNOME, the main loop implementation, and a large set of utility functions for strings and common data structures) X Server - implements access to the graphics hardware and converts HID (human interface device) events from the kernel into events for the X server's clients

3 Sept. 2008 NEUSOFT SECRET

Maemo 5
User Workstation

3 Sept. 2008 NEUSOFT SECRET

Maemo 5
Platform Libraries
Open source libraries and frameworks Client APIs are essential for Maemo development

BlueZ - official Linux Bluetooth protocol stack E-D-S - provides a single database for common, desktop-wide information, such as a user's address book or calendar events GStreamer - library for constructing graphs of media-handling components GVFS - powerful file system framework (enables the usage of a vast number of different file access protocols ) Telepathy - flexible, modular communications framework that enables realtime communication via pluggable protocol backends (instant messaging) Avahi - service discovery on a local network (zeroconf) Matchbox - Open Source base environment for the X Window System running on non-desktop embedded platforms (window management) GConf - system for storing application preferences GIO - modern, easy-to-use VFS API

3 Sept. 2008 NEUSOFT SECRET

Maemo 5
UI Toolkit and Application FW
Maemo 5 uses GTK+ as UI toolkit Sapwood - daemon that caches images used to implement the overall graphical look and feel for applications designed for Maemo (used in the background by the GTK+ library) Hildon - application framework introduces a new desktop for Maemo devices - lightweight desktop, a set of widgets optimized for handheld devices, a set of theming tools and other complementary libraries and applications. Libosso - wrapper library for user applications for platformspecific, frequently-used D-Bus services Home/Desktop - graphical program that implements a userselectable background picture and provides space for applets Control panel - application for most system configuration tasks

3 Sept. 2008 NEUSOFT SECRET

Qt for Maemo
Qt is a comprehensive application and UI framework for developing Maemo applications that can also be deployed across major device and desktop operating systems without rewriting the source code Developer can port his Qt for Maemo mobile applications to the desktop on Windows, Mac and Unix/Linux (X11)

3 Sept. 2008 NEUSOFT SECRET

Future of Maemo
Maemo 6 is called Harmattan

Maemo project would be merging with Moblin to create the MeeGo mobile software platform
Qt will be the basis for Harmattan

3 Sept. 2008 NEUSOFT SECRET

Why Qt ?
Maemo 6 (Harmattan) brings even more platforms to you as the Qt developer. Soon you can rely on full (X11) Qt support on Maemo 6 devices Powerful application and UI framework Integrated development Environment Portability across desktop and mobile operating systems

3 Sept. 2008 NEUSOFT SECRET

Maemo contribution to Qt

The Maemo API takes the Qt API as basis and extends it with new features Maemo offers bugfixes to Qt and APIs based on open source code Maemo follows the Qt open development and contribution model
3 Sept. 2008 NEUSOFT SECRET

You might also like