From: converse@EXPO.LCS.MIT.EDU (Donna Converse)
Newsgroups: comp.windows.x
Subject: X Technical Conference, Jan. 23-25 1989
Message-ID: <8812162206.AA03774@EXPO.LCS.MIT.EDU>
Date: 16 Dec 88 22:06:51 GMT
Sender: daemon@bloom-beacon.MIT.EDU
Organization: X Consortium, MIT Laboratory for Computer Science
Lines: 623




  T H E   3 R D    A N N U A L   X   T E C H N I C A L   C O N F E R E N C E
  --------------------------------------------------------------------------


The 3rd annual Technical Conference on the X Window System will be held
January 23-25 at MIT.  The conference is sponsored by the MIT X Consortium.
The purpose of the conference is to present and discuss leading edge research
and development in the X environment from both academia and industry.

The conference will consist of tutorials, presentations, and "Birds of a
Feather" sessions for general discussion of specific areas of interest.  There
will be no "trade show" attached to this conference.

The conference will be free, but registration is *required* in order to attend
tutorials and presentations.  All tutorials will be held Monday, January 23,
with presentations on Tuesday and Wednesday, January 24-25.



		       ~ P R E S E N T A T I O N S ~
			 -------------------------

			   Tuesday, January 24
	     -----------------------------------------------

      The Care and Feeding of Overlay Planes - A Religious Battle
		   Karen Bircsak, Sam Black, Ray Tice
		    Concurrent Computer Corporation

	There has been much discussion of late in the X community on how
to deal with graphics devices that have independent overlay planes.  The
two solutions that have been proposed have been to treat them as another
visual, or to treat them as another screen.  This paper will attempt to
discuss the pros and cons of each method, and arrive at a solution that
can become the standard way of dealing with overlay planes.

	     -----------------------------------------------

		Interactive Software Tools using X Widgets
		   Doug Blewett, Ken Hicks, Dat Nguyen
			  AT&T Bell Laboratories

	The Kernighan and Plauger books on constructing software tools
encouraged developers to think of programs in terms of filters.  Using a
collection of filter programs a developer can quickly construct new
applications.  Applications constructed in this manner exhibit a high
level of software reuse and the construction can be done interactively.
We describe how we have applied the software tools philosophy to writing X
widget applications.  Our examples include widgets manipulating color
scanned images.

	      ----------------------------------------------

	    The Inter-Client Communications Conventions Manual
		    David Rosenthal, Sun Microsystems

	At the last X conference the Inter-Client Communications
Conventions Manual, which describes how to write clients that co-exist
gracefully with others sharing the same server, was introduced.  In the
year since then the draft that went out with R2 has undergone an extensive
and detailed review process under the auspices of the Consortium.  A new
draft, with many changes, is being released for public review.  It will be
introduced, and the rationale for the changes provided.

	      ----------------------------------------------

	    Automatic Construction of User-Interface Displays
	       Paul Raveling, Larry Miller, and Yigal Arens
		    USC/Information Sciences Institute

	Construction of user interfaces for most computer applications
remains time consuming and difficult.  This is particularly true when the
user interface system must dynamically create displays integrating the use
of several interface modes.  The paper shows how artificial intelligence
knowledge base and rule technology can be used to address this problem,
and the presentation will include a discussion of X-related issues in
presentation planning and multi-modal input.

	      ----------------------------------------------

		   Why X is not our ideal window system
	 Joel McCormack, Hania Gajewska, Mark S. Manasse, DEC WSL

	We come to praise X, not to bury it, but the lack of perfection in
some points in the X11 protocol is plainly intolerable.  We hope to
encourage progress and reinterpretation in some areas in order to
establish a more perfect server.  We will present several instances of
shortcomings and awkwardnesses, including such problem areas as: unsigned
versus signed Dimensions, missing unviewability events, events without
timestamps, events without cursor positions, input focus redirection,
border and background inspection, inconsistencies in treatment of borders,
race conditions not cured by timestamps.

	      ----------------------------------------------

	     The Tektronix HVC (Hue-Value-Chroma) Color Model
	   Bob Toole, Al Tabayoyon, and Joann Taylor, Tektronix

	Tektronix HVC is a device independent color space based on human
