Hire Me

Blog

Emulating 20 year old hardware on a phone

Mickey · · 1 min read · Comment

Due to my preparations for the thesis defence — soon over, since tomorrow is “judgement day” — I have almost zero time to work on OpenMoko. Yesterday though I got one of the very few models with a case prototype, that means I can finally work with the vibrator and the speakers (which sit in the case and not on the prototype boards).

The first thing I did is to compile sidplayer and mikmod to play .sid / .mod. It’s kind of fun using brand new hardware to emulate 20 year old hardware :-)

For the interested:

So that makes .sid the preferred format for ring tones, right?

openmoko.org and the light of day

Mickey · · 2 min read · Comment

As promised, OpenMoko completely opened access to code, specifications, bugtracker, and mailing lists. This is an absolute novum in the industry, since — to my knowledge — no company ever published code and specifications during development state. This is even more open than Nokia — who released Maemo not before the first version was finished.

The OpenMoko team sees this as an open invitation to the community to contribute not only in the form of additions and refinements, but also on the core platform itself. We are gathering your input and are commited to get your wishes into the platform. There will be no closed branches, no internal forking whatsoever. This thing will stay open.

In the past couple of months, I have been working on the OpenMoko application framework, a set of GObject-derived classes, APIs and libraries for a rich and consistent application programming experience. Getting APIs right the first time is incredibly hard — especially when all you have is demo applications. I see this unfinished state as a great opportunity for all potential application programmer’s to tell us what kind of APIs they want to see in the framework.

I have been also trying to realize the designer’s idea of the OpenMoko look & feel. And guys… I have been going through hell. Designers are cool, but their attempt to applications is top-down, they think in terms of complete views including absolutely positioned UI elements. Whereas a programmer’s approach is bottom-up — thinking in terms of layout managers, widgets, composite engines, and the like. This cultural gap can be observed by comparing the various Mockups in the Wiki to actual screenshots. Due to the limitation of the both the current hardware (S3C2410 @ 266MHz) and the software (X/Gtk+) in the Neo1973, a lot of effects are just not efficiently recreatable. However, we will retain the Mockups in the Wiki, because they are the manifest of our goal. Eventually OpenMoko will run on faster hardware (Neo v2) and perhaps also a more suitable base toolkit (EFL, Clutter, pure Cairo?)– then we’ll get there.

In contrast to a lot of other companies opening their code, this is not the end, but the beginning. OpenMoko Inc. continues to support paid work on the OpenMoko platform, which is necessary to canalize and realize all the valuable input of the community. Although we were plagued by a lot of things going wrong during the past months (see Harald’s and Sean’s postings), things fall slowly into place now.

Shaping the age of liberated mobile computing — it’s an exciting time we live in.

Fed up with legacy radio

Mickey · · 1 min read · Comment

I can’t stand listening to local radio stations anymore. No matter which station or target audience, the playlists are always too small and similar, too commercial-orientated, the moderators are dull, and when I want to know about what happened I rather read a newspaper or go online. Fortunately, there is a very addictive alternative! Since a couple of months, I’m enjoying Soma.fm — a commercial-free internet radio supported by its listeners. It contains 11 unique channels of underground/alternative radio broadcasting from San Francisco.

Cultural Shock ahead

Mickey · · 1 min read · Comment

With us moving in April to a new appartment, I will take the chance to fill the gained space in the new office room with a slightly enhanced computing infrastructure. Currently, I own one Windows (XP) machine, one GNU/Linux (Mandriva) machine, and a lot of mobile devices running GNU/Linux (OpenEmbedded-derived).

What has been missing since long is an Apple Mac. Not only because this is the 3rd supported platform for the Qt GUI-Toolkit, but also because Apple always had a special touch when it comes to usability, polishing interfaces, and streamlining workflows. I never owned any Apple product, so I’m quite curious how hard this cultural shock will affect me.

The only thing I need to decide though is whether I should go for a Mac Pro or a MacBook Pro… any recommendations?

(P.S. Of course, I will try to run OpenEmbedded natively on the Mac…)

OpenMoko @ LugRadio

Mickey · · 1 min read · Comment

LugRadio is a fortnightly British radio show that takes a relaxed, humorous look at Linux and open source. Recently, we talked about the OpenMoko mobile phone platform. It was a fun experience, these guys are really cool!

Gosh, I have a hell of an accent. I really need to attend some articulation lessons for american (or rather perhaps british?) english.

Appointment for Thesis Defence

Mickey · · 1 min read · Comment

I finally have an appointment for the public defence of my doctoral thesis. It will happen on

Thursday, 22nd of February, 2007, 14:00

which is good and bad. Good in the sense that it will finally be over in 4 weeks. Bad in the sense that I have only 4 weeks left to prepare for it. Since this is one day before FOSDEM 2007, I will have to hand over the wheel in organizing the OpenEmbedded booth appearance to someone else.

Of course, I will still be present there and will also be able to stand at the booth, but I just can’t manage to handle all the organization.

A good day

Mickey · · 1 min read · Comment

