[rescue] NeWS (was: FS/FTGH: Sun kit)

der Mouse mouse at Rodents.Montreal.QC.CA
Tue Jan 17 20:30:29 CST 2006


>>> I tried writing some UI by programming the display postscript and
>>> it was horrible.
>> Writing UIs by programming Xlib is not that great either.
> The comparable tool at the time wasn't Xlib (after all NeWS had
> objects you could instantiate, you didn't have to write raw DPS),

...but I thought you said you were writing in DPS...

> but Xt+Motif.

That's almost worse.  Xt is a horribly broken interface.  (Motif I
don't know, except that (a) it isn't, or at least wasn't when I cared,
open source, and (b) it imposed a whole lot of policy I was unwilling
to tolerate.)

> I don't know anyone that ever coded a UI in raw Xlib;

I'm not sure whether I'm bragging or complaining when I say this, but,
I have.  As I sit here and look at my X screen, every client - every
last one of them - is my own code, written directly atop Xlib.  That
means:
	- Window manager
	- Terminal emulators
	- Clocks
	- Root window background maintainer
	- Picture displayer
	- Another, different, picture displayer
	- Connection-management front end
(The two "picture displayer"s are tuned for very different
picture-display tasks, which is why there are two of them.)

The server is basically the x.org (nee Consortium) sample server, but
with my own ddx layer to take advantage of the hardware.  (It's running
on a SS20 with a cg14, and I wrote my own ddx layer so I could have
8bpp and 24bpp on the screem simultaneously.)

>> I lay X's dominance not at the feet of technical merit - X is a good
>> example of something that sucks worse than everything except all the
>> alternatives anyone has tried, to steal a turn of phrase from
>> Winston Churchill - but at the feet of open licensing and widespread
>> sample implementations.
> I hear this complaint about X all the time, but its always from the
> perspective of "I just need to plot a pixel and X makes me do all
> this crap", not caring about the breadth of problems that X solves.

Not me.  When I just want to plot pixels, I just plot pixels.  I've
pondered possible ways of making just-plot-pixels programs coexist with
X sessions, but haven't yet implemented anything.

X solves a wide variety of problems.  But it also creates an almost
equally wide variety of problems; it's just a question of which set of
problems you'd rather live with.  (Personally, I prefer to live with X
almost all the time.)

> I'm very knowledgable about X and I've yet to see a criticism of X
> that wasn't myopic in scope.  Its not enough to say "I don't like X",
> you have to show that your alternative is demonstrably better at
> solving the same problems.

I don't see why.  What's wrong with seeing problems even when you don't
have solutions for them?

Some of problems I see with X that I can think of offhand:

	- Keyboard handling is baroque - I might even say "baroken", if
	   I felt inclined to be punny.
	- The protocol is very heavyweight, encrusted with numerous
	   facilities that approximately never get used in practice.
	- The protocol's provisions for authorization are a very poor
	   fit for modern crypto-based authorization methods involving
	   multiple round-trips between client and server (such as
	   zero-knowledge proofs).
	- Xlib has very poor error-recovery facilities; if you want to
	   do more than cough and die on most errors, you have to
	   depend on things the spec doesn't promise (but which, I have
	   been assured by those who worked on the design, are intended
	   to work).
	- The Xlib interface is mildly badly designed, in that it
	   overloads things in ways that make it impossible to be
	   abstractly type-correct (such as using the same None for
	   entities of types as different as Colormap and Pixmap).
	- The Xt interface is worse; my favourite horror is the
	   assumption that pointers and ints can be freely
	   interconverted without loss of information.
	- The colour model, while adequate to describe framebuffers of
	   the day, is insufficient today, and is not easily extensible
	   to something better.

Do these count as "myopic in scope"?  That's up to you.  (Not that it
matters much; I'm not likely to change my opinion of X in consequence.)

> That noone has persuaded me of this shows me that they don't
> understand the problems that X tries to solve

Are you sure?  Perhaps it shows nothing more than their having poor
persuasion skills. :)

/~\ The ASCII				der Mouse
\ / Ribbon Campaign
 X  Against HTML	       mouse at rodents.montreal.qc.ca
/ \ Email!	     7D C8 61 52 5D E7 2D 39  4E F1 31 3E E8 B3 27 4B



More information about the rescue mailing list