A desk accessory (DA) in
computing
Computing is any goal-oriented activity requiring, benefiting from, or creating computing machinery. It includes the study and experimentation of algorithmic processes, and development of both hardware and software. Computing has scientific, e ...
is a small
transient or auxiliary application that can be run concurrently in a
desktop environment
In computing, a desktop environment (DE) is an implementation of the desktop metaphor made of a bundle of programs running on top of a computer operating system that share a common graphical user interface (GUI), sometimes described as a graphica ...
with any other application on the system. Early examples, such as
Sidekick
A sidekick is a slang expression for a close companion or colleague (not necessarily in fiction) who is, or is generally regarded as, subordinate to the one they accompany.
Some well-known fictional sidekicks are Don Quixote's Sancho Panza, ...
and Macintosh desk accessories, used special programming models to provide a small degree of
multitasking on systems that initially did not have any other multitasking ability.
Personal information managers
Early personal information managers, such as
Norton Desktop and Borland's
Sidekick
A sidekick is a slang expression for a close companion or colleague (not necessarily in fiction) who is, or is generally regarded as, subordinate to the one they accompany.
Some well-known fictional sidekicks are Don Quixote's Sancho Panza, ...
, provided pop-up calculator, alarm, calendar and other functions for single-tasking operating systems like MS-DOS using
terminate-and-stay-resident techniques.
Apple Macintosh
Introduced in 1984 as part of
the operating system for the
Apple Macintosh
The Mac (known as Macintosh until 1999) is a family of personal computers designed and marketed by Apple Inc. Macs are known for their ease of use and minimalist designs, and are popular among students, creative professionals, and software en ...
computer, a Desk Accessory (DA) was a piece of software written as a device driver, conforming to a particular programming model. The purpose of this model was to permit very small helper-type applications to be run concurrently with any other application on the system. This provided a small degree of
multitasking on a system that initially did not have any other multitasking ability.
DAs were implemented as a special class of
driver. It was installed in the driver queue, and given time periodically and co-operatively as a result of the host application calling ''SystemTask()'' within its
main loop In computer science, the event loop is a programming construct or design pattern that waits for and dispatches events or messages in a program. The event loop works by making a request to some internal or external "event provider" (that generally ...
. A DA was permitted to have a user interface as long as it was confined to one main window. A special window frame with black
title bar
A title is one or more words used before or after a person's name, in certain contexts. It may signify either generation, an official position, or a professional or academic qualification. In some languages, titles may be inserted between the f ...
and rounded corners was reserved for the use of DAs so that the user could distinguish it from the windows of the hosting application.
Typical early DAs included the Calculator and Alarm Clock. The
control panel,
Chooser, and
Scrapbook
Scrapbook may refer to:
* Scrapbooking, the process of making a scrapbook
Software
* Scrapbook, an early (1970s) information storage and retrieval system
* Scrapbook (Mac OS), a Mac OS application
* ScrapBook, a Firefox extension
Film and TV ...
were initially implemented as DAs. Third-party DAs such as spelling checkers could be purchased. It was considered hard to write a DA, especially early on when there was little in the way of developer tools.
["Desk accessories are hard to write because they're constructed so differently from the host programs they depend on. They're written as device drivers – which means, among other things, that they are table-driven, that they have to be small (about 8K bytes at the most), and that they have to be very careful not to alter the environment they work in." ''Byte'' Sep 1986] However, since on the early Mac OS drivers did not have any special privileges, writing a DA was, with practice, no more difficult than any other application.
A special Font/DA Mover utility was used to change the configuration of DAs. Because DAs were not installed or launched in the same way that applications were, the user could not drag and drop DAs into or out of the system. They resided in the ''System'' file's 'DRVR'
resources
Resource refers to all the materials available in our environment which are technologically accessible, economically feasible and culturally sustainable and help us to satisfy our needs and wants. Resources can broadly be classified upon their av ...
, like actual drivers, though they could be installed in any file whose resources were loaded into the memory, and were stored in
"suitcases" when not installed in the system file. If installed within a separate application, such as MacWrite, their functionality would be accessible only when that application was running. That is, a desk accessory installed as a resource within an application would appear on the Apple menu as a desk accessory only when that application was active. It could then be activated while the application was run and would then disappear when the application was terminated through the Quit function. (Similarly, the FKEY resources could be installed either within the System so as to be universally available, or within an application so as to be available only when that application was active). As a resource numbering scheme was implemented for marking resources as belonging to another resource of some particular type and number in the same file, such as a DA ('DRVR'), it was possible for desk accessories to have a limited "resource fork" of their own within the file they were contained in; the mover utility recognised such resources and moved them along with the actual DA code resource they were associated with.
With the advent of
System 7
System 7, codenamed "Big Bang", and also known as Mac OS 7, is a graphical user interface-based operating system for Macintosh computers and is part of the classic Mac OS series of operating systems. It was introduced on May 13, 1991, by Apple Co ...
, which included a standard
cooperative multitasking
Cooperative multitasking, also known as non-preemptive multitasking, is a style of computer multitasking in which the operating system never initiates a context switch from a running process to another process. Instead, in order to run multiple ...
feature, the need for DAs diminished greatly, and developers were encouraged to develop small applications instead. The system continued to run DAs (and still does up to
Mac OS 9
Mac OS 9 is the ninth major release of Apple Inc., Apple's classic Mac OS operating system which was succeeded by macOS, Mac OS X (renamed to OS X in 2011 and macOS in 2016) in 2001. Introduced on October 23, 1999, it was promoted by Apple as "T ...
.x) for backward compatibility. Under System 7 and later, DAs could be moved and renamed using the Finder like normal applications, removing the need for Font/DA Mover and confining suitcases to
font
In metal typesetting, a font is a particular size, weight and style of a typeface. Each font is a matched set of type, with a piece (a "sort") for each glyph. A typeface consists of a range of such fonts that shared an overall design.
In mod ...
management. When a DA was run under System 7, it always executed in the Finder's
address space
In computing, an address space defines a range of discrete addresses, each of which may correspond to a network host, peripheral device, disk sector, a memory cell or other logical or physical entity.
For software programs to save and retrieve st ...
. The
icon
An icon () is a religious work of art, most commonly a painting, in the cultures of the Eastern Orthodox, Oriental Orthodox, and Catholic churches. They are not simply artworks; "an icon is a sacred image used in religious devotion". The most ...
for a desk accessory program under System 7 and later is roughly a reversed version of the application icon, with the writing hand on the left side instead of the right.
A similar mechanism to allow small utility programs to run along with regular applications was also present in the operating system for the
Apple IIGS
The Apple IIGS (styled as II), the fifth and most powerful of the Apple II family, is a 16-bit personal computer produced by Apple Computer. While featuring the Macintosh look and feel, and resolution and color similar to the Amiga and Atari ST ...
and
Apple IIe
The Apple IIe (styled as Apple //e) is the third model in the Apple II series of personal computers produced by Apple Computer. The ''e'' in the name stands for ''enhanced'', referring to the fact that several popular features were now built-in ...
.
GEM
400px, The supplied desk accessories in ">OpenGEM
GEM
A gemstone (also called a fine gem, jewel, precious stone, or semiprecious stone) is a piece of mineral crystal which, in cut and polished form, is used to make jewelry or other adornments. However, certain rocks (such as lapis lazuli, opal, a ...
resembled the Macintosh closely in many respects. One example was the presence of desk accessories, for the same reason: to allow multiple programs to be used in a system that only supported one full application at a time (although GEM desk accessories used
task switching and not
cooperative multitasking
Cooperative multitasking, also known as non-preemptive multitasking, is a style of computer multitasking in which the operating system never initiates a context switch from a running process to another process. Instead, in order to run multiple ...
like the
Macintosh
The Mac (known as Macintosh until 1999) is a family of personal computers designed and marketed by Apple Inc., Apple Inc. Macs are known for their ease of use and minimalist designs, and are popular among students, creative professionals, and ...
.)
From a programming point of view, desk accessories were implemented, like other GEM applications, as
DOS .EXE files, with names ending with .ACC (Accessory) rather than .APP (Application). Each .ACC file could support multiple accessories; all three of the standard GEM accessories (Calculator, Clock and Print Spooler) were provided by
CALCLOCK.ACC
. Installation was simply a matter of placing the .ACC in the correct directory -
\GEMBOOT
in earlier versions, and
\GEMAPPS\GEMSYS
in GEM/3 and later.
Since each desk accessory loaded reduced the amount of memory available for programs, one technique for temporarily increasing available space was to rename one or more .ACC files to have a different suffix (usually .ACX) and restart GEM. On the
Amstrad
Amstrad was a British electronics company, founded in 1968 by Alan Sugar at the age of 21. The name is a contraction of Alan Michael Sugar Trading. It was first listed on the London Stock Exchange in April 1980. During the late 1980s, Amstrad ...
PC-1512, for example, the Snapshot accessory was shipped as
SNAPSHOT.ACX
and had to be renamed to .ACC prior to use.
Desk accessories continued to be supported in
ViewMAX
ViewMAX is a CUA-compliant file manager supplied with DR DOS versions 5.0 and 6.0. It is based on a cut-down runtime version of Digital Research's GEM/3 graphical user interface modified to run only a single statically built applicatio ...
, the
DR-DOS
DR-DOS (written as DR DOS, without a hyphen, in versions up to and including 6.0) is a disk operating system for IBM PC compatibles. Upon its introduction in 1988, it was the first DOS attempting to be compatible with IBM PC DOS and MS-D ...
file manager, which was supplied with almost unchanged versions of Calculator and Clock.
Palm OS
For much the same reason as desk accessories were used in Mac OS and in GEM, namely to allow more than one simultaneous program on a system which did not support multitasking, the concept of desk accessories was extended to Palm OS by third-party developers. DA are applets launched by an application or hack serving as a DA launcher. The DA launcher may watch for keystrokes or other system events and pop up a predefined desk accessory. Many general-purpose Palm OS launcher applications are capable of launching DAs as well.
A desk accessory program is a Palm resource database of type 'DAcc', specified to include a single 'code' #1000 resource that contains the binary code implementing the desk accessory. Global or static variables are not available, but a DA can call user interface APIs. It is possible for a DA to have user interface resources in its database. The desk accessory launcher transfers execution to the first byte of the 'code' #1000 resource.
DAs provide a modicum of multitasking. However, unlike in Mac OS and GEM, after the user is done working with the DA, it must be closed to return to the underlying application. It is possible to pop up one DA over another DA, though this might deplete stack space.
References
{{Reflist
* Andy Hertzfeld (October 1981)
Desk Ornaments folklore.org. URL accessed May 20, 2006.
See also
*
Helper application
A helper application is an external viewer program launched to display content retrieved using a web browser. Some examples include JPEGview, Windows Media Player, QuickTime Player, Real Player and Adobe Reader. Unlike a plugin whose full code ...
, for web browser accessories
Graphical user interfaces
Macintosh operating systems
Palm OS software