Hyperbole Draft Report

Bob Weiner

rsw@cs.brown.edu

Brown University

Copyright (C) 1991 Bob Weiner

May 23, 1991

[This work is supported by Motorola Inc.]

See also: Other hypertext products

Outline

Overview

Hyperbole is a flexible, extensible personal information manager (PIM). Although it is only a two-month-old prototype, it has already proven to be quite powerful, with a number of important features absent from many research and commercial systems aimed at similar problems.

It represents a synthesis and entension of ideas in user-centered information access that we have developed over the last two years. It is only the first step towards a distributed multi-media architecture that we refer to as a Personalized Information Environment (PIE). This report discusses Hyperbole; our ideas on PIEs are discussed separately and are the subject of current research work.

Hyperbole brings the techniques of associative information management offered by hypertext systems to the domain of PIMs. Hypertext is a concern that seeks to establish meaningful, easy to follow associations among independent and related pieces of text, supporting non-linear flow and browsing of information.

Hyperbole allows one to use any comfortable tools to generate information. At any point the information can be easily integrated and further adapted for use within Hyperbole, which runs on top of the popular GNU Emacs text editor, available on any UNIX system.

Rather than the structured approach taken by most PIMs, Hyperbole offers an open framework under which many styles of information and task management can be performed. A mode for entering form-based information will be integrated in the near future.

Hyperbole adds an associative linking facility on top of the standard UNIX file system, allowing people to quickly obtain information without regard to its storage location. This facility is quite powerful when coupled with a wide-area network, such as the Internet. Then information on a computer in Sweden can be made as easily accessible as that on the user's local computer. As the Internet moves to a fully transparent file management model, remote file access will become even easier.

A Hyperbole user need learn only three new concepts, all of which are quite simple and familiar to a user of any hypertext system. The first concept is buttons. Buttons provide the user's gateway to information. Therefore, they can be embedded within whatever textual information the user uses.

The second concept is referents. Referents are informational destinations. They come in a number of different types as explained later. Most referents are information nodes, chunks of information to which a user wants access.

The final concept is links. Links provide an information transport mechanism by connecting buttons to referents. (We have a basic design for an interface which allows linkage to and from graphic objects but have not yet started implementing it.)

With these concepts, information access is greatly simplified. A user simply selects a pre-designed button which causes a traversal of a link to the associated referent.

To manage information, one need only select a label for a button, select a referent and ask the system to create a link. A user can create a number of explicit links per minute. But Hyperbole also supports implicit links, links that are implicit in a particular document structure, e.g. a hypertext imported from another system or references in an annotated bibliography. Once Hyperbole is set up to recognize a format, a user can traverse implicit links without any prior effort.

Hyperbole is highly interactive. Once a link is created, it may be immediately tested by selecting the associated button. There is never a need to get into or out of a special mode, though a read-only browser mode will be provided for those who want it. All of Hyperbole's features are always available within the editor without interfering with any editor functionality. Link modification and deletion are quick and easy.

Hyperbole provides flexible information access. It supports the features available on a user's display. From a terminal, all operations are available from the keyboard. On a workstation, a two key mouse interface is used, complete with multi-windowed menu operation and button highlighting. Hyperbole leaves all information in its original place and format, so one need not use a special program just to take quick peeks at information.

Research Issues Hyperbole Can Address

How can computers improve personal management of information, especially in a distributed environment?

Hyperbole provides an experimental platform for managing information and for building targeted information manager front ends. Since many people will likely want to use it, it will help answer questions that we may pose and test in this area.

How effective a technique is personally tailored associative data management?

Does little structure lead to disorganization or does it encourage use, thereby encouraging people to put information on line and organize it at their own pace, according to their own needs?

What tools and techniques are needed to manage personal hyper-information spaces (hyperbases)?

Hypertext systems have only recently begun to emerge from the research environs into limited commercial usage. Many unanswered questions remain including:

How can collaborative, interactive information access aid workgroups?

The shift from easily shareable resources on timeshared computers to the independently managed resources in PC and workstation networks has stimulated a large amount of research into computer-supported, cooperative work (CSCW) and groupware applications. Typically such work is tested on the very groups that perform the development. People so conscious of issues in group interaction are likely not to work in manners similar to the larger populace; they may, for example, be much more adept at sharing information. They are also overly knowledgable in the workings of their system and may unconsciously modify their behavior to conform to its requirements.

The textual interface to Hyperbole is quite small and portable. It has a core of only three files. Thus, it can be delivered quite easily to a set of diverse groups for testing in unbiased locales.

Key Features of Hyperbole

No Fixed Structure Model

A number of hypertext systems impose a fixed structure on the nodes in their hypertexts. A common limitation is to apportion information in screen-sized portions known as frames. Apple's Hypercard, MaxThink's PC hypertext products, and Knowledge Management System's KMS all have this limitation.

In contrast, Hyperbole imposes no common structure on all hypertexts built with it. Since it is intended as both a delivery tool and a research vehicle, it is meant to serve as a framework under which researchers or developers may try out and deliver hypertexts of varying formats and levels of structure. Thus, Hyperbole hypertexts can be fashioned in the image of any of the above mentioned systems if so desired. However, one can also include extremely lengthy