Three cool events happened today:

  1. We got confirmation that we have been selected as new hirers for an appartement we have applied for. That means we will have to move — which is not so cool per se, because moving is always stressful and exhausting — however my office room will grow from 15m² to 31m² which is just great! I’m going to buy lots of new devices to fill that room :D
  2. I got confirmation that both referees have (finally) submitted their reports on my doctoral thesis and today the circulation of my thesis within the faculty has been launched. If no one objects during the following 8 weeks, I can get an appointment for my defense.
  3. I was pointed to the Roland V-Synth page — Roland will announce a new V-synth at the Winter NAMM Show (current event website). This just rocks, since I have been waiting very long for a successor to the old V-synth. Now where did we put our money for this years summer vacation? :D

On a totally unrelated note, the FIC Neo1973 running OpenMoko has been delayed. Which is “good”. There is still a lot of things to do software-wise and this gives us the neccessary time.

Back from 23c3

Mickey · · 1 min read · Comment

The annual Chaos Computer Congress in Berlin was a really cool event. It was my first Chaos Computer Congress and there were lots of interesting talks and opportunities to meet talented people working on projects. I also found time to work a couple of hours with Harald ‘LaF0rge’ Welte on OpenMoko and meet some guys from the OpenEZX (source archive) project.

Star Trek Personality Test

Mickey · · 1 min read · Comment

I am Jean-Luc Picard

At least, according to the Star Trek Personality Test — do it, it’s fun and you may learn something about yourself ;)

CharacterPercentage
Jean-Luc Picard65%
James T. Kirk (Captain)60%
Will Riker55%
Beverly Crusher45%
Leonard McCoy (Bones)40%
Uhura35%
Chekov35%
Spock29%
Geordi LaForge25%
Mr. Scott25%
Data24%
Deanna Troi20%
Worf15%
An Expendable Character (Redshirt)10%
Mr. Sulu0%
Jean-Luc Picard

A lover of Shakespeare and other fine literature. You have a decisive mind and a firm hand in dealing with others.

Congratulations Madam, it’s a phone

Mickey · · 4 min read · Comment

Now that the cat is out of the box, I can finally tell you a bit more about this project. You probably have seen all the press releases, so I don’t need to recap what you can expect out of it as a user. This is about what’s in for you as a developer, because this is what has attracted me so much as well. Please note though that I’m not speaking officially for FIC here — this is my personal take on the project.

For years, the embedded open source community has been lusting for a hackable phone. A lot of (more or less successful) open source efforts went around putting Linux on hardware running WindowsCE based operating systems. All in all most of these were frustrating experiences, because reverse engineering is just a terrificly time consuming approach and by the end of the day, it’s of questionable legalty as well. If you really manage to put Linux on a phone without the help of a manufacturer it will take you so long that by the time you’re done, it has been already obsoleted. This has happened a lot of times in the past and we want to change it — since although the work being sort of educating and fun (at times), it’s a lot of wasted effort that most of us would rather spend working on actual applications.

Up to today, there is nothing like an open phone available. Instead, most of the so-called “open source friendly” manufacturers are trying to lock you out — by using SElinux, booting signed kernels only, etc. The FIC Neo1973 is different.

The partnership with FIC is a unique opportunity for developers who care about projects like GPE unavailable, Opie (alternative: SourceForge project), OpenEZX (source archive), XanaduX, and friends, since it enables us to make a phone software stack done exactly the way we like it — “bottom-up” standardization instead of doing it “top-down”. The OpenEmbedded community has quite a lot of experience when it comes to integration issues and this is why the OpenMoko distribution will be an OpenEmbedded derived Linux distribution.

GUI-framework wise, it has been an easy choice. Most of the application hacker momentum is focused around X11-based frameworks like Gtk+, Qt, wxWidgets, fltk, fox, and the like. There is absolutely no reason to not base your phone GUI framework on one of those toolkits and this is why we chose the X11/Matchbox/Gtk+ combination for this phone platform. Being a strong supporter of C++ and Qt though, I’m very interested in getting this effort to a point where it’s possible to write e.g. Qt phone applications that run inside the Gtk+ based UI framework and don’t look alien.

Consequently, given a GObject-based C framework, adding language bindings should be a straightforward task as well. FIC has understood that this will be an iterative process. We don’t expect to present a fully featured phone when we start shipping it in Q1/2007, but we rather adhere to releasing “early and often”. By working together with the open source community guys right from the start, I believe in FIC’s smartphone division establishing a solid and healthy relationship. This will hopefully include device discounts for developers as well as listening to us about future hardware platforms. If we manage to make this a successful proof-of-concept open source device, we might be in a position where our wishes about the shape of things and the type of hardware to include in future devices might reach very open ears.

Update: Some clarifications, since I’ve seen a couple of wrong facts on various sites:

  1. It got a micro-SD-slot and a SIM-card slot (of course, hey… it’s a phone)
  2. It’s got a headphone socket.
  3. The only proprietary bits are the GSM modem part (which is not even running on the application processor, but on a seperate certified TI module) and something for the assisted GPS. We have Harald ‘Mr. GPL’ Welte on board, so rest assured that everything that can be open actually _is_ open.
  4. I am ‘a’ (aka one of three) founder of OpenEmbedded, not _the_ founder.