22/12/2015
In den Anfangstagen der Personal Computer, lange bevor echtes Multitasking auf jedem System Standard war, gab es innovative Lösungen, um Nutzern die gleichzeitige Ausführung kleiner Hilfsprogramme neben ihren Hauptanwendungen zu ermöglichen. Auf dem Apple Macintosh, eingeführt im Jahr 1984, spielten hierbei die sogenannten Desk Accessories (DAs) eine entscheidende Rolle. Man kann sie als kleine, flüchtige oder unterstützende Anwendungen verstehen, die gleichzeitig mit jeder anderen Anwendung auf dem System ausgeführt werden konnten.

Die Desk Accessories waren ein integraler Bestandteil des Betriebssystems des Apple Macintosh. Sie wurden als spezielle Art von Software entwickelt, die sich an ein bestimmtes Programmiermodell hielt. Konkret wurden DAs als Gerätetreiber geschrieben. Dieses Modell hatte den Zweck, sehr kleine Hilfsanwendungen parallel zu jeder anderen Anwendung auf dem System laufen zu lassen. Dies bot ein gewisses Maß an Multitasking auf einem System, das anfangs keine andere Multitasking-Fähigkeit besaß. Es war eine clevere technische Lösung, um die Benutzerfreundlichkeit zu erhöhen, indem grundlegende Werkzeuge immer verfügbar waren, ohne die aktuell laufende Hauptanwendung beenden zu müssen.
Wie funktionierten Desk Accessories technisch?
Die Implementierung von DAs war technisch interessant. Sie wurden als eine spezielle Klasse von Treibern realisiert. Einmal installiert, reihten sie sich in die Treiberwarteschlange ein. Ihnen wurde periodisch und kooperativ Rechenzeit zugewiesen. Dies geschah als Ergebnis des Aufrufs der Funktion SystemTask() durch die Host-Anwendung innerhalb ihrer Hauptprogrammschleife. Das bedeutete, dass die Hauptanwendung aktiv mit dem System zusammenarbeiten musste, um den DAs Rechenzeit zu gewähren. Es war kein präemptives Multitasking, bei dem das Betriebssystem die Kontrolle entzieht, sondern ein kooperatives Modell, bei dem die Anwendungen freiwillig Zeit abgaben.
Obwohl DAs klein waren, durften sie eine Benutzeroberfläche haben. Allerdings war diese auf ein einziges Hauptfenster beschränkt. Um dem Benutzer zu signalisieren, dass es sich um eine Desk Accessory handelte und nicht um ein Fenster der Hauptanwendung, wurde ein spezieller Fensterrahmen reserviert. Dieser zeichnete sich durch eine schwarze Titelleiste und abgerundete Ecken aus. Dieses visuelle Merkmal half dem Benutzer, die Herkunft und Art des Fensters schnell zu erkennen.
Typische Beispiele für frühe Desk Accessories
Einige der bekanntesten und am häufigsten genutzten Funktionen auf dem frühen Mac waren ursprünglich als Desk Accessories implementiert. Dazu gehörten der Taschenrechner (Calculator) und der Wecker (Alarm Clock). Diese nützlichen kleinen Tools waren immer über das Apple-Menü zugänglich, unabhängig davon, welche Anwendung gerade lief.
Auch wichtige Systemkomponenten wurden anfänglich als DAs realisiert. Dazu zählten die Systemsteuerung (Control Panel), der Chooser (zum Auswählen von Druckern und Netzwerkgeräten) und das Scrapbook (eine einfache Zwischenablage für Text und Grafiken). Die Tatsache, dass diese grundlegenden Systemfunktionen als DAs implementiert waren, unterstreicht ihre Bedeutung im Design des frühen Mac OS.
Neben den von Apple bereitgestellten DAs gab es auch DAs von Drittanbietern. Man konnte beispielsweise DAs zum Prüfen der Rechtschreibung erwerben. Diese erweiterten die Funktionalität des Systems auf eine Weise, die vor der breiten Verfügbarkeit von Multitasking und Hintergrundanwendungen einzigartig war.
Die Entwicklung einer DA galt, besonders in den Anfangszeiten, als schwierig. Dies lag unter anderem daran, dass es zunächst nur wenige Entwicklerwerkzeuge gab. Allerdings, da Treiber im frühen Mac OS keine besonderen Privilegien besaßen, war das Schreiben einer DA mit etwas Übung nicht unbedingt schwieriger als das Schreiben einer anderen Anwendung. Es erforderte lediglich die Einhaltung des spezifischen DA-Programmiermodells.
Verwaltung und Installation von Desk Accessories
Die Art und Weise, wie Desk Accessories installiert und verwaltet wurden, unterschied sich deutlich von der Installation normaler Anwendungen. Da DAs nicht einfach per Drag & Drop ins System kopiert oder gestartet werden konnten, benötigte man ein spezielles Dienstprogramm: den Font/DA Mover.
DAs residierten in den 'DRVR'-Ressourcen der Systemdatei, ähnlich wie tatsächliche Gerätetreiber. Sie konnten aber auch in jeder anderen Datei installiert werden, deren Ressourcen in den Speicher geladen wurden. Wenn sie nicht in der Systemdatei installiert waren, wurden sie oft in sogenannten „Suitcases“ gespeichert, einer Art Containerdatei für Schriftarten und DAs.
Die Installation innerhalb einer separaten Anwendung, wie zum Beispiel MacWrite, bedeutete, dass die Funktionalität der DA nur dann zugänglich war, wenn diese spezifische Anwendung lief. Eine Desk Accessory, die als Ressource innerhalb einer Anwendung installiert war, erschien nur dann im Apple-Menü als Desk Accessory, wenn diese Anwendung aktiv war. Sie konnte dann aktiviert werden, während die Anwendung lief, und verschwand, wenn die Anwendung beendet wurde (z. B. über die „Beenden“-Funktion). Ähnlich verhielt es sich mit FKEY-Ressourcen (Funktionstasten-Makros), die entweder im System für universelle Verfügbarkeit oder in einer Anwendung für spezifische Verfügbarkeit installiert werden konnten.
Es gab ein Ressourcennummerierungsschema, um Ressourcen als zugehörig zu einer anderen Ressource (wie einer DA vom Typ 'DRVR') in derselben Datei zu markieren. Dies ermöglichte es Desk Accessories, eine begrenzte eigene „Ressourcen-Fork“ innerhalb der Datei zu haben, in der sie enthalten waren. Das Font/DA Mover-Dienstprogramm erkannte solche Ressourcen und verschob sie zusammen mit der eigentlichen DA-Code-Ressource, mit der sie verknüpft waren.

