Original author(s) | James Gosling, David S. H. Rosenthal |
---|---|
Developer(s) | Sun Microsystems |
Initial release | October 1986 |
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.
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.
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.
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]
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.
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 stopped being developed.[ when? ]
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.
The X Window System is a windowing system for bitmap displays, common on Unix-like operating systems.
OpenStep is an object-oriented application programming interface (API) specification developed by NeXT. It provides a framework for building graphical user interfaces (GUIs) and developing software applications. OpenStep was designed to be platform-independent, allowing developers to write code that could run on multiple operating systems, including NeXTSTEP, Windows NT, and various Unix-based systems. It has influenced the development of other GUI frameworks, such as Cocoa for macOS, and GNUstep.
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.
In computing, a windowing system is a software suite that manages separately different parts of display screens. It is a type of graphical user interface (GUI) which implements the WIMP paradigm for a user interface.
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.
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.
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 panels, with window managers and tiling window managers.
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.
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 language. Design took place late 1980s to early 1990s.
SunView is a discontinued user interface toolkit and windowing system from Sun Microsystems, launched in 1985, and included as part of its Unix implementation, starting with SunOS Release 3.0. Sun had introduced support in 1983 for a window-based environment known as the Sun Window System, providing the Sunwindows window manager and Suntools user interface toolkit.
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 protocol. It implements the OPEN LOOK GUI specification.
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.
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.
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 a 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.