[Desktop_architects] Printing dialog and GNOME

Linus Torvalds torvalds at osdl.org
Tue Dec 13 13:44:23 PST 2005



On Tue, 13 Dec 2005, Christopher Blizzard wrote:
> 
> I suspect that what you see as a raging hatred for user configuration is
> instead just a symptom of what we consider important in GNOME.  We are
> willing to prioritize "working well out of the box" and "consistent and
> easy to use" over user configuration.  So that particular set of
> features just never bubbles up to the top.  As near as I can tell it
> just is a question of priorities.

I don't understand why you and Havoc seem to be of the opinion that 
working well out of the box and having good defaults is in any way 
something I argue against.

I absolutely don't. I think it's very important that defaults should be 
sane, and the "out of the box" experience should be what a user can be 
expected to, well, expect. I was kidding about "focus-follows-mouse" being 
the only true window focus method: click-to-focus does actually make sense 
as a default, because it's what a lot of users are brought up to expect.

Similarly, I do actually agree with people who say that KDE is cluttered. 
The KDE menu system is overwhelming. But that's a totally separate issue 
from the notion of _capabilities_. You can decide to have a uncluttered 
desktop that is still _capable_. I believe we've seen that with some of 
the distros that do use KDE, eg Linspire. 

So you can have your cake and eat it too. It's not an either-or thing. 

> That doesn't mean that we don't need to fix printing, and the printing
> dialog - we still do.  But it means that fixing printing is probably
> going to take a higher priority than adding new features to the window
> manager. :)

I really don't care about the mouse thing. It's the reason _I_ hate using 
gnome, but hey, I've got alternatives.

The reason I exploded is that (a) I've been watching this desktop thing 
because I got added to the mailing list by mistake and (b) the gnome 
disregard for flexibility has been grating me for a _long_ time.

To me, open source _is_ about flexibility. And no, I'm not talking about 
people re-compiling their applications and making changes to them. The 
fact that the source code is open is in some ways both the least important 
and the most important part: it's the least important in the sense that in 
practice, very few people actually change source code, and even those that 
do tend to be very _focused_ on one particular project (or even just a 
small _part_ of a project).

So the source being open is - on average - not important to people 
directly. Even major developers only work on a small part of the whole 
stack at a time, they don't go around changing all the programs they use 
to suit them. 

But _indirectly_, the thing that open source really excels at, is the 
flexibility it offers thanks to having lots of users, and lots of users 
whose needs get _heard_. THAT is the core of open source. You've got 
different kinds of people that get attached to a project. It's _not_ a 
corporate mono-culture, because people from different backgrounds can get 
together and work on it _without_ going through the corporate mind-wash.

And to me, gnome is killing itself as an open source project, because it 
ends up dismissing exactly that thing. Having strict UI rules ("The HID 
says so-and-so") that are really a religion that you're not allowed to 
question. The whole notion that things are supposed to be done just one 
way is antithetical to what makes open source successful in the first 
place.

I think the KDE development process has been a lot more "lively", and I 
think a _lot_ of the reason for that has been that they haven't allowed 
the "interface nazi" kind of stifling of what people feel they need to do. 
Read the recent KDE-3.5 release announcement with the "visual guide to new 
features", and you can _feel_ the energy. Sure, they have three different 
kinds of desktop choosers. So what? You don't have to use them. But the 
capabilities are there if you want to.

And I think that's important. It's important, because that developer 
energy, in the end, is what get things done. And as a side effect, you 
will automatically end up with a system that understands that defaults may 
be good, but that different people have different needs and views. Because 
you had a very diverse group of people that worked on it.

So developers are more energized, and I think users are also automatically 
happier. They may not even realize why, but I believe it's to a large part 
because their needs are taken care of - not necessarily because they ask 
for it, but because the developers themselves are more varied and thus 
tends to have more different needs, and often took care of the different 
needs of the user base to some degree automatically.

This, btw, is also why a "enterprise desktop" should never be allowed to 
drive development. It is, by definition, boring and same-old, same-old.

And if you don't see the parallels with "enterprise UNIX" and "Linux" 
here, I think you're blind. The thing is, Linux (the kernel) got better 
than just about any enterprise Unix kernel _not_ by trying to develop 
itself for the enterprise, but by allowing and encouraging different kinds 
of people to all scratch their own itch.

Yeah, the whole development process is a bit more chaotic, and maybe a bit 
more "cluttered" and even scary, but the end result is BETTER. And yes, 
Linux (the kernel) has a million drivers that the "serious guys" don't 
care for. But that wild and crazy thing is exactly what made Linux a 
success in the first place.

> In any case, this is a different question that hasn't been asked here,
> and one that I think people are stumbling over and that is "what are the
> effects of design decisions on the size of an open source-based
> community where choice is more important than design focus?"  I suspect
> that given that question I would expect that the KDE community would be
> larger, but less focused on a single vision.

I agree - I think this is part of it. But see above. I think it's a small 
part of a much bigger issue.

> > But the fact that users and developers don't know does NOT mean that 
> > customization is bad. Quite the reverse. It means that defaults make 
> > sense, but since you don't know what they'll be doing, you should always 
> > strive to have ways to let _them_ make the choice when they have some 
> > reason the default doesn't agree with them.
> 
> I kind of agree with this statement, but I think it's overused to
> justify all kinds of nonsense and avoid good system integration.

The thing is, developers shouldn't see themselves as system integrators. 
If they do, they just limit the end result.

This is a hierarchy. You don't put the developers at the top of the heap, 
the same way you never put developers face-to-face with your customers. 
That would just scare the customers away.

You let developers be developers. Encourage a bit of crazyness, because 
the best developers _are_ a bit crazy. It's ok. Let them do things that 
you don't think necessarily always make sense for the user, because that 
not only makes them happy, it's also how sometimes you get the really 
great things that _do_ make sense after all.

And encourage them to make things configurable, so that the system 
integrators and distributors can then make it all come together as a 
more unified whole. Maybe it won't be _totally_ unified, but what you win 
from allowing people to be people _more_ than makes up for it.

Thinking that developers should also have to be aware or care about the 
crazy UI HID notion of the day is just stupid. It just alienates 
developers. And don't tell me that Gnome as a project hasn't alienated a 
lot of developers, because some of them have been emailing me privately as 
a result of this flamewar.

			Linus



More information about the Desktop_architects mailing list