Path: gmdzi!unido!mcsun!ukc!acorn!ixi!ixi!pd
From: p...@x.co.uk (Paul Davey)
Newsgroups: comp.windows.x
Subject: X conference SUMMARY [LONG]
Message-ID: <PD.91Feb14165208@powys.x.co.uk>
Date: 14 Feb 91 16:52:08 GMT
Sender: p...@x.co.uk (Paul Davey)
Distribution: comp
Organization: IXI Ltd.
Lines: 312


This article was written for the European Unix User Group Newsletter
and is posted here for the benefit of those who could not attend. 
It was/is aimed at X literate, unix users/developers and does not
cover all presentations at the conference.


		  5th Annual X Technical Conference.
			      Paul Davey
			       IXI Ltd.

The 5th annual X technical conference was held again in Boston from
Jan 13th to 15th. People from all over the world joined the MIT X
consortium to exchange information and ideas at the premier technical
X event. Three days of activity comprising formal presentation of
papers, slightly more informal tutorials and informal Birds of a
Feather sessions (BOFS) packed a large amount of knowledge into a
small amount of time.

Many topics of interest to application developers were covered, including
Interactive User Interface Builders (seen by many as the next logical
stage after current toolkits), PEX (The PHIGS extension to X), and the
use of toolkits (including both Open Look and Motif).

The opening talk of the conference was made by Aaron Marcus on `Future
Developments in Advance Graphical User Interface Technology'.  In his
thought provoking presentation he covered such topics as Objectives,
Metaphors, Design Factors and Cognitive and Navigation Models.
Predicting future developments of HCI service centres, faster
prototyping tools, and systematic design conventions. Among
particularly interesting challenges for the 90's he included:

	Agents, automated synthesised personalities aiding users to
		access data in a familiar form, for example a TV weatherman.
	Complexity, beating the video recorder problem of bad and non
		standard interface design.
	Audio, use of `earcons' and other feedback
	Video, usage with computer graphics, difficulty of use and
		control 


	INTERACTIVE APPLICATION BUILDERS

A full day tutorial on Interactive Application Builders (IABs) gave 12
developers (by no means all of those working in this field) the chance
to present a paper on their tools. UIMX made two showings under its
own name and Hewlett-Packard's Interface Architect.

IAB's were a key part of this years conference. It was pointed out
that this will be probably the last year in which developers are
likely to be as open in sharing their design aims and methods. By next
year many more of these products will have emerged fully into the
market place.

Sun's OpenWindows Developer's Guide was the only dedicated Open Look
UIB presented. This tool can produce PostScript code for Sun's
proprietary graphics systems, or XView code, for the Sunview like
custom X based toolkit, or OLIT code for the AT&T sourced Open Look
Intrinsics Toolkit. Developer's Guide is already being used with Kanji
text in Japan with other Asian languages soon to follow.

