[comp.windows.x] where X went wrong

rws@EXPO.LCS.MIT.EDU (Bob Scheifler) (09/09/90)

    Where things broke down is not
    taking a higher view of the interface creation  process  and  building
    systems which generate and manage the interface at a meta  level.

If you talk to the designers of Xt, I think you'll find they assumed from
the start that there would be higher-level interfaces (e.g. an interface
builder at a minimum) wrapped around Xt and the toolkit.  Prototype
interface builders for Xt toolkits were done years ago, I believe.  But
their absence doesn't really negate the utility of having an Xt-like layer.

    The
    addition  of  Xt seems like adding macros to assembly, metaphorically,
    rather than building high level  structured  languages  and  interface
    generators.

I would think that many existing systems have an "intrinsics" kind of layer,
although it might not be cleanly factored out as such.

    Building from this base simply has created  a  really  tough  learning
    curve, compared to providing systems at the  level  of  HyperTalk  and
    4GLs.  There is simply too much  the  application  programmer  has  to
    understand to get to first base.

Most people will agree completely with you.  But the problem is not a simple
one.  Xt serves as a common base for multiple vendors with competing products.
While it is conceivable to think of some variation in history which would
have resulted in a single high-level API (and perhaps a single GUI) in the
UNIX market, it is rather difficult to think of a realistic one.  If you
have ideas on how it could have been accomplished (at a political level,
not just a technical level), I'd be interested in hearing them.

    Considering we have some of the brightest minds out there making these
    strategic decisions, I'm really surprised this is the current situation.

Perhaps because the goals and requirements of the decision makers didn't
match yours?

    With a central server  mechanism,  issues  currently
    handled inconsistently by the toolkits and window manager would become
    moot points.

And other major problems solved by the toolkit/WM method would in turn
become major problems again. :-)

    Additionally Internationalization would be consistent and easier...

My experience so far suggests that nothing makes internationalization
easier. :-)

    To me it isn't any surprise that the existing systems in use by  large
    numbers  of  end  users are the Mac and Windows 3.0.

Not surprising to me either, since the hardware platforms they run on
constitute by far the bulk of the market. :-)

    Although I don't
    program either, both systems seem to have  higher  level  interactions
    between  the user and the applications in manner of environment.

Hmm, I'm not sure I see this.  Perhaps you are comparing a "complete system"
on the Mac or PC, with the "X standards".  Not exactly a reasonable comparison.
The X market is quite different in structure (multiple vendors competing at
the GUI/API level) from the Mac/PC market (single vendor with dominant control
of the GUI/API).

    X is dealing at granular levels, fighting upward.

X standards have progressed bottom up, true.  Because that's where it has
been possible to obtain agreement.  The upper layers, where end users care,
are fraught with politics (just consider what has happened in the IEEE P1201.1
group).

    The solutions  out  there
    for  the masses give the end user a top-down approach, and therefore a
    more   warm  fuzzy  feeling  of  security.   They  are  consistent  in
    appearance, and plug/play correctly. And are easy to setup and modify.

I find the Mac quite difficult to deal with, but then perhaps I'm weird. :-)
I find quite often that I simply accept the inability to modify.

    It would be nice if that was more the norm in the X world.

Sure it would.  How would you propose to solve it?  I'm sure OSF and UI and
NIST and X/Open and IEEE and ... would love to know what the solution is. :-)

    There is no reason that X could have not gone  on  this  path  in  the
    past.

Perhaps you'd like to write a paper on the subject, I'd be interested to
read it.

    Hopefully there will be lessons learned from
    the premature introduction of standards in the creative  process.

This is an interesting statement.  X did not introduce high-level
standards early on.  This was supposed to help the creative process
(permit exploration of different user interfaces).  In that regard
I think it has succeeded rather well: if there weren't so many options
to choose from, it wouldn't be so hard to get a standard. :-)  It would
be interesting to know more about how you think things should have
progressed, and whether it would have enabled the same level of
creativity in toolkits, UIMSes, window management styles, desktop styles,
GUIs, etc.

argv@turnpike.Eng.Sun.COM (Dan Heller) (09/10/90)

In article <9009091549.AA21182@expo.lcs.mit.edu> rws@EXPO.LCS.MIT.EDU (Bob Scheifler) writes:
>     The
>     addition  of  Xt seems like adding macros to assembly, metaphorically,
>     rather than building high level  structured  languages  and  interface
>     generators.
...
>     Building from this base simply has created  a  really  tough  learning
>     curve, compared to providing systems at the  level  of  HyperTalk  and
>     4GLs.  There is simply too much  the  application  programmer  has  to
>     understand to get to first base.

