[comp.windows.x] Talks and BOFs at the X Conference, January 15-17

rws@EXPO.LCS.MIT.EDU (Bob Scheifler) (11/30/89)

The Program Committee this year consisted of:
    Doug Blewett, AT&T Bell Laboratories
    Nathaniel Borenstein, Bell Communications Research
    Bruce Cameron, Mayo Foundation
    Donna Converse, MIT X Consortium
    Jim Fulton, MIT X Consortium
    Christian Jacobi, Xerox PARC
    Scott McGregor, Digital Equipment Corp.
    Al McPherson, Boeing Computer Services
    Bill Moran, Yale/IBM
    Bob Scheifler, MIT X Consortium


We expect the following "Birds of a Feather" sessions to be held at the
X Conference.  Approximately 8 BOFs will be held on each of the 3 days.

Motif
XView
InterViews
Lisp Toolkits
Performance Evaluation
Ada and X
Emacs and X
X and "Other" Languages (not C, C++, Lisp, or Ada)
R4 Xt Intrinsics
TAE Plus 3
Interactive Development Tools
C++ and X
Server Implementors
Testing and Validation
Internationalization
Colormaps, Colors, and Image Display and Manipulation
User Interface Management Systems
Avoiding Pitfalls in Writing Widgets
VEX and Overlays
Computer Conferencing and X
Gwm
Session Managers


