Friday, August 08, 2008

Releasing Software to the wild

So what should one do on 08.08.08? Get married? Get divorced? Or the thousands of things in between? Openmoko picked this day to release the 2008.8 software update (code named A(pril|ugust)SU) and I will travel to Mechelen to catch up with some friends from foreign countries.

Let us take a small look at the release. Doing this in the Good, the Bad and the Ugly (Queen) style. But keep in mind Bad and Ugly are only there to be fixed, so this part is actually there to keep good engineers happy and focus on constantly improving by turning the Ugly into Good for the next release...

The Good
During the last six month I have added features and fixed bugs in our bootloader, kernel, xserver, enlightenment, distro and tried to punch the Qtopia parts we use into shape (Qtopia gave me so much wonderful real world examples for our Software Engineering class at the FU Berlin... *lovely*). So I'm really happy as all of these things I have created during that time are under Free Software licenses from day one! I'm also glad to have worked on all these different areas. It is fun to start in an application bug, go down to the kernel, hardware and back to user space.

Erin, Matt, Olv, Jeremy, John, Julian, Tick of Openmoko wrote code that is shipping in the Om2008.8. So this is the first release where our taiwanese friends at Openmoko started projects or contributed to projects that are used to power our hardware. John is an upstream OE contributor, Matt is our local kernel guy and Linux contributor, Tick is maintaining opkg (that helped to create) and is also maintaining the packagekit backend for opkg. We are slowly breeding Free Software contributors, explaining them the need of asbestos underwear. I'm totally excited as this is just the beginning.

We have started to focus on making our phone usable. This means we will integrate working solutions where they are available, we will improve them where possible, we will create new solutions were required. So we have picked connman and patched it, we have started FSO because there is nothing else.

We have worked towards the goal to make our hardware usable as primary phone. We have established our wonderful QA unit that systematically tests our software, PM and QA sit together and talk about the issues, the state, the way to go, sometimes the QA room is even crowded with engineers trying to pinpoint the issue. A wonderful improvement over what was there before.

Our kernel, u-boot, X is a lot more stable, suspend/resume can be almost trusted (well I know how to kill it...). We started to work on performance glamo waitstates, hardware ECC...

We have a support list and a workflow how to provide upgrades to our users

I use it as my primary phone and work hard for the day that my mom can use it just as she is using kubuntu today.

The Bad (keep in mind this can be changed and will be changed)
I had difficulties following the WebKit development and more difficulties reviewing and writing patches. So the next weeks I will wait for the ASU bugs to queue and focus on reviewing patches, SVG and acid3 for QtWebKit.

There are many reasons why not to use the Freerunner and our software update as primary phone. Our wifi driver has issues, our kernel has issues, Qtopia still has fundamental issues, our modem is giving us a hard time, the battery lifetime could be a lot better, the boot time is incredible long.

We should focus on delivering a good polished product. Currently the bootloader is initializing our graphic chip, the kernel resets, we see a white screen for awhile, init shows an init screen, black as X is starting, e is starting an init screen. So the bootloader, kernel, system level, X, WM guy need to sit together and make that smooth, no mode switching, sane handover...Software and Hardware people will have to work together, hand in hand. Stop thinking of boundaries, approach the people you depend on, also approach the people that depend on your work. Be a universal person and don't be afraid to touch the kernel, it is just a C program anyway. But then again I have high confidence that this will happen.

I love the peopleware book and recommend it to everyone. It is an absolutely must read. Too many of our engineers worked overtime during the creation of this product. We will have to force people to leave the office early.

We have to get our stuff upstream. We have cool u-boot patches, we have s3c244x linux patches, we have kdrive/x patches, we have some OE patches, we have stuff to propose to for virtual keyboard handling. In the future we should try harder to get our stuff upstream from day one. We should have the resources after the release to do so. It is something that we have to do now.

The Ugly
Oh well, QA asked us to not release due the stability issues they see during their heavy testing. We do not meet the quality standards our QA team has for an ordinary phone (the good thing about hiring someone that didn't know Linux and Free Software). On the other hand they didn't see the OM2007.2 factory image. I think OM2008.8 enables a Freerunner to be used in friendly user trials, maybe OM2008.8.1 will make QA more happy. Until then we will release ealry and release often.

I hope you enjoy the upcoming release, I do, happy hacking



Léo Studer said...

Looking forward to trying this new release, but I can't find any download link towards the images on

JohnFlux said...

It seems that mode switching is being moved out of X and into the kernel. This will drastically help with the boot up flickering that you mentioned. However it needs to be fixed for every Xorg graphics driver, which won't happen any time soon since there's several proprietary drivers

Vasili Sviridov said...

Great news, can't wait to get home and reflash my 'runner.

The thing that it lacks now, the same thing that attracts people to gadgets - smoothness... iPhone, as much as I don't like it as a platform, has lots of it. Even moko's on-screen keyboard is super annoying. It jumps out on me, stuff on screen starts to shift around, scrollbars appear, several minor, abrupt, annoying flickers...
Polishing that should also be in the roadmap... said...

Hi, looks like qpe is spinning eating as much CPU as it can, which makes the whole phone unusably slow. Any idea what's up with that? Killing qpe and starting it again seemed to help at first..

Vasili Sviridov said...

Flashed it an hour ago...
First impressions - looks quite slick, though still quite slow...
New keyboard is unusable. No backspace, for crying out loud... No 'Enter' key. Autocomplete is kinda cool, but totally unpredictable. System froze twice, to the such point of non-responsiveness, that i had to pull the battery out :(

WiFi interface doesn't work
Package name font in installer is so huge, that you can only read "qtopia-phone-x11" most of the time, rest is cut off... Still very raw, up to the point of "unusable" :(

kizza said...

I think you need to be nicer to your QA people! Complaining about bugs is their job :)

bronson said...

Have you seen Red Hat's Plymouth project? It's intended to solve exactly the problem you mention: a flickering, fragmented, ugly, and slow initial boot. Right now it looks very slick but only works with maybe one or two types of graphic card. In a few months, though, I expect it will be pretty hot.

Roland said...
This comment has been removed by a blog administrator.
Anonymous said...
This comment has been removed by a blog administrator.