> Most people will agree completely with you.  But the problem is not a simple
> one.  Xt serves as a common base for multiple vendors with competing products.

This statement should probably be emphasized more.  Many people see
Xt as a monster that will take years to understand well enough to
write worthwhile applications.  But the complexity in writing a real
product-ready application is such that such complexity will eventually
be realized whether it goes thru Xt or not.  It just so happens that
it becomes easier when you use Xt-based toolkits (or other well-developed
toolkits).  And perhaps this is meta level you're referring to when you
say that the problem with X is that it doesn't provide this level of
abstraction.  should a company that sells monitors subscribe to a 
particular GUI or (gasp) API?  The position X is taking is somewhat
similar -- we'll provide you the means to display what you want, but
you have to decide what to display.  As for 4GLs, I have yet to see a
respectible 4GL that will allow me to do the things I want to do and
to leave me alone about things I am not concerned with or that I want
to do differently (e.g. databases).
        
> While it is conceivable to think of some variation in history which would
> have resulted in a single high-level API (and perhaps a single GUI) in the
> UNIX market, it is rather difficult to think of a realistic one.  If you
> have ideas on how it could have been accomplished (at a political level,
> not just a technical level), I'd be interested in hearing them.

Surely you jest :-).  At a "political" level?  Even if it were possible,
I don't think the X consortium wants to be in that position.  Technically,
I think it is possible because of how X has been accepted and the committment
the industry has towards it.  It would be interesting to see what would
happen if those who were completely independent of OSF, Unix International
(the openlook group) and all the others decided to step back and evaluate
all the good and bad about the UI's and API's available.  They would then
come up with what they feel is the "best of all worlds" and (regardless
of whether or not it actually *was* the best), the X consortium adopted it
and stamped it with the seal of approval. "This is the UI and API that has
been blessed by the X consortium."  Note: Xt would still be around, and X
maintain its current status of providing mechanism, not policy for its
windowing system.  But, looming overhead is this new GUI and API.  The
interesting question is -- will people accept it by the mere fact that
it came from the same folks that gave us X?

I have been exposed to companies that choose Motif simply because
they feel it's the accepted standard.  Many of them also feel that
in order to sell their software, they must provide it under Motif
because "more hardware vendors support it."  Both of these falsehoods
are a result of powerful marketing tactics by OSF.  (The other side
hasn't been completely innocent either.)  But, if the X Consortium
chose Mope-and-Look as the "standard" GUI, then we could put this
whole thing to rest, could we not?

Who knows -- because this hypothetical situation will never come up
and for good reasons:
> Perhaps because the goals and requirements of the decision makers didn't
> match yours?
..
> And other major problems solved by the toolkit/WM method would in turn
> become major problems again. :-)
...
> My experience so far suggests that nothing makes internationalization
> easier. :-)
...
> X standards have progressed bottom up, true.  Because that's where it has
> been possible to obtain agreement.  The upper layers, where end users care,
> are fraught with politics (just consider what has happened in the IEEE P1201.1

...and many others.
--
dan
----------------------------------------------------
O'Reilly && Associates   argv@sun.com / argv@ora.com
Opinions expressed reflect those of the author only.

ea08+@andrew.cmu.edu (Eric A. Anderson) (09/10/90)

I have programmed on three different windowing systems.  The Mac,  X,
and SunView.  Of the three, I preffered Sunview the most, because I was
able to do a great deal without having to learn very much at all.  In
sunview, I could create a complete application in very few lines, and
when I wanted more control,  I was able to get it by learning more.
The argument that the Mac is better because it is consistent is somewhat
fallicious.  Programming on the Mac, and in X is very similar.  They
both use the same structure.  At the current point, the mac has a number
of things available, which are somewhat like a toolkit, but much less
flexible.  I do not really believe that X went wrong at any point, it
was written for a completely different environment.  Show me the Mac or
Windows program that can run on one machine and display on another. 
Something which is remarkably trivial in X.  Show me how easy it is to
configure either the Mac or X.  It is incredibly hard.  You need to add
additional programs and other things to make it more configurable.
----------------
I think the primary problem with X is this : It is being programmed by
people working in their spare time.  Apple had many people work for a
long time to create the Mac,  ditto with IBM, and Microsoft.  X has had
college students finding free time to do some sort of a program, and
because of this there has been no standard as to the way things will
work.  Both Motif, and Open Look will change that,  these two groups are
spending people and money to get their products to market.  As such,
they are generating a consistant user interface.  If all of the X
clients had had people who were being paid to do their work, and it was
being done by a single group, I am sure that they too would have a more
consistant interface.
By all means though, if anyone out there wants to define a seperate User
Interface, and redo all of the clients to conform to it, I think that
would be wonderful, but I doubt that anyone will have the free time to
do this.
            -Eric

rws@EXPO.LCS.MIT.EDU (Bob Scheifler) (09/10/90)

    Surely you jest :-).  At a "political" level?  Even if it were possible,
    I don't think the X consortium wants to be in that position.

