Open development/Maemo roadmap/Fremantle
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
- 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
Product | Component | ID | Summary |
---|---|---|---|
Xournal | UI | 12279 | No more adding when reaching Last page |
Bugs fixed
Product | Component | ID | Summary (3 tasks) ⇒ |
---|---|---|---|
PyMaemo | General | 4782 | osso.Context causes segmentation fault |
Xournal | UI | 5965 | ruled line toggle state gets confused |
Xournal | UI | 12058 | When the device is lying on a flat surface, the McE may wrongly report the device is rotated. |