Yesterday I posted some ideas about building sub-team in the Ubuntu community optimized for power users and the needs of folks who love to tweak, tune, customize, hot-rod and otherwise amp up their desktops. Within 24-hours there is now a mailing list with nearly 100 members, IRC channel (
#ubuntu-power-users on freenode), wiki site, and active discussion going on on the list. Thanks also to Mike Basinger for agreeing to admin the mailing list, and Jussi for keeping an eye on the IRC channel.
I already talked about some areas in which I think the team could bring huge value. These include:
- Documentation – helping to answer common power user needs such as – how do I install a different window manager? How do I know which configuration tools to install? How do I rebuild a kernel on Ubuntu? How do I tweak my hard drive params etc?
- Support – I can see the mailing list and IRC channel being a good place for folks to have discussions around various power user needs.
- Events – organizing education and learning events for more advanced Ubuntu usage and configuration needs.
There was another idea which I suggested which I want to delve into in a little more detail.
If you look at Unity, some of it’s customization potential is exposed in the Unity user interface itself, but much of it is hidden (so as to provide a sleek and uncluttered experience for end-users), but you can still access this functionality under the covers. Tools such as Simple CCSM, and more recently Gunity and Confity are providing tools to access these lower-level configuration options. Of course, this is exactly the kind of awesome that power users love! Trouble is…there is one problem…
Well, not really, but related…
In the same way there are 86 different versions of CSI , there are multiple configuration tools each that have different ways of working and different levels of functionality.
Wouldn’t it be awesome if we had a single customization environment designed for Power Users…the Ubuntu Kitchen Sink if you will; a single application that supports multiple plug-in that provides you with a plethora of check-boxes for switching on and off all kinds of different things.
To be clear this would not be like the GNOME Control Center: that is designed for end-users to provide a sane range of commonly-required options that users may want to customize. I am talking about a post-installation tool designed for hungry hot-rodders, more along the lines of GConf, but inside a consistent tool that provides functionality across the desktop and it’s foundational layers.
Before I go on, everything here is a pretty unformed idea. This post was inspired by a discussion that Jorge and I had about this and some of the recent interest in building configuration tools in Ubuntu. The goal here is to trigger a discussion about how to move forward. I suggest you join the mailing list to get involved in fleshing out a solution. Again, usual caveats about how I am a terrible UI designer…
So this is the idea:
Ubuntu Kitchen Sink.
Imagine a single unified application with a series of plug-ins available for configuring different parts of the system. Those of you who yell at kids to get of your lawn will probably remember LinuxConf (the app) along these terms from many moons ago. This idea is similar, but not quite the same.
My thinking is that there could be a single app (the Ubuntu Kitchen Sink) that provides a means to embed detailed configuration panels that expose many of these underlying parts of the system. There could be panels for Unity, Compiz, GNOME, the Kernel, Hardware, and anything else. Given that the focus is on Power Users, anything and everything should be able to be exposed as an option; there should be no concern for confusing the user with too many options – the goal here would be completeness…check-box heaven if you will…a haven for click-happy config junkies.
With this application users would be exposed to a single interface and we would encourage the Ubuntu Power User community and others communities to create plug-ins that could be exposed inside the interface. In my perfect dream world these plug-ins would just be configuration files that essentially link check-boxes to a helper app that performs the config change (this would lower the bar for the creation of plugins), but if the plugins are small bits of code that programmatically make the configuration change that could work too.
In this brave new world, instead of hackers creating tools like CCSM, Gunity and Confity, they would instead create plug-ins for the kitchen sink. These plug-ins would then be packaged and made available in the Ubuntu Software Center. For users you would just download the kitchen sink from the software center and then you could install plug-ins that interest you.
So that is it. I think this vision could provide (a) a much more integrated bells-and-whistles configuration experience for the hot-rodders among us, (b) provide a great standard environment for tools-makers to expose configuration options in a way that an established userbase can enjoy, and (c) consolidate the community so we get better testing, bug control and QA for config panels.
Are you a coder who would like to make this a reality? If so, join the mailing list and let’s talk.