Towards the end of 2009

I just came back from the annual OpenEmbedded Developer Meeting (OEDEM) which happened to be in Cambridge, UK. It was a very productive meeting and we agreed on some important things to move OpenEmbedded forward as a whole. Please see the mailing lists for meeting minutes and summaries. We also elected a new board for the e.V. and despite the grief that led to me leaving the OE core team (which subsequently lead to the dissolving of it), I have volunteered (and been reelected) to serve a 2nd year as board member.

As written in a previous installment of this column, I have dedicated the lion’s share of 2009 to the reimplementation of the freesmartphone.org APIs in Vala. Please see the wiki for architectural details, as I don’t want to repeat this here. This is an overview of the current status:

fsousaged

fsousaged has been fully completed and is being used for quite a while now in distributions. All of the plugins are working:

  • dbus_service: Implementation of resource handling as per org.freesmartphone.Usage.
  • lowlevel_kernel26: Low level suspend/resume handling for Linux 2.6.
  • lowlevel_openmoko: Low level suspend/resume handling for Openmoko Smartphones GTA01/GTA02.

fsodeviced

fsodeviced has been fully completed, but is not yet being used in any distributions. All of the plugins are working:

  • accelerometer: generic accelerometer handling, needs one of the device-specific accelerometer plugins.
  • accelerometer_lis302: lis 302 accelerometer support.
  • alsa_audio: alsa audio PCM output and routing (scenario) support.
  • kernel_idle: system idle notifications.
  • kernel_input: system input handling.
  • kernel_info: kernel information.
  • kernel26_display: display class-device based brightness control.
  • kernel26_rtc: realtime clock, wakeup alarm.
  • kernel26_leds: LED class-device based brightness control.
  • kernel26_powersupply: peripheral power supply control.
  • openmoko_powercontrol: device-specific power supply controls for Openmoko devices.
  • thinkpad_powercontrol: device-specific power supply controls for IBM Thinkpad devices.

fsotimed

fsotimed is about half-way complete compared to frameworkd. The working plugin is:

  • alarm: DBus alarm service as per org.freesmartphone.Time.Alarm.

fsonetworkd

fsonetwork is done with the same level of functionality as in frameworkd. The working plugin is:

  • sharing: internet connection sharing.

fsogsmd

fsogsmd has been on hold since end of April due to waiting for more Vala language features. When they finally appeared in September, I picked up where I left and furiosly worked on what i perceive as the prime subsystem of FSO :)

The basic infrastructure is more or less complete now and we cover about 50% of the DBus API as per org.freesmartphone.GSM.*, i.e. device info, sim access, network registration, sms, and call handling is working. All work has been done in a generic way, i.e. without taking any care of modem specifics yet — which is what will be my next task before I go on covering the missing API.

fsogpsd

I have added a skeleton of that to the repository and adapted some lower-level classes in libfsotransport to work both for fsogsmd and fsogpsd. I would have done more work, but I’m not keen on implementing the Gypsy API, since I think it’s not a particular good DBus API

fsopreferencesd / fsopimd / fsoeventsd

All these have not been started, not even been thinking much about ‘em. fsopreferencesd will probably have to wait until dconf / gvariant / gsettings have finally landed in glib. fsopimd is waiting for a redesign of the opimd API. fsoeventsd needs a new architecture, but I have to discuss this with the others before we can start cranking.

2010

will be a very interesting year for Linux on mobile devices, even more so for freesmartphone.org. Due to the lack of someone funding FSO, I will probably not find much time to work on FSO in 2010 — that’s why I’m so furiously working on getting most of it to a state where others can jump in before the end of this year.

Apart from that, I hope we can get FSOSHRCON’10 happening very early in 2010 and uplevel kernel support for some of the more interesting semi-open devices such as the Palm Pre, Nokia N900, and the HTC family. FSO would be more than happy to add device-specific support for this hardware once the kernel is up to par.

Cheers!

Module Player

After bringing the Sid Player (and its siblings Pro and Lite) into the AppStore, we just delivered a new production, the Module Player (and its sibling Lite). The market-situation will be quite different this time, as there are already two other Module Players. We believe we have the highest quality play routine though and a proven user interface. 70000 mods at your fingertips! See the video for a short demo:

GSM Palm Pre on the horizon

As mentioned, the freesmartphone.org team and community has taken the challenge to put the FSO stack on the Palm Pre which is out next month. The goal is to manage a voice call with the FSO stack within four weeks.

The idea behind this is a very important one. With only the Openmoko FreeRunner as a platform, the FSO stack is doomed into oblivion sooner or later, since its a very limited hardware platform — in quantity, but considering the closed alternatives also in quality. Hence, we need to proof that FSO can run on current, competitive hardware — to embrace companies that want to adopt FSO in their niche.

The Palm Pre is currently our major hope — all other hardware being either too closed (yes, this includes the Nokia N900) or already outdated.

Too much broken hardware

