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

Re: Desktop normalization (fwd)

[ My appologies, the message that Marcin is replying to should have
  been sent to the mailing list but I forgot to change the headers in
  elm (hey it was 2am ;-). Nonetheless, I'll try to clarify somethings
  which only make sense with a copy of my message.
  On a related note, I replied to another's message last night too and
  also forgot to direct that to the mailing list. Could that person
  (whose name escapes me) kindly forward that to the list, since I
  don't keep copies of most of my mailings? ]

I was deep in meditation when Marcin Krol awoke me by saying:
> On Tue, 24 Nov 1998, Aaron wrote:
> > > Who said standard *prevents* you from doing so? I am last one to consider
> > > conserve-it-in-the-plastic MS approach. Just implement modifiable
> > > standard. Irreplaceable standard - that is the problem definitely. 
> > As I implied however, one purpose of a standard (and a primary motivation
> > of the LSB project) is to give potential developers a "still" target, if
> > you will, rather than a "moving" target. 
> Yes. Problem is, what you propose gives developers multiple targets.  Even
> one moving target is still better than whole bunch of targets, some
> stable, some moving. 

No necessarily. What I propose is that we be very careful to maintain a
stable target where necessary. I don't think the abilitiy of inability of
the window manager from doing (for example) windowshade or providing for
an icon box (rather than putting icons in the root window) warrant a stable
target, because they are independant of the actual application, and are
completely within the realm of user preference. In other words, the application
doesn't need to know that its window is windowshaded, or where its icon
has gone; however it does need to know how to perform drag and drop and
may need to know how to dock itself (whether docking be in a toolbar or in
some sort of "active desktop" [parry the thought], etc). That's why I
say these services should be standardized. But standardizing a "look and feel"
(which is generally understood to be independant of application/GUI interaction)
is not beneficial.

All window managers provide the same services to an X application. With
the exception of Motif hints, which may be ignored by non-mwm window
managers, an application simply talks to the generic window manager as
defined in the X protocol. A window manager, by necessity, must be
able to implement the requests sent to it from applications.

The contraversial part is the Desktop Environment, since this is not
per se the window manager, and is not standardized. However, to choose
one type of Desktop Environment (e.g. KDE) over another is a poor
idea. Rather, we should define the basic services which all desktop
environments must implement, and maybe some extended services which would
be optionally implemented. Then, once KDE and GNOME and whatever else implements
the standard API, its still up to the user which one he/she wants to use.
Then, application developers don't need to directly access CORBA services
to write a GNOME-compliant application, because there will be a standard
API on top of these GNOME services, and the application writer can access
services like DnD by making a call, such as drag(), which will work
across environments. It'll be up to the environment developers to implement
the API in their native services. 

This wouldn't preclude application writers writing environment-specific
services, but it would greatly encourage them to write standard-compliant
services. In other words, the application could still access DnD via GNOME-
specific protocols, but the developer will probably choose the standard
protocol so that non-GNOME users can use the application in the same way.

> >If we were to supply such a 
> > standard [f]or GUI development, and at the same time encourage users to
> > disregard it, we would be defeating the whole purpose of the standard.
> In mission statement I read that purpose of standard is increasing
> compatibility. 

But if the standard leaves room for its disregard, whatever its purpose
is, it is not well served. If we say "KDE is the standard, but if you
don't like it, use GNOME", then what have we gained with a standard? I
say KDE (or even GNOME) are bad choices for inclusion into a GUI standard
because they are implementations not interfaces. If, in response, you say
"then change the environment you use," then I am not standards compliant.
If the standard itself says "you can change the environment you use" then
I'm confused because it is telling me to disregard itself. Although I've
used KDE and GNOME in this argument, what really frightens me is
a standard window manager (which KDE as a standard would imply, as I
understand it, since it requires kwm). Let's face it, in the  Unix world,
people use different window managers, even if a few are more dominant
than others. I view this as an asset, and I am happy that the X protocol
was developed to accomodate this. I think it would be horrific to throw
that asset away in the name of ease of use. Ease of use itself can be 
ccomplished via other means, and I don't think belongs in a standard at all.
As you cite, the purpose of the LSB is interoperability and compatibility.
These things may contribute indirectly to ease of use, but primarily they
contribute to ease of development. As I understood it, the motivation
behind the LSB was to encourage a higher level of development and support,
especially from commercial concerns, by making development easier via 
interoperability and compatibility. Where GUIs need these two things,
IMO the desktop environment services, a standard should cover it. Where
they do not, IMO window managers, look and feel and ease of use, a
standard is not necessary and actually becomes a deterrent to the end

> > Certainly standards should be modifiable, but not unilaterally.
> Well, if you modify your desktop then you definitely modify
> standard unilaterally. 

Only if the desktop is standardized, which is why I am opposed to
standardizing the desktop.

> > A standard,
> > at any one point in time should be solid and immobile; 
> Not necessarily.

Well if it's not than it is not a standard. As a developer, I should
be able to print out a copy of LSB ver X.Y.Z and code an application
which will run on all LSB X.Y.Z-compliant systems. If that's not the
case, then what do I gain by even looking at the standard?

> >otherwise what's
> > the point?
> Interoperability.

Which cannot be achieved if there is not a solid standard.

> > > Not at all. Just having default wm and standard xclock does not prevent
> > > you from replacing them, does it. 
> > Ahh, but a "default" wm and a "standard" wm are two different things. However, I
> > don't think it's in anyone's interest to attempt to mandate either
> It is in everybody's interest to point at interoperable default.

No, when interoperability is the goal, a standard, not a default, is
warranted. Defaults imply that the default may not be what's there. Standards
imply that no matter what, the standard is there. I just don't think that
ease of use and look and feel issues are interoperability issues. I agree
with the original poster's intent, that a standard API be developed to
access services common to desktop environments like GNOME and KDE. What I've
been disputing with is some folks idea that we should go further and 
actually standardize on a specific environment and window manager.

> > (for instance, fvwm2-95 may be better for beginning users who
> > are accustomed to a Windows interface, but mwm may be better for users 
> > accustomed to Solaris, etc). The standard wm is best left to the free market.
> Even then many people want to use different desktops. Then developers
> will make compromise, which leaves those other people on the ice - either
> employ this de facto standard or don't use app. That's MS way.

No, because there's nothing inherent in a window manager which demands
application compatibility. All window managers have to understand all
applications; otherwise it's not a good window manager. The question
is the additional services not specified by window manager. What I gathered
was that you proposed standardizing on a window manager/dektop environment
for the sake of ease of use. I think that may have been an incorrect
conclusion and from your comments, I think we probably agree on more
points than we disagree.

> > > > This is exactly what has turned
> > > > many away from Microsoft and Microsoftesque (new word ;-) products, 
> > > 
> > > Frankly, I do not see many people doing that. If anything, it is reverse.
> > 
> > Well I'm afraid I do see many people doing that. I'll take a leap of faith and
> > say that most of today's Linux users were previous users of DOS/Windows.
> > Nonetheless, your statement belies a more serious misconception, IMHO; that
> > we should borrow from the success of Microsoft by doing what Microsoft does.
> I don't know how exactly you define borrow; however we definitely need
> to learn from it's success and from mistakes of traditional Unix vendors.

I agree. But just because Windows does something and Windows is popular is
not a good argument for Linux doing it. I think there are many weakenesses
in the Windows UI and in applications' interaction with that UI, and I think
to emulate the ideas present in the win32 UI would be at the least a
poor idea, at the most a disastrous one (disastrous for LSB and thus for
Linux, since I think the success of Linux is affected by the success of
the LSB).

> > In fact, I'll wager that the blossoming of Linux is in a large part due to
> > the fact that there are different motivations and different ideas behind
> > the movement. 
> >If we begin to adopt the techniques of Microsoft (specifically,
> > by catering to the lowest common denominator by mandating user interface at
> > the expense of customizability and control), then we weaken the foundation
> > of Linux's success.
> But lsb at all *is* such denominator, isn't it? Call for participation:
> "The application of the standard will be that any program that runs
> successfully on the reference platform can be expected to run on all
> Linux systems. If they don't, the distribution creator must either fix
> a problem with their own distribution, or convince us that there's a
> bug in the sample distribution which violates the standards."

Yes, the LSB will define a LCD which applications developers can expect
to be present, but it doesn't (or shouldn't) do this at the cost of limiting
advanced options. Mandating a user interface limits my ability to extend
it. If the standard says that iconized windows must go to an icon box, then
I cannot have them go to the root window without violating the standard.
On the other hand, if the standard says that applications may be "docked" via
a standard interface, without passing judgement as to how it will be docked
(maybe in a root window, maybe in a taskbar, etc) then I think that's

