[comp.windows.x] X and NeWS comparison

pm@mandrill.CWRU.Edu (Prabhaker Mateti) (12/24/87)

Has anyone done a comparison of these two windowing systems?
Any ptrs will be appreciated.
-- 
prabhaker mateti,   case western reserve university,  cleveland, oh 44106
{decvax,cbosgd,sun}!mandrill!pm     pm@mandrill.cwru.edu     (216) 368-2816

liam@cs.qmc.ac.uk (William Roberts) (01/12/88)

>Has anyone done a comparison of these two windowing systems?

We have a report entitled "First Impressions of NeWS" which
included a section making a brief comparison. Copies of the
paper can be obtained by mailing me (paper or electrons) with a
POSTAL ADDRESS to which it should be send - 389 copies have so
far gone out.

The section comparing NeWS and X is as follows (source for
troff using the -ms macros):
------------------------------------------------------------
.NH
Comparison between X and NeWS
.LP
There is another, more strongly supported, player in the
device-independent
network window system arena: the X system developed at MIT
and now endorsed by DEC and IBM to name but two. NeWS is a proprietary
standard and the newcomer, but hopes to become a
.I "de facto"
standard in the way that SUN NFS has become a
.I "de facto"
standard for network file systems. NeWS and X appear to offer
superficially similar things; both take the form of a server running in
the machine with the display, to which application programs running
anywhere connect via a byte-stream protocol. Both achieve
hardware device-independence
by using the server to provide an abstract device; the
display programmer programs that abstract device and the server does the
rest. Both exist as carefully written \*Qreference ports\*U which can be
ported to a new machine in a matter of a few working days.
.LP
They are however quite different when looked at more closely.
.NH 2
The Abstraction Provided by X
.LP
The X system is an attempt to rationalise a lot of existing hardware:
any computer supporting 70-90 dot per inch screens, each with associated
mouse and keyboard. The abstraction supports overlapping rectangles of
pixels,
.I pixmaps ,
which are arranged in a hierarchy. The coordinate system for each pixmap
has (0,0) in the top left corner, the y-coordinate increases downwards
and the unit is one pixel (hence all coordinates are integers).
It has event-based input handling and provides facilities for text,
graphics with thick lines and curves. The abstract device is controlled
through a procedure call interface.
.LP
The key concept is the pixel, which may consist of several bits, and
pixel colours. The use of colour is controlled in a device independent
way, but not all X servers need be capable of supporting it and so the
application is provided with routines for finding out the capabilities
of the actual device in use. Sophisticated applications need
to use similar routines to establish the true size of the
display, the pixel resolution etc.
.NH 2
The Abstraction Presented by NeWS
.LP
The NeWS abstraction is full colour device with arbitrarily high
resolution. It supports arbitrarily shaped overlapping regions of
drawing surface,
.I canvases ,
arranged in a hierarchy. The coordinate system for each canvas is
arbitrary (it can be subject to arbitrary linear transformations by the
application) but the natural coordinate system has (0,0) in the bottom
left corner, the y-coordinate increasing upwards and the unit is 1/72nd
of an inch (all coordinates are given as real numbers).
It has event-based input handling and supports text, lines with
thickness and intensity maps. The abstract device is controlled through
a program interface, i.e. the primitives of the device include
traditional programming constructs such as procedure definition,
iteration etc.
.LP
The fundamental concept is a path; a set of curves defined in the
coordinate system and then rendered on the device by stroking or
filling. The device supports arbitrarily high resolution colour. The
application has little or no way of determining the true capabilities of
the actual physical device.
.NH 2
Closer Comparison
.LP
The first key difference between X and NeWS is the attitude to pixels: X
is completely based on pixels, in NeWS pixels do not exist. X provides
the full 16 possibilities for combining a new pixel with what is already
present; NeWS has no concept of reading back what is already there and
all drawing is performed by overwriting\**.
.FS
NeWS does have a
.H setrasteropcode
primitive which controls the way colour is combined with the
existing drawing surface, but this is only to enable NeWS to
emulate existing window systems; you still can't read back the
pixels.
.FE
X must have a font file for each size and orientation; by
eschewing pixels, NeWS becomes free to scale its fonts and
coordinate systems in
arbitrary ways, with any orientation and even with
non-perpendicular axes.
.LP
The second key difference is the interface provided to clients of the
server: X provides a procedural interface, NeWS provides a programming
language. The ability to send arbitrary programs to the server
has a large impact on the communications bandwidth needed to
operate the display remotely, especially when fast interactive
feedback is needed or the display involves a large number of
repeated designs.
.LP
The difference in facilities is highlighted by the observation
that it is possible to program the NeWS abstract device to
be an X server, with the exception of any X operations which
read back the existing pixels: Sun supply a partial implementation
(in PostScript) of X.10 with the NeWS system.
.NH 2
Crystal Ball Gazing
.LP
In the short term (1-3 years) the X standard will prevail. It bears
fairly close resemblance to a lot of existing hardware, it is easy to
port, and the emphasis on pixels corresponds to the accepted practice of
fast, interactive computer graphics over the last five years. Nothing
about X precludes the sort of performance seen of arcade games,
including all the tricks that can be played with colour maps.
During this time NeWS ports will become available from most major
manufacturers, simply because NeWS is very easy to port and not
particularly expensive to licence.
.LP
In the long term, NeWS (or something similar) will supercede X, as
surely as bitmap graphics is superceding dumb terminals. The NeWS
abstract device has a much higher functionality and its assumptions of
arbitrarily high spatial and colour resolution are \*Qfuture-proof\*U:
NeWS can already span the small range of available display resolutions
(from 50 dpi to about 90 dpi) and the size of the application graphics
remains constant, though the quality varies.
When 200dpi screens become
available, a standard X application window will shrink to \(14
of its size on current displays.
.LP
NeWS is not slow; Mel Slater has applications where NeWS with
clipping is faster than SunView, both with and without clipping.
Furthermore the size of the compiled program to run under NeWS
is reduced to 20% of its size of under SunView.
.NH
Conclusion
.LP
NeWS is a revolutionary combination of PostScript with the best
of existing workstation and network technology. It is
undoubtedly the best windowing and graphics environment we have
ever come across; we intend to use NeWS on all the machines in
our network and to develop its ideas in future research
work.
-- 

William Roberts         ARPA: liam@cs.qmc.ac.uk  (gw: cs.ucl.edu)
Queen Mary College      UUCP: liam@qmc-cs.UUCP
LONDON, UK              Tel:  01-980 4811 ext 3933