Please check the status of this specification in Launchpad before editing it. If it is Approved, contact the Assignee or another knowledgeable person before making changes.

Summary

This is a proposal to use the Hildon Application Framework found in the Maemo project and used by Nokia N770 and N800 projects as the application framework for Ubuntu Mobile and Embedded project.

Release Note

Ubuntu mobile includes the Hildon Application Framework from Maemo and the Nokia N770 and N800 projects.

Rationale

Mobile internet devices and tablets for which this distribution is targeted need an application framework that can provide a way to create applications with a very consistent look and feel and be prepared to run and interface nicely using restricted resources found on small devices like small resolution, little CPU power and storage. In addition, applications should be designed for touchscreen use, finger-friendly navigation, gestures, etc. Thus a specific UI framework, prepared for this kind of demand is necessary.

The Hildon Application Framework is one of a few existing frameworks designed for small devices and is a good candidate for tablet use. It has strong support from Nokia and will be separated from Maemo and become part of GNOME Mobile. This allows Ubuntu community and others to contribute in a way that benefits all users.

Use Cases

Scope

Affects hildon, and osso-related packages as well as gtk+. The list of GTK+ changes is available at http://live.gnome.org/Maemo/Gtk210Changes , but we will most likely not need all of them for Ubuntu mobile.

Design

We want a application framework that is easy to develop for and which has good documentation. It should have support for various hardware devices and should be themable.

Implementation

Hildon, from the maemo project provides us with the code we are interested in. They are working on porting it to a newer GTK+ which should make it easier for us to adopt it. Hildon does not provide enough and good enough developer documentation, something we will have to work on. It is also a bit too tied to the Nokia 770 and N800, but both upstream and we are working on fixing that.

Hildon is currently in transition moving from Maemo 3.x version to the next Maemo 4.x version. Hildon also doesn't yet have an official independent release. Currently we are working to import v0.0.18+

We will bring each Hildon component from the maemo subversion repository into the Ubuntu archive, clean them up and make sure they work correctly on the devices we want to support.

Hildon Packages

A useful description of the hildon components offered by Tommi Komulainen: "The following is in somewhat prioritized order (from top down) to reach what you could call Hildon UI. I'd say the minimum would be to get hildon-desktop, hildon-1, hildon-fm, and hildon-theme-plankton, with minimal dependencies (which probably aren't conveniently optional at the moment.)

Hope this helps.

hildon-desktop*

hildon-1

hildon-fm

hildon-thumbnail

libhildonmime

gnomevfs-obex

gnome-vfs-filechooser-backend

hildon-thumbnail-libid3

hildon-theme-plankton

hildon-theme-cacher

hildon-theme-layout-4

libosso

hildon-home-webshortcut

hildon-control-panel

https://stage.maemo.org/svn/maemo/projects/haf/branches/hildon-control-panel/refactoring

clipboard-manager

maemo-launcher

hildon-initscripts

osso-af-startup

hildon-help

mce-dummy

osso-af-settings

osso-af-utils

osso-app-killer

posix-locales

gazpacho-hildon

hail

The following packages are obsolete:

hildon-base-lib: file monitoring provided by gnomevfs / inotify
hildon-lgpl: replaced by hildon-1
hildon-libs: replaced by hildon-1
hildon-theme-layout-2: replaced by hildon-theme-layout-4
hildon-theme-layout-3: replaced by hildon-theme-layout-4
libglade-hildon: outdated
libosso-common-error: not so useful in the end, not used
libosso-help: replaced by hildon-help
libossomime: replaced by libhildonmime
maemo-af-desktop: replaced by hildon-desktop
osso-gnomevfs-extra: replaced by gnomevfs-obex
osso-thumbnail: replaced by hildon-thumbnail
"

Diagram of hildon-desktop classes

hildon-desktop consists of:

Here is a UML diagram of the organization (names of classes as of June 28th, 2007)

Outstanding Issues

BoF agenda and discussion


CategorySpec

MobileAndEmbedded/AppFramework (last edited 2008-08-06 16:30:32 by localhost)