> I am not calling for favoring some solution. I just recognize the need
> that would allow creating such standard that would allow developer to
> develop single package which ideally would run in all Linux environments
> (maybe even with X or Berlin instead of it for example). 

I think this can be accomplished by standardizing on GTK. Let's leave it
up to GTK to worry about implementing a Berlin-compatible adapter. For
the time being, X is the the standard low-level windowing protocol. Making
GTK the standard toolkit (that is, the runtime libraries are gauranteed
to be available on any Linux system with GUI capabilities) I think is
a good idea. It's the most common (AFAIK) open source toolkit, it's
pretty much language-independant, since it's in C and there are many
bindings to it, and it's pretty comparable to Motif (the commercial
defacto standard, but one which is invalid for inclusion into an LSB
graphical toolkit standard).

Notice that this does not affect the desktop environment issue at all,
nor should it. Desktop environment services should be available as a 
different component of the standard, and really shouldn't be OS-dependant
at all (as I suggested in my other "lost" mailing). I wouldn't place
such a standard into the LSB, because it should be developed to be
applicable to all OSes (even if it is only realized on Linux). In my
other mailing, I called this GUISE (GUI Standard Environment) because it
was a witty (IMHO) acronym ;-). GUISE would be careful to define standard
environment services, in the most abstract way as possible while still
retaining meaning. LSB would therefore only state that it adopts GUISE as
a GUI environment services standard. Conceptually, Windows or MacOS or
Be could adopt GUISE as a standard as well.

