Archy (software)

Last updated

Archy is a software system that had a user interface that introduced a different approach for interacting with computers with respect to traditional graphical user interfaces. Designed by human-computer interface expert Jef Raskin, it embodies his ideas and established results about human-centered design described in his book The Humane Interface . These ideas include content persistence, modelessness, a nucleus with commands instead of applications, navigation using incremental text search, and a zooming user interface (ZUI). The system was being implemented at the Raskin Center for Humane Interfaces under Raskin's leadership. Since his death in February 2005 the project was continued by his team, which later shifted focus to the Ubiquity extension for the Firefox browser.

Contents

Archy in large part builds on Raskin's earlier work with the Apple Macintosh, Canon Cat, SwyftWare, and Ken Perlin's Pad ZUI system. It can be described as a combination of Canon Cat's text processing functions with a modern ZUI. Archy is more radically different from established systems than are Sun Microsystems' Project Looking Glass and Microsoft Research's "Task Gallery" prototype. While these systems build upon the WIMP desktop paradigm, Archy has been compared as similar to the Emacs text editor, although its design begins from a clean slate.

Archy used to be called The Humane Environment ("THE"). On January 1, 2005, Raskin announced the new name, and that Archy would be further developed by the non-profit Raskin Center for Humane Interfaces. The name "Archy" is a play on the Center's acronym, R-CHI. It is also an allusion to Don Marquis' archy and mehitabel poetry. Jef Raskin jokingly stated: "Yes, we named our software after a bug" [1] (a cockroach), further playing with the meaning of bugs in software.

Basic concept

The stated goal of Archy is to design a software system starting from an understanding of human cognition and the needs of the user, rather than from a software, hardware, or marketing viewpoint. It aims to be usable by disabled persons, the technology-averse, as well as computer specialists. This ambitious plan to build a general purpose environment that is easy to use for anyone is based on designing for the common cognitive capabilities of all humans.

The plan includes making the interface as "modeless" as possible, to avoid mode errors and encourage habituation. In order to achieve this, modal features of current graphical user interfaces, like windows and separate software applications, are removed.

Features

Persistence

All content in Archy is persistent. This eliminates the need for, and the concept of, saving a document after editing it. The system state is preserved and safe from crashes and power outages: if the system crashes or power goes off, one simply restarts the system and takes up working where one left off when the problem occurred.

Universal undo

A detailed history of the user's interaction allows all actions to be undone since his/her very first action performed within Archy, and re-done again up to the most recent action. Universal and unlimited undo is one key element for the design goals stated in The Humane Interface , since it allows for all the user's work to be recovered in any case.

Leaping

Leaping in the Archy interface Leaping in the Archy interface.png
Leaping in the Archy interface

A main feature of the interface is Leaping, a means of moving on-screen via incremental text-search. The system provides two commands, Leap-forward and Leap-backward, invoked through dedicated keys (meant to be pressed with the thumbs), that move the cursor to the next and prior position that contains the search string. Leaping is performed as a quasimode operation: press the Leap key and, while holding it, type the text that you want to search; finally release the Leap key. This process is intended to habituate the user and turn cursor positioning into a reflex.