color perception and the principles of CIE color spaces.  Its properties
facilitate precise color matching between CRT displays and other devices,
such as printers, and color selection and definition.  This presentation
will show how this color model can be incorporated into X to supplement
the current device dependent RGB color model.

	      ----------------------------------------------

			    X Terminal Issues
	    Dave Bundy or Mike Braca, Visual Technology, Inc.

	- Booting vs. ROM-based server
	- Initial connection
	- Font access 
	- Limited memory constraints
	- Local clients
	- Server extensions
	- Serial line communications
	- Benchmarking
	- Network loading

The object will be to lay out all the issues involved, as opposed
to presenting specific solutions.

	      ----------------------------------------------

			   The Graph Widget Set
	     Gabe Beged-Dov, Software Productivity Consortium

        The Graph Widget Set (GWS) is a set of R2 Intrinsics-based widgets
that support the display and editing of directed graphs. The current use
of the GWS is in the construction of interactive graph editors in the CASE
domain. The current editors are an Ada-oriented design tool and a
stochastic Petri editor. Both these editors are part of a larger CASE
toolset being developed by the Software Productivity Consortium.

	      ----------------------------------------------

			 Display PostScript and X
	   Susan Angebranndt, Phil Karlton, and Terry Weissman,
			Digital Equipment Company
		Jim Sandman, Ramin Betash and Ivor Durham
			       Adobe, Inc.

	This talk will describe the design and implementation of the
Display PostScript extension based on the X11 sample server.  Designing an
extension involves deciding on a wire protocol plus the appropriate DIX
and DDX interfaces.  It also requires determining the relationship of the
extension resources to X resources.  We'll discuss the trade-offs made in
the wire protocol and server implementation.  We'll show a video tape of a
version running almost completely on the DDX interface layer.

	      ----------------------------------------------

		    PEX (PHIGS/PHIGS+ Extension for X)
		    Marty Hess, Sun Microsystems, Inc.
		Dr. Spencer Thomas, University of Michigan

Dr. Spencer Thomas will speak on the work that was done for a SIGGRAPH '88
demonstration of PEX:

	During the summer of 1988, a demonstration implementation of PEX
was produced and shown at the SIGGRAPH '88 vendor exhibition.  The
implementation is described, illustrating solutions to some problems
induced by interoperability and portability requirements, and by the
extreme potential variability in the data presented by the client program.
The demonstration was successful, and the results are available on the X
V11R3 release tape.

Marty Hess will give a report on the current status of PEX and discuss the
PEX Sample Implementation Activity:

	An update on the status of PEX will be given.  Details about the
recently started activity to provide a sample implementation of PEX will
be covered.  Items that will be covered include a review of the results of
the PEX Sample Implementation (PEX-SI) activity to date, a description of
the planned contents and architecture of the SI, common terms used to
describe PEX and the SI, and a schedule of when and how the sample
implementation will be made available.
	      ----------------------------------------------

			  Wednesday, January 25

	      ----------------------------------------------
				     
		Kee Hinckley, Open Software Foundation

	OSF will present a technical overview of its initial User
Environment Component Offering.

	      ----------------------------------------------

       Implementation of an Experimental Data Visualization System
	  Martin Schedlbauer, Marian Williams, Georges Grinstein
	   Graphics Research Lab, Dept. of CS, Univ. of Lowell

	We will describe a novel technique for visualizing
multi-dimensional data and report on the applicability of the X Window
System in implementing a highly interactive experimental visualization
environment.
	      ----------------------------------------------

			    The View2 Toolkit
		  Thomas W. R. Jacobs, Sun Microsystems

	The View2 Toolkit is an object-oriented user interface toolkit