> This does not extinguish competition between various vendors and
> solutions. If anything, they are afraid of competition right now - in fear
> of alienating user base.

Exactly, and any standard which would do that (read, is too contraversial)
will be roundly ignored by the vendors and thus will be meaningless in
the real world.

> They have to choose some subset of users, or
> develop for multiple groups. Consider Netscape linked statically with
> Motif and dynamically with Motif for those who don't have it and for those
> who have it. 

Correct, Netscape knows that on Linux, Motif is not gauranteed to be there.
If GTK were the standard, Netscape would at least know that it is 
gauranteed to be there, therfore no need to statically link. It still has
the option of using Motif because there would be nothing in the standard
which precludes Motif. In this case the standard wouldn't say "you must
use GTK", rather it says "you can use anything, but GTK is gauranteed to
be available".

Similarly, GUISE would not say "the top left titlebar button must bring
up a menu with a fixed set of options in it". Rather it would state that
those options must be provided, somewhere, somehow by the environment/
window manager. For instance, GUISE might state that an application must
be able to be "Closed", "Deleted", or "Destroyed" and that those things mean
certain things. How a window manager provides those services is irrelevant to
the standard, and best left to the implementors of the window manager.

> > > Statistically your opinion is rare.
> > I don't think so. After using mwm for a year, I know many friends at school
> > who are eager to use fvwm or Afterstep or even twm.
> If Linux makes it to headlines, it means it moves out of it's traditional
> niches; so requirements change. Rules of game are no longer like
> they used to be.

Well we have the option of changing the rules to what we *think* they 
will be, or we can let history take its course and the rules will change
to what they will be by themselves. If Linux making it to the headlines means
I have to suffer needlessly, then it can stay on Slashdot. We *must* avoid
"selling out" to the headlines. Linux has garnered attention specifically
*because* the rules governing it are different from the mainstream. If 
we change those rules to the mainstream rules, then Linux loses its appeal.

> > > Priority one for most users is working out of box.
> > > Customization is long down the list of priorities.
> > I would dispute this. While it is very important that a system work out
> > of the box, what keeps a user using it is how well the system works period.
> What keeps user is low initial cost and investment of work into solution.

