Desk accessory

Last updated

A desk accessory (DA) or desklet in computing is a small transient or auxiliary application that can be run concurrently in a desktop environment with any other application on the system. Early examples, such as Sidekick 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.

Contents

Personal information managers

Early personal information managers, such as Norton Desktop and Borland's Sidekick, 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 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. 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 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 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. [1] 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, 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, which included a standard cooperative multitasking 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.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 management. When a DA was run under System 7, it always executed in the Finder's address space. The icon 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 and Apple IIe.

GEM

The supplied desk accessories in OpenGEM DA OpenGem.png
The supplied desk accessories in OpenGEM

GEM 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 like the Macintosh.)

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 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, the DR-DOS 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.

Related Research Articles

<span class="mw-page-title-main">History of the graphical user interface</span>

The history of the graphical user interface, understood as the use of graphic icons and a pointing device to control a computer, covers a five-decade span of incremental refinements, built on some constant core principles. Several vendors have created their own windowing systems based on independent code, but with basic elements in common that define the WIMP "window, icon, menu and pointing device" paradigm.

<span class="mw-page-title-main">Operating system</span> Software that manages computer hardware resources

An operating system (OS) is system software that manages computer hardware and software resources, and provides common services for computer programs.

The resource fork is a fork or section of a file on Apple's classic Mac OS operating system, which was also carried over to the modern macOS for compatibility, used to store structured data along with the unstructured data stored within the data fork.

<span class="mw-page-title-main">A/UX</span> Early Unix-based operating system from Apple Computer

A/UX is a Unix-based operating system from Apple Computer for Macintosh computers, integrated with System 7's graphical interface and application compatibility. It is Apple's first official Unix-based operating system, launched in 1988 and discontinued in 1995 with version 3.1.1. A/UX requires select 68k-based Macintosh models with an FPU and a paged memory management unit (PMMU), including the Macintosh II, SE/30, Quadra, and Centris series.

<span class="mw-page-title-main">System 7</span> Computer operating system

System 7, codenamed "Big Bang", and renamed Mac OS 7 since version 7.6, is the main operating system for Macintosh computers from Apple Computer. It succeeded System 6 upon launch on May 13, 1991, and new features since then include virtual memory, personal file sharing, QuickTime, QuickDraw 3D, and an improved user interface.

<span class="mw-page-title-main">Desktop metaphor</span> Concept used on desktop computer graphical user interfaces

In computing, the desktop metaphor is an interface metaphor which is a set of unifying concepts used by graphical user interfaces to help users interact more easily with the computer. The desktop metaphor treats the computer monitor as if it is the top of the user's desk, upon which objects such as documents and folders of documents can be placed. A document can be opened into a window, which represents a paper copy of the document placed on the desktop. Small applications called desk accessories are also available, such as a desk calculator or notepad, etc.

MultiFinder is an extension for the Apple Macintosh's classic Mac OS, introduced on August 11, 1987 and included with System Software 5. It adds cooperative multitasking of several applications at once – a great improvement over the previous Macintosh systems, which can only run one application at a time. With the advent of System 7, MultiFinder became a standard integrated part of the operating system and remained so until the introduction of Mac OS X.

<span class="mw-page-title-main">System 6</span> 1988 Macintosh operating system

System 6 is a graphical user interface-based operating system for Macintosh computers, made by Apple Computer. It was released in 1988, and is part of the classic Mac OS series. It is a monolithic operating system, with cooperative multitasking based on an improved MultiFinder. The boxed version cost US$49, and it was included with all new Macintosh computers until 1991, when it was succeeded by System 7.

Star Trek is the code name that was given to a secret prototype project, running a port of Macintosh System 7 and its applications on Intel-compatible x86 personal computers. The project, starting in February 1992, was conceived in collaboration between Apple Computer, who provided the majority of engineers, and Novell, who at the time was one of the leaders of cross-platform file-servers. The plan was that Novell would market the resulting OS as a challenge to Microsoft Windows, but the project was discontinued in 1993 and never released, although components were reused in other projects. The project was named after the Star Trek science fiction franchise with the slogan "To boldly go where no Mac has gone before".