Let me announce the 3rd piece of broken hardware in 3 months. This is definitely too much :( First my Dreambox 7025, then a Denon AV receiver, and now my Linux workstation decided to die. It looks like (hopefully) just the PSU is to blame though — doesn’t react to incoming power any more.

As if I had time for such things *sigh* …

Update: It looks like there was a power surge during a thunderstorm. My Dreambox and AppleTV halted as well… aaargh

Update 2: A new PSU brings the workstation back to live *phew*. Dreambox and AppleTV did not have permanent damages either.

FSO founds BGB company

We just released the following statement to various mailing lists:

Braunschweig, Germany, 2009-07-29. For immediate release.

The freesmartphone.org core-team founds a BGB company to facilitate the further development of free and open source middleware for Linux-based mobile systems: “Lauer, Lübbe, Schmidt, Willmann, freesmartphone.org GbR”.

The core-team members of the freesmartphone.org project today announced the founding of a legal entity offering consulting, training, and implementation services around the freesmartphone.org middleware platform, also known as FSO.

“We now have a single point of contact for both commercial and non-commercial parties who want to use our services to create compelling solutions. This is of interest for groups or individuals creating new devices or freeing existing devices (”anti-vendor-ports”) and who decided to incorporate the FSO middleware”, says Dr. Michael Lauer, founder of the FSO project. “If you care about the further development of this platform or if you need guidance for tailoring or customizing the FSO middleware, contact us via E-Mail at coreteam@freesmartphone.org”.

With todays’ smartphones evolving into ubiquituous companions, a gap has emerged between widely used FOSS components like the Linux kernel and core system libraries on one side, and end-user applications on the other side. The lack of a complete free mobile software stack hinders innovation and leads to reinventing proprietary solutions for services middleware.

FSO’s mission is to close this gap by designing and developing solid middleware for mobile systems in an open fashion; this refers to not only publishing source code under open source licenses, but also to sharing the whole design and development process with the community and giving both commercial and non-commercial entities a way to co-drive and steer the process.

Built on top of the Linux kernel, FSO implements high level services for mobile application development, accessible via the DBus interprocess communication standard. Leveraging the FSO APIs allows the developer to concentrate on solving application domain problems, such as business logic and presentation of data, without having to worry about the device specifics and low level details, such as how to access resources, telephony, location awareness, data storage, etc.

About freesmartphone.org: Previously funded by Openmoko Inc, freesmartphone.org is a collaboration platform for open source and open discussion software projects working on interoperability and shared technology for Linux-based smartphones. freesmartphone.org operates on the services layer (middleware) and offers APIs and reference implementations that support modern interconnected mobile devices. To provide reference solutions, freesmartphone.org works closely together with various device-specific communities such as the Openmoko, OpenEZX, and HTC-Linux groups. The FSO team honours and bases on specifications and software created by the freedesktop.org community.

This means you can hire us (or donate money), if you want to support the FSO middleware development.

Dreambox 8000

After the sudden death of my Dreambox 7025, the new OE-based device in the living room is a Dreambox 8000 — simply the best set top box money can buy these days. Yes, it’s quite expensive, but the hardware is fully loaded (heck, there’s even WiFi) and the freedom to install what you want is invaluable.

Openmoko Workshop in Munich

I’ll be present at the first Openmoko Workshop in Munich, gracefully organized by Dr. N. Schaller (Goldelico) hosted at the University of applied science in Munich. Topics will be developer-oriented, but beginners are also invited. There are only few seats left, so please contact Dr. Schaller via the freeyourphone.de forum, if you want to be on board.

I’ll be talking mainly about freesmartphone.org — the beginning (2002-2008, from handhelds.org to openmoko.org), the present (2009, how to program with FSO), the future (2010-, what the Vala rewrite will bring and how we get FSO to more hardware).

This is just a loose gathering to get started. If there is sufficient interest, we will consider turning this into a more formal (professional) training course in the future. Hope to see you there!

LinuxTag 2009

I’m on my way to LinuxTag 2009. Instead of a “real booth” like last year, we settled on a developer table in the hacking area — there we can present our Linux on mobile projects such as

in a more relaxed way — giving room to dive into some technical issues, when interested folks come around.

Find me there, if you’re interested in any of the aforementioned projects. I’ll be there until Friday afternoon.

Sid Player 1.2.49

We have just submitted Sid Player 1.2.49 to Apple. Highlights of changes in this revision include:

  • Author Tab: In offline mode, only show authors for which songs are available,
  • Underrun Detection: Relax threshold a bit, add setting to turn it off completely (for you jailbreakers…),
  • Settings Tab: Enable switching between multiple SID models,
  • Files Database: Files are no longer stored on your filesystem, but in a database. This fixes the incredibly annoying iTunes synchronization times. NOTE that we had to wipe all your data during the upgrade to make this happen.

and finally the first step towards the #1 wanted feature…

  • Added four playlists: “Favorites”, “My Top 50 Played”, “Random 100″, “HVSC Top 100″.
  • Enable reordering all playlists and adding/removing songs from/to the “Favorites” list directly from the Player screen.

Although we wanted to ship more smaller updates, this one has become a major update and took us a while. I hope it gets past the review pretty fast, so you can enjoy our latest work!

NB: The newest iPhone 3G[S] excited us a lot, especially since we already max out CPU power on the current models. We’re looking forward to enabling stereo and to add some nice post processing effects in a special Sid Player version once this model is out. Stay tuned!

NB2: Yes, we know that the HVSC team has released v50, however they have substituted a lot of PSID versions with RSID versions, which — although they might sound better — do no longer play given the limited CPU power of the iPhone and iPod Touch. I’m sorry, but until faster models appear, we can not ship the updated SIDs…

I’m in love

10 years of sound modelling research have just been unleashed:

Roland V-Piano -- No Samples Inside!

Roland V-Piano. No Samples Inside!