I don't think so. Low initial cost is what gets the user there in the first
place. Permanent usability and extensibility is what keeps the user there.
In other words, the "Tocal Cost of Ownership" as Microsoft likes to toss
around. In my opinion, Linux right now offers a better TCO than Windows,
which explains its growing popularity among desktop users and enterprise
users alike. Standardized Linux offers even better TCO, as long as its done
right. Needlessly limiting options (especially those the current user base
has grown fiercely accostumed to) reduces TCO. A user may say "why not
install Linux, it's as easy to use as Windows" at the beginning, but later
on may think "why did I install Linux, it's just as limited as Windows?"
That's a situation I think is very important to avoid.

> That's what fills Bill's pockets: ease of installation and constant
> need for correcting PC. Famous Wintel maintenance costs. That's human
> psychology: once you invested a lot of work into something, you
> tend to regard this solution as better than other ones. 

Which explains why I'm defiant of movements to standardize a single
environment/window manager. I'm used to fvwm2 with GNOME. I don't want
kwm with KDE to be standard. I want the two to be interoperable, to
please all sides. Standardizing on a GUISE-type standard could achieve this.
Standardizing on a single look and feel most definately will not, and will
probaly anger users all around.

> I am not claiming we need to act the way MS does; we only need
> to take into account mechanisms that made it successful.  
> > I
> > think that includes customizability. A user is happier with a system they
> > know, and have the oppurtunity to tailor it to their specific desires and
> > needs.
> But not at cost that is too high. Traditional Unix way is simply
> too expensive. 

I don't think so. Traditional Unix has never had a desktop environment, 
fractured or otherwise, which impeded its growth. Thus the developement of
CDE, and later KDE and then GNOME. This is uncharted territory in the Unix
world. We can do this the right way (by standardizing an API to services)
or the wrong way (by standardizing the environment and window manager).
For all its faults, traditional Unix has been around for over 20 years, and
is right now actually increasing in accpetance (thanks to Linux). There is
something to be said for that. Let's make sure we don't throw the baby out
with the bathwater, to coin a phrase.

> > To again use my school as an analogy, mwm is provided as the default
> > wm to allow entering students (most of which have never used Unix at all)
> > to actually use the resources in a sane way, and to allow for an introduction
> > to those resources in a universal way. However, to deny students the ability
> > to modify their environment to suit their own preferences would be a tragedy.
> There is no need to do that. 

Then I am beginning to think we agree here.

> > "Out of box" experience lasts for about a month, I'd say, and that's about
> > how long it takes many people to realize how poor a design Windows is.
> People love novelty, so they want to keep installing new things and don't
> want to fight it each time. They want to install 10 things, want it to
> work out of box, try it, then throw away 8 or 9 and stay with one or two
> of choice. 

Yes, but this doesn't speak to the underlying system. Most people don't
like having to upheave the underlying system. Even Windows 98, which I dare
say is not *as* popular as Windows 95 was, is not that much of a change
from Windows 95. In fact, Windows has always been bogged down by the
installed base clamouring for backwards compatibility. I say bogged down, but
I sympathize with this sentiment. If something works, don't change it until
absolutely necessary. fvwm2 works for me. Don't make me change it, because
I don't see kwm or mwm etc as absolutely necessary.

> > Yes,
> > it works out of the box, but when it's time to graduate from beginning user
> > to experienced user, there's nothing there to allow that transition.
> wrt Windows, yes.
> > That's why I would place "out of box" usability as a burden to the distributor/
> > vendor, and I'd say that 99% of that burden can be filled with default
> > configurations, as the distributor/vendor sees fit.
> Unfortunately no. Someone wrote on freshmeat editorial: try to take
> ten rpm's, convert it with alien and run it on debian without any
> change. I have fought 'alien' many times, and frankly I find such
> work a waste of time. I would hate to see repeat of this when
> it comes to GUI.  

Well this is a different problem. Package installation should, IMO be
standardized for the exact reason you mention. But this doesn't speak
to the runtime interoperability of the application. All that is needed is
to define a base standard of GUI services. Most of this is inherent in
the native protocol (X) and the toolkit in use (GTK). Other services can
be abstracted from the native protocol, even the native OS. There's no
reason to mandate how they are implemented (not just codewise, but 
GUI-wise). One need only look at Java (especially the Swing library) as
a good starting point for efforts such as this. 