designed for the X Window System version 11 (X11).  View2 is based upon a
mature toolkit named SunView.  View2 was redesigned and extended to take
advantage of the features that a networked window-system offers, while
still maintaining the flavor of SunView, and much of its Application
Programmer's Interface (API).  It was also transformed to provide the OPEN
LOOK Graphical User Interface.  Additionally, View2 is portable across
many versions of the UNIX operating-system.

	      ----------------------------------------------

      AT&T's OPEN LOOK Widget Set, The Story Behind its Development
		   Marcel Meth, AT&T Bell Laboratories

	AT&T has developed an Xt Based Widget set which supports the OPEN
LOOK Graphical User Interface (GUI).  The development of the OPEN LOOK
Widget Set presented a unique set of challenges.  We needed to provide a
toolkit that would support the OPEN LOOK GUI, as well as providing a
simple to use Application Programmer Interface (API).  Furthermore, we had
decided to implement the toolkit totally within the Xt framework.  The
goals behind our design were threefold, first the widget classes had to
provide high level functionality, second they had to provide application
writers with a simple and uniform way to create and manipulate widget
instances, and finally they had to work with the standard version of the
intrinsics.

	The challenge behind this task was to keep the three goals aligned
as development progressed, and to periodically step back from the design
and revisit the design as well as the implementation.  Several examples of
these design and implementation decisions will be the focus of this talk.
The talk will also focus on performance improvements that were needed.

	      ----------------------------------------------

    Implementation of an X server on a pipelined display architecture
		   Michael Toy, Silicon Graphics, Inc.

I.   Very brief overview of SGI Display Architecture and  X implementation.
II.  Critique of SGI X Server
III. Analysis of common operations which do poorly on SGI machines
IV.  How to do these things fast on an SGI machine.
IV.  Proposed extensions for describing common operations at a high level

	      ----------------------------------------------

		  tV - A Network Transparent System for
	Interconnecting and Controlling Video Devices in Real Time
		Darren Leigh, Hewlett-Packard Laboratories

	Window systems, such as X, have enabled us to develop text and
graphical applications that are transparent to networked environments.  As
video technology becomes increasingly available in the computing
environment, we are going to see more applications which merge graphics
and text with real-time video.  Previously proposed models for merging
video and X have placed most of the video functionality into the X server.
We propose a more streamlined model that adds only the minimum necessary
functionality to the X server.

	Transparent Video (tV) is a separate server that provides an
application independant model for controlling specific devices (cameras,
recorders, effects boxes, etc.) as well as handling switching and routing.
The only video capabilities that need be implemented in the X server are
those which deal specifically with how the video is displayed and its
relation to the windows (clipping, hue and contrast control, etc.).

The presentation will cover:
	o The architecture of tV 
	o How tV interacts with X
	o Discussion of applications

	      ----------------------------------------------

	   ADEW - The Andrew Development Environment Workbench
	       Tom Neuendorffer, Carnegie Mellon University

	ADEW is a user interface management system designed to simplify
the creation of Andrew Toolkit applications, and for use in rapid
prototyping. It provides a extendable collection of widgets (buttons,
switches, thumbwheels, etc), tools for creating multi-media documents, and
a code generation program that takes care of the details of writing
dynamic objects. ADEW applications are created by copying components from
an object creation window (Arbcon), and pasting them into any desired
layout object. Once a prototype is thus created, a dynamically loadable
controller object can then be automatically generated and modified by the
user to create applications. ADEW has been distributed along with the
Andrew Toolkit.

	      ----------------------------------------------

		     An "XLib" for the Cedar Language
		       Christian Jacobi, Xerox PARC

	The Cedar language is a Mesa (Pascal) derivate.  It supports