Der Wandel mit System 7
Mit der Einführung von System 7, das eine standardmäßige kooperative Multitasking-Funktion beinhaltete, nahm die Notwendigkeit für Desk Accessories stark ab. Entwickler wurden ermutigt, stattdessen kleine Anwendungen zu entwickeln. System 7 bot nun die Möglichkeit, mehrere vollwertige Anwendungen gleichzeitig laufen zu lassen und zwischen ihnen zu wechseln, was die ursprüngliche Hauptfunktion der DAs – die Bereitstellung kleiner, immer verfügbarer Helfer neben einer einzelnen laufenden Anwendung – weniger einzigartig machte.
Das System unterstützte jedoch weiterhin DAs (und tut dies bis Mac OS 9.x) aus Gründen der Abwärtskompatibilität. Unter System 7 und späteren Versionen konnten DAs wie normale Anwendungen mit dem Finder verschoben und umbenannt werden. Dies machte den Font/DA Mover für die Verwaltung von DAs überflüssig; Suitcases wurden nun hauptsächlich für die Schriftartenverwaltung verwendet.
Wenn eine DA unter System 7 lief, wurde sie immer im Adressraum des Finders ausgeführt. Das Symbol für ein Desk Accessory-Programm unter System 7 und späteren Versionen war grob eine umgekehrte Version des Anwendungssymbols, mit der schreibenden Hand auf der linken statt auf der rechten Seite. Dies war ein weiteres visuelles Unterscheidungsmerkmal.
Ähnliche Konzepte auf anderen Systemen
Ein ähnlicher Mechanismus, der es kleinen Dienstprogrammen ermöglichte, zusammen mit regulären Anwendungen zu laufen, gab es auch auf anderen Systemen. Zum Beispiel waren im Betriebssystem für den Apple IIGS und den Apple IIe vergleichbare Funktionen vorhanden, die darauf abzielten, die Produktivität zu steigern, indem häufig benötigte Werkzeuge schnell zugänglich gemacht wurden.
Häufig gestellte Fragen zu Desk Accessories
Was genau war der Zweck einer Desk Accessory?
Der Hauptzweck war, kleine Hilfsprogramme wie einen Taschenrechner oder Wecker auf Systemen verfügbar zu machen, die noch kein echtes Multitasking beherrschten. Sie ermöglichten den Zugriff auf diese Werkzeuge, ohne die aktuell laufende Hauptanwendung beenden zu müssen.
Wie ermöglichten DAs Multitasking?
Sie nutzten ein kooperatives Multitasking-Modell. DAs wurden als Treiber implementiert und erhielten Rechenzeit, wenn die Hauptanwendung explizit die Systemfunktion SystemTask() aufrief. Es war keine präemptive Unterbrechung durch das Betriebssystem.
Wie wurden Desk Accessories installiert?
Auf frühen Systemen benötigte man das Dienstprogramm Font/DA Mover. DAs wurden in der Systemdatei oder in Anwendungsdateien installiert. Ab System 7 konnten sie wie normale Anwendungen über den Finder verwaltet werden.
Welche berühmten Beispiele gab es?
Der Taschenrechner, der Wecker, die Systemsteuerung, der Chooser und das Scrapbook waren bekannte Beispiele für integrierte Desk Accessories.
Warum wurden Desk Accessories weniger wichtig?
Mit der Einführung von Betriebssystemen wie System 7, die echtes kooperatives Multitasking für alle Anwendungen boten, konnten kleine Hilfsprogramme auch als normale Anwendungen entwickelt und parallel ausgeführt werden. Die spezielle Rolle der DAs als einzige Multitasking-Methode für kleine Tools entfiel.
Zusammenfassung
Desk Accessories waren eine geniale Lösung für die Beschränkungen früher Computersysteme ohne integriertes Multitasking. Sie boten Benutzern schnellen Zugriff auf nützliche Werkzeuge und Systemfunktionen und prägten das Erlebnis auf dem frühen Apple Macintosh maßgeblich. Obwohl ihre technische Notwendigkeit mit der Weiterentwicklung der Betriebssysteme verschwand, bleiben sie ein faszinierendes Beispiel für innovative Softwarearchitektur in der Computergeschichte.
Wenn du mehr spannende Artikel wie „Desk Accessories: Kleine Helfer am frühen Mac“ entdecken möchtest, schau doch mal in der Kategorie Bürobedarf vorbei!