Most commercial IABs produce standard Intrinsics based toolkit code
for either Open Look or Motif.  These normally produce stand alone
`pure' MIT intrinsics toolkit code, though sometimes extra libraries
are also required. Some toolkits do not use the standard intrinsics
(they may still have widgets) and these must be seen as less standard
than the OLIT and Motif based applications.

European involvement is IAB's included interactive graphical user
interface builders such as XFaceMaker, from DEC's Paris Research Labs,
XBUILD, from Siemens Nixdorf and Ingrid, from Esprit funded INSEC in
Portugal. Sadly Imperial College's XDesigner and Sweden's TeleUSE were
not represented.

Many people find that even the best of these tools still require at
least an understanding of the basic toolkit principles underlaying
them. Many tools only provide a framework for creating the initial user
interface, without addressing the dynamic issues.


	SIMPLE TOOLKITS

Several approaches for simpler forms of X toolkits were described.
Among these were SUIT, a subroutine library of about 10 thousand
lines of C allowing a GUI to be compiled transparently on Unix/X,
Macintosh and DOS machines. Described as being designed to be quick
and dirty the non intrinsics based toolkit is taught initially in 2
hours to undergraduate students with no widget programming experience
at the University of Virginia. SUIT is available free to non profit and
academic organisations.

Another small and easy to use toolkit has been implemented by John
Ousterhout from UCB. Taking an existing development tool TCL, a
standard command language intended to be embedded in applications, he
has added a custom toolkit called Tk. Tk is Motif like but is driven
from the shell like command language. The first application so far is
a windowing shell called wish in which a directory browser was
constructed with 20 lines of TCL commands.

An alternative approach was described by David Smythe of JPL in
Pasadena. Carrying on a challenge suggested at last year's conference
the X resource mechanism is used to describe not just resources
(options) to widgets, but also the widget tree and the bindings to
application code callback functions.

The Widget Creation Library (WCL) is a lightweight (small) package of
C code which allows interfaces using standard Athena, Motif (and soon
Open Look) widgets to be constructed rapidly without writing any C or
even compiling.  WCL code to produce a Motif periodic table showing
all the motif widgets is 20% of the length of the original program in
OSF's UIL(User interface language).  WCL has an important advantage
over the other simple toolkits in that it can be easily expanded to
use any widgets based on the MIT intrinsics.

	SUBCLASSING AND WIDGET INTERNALS

Ralph Swick and Mark Ackerman gave a tutorial session on widget
internals covering understanding and writing simple widgets and also
discussed subclassing widgets in a talk to the whole conference.
(Subclassing is the use of the object orientated features of the MIT
intrinsics to reuse existing binary widget code by replacing or
extending its component functions.)  Since both are heavily involved
with the development and support of the Athena widget set they set out
to subclass Motif and Open Look widgets using only what is available
to standard developers.

With nothing but the documentation and header files they were
confident that this would prove an easy demonstration since the MIT
intrinsics were intended to support subclassing. However to quote
their paper directly

	 `... the minimal documentation was, alas, not
	  sufficiently common to support this assertion.'

To subclass effectively they found that sight of source code is
required due to undocumented internal functions.

This lack of even basic widget internals documentation was also raised
at a BOF session of Motif developers. Vania Joloboff of the OSF
explained that this was not a priority among OSF members, who are
mainly hardware vendors not application developers.

	
	MOTIF

Vania did however outline the benefits of the latest version of Motif
(1.1). New features include a full validation test suite and caches
gadgets for performance enhancement. UIL gains a Widget Meta Language
used for generating the UIL compiler extending it to handle new
widgets. UIL will also enter the core Application Environment
Specification.

New widgets include an improved file selection box simpler menu
functionality and a single line text field widget.  Another welcome
change is the rewriting of the Motif style guide and documentation for
the toolkit has been improved. Mwm will also handle multiple screen
displays.


Forthcoming attractions for version 1.2 include the promise of smaller
dynamic data sections and to improve the response of Mwm on
Xterminals. The major change will be in greatly increased support for
internationalisation. X11R5 will provide an input method for compound
character entry and this and other relevant standards will be used. An
international text widget will be provided and source code should then
be codeset independent.  (The term Codeset rather than character set
is used since for example, in Japan, three character sets are used at
one time.)


	CUSTOMISATION

Customisation of X toolkit programs via the resource database has been
was discussed by Jim Gettys of DEC. Reaffirming the original
intentions he pointed out that although customisation can be a
nuisance, software is rarely perfect. Resources allow an application
to be fine tuned to particular situations.

Although support can be difficult, due to the extra permutations
possible, resource using applications can be rapidly modified for
unusual environments. Certain users of even ordinary software may need
special treatment. For example some hardware may well have different
keyboard layouts to that used while developing.  Visually handicapped
users and persons demonstrating software may need a larger font than
was anticipated for normal use.

Andrew Peebles of MIPS took customisation to a new level by presenting
the concept of an application toolkit. Unlike a widget toolkit the
application toolkit comprises modules useful to application users, not
developers. The user is invited to take the application apart and
assemble it in the manner that suits him or her best. Using WCL
Andrew's team provided five high level objects with their own
resources in an application toolkit called the visual debugger. This
interface to debuggers can be used as a front end to any text driven
debugger and can change its appearance from an xdbx clone to a video
recorder metaphor. About 10% of the internal users have extensively
customised the visual debugger and it has just been released as a MIPS
product.

