NeWS

Last updated
NeWS
Original author(s) James Gosling, David S. H. Rosenthal
Developer(s) Sun Microsystems
Initial releaseOctober 1986;37 years ago (1986-10)
Operating system SunOS
Type Windowing system

NeWS (Network extensible Window System) is a discontinued windowing system developed by Sun Microsystems in the mid-1980s. [1] Originally known as "SunDew", [2] its primary authors were James Gosling and David S. H. Rosenthal. The NeWS interpreter was based on PostScript (as was the later Display PostScript, although the two projects were otherwise unrelated) extending it to allow interaction and multiple "contexts" to support windows. Like PostScript, NeWS could be used as a complete programming language, but unlike PostScript, NeWS could be used to make complete interactive programs with mouse support and a GUI.

Contents

Design

NeWS started by implementing a PostScript interpreter running in a cooperative multitasking fashion, since, unlike PostScript in a printer, NeWS would be displaying a number of PostScript programs at the same time on one screen. It also added a complete view hierarchy, based on viewports known as canvases, and a synchronous event distribution system, supporting events , interests , threads and monitors .

Like the view system in most GUIs, NeWS included the concept of a tree of embedded views along which events were passed. For instance, a mouse click would generate an event that would be passed to the object directly under the mouse pointer, say a button. If this object did not respond to the event, the object "under" the button would then receive the message, and so on. NeWS included a complete model for these events, including timers and other automatic events, input queues for devices such as mice and keyboards, and other functionality required for full interaction. The input handling system was designed to provide strong event synchronization guarantees that were not possible with asynchronous protocols like X. [3]

To support user interface widgets, NeWS expanded the original PostScript stack-based language into a complete object-oriented (OO) programming style with inheritance. This eliminated the need for an external OO language to build a complete application. Since all of these additions were implemented as extensions to PostScript, it was possible to write simple PostScript code that would result in a running, onscreen, interactive program. Two popular demonstration programs were an onscreen clock, which required about two pages of code, and a program which drew a pair of eyes that followed the cursor as it moved around the screen. The eyeball program was shown at SIGGRAPH in 1988 and was the inspiration for the later well-known X application xeyes.

NeWS included several libraries of user interface elements (widgets), themselves written in NeWS. These widgets ran all of their behavior in the NeWS interpreter, and only required communications to an outside program (or more NeWS code) when the widget demanded it. For example, a toggle button's display routine can query the button's state (pressed or not) and change its display accordingly. The button's PostScript code can also react to mouse clicks by changing its state from "pressed" to "not pressed" and vice versa. All this can happen in the windowing server without interaction with the client program, and only when the mouse is released on the button will an event be sent off for handling. This was more sophisticated than the X Window System server model, which can only report "mouse button was clicked down here", "mouse is now here", "mouse button was released here" events to a client, which then has to figure out if the event is in the button, switch the state, and finally instruct the server to display the new state. If client and server are not on the same machine, these interactions must travel over the network, which results in a delay in responding.

TNT-based applications The NeWS Toolkit screen snapshot.gif
TNT-based applications

The best example of such a library is TNT (The NeWS Toolkit) which Sun released in 1989. Sun also shipped an earlier "Lite" toolkit intended for example purposes and making small programs.

Porting

Although adoption was never widespread, several companies and universities licensed NeWS and adapted it for various uses, creating both commercial and non-commercial ports. [4]

Applications

The OPEN LOOK version of the FrameMaker desktop publishing program, developed by Frame Technology Corp. with funding mainly from Sun Microsystems and NSA, was one of the few commercial products that ran on NeWS. HyperLook, developed by Arthur van Hoff at The Turing Institute, was an interactive application design system. [10] Don Hopkins developed a NeWS version of SimCity that was built with HyperLook.

A commercial drawing program, Altsys Virtuoso, was produced for NeWS; it was a port of FreeHand with additional functionality that took advantage of the PostScript environment. Unfortunately Sun announced the end of support for NeWS just as Virtuoso became ready to ship.

Competition with X Window System

Compared to X, NeWS was vastly more powerful,[ citation needed ] but also slower (especially for local connections). The C API was very low level and difficult to use, so most NeWS programs tended to be entirely written in PostScript.[ citation needed ] Another factor in the popularity was that Sun charged a fee to license the NeWS source code, while the MIT X11 code was free of cost.

