I decided to take a look at some of the next generation GNU/Linux stuff. Some of the more interesting projects are DBUS/HAL, cairo and everything being done with evolution/dashboard and mono.
I’ve been running mono for a month or so and have written some simple apps (Hello world etc..) I’ll probably do more with it in the next few weeks. Its Gnome bindings are really nice. They seem to suit object oriented programming more than the Python or Java bindings do, I also like the way glade interacts with the object metadata. It’s just easy.
So I had a look at DBUS/HAL, which is nice but a bit rough at the moment. It works, screenshots are here. You can see that it correctly identifies my USB device as being a USB 1.1 device.
Dashboard is a little more user-oriented (at the moment). I couldn’t get the evolution backends working as that required compiling evolution-data-server, which I had no wish to do. So I got dashboard working with the epiphany, disk and gaim backends. Given that I don’t use Gaim (I will when the MiNDS> jabber server is up) there was little info it could bring up for me, but it did bring back interesting data anyway.
Cairo looks cool too, but I’m too tired and I want to get out into the sun. I’ll compile X.org’s X server on Monday and report back on it.
My “editorial” take is that most of this stuff is 6 months from 1.0 and 9 months from integration into good distributions. I’ll be happy to see C# becoming the de-facto language on top of the Gnome platform. If you look at what has been done with Java on GNU/Linux you’ll find little of interest to the desktop user. Novell/Ximian have been doing fantastic work with C# bindings for Gnome and have a GPL’ed runtime engine.
In summary we’re about 1.2 years from a truly usable GNU/Linux. By this statemet I mean that in 1.2 years MS and Apple will be trying to catch up with us. We’re currently behind MS only in hotpluggable devices, which DBUS/HAL will solve. The Gnome HIG has brought us up to reasonable parity with Apple, but HAL can help with system configuration like configuring a network interface, which is currently easier on OS X.