Open development/Maemo roadmap/Fremantle

(Enhancement requests accepted)
Line 1: Line 1:
-
Information announced about the Fremantle roadmap:
+
== Fremantle timeline ==
 +
This is a timeline based on known events and announcements. Many dates are quite flexible at this point.
 +
 
 +
* "Fremantle" codename announced in LinuxTag 2008.
 +
* First annoucements on [http://flors.wordpress.com/2008/09/19/osim-world-maemo-devsesh-slides/ OSiM World 2008] and Maemo Summit.
 +
* First Alpha SDK, first report on API changes and beginning of weekly releases. Suitable for platform development only. December 2008.
 +
* Mature alpha SDK with application framework and API freeze available around January-February 2009.
 +
* FOSDEM in February. Proposal for a Maemo developer gathering with a set of goals.
 +
* Bossa conference in March. Proposal for a Maemo developer gathering with a set of goals.
 +
* 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 to Maemo:
+
==New==
* OMAP3 support
* OMAP3 support
Line 16: Line 27:
* OpenMAX
* OpenMAX
-
Remarkable updates:
+
== Changes ==
-
* GTK+ 2.12
+
-
* Farsight2
+
-
More explained at http://flors.wordpress.com/2008/09/19/osim-world-maemo-devsesh-slides/ (relevant content needs to be moved here).  
+
===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
-
[http://repository.maemo.org/stable/fremantle/diff-newer.html Initial list of packages planned for the Fremantle SDK alpha].
+
===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.
-
== Timeline ==
+
=== Media Application Framework===
-
This is a timeline based on known events and announcements. Many dates are quite flexible at this point.
+
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===
 +
* OHM introduced as a replacement for 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.
 +
 +
===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
-
* First Alpha SDK, first report on API changes and beginning of weekly releases. Suitable for platform development only. December 2008.
 
-
* Mature alpha SDK with application framework and API freeze available around January-February 2009.
 
-
* FOSDEM in February. Proposal for a Maemo developer gathering with a set of goals.
 
-
* Bossa conference in March. Proposal for a Maemo developer gathering with a set of goals.
 
-
* 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.  :)
 
== Enhancement requests implemented ==
== Enhancement requests implemented ==

Revision as of 11:49, 8 December 2008

Contents

Fremantle timeline

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

  • "Fremantle" codename announced in LinuxTag 2008.
  • First annoucements on OSiM World 2008 and Maemo Summit.
  • First Alpha SDK, first report on API changes and beginning of weekly releases. Suitable for platform development only. December 2008.
  • Mature alpha SDK with application framework and API freeze available around January-February 2009.
  • FOSDEM in February. Proposal for a Maemo developer gathering with a set of goals.
  • Bossa conference in March. Proposal for a Maemo developer gathering with a set of goals.
  • 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

  • OHM introduced as a replacement for 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.

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
XournalUI12058When the device is lying on a flat surface, the McE may wrongly report the device is rotated.
XournalUI5965ruled line toggle state gets confused