Dezember 2007

Tempus Fugit

2007 was a very busy year for me. There has been great progress in the projects I care about, e.g. OpenEmbedded, OpenMoko, OpenEZX, Enlightenment, Maemo, Ångström, and some more. In 2007 I travelled more than in all the previous years in sum — lets see whether I recall where I have been:

  • Berlin (CCC, to meet colleagues),
  • Bermingham (once for GUADEC),
  • Bonn (for FROSCON),
  • Brunswick (twice, to meet colleagues),
  • Brussels (for FOSDEM),
  • Denmark (for Mobile Developer Days),
  • Siegen (to meet colleagues),
  • Taipei (to work at OpenMoko Inc.),
  • Zürich (for OpenExpo),
  • and some more which I forgot about 😀

A couple of weeks have been spent by my wife and me moving into a new apartment, my office room drowned and dried, I received dozens of parcels, and I saw (too) many new PCBs.

I saw a 3-man project growing into a company (with some unfortunate collateral losses on the way) and did a tiny little share to bring the Asimo robot forward. I met many interesting people on various conferences and in Taipei, and made some good new friends. Oh, and last but not least I (finally) got my doctoral degree.

It was a good year, albeit a bit too hectic for my taste. For next year, I’m trying to focus on less things, but more intense. Bringing forward my dreams of ubiquitous computing, high level application frameworks, and fluid user interfaces…

I wish all of you who read this a blessed 2008 — may health and success be with you. See you next year!

Read more →

First encounter with Vala

I just rewrote the openmoko-terminal2 application (a lightweight terminal for the OpenMoko environment using Vte) in Vala. Please compare with the source of the C-based incarnation here.

In my opinion, Vala is nothing more and nothing less than the future of application coding for the GNOME platform. Vala combines a nice high level syntax (modelled after C# and Java) using GObject as the object model and compiles straight away to plain ‚ole C. Yes, that means no runtime libraries, no bloat, no performance drawbacks.

Vala removes the need of typing run time typecasts and endless function names and adds compile-time type checking. This will boost your coding-efficiency a lot. Vala has an enormous potential for the C-dominated GNOME platform and I hope people will realize that and be giving Vala a chance.

Yes, I still prefer Python (and C++) — but now I have a sane escape route for some projects where I had to do stuff in C. Which I consider being a very good thing 😀

P.S. Of course OpenEmbedded supports programs written in Vala as well — I added the compiler a couple of weeks ago. Sane autotools-based projects don’t need to do anything but add vala-native to the DEPENDS line.

Read more →

Framebuffer vs. X11

Putting some new fuel to the neverending fire — whether the (undebatable) performance drawback of using a full-blown window system like X11 outweighs the benefits in flexibility; Just recently I built the Expedite benchmark utility (from the Enlightenment project) for my Neo1973 (266MHz armv4, VGA display, unaccellerated framebuffer).

Thanks to the Evas canvas abstraction, Expedite has tons of rendering backends, including ones for the framebuffer and X11. And here are the results of the jury:

Expedite Benchmark Results

I this is is quite shocking (I expected the framebuffer to win, but not by that far). With an average frame-per-seconds of 17 for the framebuffer backend and 11 for the X11 backend, this looks like X11 introduces an overhead of about 50% on my platform.I wonder how the directfb and SDL backends would score — I’m going to do these eventually. I’m also curious in the results of Gtk+/X11 vs. Gtk+/fb as well as Qt/X11 vs. Qt/Embedded. I’ll do that once I have nice benchmark utilities for the respective toolkits.

Surely this result only applies to unaccellerated framebuffers, hardware-accellerated xrender may win by far, but this is what we don’t have right now. The question is, did we bet on the wrong horse here? Do we really need all the goodies X11 give us? Do we really need a windowing system abstraction on a phone? Do we really need to run multiple toolkits in parallel? What do you think?

Read more →