> > But forming a standard
> > may fill the burden, but damages the underlying strength of the product.
> > Some have posed the argument like this: supply the "standard" environment, 
> > and allow the user to change it. But how can developers be expected to
> > know what to develop for if even the standard is no gauranteed to be what's
> > in use? Labelling, for instance KDE the standard is misleading to the
> > developer if most people use, for instance GNOME or GNUStep.
> Favoring some particular solution is dangerous and unnecessary indeed.
> > > I am really sorry to say that, but you are proponent of taste, not
> > > usability.
> > If allowing me to modify my environment means that I can be more
> > productive (which, IMO, it does), then you better believe I am a
> > proponent of usability. 
> For you. Not for vast majority of users. Vast majority just wants
> it to do the job on ACCEPTABLE level. Sophistication is hardly
> popular.

I reject this. I think the vast majority likes to customize. The problem
is, with Windows, for instance, there is limited ability to customize.
People tinker with background, system colors, sounds, etc all the time.
The fact that they don't tinker with the overall look and feel of their
GUI is baded on the fact that they can't. In Unix-land one can tinker 
with this, and it has become a popular past time for many users. To
assume that "Joe Sixpack" is somehow less apt than we is wrong. Most of
us didn't know Unix at all while we were growing up (most of us younger
Linux users, anyways), yet here we are. I think that a vast majority of
users of any OS follow stages of usage:

Beginning User - the user has little or no experience with the OS, and
obviously won't want to customize it because he/she wants to learn the
basics first. Perhaps the user has used other OSes, and brings with
him/her some stereotypes which, at this level, are best fulfilled by
the OS configuration, in order to be more familiar with the user.

Intermediate User - any beginning user who uses the OS long enough will
graduate to an intermediate user. This means they are familiar with the
OS, and have learned many of its nuances particular to that OS. The
user is ready and fully capable of experimenting with things which 
contradict those stereotypes which once were fulfilled by the OS.
For instance, rather than having the steroetypical titlebar which
looks like a win32 titlebar (with the buttons arragned thusly), 
the user may begin to experiment with different titlebar button layouts,
or even different titlebar styles (in the case of E, this can be
done ad infinitum). The user can be safely introduced to ideas never
present in the other OSes (pagers and virtual desktops, for example).

Advanced User - most users probably wont make it here, but some will. These
are probably the ones who hacked around with stuff and experimented and
learned the underlying ideas behind things. They know how to administer
most things on their system without help from third parties. By this time,
they have a configuration that will probably change very little and in
increments, because they are happy with it: it is theirs, they made it
and they maintain it. 

Now, certainly Linux is not yet the best OS for dealing with beginning
users. I think it is one of the best for dealing with intermediate
users, and it definately excels at dealing with advanced users. I'm very
interested in making Linux easier for the beginning user, but I'm also
very vigilant that in doing so, we don't unnecessarily limit its value
to the Intermediate and Advanced users.

> > > >The idea that people should be
> > > > able to customize more than just their screensaver and desktop colors is
> > > > one not to take lightly. Unix uses are used to customizing everything,
> > > > from their emacs modules to their shell aliases/functions.
> > > 
> > > If so, what is the point of standardization at all? Why not leave *all* to
> > > end user?
> > 
> > Exactly my point. ;-)
> > Standardization should never be its own motivation. It is a necessary evil,
> > IMO, and should only be employed when the benefits outweigh the costs. 
> > I don't see how mandating a user interface provides more benefits than the
> > costs of alienating users (users who have become accustomed to Linux [and
> > Unix in general] providing for extensive customizability).
> > 
> > > Everyone needs usability out of box to a certain extent. Where
> > > this extent is depends on personal taste. You are entitled to your taste.
> > 
> > Apparently I am not, if a standard is going to tell me exactly how I'm going
> > to do things.
> > 
> > > But the problem is that if LSB sets tradeoff between working out of box
> > > and customization to be skewed too far in the direction of customization,
> > > relatively few people will want to use it.
> > 
> > But I don't think out of box usability is the intent of the LSB. 
> Mission statement:"The goal of the Linux Standard Base (LSB) is to develop
>     and promote a set of standards that will increase
>     compatibility among Linux distributions and enable
>     software applications to run on any compliant Linux
>     system."

