Hire Me!

State Machines -- Resistance is Futile


written by Mickey on 2008-06-09 Click to comment

::: {.img-shadow} Open Phone Server State Machine{width="200"} :::

So I'm rewriting the call handling in the Open Phone Daemon for the second time now. Cowardly, twice I tried to get away without implementing a full state machine, but it always came back to me.

Telecommunication stuff is all about state machines, and honestly... they are your friend, not your enemy.

Yet another reason to see that my third semester in university with all the finite state machines was not superflous :D





Chemistry


written by Mickey on 2008-06-02 Click to comment

I seem incapable of working together with some people. I tried hard, but it just doesn't work. Everytime we discuss anything my blood pressure is raising and we run into arguments. I'm sick of that. Perhaps it's just me -- I'm afraid the older I get, the less patient I get. Then again, it could be just a matter of chemistry -- some pairs function, some not. Might be nature.





Froscon Submission Deadline in 10 days


written by Mickey on 2008-05-23 Click to comment

I just realized it's only 10 days until the Froscon call for papers has its deadline. You should better get started submitting a paper -- I will do the same. Looking forward to seeing you at one of germany's nicest OSS conferences!





Openmoko Framework Initiative


written by Mickey on 2008-05-05 Click to comment

I have not been posting about my work for Openmoko for quite a while. There are multiple reasons for that, ask me privately if you want to know... Today though, I want to post about a high-priority project inside Openmoko, Inc. -- the new framework and middleware initiative which me and some guys will be working on.

I have been talking privatly about this to people on conferences, but now it's going to be an official project. It's something we attempted to do when we started back in 2006, but for some reason, we did it the wrong way. We tried taking existing components to make them fulfill our usecases and to fit our needs, which in some cases turned out to be impossible. This time we're moving the other way round. We will take our usecases as the goal and create the necessary infrastructure to make it happen. If -- while we're on the way -- can integrate existing efforts, even better. If not, we will eventually see how to merge with existing efforts. The goal is to get things done -- now!.

Basically all this is about two components, which are independent, but closely related.

  1. The framework.
  2. A bread-and-butter application.

The Framework

::: {.img-shadow} Openmoko 2008{width="200"} :::

The purpose here is:

With this in mind, we define the following requirements:

Our way to achieve this on a technical level is through dbus:

The framework is not going to cover everything but the kitchen sink though, especially it's not about:

The Bread-and-Butter application

::: {.img-shadow} Zhone{width="200"} :::

The framework initiative is related to developing an application that uses the framework to turn a Linux-phone into a usable feature phone. The main goals for this application are:

This application is developed in tandem with the framework, because when you write framework APIs, it's important to have existing API consumers. Without API consumers, APIs are just specs, could be awkyard, or plainly unusable -- that's why this bread-and-butter application is of central importance to the framework project.

I'm looking forward to spend a lot of time on this project and I invite all of you to participate. Most of the discussions will happen on the Openmoko developers mailing list and the FreeSmartPhone standards list We already have achieved some important basics thanks to great contributions by the moko underground people that are grouped around the neo1973-germany.de site and the IRC channel #neo1973-germany. I'm also looking forward to great results from this years' Openmoko Google Summer of Code.
As for the current status, we will update the wiki page OpenmokoFramework frequently and sent status updates once and then to the mailing lists.

Good speed!





Bossa Conference Video


written by Mickey on 2008-04-28 Click to comment

The guys from INdT posted the Bossa Conference promotional video for next year's installment:

Yours truly can be found a couple of times... so -- how many appearances do I have in this video? :D





Last day in Brazil


written by Mickey on 2008-03-23 Click to comment

Sitting in the business center of the Beach Class Suites hotel trying to fix some strange bugs in ecore-native. In a couple of hours I'm leaving to the airport, travelling back to Frankfurt, Germany. This week in Brazil has been an amazing experience, especially the friendly guys at the INdT. There's a spirit of freedom and creativity hanging over the whole installation and it's not surprising at all that the results just rock. One of the key elements of successful software products is the communication between designers and developers -- and they got this one completely right.

The Mamona team worked on an own branch of OpenEmbedded for quite a while now and we had a lot of diffs to go through. We started with merging EFL and Python since these are also important for Openmoko. We now have granted Vivi commit access and Aloisio will be on board soon as well maintaining some of the recipes upstream at org.openembedded.dev. By that we reduce further divergence and improve collaboration.

Although we did work most of the time, we also had the chance to hang around a bit together in the after hours, watching soccer, playing table-tennis, table-soccer, pool, etc. We even spent a couple of hours playing guitar and singing along -- that was real fun. Thanks a lot guys, I really felt welcome! And yes, I'm trying to come back later this year, preferably when it gets cold and windy in Germany ;)





From Switzerland to Brazil


written by Mickey on 2008-03-18 Click to comment

::: {.img-shadow} Three UIs on Neo1973{width="200"} :::

As I have mentioned previously, I'm really trying to cut down the number of conferences I go to this year. However, both the OpenExpo in Bern (from which I returned last friday) and the Bossa Conference in Brazil (which I'm there since saturday) are too important to skip.

OpenExpo went very well, I had some good talks with people regarding further platform development. I had a talk where I outlined three major factors of OpenMoko (Freedom, Experiments, Innovation) and the forthcoming middleware initiative. If you manage to understand german, have a look at the video.

::: {.img-shadow} OpenMoko Booth{width="200"} :::