The following talks will be given during the main sessions on January 16 and 17.
(The abstracts are MIT's extractions from the proposals submitted.  My advance
apologies to the authors if we've butchered your work.)

The Changes Made to the Xt Intrinsics in Release 4
Ralph R. Swick
Digital Equipment Corporation/M.I.T. Project Athena

    The main intent of this presentation is to show to the audience that
    while many things have been added in many areas, binary compatibility
    can be maintained for 98% of applications and widgets.  I will present
    some rationale for the more significant improvements and simply
    enumerate the simpler and more easily understood improvements.

The Xt Intrinsics:  Lessons for the Next Generation
Paul Asente
Digital Equipment Corporation Western Software Lab

    The X Toolkit Intrinsics were designed under tight time constraints
    simultaneously with software that uses them.  As a result, some
    decisions made early on in the design turned out to be the wrong ones,
    but too much derived software existed to make radical changes.  This
    talk discusses some of the features of the toolkit that ended up being
    over-complicated or hard to use, including how entries in translation
    tables interact, some details of geometry management, and difficulties
    in detecting programming errors.

TAE Plus: Transportable Applications Environment Plus
Marti Szczur
NASA Goddard Space Flight Center

    TAE Plus is a portable tool for designing, building and tailoring an
    application's user interface (UI) and for controlling the designed UI
    throughout the application's execution.  The main component of TAE Plus
    is a WYSIWYG user interface designer's "WorkBench" that allows an
    application developer to interactively construct the look and feel of an
    application screen by arranging and manipulating "interaction objects"
    (e.g., radio buttons, menus, icons, stretchers, rotators, etc.).

Beyond the Interface: Rapid Interactive Development of MOTIF Applications
    with a User Interface Manager for X
Frank Hall
Hewlett-Packard Company, Corvallis Information Systems

    Hewlett-Packard and Visual Edge Software, Ltd., are creating a rapid
    development tool which combines an interactive layout facility with a C
    interpreter to address the whole task of creating any application based
    on the OSF/Motif widget set.  The resulting productivity gains have
    exceeded two orders of magnitude in field use.  This presentation
    reviews the tool's functionality and its potential role in the
    development cycle of X applications.

An Object-Oriented, Constraint-Based, User Interface Development Environment
    for X in CommonLisp
Brad A. Myers
School of Computer Science, Carnegie Mellon University

    The Garnet User Interface Development Environment contains a
    comprehensive set of tools that make it significantly easier to design
    and implement highly-interactive, graphical, direct manipulation user
    interfaces.  It is implemented in CommonLisp on top of the X/11 window
    manager.  The lower layers of Garnet provide an object-oriented,
    constraint-based graphical system that allows properties of graphical
    objects to be specified in a simple, declarative manner and then
    maintained automatically by the system.  The higher layers of Garnet
    include an interface builder tool, called Lapidary, that allows the user
    interface designer to draw pictures of @i(all) graphical aspects of the
    user interface.  Another high level tool is an automatic dialogue box
    and menu editor, called Jade.

OI: A Model Extendable C++ Toolkit for X Windows
Gary Aitken
Solbourne Computer, Inc.

     OI is a C++ based toolkit for writing clients intended to run using the
    X Window System Version 11.  Like other toolkits, the OI provides a
    basic set of objects used in constructing an interface.  Unlike other
    toolkits, these objects are generic in nature.  The particular
    appearance and behavior of an object may be determined at execution time
    -- the same executable image may run under two different interaction and
    appearance models.  The current library supports OpenLook and a partial
    Motif implementation; a complete Motif implementation is expected by
    spring 1990.

XOOT -- The C++ X Object-Oriented Toolkit for the rest of us
George W. Sherouse
Radiation Oncology, Univerity of North Carolina

    XOOT is an X Object-Oriented Toolkit intended to simplify and structure
    the design and implementation of X applications.  In addition, it is
    intended to address some issues which arise in development of complex
    X-based applications, such as image display and graphics software.  XOOT
    is specifically designed for use in applications which are
    resource-intensive.  The "standard" toolkits with which we are familiar
    make several resource-related assumptions which are not appropriate for
    applications like our image-based medical CAD work.

The Answer Garden
Mark Ackerman, Thomas W. Malone
Center for Coordination Science, MIT

    Two of the considerable problems in using X are finding a starting point
    when learning X initially and understanding the site dependencies in
    using X. NetNews has a early continuous flow of similar, naive
    questions.  Users, even in research and development laboratories, have
    difficulty in distinguishing MIT releases from vendor releases, locating
    source materials at their site, knowing about bug fixes, and finding the
    proper people to ask.  The objective of this project is to design and
    develop an information tool that will alleviate these problems.

Internationalization in the X Window System
Sivan Mahadevan
AT&T Bell Laboratories
    
    There is significant interest today in defining standards to ensure
    internationalization support in X.  Such standardization in X is
    necessary to permit application writers to develop truely
    "internationalized" applications, or applications that require no source
    code modifications for correct operation in any national language or
    geographic location.  In this talk, I will discuss the requirements of
    internationalization in X and our experience in providing
    internationalization support in AT&T's Intrinsics-based OPEN LOOK(tm) X
    Toolkit.

Unidraw: A Framework for Building Domain-Specific Graphical Editors
John Vlissides
Stanford University 

    Unidraw is a framework for creating object-oriented graphical editors.
    The framework defines four basic abstractions: components encapsulate
    the appearance and behavior of objects, tools support direct
    manipulation of components, commands define operations on components,
    and external representations define the mapping between components and a
    file or database.  Unidraw also supports multiple views, graphical
    connectivity, and dataflow between components.  This talk presents
    Unidraw and three prototype domain-specific editors we have developed
    with it: a drawing editor, a schematic capture system, and a user
    interface builder.  Unidraw is implemented in C++ on top of InterViews
    and X.

XDMCP -- A First Step in Making it Easier to Get Started in X
Dave Mackie, Ed Basart
Network Computing Devices

    This talk will cover XDMCP, the R4 usefulness of XDM and the technical
    trail that took us from the problems with R3 XDM, the addition of
    security, and the remaining problems that R4 XDM does not solve.

VEX: features and current state
Todd Brunhoff
Visual Systems Lab, Tektronix, Inc.

    Current design details of the VEX extension will be presented, including
    descriptions of how the protocol expresses video input, logically how it
    is displayed, and how various existing hardware is expected to fit into
    this paradigm; video output, the logic of capturing graphics, along with
    current hardware; and device control, why it is in X as opposed to out
    of X, and what the functionality is expected to accomplish.

X server optimization and hardware issues
Keith Packard
MIT X Consortium

    The MIT Sample server for Release 4 represents a dramatic departure from
    previous releases.  Instead of providing a proof-of-concept for the
    server side of the X protocol, this release focuses on a wide range of
    performance issues.  Besides recognising performance problems in the
    hardware independent code, we were able to isolate and catagorize
    problems which confront the X server implementor on a wide range of
    hardware systems.  An overview of the design of the R4 server will be
    presented, along with a candid discussion of tradeoffs which are
    inherent in both server implementation and hardware design as it affects
    the core X server.

A Multithreaded Server for X and PEX
Ian Elliott, John Brezak, Nathan Meyers
Hewlett-Packard Company

    The basics of multithreaded programming, various issues, alternative
    solutions, and a recommended direction will be discussed.  Among the
    issues discussed will be: partitioning core X and extension code into
    multiple threads; isolating the server implementation from the threading
    package; ensuring correct execution with preemptive thread scheduling;
    performance impacts of multithreading.

Opportunities with Lightweight Processes
Christian P. Jacobi
Xerox PARC

    There are many reasons to use multiprogramming.  It might be a way to
    deal with multiprocessors, it might be fun, or, sometimes it even helps
    engineering your software right.  Multiprogramming is an integrated
    feature of our Cedar programming language.  Since I have written an
    "XLib" and a "Toolkit" for Cedar I have learned some lessons about
    multiprogramming with X-Windows.

The Good, the Bad, and the Ugly of Window Sharing in X
John F. Patterson
Bellcore

    The talk describes a window sharing system that I have designed and
    implemented based on the X Window System and identifies features of X
    that are either good, bad, or unpleasant when implementing a window
    sharing system.  The talk consists of four major parts.  A background
    part discusses both window sharing in general and my implementation in
    particular.  Then the next three parts present the three lists of X
    characteristics: good, bad, and ugly.

Using speech recognition to augment window manager functions
Chris Schmandt
MIT Media Lab

    This talk will describe Xspeak, a speech recognition interface for
    navigation under X windows.  It will discuss: window manager operations
    amenable to speech input; Xspeak implementation and operation;
    interactions and problems with window managers; results of evaluation
    among a small community of users.

Gwm, the emacs-like window manager
Colas Nahaboo
BULL Research FRANCE

    I will present Gwm, the emacs-like window manager, show what experience
    has been gained since its general release on expo in July 89, and how I
    plan to enhance it in the future.

xRooms: A Multiple Virtual Workspace Interface for the X Window System
Bill Janssen
Xerox Corporation

    This talk describes the implementation of Xerox's "Rooms" as a
    co-process of an X Window System window manager.  Rooms is a workspace
    manager that supports grouping of related activities into `tasks', rapid
    switching between tasks, an overview of current tasks, and
    suspension/resumption of tasks.  Issues of X Window System session
    management and client/window-manager cooperation are addressed.  A new
    strategy for non-iconification, based on the Rooms overview system, is
    discussed.

Rooms, External Window Management, and the ICCCM
Hania Gajewska
Olivetti Research California
Mark S. Manasse
Systems Research Center, DEC

    Rooms management is an aspect of window management that can be separated
    from the more conventional role of a window manager -- that of providing
    a user interface for window positioning and sizing.  In this talk, we
    consider the problems of implementing an external rooms manager, that
    is, one which is a separate program from the window manager.  We further
    consider the problems arising in the construction of a
    window-manager-independent external rooms manager, that is, one which
    provides rooms management functionality with any ICCCM-compliant window
    manager.  We exhibit some of the restrictions this imposes on the style
    of rooms management, and some of the problems with the current ICCCM
    that makes this harder than it might be.

The following three talks will be given during a Server Implementor's
mini-session, held concurrently with BOFs:

The Application of Real-Time Paradigms to a Client-Server Window System
Sam Black
Concurrent Computer Corporation

    The characteristics and behaviour of the X Window System is sufficient
    for most graphics applications.  Real-time applications, however,
    require special func- tions to attain real-time response.  Many people
    feel that high performance is sufficient to claim that a system is
    real-time.  This is not the case.  In order to attain real-time response
    and the feel of a real- time system, significant modifications need to
    be made to the X server, and an extension to the X protocol is required.

Technology Directions in Hardware Assisted X
Dick Verburg, John Cook
IBM

    X server graphics management
    Hardware Exploitation
    Division of labor--server, client, kernel
    Adapter Requirements
    Graphics client requirements
    Performance comparisons (high level)
    Proposed architecture

Porting the X-11 Server to Non-Memory Mapped Graphics Cards
    With Graphics Accelerators
Erich Rickheit, Dave Pelland, Rich Miner
Center for Porductivity Enhancement, University of Lowell

    Numerous contemporary graphics and windowing peripherals are being
    developed with custom or over the counter graphics processors. In many
    instances these graphics systems do not allow a host CPU to access the
    graphics fame buffer directly.  In these systems there is often a
    command level interface which is used to communicate between the host
    and graphics processor.  This presentation will focus on the design of
    an X11 server for such environments.  The presentation will provide a
    general overview of the issues involved in such a port, using examples
    from a server implementation developed for the TIGA software interface
    for a Texas Instruments TMS34010 based graphics card.

The following three talks will be given during a Testing and Validation
mini-session, held concurrently with BOFs:

Enhancing the Input Synthesis Extension with Xtrap
Alan Jamison
Digital Equipment Corp.

    This talk will present experiences within Digital in going beyond the
    functionality available in the current version of the Input Synthesis
    Extension. It will reflect actual work which has taken place to date and
    recount various lessons learned during the process. It will also
    describe how this work is being used at Digital for performing testing
    of the DECwindows product which is based on X. Alternative methods of
    input synthesis and output detection based on non-screen compare methods
    will be discussed as well as how they apply to solving problems in the
    windows testing space.
    
Automating X Window System testing by User Synthesis
Dan Coutu
Digital Equipment Corp.

    This talk will describe an X application (Xigor) which helps to automate
    testing of X via a record/playback mechanism. Xigor uses Input Synthesis
    concepts as well as X request detection, time delays, etc. to control
    the recording and replay of an interactive user session. The recording
    can then be converted into a C script for detailed customization and
    editing. After this script editing process your test program is now
    capable of acting as a synthesized user instead of just a sequential
    playback utility. Error detection and correction can be a part of your
    script. The talk will address functionality and portability of the tool
    as well as future directions.

1000 Unemployed Monkeys
Len Wyatt, Liz Heller
Sequent Computer Systems, Inc.

    At Sequent, graphical applications are being made based upon the X
    Window System and the X-Pression User Interface Management System
    (UIMS).  The UIMS allows applications to construct objects (menus,
    scrollbars) and processes I/O for the objects (locates a mouse click
    within a menu title, for example, and pulls the menu down).  The test
    tools use the intrinsic knowledge that the UIMS has of the location and
    state of all the objects it manages.  Requests have been added to the
    UIMS to allow a testing agent to access this information.

The following talk will be given at the start of a BOF:

Pitfalls in Widget Writing and In Using Widgets to Write Applications
Miles O'Neal, Susan Liebeskind
Sales Technologies Inc.

    Making Things Happen
    Resources
    Timing Issues
    Widget Partitioning
    Object-Orientedness Issues
    Breaking The Rules
    Nested Event Loops
    Toolkit or not Toolkit
    Debugging in Xland

rws@EXPO.LCS.MIT.EDU (Bob Scheifler) (11/30/89)

    From: anon
    I am sure I missed it somewhere, but is the X conference for Gurus only 
    or is it also intended for the neophyte.

The Conference should have something for everyone!  It is definitely not
targeted just at gurus.

gordon@banyan.UUCP (Gordon Lee@Eng@Banyan) (12/01/89)

In article <8911292129.AA07895@expire.lcs.mit.edu> rws@EXPO.LCS.MIT.EDU (Bob Scheifler) writes:
>
>The Conference should have something for everyone!  It is definitely not
>targeted just at gurus.

Ok, got the "when" from Suject: line,
and the "what" from your more recent extensive posting, but,

where is the next X conference being held ?
  (please be Boston/Cambridge, please-oh-please-oh-please...)
what is the schedule of events ?
pricing ?

Me:  I am currently embarking on a self-started project to get X up
     and running on Compaq 386sx with VGA running Banyan modified
     Intel/AT&T SystemV 3.2.  The os dependencies work is within
     my current experience.  I have a learning curve to climb 
     with the dix portion.  Any advice from anyone who may have
     done anything similar is certainly welcome!

Disclaimer: This is a personal experiment/project, Banyan doesn't "know"

-- 
=============================================================================
Gordon Lee                 gordon@banyan.com    or    gordon@bu-it.bu.edu
Banyan Systems, Inc.
Westboro, MA            "Pay no attention to that man behind the keyboard..."