separate modules, strong typing, compiler guaranteed runtime type safety
or read-only-ness, lightweight processes, exception mechanisms, and
garbage collection.  The Cedar environment runs in a shared address space
and allows dynamic loading of programs.  Each of these Cedar features has
substantial influence on how an "XLib" or a toolkit for Cedar should be
written.  Some features simply allow the interface to look simpler; other
features, like the lightweight processes, are a real challenge to
incorporate beneficially.  The use of a shared address space opens great
new possibilities like hidden and fast client-to-client communications bu
also opens the pandora box of gracefully cleaning up after terminating
windows or connections.  Since Cedar has been ported exclusively to
powerful workstations we tend to prefer caching over network traffic.
Finally, as a support for client debugging, we added watchdog features to
prevent deadlock through arbitrary grabs, at the same time still giving
the client programmer the illusion he had access to the complete reliable
stream protocol of the X Window System.

	      ----------------------------------------------

       Window Groups as an Extension to the Parent/Child Hierarchy
			 in the X11 Window System
	    Philip Gust, Multi-User Interface Project, HP Labs

	The parent/child hierarchies in X11 is inadequate to express a
number of useful relationships among windows.  Postits and drop shadows,
for example, are notoriously difficult to implement without requiring the
use of a special window manager to support them.  The purpose of this note
is to describe a useful relationship among windows called a 'group'.  Many
other user interface effects, some of which cannot be done using X, can be
expressed in terms of the group relationship.  We also suggest that in its
most general form, groups are a framework for describing even the existing
X capabilities in a more coherent way.

	      ----------------------------------------------

		     Implementing an X Server in Ada
		   Stu Lewin, Sanders Associates, Inc.

	Sanders is halfway through a two year project to implement an X
Window System server using the Ada programming language.  Our objectives
are to implement a production quality base windowing system suitable for
use in Ada-based real-time systems, and to examine Ada's applicability as
an implementation language for graphics software.  We currently have
running a partially-implemented server which dispatches on client
requests, performs basic windowing operations and executes basic graphics
functions.  This talk will explain why we chose to do an Ada
implementation, describe our implementation approach and server design,
relate a few lessons learned about using Ada in such an application, and
make some observations about using graphics processors with X.



		  ~ B I R D S   O F   A   F E A T H E R ~
		    -----------------------------------
If you are interested in sponsoring or co-sponsoring one of these BOFs,
send email to xconference@expo.lcs.mit.edu

Monday, January 23, 5:00 - 6:30 p.m.
	Image Processing and Display
	Documenting X Applications
	Xt-based Toolkits topics
	X & PCs	

Tuesday, January 24, 5:00 - 6:30 p.m.
	Window Managers, ICCCM, Session Managers
	X3D (PEX)
	Device Independent Color
	UIMS
	CLX and CLUE and CLOS

Tuesday, January 24, 8:30 - 10:00 pm
	XUG meeting

Wednesday, January 25, 4:00 - 5:30 p.m.
	End-User Applications
	Specification Languages & Tools for X-based User Interfaces
	Video (applications and server extensions)
	X & Ada	
	Server Implementors



		   ~ T U T O R I A L    P R O G R A M ~
		    ----------------------------------

All morning tutorials run concurrently.  All afternoon tutorials run
concurrently.  You may register for *one* morning tutorial and you may
register for *one* afternoon tutorial.   

	Choose one Morning 			Choose one Afternoon
	------------------			--------------------
	InterViews part 1			InterViews part 2
	Xlib part 1				Xlib part 2
	Andrew Toolkit part 1			Andrew Toolkit part 2
	Display PostScript part 1 		Display PostScript part 2
	Writing Widgets (novice)		Using Widgets (novice)
						Writing Widgets (advanced)
	
			       -------

	    Programming User Interfaces in C++ with InterViews
		     Paul Calder, Stanford University

    In this tutorial we describe InterViews, a C++ toolkit for X that we have
developed at Stanford.  InterViews provides a true object-oriented programming
interface that supports the composition of interactive objects (such as scroll
bars and menus), text objects (such as words and whitespace), and graphics
objects (such as circles and polygons).  After a quick introduction to C++ and
InterViews basics, we will present three applications: a dialog box built from
interactive objects, a simple drawing editor using a hierarchy of graphical
objects, and a simple editor using a hierarchy of text objects.

    The morning session will cover C++, InterViews basics, and a simple
application.  Attendees should be familiar with C, X, and object-oriented
programming concepts.  Familiarity with C++ would be helpful, but is not
required.

    The afternoon session will cover graphics and text applications in detail.
