geoff@desint.UUCP (Geoff Kuenning) (02/17/88)
Well, my posting criticizing NeWS certainly achieved its goal of provoking discussion! To give the other side a fair chance, I thought I'd stir things up a bit more by pointing out some major flaws in X11. (Equal time and all that, you know -- it's primary season here in the U.S. :-) The biggest flaw with X, of course, is its baroque complexity. Need to draw a rectangle? No problem, X has four or five different ways. There are two major ways to paint text, each supported by several library routines that have essentially the same argument lists. I confess I can never remember whether I want to "Draw" or "Image" a string. This goes on and on, until there are over 100 routines in Xlib. It's so bad that somebody recently complained about the alphabetical arrangement of the recently-published Xlib manual; while it's easy to find the description of a known routine, one badly needs a categorized listing to discover how to (e.g.) discover the characteristics of the current visual. (To be fair, X11 is vastly better than X10.) Contrast this with Postscript and NeWS, which manage to compose a (relatively) small number of operators to get a lot of operations. Whether you want a rectangle, circle, or character, you build it with a "path" and then decide whether you want to stroke (that always sounded obscene to me :-) or fill it. Another problem with X, to my eyes, is that the X consortium has allowed those of us on the outside to force them into rushing the release. (Not to criticize the individuals involved -- we all know what pressure can be like!) The result is several areas that are still too "researchy" and ill-defined. For example, when I first asked about the interaction of colormaps with window managers, the basic response was "Well, we really haven't had time to play with that much. Any suggestions?" I have yet to raise the issue of colormaps and colored cursors, but it's pretty obvious there are serious problems. A final defect is a pretty obvious "Not Invented Here" syndrome. For X11, they picked up the Postscript ideas on line cap and join styles. But it would appear that they did this on hearsay, rather than actually reading the Postscript manual, because some very simple and effective ideas from Postscript were *not* picked up. Postscript has a way to limit mitering on narrow-angle joins, to prevent huge spikes. X11 has none. Similarly, Postscript has a way to specify the approximate accuracy of curve and arc rendering, so you can trade off speed and esthetics. Not so for X11. Try drawing a 5x5 circle of linewidth 2 on the X11 sample server -- you get a pentagon. Obviously a server implementer can change this and produce an octagon or whatever, but the applications programmer has absolutely no control, and the protocol can't talk about it without an extension. At this point, a lot of this is moot. The NeWS/X war is going to be won in the marketplace, not on the technical front. I think I see a lead for X, because the variety of companies that support it is larger. It will be fun to see if the marketing wizards at Sun can overcome this lead. -- Geoff Kuenning geoff@ITcorp.com {uunet,trwrb}!desint!geoff
klee@daisy.UUCP (Ken Lee) (02/18/88)
In article <1684@desint.UUCP> geoff@desint.UUCP (Geoff Kuenning) writes: >The biggest flaw with X, of course, is its baroque complexity. I think X has a bigger problem than that, namely flexibility. X takes a very conservative approach to everything. It works well, with current hardware and current application programming styles, but really doesn't look toward the future. Some features that I think will soon be important, but that are difficult or impossible to accomplish in X are: 1. input model. Input has always been a weak point to graphics/window systems. X is no different. Currently, the client must wade through tons of low level events before it can construct a high level event to act upon. High level event handling is limited to packages like menus. A better input model would allow the client to specify how high level input can be derived from low level events, then only worry about the high level. The object-oriented lightweight process mechanism in NeWS makes this clean and easy. 2. output model. The X imaging model is very tightly tied to current breeds of workstations (framebuffers, color maps, etc.). NeWS, on the other hand, uses a stencil/paint imaging model that can be used on a much wider variety of display devices. Both have their problems with current applications, of course, but I think the NeWS model will be applicable to a much wider class of future hardware. 3. toolkits. All the X toolkits that I've seen are function libraries that must be linked to the client. On the other hand, all the NeWS toolkits (e.g., litewin, liteitem) are server extensions that you can download (and modify) if you wish. Implementing the toolkits in the server saves memory, lowers communication bandwidth, etc. It also makes writing clients in languages other than C much easier. 4. server programability. This has been discussed on the net already. I still think it's a great idea. 5. popularity. This is both good and bad. After only a year or so of heavy use, X is becoming a defacto standard. Can you imagine standardizing on UNIX after so little time? I don't have a solution for this, but I would be suprised if X is still here 5 years from now. Comments? What do you think belongs in the window system of the future? Ken
mao@blipyramid.BLI.COM (Mike Olson) (02/19/88)
In article <1684@desint.UUCP>, geoff@desint.UUCP (Geoff Kuenning) writes: > The biggest flaw with X, of course, is its baroque complexity. > ... This goes on and on, until there are over 100 routines ... as someone doing non-trivial user interface stuff under X11, i agree with you. what i find worst of all is the set of parameters i have to pass to Xlib routines -- by the eigth or ninth "cmap_def_return", i forget where i am, and have to count commas to find my place. still, i don't think this makes X11 a horrible protocol. windowing systems, particularly hardware-independent ones, are hard. X11 has some nice abstractions, and frees me as a programmer from worrying about the hardware i'm running on (most of the time, anyway). i had the same problem learning the macintosh toolkit -- i had post-it notes all over the place and kept _inside_macintosh_ open constantly. given my willingness to do that, i wrote some nifty programs. my view? i don't think there's a "best windowing system." there are windowing systems that do what i want, and others that don't. i'll choose the one that suits me best when i need one. > Try drawing a 5x5 circle of linewidth 2 on the X11 sample server -- you > get a pentagon. he's right; i presume the protocol people at mit and the consortium are listening? most problems of this sort will vanish, though, when commercial implementations are available. X11 is young, yet. > The NeWS/X war is going to be won in the marketplace, not on the technical > front. I think I see a lead for X, because the variety of companies that > support it is larger. we chose X11 for development here because of its widespread support. mit and company did the right thing in making the source available early, and for free. one caveat, though: as long as Xlib calls are so arcane, training programmers to use it is going to be tough. a simpler interface *must* be developed. personally, i don't think Xtk is it, but this isn't the place for that discussion. i do urge the X11 consortium to consider not just *user* interface standards, but a simpler *programmer's* interface. my Xlib manual is getting pretty dog-eared. mike olson britton lee, inc. ...!ucbvax!ucsfcgl!blia!mao olson@ucbvax.berkeley.edu these opinions do not necessarily represent those of my employer.
reggie@pdn.UUCP (George W. Leach) (02/23/88)
In article <1684@desint.UUCP> geoff@desint.UUCP (Geoff Kuenning) writes: > >At this point, a lot of this is moot. The NeWS/X war is going to be won >in the marketplace, not on the technical front. I think I see a lead for >X, because the variety of companies that support it is larger. It will >be fun to see if the marketing wizards at Sun can overcome this lead. How can anything be won in the marketplace when most vendors will only offer the marketplace a single solution? It is all politics. The reason lots of vendors (mostly those opposed to the recent Sun and AT&T agreements) are going with X11 is that it does not belong to any one vendor. Sun was successful with NFS because there was no competing solution that came from an independent source (if you believe that DEC's backing of MIT did not affect this status). X11 seems to be attractive to many on the low end market. Can NeWS address this area? Who knows. SCO is planning on supporting the X11/NeWS merge here. So perhaps on the low end market there will be a choice. You will have to turn to third parties for NeWS on many products where vendors will only support X for their machines. This alone gives X a huge leg up in the race. -- George W. Leach Paradyne Corporation {gatech,rutgers,attmail}!codas!pdn!reggie Mail stop LF-207 Phone: (813) 530-2376 P.O. Box 2826 Largo, FL 34649-2826
benoni@ssc-vax.UUCP (Charles L Ditzel) (02/25/88)
In article <2307@pdn.UUCP>, reggie@pdn.UUCP (George W. Leach) writes: > In article <1684@desint.UUCP> geoff@desint.UUCP (Geoff Kuenning) writes: > >At this point, a lot of this is moot. The NeWS/X war is going to be won > >in the marketplace, not on the technical front. I think I see a lead for > How can anything be won in the marketplace when most vendors will > only offer the marketplace a single solution? It is all politics. The > reason lots of vendors (mostly those opposed to the recent Sun and AT&T > agreements) are going with X11 is that it does not belong to any one > vendor. Sun was successful with NFS because there was no competing > solution that came from an independent source (if you believe that DEC's > backing of MIT did not affect this status). Well this pre-supposes that alot of people that learn the virtues of NeWS over X will remain silent (and vice versa). Look if people let vendors get away with giving them only X11 with their Unix then what you say is true...however now that NeWS is standard Unix...certain identifiable vendors will have a rough time selling their Unix with only X11. :^) Some of us (that constitute part of the marketplace) are already busy requesting vendors support NeWS/X11. Some vendors like Silicon Graphics are offering both (even before the AT&T/Sun deal). Other vendors have stated that they will support only X11...not surprisingly these companies may have a rough time selling their machines...since it is lacking part of the standard unix release - (not to mention that if you are a buyer - would you buy from a vendor that offered two possible solutions or just one). > X11 seems to be attractive to many on the low end market. Can NeWS People are writing NeWS ports to the Mac II and 386 boxes... ---------------- Naturally my opinions are my own and do not belong to the company I work for.
stpeters@dawn.steinmetz (Dick St.Peters) (02/26/88)
In article <1684@desint.UUCP> geoff@desint.UUCP (Geoff Kuenning) writes: >The biggest flaw with X, of course, is its baroque complexity. Not to my mind. The biggest (the *definitive*) flaw of X is that it can only do rectangular windows. X can't do what I want; NeWS can. That makes the choice simple. >At this point, a lot of this is moot. The NeWS/X war is going to be won >in the marketplace, not on the technical front. I think I see a lead for >X, because the variety of companies that support it is larger. The marketplace judgement is what customers choose to buy, not what vendors choose to sell. More than one vendor has arrived proclaiming "X!" and left mumbling "NeWS". Anyway, the real answer to "Best window system, NeWS or X" is "both". -- Dick St.Peters GE Corporate R&D, Schenectady, NY stpeters@ge-crd.arpa uunet!steinmetz!stpeters