Re: Rules for design in Gnome



Why did I write that mail?

First of all, I'm very sorry for doing precisely what I was trying to
prevent - alienating people.  I wrote that mail in anger, always a bad
idea.  I owe everyone, and especially the design team, an explanation.

In Gnome we are going through a period where there is a important
group of developers that feel disenfranchised.  These are not people on
the fringe of Gnome, but hackers close to the core.

We have been in a similar situation before.  Not all of the people to
whom I referred indirectly in my other mail were around at that time,
so allow me to tell that story.

The beginning of the Gnome 2.x series was a very painful time.  The
major companies involved in Gnome were in vicious competition, with
everyone blaming the others for trying to gain control of Gnome.  The
first rounds of usability testing had happened late in the Gnome 1.x
series, and everyone was starting to understand what "easy to use"
software really meant.  We had to kill or rewrite a lot of code from
Gnome 1.x to achieve a simpler and more coherent system.  Things
just didn't work very well during the first Gnome 2.x releases.

A big meme at that time was that software needed to be as simple as
possible in its presentation to the user - as few options and commands
as possible, and everything simplified so that beginners would not get
confused.  People wrote very enlightening essays about the virtues of
simple user interfaces.  We had a rather new Human Interface
Guidelines document, which could be used as a reference for keeping
things consistent ("12 pixel spacing between widgets; such and such
capitalization for menu items").

We made Gnome 2.x work well; it was simple to use, the UI looked
clean, and developers successfully internalized many of the ideas that
we had struggled to push through earlier.  It was a great victory to
see that throughout Gnome, instead of random hacking we had people
basing every decision on whether the resulting software would be
consistent and easy to use.

And then, people wanted to take Gnome further:  add more
functionality to existing software; integrate new things into the
core; make things more complex but with good reason.

However, the "keep things simple and stable" meme got taken too far.
Proposals to add functionality got shot down.  Modules couldn't be
integrated.  In trying to keep things simple and stable, and in trying
to polish existing things rather than creating new ones, a loose and
small group of people were inadvertently alienating those who wanted
to do new kinds of development in Gnome.  There was a lot of
discomfort because Gnome seemed stagnant.

Someone came up with the term "UI Nazis" and it stuck, Godwin's Law
and all.

Things got near to the breaking point when Nat Friedman gave a
keynote address during GUADEC 2004, titled "Swinging the Pendulum".
You can see it at http://nat.org/NatFriedman-GUADEC-5-Pendulum.sxi

One of the main points of Nat's talk was that we were at a point where
Gnome was ignoring innovation for fear of losing simplicity.  His
presentation had a section called "barriers to hacking", where he had
items like "lack of tools", but also items like "lack of community",
"embarrassment" (because your work is not seen as good enough),
"humiliation" (because you get told that you are not up to Gnome's
standards), and "ridicule" ("you think *that* is a good UI?  It
doesn't even follow the HIG!").

There is a big slide in that talk that says, "We need the cultural
freedom to innovate".

>From what I've seen happen since the start of Gnome 3, we are at a
similar period right now, where groups of Gnome developers are in
discomfort because the dynamics of the project are working against
them.

You could say that in Gnome 2 our meme was, "keep things simple for
the user", and in Gnome 3 our meme is, "design first, then develop".
BOTH ARE GOOD THINGS TO DO!

The problem is when you do too much of each.  We tried to keep things
*too* simple, so we couldn't innovate.  Now that design is at the
forefront, we have these happening:

* People feel like the design team has to give them permission to
  write things.

* People feel like they can't come up with (visual/interaction)
  designs on their own because it is the design team that does that.

* People write well-reasoned emails explaining things, and apologize
  at the end with "... but I'm not a designer.".

* The feature proposal process is vague.  We had a module proposal
  process that is not ideal for everything (especially "horizontal"
  changes that involve many modules), but at least there was a clear
  way to get a new module integrated.

And the thing is, THE DESIGN TEAM DID NOT INTEND FOR ANY OF THIS TO
HAPPEN!

During Gnome 2, we had many of the top-tier hackers simply leave the
project, one by one, because they got tired about all the bickering.
They now contribute elsewhere where they don't have to bicker as much.
I don't want to have situation in Gnome 3 where we lose good hackers
due to the current situation.

Plase consider this mail my apology and my explanation.  I see that
Allan already started a thread on how to improve things, so I'll
continue there.

  Federico




[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]