October 29, 2008
This article was contributed by Jonathan Roberts
Earlier this year at the Gnome Users and Developers Conference, it was
announced that there would be a Gnome 3.0 and discussions about how to
make the transition are now open. Since then, there has been another
gathering
of Gnome developers, discussing and making plans about how they would
like to modernize the interface. Over the past few days, a number of
blog posts have appeared on Planet Gnome discussing some of the
happenings at this five day event, and I felt a summary of the ideas
so far might be useful to everyone concerned.
The Journal
The idea that has perhaps received the clearest exposition, along with some
concrete work on beginning to make it a reality, is a refreshed way to
handle day to day file management based on the OLPC's journal
concept. Federico Mena-Quintero posted
to his blog reporting his teams brainstorming session. What's wrong
with how we handle file management today? Federico says:
Let's consider a very common workflow: download an image from a
web site, make some modifications to it, and attach it to an e-mail.
When you do "save image as" in your web browser, it will default to
~/Downloads or even ~/Desktop. When you do "file/open" in the GIMP, it
will default to the last directory you used in the GIMP, even if it
was from days ago (on my machine right now, the GIMP defaulted to look
at files from ~/src/some-random-directory) ... The end result is that
your workflow gets shattered to pieces, as programs try to be helpful
within themselves, but they totally fail at being helpful within your
workflow.
So, programs contribute to having files scattered around
everywhere, and there is no easy way to look at everything together.
To solve this problem, they began from the premise that humans are
fairly good at knowing when they did things: "I started typing my
homework last Monday, because I knew it was due on my Thursday class"
and "I mailed you that photo two weeks ago, right after my birthday
party" were the examples given. From here, the argument is that if we
can present users with a journal view of what they did, they can
forget about where they put a file and just browse through a time line
to find what they were looking for.
The journal would not only keep track of files you created, but
websites you visited, IM conversations you had, and even allow you to
make notes about particular entries. An example of this final kind of
functionality might be noting down reference numbers from receipts or
customer service representatives.The other two major features of the
journal would be the ability to star important items, so they're kept
in a separate section, along with the ability to create files from
directly within the journal, allowing it to act as a kind of scrap
book.
As well as Federico's own proof of concept implementation,
you can also find similar ideas in Mayanna's timeline,
a fork of Gimmie, and the Nemo file
manager.
Task Orientation
This post didn't arise out of the User Experience Hackfest, but from
GUADEC earlier in the year. Karl Lattimer has
posited that the application centric workflow is broken, and that
people don't use a computer with the intention of using a particular
application, but with the intention of completing a particular task.
Obviously tasks rarely stand on their own, but often form part of a
larger project.
Karl comments that he believes Federico is making moves in the right
direction with the journal, providing users with the capacity to track
what they did and when - perhaps a kind of project management
framework - but he believes that we also need to provide users with
the ability to track why things were done, gathering metadata about
the tasks and building a picture of the relationships between them.
The example he uses is that of an email received from a colleague
asking us to update a file by a certain deadline: from this we could
extract the file, the deadline, who sent it to us, and possibly even
what needs doing to the file, all of which could be fed into the
journal or other interface. This obviously has some practical
challenges when it comes to considering how it could be implemented,
but if realized could deliver an automated task list that's closely
linked with templates for commonly performed tasks, doing away with
the idea of static workspaces and applications for ever.
Karl sums up his thoughts nicely in this paragraph:
For us to get there we need to invent some cool stuff, semantics
is one part, organising the data by what it is rather than where it
is, especially when the user has a tendency to loose things in the
jungle of file systems. Journals and revision control are another part
of it, remembering what we've been doing and when, but also templates
and schema's are part of it too, hiding the notion of an application
behind the tasks you want to achieve and the things you want to get
done.
The Desktop Shell
During this hackfest session, the team tried to forget about the
current Gnome interface and focus on what makes sense for users;
ironically, Vincent
Untz decided to start his
post, about how the team forgot about
the current Gnome interface, with some observations of the current
Gnome interface. The problems he identified in the current interface
were four-fold. Firstly, finding the window you want can be difficult
when using the default applet, particularly if you have more than a
few windows open, and particularly if you have a smaller screen.
Secondly, few people make use of the multiple workspaces idea, largely
because they were just unaware of their existence. Thirdly,
application menus are a slow and inefficient way to open up new
applications; some take advantage of launchers or the run dialog to
improve on this, but most don't know how to do this. And finally, the
current panel is certainly very powerful, but its power is wasted in
unneeded flexibility such as being able to position the panel in the
middle of the screen.
Perhaps the most controversial proposal to fix these problems so far
is to restrict Gnome to a single static panel: by removing one panel
we'd be saving valuable screen real estate, and by having a layout we
can depend on we'd be able to use "hot corners" more effectively,
allowing users to easily set their presence, as well as to launch a
new "activities overlay mode". While the idea of a single panel hasn't
raised too much concern, the static point has: Mathias
Hasselmann responds with "Static Panel Nonsense", suggesting that
many Gnome users, himself included, as well as Mac OS and Windows
users, heavily customize the layout of their panels with custom
launchers, and to improve something by removing existing functionality
is not a good approach.
The most promising proposal from my point of view, and what seems to
be a common OLPC inspired train of thought amongst Gnome's community,
is the notion of activities. An activity is essentially what Karl
Lattimer described as a project, made up of individual tasks, and what
many Gnome users organize into separate work spaces in the current
environment. In the current Gnome environment, Vincent argues,
activities and work spaces are static: a user configures 8 desktops
and sticks with them. His proposal is that activities should be far
more flexible, and if a user wants to start a new one then we should
help them by creating a new desktop automatically.
Where Next
Reportedly the release team are busy preparing a plan for how we can
move from Gnome 2.x to 3.0, with the current plan appearing to be that
what would have been called 2.30 will become 3.0. In this time frame,
the very least of what we can expect to see is a revamped Gtk+, but
what changes the user can expect to see is far harder to tell as there
are no known plans for a radical interface overhaul like that seen
during the development of KDE 4. Instead, it appears that the Gnome
release team are planning on sticking to their current principles with
regard to what features will become a core part of the desktop stack:
adoption by popular distributions, stability, and a proven track
record will all be required for features to make it in. This may seem
like it rules out huge amounts of innovation, but there are a number
of existing frameworks in Gnome that are very exciting (PolicyKit,
PackageKit, Clutter, GVFS, desktop search, D-Conf, online desktop),
and perhaps the 3.0 development cycle will see these mature and
finally deliver on their promise of revolutionizing the user
experience, with many of these technologies forming the backbone of
the ideas discussed in this article.
(
Log in to post comments)