Over the last few months there has been some concerned feedback in some parts of the community about how Ubuntu is focused more and more on attracting new users to Ubuntu by providing a streamlined and simplified user experience. Much of this is being achieved with Unity; a new desktop interface delivered in Ubuntu 11.04, which will continue to be refined and improved upon based on user testing and feedback.
One key piece of feedback from some Unity users was a concern around the lack of configurability in Unity, and a feeling that it is a little too simple and does not expose enough of the system, for which many more expert Ubuntu users enjoy.
One take-away amidst this feedback is that the general focus of Ubuntu is evolving. While traditionally we set out to provide the simplest and easiest to use Ubuntu desktop environment, and this has not changed, this focus is become more and more prevalent as we shave off more and more rough edges on Ubuntu to make it ready for the prime-time. The problem is…some folks don’t want to loose the lack of configurability and control as we move towards the prime-time.
This is perfectly valid and reasonable feedback. Fortunately, I think we can have the best of both worlds.
Building On a Strong Foundation
Let’s first take a step back and let me explain how I think we can deliver an awesome system for both the mums and dads of the world (end users who are resistant to complexity and configurability) and power users (users who want to tune and optimize their system around their specific needs).
At the heart of Ubuntu we ship a layer-cake of components:
Most people, even expert and power users, will typically only care about a particular layer and just want the other layers to work. As an example, a Kernel fan just wants his/her desktop to work without any poking, but wants all the power and configuration potential afforded at the Kernel layer. Speaking personally, I just want my Kernel and Foundations layer to work, but I am really interested in the GNOME layer. In other words, we want the things we don’t care about to just work, and we want the full scope of control in the layer we care about.
For most end-users they don’t care about, nor should they care about, any of the layers in the above diagram. This is why we ship Unity on top of it:
Here Unity is designed to hide all of the complexity of the underlying layers. Unity is instead designed optimize the user experience for what most end-users need; finding and starting apps, finding files, managing windows, installing new software, seeing when notifications appear etc.
Where we have seen the disconnect in these recent discussions is that some Ubuntu users feel Unity does not expose enough of the underlying layers and therefore the system is less configurable than is desired. Some suggestions as solutions to this problem are to change the focus of Ubuntu to power users and not end users, but this is how I think we can solve this…
Optimizing For Power Users
If we base our assumption that there are these two broad types of user we want to satisfy here (end users who are resistant to complexity and configurability, and power users who thrive on configurability), I believe we can satisfy both by delivering a simple system optimized for the former out of the box, but then build tools and community to allow power users to add the configurability they desire post-installation. I believe that power users are better equipped to build on a simple default installation than end users simplifying a more complex and configurable default installation.
One of the most wonderful elements of Linux is that in the vast majority of cases, power user orientated functionality is already exposed under the covers on the system (e.g. you can tweak Compiz setting with CCSM, you can re-compile your kernel if you like, you can tweak hard drive parameters with the terminal etc), it is just not exposed by the GUI.
As such, think of it this way:
So, think of the workflow a little like this (from the perspective of a power user):
- Joanne Bloggs installs Ubuntu 11.10 on her computer. She is presented with a simple default experience, but she desires more configurability.
- Joanne discovers an Ubuntu Power Users community where she can engage with like-minded power users who like to hot-rod their Ubuntu systems.
- As part of that community, configuration kitchen-sink tools and functionality is created and packaged inside the Ubuntu Software Center. Joanne is really interested in configuring Compiz and desktop effects so she installs an
ubuntu-expert-desktoppackage to get this additional functionality (this package would install an expansive control panel of options for her, possibly inside a unified configuration application).
- In a few clicks Joanne is now part of a community of like-minded power users, complete with the additional configurability she desires.
Creating a Power Users Community
I would recommend that this community has three core components:
- Providing a place for power users to communicate – I am sure the Ubuntu Forums folks can help with this, and an IRC channel (#ubuntu-experts?) and mailing list could be a great place to encourage people to participate.
- Document configuration functionality – the team could work together to explain how users with a free Ubuntu system can trick it up for this extended level of functionality.
- Provide tools – I think it could be awesome for this community to produce tools and package existing tools so they are only a click away in the Ubuntu Software Center. A good first step here could be a PPA.
Unfortunately, I don’t have a huge amount of time to contribute to this community, and I think it would be great if some folks who are interested could step up to form a team to lead this work. I would be happy to provide some guidance and mentorship to those experienced in leading such a team.
So, anyone interested in leading such a community and making this vision happen? Let’s have a discussion in the comments and make some plans!
UPDATE: A mailing list has now been set up, and I recommend anyone with an interest in these more advanced Ubuntu needs joins the list. I would also like to encourage packagers and programmers to join to see how some of the ideas outlined in this post could be discussed and built-upon (e.g. a series of configuration packages in a PPA or Ubuntu Software Center).
UPDATE II: THIS TIME IT’S PERSONAL: There is now a
#ubuntu-power-users channel on freenode.