Analytics

Tuesday, August 26, 2008

Acid3, make QtWebKit catch up

qtwebkit-acid3


The Mac, Windows and Gtk+ port get 100/100 and pixel perfection for the acid3 test for quite a while but the Qt port was stuck somewhere else. How can this happen? For QtWebKit we decided to use as much of Qt as possible. So instead of relying on ICU we used the Qt Unicode support, instead of relying on libxml2 we used the QXmlStreamReader, instead of doing font matching and font/glyph caching we solely rely on QFont and QTextLayout to do the job. One had to apply some minor fixes to the Qt version of classes such as XMLTokenizer or TextCodec, or integrate SVGFonts into the Qt port as well...

What is next? We will have to get the rendering to be pixel perfect as well and then can merge the changes chunk by chunk. I'm going to sleep now, enjoy the screenshot.

Saturday, August 23, 2008

Driving a car to Eindhoven

What an exhausting day. It started nicely with watching "A hitchhiker guide to galaxy" and finally "Brazil" (I wonder how the two Central Services employees map to our admins and if they will have the same faith...). Then a short nap was taken, some breakfast and the journey began.


The mission was to drive a 1984 mexico beetle, with none working flash lights and probably non charging battery, from Berlin to Eindhoven. Surprisingly nothing went wrong with the car, the engine started after each stop, due the heavy rain we managed to miss an exit and took a roundtrip over Arnhem. It was a pleasant drive and it is fun to drive old cars... now back to hacking.

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 o-hand.com 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 freedesktop.org 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

z.