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!