Nine years of embedded Linux

Nine years ago I bought Sharp Zaurus SL-5500 as my first Linux PDA. And due to this I am where I am.

I could say that it started two years earlier when I saw PalmOS devices at local geek meetings. But it took me over year before Palm m105… Then was Sony Clie SJ30 — gorgeous device. High resolution, memory card, 16bit colour. Too bad that applications did not make use of it.

So I went for Linux. There were two options: Zaurus or iPaq. Went for former one as it had keyboard. It was good choice.

Quickly started development of packages and joined OpenEmbedded team. Then became one of OpenZaurus developers. After year or something took over release maintenance and released few last versions. 3.5.4(.1) were the best tested releases of OZ ever — I had over hundred testers for each RC image and they provided installation reports, bug reports and fixes. And it had unified installer for whole range of devices (took me several months to get it polished and few guys added own tweaks). When ร…ngstrรถm distribution started I was the one who officially ended OpenZaurus development.

And all that was in free time. But in mean time I created my consulting company. CELF was my first customer ๐Ÿ˜‰

One nice evening I got question on irc and due to that I left dark side of IT and went from PHP programming to embedded Linux full-time. OpenedHand had interesting projects and clients with many devices. Imagine operating system + kernel + Python + GStreamer in 16 megabytes of flash… And I managed to get it done. While working for them I used proper developer boards (not only customer devices) and there were funny moments…

When we worked with ST Microelectronics on NDK-15 (later replaced by NHK-15 from ST Ericsson) I had to merge two kernel trees from two separate teams. Took me 2 days of mangling 20-30MB diffs but got it done. There are people at ST-E which reminded me this during one of Linaro Connects ;D

Also on GUADEC 2007 when we presented new interface for Openmoko phones NDK-15 had to wait for me as no one at stand was able to get it running (U-Boot config needed changes).

But then Intel acquired OpenedHand… The craziest trip of my life was return from London to my parents place. For three months I even had email but never used it due to problems with Intel corporate network and Linux (do not ask).

Next was Bug Labs and their BUG device. I cleaned their Poky trees, migrated to latest version and later to use OpenEmbedded directly. Less challenges but I also had few other customers at that time to keep me busy. Some of them were OH customers before and went to me for help.

Time passed, 2010 came. One day Canonical made another attempt to seduce me and this time I decided that it looks like good opportunity so I accepted. Sent BUG 2.0 prototype back to NYC and few weeks later I made crazy train trip to small nowhere near Brussels to meet my new coworkers from NewCore. 1-2 weeks later we got our current name: Linaro.

Total change… From embedded devices to ‘Yes, it is ARM. So what?’ kind as we support(ed) devices powerful enough to run normal desktop software. Many changes for me — from OpenEmbedded where you can (cross) build everything in few hours to Ubuntu packaging where sending package for inclusion into archive meant few hours of buildd queue and then few of build. But I learnt a lot here and met another set of hackers including grey beards ones ๐Ÿ˜‰

And all that because I bought Sharp Zaurus SL-5500 nine years ago…

Defining good Contacts application

What defines good Contacts application? Some will say that it depends on device which runs it, but I think that it is not true.

I am using Nokia E66 phone. It is running Symbian S60 3rd Edition FP1 (what ever it means). As a phone it has phone book called “Contacts”. Simple application which allows to have unlimited amount of entries with quite big set of possible fields. But phone also has GPS unit and is able to connect to Internet via WiFi, Bluetooth and GSM. Why I mention it? Because default address book ignore those elements…

So what should good Contacts application do? Except standard fields like phone numbers, SIP “numbers”, email addresses, web addresses, home/work addresses, birthdays, anniversaries, pictures, notes… I think that things like GPS coordinates for each address would be nice — add “Drive/Walk to” functionality and you get phone which can really be named “Navigator” (IIRC there was PalmOS powered PDA with that function).

Next thing which would be nice (especially with flat rate for GPRS) would be integration of IM communicator. Why I have to launch separate application to check who from my friends is available on Jabber, Skype, ICQ, GaduGadu, AIM, MSN etc. Why not have device auto login into those networks to check who from entries in address book is available to chat/talk with. And then let me choose do I want to make GSM call or Skype, SIP or other VoIP call. This will also remove situation which is present in most multi-protocol communicators: few entries for one person just because it use 7 accounts on 5 protocols. And let integrate all chats in one application with SMS/MMS stuff — this is done on Palm Pre according to their promotion videos.

And all those things should sync with external servers of course. So if I have Facebook account then let it fetch my connections from there and merge into address book — this is done on Palm Pre already. But let it be also second way (if user choose to) — so phone will check who from my contacts have a Facebook account and send join request.

Next thing: groups… Symbian has groups support and this is working, user can even define conferences numbers for groups and few other things. Next step should be linking contacts — you know: wife, kids, secretary, co-worker who do your job when you are on vacations… PalmOS Agendus had something like that, Symbian has only imitation (it is possible to enter person name but thats all).

Will there be such application? Maybe one day…

Choosing next cellphone

Nearly two years passed since I started to use my current cellphone: Sony Ericsson k750i. It is great device but I feel more and more limited during using it. For example PIM is very simple (no recurrent events, no attenders) and none of my PDA devices has something more extended.

PIM — Agendus

Few years ago when I had PalmOS powered Sony Clie SJ30 I used Agendus application for PIM. Recently I checked newest version in Garnet VM emulator on my Nokia N810 tablet. It is really great and complex application. There is a support for event attenders, contacts linking, contacts history (tasks, calls, meetings) and lot more. Interesting feature is support for “Trip” events — I tested it with my GUADEC 2008 trip. I was able to add timeline for whole conference, bus trips from Szczecin to Berlin Tegel airport (and back) + plane flights and all of that linked as one trip with all components available in calendar, agenda etc…

Yesterday I installed Windows Mobile emulator and checked Agendus for that platform. It lacks some features from PalmOS version (trips are one of them) but is much better then default WM PIM. I do not plan to check BlackBerry or Symbian versions because they are not on a list of systems which I want to use.

Which system to choose?

So the problem now is which cellphone system to choose… I do not want Symbian because most of devices lack touchscreen (iirc only UIQ ones have it), BlackBerry is totally unknown for me and I also do not want to use totally closed phones like I did in last few years. PalmOS is trying to not die but nothing new was done on this platform in last few years so it is also not for me. Looks like the only choice is going to Windows Mobile cellphones.

Possible devices

Which one to choose? Most of devices use QVGA screens which is a very limiting resolution. After searching on web and discussing with few friends I have a few devices to check — Toshiba G900 (WVGA, new ~480EUR, used ~300EUR, hardware keyboard, no gps) or something from ETEN Glofiish devices with VGA screen (X650, X800, M800, M810). HTC has only Touch Diamond with VGA screen but it is too expensive.

Why not Linux phone?

Because there is nothing interesting now ๐Ÿ™ Openmoko guys moved from GTK+ to mix of E17 and Qtopia and when I saw result during LinuxTag 2008 it was nothing impressive. To add more confusion there are at least 4 different environments for Openmoko in development (GTK+ based OM2007.2, Qtopia on framebuffer, E17 + Qtopia on X11 and something called “Openmoko underground”). Also formfactor of GTA01/02 is not something I would call “nice” — have a look at any device manufactured by HTC…

And I did not yet saw Linux mobile platform with good PIM… Maemo lack it totally — even GPE contacts/calendar are hard to use due to lack of alarms functionality, Openmoko does not decided yet which PIM they want to support (not that there is something on a horizon)… So sorry guys but I will not buy Linux phone soon.