Path: utzoo!mnetor!uunet!husc6!bloom-beacon!SEAS.UCLA.EDU!bilbo.gregh
From: bilbo.gregh@SEAS.UCLA.EDU (Gregory Holmberg)
Newsgroups: comp.windows.x
Subject: Summary of AT&T Open Look Product Overview
Message-ID: <8805100028.AA15653@ATHENA.MIT.EDU>
Date: 10 May 88 00:20:19 GMT
Sender: daemon@bloom-beacon.MIT.EDU
Organization: The Internet
Lines: 112


                                A Summary of
           "OPEN LOOK Graphical User Interface: A Product OverView"
                                 from AT&T

AT&T says it is commited to open standards and consistency and that OPEN LOOK
and its merging of SVR3 and BSD into SVR4 are proof.

The OPEN LOOK Graphical User Interface is an X Window System "toolkit" and
development environment.  This high-level toolset and user interface standard
will provide increased application programmer productivity.  The OPEN LOOK
standard will be found initially in two Application Programmer Interfaces
(APIs), one from Sun Microsystems and one from AT&T.  The OPEN LOOK standard
will be licensed to other vendors also.

OPEN LOOK combines the best of existing graphical user interfaces and improves
upon them.

The design goals were:
	Simplicity - easy to learn and master
	Consistency between applications
	Efficiency of use for the user

The design principles were:
	Balance of design goals
	Similarity with existing graphical user interfaces
	Fewer concepts to remember across applications:
		Object-verb model - select object(s) then select action
		Objects have properties that can be examined and modified
		Context sensitive help
		Cut, copy and paste
		Visible control panels

Windows can be over-lapped or tiled.  Focus can be bound to a window by
clicking on it.  All windows have these basic parts:
	Title bar - identifies the window
		Used to pick up and move the window
		Contains an iconize button
		Contains a standard menu (also available in icon mode):
			(de)iconize
			Set properties - edit the windows properties
			Scale - scale the window and its contents up or down!
				Note that this is not the same as resizing.
			Refresh
			Quit
	Resize gadget in lower right corner like the Mac
	Proportional horizontal and vertical scroll bars
	"Control panel" under the title bar
		Like the window's individual menu bar except with buttons.
		Makes multi-tasking easier than a single screen menu bar.
	Permanent message area at bottom
		For running multiple applications simultaneously

Commands selected from menus or buttons are completed if necessary with
"command boxes," similar to MS Windows "dialog boxes."  Command boxes
automatically grab the focus.  Command boxes may contain any of the standard
controls:
	Buttons - cause immediate effects
	Buttons stacks - popup like menus
	Choices - mutually exclusive choices similar to MS Windows radio buttons
	Toggles - non-mutually exclusive choices similar to MS Windows check boxes
	Sliders - an analog control
	Lists - menus too long to display all at once.  Uses a vertical scroll bar.
	Dials - an analog control

All objects have "properties."  An object's properties vary depending on its
type.  Any object's properties can be viewed and modified with a "property
box."

"Push pins" are used to make any kind of popup remain resident for easier
repeated use.  Popups include menus, palettes, property boxes and command
boxes.

An application's main menus popup wherever the cursor is.  The user is not
required to move the cursor up to a menubar.  The popup menus are context
sensitive, in that the menu received depends on what object the cursor was
on at the time.  Menus can also be hierarchical, that is they may have
sub-menus.

A one, two or three button mouse may be used.  On a three button mouse, the
first buttons is the select button (to select a menu item, text or an object),
the second is the extend button (extends a selection) and the third it the
menu button.  On a one or two button mouse keyboard modifier keys must be used.

Function keys are supported and may have on-screen labels.

Initially there will be two implementations, called Application Programmer
Interfaces, of this user interface: the NeWS Development Environment (NDE)
from Sun Microsystems and an X Toolkit based version from AT&T.

The NeWS Development Environment is inspired by the Andrew X toolkit from
Carnegie-Mellon and IBM.  It is object-oriented, using encapsulation and
code sharing through inheritance.  Postscript is used to communicate between
the NDE toolkit and the server.  The server manages all the menus, scroll bars,
frames and text editing locally, making the user interface more responsive and
reducing network traffic.

NDE uses a data-object-plus-view-objects model.  The programmer declares one
data object and one or more view objects for that data object.  The data
object must be able to modify, save and load itself.  The view objects
provide graphical views of the data object on the screen and let the user
view and manipulate the data object.

NDE will coexist with X clients and X toolkits.  NDE will allow the user to
cut and paste to non-NDE applications.

The AT&T version will be built on the X Toolkit intrinsics and the resource
manager from MIT.  There will be widgets for the various type of controls
and widgets classes will be able to inherit from other widgets classes.  Event
handling will be greatly simplified.  Access to the base X library will be
available.  For more information on the X Toolkit, see "X Toolkit Intrinsics"
from MIT.