The first versions of NeWS emulated the X10 protocol by translating the calls into NeWS PostScript. Speed problems plus the existence of programs that relied on the exact pixel results of X10 calls, and the obsolescence of X10, forced Sun to release an X11/NeWS hybrid called Xnews which ran an X11 server in parallel with the PostScript interpreter. This seriously degraded the NeWS interpreter performance and was not considered a very good X11 server either. Sun also implemented the OPEN LOOK user interface specification in several toolkits: The NeWS Toolkit (TNT) was an OPEN LOOK toolkit written in PostScript that ran in the NeWS server. OLIT was built on the same Xt (X Intrinsics) base as Motif, and XView used the same APIs as Sun's earlier SunView window system.

After it was clear that OPEN LOOK had lost out to Motif in popularity, and after Adobe acquired FrameMaker, Sun stopped supporting NeWS.[ citation needed ] Products based on NeWS stoped being developed.[ when? ]

Related Research Articles

<span class="mw-page-title-main">Pie menu</span> Software menu where elements are arranged in a circle

In user interface design, a pie menu or radial menu is a circular context menu where selection depends on direction. It is a graphical control element. A pie menu is made of several "pie slices" around an inactive center and works best with stylus input, and well with a mouse. Pie slices are drawn with a hole in the middle for an easy way to exit the menu.

<span class="mw-page-title-main">X Window System</span> Windowing system for bitmap displays on UNIX-like systems

The X Window System is a windowing system for bitmap displays, common on Unix-like operating systems.

<span class="mw-page-title-main">OpenStep</span> Defunct object-oriented application programming interface specification

OpenStep is a defunct object-oriented application programming interface (API) specification for a legacy object-oriented operating system, with the basic goal of offering a NeXTSTEP-like environment on non-NeXTSTEP operating systems. OpenStep was principally developed by NeXT with Sun Microsystems, to allow advanced application development on Sun's operating systems, specifically Solaris. NeXT produced a version of OpenStep for its own Mach-based Unix, stylized as OPENSTEP, as well as a version for Windows NT. The software libraries that shipped with OPENSTEP are a superset of the original OpenStep specification, including many features from the original NeXTSTEP.

HyperTalk is a discontinued high-level, procedural programming language created in 1987 by Dan Winkler and used in conjunction with Apple Computer's HyperCard hypermedia program by Bill Atkinson. Because the main target audience of HyperTalk was beginning programmers, HyperTalk programmers were usually called "authors" and the process of writing programs was known as "scripting". HyperTalk scripts resembled written English and used a logical structure similar to that of the Pascal programming language.

In computing, cross-platform software is computer software that is designed to work in several computing platforms. Some cross-platform software requires a separate build for each platform, but some can be directly run on any platform without special preparation, being written in an interpreted language or compiled to portable bytecode for which the interpreters or run-time packages are common or standard components of all supported platforms.

twm Window manager for the X Window System

twm is a window manager for the X Window System. Started in 1987 by Tom LaStrange, it has been the standard window manager for the X Window System since version X11R4. The name originally stood for Tom's Window Manager, but the software was renamed Tab Window Manager by the X Consortium when they adopted it in 1989. twm is a stacking window manager that provides title bars, shaped windows and icon management. It is highly configurable and extensible.

<span class="mw-page-title-main">Standard Widget Toolkit</span>

The Standard Widget Toolkit (SWT) is a graphical widget toolkit for use with the Java platform. It was originally developed by Stephen Northover at IBM and is now maintained by the Eclipse Foundation in tandem with the Eclipse IDE. It is an alternative to the Abstract Window Toolkit (AWT) and Swing Java graphical user interface (GUI) toolkits provided by Sun Microsystems as part of the Java Platform, Standard Edition (J2SE).

The Andrew Project was a distributed computing environment developed at Carnegie Mellon University beginning in 1982. It was an ambitious project for its time and resulted in an unprecedentedly vast and accessible university computing infrastructure. The project was named after Andrew Carnegie and Andrew Mellon, the founders of the institutions that eventually became Carnegie Mellon University.

<span class="mw-page-title-main">Button (computing)</span> Graphical user interface element

In computing, a button is a graphical control element that provides the user a simple way to trigger an event, like searching for a query at a search engine, or to interact with dialog boxes, like confirming an action.

