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!