<span class="mw-page-title-main">Chooser (Mac OS)</span>

The Chooser is an application program for Macintosh systems using the classic Mac OS. The Chooser started out as a desk accessory and became a standalone application program as of System 7. The Chooser allowed users to connect to AppleShare file servers, enable or disable the network access, and select which printer to use.

<span class="mw-page-title-main">Dashboard (macOS)</span> Discontinued feature of macOS

Dashboard is a discontinued feature of Apple Inc.'s macOS operating systems, used as a secondary desktop for hosting mini-applications known as widgets. These are intended to be simple applications that do not take time to launch. Dashboard applications supplied with macOS included a stock ticker, weather report, calculator, and notepad; while users could create or download their own.

On the classic Mac OS, extensions were small pieces of code that extended the system's functionality. They were run initially at start-up time, and operated by a variety of mechanisms, including trap patching and other code modifying techniques. Initially an Apple developer hack, extensions became the standard way to provide a modular operating system. Large amounts of important system services such as the TCP/IP network stacks and USB and FireWire support were optional components implemented as extensions. The phrase "system extension" later came to encompass faceless background applications as well.

The System suitcase is one of two essential files that make up the classic Mac OS, the other being the Macintosh Finder. If either file is missing or corrupted, a Macintosh may display a blinking question mark when booting. The suitcase is located in the System Folder, like the Finder file, and contains keyboard layouts, FKEY resources, cursors, icons, sounds, and, in System 6, bitmap fonts, and desk accessories. Mac OS only supports one System file; the presence of more than one System file on a hard disk is likely to cause system instability.

<span class="mw-page-title-main">Scrapbook (Mac OS)</span> Macintosh computer software

Scrapbook under the Classic Mac OS was a small desk accessory (DA) which enabled users to store images, text and sound clippings. It was included in the original Macintosh system software in 1984 with the Macintosh 128K, and was included throughout every Mac OS revision until Mac OS 9.

<span class="mw-page-title-main">Apple menu</span> System menu on Mac operating systems

The Apple menu is a drop-down menu that is on the left side of the menu bar in the classic Mac OS, macOS and A/UX operating systems. The Apple menu's role has changed throughout the history of Apple Inc.'s operating systems, but the menu has always featured a version of the Apple logo.

<span class="mw-page-title-main">Atari TOS</span> Operating system of the Atari ST range of computers

TOS is the operating system of the Atari ST range of computers. This range includes the 520ST and 1040ST, their STF/M/FM and STE variants and the Mega ST/STE. Later, 32-bit machines were developed using a new version of TOS, called MultiTOS, which allowed multitasking. More recently, users have further developed TOS into FreeMiNT.

MagiC is a third party and now open-sourced multitasking-capable TOS-compatible operating system for Atari computers, including some newer clone systems manufactured later. There are also variants that run as part of Mac and PC emulation environments, as well as on macOS Intel-Mac computers.

<span class="mw-page-title-main">System 1</span> First version of Apple Macintosh operating system

The Macintosh "System 1" is the first version of Apple Macintosh operating system and the beginning of the classic Mac OS series. It was developed for the Motorola 68000 microprocessor. System 1 was released on January 24, 1984, along with the Macintosh 128K, the first in the Macintosh family of personal computers. It received one update, "System 1.1" on December 29, 1984, before being succeeded by System 2.

<span class="mw-page-title-main">Classic Mac OS</span> Original operating system of Apple Mac (1984–2001)

Mac OS is the series of operating systems developed for the Macintosh family of personal computers by Apple Computer, Inc. from 1984 to 2001, starting with System 1 and ending with Mac OS 9. The Macintosh operating system is credited with having popularized the graphical user interface concept. It was included with every Macintosh that was sold during the era in which it was developed, and many updates to the system software were done in conjunction with the introduction of new Macintosh systems.

References

  1. "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

See also