Open development/Maemo roadmap/Fremantle

(Fremantle timeline: pre-alpha 2 release)
(Fremantle timeline)
Line 8: Line 8:
* 2008-09-19: More announcements in the [[Maemo Summit 2008]] - Summary: What can we get out of Fremantle ([http://www.slideshare.net/silpol/maemo-community-fremantle-support-september-2008-presentation slides]) ([http://www.vimeo.com/1853196?pg=embed&sec=1853196 video]), by Peter Schneider (Maemo SW head of product marketing)
* 2008-09-19: More announcements in the [[Maemo Summit 2008]] - Summary: What can we get out of Fremantle ([http://www.slideshare.net/silpol/maemo-community-fremantle-support-september-2008-presentation slides]) ([http://www.vimeo.com/1853196?pg=embed&sec=1853196 video]), by Peter Schneider (Maemo SW head of product marketing)
* 2008-12-08: [http://maemo.org/news/announcements/first_maemo_5_sdk_release_targeting_platform_developers/ First pre-alpha SDK] and first report on API changes. Suitable for platform development only.
* 2008-12-08: [http://maemo.org/news/announcements/first_maemo_5_sdk_release_targeting_platform_developers/ First pre-alpha SDK] and first report on API changes. Suitable for platform development only.
-
* 2009-01-29 Second pre-alpha SDK with Media Application Framework and more new platform components.
+
* 2009-01-29: Second pre-alpha SDK with Media Application Framework and more new platform components.
Expected:
Expected:

Revision as of 11:07, 29 January 2009

Fremantle is the codename of the Maemo 5 release. It comes after Maemo 4.1 (Diablo) and before Harmattan.

Contents

Fremantle timeline

This is a timeline based on known events and announcements. Many dates are quite flexible at this point.

  • 2008-06-01: "Fremantle" codename announced in LinuxTag 2008. See maemo LinuxTag update.
  • 2008-09-17: First annoucements in OSiM World: OSiM News: What's up with Maemo? (Ari Jaaksi, Head of Maemo Software @ Nokia) & Get ready for 2009!OSiM World 2008 (Erkko Anttila, Maemo SW Fremantle product manager, and Quim Gil, Maemo SW open source advocate).
  • 2008-09-19: More announcements in the Maemo Summit 2008 - Summary: What can we get out of Fremantle (slides) (video), by Peter Schneider (Maemo SW head of product marketing)
  • 2008-12-08: First pre-alpha SDK and first report on API changes. Suitable for platform development only.
  • 2009-01-29: Second pre-alpha SDK with Media Application Framework and more new platform components.

Expected:

  • Plan for a presentation in FOSDEM FOSDEM about Fremantle running in the BeagleBoard.
  • Plan for a mature alpha SDK with new Hildon application framework and API freeze available around February 2009.
  • Bossa conference in March. Maemo activities tbd.
  • Beta SDK released between March-May, ready for application development including support for Mozilla based browser and Greasemonkey add-ons.
  • Qt 4.4 "garage" support and Theme Maker by Urho Konttori planned to be ready by the beta SDK release.
  • Final release when ready.  :)

New

  • OMAP3 support
  • HSPA/3G support
  • High definition camera support
  • OpenGL ES
  • Clutter
  • Meta Tracker
  • PulseAudio
  • GUPnP
  • OHM
  • upstart
  • A2DP & AVRCP support
  • OpenMAX

Changes

Toolkit

  • New and updated Hildon/Gtk widgets.
  • Gtk 2.0 library upgraded to version 2.12
  • Glib upgraded to 2.16
  • Pango upgraded to 1.20
  • Cairo upgraded to 1.6.4
  • gcc upgraded to 4.2

UI Framework

Fremantle introduces a new UI framework which uses Clutter OpenGL library. It provides the following functionality:

  • Window manager
  • Task Launcher
  • Task switcher
  • Home view
  • Status menu and status area
  • New Hildon notification API for handling desktop notifications.

Media Application Framework

A new framework that provides high-level components to developers to ease the task of writing media player applications by abstracting them from the details of low-level components. Thus, it allows them to focus on the UI design and development. The framework also eases the development of 3rd party plugins, similar to GStreamer, but on a higher level.

Data management

Tracker introduced to replace libmetalayer.

Connectivity

BlueZ

BlueZ updated to version 4.x. Brings along a major redesign of the D-Bus API and local bluetooth service framework. The main benefit of this change is decreased code complexity both on the BlueZ and the application side due to a much simpler API.

osso-gwconnect

Removed since identical functionality has been a part of Bluez core since Chinook.

Samba

Samba support to be dropped.

ClinkC

ClinkC deprecated in favour of GUPnP. The following main advantages have been identified to support this transition:

  • Designed specifically for Maemo.
  • Much simpler design/api compared to ClinkC or any other UPnP library.
  • Uses glib's main loop for waiting on sockets rather than launching several threads that adds lots of unneeded complexity and therefore introduces lots of hard-to-kill bugs.

Location framework

Changes tbd.

Multimedia

  • Gstreamer OpenMax wrapper on freedesktop.org.
  • New GStreamer plugin introduced that wraps openmax-il components under the gstreamer API.
  • OpenMax plugins for all the codecs.
  • No DSP sink and sources anymore.
  • esound replaced by libcanberra.
  • Speex introduced.
  • GUPnP introduced.

System SW

  • initfs isn't used anymore
  • Device startup handled by Upstart instead of sysvinit. Location and format of init scripts differ.
  • OHM introduced as a policy framework mainly for audio in addition to dsme and mce components, which are responsible for device state and mode control.
  • Profile API : A new client library (libprofile) and daemon (profiled) introduced for accessing profile settings.
  • Alarm API's updated: The number and functionality of API interface functions remains roughly the same as before. The usage (parameters passed) and underlying transfer protocol (dbus messages) are changed substantially.
  • BusyBox updated to 1.10.2 (or newer?).

SDK

  • GCC updated to 4.x. Stricter checks for C and C++ code.

RTCom

  • Farsight API break: Farsight upgraded/re-written to farsight2.
  • Telepathy: libtelepathy outdated. Use telepathy-glib instead.
  • Evolution-data-server dropped.
  • libgalago and galago-daemon dropped.

Window manager

Window manager upgraded to matchbox-window-manager-2


Enhancement requests implemented

ProductComponentIDSummary
XournalUI12279No more adding when reaching Last page

Bugs fixed

ProductComponentIDSummary (3 tasks)
PyMaemoGeneral4782osso.Context causes segmentation fault
XournalUI5965ruled line toggle state gets confused
XournalUI12058When the device is lying on a flat surface, the McE may wrongly report the device is rotated.