<span class="mw-page-title-main">Tab (interface)</span> Interface component

In interface design, a tab is a graphical user interface object that allows multiple documents or panels to be contained within a single window, using tabs as a navigational widget for switching between sets of documents. It is an interface style most commonly associated with web browsers, web applications, text editors, and preference panes, with window managers, especially tiling window managers, being lesser known examples.

In computing, the X Window System is a network-transparent windowing system for bitmap displays. This article details the protocols and technical structure of X11.

<span class="mw-page-title-main">X Toolkit Intrinsics</span>

X Toolkit Intrinsics is a library that implements an API to facilitate the development of programs with a graphical user interface (GUI) for the X Window System. It can be used in the C or C++ languages.

<span class="mw-page-title-main">SunView</span> Discontinued SunOS windowing system

SunView is a discontinued windowing system from Sun Microsystems that was included as part of its UNIX implementation starting in 1983. Unlike later UNIX windowing systems, much of it was implemented in the system kernel. SunView ran on Sun's desktop and deskside workstations, providing an interactive graphical environment for technical computing, document publishing, medical, and other applications of the 1980s, on high resolution monochrome, greyscale and color displays.

<span class="mw-page-title-main">OpenWindows</span> Computer desktop environment

OpenWindows is a discontinued desktop environment for Sun Microsystems workstations which combined a display server supporting the X Window System protocol, the XView and OLIT toolkits, the OPEN LOOK Window Manager (olwm), and the DeskSet productivity tools; earlier versions of OpenWindows also supported the NeWS protcol. It implements the OPEN LOOK GUI specification.

<span class="mw-page-title-main">Xlib</span> Client library for the X Window System

Xlib is an X Window System protocol client library written in the C programming language. It contains functions for interacting with an X server. These functions allow programmers to write programs without knowing the details of the X protocol.

A compositing manager, or compositor, is software that provides applications with an off-screen buffer for each window. The compositing manager composites the window buffers into an image representing the screen and writes the result into the display memory. A compositing window manager is a window manager that is also a compositing manager.

<span class="mw-page-title-main">Tk (software)</span> GUI toolkit or framework

Tk is a cross-platform widget toolkit that provides a library of basic elements of GUI widgets for building a graphical user interface (GUI) in many programming languages. It is free and open-source software released under a BSD-style software license.

ReAction GUI is the widget toolkit engine that is used in AmigaOS 3.2-4.1.

<span class="mw-page-title-main">Abstract Window Toolkit</span> Java-based GUI toolkit

The Abstract Window Toolkit (AWT) is Java's original platform-dependent windowing, graphics, and user-interface widget toolkit, preceding Swing. The AWT is part of the Java Foundation Classes (JFC) — the standard API for providing a graphical user interface (GUI) for Java program. AWT is also the GUI toolkit for a number of Java ME profiles. For example, Connected Device Configuration profiles require Java runtimes on mobile telephones to support the Abstract Window Toolkit.

References

  1. Don Hopkins. "NeWS - Network extensible Window System" . Retrieved 2008-01-08.
  2. Gosling, James (1986). "Article 5 - SunDew". In F.R.A. Hopgood, D.A. Duce ... (ed.). Methodology of Window Management (Eurographics Seminars) Proceedings of an Alvey Workshop at Cosener's House, Abingdon, UK, April 1985. UK: Springer-Verlag. ISBN   3-540-16116-3 . Retrieved 2008-01-08.
  3. "SunDew - A Distributed and Extensible Window System".
  4. "Ports of Sun's NeWS". groups.google.com. Retrieved 2022-07-01.
  5. James Gosling, David S. H. Rosenthal, Michelle J. Arden (1989). The NeWS Book . Springer Verlag. p. 193. ISBN   978-0-387-96915-2. Google Book Search. Retrieved 2009-03-29.
  6. magazine :: Datamation :: Datamation V33 N17 19870901. 1987-09-01.
  7. Alliant - The Visualization Series , retrieved 2022-07-01
  8. "NeWS on the Apollo". groups.google.com. Retrieved 2022-07-01.
  9. "From Pixar To Velocity Engine". 2001-07-06. Archived from the original on 2001-07-06. Retrieved 2022-07-02.
  10. HyperLook (aka HyperNeWS (aka GoodNeWS))