I didn't say the X Consortium would have anything to do with it.  (Can't I
be interested in something with that particular hat taken off? :-)

    It would be interesting to see what would
    happen if those who were completely independent of OSF, Unix International
    (the openlook group) and all the others decided to step back and evaluate
    all the good and bad about the UI's and API's available.

If you mean technical experts in this area, face it, the result would be
that you'd end up with 10 toolkits/GUIs to choose from, instead of 2 or 3. :-)

    They would then
    come up with what they feel is the "best of all worlds"

The end users I've talked to don't have much interest in the "best of all
worlds".  They just want something that works, so they can get on with it.
Any of the commercial toolkits available today would likely be acceptable
to them.

janssen@parc.xerox.com (Bill Janssen) (09/11/90)

  The end users I've talked to don't have much interest in the "best of all
  worlds".  They just want something that works, so they can get on with it.
  Any of the commercial toolkits available today would likely be acceptable
  to them.

This point, coupled with the MIT X11Rx releases, has caused much
consternation around the technical community.  Many people who are
ignorant of the history and goals of the X project expect "X" to give
them a standard environment.  Of course, the MIT X release has no
standard environment.  xterm works one way, typescript another; xemacs
does not behave like idraw.  But it is not so much "X" that has failed
them, as it is the particular path to "X" that they have chosen.
Perhaps there should be more advertisement of the fact that MIT X11Rx
does not provide a windowing environment (in the
Mac/MS-Windows/SunView sense of the term), but rather a toolset with
which such an environment can be constructed, and one or two examples
of what an environment might look like (eg. Andrew).

Many sites are quite happy in standardizing on Motif or OpenLook, and
treating their choice as *the* "X" system.  Policy is provided, there
is a standard toolkit, all the applications play together.

Bill
--
 Bill Janssen        janssen@parc.xerox.com      (415) 494-4763
 Xerox Palo Alto Research Center
 3333 Coyote Hill Road, Palo Alto, California   94304

rws@EXPO.LCS.MIT.EDU (Bob Scheifler) (09/26/90)

    I think the primary problem with X is this : It is being programmed by
    people working in their spare time.

Gee, I guess I should stop working weekends, so I can live up to this.

bret@codonics.COM (Bret Orsburn) (09/26/90)

In article <cauhvVC00VpZ4yI0Ua@andrew.cmu.edu> ea08+@andrew.cmu.edu (Eric A. Anderson) writes:
>I think the primary problem with X is this : It is being programmed by
>people working in their spare time.  Apple had many people work for a
>long time to create the Mac,  ditto with IBM, and Microsoft.  X has had
>college students finding free time to do some sort of a program, and
>because of this there has been no standard as to the way things will
>work.

The MIT X Consortium is primarily an industry group. (Check your Xconsortium
man page for a fairly recent list.)

>Both Motif, and Open Look will change that,  these two groups are
>spending people and money to get their products to market.  As such,
>they are generating a consistant user interface.  If all of the X
>clients had had people who were being paid to do their work, and it was
>being done by a single group, I am sure that they too would have a more
>consistant interface.

The X Window System is not intended to provide a consistent user interface.
It is intended to provide a set of capabilities on which any number of user
interfaces can be built.



-- 
-------------------
bret@codonics.com
uunet!codonics!bret
Bret Orsburn

sarima@tdatirv.UUCP (Stanley Friesen) (09/26/90)

In article <cauhvVC00VpZ4yI0Ua@andrew.cmu.edu> ea08+@andrew.cmu.edu (Eric A. Anderson) writes:
>I have programmed on three different windowing systems.  The Mac,  X,
>and SunView.  Of the three, I preffered Sunview the most, because I was
>able to do a great deal without having to learn very much at all.  In
>sunview, I could create a complete application in very few lines, and
>when I wanted more control,  I was able to get it by learning more.

In that case you will probably want to do your X programming using the XView
toolkit, which is nearly identical to the Sunview interface.
(The main difference is that all the XXX_ prefixes are replaced by xv_).
(Really try it, you can almost use the Sunview manual)

Of course this generates an Open Look GUI program, but I do not consider
that a problem.


------------------
uunet!tdatirv!sarima				(Stanley Friesen)