Leaping to document landmarks such as next or previous word, line, page, section, and document amounts to leaping to Space, New line, Page, and Document characters, which are inserted using the Spacebar, Enter, Page and Document keys respectively. On a standard computer keyboard, Archy uses the Alt keys as Leap keys, Backquote (`) as a Document character and Tilde (~) as a Page character.

The cursor can still be moved forward and back by one character using the Left and Right arrow keys, and the text can be scrolled up and down by one line using the Up and Down arrow keys. This is known as Creeping.

Commands

Another feature is intended to provide the power of a command line interface in a graphical user interface (GUI). Command names can be inserted and executed at any place in the interface. This reduces the need to move a mouse pointer to a menu bar or toolbox to execute commands, and allows for quickly composing the results of several commands in sequence.

In Archy, command names are filled in as the user types. Commands in Archy.png
In Archy, command names are filled in as the user types.

To use a command the user types the command name while holding down the command key (the caps-lock key). Most command names are filled in automatically, so the user needs to type only until the full name appears.

Since a command can be used anywhere, applications are obsolete as the core of the interface's design. Installing a new package of commands provides a functionality related to their common task. In this way, the user is not restricted to the closed environment of a single application in order to use these functions. Rather, the API is exposed to the user so that these functions can be used system-wide and combined in ways unforeseen by the designer. Ideally, commands could be installed in the system one by one, so that users can acquire and install only what they need.

Many commands operate on selected areas of text. Selections are displayed by using a background color. Several selections can be active at once, and the color of a given old selection changes as newer selections are made. For example, to send an e-mail message, you might type and select the text of the message, type and select the address of the recipient, and invoke the SEND MAIL command.

Zoomworld

Example of a ZUI ZUI example.png
Example of a ZUI

Archy's zooming user interface (ZUI) element is called Zoomworld. It is a spatial, non-windowing interface: an infinite plane expanding in all directions and zoomable to infinite detail. Extra information on an item is provided by "flying" closer to inspect it, and the destinations of hyperlinks are inserted in-place instead of being represented by textual reference. Browsing in this Zoomworld can be done with a mouse; leap functions are used as a search facility.

Archy's project developed some guidelines for Zoomworld and a working proof of concept, but the built prototype did not include code for zooming.

Project members claim that a similar, but limited, zooming interface was tested in real world applications with remarkable success. With a single minute of training, novices were competent and comfortable with the system. Computer experts reportedly took longer, since they had more preconceived expectations to unlearn. The zooming hospital information system is described in The Humane Interface, including some screen shots.

License

Archy was initially licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 2.0 License. This simply stated that "you must give the original author credit, you may not use this work for commercial purposes, and if you alter, transform, or build upon this work, you may distribute the resulting work only under a license identical to this one."

Given the "non-commercial" clause, it is not free software. In November 2017, Aza Raskin changed the license to the MIT License [2]

Commentary

The interface and functionality of The Humane Environment was compared and found similar to the Emacs editor [3] for its text-based interface without dialog boxes, and its reliance on incremental search and a modifier key for issuing commands. Archy provides an increased focus on learnability and an emphasis in removing modes, which are common in Emacs. [4] The requirement for the LEAP key to be pressed while searching as a quasimode has been criticized as uncomfortable. [5] But note that the LEAP keys in the original Canon Cat are the two large red keys below the space bar; Archy uses the two ALT keys on either side of the space bar, found on most standard keyboards, which are a compromise to using it on commonly available hardware.

See also

Related Research Articles

The editor war is the rivalry between users of the Emacs and vi text editors. The rivalry has become an enduring part of hacker culture and the free software community.

<span class="mw-page-title-main">Graphical user interface</span> User interface allowing interaction through graphical icons and visual indicators

A graphical user interface, or GUI, is a form of user interface that allows users to interact with electronic devices through graphical icons and visual indicators such as secondary notation. In many applications, GUIs are used instead of text-based UIs, which are based on typed command labels or text navigation. GUIs were introduced in reaction to the perceived steep learning curve of command-line interfaces (CLIs), which require commands to be typed on a computer keyboard.

<span class="mw-page-title-main">Text editor</span> Computer software used to edit plain text documents

A text editor is a type of computer program that edits plain text. Such programs are sometimes known as "notepad" software. Text editors are provided with operating systems and software development packages, and can be used to change files such as configuration files, documentation files and programming language source code.

In computing, a modifier key is a special key on a computer keyboard that temporarily modifies the normal action of another key when pressed together. By themselves, modifier keys usually do nothing; that is, pressing any of the ⇧ Shift, Alt, or Ctrl keys alone does not (generally) trigger any action from the computer.

<span class="mw-page-title-main">Jef Raskin</span> American computer scientist (1943–2005)

Jef Raskin was an American human–computer interface expert who conceived and initiated the Macintosh project at Apple in the late 1970s.

<span class="mw-page-title-main">Dialog box</span> User interface element

The dialog box is a graphical control element in the form of a small window that communicates information to the user and prompts them for a response.

In user interface design for computer applications, a modal window is a graphical control element subordinate to an application's main window.

<span class="mw-page-title-main">Canon Cat</span> Desktop computer by Canon

Canon Cat is a task-dedicated desktop computer released by Canon Inc. in 1987 at the price of U.S. $1,495. On the surface, it was similar to dedicated word processors popular in the late 1970s to early 1980s, but it was far more powerful, and incorporated many unique ideas for data manipulation.

<span class="mw-page-title-main">Keyboard shortcut</span> Series of computer keys to quickly invoke a software program or perform a preprogrammed action

In computing, a keyboard shortcut also known as hotkey is a series of one or several keys to quickly invoke a software program or perform a preprogrammed action. This action may be part of the standard functionality of the operating system or application program, or it may have been written by the user in a scripting language. Some integrated keyboards also include pointing devices; the definition of exactly what counts as a "key" sometimes differs.

<span class="mw-page-title-main">Zooming user interface</span> Graphical interface allowing for image scaling

In computing, a zooming user interface or zoomable user interface is a type of graphical user interface (GUI) where users can change the scale of the viewed area in order to see more detail or less, and browse through different documents. Information elements appear directly on an infinite virtual desktop, instead of in windows. Users can pan across the virtual surface in two dimensions and zoom into objects of interest. For example, as you zoom into a text object it may be represented as a small dot, then a thumbnail of a page of text, then a full-sized page and finally a magnified view of the page.

<span class="mw-page-title-main">Information appliance</span> Mobile device that can process information

An information appliance (IA) is an appliance that is designed to easily perform a specific electronic function such as playing music, photography, or editing text.

Common User Access (CUA) is a standard for user interfaces to operating systems and computer programs. It was developed by IBM and first published in 1987 as part of their Systems Application Architecture. Used originally in the MVS/ESA, VM/CMS, OS/400, OS/2 and Microsoft Windows operating systems, parts of the CUA standard are now implemented in programs for other operating systems, including variants of Unix. It is also used by Java AWT and Swing.

The following outline is provided as an overview of and topical guide to human–computer interaction:

<i>The Humane Interface</i> 2000 book by Jef Raskin

The Humane Interface: New Directions for Designing Interactive Systems (ISBN 0-201-37937-6) is a book about user interface design written by Jef Raskin and published in 2000. It covers ergonomics, quantification, evaluation, and navigation.

<span class="mw-page-title-main">Incremental search</span> User interface method to search for text

In computing, incremental search, also known as hot search, incremental find or real-time suggestions, is a user interface interaction method to progressively search for and filter through text. As the user types text, one or more possible matches for the text are found and immediately presented to the user. This immediate feedback often allows the user to stop short of typing the entire word or phrase they were looking for. The user may also choose a closely related option from the presented list.

Sprint is a text-based word processor for MS-DOS, first published by Borland in 1987.

In user interface design, a mode is a distinct setting within a computer program or any physical machine interface, in which the same user input will produce perceived results different from those that it would in other settings. Modal interface components include the Caps lock and Insert keys on the standard computer keyboard, both of which typically put the user's typing into a different mode after being pressed, then return it to the regular mode after being re-pressed.

<span class="mw-page-title-main">Aza Raskin</span> American computer programmer

Aza Raskin is the co-founder of the Center for Humane Technology and of the Earth Species Project. He is also a writer, entrepreneur, inventor, and interface designer. He is the son of Jef Raskin, a human–computer interface expert who was the initiator of the Macintosh project at Apple.

<span class="mw-page-title-main">GNU Emacs</span> GNU version of the Emacs text editor

GNU Emacs is a free software text editor. It was created by GNU Project founder Richard Stallman, based on the Emacs editor developed for Unix operating systems. GNU Emacs has been a central component of the GNU project and a flagship project of the free software movement. Its tag line is "the extensible self-documenting text editor."

Emacs, originally named EMACS, is a family of text editors that are characterized by their extensibility. The manual for the most widely used variant, GNU Emacs, describes it as "the extensible, customizable, self-documenting, real-time display editor". Development of the first Emacs began in the mid-1970s, and work on its direct descendant, GNU Emacs, is ongoing; its latest version is 29.1, released July 2023.

References

  1. Archy FAQ Where does the name "Archy" come from?
  2. @aza (27 November 2017). "@davelab6 Yes, absolutely. By this tweet, it is now MIT licensed :)" (Tweet) via Twitter.
  3. Ian Bicking. "THE vs. Emacs".
  4. "Archy FAQ". Archived from the original on February 24, 2008. "Archy sounds a lot like GNU's Emacs. How is Archy different?"
  5. Ian Bicking. "THE and LEAP".
Notes