Nothing in that speaks to out of box usability. Let me clarify, by out
of box usability, I am referring to Linux itself, not applications. Vendors
are under strong pressure to provide for out of box usability in Linux, because
otherwise potential new users will be lost. Application developers are
also interested in their own applicaions' out of box usability for the same
reasons. The LSB was set, AFAIK, to provide a common and standard framework
for allowing application developers to develop easily interoperable and
compatible applications. It is still up to the developers, however, to
actually do so. I don't see how allowing users to alter their window manager
and desktop environment restricts this, as long as a standard for such
services is defined. Window managers have such a standard within the X
prototol itself. Desktop environments do not, and a GUISE-type project could
supply them with one. Lets not follow CDE's and KDE's examples and integrate
that standard within a single toolkit, instead we should develop such
a standard as a completely seperate API (as GNOME has tried to do) which is
window manager, toolkit and window system independant.

> >But not a standard on look and
> > feel, but rather a standard on services provided by the environment.
> Agreed.

Here is my evidence that in fact, we agree on all the important issues in
this discussion.

> > I'm
> > just wary that in the process of standardizing these GUI services, we
> > get tempted to drag in specific implementations of those services,
> No specific implementations. It's not only about holy wars; it's about
> legacy code. Suppose app developers write for some generic UI
> specification; then if some day berlin matures enough, there won't be as
> many legacy problems (ideally no problems) in moving old software to new
> environment.

Yes, but there are two components to the application: the desktop environment
services and the toolkit services. Toolkits are, currently, very coupled
with the window system underneath. There is no reason that the desktop
environment services need to be. Therefore, both the desktop environment
API and the toolkit would need to be ported to the new window system. 
Philisophically, I don't see a problem with this, but I think it's more
likely that something like Berlin would have to make itself X-compatible.

