Network Extensible Window System

Check out this historical System (late '80s) see page at http://www.art.net/Studios/Hackers/Hopkins/Don/lang/NeWS.html

I especially liked this quote:

Basically, X and NeWS seem to form the right and left brain halves of windowing systems. X is basic, fast (or should be) and analytical; NeWS seems to be what you should be using if you want something more creative than boxes with chars and/or line drawings in them of a fairly fixed nature. Right now, people seem to be responding to each on that atavistic level.

X is a jeep wagoneer with all options including a tow ball if you can't fit it inside the cab, NeWS is a DeLorean? turning magnificently on a stand in the main lobby of the Museum of Modern Art, the engine comes in kit form, diesel, gasoline, ethanol, any number of cylinders all available, actually the kit is just a big cube of steel, very high grade, and a textbook on modern engine design.

The X11/NeWS merge might very well end up to be the "long-awaited" station wagon version of the DeLorean?, with the jeep hanging off the back on a newly attached brushed stainless steel tow ball, just in case.

- Barry Shein, Boston University (1988)


NeWS was an early windowing system that competed against XwindowSystem. It is based on PostScript. This naturally draws comparisons with DisplayPostscript, but despite some similarities, the two are separate projects. Notably, DisplayPostscript is used only for display, while NeWS can also handle input and function as a stand-alone programming environment. NeWS also supported remote execution.

NeWS came first. [I don't think so. My recollection is that Adobe was talking with corporate partners about DisplayPostscript long before SUN did NeWS. -- TomStambaugh] [NeWS was released in 1986, before Display PostScript. -- DonHopkins] NeWS was originally called "SunDew?", and described in Gosling's paper, "SunDew?: a distributed and extensible window system", in Proceedings of an Alvey Workshop on Methodology of window management, 1986. It was renamed from "SunDew?" in a misguided attempt to avoid drawing fire by using the word "Sun" in the product name, and it was renamed to NeWS because that paralleled NFS (a comparison that drew a lots of fire itself, made it confusing to talk about, and impossible to search for).

Please see my comments on naming below. The fact that Gosling published a paper doesn't mean he did the original work or chose the original name. -- TomStambaugh "As a matter of fact, Gosling and Rosenthal did do the original work. The name NeWS was chosen by Michelle Arden. -- DonHopkins'

One of the Unix ports of SimCity was done in NeWS, built on top of the HyperLook? user interface development system from the Turing Institute.

Sun did their own implementation of DisplayPostscript. (No, Sun did their own implementation of Adobe's PostScript page description language, as defined in the "Red Book", long before the Display PostScript specification was published. -- DonHopkins) NeWS (originally called SeX (Sun Extensible X) (No, it was not originally called SeX. It was originally called SunDew?, and had nothing to do with X. -- DonHopkins) was completely written in DisplayPostscript (No, it was completely written in C, and had nothing to do with Display PostScript. -- Don Hopkins), using idioms invented by OwenDensmore? to do object-oriented programming in Forth/Postscript (No, it had nothing to do with Forth, other than the shallow similarity that PostScript and Forth both used reverse polish notation. -- Don Hopkins). No "extensions" or similar hacks were used, and Sun worked very carefully to avoid aggravating Adobe. -- TomStambaugh (No, it was never called SeX, because it originally had nothing to do with X. Its original name was SunDew?, for Sun Distributed Extensible Windows. The later X11/NeWS Merge was internally called the NeWS/X Merge (pronounced "New Sex Merge"), because NeWS was on top.)

I don't dispute that its first public name was SunDew?. It was called SeX internally for months prior to ANY public name. Ask OwenDensmore?, WayneRosing?, or the others in Owen's group who worked on it. -- TomStambaugh (No, I worked with Owen and the rest of the NeWS team, and I never heard it referred to as "SeX". The "NeWS/X merge" came a long time later.)

If NeWS is impossible to search for, then SeX could get you fired.

More accurately, James Gosling implemented his own Postscript for display. His contributions were: 1. Adding raster operations, which Adobe at that time adamantly refused to do with Display Postscript, and 2. Adding some simple object oriented extensions to Postscript (portable to any Postscript imlpementation). -- HaimZamir?

The object-oriented extensions to DisplayPostscript were done by OwenDensmore?. Several of them - including the use of stacked dictionaries for inheritance - were invented at the outdoor tables surrounding the pool at the now-demolished Hyatt Palo Alto, on 101, in conversations between Owen and myself. -- TomStambaugh

Other original contributions of NeWS above and beyond DisplayPostscript included: hierarchical canvas drawing surfaces, lightweight threads, magic dictionaries, synchronization monitors, event distribution system, synchronous event handling and input services, network socket support, client/server wire service, "CPS" RPC stub generator, prototype based object system with multiple inheritance, The NeWS Toolkit Open Look user interface entirely written in NeWS PostScript, shared memory mapped raster images, PostScript capture for printing, "Jot" wysiwyg rich text editor component, "HyperDraw?" wysiwyg PostScript drawing editor component, PieMenu component, tabbed window frame component, integrated X11 window manager, HyperLook? end-user editable gui builder desktop environment.

NeWS was a window system for Unix, especially Sun workstations, designed primarily by JamesGosling. It was like X in that it was a network window system, with programs running on other machines able to open windows for display on your machine. It was unlike X in that the graphics model was PostScript, and it allowed downloading PostScript code into the window system to run locally. This helped to avoid some of the nasty race conditions you have in X, where (for example) even the window manager runs out-of-process; in NeWS, you could write the window manager in PostScript and run it directly in the window system process.

NeWS had the potential to win out over X, but was rendered irrelevant by Sun's attempts to control it too tightly and make money from it. Their policy with Java shows that they've learned something from the experience, although perhaps not enough. (That's your cue, Sam! :-) -- GlennVanderburg

Sun promised for years to make NeWS free, but never did. Just like they keep promising to make Java free, but never will. Once Sun even declared that NeWS was free, only $1000 for media, and you had to buy the media if you wanted a free copy of NeWS. It's Sun's long trail of broken promises that killed NeWS.

Even in the design of JavaAwt, you find a lot of traces of NeWS.

(That's because AWT was written by one of the leading NeWS hackers, Arthur van Hoff, who also wrote GoodNeWS aka HyperNeWS aka HyperLook? at the Turing Instititute, a HyperCard-like user interface development environment for NeWS. His work on PdB, an object oriented C to PostScript compiler, also foreshadowed his work writing the first Java compiler in Java. Arthur later founded Marimba, where he wrote a user-editable gui system called Bongo in Java, which closely resembled HyperLook?. -- DonHopkins)

One other interesting foot note in the NeWS history is that it was apparently the main high-level language for the PixarImageComputer (a computer that I dearly wish I could use sometime). It was also used in SGI's hybrid 4Sight window system, which was the original X11/NeWS merge. (No. 4Sight was not an X11/NeWS merge. It was NeWS only. -- Mark Callow, 4Sight Engineering Manager)

This may reflect Pixar's history & pedigree, in that DisplayPostscript was imbedded in the NeXT platform & software, along with ObjectiveC.


CategoryNetwork CategoryHistory


EditText of this page (last edited January 9, 2013) or FindPage with title or text search