Desktop Shell from the User Experience Hackfest: General Overview
Vincent Untz
October 22 2008
It's probably time to start talking a bit more about what was discussed during
the User Experience Hackfest [ http://live.gnome.org/Boston2008/GUIHackfest ] that
happened two weeks ago in Boston. I won't repeat what I previously wrote [ http://www.vuntz.net/journal/2008/10/10/493-news-from-the-user-experience-hackfest
]; a short summary was that it was wonderful :-) However, I'd like to get people
thinking a bit about everything that was discussed: hopefully, others attendants
will blog about various things, send mails, or even write code. Here's my contribution!
So, during the hackfest, I mainly took part to a group working on what can be
called a proposal for an updated desktop shell [ http://live.gnome.org/Boston2008/GUIHackfest/WindowManagementAndMore
]. It's quite a big challenge to change a core part of the user interaction with
the computer, but there's at least no harm in exploring various ways and in seeing
if those make sense. So we tried to forget the current GNOME and see what we thought
would make sense. In this post, I'll try to give a general overview and highlight
the big items, but the wiki page [ http://live.gnome.org/Boston2008/GUIHackfest/WindowManagementAndMore
] probably has more details about all this, so it's worth a read (although you should
not consider it as a complete specification; more work is needed!). Many thanks
to Neil [ http://njpatel.blogspot.com/ ] for working on the mockups, and of course
to everybody who contributed to the current result (I'm not going to start naming
people since I'll forget a few of them ;-)).
We started with a few observations (there were way more things than just those
few items, but this should help you understand the rationale):
- finding the window you want to find can be too difficult. Most people are
using to the window list, but it takes quite some space and finding a window
in this list needs focus from the user when you have more than 4 windows, eg.
- workspaces are powerful but not intuitive. Power users use them, but it's
just black voodoo for most users. It started being useful for normal people
with the famous cube, though.
- launching applications is too hard. The applications menu is just not well
adapted for that: it takes a long time to find one item. Some people use launchers
(but how do I add a launcher?), some use the run dialog, or GNOME Do [ http://do.davebsd.com/
], etc.
- the current panel is okay-ish, but it's really not that great. You can have
applets, but most people don't add applets (because they don't know how to add
applets). You can move the panels on your desktop. You can even have a panel
in the middle of the screen. Yeah. Useful.
I'm sure people will agree on some of those items, and disagree on others, but
keep in mind that it's a short summary. For example, I could go on for a few hours
on the topic of why the current panel is broken, if you're interested ;-) So, the
conclusion was that we're quite good right now, but we could do better by changing
things.
We played with a few ideas, proposed various things, stepped back, changed things
again, etc. to reach the current mockups on the wiki page. I think there are a few
core ideas behind this proposal, and here's an attempt to summarize them:
- restrict ourselves to one static panel. Most people stay with the default
panel configuration, and having two panels is eating a lot of screen space.
Also, it's good to have something we can rely on: having two hot corners makes
it possible to decide how we want to use those corners, and therefore it had
an influence on the design of all this. One corner would be used to start the
activities overlay mode (see below) and the other one would be used to control
your presence on this computer (more details on this in a later post, I guess).
Then we'd have status indicators for various things, like battery, network,
weather, etc.
- move applets out of this panel. Yes, we specifically try to avoid putting
applets in there (although it can make sense to be able to add other status
indicators, which I'd consider to be not applets). The current idea is to have
a sidebar which would contain the useful stuff the user wants to have. We considered
having a special mode like Dashboard [ http://www.apple.com/downloads/dashboard/
], or desktop applets, but there were mixed feelings for this.
- put forward the notion of activities. If you look at the current usage of
workspaces, you can find out that most people use them to make it easy to switch
between various mental contexts. And actually, nearly everybody using a computer
has to switch between mental contexts, like read mail, browse the web, do my
work, etc. The way we use workspaces, though, is static: you configure your
desktop to have 8 workspaces; but it doesn't mean you use all of them right
now. The goal here would be to focus on what the user is doing, on its activities.
If the user wants to start a new activity which is different from what he was
doing before, well, then let's make it easy to create this new activity. The
goal is to have the computer adapt to the mental context of the user, and not
vice versa.
- having a special overlay mode for activities. This is probably the highest
visible change here. This is where people control their activities: switching
between activities, switching between windows in a activity, creating a new
activity, launching a new application in a activity, opening a document, etc.
Oh, did you notice the launching a new application part of the previous sentence?
It's quite important: that means we can kill the applications menu (again, more
details on this in a later post). To switch between activities or windows inside
a given activities, we're thinking of using some Exposé-like effect: no need
to think about the name of what you're looking for, but just visually find it.
This overlay mode aims to be the place where the user goes when he stop focusing
on a specific task and wants to do something else; a notable case is when the
user logs in and wants to start using the computer. The fact that this mode
would be a central place is what makes the notion of activities discoverable
to the user.
I guess all this can sound a bit frightening, especially since you might think
it breaks your habits as a user. But when you think hard about it, it's indeed different
from what we have right now in various ways, but it also looks familiar. And hopefully,
it looks more natural too. And that's the whole point: we don't want to break stuff
because we like to break stuff, but because we think we can offer something better.
Okay, that's already a lot of information to digest (probably hard to digest,
since I guess I'm not explaining all this that well...), and I didn't even go into
details -- I actually skipped a few things (the notification center, eg). I'll try
to write more details about some of those core ideas in the next few days, if nobody
beats me to it. I'm convinced that we should start prototyping those ideas so we
can play with them, and see what feels good and what feels wrong. It will need testing.
We will make errors. And maybe it's a dead-end. But many people really liked this
and I believe we reached consensus during the hackfest that we wanted to see this
in action.
Oh, and since it doesn't make sense to have all this text without an image, here's
a mockup of the overlay mode for activities, with the panel at the top (there's
only one activity/workspace in this mockup, so it's probably not perfect to get
the whole idea):
Copyright 2008 http://www.vuntz.net/