Attendees who are not at the morning session should be familiar with C++ and
basic InterViews concepts.

			       -------

	Introduction to Programming the X Window System, Version 11
		    Oliver Jones, Apollo Computer, Inc.

    The proposed tutorial is at the Beginning level.  The X Window System is
a complex and comprehensive software package for controlling workstations.
Programmers, even those expert in computer graphics, must go up a substantial
learning curve in order to understand the issues and techniques involved in
designing and implementing application software to run on X Workstations.
This Beginning-level tutorial assumes no prior knowledge of X, and is intended
to shorten that learning curve.  This tutorial is for technical professionals
who are unfamiliar with Version 11 of the X Window System.  People preparing
to design and develop application software to run under X will find this
tutorial especially useful.  Attendees should be generally familiar with
graphics workstation technology and networks.  In addition, attendees should
be experienced with the C programming language.

    The purpose of this tutorial is to help turn X novices into reasonably
competent developers of X Window System application software.  The tutorial
addresses Xlib, the C language interface to X.  By covering low level X
requests, the tutorial lays the conceptual foundation for understanding and
applying the various high-level human interface toolkits and user interface
management systems available as layers on X.

			       -------

	      The Andrew Toolkit (ATK): An Introduction
   Andrew J. Paley and Nathaniel S. Borenstein, Carnegie Mellon University

This tutorial is intended for experienced C programmers who know nothing
about programming with the Andrew Toolkit.  Some familiarity with the
concepts of object-oriented programming would be helpful, but is not
required.  The tutorial will explain enough about the ATK to allow such
people to begin serious application development using the ATK, if they are so
inclined.  Those with prior experience with the ATK are welcome to attend,
but should not expect extended discussion of advanced or esoteric ATK
features at this tutorial.

The Andrew Toolkit is a powerful set of tools for building complex user
interface programs in a window-system independent manner.  Besides providing
many basic building blocks for such interfaces, the ATK also provides
substantial facilities for object-oriented programming, which greatly
simplify the process of constructing new interfaces.  However, these
facilities require the programmer to approach his programs in ways that may
not be familiar to most C programmers.  In this tutorial, we will learn how
to use the Andrew Toolkit.  The primary emphasis will be on thinking like an
ATK programmer.  Within this conceptual framework, we will then study the
various components, or building blocks, that the ATK offers, and how they may
be put together to form complex applications.

			       -------

			  Display PostScript
	      Adam Stock and Kim Stickney, Adobe Systems

The Display PostScript System(TM) is a graphics programming environment for
interactive displays based on the PostScript(R) programming language.  A
Display PostScript extension to X is being developed jointly by Adobe Systems
and Digital Equipment Corporation under the DECwindows(TM) program.

The PostScript language offers the developer a device and resolution
independent imaging model for addressing both color and black and white
displays and output devices.  It offers the end-user the same imaging model on
displays that is a standard on laser printers and typesetters for true WYSIWYG
compatability.

This tutorial will cover what the application programmer needs to know to
write to the Display PostScript System.  The issues include the Display
PostScript extensions, the client library interface, and pswrap, a PostScript
to C preprocessor.

PostScript is the registered trademark of Adobe Systems.  Display PostScript
is a trademark of Adobe Systems.  DECwindows is a trademark of Digital
Equipment Corporation.

			       -------

			    Using Widgets
	 Dany S. Guindi, SERC Georgia Institute of Technology

This tutorial will attempt to teach the experienced C programmer how to glue
together some of the existing widgets so as to create a user interface to an
application. It will be necessary to explore both the intrinsics as well as
the different widget sets available. The tutorial will use the Athena Widget
set for examples, but will also try to cover small examples from other widget
sets. This tutorial differs from the "Writing Widgets" tutorial in that we
will NOT attempt to explain how to expand the widget set nor how to slightly
modify existing widgets!

				  -------

			  Writing Widgets (novice)
		Paul Asente, DEC Western Software Lab

