# README --- Information GNU Hyperbole users and maintainers should read # # Author: Bob Weiner # # Orig-Date: 19-Oct-91 at 03:27:47 # # Copyright (C) 1989-2016 Free Software Foundation, Inc. # See the "HY-COPY" file for license information. # # This file is part of GNU Hyperbole. We hope you enjoy using GNU Hyperbole. Feel free to mail or post news containing this file wherever it may be of use. Hyperbole is designed and written by Bob Weiner. It is maintained by him and Mats Lidell. =========================================================================== * Table of Contents =========================================================================== * Summary * Files * Programmer Quick Reference * User Quotes * Why was Hyperbole developed? =========================================================================== * Summary =========================================================================== GNU Hyperbole (pronounced Ga-new Hi-per-bo-lee), or just Hyperbole, is an easy-to-use, yet powerful and programmable hypertextual information management system implemented as a GNU Emacs package. It offers rapid views and interlinking of all kinds of textual information, utilizing Emacs for editing. It can dramatically increase your productivity and greatly reduce the number of keyboard/mouse keys you'll need to work efficiently. Hyperbole lets you: 1. Quickly create hyperlink buttons either from the keyboard or by dragging between a source and destination window with a mouse button depressed. Later, activate buttons by pressing/clicking on them or by giving the name of the button. 2. Activate many kinds of `implicit buttons' recognized by context within text buffers, e.g. URLs, grep output lines, and git commits. A single key or mouse button automatically does the right thing in dozens of contexts; just press and go. 3. Build outlines with multi-level numbered outline nodes, e.g. 1.4.8.6, that all renumber automatically as any node or tree is moved in the outline. Each node also has a permanent hyperlink anchor that you can reference from any other node; 4. Manage all your contacts quickly with hierarchical categories and embed hyperlinks within each entry. Or create an archive of documents with hierarchical entries and use the same search mechanism to quickly find any matching entry; 5. Use single keys to easily manage your Emacs windows or frames and quickly retrieve saved window and frame configurations; 6. Search for things in your current buffers, in a directory tree or across major web search engines with the touch of a few keys. The common thread in all these features is making retrieval, management and display of information fast and easy. That is Hyperbole's purpose. Hyperbole works well on GNU Emacs 24.4 or above. It is designed and written by Bob Weiner. It is maintained by him and Mats Lidell. Its main distribution site is: https://www.gnu.org/software/hyperbole. If any term in here is new or unfamiliar to you, you can look it up in the Hyperbole Manual Glossary. =========================================================================== * Files =========================================================================== For a more extensive summary of Hyperbole with text and images, see the Hyperbole home page: https://www.gnu.org/software/hyperbole. If you have already downloaded Hyperbole, see the "HY-ABOUT" file for a longer description and overview of Hyperbole. See "DEMO" for a demonstration of standard Hyperbole button capabilities. This is the best way to initially interactively learn about Hyperbole after installing it. "man/im/demo.png", "man/im/hyperbole-cv.png" and "koutline.png" are screenshots of Hyperbole in action. HyControl is Hyperbole's frame and window manager; a long video demonstrating many of HyControl's features is available at https://youtu.be/M3-aMh1ccJk. See the "HY-NEWS" file for a summary of new features in this release. See the "INSTALL" file for installation and invocation instructions. See the "HY-COPY" and "COPYING" files for license information. See the "MANIFEST" file for summaries of Hyperbole distribution files. Various forms of the reference manual for Hyperbole are below the "man/" subdirectory. =========================================================================== * Programmer Quick Reference =========================================================================== "MANIFEST" summarizes most of the files in the distribution. See "DEMO" for a demonstration of standard Hyperbole button capabilities. This is the best way to initially interactively learn about Hyperbole. The Hyperbole Manual is a reference manual, not a simple introduction. Naming conventions: - All Hyperbole-specific code files begin with an 'h', aside from the Koutliner files which are in the kotl/ subdirectory and begin with a 'k'. - Hyperbole user-interface files begin with 'hui-' or 'hmous'. - Files that define implicit button types begin with 'hib'. - Encapsulations of foreign systems begin with 'hsys-'. Most of the standard Emacs user interface for Hyperbole is located in "hui.el". Most of the Hyperbole application programming interface can be found in "hbut.el". "hbdata.el" encapsulates the button attribute storage implemented by Hyperbole. "hmail.el" provides a basic abstract interface for integrating mail readers other than Rmail into Hyperbole. See the "(hyperbole)Questions and Answers" appendix in the Hyperbole manual for information on how to alter the default context-sensitive Hyperbole key bindings (Smart Keys). =========================================================================== * User Quotes =========================================================================== *** MAN I love Hyperbole!!! Wow! *** -- Ken Olstad Cheyenne Software, Inc. ------- I *love* koutlines. -- Bob Glickstein Z-Code Software Corporation ------- One of the nicest things about Hyperbole is that it's available everywhere. Org-mode is a mode and its features are only available in *.org files. For instance if you dropped into `eshell' or `ansi-term' and did `ls', you can move point to any of the directory's contents, do M-RET (or Shift-Button2) and jump to that file. And that's just one example. Note that this means that all Hyperbole functionality is available in *.org files as well. To me, except for the Hyperbole outliner, that means complementary not conflicting. It's Hyperbole *and* org-mode, not Hyperbole vs. org-mode. Additionally, off the bat, I found it very well documented and for me that's a proxy for the quality of a package. The maintainers are quite responsive. There's plenty more functionality that I haven't uncovered yet but due to the ease of installation and the quality of the documentation, digging into it is actually fun. -- Aditya Siram ------- For me, Emacs isn't Emacs without Hyperbole. I have depended on Hyperbole daily since 1992, when I first started using it to manage my development environment. It didn't take long before I could summon almost any information I needed directly from within my editing environment with an implicit button. Since I almost never have to slow down to look for things--one context-dependent button usually produces exactly what I need --I am able to maintain focus on the task I am working on and complete it more quickly. With its gestural interface, seamless integration with other Emacs packages and incredibly useful set of core features. I think that Hyperbole is one of the best designed and most easily extensible software products I have ever come across. It is certainly the one which has made the biggest improvement in my personal productivity. -- Chris Nuzum Co-founder, Traction Software, Inc. ------- I've found Hyperbole (in conjunction with XEmacs) to be very useful for signal processing algorithm development. For me, it has almost completely obsoleted the engineering notebook: I keep a set of files with ideas, algorithms, and results, linked together and to the implementation in C++ files. Using XEmacs' support for embedding graphics, I've written a mode that accepts image tags (formatted like HTML), and reads in GIF files to display plots. I have another program that converts the file to HTML (not perfect, but adequate), so I can put any aspect of development on our internal web for others to see. -- Farzin Guilak Protocol Systems, Inc., Engineer ------- I am blind and have been using Hyperbole since 1992. I used to use a PC as a talking terminal attached to a UNIX system, but then I developed Emacspeak which lets me use Emacs and Hyperbole from standard UNIX workstations with an attached voice synthesizer. My main uses are: 1) Global and implicit buttons for jumping to ftp sites. 2) The contact manager with Emacspeak support. 3) Explicit buttons as part of comments made about a structured document. Each button jumps to the document section referred to by the comment. This is very, very useful. 4) The Hyperbole Koutliner, which I find a very useful tool. I've implemented Emacspeak extensions to support it. -- TV Raman Google Inc. ------- I've been a grateful Hyperbole user for a few years now. Hyperbole's flexibility and ease of use is a marvel. Mainly, I write easy little implicit button types (and corresponding action types) to make my life easier. For example, I have an implicit button type to bury certain buffers when I click at their bottoms, one that recognizes a bug report record in various contexts and edits it, one that links pieces of test output in a log file to the corresponding test case source code (EXTREMELY helpful in interpreting test output), others that support our homegrown test framework, one that handles tree dired mode the way I'd like, one that completely handles wico menus (I've also overloaded the wconfig actions triggered by diagonal mouse drags with wicos actions), and a couple that support interaction with BBDB. Other than that, I keep a global button file with 30 or so explicit buttons that do various little things, and I index saved mail messages by putting explicit link-to-mail buttons in an outline file. -- Ken Olstad Cheyenne Software, Inc. ------- In general, Hyperbole is an embeddable, highly extensible hypertext tool. As such, I find it very useful. As it stands now, Hyperbole is particularly helpful for organizing ill-structured or loosely coupled information, in part because there are few tools geared for this purpose. Hyperbole also possesses a lot of potential in supporting a wider spectrum of structuredness, ranging from unstructured to highly structured environments, as well as structural changes over time. Major Uses: * Menu interface to our own collaborative support environment called CoReView: This interface brings together all top-level user commands into a single partitioned screen, and allows the end user to interact with the system using simple mouse-clicking instead of the meta-x key. * Gateway to internet resources: this includes links to major Internet archive sites of various types of information. Links are made at both directory and file levels. * Alternative directory organizer: The hierarchical nature of the Unix file system sometimes makes it difficult to find things quickly and easily using directory navigational tools such as dired. Hyperbole enables me to create various "profile" views of my directory tree, with entries in these views referring to files anywhere in the hierarchy. * Organizing and viewing online documentation: using Hyperbole along with Hyper-man and Info makes it truly easy to look up online documentation. * Other desktop organization tasks: including links to various mail folders, saved newsgroup conversation threads, online note-taker, emacs-command invocations, etc. -- Dadong Wan University of Hawaii ------- Hyperbole is the first hyper-link system I've run across that is actually part of the environment I use regularly, namely Emacs. The complete flexibility of the links is both impressive and expected -- the idea of making the link itself programmable is clever, and given that one assumes the full power of Emacs. Being able to send email with buttons in it is a very powerful capability. Using ange-ftp mode, one can make file references "across the world" as easily as normal file references. -- Mark Eichin Cygnus Support ------- I just wanted to say how much I enjoy using the Hyperbole Koutliner. It is a great way to quickly construct very readable technical documents that I can pass around to others. Thanks for the great work. -- Jeff Fried Informix ------- The Hyperbole system provides a nice interface to exploring corners of Unix that I didn't know existed before. -- Craig Smith =========================================================================== * Why was Hyperbole developed? =========================================================================== Hyperbole was originally designed to aid in research aimed at Personalized Information production/retrieval Environments (PIEs). Hyperbole was a PIE Manager that provided services to PIE Tools. PIEmail, a mail reader was the only PIE Tool developed as part of this research but Hyperbole has greatly expanded since then and has long been a production quality toolset. An examination of many hypertext environments as background research did not turn up any that seemed suitable for the research envisioned, mainly due to the lack of rich, portable programmer and user environments. We also tired of trying to manage our own distributed information pools with standard UNIX tools. And so Hyperbole was conceived and raved about until it got its name. Since then Hyperbole has proved indispensible at improving information access and organization in daily use over many years. Why not start improving your information handling efficiency today?