Hello everybody,
I've been selected, as part of the Google Summer of Code project, to work on what will become a Gtk+ Input Method that communicates with the MeegoTouch (previously, Direct UI) Input Method UI Framework.
Basically, input methods either modify or completely replace the flow of characters from your keyboard, keypad,... to whatever applications show in their input fields. They can be either virtual keyboards, thus generating key events on their own, based on mouse input; they can filter some of the key presses on your physical keyboard to allow you access to way more characters -- for example, the "acute" character on some international layouts doesn't produce an acute symbol, but instead
combines with the character the next key would produce to form an entirely new character. Of course, you can use both approaches, and have something like the hardware keyboard with symbol palette that the N900 uses, or even way more complex things.
So, when I realized that the next version of then-Maemo6 was going to use a new, Qt-specific input method framework, I knew things would look bad for Gtk+ applications on the platform. If you've ever tried any non-Gtk+, not-Qt application (DOSBox, for example) on the N8x0, or N900, you know what I'm talking about. This is something that would kill usability of most existing Maemo Gtk+ applications, and not only for international users. Clearly, fixing this is quite an important TODO item.
Also, I had already been experimenting with trying to integrate the Maemo-5 input method framework (known as Hildon Input Method, or H-I-M) with SDL, so when I looked upon the idea, I knew this was going to be interesting.
But this is not all -- Harmattan was being slowly cooked in the open, and I was practically ignoring it. MeegoTouch, Qt, etc. is without doubt going to replace most of what I currently know and use, and thus I'm really interesting in getting the hand of it. So I also see this project as an oportunity to get used to the entire stack.
So what did I do first? Well of course, try to run everything.
Above you can see the widgetsgallery you can download on your N900, but a bit more recent and also not Maemo 5 but Debian Squeeze on an amd64 host (so I already had to patch some components :) ). Also running is the MeeGoTouch IM UI Server, with the MeegoKeyboard plugin active. Pressing keys on it does what you expect. Typing keys on the hardware keyboard results in some D-Bus messages from the client application to the IM Server -- again, similar to what you'd expect from an input method!

But hey! The MeeGo IM Framework seems to have some unexpected nifty features, at least when compared to H-I-M. This made me think about Gtk+ widgets in there. Sounds hard -- but definitely worth reading about.
Of course note that this is using the development theme, and also I was not using the MeegoTouch compositor at the moment, so no translucency goodness: the final UI should look much prettier.
Well, the official GSoC start date is tomorrow. I plan to use this blog to put in news, development progress (hopefully biweekly) or interesting tidbits I discover from the entire MeeGoTouch stack. See you until then!