This is an introduction to the Xt toolkit Intrinsics for would-be widget
writers.  We will go over complete implementations of three simple widgets,
label, pushbutton, and box, a simple composite widget.  Classing,
subclassing, inheritance, resources, and introductory translation
management will be covered.  Prerequisite: a basic familiarity with X11 and
Xlib.

				  -------

			 Writing Widgets (advanced)
	  Ralph Swick and Mark Ackerman, MIT Project Athena

This covers more advanced topics in the Xt toolkit Intrinsics for widget
writers.  We will cover geometry management, constrained composite widgets,
resource converters, subresources, and advanced event handling.
Prerequisite: an understanding equivalent to that gained in the novice
class.


		      ~ A C C O M M O D A T I O N S ~
			---------------------------
Each person is responsible for making their own arrangements (this includes 
cancellations) and will be billed directly by the hotel.  Each individual 
should TELEPHONE THE HOTEL DIRECTLY and identify themselves as being part 
of the X WINDOW CONFERENCE*. ( Contacting the Hotels through the reservation 
telephone numbers listed below will allow you to obtain the proper conference
group rate.) 

NOTE: The hotels are listed in order of proximity to MIT's Kresge
Auditorium.   Kresge is the primary Conference building.

								  LAST DATE
								  RESERVATIONS
HOTEL			     DISTANCE		    RATE	  ACCEPTED
--------------------------   --------------------   -----------   ------------

HYATT REGENCY		     10 min walk to Kresge  Single/       JAN. 2
575 Memorial Dr		     Free shuttle service   Double $95
Cambridge, MA		     to Kresge
617-492-1234 extension 201
PARKING: $8/night
Facilities at the Hyatt include a 75ft pool, 
health club, Jonah's Seafood Restaurant, 
and Sally Lings Chinese Resaurant.


BOSTON MARRIOTT/CAMBRIDGE    15 min walk thru 	    Single $95    JAN. 8
Two Cambridge Center	     campus to Kresge	    Double $105
Cambridge, MA
800-228-9290
617-494-6600
PARKING: $10/night


ROYAL SONESTA*		     25-30 min walk to 	    Single/       JAN. 3
5 Cambridge Pkwy	     Kresge. Free shuttle   Double $95
Cambridge, MA		     service to Kresge
617-491-3600
*When reserving a room at the Royal Sonesta, state that you are reserving
under the conference block number (or group code) G7047 .  


NOTE: Reservations made AFTER the "LAST DATE RESERVATIONS ACCEPTED" dates
listed above will be handled on a space and rate available basis. 



	     ~ C O N F E R E N C E   R E G I S T R A T I O N ~
	       ---------------------------------------------
Register FOR THE CONFERENCE by returning a completed registration form (See
registration form below).  Registration received without the required
information or sent to the wrong address has a high probability of being
completely ignored.  Registration will be on a first-come-first-serve basis;
if we cannot accommodate your request, you will be informed as soon as
possible.  RECEIPT WILL BE ACKNOWLEDGED within two weeks.

We would PREFER you to register for the conference via the network address:
	xconference@expo.lcs.mit.edu

If necessary, one can register by sending a completed copy of the 
registration form to our postal address:
	Michelle Leger
	MIT Laboratory for Computer Science
	545 Technology Square, Rm 217
	Cambridge, MA  02139
or, *only* if you do not have a network address, by sending a copy to
our FAX# (617-258-8682). 

PLEASE DO NOT CONTACT US AT ANY OF THESE REGISTRATION ADDRESSES FOR
ACCOMMODATION RESERVATIONS. (see the accommodation listings above for the
proper hotel reservation telephone numbers.)


XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
If you specify > 1 tutorial for the morning or the afternoon, or if you 
fail to give your name, you will certainly NOT be registered.
--------cut here------------------------------------------------------------

	    3rd Annual X Technical Conference Registration Form
		   send to xconference@expo.lcs.mit.edu

Name:
Network address:
Morning Tutorial:
Afternoon Tutorial:
Postal Address:
Telephone:
Top 3 BOF choices: