comparison lisp/hyperbole/README @ 0:376386a54a3c r19-14

Import from CVS: tag r19-14
author cvs
date Mon, 13 Aug 2007 08:45:50 +0200
parents
children ac2d302a0011
comparison
equal deleted inserted replaced
-1:000000000000 0:376386a54a3c
1 #
2 # FILE: README
3 # SUMMARY: Intro information on Hyperbole.
4 #
5 # AUTHOR: Bob Weiner
6 #
7 # ORIG-DATE: 19-Oct-91 at 03:27:47
8 # LAST-MOD: 3-Nov-95 at 23:20:31 by Bob Weiner
9
10 The author's work on this project has been sponsored by Motorola Inc.
11
12 We hope you enjoy using and developing with Hyperbole. Suggestions and bug
13 reports are welcome, as described later in this document. Feel free to
14 mail or post news containing this file wherever it may be of use.
15
16
17 ===========================================================================
18 * Table of Contents
19 ===========================================================================
20 * Hyperbole Overview
21 * What's New
22 * How to Obtain
23 * Installation / Configuration
24 * Quick Reference
25 * Mail Lists
26 * User Quotes
27 * Why was Hyperbole developed?
28 * Copyright
29
30
31 ===========================================================================
32 * Hyperbole Overview
33 ===========================================================================
34
35 Hyperbole is an open, efficient, programmable information management and
36 hypertext system. It is intended for everyday work on any UNIX platform
37 supported by GNU Emacs. It works well with the versions of Emacs that
38 support multiple X or NEXTSTEP windows: GNU Emacs V19, XEmacs (formerly
39 called Lucid Emacs) and Epoch. Hyperbole allows hypertext buttons to be
40 embedded within unstructured and structured files, mail messages and
41 news articles. It offers intuitive mouse-based control of information
42 display within multiple windows. It also provides point-and-click
43 access to Info manuals, ftp archives, Wide-Area Information Servers
44 (WAIS), and the World-Wide Web (WWW) hypertext system through
45 encapsulations of software that support these protocols.
46
47 Hyperbole consists of four parts:
48
49 1. Info Management: an interactive information management interface,
50 including a powerful rolodex, which anyone can use. It is easy
51 to pick up and use since it introduces only a few new mechanisms
52 and provides user-level facilities through a menu interface,
53 which you control from the keyboard or the mouse;
54
55 2. Hypertext Outliner: an outliner with multi-level autonumbering
56 and permanent ids attached to each outline node for use as
57 hypertext link anchors, plus flexible view specifications that
58 can be embedded within links or used interactively;
59
60 3. Button Types: A set of hyper-button types that provides
61 core hypertext and other behaviors. Users can make simple
62 changes to button types and those familiar with Emacs Lisp can
63 quickly prototype and deliver new types;
64
65 4. Programming Library: a set of programming library classes for
66 system developers who want to integrate Hyperbole with another
67 user interface or as a back-end to a distinct system. (All of
68 Hyperbole is written in Emacs Lisp for ease of modification.
69 Although Hyperbole was initially designed as a prototype, it has
70 been engineered for real-world usage and is well structured.)
71
72 A Hyperbole user works with buttons; he may create, modify,
73 move or delete buttons. Each button performs a specific action, such as
74 linking to a file or executing a shell command.
75
76 There are three categories of Hyperbole buttons:
77
78 1. Explicit Buttons
79 created by Hyperbole, accessible from within a single document;
80
81 2. Global Buttons
82 created by Hyperbole, accessible anywhere within a user's
83 network of documents;
84
85 3. Implicit Buttons
86 buttons created and managed by other programs or embedded
87 within the structure of a document, accessible from within a
88 single document. Hyperbole recognizes implicit buttons by
89 contextual patterns given in their type specifications.
90
91 Hyperbole buttons may be clicked upon with a mouse to activate them or
92 to describe their actions. Thus, a user can always check how a button
93 will act before activating it. Buttons may also be activated from a
94 keyboard. (In fact, virtually all Hyperbole operations, including menu
95 usage, may be performed from any standard character terminal interface, so
96 one need not be anchored to a workstation all day).
97
98 Hyperbole does not enforce any particular hypertext or information management
99 model, but instead allows you to organize your information in large or small
100 chunks as you see fit. The Hyperbole outliner organizes information
101 hierarchies which may also contain links to external information sources.
102
103 Some of Hyperbole's most important features include:
104
105 Buttons may link to information or may execute procedures, such as
106 starting or communicating with external programs;
107
108 One simply drags between a button source location and a link destination
109 to create or to modify a link button. The same result can be achieved
110 from the keyboard.
111
112 Buttons may be embedded within electronic mail messages;
113
114 Outlines allow rapid browsing, editing and movement of chunks of
115 information organized into trees (hierarchies);
116
117 Other hypertext and information retrieval systems may be
118 encapsulated under a Hyperbole user interface (a number of samples
119 are provided).
120
121 Typical Hyperbole applications include:
122
123 Personal Information Management
124 Overlapping link paths provide a variety of views into an
125 information space.
126
127 A search facility locates buttons in context and permits quick
128 selection.
129
130 Documentation Browsing
131 Embed cross-references in your favorite documentation format.
132
133 Add a point-and-click interface to existing documentation.
134
135 Link code and design documents. Jump to the definition of an
136 identifier from its use within code or its reference within
137 documentation.
138
139 Brainstorming
140 Capture ideas and then quickly reorganize them with the Hyperbole
141 outliner. Link to related ideas, eliminating the need to copy
142 and paste information into a single place.
143
144 Help/Training Systems
145 Create tutorials with embedded buttons that show students how
146 things work while explaining the concepts, e.g. an introduction
147 to UNIX commands. This technique can be much more effective than
148 descriptions alone.
149
150 Archive Managers
151 Supplement programs that manage archives from incoming
152 information streams by having them add topic-based buttons that
153 link to the archive holdings. Users can then search and create
154 their own links to archive entries.
155
156
157 ===========================================================================
158 * What's New in V4.00 and V4.01?
159 ===========================================================================
160
161 (See "ChangeLog" for more complete details of changes.)
162
163 ACTION AND ASSIST KEYS
164
165 - New variable, action-key-url-function, sets the function used to
166 display URLs which are activated as implicit buttons with the Action
167 Key.
168
169 - Action or Assist Key presses at the end of a line now scroll
170 proportionally, by default. See the documentation for the variable,
171 smart-scroll-proportional, and the Smart Scrolling section of the
172 Hyperbole DEMO file, for more information.
173
174 - Fixed bug that prevented browsing Info files in dired with the Action
175 Key.
176
177 BUTTON TYPES
178
179 - "hsys-w3.el" is now automatically loaded so that the Action Key can
180 follow URLs by default. It defines the implicit button type, www-url.
181
182 - New implicit button type, text-toc, makes table of contents entries in
183 README files jump to the associated section of the file. Try it with
184 this file once you have loaded the current version of Hyperbole.
185
186 DOCUMENTATION
187
188 - A lot of work has gone into reorganizing and rewriting the Hyperbole
189 manual to improve its readability and completeness. A full chapter on
190 the Koutliner has been added. Please take some time to read the parts
191 of interest to you and send your feedback on what is good and what is
192 not to the mail list, <hyperbole@hub.ucsb.edu>.
193
194 EMACS VERSIONS
195
196 - MS-DOS and Windows NT Emacs 19 or Win-Emacs: Made Hyperbole work under
197 all of these PC Emacs versions.
198
199 - Emacs 19: Fixed bug that prevented Action Key selection of minibuffer
200 menu items.
201
202 - Emacs 19: Hyperbole menubar menus are now properly displayed.
203
204 - Emacs 19: Action Key press on a filename that has a .info suffix
205 displays the Top node for that info file in the Info browser.
206
207 KOUTLINER
208
209 - You can now view and edit koutlines with blank lines between cells
210 turned off. {C-c b} now toggles between showing or hiding blank lines.
211
212 - Minibuffer menu item Otl/Below renamed to Otl/Downto so could add
213 Otl/Blanks which toggles blank lines on and off.
214
215 - {C-c C-o} which displays one line per cell, for an overview, now also
216 turns off blank lines.
217
218 - {C-c C-i} adds an attribute to the current cell. It changes the
219 attribute's value if it already exists. Completion on existing
220 attribute names from the cell is provided.
221
222 - {C-c h}, which displays cell attributes, when given "0" as the cell id
223 now displays the zero cell's attributes in addition to any other
224 attributes shown.
225
226 - By default, the outliner separates labels from cell contents by two
227 spaces. If you want to change the separator for the current outline,
228 use {C-c M-l}. {C-u C-c M-l} will additionally change the default
229 separator value used when new outlines are created.
230
231 - If you invoke {M-x kotl-mode RET} on a non-read-only, non-koutline
232 buffer, it converts each paragraph in the buffer into a level 1 cell,
233 and thereby creates a koutline buffer. The conversion uses the
234 buffer-specific variable, `paragraph-start' to determine the paragraphs
235 in the buffer.
236
237 - If you save a koutline to a file whose name does not end in .kotl,
238 e.g. with {C-x C-w} (kfile:write), it will still be treated as a valid
239 koutline when you read it in again. You can create a koutline file
240 without the standard suffix via {M-x kfile:find RET} or by converting a
241 buffer to a koutline via {M-x kotl-mode RET}.
242
243 - Each koutline now maintains a current view setting that is saved with
244 the outline and restored when it is first displayed. View settings
245 include: show/hide blank lines, show a fixed number of lines per cell,
246 show a fixed number of levels in the outline, show all lines and cells,
247 show/hide ellipses after truncated outline entries, set cell numbering
248 (label) types.
249
250 - View settings are controlled by single character codes called view
251 specs. The current view spec setting for a koutline appears in the
252 modeline following the name of the outline. The current view spec
253 setting may be changed interactively with {C-c C-v}.
254 See <${hyperb:dir}/kotl/EXAMPLE.kotl, 2b16=048> for details on valid
255 view specs.
256
257 - Minibuffer menu item Otl/View changed to Otl/Vspec to set a view
258 specification. Use {C-x C-r} to view a Koutline in read-only mode.
259
260 - Added View menu to Koutliner popup and pulldown menus. Moved
261 view-related tree operations from Tree menu to View menu.
262
263 - Fixed importation of star outline and Augment-style files.
264
265 - The elements of a another buffer or file may be inserted into a
266 koutline as a set of cells by using the {C-x i} command. When prompted,
267 you may use a buffer name or file name from which to insert.
268
269 The cells will be inserted as the successors of the current cell unless
270 {C-u C-x i} is used and then they are inserted as the initial children
271 of the current cell.
272
273 See the documentation for the variables, kimport:mode-alist and
274 kimport:suffix-alist, for information on mode and suffix-specific
275 conversions performed on files before they are inserted.
276
277 Use {M-x kotl-mode:insert-file-contents RET} to insert the entire
278 contents of a file into the current cell at the location of point.
279
280 - {M-x kimport:file RET} will prompt for a file and a new koutline file
281 to create and will insert the elements of the file in the new outline.
282 (You can also use buffer or buffer names as arguments instead of file
283 names.) See the documentation for the variables, kimport:mode-alist
284 and kimport:suffix-alist, for information on how the importation type
285 is determined.
286
287 - {C-c +} appends the contents of one cell to the end of another. Added
288 this as Append-Cell to popup and pulldown menus.
289
290 - {M-w}, copy-region, now works properly in read-only outlines.
291
292 ROLODEX
293
294 - {e} within a rolodex match buffer edits the associated entry within your
295 rolodex source file. Fixed bug that caused {e} to fail when entries
296 are collapsed within the match buffer.
297
298 - {C-h h r e}, rolo-edit, just displays your personal rolodex file if you
299 hit {RET} without specifying an entry name to edit.
300
301 - {m} within a rolodex match buffer composes mail to the the e-mail
302 address at point or the first address following point. Also added as
303 Rolo/Mail minibuffer menu item and Rolodex/Mail-to-Address for window
304 system menus.
305
306 - New variable, wrolo-yank-reformat-function permits reformatting of an
307 entry yanked into the current buffer with {C-h h r y}, rolo-yank.
308
309 WINDOW CONFIGURATIONS
310
311 - The minibuffer menu items, Win/PopRing and Win/YankRing now redisplay
312 the Win menu after performing their actions. This allows you to yank
313 or pop window configurations repeatedly until you get to the one you
314 want.
315
316 ===========================================================================
317 * How to Obtain
318 ===========================================================================
319
320 Hyperbole is actually part of an integrated tool framework that we have
321 developed called InfoDock. InfoDock provides a modern user interface on top
322 of Emacs, information management, and powerful software development tools,
323 all in one package. Get it via anonymous ftp from host ftp.xemacs.org in
324 the /pub/infodock directory.
325
326 Hyperbole is also available as a standalone package via anonymous ftp across
327 the Internet. Do not send requests to have it mailed to you since it won't
328 be. Instead have another party who has Internet access obtain it for the
329 both of you.
330
331 Here is how to obtain Hyperbole as a standalone package on the Internet:
332
333 Move to a directory below which you want the 'hyperbole' directory to
334 be created. Unpacking the Hyperbole archive will create this
335 directory and place all of the files below it.
336
337 cd <LOCAL-LISP-DIR>
338
339 Ftp to ftp.xemacs.org (Internet Host ID = 128.174.252.16):
340
341 prompt> ftp ftp.xemacs.org
342
343 Login as 'anonymous' with your own <user-id>@<site-name> as a password.
344
345 Name (ftp.xemacs.org): anonymous
346 331 Guest login ok, send EMAIL address (e.g. user@host.domain) as password.
347 Password:
348 230 Guest login ok, access restrictions apply.
349
350 Move to the Hyperbole directory:
351
352 ftp> cd pub/infodock
353
354 Set your transfer mode to binary:
355
356 ftp> bin
357 200 Type set to I.
358
359 Turn off prompting:
360
361 ftp> prompt
362 Interactive mode off.
363
364 Retrieve just the Hyperbole archive and any diff-based patches (there may not
365 be any patches):
366
367 ftp> mget hyperbole*
368
369 Close the ftp connection:
370
371 ftp> quit
372 221 Goodbye.
373
374 Unpack the tar archive using the GNU version of the 'zcat' program:
375
376 zcat h*tar.gz | tar xvf -
377 or
378 gunzip h*tar.gz; tar xvf h*tar
379
380 Apply any patches you retrieved, also:
381
382 cd hyperbole; patch < <patch-file>
383
384
385 ===========================================================================
386 * Installation / Configuration
387 ===========================================================================
388
389 The following explains how to Use the Hyperbole "Makefile" to compile any
390 needed code, to generate the "hsite.el" file used for site-specific Hyperbole
391 customization, and to produce printable documentation.
392
393 Edit the line near the top of "Makefile" that represents the emacs version
394 that you use, so that it corresponds to the emacs executable name used on
395 your system. Then immediatly below there, set the EMACS variable to the
396 variable name for the emacs that you will use to compile the Hyperbole Lisp
397 files.
398
399 You may also have to set the SITE-PRELOADS variable defined further down
400 in the file; follow the instructions that precede the `SITE-PRELOADS ='
401 line. Make these changes now and save the Makefile.
402
403 To install Hyperbole for use with InfoDock, XEmacs, GNU Emacs or Epoch, from
404 a shell:
405
406 cd <HYPERBOLE-DIR>; make
407
408 All of the .elc compiled Lisp files are already built for XEmacs and V19, so
409 this build will finish very quickly. If you really want to rebuild all of
410 the .elc files, use:
411
412 cd <HYPERBOLE-DIR>; make all-elc
413
414 To produce the Postscript version of the Hyperbole manual:
415
416 cd <HYPERBOLE-DIR>; make ps
417
418 To install Hyperbole for use with GNU Emacs V18 or Epoch:
419
420 cd <HYPERBOLE-DIR>; make all-elc-v18
421
422 This will produce a complete set of Emacs V18 .elc files.
423
424 ----
425
426 The Hyperbole Manual is included in two forms:
427
428 "man/hyperbole.info" - online version
429 "man/hyperbole.texi" - source form
430
431 To add pointers to the Info version of the Hyperbole manual within your Info
432 directory, follow these instructions. If `Info-directory-list' is bound as a
433 variable within your Emacs, you can simply set it so that <HYPERBOLE-DIR> is
434 an element in the list. Otherwise, from a shell, cd to the directory given
435 by your 'Info-directory' variable and execute the following command:
436
437 (rm hyperbole.info*; cp <HYPERBOLE-DIR>/man/hyperbole.info* .)
438
439 Then add an Info menu entry for the Hyperbole manual in your Info "dir" file:
440 (the `*' should be placed in the first column of the file):
441
442 * Hyperbole:: GNU Emacs-based everyday information management system.
443 Use {C-h h d d} for a demonstration. Includes context-sensitive
444 mouse and keyboard support, a powerful rolodex, an autonumbered
445 outliner with hyperlink anchors for each outline cell, and extensible
446 hypertext facilities including hyper-links in mail and news messages.
447
448 ----
449
450 To set up so that all Emacs users have Hyperbole loaded for them, add the
451 following lines to a site initialization file such as "site-start.el".
452 Otherwise, each user will have to add these lines to his own "~/.emacs"
453 initialization file. The following instructions use the term
454 <HYPERBOLE-DIR>/ to refer to your hyperbole/ directory, so substitute your
455 own value.
456
457 To autoload Hyperbole so that it loads only when needed:
458
459 (defvar hyperb:dir "<HYPERBOLE-DIR>/")
460 "Directory where the Hyperbole executable code is kept.
461 It must end with a directory separator character.")
462
463 (load (expand-file-name "hversion" hyperb:dir))
464 (load (expand-file-name "hyperbole" hyperb:dir))
465
466 To fully load Hyperbole upon startup, add the additional line:
467
468 (require 'hsite)
469
470 That's all there is to the installation.
471
472 ----
473
474 Once Hyperbole has been installed for use at your site, you can invoke it
475 with {C-h h} or {M-x hyperbole RET} to bring up the Hyperbole main menu in
476 the minibuffer window.
477
478
479 ===========================================================================
480 * Quick Reference
481 ===========================================================================
482
483 "MANIFEST" summarizes most of the files in the distribution.
484
485 See "DEMO" for a demonstration of standard Hyperbole button
486 capabilities.
487
488 Naming conventions:
489
490 - All Hyperbole-specific code files begin with an 'h', aside from the
491 Koutliner files which are in the kotl/ subdirectory and begin with a 'k'.
492
493 - Hyperbole user-interface files begin with 'hui-' or 'hmous'.
494
495 - Files that define implicit button types begin with 'hib'.
496
497 - Encapsulations of foreign systems begin with 'hsys-'.
498
499 Most of the standard Emacs user interface for Hyperbole is located in
500 "hui.el". Most of the Hyperbole application programming interface can be
501 found in "hbut.el". "hbdata.el" encapsulates the button attribute storage
502 handling presently implemented by Hyperbole. "hmail.el" provides a basic
503 abstract interface for folding mail readers other than Rmail into Hyperbole.
504
505 See the "(hyperbole.info)Questions and Answers" appendix in the
506 Hyperbole manual for information on how to alter the default
507 context-sensitive Hyperbole key bindings.
508
509
510 ===========================================================================
511 * Mail Lists
512 ===========================================================================
513
514 There are several Hyperbole-related mail addresses. Learn what each is
515 for before you mail to any of them.
516
517 <hyperbole-request@hub.ucsb.edu>
518 <hyperbole-announce-request@hub.ucsb.edu>
519
520 ALL mail concerning administration of the Hyperbole mailing lists should
521 be sent to the appropriate one of these addresses. That includes
522 addition, change, or deletion requests. Don't consider sending such a
523 request to a Hyperbole mail list or people will wonder why you don't know
524 that all Internet mail lists have a -request address for administrative
525 requests.
526
527 Use the following formats on your subject line to execute requests,
528 where you substitute your own values for the <> delimited items.
529
530 Subject: Subscribe '<' <user@domain> '>' (<your name>).
531 Subject: Unsubscribe '<' <user@domain> '>'.
532
533 To change your address, you must unsubscribe your old address in one
534 message and then subscribe your new address in another message.
535
536 For example:
537
538 To: hyperbole-announce-request@hub.ucsb.edu
539 Subject: Unsubscribe <joe@any.com>.
540
541 To: hyperbole-announce-request@hub.ucsb.edu
542 Subject: Subscribe <joe@any.com> (Joe Williams).
543
544 There are two Hyperbole-related mail lists. Subscribe to one or the other,
545 not to both.
546
547 <hyperbole@hub.ucsb.edu>
548
549 Mail list for discussion of all Hyperbole issues. Bug reports and
550 suggestions may also be sent here.
551
552 Always use your Subject and/or Summary: lines to state the position
553 that your message takes on the topic that it addresses, e.g. send
554 "Subject: Basic bug in top-level minibuffer menu." rather than
555 "Subject: Hyperbole bug". Statements end with periods, questions
556 with question marks (typically), and high energy, high impact
557 declarations with exclamation points. This simple rule makes all
558 e-mail communication much easier for recipients to handle
559 appropriately.
560
561 If you ask a question, your subject line should end with a '?',
562 e.g. "Subject: How can man page SEE ALSOs be made implicit buttons?" A
563 "Subject: Re: How can ..." then indicates an answer to the question.
564 Question messages should normally include your Hyperbole and Emacs version
565 numbers and clearly explain your problem and surrounding issues.
566 Otherwise, you will simply waste the time of those who may want to help
567 you. (Your top-level Hyperbole menu shows its version number and {M-x
568 emacs-version RET} gives the other.)
569
570 If you ask questions, you should consider adding to the discussion by
571 telling people the kinds of work you are doing or contemplating doing
572 with Hyperbole. In this way, the list will not be overwhelmed by
573 messages that ask for, but provide no information.
574
575 <hyperbole-announce@hub.ucsb.edu>
576
577 Those who don't want to participate in the discussion but want to
578 hear about bug fixes and new releases of Hyperbole should subscribe
579 to this list. Anyone on the `hyperbole' list is automatically on
580 this one too, so there is no need to subscribe to this one in that
581 case. This list is for official fixes and announcements so don't send
582 your own fixes here. Send them to `hyperbole' instead.
583
584
585 ===========================================================================
586 * User Quotes
587 ===========================================================================
588
589
590 *** MAN I love Hyperbole!!! Wow! ***
591
592 -- Ken Olstad
593 Cheyenne Software, Inc.
594
595 -------
596
597 I *love* koutlines.
598
599 -- Bob Glickstein
600 Z-Code Software Corporation
601 -------
602
603 I am blind and have been using Hyperbole since 1992. I used to use a PC as
604 a talking terminal attached to a UNIX system, but then I developed
605 Emacspeak which lets me use Emacs and Hyperbole from standard UNIX
606 workstations with an attached voice synthesizer.
607
608 My main uses are:
609 1) Global and implicit buttons for jumping to ftp sites.
610 2) The rolodex with Emacspeak support.
611 3) Explicit buttons as part of comments made about a structured document.
612 Each button jumps to the document section referred to by the comment.
613 This is very, very useful.
614 4) The Hyperbole outliner, which I find a very useful tool. I've
615 implemented Emacspeak extensions to support it.
616
617 -- TV Raman
618 Digital Cambridge Research Lab
619
620 -------
621
622 I've been a grateful Hyperbole user for a few years now. Hyperbole's
623 flexibility and ease of use is a marvel.
624
625 Mainly, I write easy little implicit button types (and corresponding action
626 types) to make my life easier. For example, I have an implicit button type
627 to bury certain buffers when I click at their bottoms, one that recognizes
628 a bug report record in various contexts and edits it, one that links pieces
629 of test output in a log file to the corresponding test case source code
630 (EXTREMELY helpful in interpreting test output), others that support our
631 homegrown test framework, one that handles tree dired mode the way I'd
632 like, one that completely handles wico menus (I've also overloaded the
633 wconfig actions triggered by diagonal mouse drags with wicos actions), and
634 a couple that support interaction with BBDB.
635
636 Other than that, I keep a global button file with 30 or so explicit buttons
637 that do various little things, and I index saved mail messages by putting
638 explicit link-to-mail buttons in an outline file.
639
640 -- Ken Olstad
641 Cheyenne Software, Inc.
642
643 -------
644
645 In general, Hyperbole is an embeddable, highly extensible hypertext
646 tool. As such, I find it very useful. As it stands now, Hyperbole is
647 particularly helpful for organizing ill-structured or loosely coupled
648 information, in part because there are few tools geared for this purpose.
649 Hyperbole also possesses a lot of potentials in supporting a wider
650 spectrum of structuredness, ranging from unstructured to highly
651 structured environments, as well as structural changes over time.
652
653 Major Uses:
654
655 * Menu interface to our own Epoch-based collaborative support environment
656 called CoReView: This interface brings together all top-level user
657 commands into a single partitioned screen, and allows the end user to
658 interact with the system using simple mouse-clicking instead of the
659 meta-x key.
660
661 * Gateway to internet resources: this includes links to major Internet
662 archive sites of various types of information. Links are made at both
663 directory and file levels.
664
665 * Alternative directory organizer: The hierarchical nature of the Unix
666 file system sometimes makes it difficult to find things quickly and
667 easily using directory navigational tools such as dired. Hyperbole
668 enables me to create various "profile" views of my directory tree, with
669 entries in these views referring to files anywhere in the hierarchy.
670
671 * Organizing and viewing online documentation: using Hyperbole along with
672 Hyper-man and Info makes it truly easy to look up online documentation.
673
674 * Other desktop organization tasks: including links to various mail
675 folders, saved newsgroup conversation threads, online note-taker,
676 emacs-command invocations, etc.
677
678 -- Dadong Wan
679
680 -------
681
682 Hyperbole is the first hyper-link system I've run across that is
683 actually part of the environment I use regularly, namely Emacs. The
684 complete flexibility of the links is both impressive and expected -- the
685 idea of making the link itself programmable is clever, and given that one
686 assumes the full power of Emacs. Being able to send email with buttons
687 in it is a very powerful capability. Using ange-ftp mode, one can make
688 file references "across the world" as easily as normal file references.
689
690 -- Mark Eichin
691 Cygnus Support
692 -------
693
694 I just wanted to say how much I enjoy using the Hyperbole outliner.
695 It is a great way to quickly construct very readable technical documents
696 that I can pass around to others. Thanks for the great work.
697
698 -- Jeff Fried
699 Informix
700
701 -------
702
703 The Hyperbole system provides a nice interface to exploring corners of
704 Unix that I didn't know existed before.
705
706 -- Craig Smith
707
708 -------
709
710
711 ===========================================================================
712 * Why was Hyperbole developed?
713 ===========================================================================
714
715 Hyperbole has been designed to aid in research aimed at Personalized
716 Information production/retrieval Environments (PIEs). Hyperbole is a
717 PIE Manager that provides services to PIE Tools. PIEmail, a mail reader is
718 the only PIE Tool developed to date.
719
720 An examination of many hypertext environments as background research did
721 not turn up any that seemed suitable for the research envisioned, mainly
722 due to the lack of rich, portable programmer and user environments. We also
723 tired of trying to manage our own distributed information pools with standard
724 UNIX tools. And so Hyperbole was conceived and raved about until it
725 got its name.
726
727
728 ===========================================================================
729 * Copyright
730 ===========================================================================
731
732 The following copyright applies to the Hyperbole system as a whole.
733
734 Copyright (C) 1989, 1990, 1991, 1992, 1993, 1994, 1995 Free Software Foundation, Inc.
735
736 Available for use and distribution under the terms of the GNU Public License,
737 version 2 or higher.
738
739 Hyperbole is free software; you can use it, redistribute it and/or modify it
740 without fee under the terms of the GNU General Public License as published by
741 the Free Software Foundation; either version 2, or (at your option) any later
742 version.
743
744 Hyperbole is distributed in the hope that it will be useful, but WITHOUT ANY
745 WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
746 A PARTICULAR PURPOSE. See the GNU General Public License for more details.
747
748 You should have received a copy of the GNU General Public License
749 along with GNU Emacs or XEmacs; see the file COPYING. If not, write to
750 the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
751