files as nodes, allowing the user to freely move through such files as he sees fit. In hypertext terminology, Hyperbole supports both fine-grained and course-grained links.

Some systems also define intra-node structure, a carry-over from paper forms and the record-field structure of databases. Hypercard uses fields nested within cards to support form completion applications.

Clearly there is a need for a mix of structure and non-structure. Hypercard descended from an initial rolodex-type system prototype, so let us look at this application. We have seen over ten rolodex systems across a range of platforms and all of have used the card-field metaphor. There are a number of problems that this kind of setup cannot handle. Consider an entry for a dialup computer with twelve different phone numbers. Most rolodexes would only permit two numbers per entry. And what about the person with two home phones, a work phone, a cellular phone, a pager and a fax number? We are forced to place much of this information in an unstructured information field, if available. And then we lose the advantage of structured fields, such as autodial support invoked by selecting a telephone field.

Hyperbole puts the work burden on the machine rather than the user for such a task. The user can enter any information he wants in any order as a rolodex record. Pattern matching is then used to extract phone numbers, electronic-mail addresses, etc. from the entries. A primitive form interface exists to demonstrate that Hyperbole can be used to imitate the more structured interfaces when needed. We conclude that people should be able to get structure when they want it and totally avoid it when it is of little or no use to them.

Our design philosophy is heavily user-centered for two reasons. We seek to demonstrate the important productivity impact that easily learned interfaces can have in information intensive tasks. We further want to make the system appealing enough to encourage widespread adoption as both an end-user tool and a framework for targeting specific information delivery applications.

Collaboration

A special facility allows two users to collaborate by following Hyperbole links in lock step, as long as they both have access to any files referenced by the links. Where one goes, so does the other. The facility generalizes to support broadcast to any number of users. Speed over a LAN is quite good. Here is an actual sample from a Hyperbole demonstration: One can collaborate with another person across the network by traversing nodes together. Simply select <<collaborate>>. Later one can <<disconnect>> from collaboration. This can be either a master-slave relationship when only the master issues the collaboration command and the slave follows along or it can be a peer-to-peer relation when both issue collaboration commands to each other. Then either host can traverse nodes and update the other's display. Many other systems permit only the master-slave relation or require that both users have bitmap displays. With this interface, one person can be on a bitmap display and the other on a character terminal or any other combination of the two. Consider how voice broadcast facilities are used by police and firemen working on common problems. When one person obtains new information or happens upon a critical situation, he can quickly broadcast this to his fellow workers. A similar need arises when a group of distributed people are working on a common information intensive task, e.g. performing background research for an upcoming trial, analyzing news reports for emerging trends, or performing a walkthrough of a software design.

Hyperbole's collaboration facility can be used as a rapid broadcast mechanism in such instances. Unlike other computer-based broadcast facilities, it does not present a short, out of context message. Instead it can show critical information with surrounding context and embedded hyper-buttons to further guide the readers to either more expansive or deeper material.

Mailable Links

Links may be created when one is composing mail within Emacs. Anyone to whom the mail is sent may then follow such links, assuming he has Hyperbole installed and has access to the associated material.

Mail links remain invisible so neither the creator nor the receiver ever sees them. Each only sees the buttons embedded within messages. From a user perspective, mail links look exactly like any other Hyperbole links.

Buttons embedded within Subject lines may be selected from both the messages themselves and any Subject summary listings in which they appear.

Mode-Specific Button Handling

Hyperbole supports multiple button representations in files. Thus, an electronic mail message file could contain standard Hyperbole buttons but could also have its "From: " address treated as an implicit button which displays any rolodex entry corresponding to the address. Similarly, selection of a reference such as "see page 26" within a document could display that page.

Implicit buttons are useful in files in which a number of buttons perform the same action. In such cases, it would be wasteful to record individual links; instead one procedure serves all similar buttons in the file. This technique is useful when large button menus are built, e.g. to give access to the UNIX manual pages via a set of summary description lines, one per manual topic.

The implication is that instead of developing completely independent development and browsing environments for application specific tasks, one could much more quickly add a special mode or two that interfaces to Hyperbole. This kind of strategy, besides saving time, leaves the rest

of a user's custom environment available to him, while interacting with the special modes. This helps minimize learning time. It represents a tool-based strategy familiar to UNIX shell users.

Complete, Mature Programming Language

Hyperbole is written in Lisp, which means that the entirety of the Lisp language is available for extending its functionality. Since Lisp is interpreted, extensions may be immediately tested in a bottom-up fashion. Even with interpretation, link traversal and creation are both

quite fast.

Hyperbole supports procedural links which evaluate arbitrary Lisp expressions whenever their corresponding buttons are selected. Since many users will not know Lisp, an alternative, the keyboard macro link, is provided. The user simply tells the system to watch and to save the

keystrokes to whatever he does until he issues a stop command. The resulting macro may then be used as the target of a link.

Arbitrary External Calls

External call interfaces are available to allow a Hyperbole link to execute any sequence of shell commands or to redirect input and output to a batch or even window-based program.

