MeeGo 1.2 Harmattan Developer Documentation Develop for the Nokia N9


This section provides definitions for terms related to MeeGo 1.2 Harmattan platform. The content serves the following purposes:

  • as a glossary: defines terms
  • as a spelling reference: instructs on how to spell terms and abbreviations
  • as a collection of product names: collects defined product names and instructs on their correct spelling


Aegis manifest file

Aegis manifest file lists the required and provided security credentials for an application.


In the Harmattan platform context, an application is a program that a user can launch in a mobile device.


ARM (Advanced RISC Machine) processor architecture. For more information, see ARM architecture wikipedia article.

audio group

A subset of media groups, related to Policy Framework. Applications use Resource Management APIs or a configuration file to define their audio objects, such as audio streams, into audio groups.


Also known as GNU build system, a suite of development tools provided with Platform SDK and designed to assist in building various source code packages that are portable to many Unix-like systems. For more information, see GNU build system wikipedia article.



Certificate Authority (CA) is a trusted central administrative entity that issues digital certificates.

control group

The level at which Policy Framework assigns applications' priority and memory size. An application uses a configuration file to classify itself into the correct control group.


The process of compiling a program or library on a different architecture or operating system than it will be run on.



A program that runs as an independent background process.


A message bus system for applications to communicate with one other. For more information, see D-Bus.

desktop file

A configuration file that defines for example how your application is launched and how it appears in menus.

developer mode

By default, a Harmattan device ships without the necessary tools for application development. When developer mode is activated (in Settings > Security > Developer mode), your Harmattan device downloads the developer mode software over a network connection, after which you can use your primary Harmattan device as a development target.


In the documentation, device refers to a Harmattan device.



Embedded MultiMediaCard. For more information, see MultiMediaCard wikipedia article and the eMMC product standards.




A separately installable content item that provides additional functionality to an existing application. Extensions do not have their own icons on the menu grid. When an extension is installed, it becomes a part of the extended application. Extensions can also have a UI.



The GNU Project Debugger: the standard debugger for the GNU software system. For more information, see the GDB website.


Group identifier identifies groups of users in Unix systems.



The project name for Nokia's first MeeGo-based platform. The official full name is MeeGo 1.2 Harmattan, but in the developer documentation, it is referred to as Harmattan.

Harmattan API

The short name for MeeGo 1.2 Harmattan API.

Harmattan emulator


Harmattan Platform SDK

The short name for MeeGo 1.2 Harmattan Platform SDK.

Harmattan target

Target for the Qt SDK that provides all the necessary tools and API libraries for developing applications for Harmattan devices.


A feature to synchronise the way an application uses system resources to optimise energy efficiency.



Integrated Development Environment. A software application that provides a comprehensive set of tools for software development. Usually comprises at least a source code editor, compiler or interpreter, build automation tools and a debugger.


Inter-process communication. A set of methods for the exchange of data among multiple threads in one or more processes. Processes may be running on one or more computers connected by a network. Examples of IPC methods are pipes, sockets, semaphores, shared memory, and futexes. The method of the IPC used may vary based on the bandwidth and latency of communication between the threads, and the type of data being communicated. For more information, see inter-process communication wikipedia article.



Maemo/MeeGo Application Development and Debugging Environment. A cross-compilation toolkit used either with an IDE or as a command line tool.

MADDE Terminal

A shell to access MADDE functionality directly through a command line interface.


Nokia's Linux-based mobile software platform that was merged with Intel's Moblin to create MeeGo.

media group

The level at which Policy Framework makes policy decisions regarding applications' audio and video functionalities. Applications use Resource Management APIs or a configuration file to define their media objects, such as audio streams, into media groups.


An open source project that enables developers to deploy applications across a variety of devices, such as desktops, handheld computing and communications devices, in-vehicle infotainment devices, and connected TVs. For more information, see the MeeGo website.

MeeGo 1.2 Harmattan API

The official name for Harmattan API. A recommended set of APIs in the Harmattan platform to be used for application development. MeeGo 1.2 Harmattan API consists of MeeGo API and Nokia Specific APIs, and it is a subset of Platform API.

MeeGo 1.2 Harmattan Platform SDK

The official name for Harmattan Platform SDK. The Platform SDK uses Scratchbox as the development environment. It is targeted at Linux developers who want to develop for Harmattan platform.


The set of APIs that are supported by all MeeGo-compliant devices and available for MeeGo application development. MeeGo API is a future-proof set of APIs that is forward-compatible within a major MeeGo release. MeeGo API is a part of MeeGo 1.2 Harmattan API.

MeeGo Touch Framework

A C++ UI framework based on Qt Graphics View Framework, previously known as Direct UI or DUI. MeeGo Touch Framework provides the features needed for developers creating applications for touch-enabled devices. Features include standardised window navigation, list and other widget behaviour, and common theming for components.


