[Desktop_architects] Printing dialog and GNOME
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
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.
More information about the Desktop_architects