Following Up for the Week Ending 8/29/2010

Hackfest Helps Advance Python Support in Gnome

Ryan Paul at Ars Technica has an excellent write up of a hackfest sponsored by OLPC to start implementing a plan to ease the future maintenance of the Python bindings for GTK+. The OLPC project makes considerable use of both Python and GTK+.

The plan is to incrementally phase in new bindings that take advantage of GObject introspection alongside the hand rolled bindings. The new implementation, PyGI, is off to a good start and will eventually replace PyGTK. I believe it depends on Python 3.0, so adoption of the latest version of the language would also be key.

As Paul clearly explains, GObject introspection eases the work required to build and maintain bindings by producing XML interface descriptions based on specially formatted comments in the GTK+ sources, written in C. This XML can then be used to generate the mapping between GTK+ and the idioms and models of the target language. Vala, which I’ve written about before, already makes use of GObject introspection, as do two sets of JavaScript bindings. One of those, Seed, I’ve also mentioned on the blog previously.

I am glad to see Paul emphasizing how GObject introspection will reduce the cost of bindings for high level languages and strongly but indirectly encourage GTK+ hacking by developers of all stripes, at all levels of skill and experience.

Looking Ahead to the Future of Gnome

Ryan Paul at Ars has a good write up of a hack fest specifically aimed at implementing and supporting some long trajectory usability work. Ryan presents an intriguing picture of the sort of free wheeling thought driving much of the work, bolstered by some impressive mockups and design work.

I don’t use Gnome but am impressed by the farther reaching thought this demonstrates. KDE is moving towards more of a social focus, Gnome has the idea of supporting tasks in its cross hairs. I think this divergence is going to drive a lot of interesting discussion.

The Linux desktop draws a lot of criticism for replicating what has come before, this effort demonstrates that such is not always the case. I may just have to give Gnome a run again as Gnome 3 starts to trickle into the bleeding edge repositories.