Multimedia Internet Message Extensions is a protocol for defining various types of multimedia data objects and the recipient.


The Harmattan security framework is based on Mobile Simplified Security Framework (MSSF).


native application

An application that is compiled for a particular device before distribution.

Nokia Specific APIs

Nokia Specific APIs contain additional libraries that can be used when creating applications for Nokia devices. Nokia provides compatibility to this API set for the next two major Nokia releases. Nokia Specific APIs are a part of MeeGo 1.2 Harmattan API.

Nokia Store

The primary publishing channel for Harmattan applications.



A simple and easy flashing software for Windows, Linux, and Mac OS X. You can use it for flashing the N950 device with the Harmattan image.



Identifier that identifies a process inside a process family.

Platform API

A full set of interfaces provided by the Harmattan platform. Platform API contains elements that may be subject to change. See also MeeGo 1.2 Harmattan API.



The emulator that is used in application development for Harmattan and emulates the hardware of the device.


Qt Meta-Object Language. A declarative, script-like markup language that is part of Qt Quick.


A cross-platform application and UI development framework.

Qt Creator

An integrated development environment (IDE) for cross-platform application development, which functions as a front-end for MADDE in Harmattan.

Qt Declarative

A Qt module in Qt 4.7 API that provides the run-time interpreter for QML UIs and enables extending them with C++ code.

Qt Quick

A JavaScript-inspired framework that enables rapid development of mobile application user interfaces. Qt Quick is part of Qt 4.7 API.

Qt Quick Components

Qt Quick Components provide a set of QML-based widgets and other elements, which you can use to build a user interface that matches the native look and feel of the device.


A cross-platform development environment for developing applications for various target devices. To develop applications for Harmattan devices, you need to use the Qt SDK with the Harmattan target. The Qt SDK includes Qt Creator IDE, Qt Simulator, and MADDE terminal.

Qt Simulator

A simulator that allows you to test and debug mobile device applications.



A virtual object that represents some functionality.

resource class

Functional entities to which applications must assign their resource sets. Resource classes are mapped to device modes.

Resource Policy Framework

A concept for handling the various roles and modes that a modern smartphone is used in. It functions by allowing the developer to assign applications in different categories, for which the device determines sufficient permissions and behaviours.

resource set

A collection of resources or a single resource that an application creates to get access to something tangible (for example, lock button) or abstract (for example, audio playback).


This term is not recommended. See target root file system.


Emulation environment or a real device where binaries can be run.



A cross-compilation and simulation toolkit used in Harmattan platform development and designed to make embedded Linux application development easier.

SDK Connectivity tool

An application installed on a Harmattan device to enable connectivity between the development host and the mobile device. When developer mode is activated, the SDK Connectivity tool is automatically available.


In general, a device or program designed to simulate a system in order to study its performance or for training purposes.


Secure/Multipurpose Internet Mail Extensions. A standard for public key encryption and MIME data signing.

splash screen

Full or part-screen window that can be seen when launching an application. The splash screen appears briefly, for example, in the time between the launch of an application and the appearance of its main application window. A splash screen can be, for example, an image with a logo, or the title of the application the user is about to install.

swipe lock

A feature that disables the normal swipe functionality of the device user interface, allowing applications to use swipe for other actions than switching applications.


Synchronization Framework is a service that allows applications running on a Harmattan device to perform scheduled tasks.


This term is not recommended. See target root file system.



A specific file, type, or location to which data is moved; signifies what you are compiling against. A target is a combination of the architecture, corresponding toolchain and other additional mandatory tools required for it to function as a base, which can then be configured to suit current development needs. A target is complete when the target root file system is installed on it. At this point, the target has the needed headers and libraries required to develop your application for the platform/device.

target root file system

A target root file system is included in the corresponding SDK for cross-compilation purposes. It is a MeeGo-product or SDK-specific file system that consists of libraries, C/C++ header files, binaries, configuration files (such as /etc/*.conf files), image files (such as fonts, pixmaps, and bitmap images), and other files (such as application-specific /usr/share). In Harmattan, target file system is sometimes also referred to as rootstrap or sysroot, but the recommended term is target root file system (TRF).


Tracker is a central repository that indexes contents on the device. It is based on GNOME Metatracker and performs a similar set of services. Tracker can assign semantic tags for files on the device that can then be used in content searches. As a central repository, Tracker also is useful for sharing data between applications. For more information, see tracker repository in Gitorious.



User interface.


User identifier identifies each user in Unix systems.


Upstart is an even-based daemon that handles starting of tasks. For more information, see Ubuntu Upstart documentation.


A compact string of characters that is used to identify an abstract or a physical resource.


User experience.