Archy
Encyclopedia
Archy is a software system
whose user interface
poses a radically different approach for interacting with computers with respect to traditional graphical user interface
s. 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.
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 it 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." (a cockroach
), further playing with the meaning of bugs in software
.
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 interface
s, like windows
and separate software applications, are removed.
. This eliminates the need 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.
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.
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 key
s 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.
(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.
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.
(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.
Attribution-NonCommercial-ShareAlike 2.0 License. This simply states 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
.
editor for its text-based interface without dialog box
es, 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. The requirement for the LEAP key to be pressed while searching as a quasimode has been criticized as uncomfortable.
Software system
A software system is a system based on software forming part of a computer system . The term "software system" is often used as a synonym of computer program or software; is related to the application of systems theory approaches in software engineering context and are used to study large and...
whose user interface
User interface
The user interface, in the industrial design field of human–machine interaction, is the space where interaction between humans and machines occurs. The goal of interaction between a human and a machine at the user interface is effective operation and control of the machine, and feedback from the...
poses a radically different approach for interacting with computers with respect to traditional graphical user interface
Graphical user interface
In computing, a graphical user interface is a type of user interface that allows users to interact with electronic devices with images rather than text commands. GUIs can be used in computers, hand-held devices such as MP3 players, portable media players or gaming devices, household appliances and...
s. Designed by human-computer interface expert Jef Raskin
Jef Raskin
Jef Raskin was an American human-computer interface expert best known for starting the Macintosh project for Apple in the late 1970s.-Early years and education:...
, it embodies his ideas and established results about human-centered design described in his book The Humane Interface. These ideas include content persistence
Persistence (computer science)
Persistence in computer science refers to the characteristic of state that outlives the process that created it. Without this capability, state would only exist in RAM, and would be lost when this RAM loses power, such as a computer shutdown....
, modelessness
Mode (computer interface)
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 different results than it would in other settings....
, a nucleus with commands
Command (computing)
In computing, a command is a directive to a computer program acting as an interpreter of some kind, in order to perform a specific task. Most commonly a command is a directive to some kind of command line interface, such as a shell....
instead of applications
Application software
Application software, also known as an application or an "app", is computer software designed to help the user to perform specific tasks. Examples include enterprise software, accounting software, office suites, graphics software and media players. Many application programs deal principally with...
, navigation using incremental text search
Command (computing)
In computing, a command is a directive to a computer program acting as an interpreter of some kind, in order to perform a specific task. Most commonly a command is a directive to some kind of command line interface, such as a shell....
, and a zooming user interface
Zooming User Interface
In computing, a zooming user interface or zoomable user interface is a graphical environment where users can change the scale of the viewed area in order to see more detail or less, and browse through different documents. A ZUI is a type of graphical 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
Ubiquity (Firefox)
Ubiquity, an add-on for Mozilla Firefox, is an abandonware collection of quick and easy natural-language-derived commands that act as mashups of web services, thus allowing users to get information and relate it to current and other webpages...
extension for the Firefox browser.
Archy in large part builds on Raskin's earlier work with the Apple
Apple Computer
Apple Inc. is an American multinational corporation that designs and markets consumer electronics, computer software, and personal computers. The company's best-known hardware products include the Macintosh line of computers, the iPod, the iPhone and the iPad...
Macintosh, Canon Cat
Canon Cat
The Canon Cat was a task-dedicated, desktop computer released by Canon Inc. in 1987 at a price of $1495 USD. On the surface it was not unlike the dedicated word processors popular in the late 1970s to early 1980s, but it was far more powerful and incorporated many unique ideas for data...
, SwyftWare, and Ken Perlin
Ken Perlin
Ken Perlin is a professor in the Department of Computer Science at New York University, founding director of the Media Research Lab at NYU, and the Director of the Games for Learning Institute. His research interests include graphics, animation, multimedia, and science education...
'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
Sun Microsystems
Sun Microsystems, Inc. was a company that sold :computers, computer components, :computer software, and :information technology services. Sun was founded on February 24, 1982...
' Project Looking Glass
Project Looking Glass
Project Looking Glass is a now inactive free software project under the GPL to create an innovative 3D desktop environment for Linux, Solaris, and Windows. It was sponsored by Sun Microsystems....
and Microsoft Research
Microsoft Research
Microsoft Research is the research division of Microsoft created in 1991 for developing various computer science ideas and integrating them into Microsoft products. It currently employs Turing Award winners C.A.R. Hoare, Butler Lampson, and Charles P...
's "Task Gallery" prototype. While these systems build upon the WIMP
WIMP (computing)
In human–computer interaction, WIMP stands for "windows, icons, menus and pointers", denoting a style of interaction using these elements. It was coined by Merzouga Wilberts in 1980...
desktop
Desktop metaphor
The desktop metaphor is an interface metaphor which is a set of unifying concepts used by graphical user interfaces to help users more easily interact with the computer. The desktop metaphor treats the monitor of a computer as if it is the user's desktop, upon which objects such as documents and...
paradigm, Archy has been compared as similar to the Emacs
Emacs
Emacs is a class of text editors, usually characterized by their extensibility. GNU Emacs has over 1,000 commands. It also allows the user to combine these commands into macros to automate work.Development began in the mid-1970s and continues actively...
text editor, although it 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
Archy and mehitabel
Archy and Mehitabel is the title of a series of newspaper columns written by Don Marquis beginning in 1916. Written as fictional social commentary and intended as a space-filler to allow Marquis to meet the challenge of writing a daily newspaper column six days a week, archy and mehitabel is...
poetry. Jef Raskin jokingly stated: "Yes, we named our software after a bug." (a cockroach
Cockroach
Cockroaches are insects of the order Blattaria or Blattodea, of which about 30 species out of 4,500 total are associated with human habitations...
), further playing with the meaning of bugs in software
Software bug
A software bug is the common term used to describe an error, flaw, mistake, failure, or fault in a computer program or system that produces an incorrect or unexpected result, or causes it to behave in unintended ways. Most bugs arise from mistakes and errors made by people in either a program's...
.
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 cognitiveCognition
In science, cognition refers to mental processes. These processes include attention, remembering, producing and understanding language, solving problems, and making decisions. Cognition is studied in various disciplines such as psychology, philosophy, linguistics, and computer science...
capabilities of all humans.
The plan includes making the interface as "modeless" as possible, to avoid mode errors and encourage habituation
Habituation
Habituation can be defined as a process or as a procedure. As a process it is defined as a decrease in an elicited behavior resulting from the repeated presentation of an eliciting stimulus...
. In order to achieve this, modal
Mode (computer interface)
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 different results than it would in other settings....
features of current graphical user interface
Graphical user interface
In computing, a graphical user interface is a type of user interface that allows users to interact with electronic devices with images rather than text commands. GUIs can be used in computers, hand-held devices such as MP3 players, portable media players or gaming devices, household appliances and...
s, like windows
Window (computing)
In computing, a window is a visual area containing some kind of user interface. It usually has a rectangular shape that can overlap with the area of other windows...
and separate software applications, are removed.
Persistence
All content in Archy is persistentPersistence (computer science)
Persistence in computer science refers to the characteristic of state that outlives the process that created it. Without this capability, state would only exist in RAM, and would be lost when this RAM loses power, such as a computer shutdown....
. This eliminates the need 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 undoUndo
Undo is a command in many computer programs. It erases the last change done to the document reverting it to an older state. In some more advanced programs such as graphic processing, undo will negate the last command done to the file being edited....
is one key element for the design goals stated in The Humane Interface
The Humane Interface
The Humane Interface: New Directions for Designing Interactive Systems is a book about user interface design written by Jef Raskin and published in 2000. It covers ergonomics, quantification, evaluation, and navigation.-Contents:...
, since it allows for all the user's work to be recovered in any case.
Leaping
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, 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 habituateHabituation
Habituation can be defined as a process or as a procedure. As a process it is defined as a decrease in an elicited behavior resulting from the repeated presentation of an eliciting stimulus...
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
Computer keyboard
In computing, a keyboard is a typewriter-style keyboard, which uses an arrangement of buttons or keys, to act as mechanical levers or electronic switches...
, Archy uses the Alt key
Alt key
The Alt key on a computer keyboard is used to change the function of other pressed keys. Thus, the Alt key is a modifier key, used in a similar fashion to the Shift key. For example, simply pressing "A" will type the letter a, but if you hold down either Alt key while pressing A, the computer...
s as Leap keys, Backquote (`) as a Document character and Tilde
Tilde
The tilde is a grapheme with several uses. The name of the character comes from Portuguese and Spanish, from the Latin titulus meaning "title" or "superscription", though the term "tilde" has evolved and now has a different meaning in linguistics....
(~) 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 interfaceGraphical user interface
In computing, a graphical user interface is a type of user interface that allows users to interact with electronic devices with images rather than text commands. GUIs can be used in computers, hand-held devices such as MP3 players, portable media players or gaming devices, household appliances and...
(GUI). Command
Command (computing)
In computing, a command is a directive to a computer program acting as an interpreter of some kind, in order to perform a specific task. Most commonly a command is a directive to some kind of command line interface, such as a shell....
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.
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
Application software
Application software, also known as an application or an "app", is computer software designed to help the user to perform specific tasks. Examples include enterprise software, accounting software, office suites, graphics software and media players. Many application programs deal principally with...
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
Application programming interface
An application programming interface is a source code based specification intended to be used as an interface by software components to communicate with each other...
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
E-mail
Electronic mail, commonly known as email or e-mail, is a method of exchanging digital messages from an author to one or more recipients. Modern email operates across the Internet or other computer networks. Some early email systems required that the author and the recipient both be online at the...
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
Archy's Zooming User InterfaceZooming User Interface
In computing, a zooming user interface or zoomable user interface is a graphical environment where users can change the scale of the viewed area in order to see more detail or less, and browse through different documents. A ZUI is a type of graphical 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
Proof of concept
A proof of concept or a proof of principle is a realization of a certain method or idea to demonstrate its feasibility, or a demonstration in principle, whose purpose is to verify that some concept or theory that has the potential of being used...
, 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 uses the Creative CommonsCreative Commons
Creative Commons is a non-profit organization headquartered in Mountain View, California, United States devoted to expanding the range of creative works available for others to build upon legally and to share. The organization has released several copyright-licenses known as Creative Commons...
Attribution-NonCommercial-ShareAlike 2.0 License. This simply states 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
Free software
Free software, software libre or libre software is software that can be used, studied, and modified without restriction, and which can be copied and redistributed in modified or unmodified form either without restriction, or with restrictions that only ensure that further recipients can also do...
.
Commentary
The interface and functionality of The Humane Environment was compared and found similar to the EmacsEmacs
Emacs is a class of text editors, usually characterized by their extensibility. GNU Emacs has over 1,000 commands. It also allows the user to combine these commands into macros to automate work.Development began in the mid-1970s and continues actively...
editor for its text-based interface without dialog box
Dialog box
In a graphical user interface of computers, a dialog box is a type of window used to enable reciprocal communication or "dialog" between a computer and its user. It may communicate information to the user, prompt the user for a response, or both...
es, and its reliance on incremental search and a modifier key
Modifier key
In computing, a modifier key is a special key on a computer keyboard that modifies the normal action of another key when the two are pressed in combination....
for issuing commands. Archy provides an increased focus on learnability
Learnability
-Software testing:In software testing learnability, according to ISO/IEC 9126, is the capability of a software product to enable the user to learn how to use it...
and an emphasis in removing modes, which are common in Emacs. The requirement for the LEAP key to be pressed while searching as a quasimode has been criticized as uncomfortable.
See also
- UbiquityUbiquity (Firefox)Ubiquity, an add-on for Mozilla Firefox, is an abandonware collection of quick and easy natural-language-derived commands that act as mashups of web services, thus allowing users to get information and relate it to current and other webpages...
, a Firefox extension based on the same principles as Archy created by Mozilla Labs with Aza RaskinAza RaskinAza Raskin is an American interface designer. He is the son of noted human-computer interface expert Jef Raskin.-Biography:...
in the design team.
External links
- Archy project at Archive.org
- Last? available copy of Archy
- Aza RaskinAza RaskinAza Raskin is an American interface designer. He is the son of noted human-computer interface expert Jef Raskin.-Biography:...
explains what happened to the Archy project - Raskin's summary of the principles and design rules in "The Humane Interface"
- Enso A humane interface project