The second of three days Bossa have passed now and I'm really enjoying Brazil. My talk about OpenEmbedded was on the first day and since then I'm more relaxed. I have never been a fan of the climate in Germany, so what I'm being exposed to here (an average of 29 degrees) is just about right :) Apart from the most amazing venue I've ever been to, it's the people and the topics which are completely right on spot. After the conference I will work for a few days with the INdt guys on merging our OpenEmbedded trees and collaborate on Python and the Enlightenment Foundation Libraries.

On a more personal note, OpenExpo and Bossa were partly responsible for bringing fresh new motivation into me and my middleware work for OpenMoko. All the developers I have met agree with me that -- for the time being -- there's hardly anything more necessary than a solid framework for people to get started with their own approaches on how to improve how we interact with mobile devices. Services like telephony, PIM storage database, network, location, and context, need to be there -- no matter which UI toolkit or applications we are going to focus on.

::: {.img-shadow} Summerville Beach Resort{width="200"} :::

I'll be heading back to Germany on saturday, looking forward to a spring full of refreshening infrastructure development (and some shiny bread-and-butter applications, of course -- middleware development needs to be application driven).

Let me finish with some more great news...

  1. The price range for the Neo FreeRunner has been published, it's going to be less than 400 USD -- which is quite a substantial improvement over the estimated 650 that was published last year. Given the features (Wifi, GPS, GSM, BT, Accellerometers, VGA) and the openness (priceless!) I think it's pretty decent price.
  2. OpenMoko Inc. has been accepted as a mentoring organization for Google Summer of Code 2008. I'm looking forward to mentor some exciting projects. Please start submitting student applications now!

Cheers!





Back from Fosdem 2008


written by Mickey on 2008-02-26 Click to comment

::: {.img-shadow} OE Booth{width="200"} :::

Just returned from Brussels where FOSDEM 2008 took place. For the second time, the OpenEmbedded team had a booth where we presented embedded devices and talked about build systems and software for mobile and embedded devices. On show were some Zaurus models, an iRex Iliad, two Chumbies, and a Neuros OSD.

We also demoed some FIC Neo1973 models with OpenMoko which received lots of attention -- the most frequently asked question was (of course) when the new hardware would be ready. I can't really comment on that, however John and Will from OpenMoko Inc. just brought me a brand new FreeRunner prototype and apart from some minor issues, it is really looking very well. By the way, I will demo this prototype next month on the OpenExpo 2008 in Bern, so if you have a chance, just drop by and take a look.

::: {.img-shadow} OE Booth{width="200"} :::

Between talking to people, I managed to unbrick three devices. Unfortunately I forgot to reseat the TORX screws on one device, so if you want your screws back, come over next year. Luckily, the Neo1973 case fits very well even without the screws, so you will probably not miss them ;)

During a very remarkable meeting with a resident of the #neo1973-germany channel we improved the freesmartphone.org telephony API and also recorded a video of the moko underground software pyneo. Note: If you don't have sound on the videos, you need to install h264/mp4a codecs. A recent gstreamer-faad with libfaad2 should be sufficient.

On Saturday evening, team OpenEmbedded had the constitutional session for the forthcoming OpenEmbedded e.V. There's still some bureaucracy pending which I hope will be done around late April / early May. I'll keep you posted.

By the way, this was the warmest FOSDEM ever! I'm very amazed that I managed to survive it without a cold -- which is quite an achievement considering our booth was right opposite the main entrance resulting in a constant unpleasent flow of air. As for the general FOSDEM appearance I have to agree with Harald Welte's assessment though, especially his comments about the beer event venue and the public transportation.
I want to thank all of the people who helped organizing our appearance -- you really did a great job, guys!





Conferences Ahead


written by Mickey on 2008-01-22 Click to comment

So I have promised to travel much less this year, however some trips are inevitable. For the first two quarters in this year I'm looking forward to participate at least at the following conferences:

If you have a chance, then drop by and lets have a chat. Don't be shy -- people say, I'm a nice guy :)





The Nokia N810


written by Mickey on 2008-01-18 Click to comment

As reported in previous installments of this column, the Maemo team picked me for a developer discount on the new Nokia N810 internet tablet (thanks again, folks!). I also own a 770 but skipped the N800, so this has been a huge jump for me.

The good

The N810 hardware is pretty good. It features a fast processor, a nice display (not as highres as the one in the Neo1973 though), and a superb audio subsystem. The overall look and feel of the device is very convenient -- well done, industrial designers at Nokia. Maemo grew a lot during the past years, I'm looking forward to write a couple of applications (in Vala, of course) and do my share to make Maemo and OpenMoko share parts of the platform.

The bad

I'm not feeling good on the keyboard. Don't get me wrong, for me it's pretty important to have one, but I miss the feel. The Zaurus C3x00/C1000 keyboard was better, let alone the Psion 5mx/Revo series. So there's room for improvement. Also, I'm still not satisfied with battery life during real-life usage. This device is so great that I want to use it... a couple of hours a day. If you really do that you need to recharge daily.

The ugly

This device is so fast that -- together with nice software -- it could be an incredible user experience. Alas, Maemo still thinks Gtk+ is the way to go and this is a seriously limiting factor. Thankfully some bright guys from Nokia Research, namely the INdT, already started going a much more promising route. Canola2 on the Nokia N810 shows two things:

  1. The Enlightenment Foundation Libraries provide a great subsystem for fluid interfaces on Linux.
  2. Modern devices are fast enough that coding application logic in Python is a viable option.

An annoying factor is also that there's still a whole lot of closed source contained in the operating system distribution. Also, scratchbox is cumbersome -- I prefer OpenEmbedded which makes it more easy and standard to compile additional packages.

Summary

All in all, it's a good experience and a very nice device. We can learn a lot from this nice project. And I hope that eventually we can do better... but watchout: Nokia doesn't sleep ;)