Terminal/Workstation/Mainframe Portability and Access

Since Hyperbole is layered on top of GNU Emacs, it is portable across over 30 different brands of computers, from low-end to high-end machines.

No Data Format Conversions Necessary

All Hyperbole link data is stored in an ASCII format, as are Hyperbole buttons. Links are stored outside of the files with which they are associated. Button labels are simply arbitrary strings in a file

surrounded by special delimiters, e.g. >. The user need not worry about spacing or line breaks between words in a button label; the system normalizes the label text before it looks for the corresponding link. So the effort to create and manage buttons

within bodies of text is minimal.

Secondary Features

Integration of remote information access protocols is fairly straightforward. Hyperbole currently supports transparent Internet ftp services and we are examining other protocols that will enrich its

ability to deal with heterogenous machines and networks.

Button creation and deletion is provided. Modification is not yet available. It represents a rather simple addition.

A history mechanism is included. It simply returns the user to his site prior to following the last link. It can also jump back any number of links with one command.

Under the X window version of Emacs known as Epoch, hyper-buttons can be highlighted in any desired color so that they are easy to see. When a button is selected, it flashes to give the user feedback on his selection.

Both a mouse-based and key-based interfaces are provided. Commands may be selected from a menu.

The following link types are currently provided with more being developed:

DirLink
references a UNIX directory
ExecLink
executes an arbirary Lisp form, e.g. a shell command
FileLink
references a UNIX file
LinkLink
references another HyperLink
MacroLink
replays a 'watch-what-I-do' keyboard macro
MailLink
references a UNIX electronic mail message
MenuLink
references a menu of buttons
RegionLink
references a non-delimited segment of text within a larger unit of text, such as a file
SectionLink
references a delimited segment of text within a larger unit of text, such as a file
Implicit links are presently handled in a special manner. They can be of any of the above types. Global buttons, which may be selected within any working context will be added in the near future.

Prototype Utilities

Auto and Manual Dialer

We have put together a popup telephone keypad of buttons that can emit actual touchtones from a workstation. This is coupled with an auto-dialer facility that will extract an appropriate telephone number from a rolodex when given a person's name. With a little more work, it will store prefix codes for calling cards, etc., so that one could simply select a name, hold the phone near the computer speaker and have it autodial for you. Adaptation for use with other dialing devices

would not be difficult.

Annotated Bibliography Browser

References to sources within a bibliography, e.g. [Diamond90] may be selected and the corresponding reference displayed in another window.

Comparison to Other Systems

Feature Key: +=Can issues commands to other programs to work with such data, thus can link to it, but doesn't manage it internally. So it could link to a picture but not an element of the picture, nor could it do anything with the picture. Y=Yes, N=No, S=Somewhat System Key: A=Hyperbole B=Lotus' Agenda C=Engelbart's NLS/Augment D=Brown's Intermedia E=KM Systems' KMS F=Apple's Hypercard G=Xerox' Notecards H=U.of Kent UNIX Guide A B C D E F G H ====================== Works on Basic Machine: Y Y N N Y Y N Y (UNIX or Mac/PC) Provides multiple views: N Y Y N N N Y Y (of same data) Executable Links: Y N Y N Y Y Y Y Search/Filtering Features: Y Y Y Y Y Y Y Y Manages data in place: Y N Y N N N N Y (doesn't convert format) Unlimited Node Size: Y N Y Y N N N Y Links in E-mail: Y N Y Y Y N N Y (can mail links to people) Full Programming Lang: Y S Y N N S Y Y Architecture Portable: Y N N N Y N N Y (automatic or transparent) Data Versioning: N N Y N Y N S N Graphical Relations View: N Y N Y N N Y N (for aiding orientation) Links to graphics: N+ N N+ Y Y Y Y Y Implicit/Automatic Links: Y Y Y Y Y N Y Y Warm and Hot Links: S S Y S Y S Y Y Multi-User Access: Y N Y Y Y Y Y Y Region-based linking: Y N Y Y N N N Y Typed Links: Y N Y N N N Y S (S=built-in types only) Distributed Data Storage: Y N Y S Y N N Y ---------------------- (score is sum of 'Y's 13. 6 14 9 11 6 10. 15. plus .5 for each 'S'; 5 5 5 read score vertically) Of the four no answers in the Hyperbole column, we plan to remove all of them aside from the data versioning one. Interestingly, the two systems with scores higher than Hyperbole have been developed over lengthy periods. NLS/Augment is a timeshared system developed over a more than

twenty year period. It is no longer in general use but represents the most sophisticated hypermedia working environment to date. The Guide system has been developed for the last nine years at the University of Kent at Canterbury in England. A Scottish company, Office Workstations Ltd. has marketed their own derivative versions for Macs and PCs since 1986.

Availability

A first release of Hyperbole should be available by September 1991. We would hope by then to also be able to include a useful set of personal productivity templates with which people can start.

Conclusion

Hyperbole presents a working prototype of a powerful personal information manager. It offers extremely intuitive browsing capabilities and excellent extensibility to meet specific application demands. It will server as a basis for further research on large-scale free text and graphics management and delivery.