Subject: Re: The future of Freeware
From: Wilfred.Hansen@CS.CMU.EDU
Date: Mon, 12 Jul 1993 12:47:02 -0400 (EDT)

Excerpt from mail: 11-Jul-93 The future of Freeware Gavin Thomas
Nicol@NSIS. (1596) 

> If someone/some organisation were to produce a rough design for the
> future Freeware desktop (for example, just mapping out the major
> components needed), and then just had a kind of "project registry", it
> would be better than the current situation... 

The Andrew User Interface System (AUIS, formerly the Andrew Toolkit or
ATK) offers a framework for software development, free or not.  This
system sits above the operating system and X windows levels.  It defines
architectures for sharing resources between objects which inhabit a
single window or constitute an application.  Examples of resources are 
	screen space 
	user input devices (keyboard, mouse, and menus) 
	data stream space 
	execution time and memory 
	printed page space 
	extension language 

The design of ATK, the toolkit component of AUIS, emphasizes recursive
embedding of objects: for instance, equation in drawing in spreadsheet
in text.  This is more effective than simply overlaying objects on a
single top level substrate because the inner objects can respond to size
changes of the outer.  If I give an embedded spreadsheet less space, I
would like the objects in the cells to have less space and to remain
within the bounds of the spreadsheet. 

Object Linking and Embedding (OLE, from Microsoft) does many of the
things that ATK can do, but is unlikely to be free software.  Nor is
AUIS entirely free.  To get the latest version at any time, your
organization must be a member of the Andrew Consortium.  Older versions
are distributed on the X tape and have the usual X consortium license,
so organizations are able to sell works based on our software.  I've
listed below some papers that may help explain AUIS . 

Unlike many toolkits, AUIS is not a simple collection of widgets. 
Beyond the toolkit, AUIS offers complete applications for important
tasks:  word processing, program editing, drawing editor, spreadsheet,
system monitor, shell interface, help document presenter, font editor,
preferences editor, and especially a mail and bulletin board system. 
(The latter has full MIME capability.)  Available as insets for
inclusion in any document or application are drawings, rasters, images,
equations, tables, and a host of other objects.  In fact, most AUIS
"applications" are objects in themselves and can be incorporated in
documents or in the screen image to construct other applications. 

It has been a problem for AUIS that it has used its own object model
where objects are written in C.  In 1993, we are converting AUIS to the
C++ object model so it will be available for wider use.  This version
will be released to members later this year and will be distributed
publicly a year or two later.  This time delay is how we encourage
organizations to support the consortium so we can continue to exist and
coordinate the further development of the system. 

How does the ATK architecture create a framework for free software? 
Software authors construct new facilities as ATK objects and release
them to the world either by themselves or through the Andrew Consortium.
 There is plenty of room for new objects and for improvements to
existing objects. 

If there is wide agreement that we should also maintain a "Project
Registry" so people can know what is needed, we will do so.  If you want
to know what we are up to, read our newsletter, The Andrew View, which
is published quarterly. 

For further information email to 
	info-andrew-request@andrew.cmu.edu 
this address can also add you to our mailing list.  Or read the mailing
list in comp.soft-sys.andrew. 

The currently released version of AUIS is available for Anonymous ftp
from emsworth.andrew.cmu.edu (128.2.45.40). 

For a live demo 
	finger help@atk.itc.cmu.edu 


Fred Hansen 
Director, Andrew Consortium 


REFERENCES 

Borenstein, Nathaniel S., Multimedia Applications Development with the
Andrew Toolkit, Prentice Hall, 1990. 

Hansen, Wilfred J., Enhancing documents with embedded programs: How Ness
extends insets in the Andrew Toolkit, Proceedings of IEEE Computer
Society 1990 International Conference on Computer Languages, March,
1990, New Orleans, IEEE Computer Society Press (Los Alamitos, CA) 
23-32. 

Palay, Andrew J., Wilfred J. Hansen, et al., The Andrew Toolkit - An
Overview,  presented at the Usenix Conference, Dallas, TX, January,
1988. 

Palay, Andrew J., Towards an "Operating System" for User Interface
Components, in Multimedia Interface Design ed. Meera M. Blattner and
Roger B. Dannenberg, ACM Press (New York, 1992). 

Sherman, Mark, D. Anderson, W. J. Hansen, T. P. Neuendorffer, A. J.
Palay, Z. Stern, "Allocation of User-Interface Resources in the Andrew
Toolkit,", Proceedings of the International Conference on Multimedia
Information Systems, (Singapore) McGraw-Hill, January, 1991.