Geez

by havoc

Jeff,
Bryan and Seth were both at least a “design team” prior to
working at Red Hat and have continued to work in the same way while
working at Red Hat, so my view is you should leave corporate names out
of it and just talk about people if you want to talk about people. I
don’t know if they are the “official” design team or not, but they are
definitely (with Calum) the authors of the HIG and AFAIK the only
people involved in GNOME who can claim to have substantial interaction
design training and experience.

But really it’s immaterial what is on their diploma and resume. The
fact is that they are good at this, just as the rest of us are good at
the work that we do. And Bryan’s design for notification is a good one
and he posted it openly at some considerable expenditure of his time.
This was not posted at Red Hat’s request. Neither was Colin’s post or
John’s. These guys have been trying to engage in an open discussion on
how notifications should be done, which I don’t quite parse as an
example of “closed development.”

To me this is an example of open discussion and (while I haven’t
asked) my guess is that Bryan posted his notification design even
though he assumed it would be a waste of time since he’d have to get
in silly flamefests about it and people would just implement some
random, bottom-up thing anyhow. I’d guess that Seth would not have
spent time on a design for that reason, and GNOME is mostly proving
his point at the moment so he’ll probably taunt Bryan on Monday and
they will both return to working on projects where the developers
listen to them.

If people don’t appreciate the value of design skills and take
advantage of them then GNOME (and Linux) are hosed. I find
well-designed Evince for example just unquestionably, definitively
superior to other similar efforts on Linux. Some people will disagree
but then, dozens of people disagree with the coding decisions I make,
and I’m taking feedback but I’m not taking a
poll
. That’s because I want a successful project, not an
everyone-gets-a-vote project.

There’s the criticism one could make that design is telling other people
how to do the work without doing the work. Two points here. First,
this claim implies that design and usability don’t count as work,
which is bullshit; if done competently they require quite a bit of
work. Second, nobody is stopping anyone from doing the work the way
they want. Go for it. Open source lets you. However, for many
developers their no-design-input work is going to suck and I for one
won’t have qualms about pointing that out.

My personal view is that it should not be the job of GNOME’s designers
(whoever they are) to go around finding and arguing away every wrong
direction. Instead, programmers should be actively seeking the right
design before they type in a load of irrelevant code and specs.

On to your general point about closed company discussions. I half
agree and half don’t. NetworkManager as far as I can remember has been
in GNOME CVS virtually from day 1. I don’t know when Dan moved it from
his hard drive to CVS, but I know from the logs it was in CVS before
it worked at all, over a year ago.

You refer to the “netapplet/NetworkManager debacle,” which I guess
means debate over which to use or which was right. I posted to GNOME
lists numerous times arguing for the NetworkManager approach
(specifically in the context of gnome-system-tools, IIRC). This was
debated quite a bit. And when we started doing it the IMO right way,
it was in CVS the whole time. netapplet and NetworkManager are
entirely different and there was no meaningful code that could have
been shared between them. That’s why you have to design first
and write code second, because design is about what to write
not how to write it.

I didn’t really see a lot of debacle here to be honest. It seems like
NetworkManager is agreed to be the right approach and everyone is
working on it and I never saw any huge flamewar or anything. Maybe
someone is quietly pissed off and I just don’t know about it, I don’t
know.

So I don’t know what the problem is, in some ways. Similarly for
e.g. Sabayon – it’s in CVS and always has been. Gamin – it’s in CVS
and always has been. Yarrr – ditto. X.org/Cairo/Luminocity – ditto. We
make web sites and mailing lists for this stuff and use them. What is
the big secret non-public project you think we are working on?

I said I half agree and half don’t. The half I agree with is that yes
you aren’t seeing a high level of engagement from Red Hat and Novell
on the core GNOME pieces. I think there are a few explanations.
First, we are largely working on surrounding pieces that need more
work. For example HAL and X.org rather than gnome-panel. Second,
people sharing a hallway naturally have hallway
conversations. However, with 1/3 of our desktop team remote this is a
problem for us as well as GNOME, and we do not have an internal
technical list. (We do have internal IRC, and some people like me have
dropped off external IRC due to lack of time. Though, I have always
gone through IRC-absent periods in the 7 years I’ve done GNOME stuff.)
Third, the language split is leading to multiple projects in the same
category. Fourth, the companies are just working on different things
because they have pretty different ideas on what the priorities are,
so they aren’t having to talk to each other too much. I’m not just
saying Red Hat and Novell here; also Canonical and IBM and others.

On the projects that do overlap, it seems to me the
communication and openness is pretty good, e.g. on HAL, X.org, and so
forth. Or even notification systems since there is currently a lively
discussion and I’m pretty sure I’ve seen it discussed in the past too.

(This post was originally found at http://log.ometer.com/2005-08.html#13.2)

My Twitter account is @havocp.
Interested in becoming a better software developer? Sign up for my email list and I'll let you know when I write something new.