Another issue of customisation was addressed by Chris Peterson,
formerly of MIT. The resource database is a powerful tool, but is not
a user friendly system. The large quantity of possible options and
syntax of the database make it too complex for the average user. As a
step towards solving this problem Chris described `editres', a
graphical resource editor. 

Editres can display a tree of the widgets in a program, and can
highlight them in the application and tree when a widget or widgets
are selected. Resources can then be selected and changes made
immediately before being committed to a file. Besides the graphical
resource editor editres comprises a small library linked into the
application and a protocol to transfer requests to the running
application.  A single line needs to be added to the source code to
set up editres and it is expected to be released with X11R5.


	SERVER EXTENSIONS

Jim Fulton of X terminal manufacturers NCD (Network Computing Devices)
presented another proposal for R5. Since X terminals have no local
disc space they currently obtain their fonts over the network via FTP
or NFS. Different server font formats impede inter-operation and make
new font formats (such as outlines) hard to install.  The solution is
a font server which supplies fonts to X servers.  Intended to be
simple but powerful the font server will be able to scale fonts
further reducing disc space.  Benefits include an increased ability to
share fonts, and to make new fonts easier to support.


John Weber from DEC described work on an extension to handle digitised
documents under X. The extension allows compression (via G3 and G4 fax
and JPEG standards) of images passed from client to server saving
network bandwidth.  Image storage is device independent and special
display hardware can be accessed via the protocol extension. Low
resolution browsing and interactive enhancement are supported for such
applications as catalogues and X-ray or satellite picture enhancement.

From England, Tim Glauert presented a paper on a synchronisation
extension to X. This extension provides millisecond accuracy between
applications allowing two or more clients to be run in step or for an
X application to be synchronised with external multi media controls.


	PEX 

Three presentations on PEX were made this year, as well as a tutorial
and BOF sessions. PEX stands for PHIGS Extensions to X, where PHIGS is
Programmer's Heirarchical Graphics System.  An ISO standard since 1988
PHIGS is an API (Application Programmer's Interface) for 3-D graphics.

PHIGS is one of many possible API's that could be supported under PEX
but the PEX-SI (Sample Implementation) has been coded to provide a
PHIGS environment under X. Members of a team from Sun contracted to
the X consortium have produced the PEX-SI server and API library. This
has established that the PEX requires a few minor modifications but
can supply support for a conforming and efficient PHIGS
implementation. 

Presentations on both the API and server were followed the next day by
an extension to PEX, PEXIM or PEX Immediate Mode by Jim Hardenbergh of
Stardent.  PEXIM gives an alternative to the display list approach of
PEX, providing a closer system to established proprietary graphics such
as Apollo's GMR3D, Hewlett Packard's Starbase and Stardent's Dore`.


	THE FUTURE

It has long been frustrating that a high speed, high resolution
graphics workstation can make one sound by going `beep'. Even under X,
assuming the hardware supports it it may go beep at a different
volumes or pitch. High quality audio is beginning to appear on
workstations and a team from DEC in association with the MIT Media Lab
have been applying lessons learned in X to an Audio server. Their view
is that audio should be handled in a separate server, which requires
multi-threading and support for audio abstractions hiding such details
as encoding and sampling rates.

Following X they are concentrating on `mechanism not policy' and hope
to be able to provide an audio toolkit layer with which to build tools
such as telephone answering machines, voice mail, speech recognition
and synthesis and digitization

From Japan, Hidyea Ichihara of NTT described research into multi-media
applications with full motion video in multiple windows on an X
display.  A video recording of an experimental desktop conference
terminal was shown comprising a general purpose workstation, audio
video controller and video multiwindow controller, linked to the
workstation by a SCSI bus. Sound is in stereo of course and moves with
the location of the associated window. Hand written entry of data is
also supported.

Hand written interaction was also demonstrated by a group from IBM's
Thomas J. Watson Research Labs. Investigating pocket book computers
they are working towards the concept of a `fat clipboard', with input
by stylus which writes an ink trail onto the screen. Besides a
productivity increase advantages seen include easy drawing or
sketching and the unobtrusiveness of the interface. A version of Lotus
123 adapted for hand written input proved 1.5 to 4 times faster to
use.  The team hope to produce a prototype X based portable this year.

Once again the X technical conference provided a wide ranging forum
for the discussion of the X window system. As someone lucky enough to
have attended again I hope I have shared some of the benefits with
you. X gathers more flexibility and power as time goes on. In the
words of X consortium director Bob Scheifler, `It's been a long hard
year'.

--
 Regards,			 p...@x.co.uk          IXI Limited
	Paul Davey		 p...@ixi.uucp         62-74 Burleigh St.
				 ...!uunet!ixi!pd    Cambridge  U.K.
 "These are interesting times"   +44 223 462 131     CB1  1OJ