> > rather
> > than interfaces (for instance, if we specify that the GUI provide a means
> > of performing Drag and Drop [according to some standard, such as xdnd],
> Oh yes. One thing that is CRITICALLY necessary is universal drag and
> drop. I do not especially miss it; casual users miss it.

I miss it for some things. Surely it can be overused, but when used properly
it makes for a much nicer and more efficient environment.

> > > I've had such experiences with
> > > users for which I installed Linux (for free). "Why is not there one way to
> > > do it"? "Because it is assumed people will do it different ways". "I don't
> > > care HOW it is done, I only care to get it done".
> > 
> > Well, I think how it is done is a very important question. To disregard this
> > is to throw away all the reasons to even use Linux. No doubt that Windows
> > can do most of what most people require of it.
> > However, the fact that Linux
> > can do most of that, and do it better, is a strong endorsement. 
> Correct. But that does not invalidate view that linux needs to be able
> to do most of what most people need. IOW, linux needs also to be able
> to do what Windows do - and more. Linux capability has to be superset
> of Windows capability, not unrelated set of capabilities. 

Agreed. But in providing those capabilities, we needn't throw out those
capabilities which are not in the subset. For instance, Window may have
a single look and feel, but there's little reason Linux needs to be
limited to that. In fact, there are lots of reasons it shouldn't be, the
least of which is that the current user base demands that capability.

> <snip>
> > > >I hesitate
> > > > to say which environment or window manager is in greater usage, and to base
> > > > any standard upon one which is not (or just barely is) is to upheave the
> > > > entire process and at the same time lose credibility where it counts:
> > > > the users.
> > > You can not loose more credibility in eyes of user than in the
> > > case when product does not work out of box.
> > Certainly you can. There are many users who have already taken the system
> > out of the box. If we throw away their concerns, then we must ask ourselves
> > what audience are we providing for? We may attract new users, but if
> > in the process we alienate old users then we are playing a dangerous game.
> > Windows is good at attracting new users (mainly because it's what comes up
> > when they start their computer out of the box), but I think it has a poor
> > track record at keeping their interest.
> > Most Windows users will tell you
> > why they use Windows, not because it's enjoyable, but because it's the
> > only option they see available to them. 
> Then our experiences are different. IMHO more than half of users enjoy
> Windows for one purpose - ease of use.

Nah, lots of things have ease of use: OS/2, MacOs, etc. I suspect that had
OS/2 been on 90% of all new computers as the default OS, Windows would be
dead, because they both were about as easy to use. The defining factors is
that Windows is preinstalled, and most applications require it. Take those
two facts away and the the OS world would be alot more hetergenous. I still
stand by my assertion that most (continuing) Windows users use Windows because
they see it (justifiably or unjustifiably) as their only option. I haven't
talked to very many people who use Windows on a regular basis that are
overwhelmingly satisfied with it. Nonetheless, one can't argue that most
Windows users wouldn't like to alter their look and feel, since it is
almost impossible to do so (yes you can replace Explorer.exe but that has
a whole slew of problems, and is not generally a solution most people know

> Less tweaking necessary. If that
> means lower productivity, so be it. Solutions change so often that
> realistically user does not even need to maximize productivity, because
> before learning curve saturates user jumps to a new version or new
> application. What's the point of learning something in depth if tomorrow
> it will be thrown away and replaced with something different? Low initial
> learning cost is what is most important in environment that changes
> frequently.

But once a user has customized their environment, they rarely change it.
There is nothing in customizing an environment which would make specific
applications more productive. Rather it makes the overall usage of the
OS more productive and efficient. These things, I submit, do not change
readily once a user is satified with them. If a user is satisfied with
the default configuration, then great; but if not there should be some
leeway for modification. In Windows there is leeway, but it only is
in little things: the color of the windows, the wallpaper, the resolution,
the sound scheme, etc. These things do little to actually alter the
behaviour of the window manager, just how it looks. I submit that there
is nothing wrong with allowing the user to alter the behaviour of
his/her environment, as long as the end result is the same (e.g. who
cares where my iconized windows go, as long as they are iconized and
can be uniconized? who cares if I want to windowshade a window? who
cares if I want to switch to a different screen in my virtual desktop?
etc. etc.)

> > > > A company which expects KDE will be encouraged to
> > > > write KDE-only features into their product, because they will falsely
> > > > believe that everyone can handle that functionality.
> > > A company that is so clueless deserves to die.
> > To accept other than my presumptions is to place a burden on companies
> > so large that they won't be able to meet it anyways. For instance, let's
> > say that, although X11 is the GUI standard for all Unices, 
> What if you want to swap to different GUI? Is not X11 a bit like Windows -
> you stick with it because you have to?

Yes, and there definately is a point at which one must say "this is how
we are doing things." The native window system is such a point. The 
functionality of the window manager, IMO is not such a point, so long as
it supplies the standard services I've been talking about. Likewise for
a desktop environment.

> If there were kind of HTML for user
> interface, moving to different GUI would be more practical, kind of like
> having new browser does not mean that all web pages on whole internet need
> to be rewritten. Some features will gradually evolve out, that's all. 

Yes, and what you are speaking to is a standard protocol. X is a standard
protocol, like HTML. We cannot allow ourselves to micromanage how developers
use X in their applications, just as it would be unconsionable [sic?] 
to standardize how web authors use HTML to product their content. We need
to make sure we are standardizing protocols and not the usage of those

> >a company is
> > in the mindeset that somewhere, someone may not be using X11, but rather
> > may be using Berlin and therefore they must place parallel efforts in
> > developing for *both* protocols. 
> Purpose of standard I ask for is exactly what would eliminate such need.

Yes and we have such a standard in mind: X, because it is the de facto standard.
But when we are talking desktop environments, it's not so clear because there
is not a de facto standard. Furthermore, X is a protocol with many 
implementations (XFree86, Accelerated X, etc). KDE is an implementation of
a proprietary (in the sense of non-standard) protocol, as is GNOME. What
we need is a basic standard protocol which KDE and GNOME and anything else
can implement with the most leeway possible while adhering to the protocol.
I think this is what the original poster in this thread was getting at.

> >Well, demanding such from developers is asking
> > a little too much, I think.
> Then take a look at what you propose: it is exactly variety of protocols
> for developers what your proposal effects in!

Not at all! I merely ask that I be free to choose the implementation of
a standard protocol which best suits my needs and desires.

> > The fact is, they are doing just that; and slowly, but surely, these issues
> > will be addressed. If Red Hat discovers it can increase its user base by
> > supplying a simpler default configuration, then I assure you they will do
> > it.
> > I myself cannot attest to Red Hat's current default wm configuration
> because
> > I happily altered it to my own before ever even typing 'startx'.
> Me too. Problem is, this is not solution for casual user - and this is

Yes, but we can leave it up to Red Hat to determine the default configuration 
for the beginning, casual user.

> > > > These are good things, IMHO.
> > > It's like every diagnosis in social science: some do, some don't. Depends
> > > on taste.
> > Well this can be said about anything, but I think it's more of a
> > filibustering argument than anything.

[ Here I used an underwear analogy, that I could function wearing underwear
a size or two too small, but I wouldn't be able to function to the best of
my ability. ]

> No, it's only suggestion that UI *is* like underwear - very personal
> thing. But nevertheless, mass production here is still necessary. Few
> people are going to sew their own. 8-)

No, but few people are going to accept a one-size-fits all policy. If that's
the policy in effect, they probably will purchase another brand which has
more options available to them.

> > Nonetheless, if you're suggesting that
> > people don't want to be able to choose their own interior decoration, I suggest
> > that taste or not, you're on the losing side of the argument.
> Not in as big extent as you think they are. Few people actually want to
> carve every detail in their interior decoration. They settle down
> compromise between customization and using massively produced
> off-the-shelf things. 

Yes, but you'll rarely step into two houses decorated the same with the
same furniture. Likwise, why should all dektop environments be carbon
copies of some lofty standard? If the furniture is analogous to the
features of the desktop environment, then let people decide what
features they want to use and how they want to use them. As long as we
know that everyone will have a chair and a bed and a kitchen, who cares
what they look like or how one uses them to achieve the ends they were
intended for. If an electric stove cooks the food and a gas stove cooks
the food, all we are concerned about is that the food gets cooked. Its
up to the owner of the house which type of stove he/she wants to use to
cook it.

> > But there is a such thing as software that is "mature." LaTeX, for example,
> > is mature.
> ..and dead on mass market.

That's irrelevant to my arguement. Even popular technologies like Microsoft
Word are mature. Sure, the file format keeps changing (intentionally), but
a user of Word 95 will still be able to use Word 98 with little new instruction.
That's because it's a product that's been around and has had the time to
incorporate feedback and learn what works and what doesn't. KDE and GNOME and
I even say CDE do not have the maturity necessary to extract a definitive
API from, IMO.

> > Xlib is mature.
> ..and everything important happens elsewhere.
> > The Linux kernel is mature. 
> Most of it, yes - but still in constant development. I'd say
> that major factor in linux success is ability to provide *both*
> stability in even-numbered versions and rapid development in odd-numbered
> versions. But this stability is a stability on the edge of change - "when
> new stable kernel?".

But when I start up the system, I can expect certain things to happen.
There are always experimental and developmental components in software, but
there will inevitably be certain components which have stood the test of
time, and that we know should be there. I just don't think desktop
environments have had the chance yet to develop such components. (Yes we
know DnD should be there, but what about application docking?)

> > If one desktop environment becomes dominant, then it will become the
> > standard. If one doesn't, then there is no place for a specific one in
> > the standard. Again, the services provided by the different environments
> > certainly warrant standardization efforts, once those services are deemed
> > important and their interfaces mature enough to extract the necessary
> > information for investigation and development of the proper standard.
> > As for the desktop being an add-on, I wouldn't put it those terms. I would
> > say that there are different components to an operating system, and one
> > of those components is (by necessity) a user interface.
> And thus there needs to be some abstract definition of it. Developer
> writes single package, drops it in, and it comes out on every desk 
> in various flavors, being consistent with particular flavor.  

Again we agree. This abstraction needs to be defined in terms of a protocol,
with very little guidelines as to how the protocol is implemented.

> But it's not about me - it's about linux vs. public.

Let's make sure the public doesn't win at the expense of Linux. I think,
if handled properly, both will win.


| Aaron Gaudio                   mailto:icy_manipulator@mindless.com |
|                    http://www.rit.edu/~adg1653/                    |
|      "The fool finds ignorance all around him.                     |
|          The wise man finds ignorance within."                     |

Use of any of my email addresses is subject to the terms found at
http://www.rit.edu/~adg1653/email.shtml. By using any of my addresses, you
agree to be bound by the terms therein.

Reply to: