::: {.img-shadow}
{width="200"}
:::
The second annual OpenEmbedded DEvelopers Meeting took place in Berlin from the 6th to the 10th of October 2007. Due to the slight overlap with my vacation in Portugal, I couldn't attend the coding sprints on 6th and 7th, however I could make it to the technical discussion days on 8th and 9th. On 9th, the generous folks from Tarent sponsored our dinner for which I'd like to say a big "Thanks, folks!!!"
This time we not only had the core developer team on board, but also key people from the various communities and interest groups, i.e. Stelios from Digital Opsis, Robert from Tarent, Graeme and me from OpenMoko, Florian from Kernel Concepts, Uli from ROAD, Philip for the Gumstix community, and more.
I'm not going to repeat all of the discussions we made (that's what we have the meeting minutes for), however this is the executive summary from my point of view:
::: {align="left"} OpenEmbedded has four major issues that prevent even more wide spread acceptance. In a nutshell, it boils down to :::
::: {align="left"}
::: {align="left"} We sat together to come up with a plan of action to fix most of these issues. Briefly: :::
::: {align="left"}
Once again, the issue of creating a registered non-commercial non-profit foundation was discussed. And this time, we finally agreed on the legal form and the statutes. We will create a german e.V. (eingetragener Verein) and the statutes will be based on the statutes of the KDE e.V.. The actual founding work will take place at FOSDEM'08 in February.
::: {.img-shadow}
{width="200"}
:::
Just returned to Frankfurt after visiting the OpenExpo 2007 in Zurich/Oerlikon. Benjamin 'C7' Hagen organized a small but fine OpenMoko booth (next our friendly GNOME colleagues) and we had two very good days with lots of interested people stopping by. My talk on Thursday also attracted quite some people (as you can see in the photo). To silence all the "it's cool, but doesn't work as a phone" nay-sayers, I demonstrated a phone call during the talk :D
::: {.img-shadow}
{width="200"}
:::
On to some bad news... Benjamin got his backpack stolen, including a Laptop and his Neo 1973... *sigh* I will make sure he gets one from the next batch of GTA01.
OpenExpo was very organized and agile. Although it's just the little brother of the Topsoft business fair -- which occupied four times the space -- I dare to say, it looked as most of the visitors (me included) found OpenExpo much more exciting than Topsoft ;-)
Leaving to Portugal tomorrow for a two weeks vacation -- after that, I'm going to visit the 2nd annual OpenEmbedded developers conference in Berlin. Then back to Taipei for a bit.
So Trolltech recently ported the Qtopia application suite to the Neo. Right after the release, the community almost immediately started to join one of three camps -- two being huge, one being small. The first camp is the ultra-pro's: They embrace Qtopia and demand OpenMoko Inc. to halt all efforts working towards a non-Qt/Embedded-based platform immediately. The second camp is the ultra-con's: They are afraid of C++, have not forgotten the less-than-optimal community relationship during the last five years, or claim Trolltech stealing attention from the "sole real free way to write software" in order to facilitate their "dubiously dual licensed" stack. More modest people join the third camp, the pragmatist's: They realize that Trolltech has a four year's advantage with their stack and that this is the very reason for it to be more polished, more complete, and more usable compared to what OpenMoko can offer right now.
If there's one thing we learned from the GNOME vs. KDE war, then that the overall benefits of the competition (inspiration, innovation, ...) outweigh the disadvantages (duplicated work, reinvented wheels, ...). We also learned that there are ways to collaborate -- see for example all the great work that happens around the freedesktop.org standards, among them Dbus, which Qt recently accepted as the new standard Unix way to do high-level interprocess communication (IPC). I see Dbus being an important technique for the future of the (mobile) Unix ecosystem. It is what I would call the [collaboration enabler]{style="font-style: italic"}. Below this dbus line, we can collaborate, above this line we can compete. Once we have agreed about interfaces to all the low-level services we offer (telephony, networking, device control, user preferences, PIM database, you name it...), we can call these dbus interfaces from whatever language or toolkit we can imagine. This is my idea of freedom.
Along this line, I sincerely welcome Trolltech's initiative. To be honest, it didn't came as a surprise to me anyways, since all the major free software players kind of stay in loose contact -- after all many of us know each other personally since lots of years and while we not necessarily agree about the technical way to move forward, we all share the vision and work towards open platforms. Having Qtopia on the Neo improves the visibility for Linux-based mobile open hardware (read: more demand for FIC) and this draws more of attention to all of us (read: more demand for mobile open source developers). Which is good.
Then again, not yet everything is bright and shiny. Qtopia still is based on Qt/Embedded which in turn means it relies on exclusive framebuffer access thus preventing other UI-toolkits from running in parallel (yes there is an X-server for Qt/Embedded, but this is a scary indirection). Also, it has its own GSM multiplexer code, hardware device abstraction layer, etc. etc. I would really like to see us collaborating in the lower services infrastructure. Being an optimist, I'm sure this will happen eventually.
The Mobile Developer Days are a new conference aiming to create a platform where developers, network operators, service providers, and mobile manufactures can exchange their ideas and visions in the field of mobile communication. This year was the first shot at what is hoped to be an annual event.
I was invited to give a presentation about the OpenMoko project and the FIC Neo1973 mobile phone. Stefan Schmidt was invited to present the OpenEZX project. Besides performing our talks, Stefan and me installed a kind of an ad-hoc lab in the lobby of the venue at Aalborg University where we worked on OpenMoko (and later OpenEZX), demonstrated the devices, and answered questions for people passing by.
Due to the relatively small scope (~40 participants), it was a very productive gathering focused on direct communication between the participants. We had a pretty good time there and everything was well organized. Since the audience was quite heterogenous, the results of the discussions were quite inspiring. I'm looking forward to the next installation of this conference.
::: {.img-shadow}
{width="200"}
:::
While we were at MDD, we worked on a lot of OpenMoko issues. We went through the bugtracker, applied some patches, fixed bugs, etc. To improve the OpenMoko appeareance on non-VGA devices, I reworked the panel plugins to scale to different panel sizes. The neod now monitors headphone insertion and removal events and adjusts the mixers accordingly. I also started working on a first-usage wizard to make some of the most important preferences accessible. After switching to mrxvt, we no longer get the automatic opening/closing of the keyboard (since mrxvt is no Gtk+ application). To fix this, I did a new openmoko-terminal application wrapping the VteTerminal widget. This should be useful very soon. Last but not least, we also found time to do some testing on the forthcoming GTA02 device...
::: {.img-shadow}
{width="200"}
:::
As promised to the OpenEZX hacker's community, Stefan Schmidt and me took a day off to hack on OpenEZX. It's been a while for both of us and the amount of achieved progress since last year is really cool. Using an OpenMoko root file system, we managed to boot a Motorola A780 via root-over-nfs right into the OpenMoko user interface. OpenMoko simply rocks on the Motorola Ezx Platform, especially the kinetic scrolling is very fluid and intuitive -- even more so than on the Neo1973 GTA01 phone where a slower processor has to take care about 4 times the pixels. Thanks to the new Alsa SoC patch we even heard the A780 playing the OpenMoko startup sound. I added pH5's work on the QVGA adaptions to the OpenMoko theme into SVN and adjusted some missing things in the OpenEmbedded bugtracker. It is our goal to release an OpenEZX preview image before the end of September. The major showstoppers right now are the missing libgsmd integration for the EZX platform. I'll post more pictures or probably rather a video of OpenMoko running on A780 and A1200 soon.
To close with something completely unrelated... it was my first time in Denmark and this country has a lot of merits -- did I mention that I fancy cool blondes? :D
I have seldomly seen a conference that was better organized than this years FrOSCon 2007 in St.Augustin. It was amazing -- a good technical program, interesting booths, nice catering, and a solid venue.
One of the notable chats I had was with some guys from Tarent GmbH -- they're doing Java consultancy and already made some good progress in bringing Java to the Neo1973/openmoko "Robert Schuster's Blog").
By the way, since adding a screenshot utility to OpenMoko, people are uploading their screenshots to scap.linuxtogo.org. Be sure to check it out regularly, it's amazing what people are running on their Neos -- and this is just the beginning :-)
Now that we successfully released the OpenMoko 2007.2 August Snapshot which was quite a huge undertaking since we changed a lot of things at once, we can continue improving the platform gradually and adding more functionality to it. The first batch of devices has been out in the wild for some time, so I'm going to talk about OpenMoko at some conferences and hope to gather some feedback from early adopters. We have a lot more stuff in the pipeline :D
Next weekend, I'm going to be present at the FrOSCon 07 in St.Augustin, Germany and right after that in Aalborg, Denmark for the Mobile Developer Days 07. For the latter, yours truly will travel ~10 hours by train *cough*. Thankfully I have good company -- Stefan Schmidt from OpenMoko and OpenEZX will join me and I'm sure we will see some productive hacking on OpenMoko and OpenEZX.
Due to my overall workload, I have not had a chance to look much after the Python packages in OpenEmbedded. For the OpenMoko distribution, we want to stay neutral against scripting languages, that is, there won't be an official recommendation.
However, my personal take on that should be well known. At the time I'm writing this, I'm working on a major Python upgrade in OpenEmbedded, bringing all Python packages up to date and adding some optimization patches I have been working on.
Unfortunately, this also means I have to deprecate some of the packages which are end-of-life and won't work with Python 2.5 -- notably this involves the Python Qt Bindings for Qt/Embedded 2.x which I have been maintaining for quite some time. I no longer work on Opie though and I am not even sure if there were other people than me using these bindings.
I decided to visit this years Chaos Communication Camp near Berlin for a day or two. The mission is to have a coding sprint there that brings the first OM-2007.2 snapshot image up to par. I expect to meet some OpenMoko and OpenEmbedded guys there, i.e. Zecke, Stefan Schmidt, Alphaone, Shoragan, LaF0rge, Roh, ...
This year's GUADEC was very successful for me. I managed to attend to a lot of talks while still having time to perform several business meetings. OpenMoko Inc. was present in the GMAE meeting and contributed a tiny little bit to the discussions. GUADEC refreshed and renewed my interest and confidence in many GNOME technologies.
My talk about OpenMoko and the Neo1973 was very well received and although I called for flames by stating that GTK+ as the heart technology of GNOME is also its weakest spot, I hardly received any. To the contrary -- other talks and discussions pointed out the same.
The Gnome Mobile Platform is progressing nicely and I'm looking forward to integrating the best libraries and frameworks into OpenMoko.
On to some personal notes... I really enjoyed the 4 days, spending some time with Stefan Schmidt and Daniel Willmann and my OE buddies, however both the Formule1 Hotel and (some of) Birmingham's taxi drivers (not to mention the public transportation system) were quite suboptimal...
So we are finally selling hardware now. This is mainly a good thing, since we show that this device is not just vapourware. However, it is also a dangerous thing, since now people may buy this under false assumptions, being very disappointed because it (more or less) doesn't do anything... To put this very straight:
THIS IS NOT AN END-USER DEVICE!
IT IS NOT (YET) THE IPHONE KILLER WE ALL ARE WAITING FOR!
THIS IS A DEVELOPER RELEASE, NOT A CONSUMER PRODUCT!
It may not even always be a phone -- since thanks to all the distracting hoops and roadblockers we had to jump through, the result is a software that's really not up to par yet -- everything is in an amazingly unsatisfying and rough state and I won't bet on its ability to make or receive calls all of the time.
However, this doesn't prevent it from being a revolutionary device -- it is a canvas that will enable you developers to draw your own ideas upon -- thus shaping the future of mobile communications and being a part of a great community. And it won't be alone, there will be many more canvases to follow.
The really good thing is that not only are we super-committed to making this hardware and software platform a rocking success, but we also got some big guys standing behind us and supporting us. It may take a while for OpenMoko to really get off, but we already seem to scare some of the big players :D
If you ask me how long we will take to get to a device that is end-user friendly, then I will answer you: At least 6 months from now, perhaps even more. But don't forget -- this is more of an open source project than anything else. We release early and we release often -- now go and flame us for that, because it doesn't live up to your expectations. Or see it as the developer board it is and join us in developing a mobile platform based on openness, freedom and virtually endless possibilities.