[comp.sys.next] BANG

dick@lhs.woodside.ca.us (dick benster) (05/30/91)

	BANG  (Bay Area NeXT Group) 15-May-91 Meeting  Summary
			
		Dick Benster - La Honda Software


		Happy Birthday to BANG!


Happy Birthday BANG!  We are one year old, and bouncing along just  
fine, thank you!   The past year represented many accomplishments:   
the monthly user's group meeting,  monthly developer's meetings,   
quarterly newsletters, BANG T-shirts,  BANG buttons,  the September  
product roll-out meeting, the Christmas party... Sincere thanks to  
the many efforts of  the small group of volunteers who have made it  
all happen!  The most dedicated of these individuals were singled out  
as the people who have done the bulk of the work:  Joe Barello  
(managing director, the man behind everything that happens!),  Robert  
Nielsen (founding President and Board member who created BANG nearly  
by himself in the early days),  Eric Ly (second President, who kept  
BANG alive, and Board member),  and Rick Reynolds (current President,  
tireless worker with time for everybody, and Board member).  They  
were enthusiastically cheered:  Bravo to these fine fellows who have  
been so generous with their time!


		Pres. Rick Reynolds Provides the Context

More than 80 people attended this meeting, which was intended to  
explore alternate technologies regarding user interfaces.  Rick  
Reynolds (new phone #: 415-753-8405)  stressed that BANG is making an  
effort to keeping an eye on other related technologies, so that we  
may better understand how the NeXT fits into the spectrum of   
interface possibilities.


But first...

		NEXTWORLD introduces its new Editor in Chief
		
Dan Ruby is NEXTWORLD's new Editor in Chief.   He was introduced to  
BANG, and mentioned his previous experience,  having spent 3 years at  
MacWeek as managing editor, and also time at InfoWorld in a similar  
capacity.  Dan hopes to bring a more technical focus to the magazine,  
and a less "cyberpunkish" atmosphere.   Dan is excited to be a part  
of the NeXT community, and stressed that reader-feedback is very  
welcome at NEXTWORLD.

Please feel free to contact Dan at:  druby@nextworld.com  or  
415-922-NEXT
		

		Dan Lavin Now Planning Meetings

BANG board member Dan Lavin, of Boston Computer Society fame and  
technology editor for NEXTWORLD, has taken over BANG meeting planning  
from managing director Joe Barello, who did a tremendous job in this  
capacity - thanks to Joe!  Joe continues as managing director, but  
now with a little more room to breath!  If you have ideas and  
especially contacts for speakers, please contact Dan at:   
dlavin@nextworld.com or 415-922-NEXT.


...And now, our feature presentations!



		GO's PenPoint:  a Mobile pen-based computer OS

Tony Hoeber, User Interface Coordinator for GO Corporation, Inc.,  
presented his and GO's work of nearly three years on the PenPoint  
pen-based OS.  Pen-base computers are a new class of machines  
targeting the mobile professional who will use computers out in the  
field.  IBM, NCR, and GRID have all licensed the software and will  
make hardware that provides pen-based portable computers.  As an  
example of these new class of machines, GO's own developer's computer  
is a 4.1 pound, 16mb SRAM (!), 80286 portable that is held in one  
hand while the other, dominant hand operates the pen - the computer  
is like a clip-board or notebook that the user interacts with.  Near  
future multi-vendor releases of PenPoint based machines will range  
from shirt-pocket sized to full notebook sized.  While the O/S is  
currently operational on only the 286/386/486 Intel processors, it  
does have machine dependent/independent layers, and will be ported to  
other processors in the future.

Tony pointed out a strong philosophical similarity between NeXT and  
GO:  both have bet the farm on OOP implementations of their  
interfaces.  GO is also like NeXT in that the O/S is written in C,  
while the application toolkits and apps themselves are written in  
OOP.  However, the actual interfaces are very different!

GO's metaphor for creating its interface has been the field notebook,  
with a goal of providing techno-phobes as natural an interface as  
possible relative to their previous work habits.
The appearance of the screen is one of a table of contents and with  
menu of operations at the top, and a row of utilities icons at the  
bottom.  Every page is a different document listed in the scrollable  
table of contents.  The TOC also supports sections and nesting.  Each  
page is also represented by a symbolic tab on the right side.

	The Pen is Mightier than the Mouse
		
Tony claims that the pen has much greater useful bandwidth than a  
mouse - you can write with it, and  make gestures far beyond what a  
mouse can do.  This is very important in providing a natural  
interface.  For instance,  with such gestures as striking out (to  
delete a phrase), or drawing an X (to delete a word),  or drawing a  
caret (^) (to insert), or circling (to select),  one has the elements  
of a language of gestures that we are all familiar with.  These are  
the core gestures that occur across apps.  Drawing a circle is much  
nicer than using a  "select" menu operation!

An area of PenPoint that Tony especially likes is its handling of  
scrollers.  On any system, the question always becomes "what moves,  
the paper or the view?"  With PenPoint, a "flick up" gesture  
(flicking pen vertically an inch or two) in the middle of the page  
intuitively moves the page up a few lines, the opposite occurs for a  
flick down. A double flick up or down causes the the document to be  
positioned at the top or bottom.  Its easy and immediately obvious.

There are many ways to navigate through the documents stored on the  
system:  you can tap on the page # in the TOC, or use the tab icons.   
Additionally, you don't need to think of loading apps/files - you  
just go to a doc and the O/S loads the appropriate apps/files for  
you.  Also, docs can be imbedded in other docs - the O/S handles this  
seemlessly with multiple apps fired up as necessary.

One interesting app demo'ed was a drawing program.  It had a new  
twist - no palette nor modes.  For instance, to draw a circle, you  
free-hand draw an approximate circle, and the app converts it into a  
true circle that symmetrically approximates what you just drew.

PenPoint uses "ImagePoint" which is a subset of display postscript.   
Therefore, it easily supports scaling, rotating, clipping, etc.

A gesture's meaning can be context/app specific - ie, a circle drawn  
can mean several things:

    for a room layout app, it may mean "place a round table there"
    for a drawing program, it may mean "place a true circle there"
    for a word processor, it may mean "place the letter O there"
    for an editor, it may mean "replace the circled word (with)"

This apparently is more flexible than what Microsoft is doing in  
pen-based software - Microsoft has a layer of software that produces  
a constant meaning for each gesture, making less flexible the  
programmer's ability to use gestures differently depending on  
context.  PenPoint gives the developer access at different levels to  
the pen's activities - you can grab raw coordinates and do your own  
"gesture recognition" routines, or use the GO-supplied  
gesture-translation and character-translation engines at the  
high-end.  The pen produces 300pts/inch, with a  sampling rate of  
"many per second."  


PenPoint appears to do a good job of recognizing hand-printing and  
producing machine-editable text.  It is possible to input 20 - 25  
words per minute hand-printing with the pen.   However, the pen  is  
no substitute for a keyboard when a massive amount of text is to be  
entered - PenPoint therefore supports standard keyboards as well.

PenPoint does not require a two-tiered memory model of hard-disk and  
DRAM.  Rather, it can exist solely with SRAM, although disks may be  
used also.   It provides a flat 4 giga-byte memory model with a rich  
set of inter-task communication tools. The SRAM provides instant  
on/off, since apps and data can be retained in this static memory.    
The file system provides for objects to be entered and put to sleep  
back into the file system for later accessing - copies are made for  
the live object being accessed.

PenPoint additionally supports imbedding of docs into other docs,  
compound documents (powerful support of graphics and text combined),  
and O/S support for hyperlinks.  To make a hyperlink, the user may  
select a word, make a linking gesture, and then attach that word to  
an icon.  Accessing the icon will send you back to the desired word  
in the desired document.


		InterViews at Silicon Graphics
		
Mark Linton presented on his C++ user interface toolkit named  
InterViews, which he has developed with assistance from Paul Calder  
and John Vlissides of Stanford University. InterViews sits on top of  
X Windows ( it does not yet comply to either MOTIF nor Open Look).
InterViews name is derived from "interactive views," and is intended  
to make interfaces easier to build.  Mark started by quickly poking  
fun at one of UNIX's perceived problem areas:  whereas PC DOS has  
functionality without architecture, UNIX has architecture without  
functionality...  So he decided to help increase the functionality of  
UNIX by giving apps tools to create more quickly better user  
interfaces, leveraging off C++ capabilities and integrating 2-D and  
3-D drawing capabilities.  While in Mark's opinion "the C++  
environment sucks," he finds the language itself very good.

In InterViews, every the basic atom is a glyph - even every character  
is a glyph, which are implemented as C++ objects.  For formatting of  
text (only a part of what InterViews incorporates) it uses the TEX  
algorithms, with boxes and stretchable glue concepts to control how  
objects can be reformatted in relationship to each other.  Text  
formatting is very hierarchical, with left-right composition used to  
determine word-breaks, line breaks, and column breaks.
InterViews with TEX algorithms provides decent response time on a  
10mip workstation with a frame-buffer - storage is moderately  
expensive, with a 50-page document requiring about 3mb.  It also  
handles graphics bundled in documents very cleanly, with line,  
column, and page breaks occurring in real-time during reformatting as  
pictures/tables are moved around.

An unusual twist to glyphs is that they are passed information  
including context, but usually do not store information.  Rather,  
they usually compute something.  Resultingly, an  important trait of  
glyphs is that their constraints are not built in - instead they are  
dictated at run-time by the environment.  InterViews provides a basic  
set of very flexible objects that support both the  glyphs and  more  
traditional graphics toolkit widgets as well.

The graphics power of InterViews is well demonstrated in the  
application "idraw."  This was started as a drawing program, and was  
easily and quickly extended to support documenting of circuits and  
even schematic editing (which it was not intended to do!).   It  
generates postscript output.

Another important core graphics tool is "unidraw," which supports  
creating components (objects drawn), tools (for direct manipulation  
of the objects), commands (like undo!), and external representation  
(like postscript).

Using unidraw, Mark was able to create an interface builder (IB) very  
rapidly  (unidraw is used in general to create graphical applications  
fast).  The IB builds C++ code  that implements a user interface -  
the code is currently  slow but works.  The running of the compiler  
is also a bit slow as the objects are not dynamically generated (the  
source code is).  The current implementation does not actually build  
a functional interface like the NeXT IB, rather it graphically  
simulates the interface, but does provide complete control of all  
interactions.

Through idraw, unidraw, and the IB, Mark has demonstrated that  
InterViews can be used to very quickly build powerful applications  
(and build powerful applications that quickly build more powerful  
applications).  Because it is based on two extremely important  
standards, C++ and X Windows, the technology is receiving world-wide  
acceptance and currently has over 1,000 users.  The current version  
is 3.0 Beta and is available free via anonymous ftp at various sites.
One of Mark's goals is to get InterViews accepted as a standard by  
the X Consortium, so it will be used as a C++ toolkit industry-wide.

Future work will head in the direction of multi-media InterViews, and  
multi-thread support.  InterViews is a very hot technology, and this  
review has only captured a fragment of  the the information that Mark  
conveyed.  Check it out!

Mark Linton can be reached at	linton@sgi.com


		Auction Earns Bucks and Brings entertainment
	
BANG  has started a tradition of auctioning off (to paraphrase  
auctioneer Dan Lavin) "astounding stuff that you will have, and they  
won't."  This meeting featured amazing Sony 3-D glasses ($25 winning  
bid), and a truly priceless Japanese Canon-NeXT phone credit card  
with about a $1 of credit on it (BANGer M Carling blew the doors off  
with a $100 winning bid!).  Thanks to Randy Nelson for donating these  
wonders from Japan that NOBODY else could possiblely have!

		Help, Help, Help
	
Remember, Uncle BANG needs you!  Please help in any way you can to  
make year two even better than last year!  Please contact Pres. Rick  
Reynolds (415-753-8405)  or email BANG at

	BANG-request@BANG.org

And please attend - the meetings are great fun and the content is  
excellent!  In final salute to Birthday #1, a cake was served and  
much merriment had!  Ciao!