Benutzung von Kommunikationsdiensten mit Drag-and-Drop Techniken

Abstract

Die explosionsartige Steigerung der Telekommunikation sowohl hinsichtlich der Anzahl Kommunikationsvorgänge als auch der angebotenen Dienste verlangt neue, intuitive Benutzungsoberflächen. Das klassische Telefon mit Zifferntasten zur Eingabe der Adressen reicht nicht mehr aus, um Tausende von Adressen, verschiedenste Verbindungstopologien und Hunderte von Zusatzdiensten zu beherrschen. Die Grafikfähigkeiten moderner Arbeitsplatzrechner sind als Ausgangsbasis für innovative Programme zur Verbindungssteuerung gut geeignet. In dieser Arbeit werden die Operationen der Verbindungskontrolle systematisiert, um ein geeignetes Paradigma für eine derartige Benutzungsoberfläche zu finden. Außerdem wird eine Beispielimplementierung beschrieben.

Motivation

Die erhöhte Mobilität der Gesellschaft und die Fortschritte in der Halbleiter- und Optoelektronik haben Vielfalt und Volumen der Kommunikation in den letzten zehn Jahren explosionsartig erhöht. Heute werden nicht nur mehr als doppelt so viele Telefonate geführt wie noch vor zehn Jahren, auch ehedem exotische Dienste wie Telefax, Dateiübertragung und elektronische Post haben sich zu Massendiensten entwickelt.

Für den Einzelnen nehmen dabei nicht nur Zahl und Vielfalt der Kommunikationsverbindungen zu, auch die Anzahl der Kommunikationsziele wächst entsprechend. Da Kommunikationsziele immer noch mit Rufnummern beschrieben werden, werden Benutzung und Verwaltung dieser persönlichen Datenbank immer aufwendiger. Als Beispiele seien die ständige Veränderung des Nummernplans und die Änderungen von Rufnummern durch Umzüge, sowohl im Büro als auch privat, genannt.

Die Netzbetreiber bieten zusätzliche Dienste (Zusatzdienste, supplementary services) an, um die Probleme bei der Nutzung der Kommunikationsdienste zu lösen. Dazu zählen Leistungsmerkmale wie zum Beispiel Rufum- und Weiterleitung sowie flexible Verbindungstopologien (Konferenz, Makeln). Allerdings ist die Nutzung dieser Zusatzdienste mit konventionellen Benutzungsoberflächen ausgesprochen umständlich. Die Tastatur eines Telefons ist eben nicht das richtige Paradigma zur Steuerung komplexer Verbindungssituationen. Das gilt in noch stärkerem Maße für den Versand von elektronischer Post oder für Fernkopien, die vom Textverarbeitungsprogramm aus geschickt werden.

Kommunikationsdienste

Die Leistungen eines Kommunikationssystemes, also die Übertragung von Informationen sowie die Organisation und Unterstützung dieser Übertragung, nennt man Dienste. Beispiele für solche Dienste sind die Telefonie, Faksimile, X.25 oder auch die Fernsprechauskunft. Im wesentlichen lassen sich drei Kategorien bilden: Übertragungsdienste, Teledienste und Zusatzdienste.

Zentrales Konzept aller Kommunikationsdienste ist die Verbindung, die entweder real, d.h. als elektrische Schaltung, oder virtuell der Informationsübertragung zugrunde liegt. Im weiteren wird die Steuerung der Verbindungen für Übertragungs- und Teledienste betrachtet. Auch die sogenannten Zusatzdienste, unter denen im Allgemeinen Hilfsmittel zur Verbindungssteuerung verstanden werden, sollen berücksichtigt werden.

Verbindungssteuerung

Eine Verbindung wird durch eine Menge von Zieladressen und die Semantik der Verbindung beschrieben. Aus der Semantik werden nicht nur die Verbindungseigenschaften (Quality of Service) und die Kriterien zur Annahme der offerierten QoS, sondern auch die Inanspruchnahme von Zusatzdiensten abgeleitet.

Bis heute werden Zieladressen bei fast jedem Verbindungsaufbauversuch von Menschen in das Endgerät eingegeben, zum Beispiel aus dem Gedächtnis oder aus einem persönlichen Telefonbüchlein. Hin und wieder werden gedruckte Adressverzeichnisse oder gar der Verzeichnisdienst des Netzbetreibers (Auskunft) konsultiert. Manche Endgeräte bieten eine (geringe) Anzahl sogenannter Zieltasten, auf denen Adressen gespeichert werden können.

Die Abfrage von und die Suche in Adressdatenbanken ist zentraler Bestandteil der Verbindungssteuerung [McNin]. Hier muß die Oberfläche der Kommunikationssoftware Mechanismen bereitstellen, die für den Menschen gut zu benutzen sind. Das heißt, sie müssen visuell und assoziativ sein, um die Stärken der menschlichen Mustererkennung auszunutzen.

Zusatzdienste

Zusatzdienste (Supplementary Services) sind Leistungen, die entweder im Netz oder im Endgerät erbracht werden. Sie sollen typischerweise die Erreichbarkeit eines Kommunikationsteilnehmers steuern:

Benutzungsoberflächen zur Verbindungssteuerung

Eine gute Benutzungsoberfläche wird durch mehrere Eigenschaften gekennzeichnet: Abgesehen von Fragen des grafischen Designs (1 und 2) ist also die Abbildung der Verbindungssteuerung und der Zusatzdienste auf abstrakte Operationen entscheidend für den Entwurf der Benutzungsoberfläche. Erst im zweiten Schritt werden diese Operationen auf eine geeignete grafische Repräsentation abgebildet.

Operationalisierung der Verbindungssteuerung

Verbindungssteuerung und Zusatzdienste transformieren lokale Einheiten, die als Endgeräte bezeichnet sein sollen. Sie erzeugen und verändern Verbindungen zu Kommunikationszielen (Adressen).

Z bezeichne eine Menge von Kommunikationszielen und T ein Endgerät. V ist eine Menge von Verbindungen oder Verbindungsangeboten (kommende Belegungen im Jargon der Telefongesellschaften). Ihre Verknüpfungen beschreiben die Verbindungssteuerung. Sie sind nicht kommutativ, (a,b) hat eine andere Bedeutung als (b,a). Das ist aber keineswegs ein Nachteil: später wird klar, daß die Richtung der Verknüpfung zur Konstruktion eines Benutzungsparadigmas vorteilhaft verwendet werden kann.

Verknüpfung Beispiele

(Z, T) -> V' Anruf, Rückfrage, neue Konferenz

(Z, V) -> V' Konferenz erweitern

(V, Z) -> V' Weitergabe, Verbindungsabbau

(V, V) -> V' Konferenz aus Rückfrage

(V, T) -> V' Heranholen, Aufschalten, Dienstewechsel, Vermittlung

(T, V) -> V' Aufschalten, Reihenanlage (Key-System)

Sonderfälle bilden die folgenden drei Abbildungen, da sie nicht sofort Verbindungen erzeugen, sondern die Bearbeitung von Rufen in der Zukunft (V*) bestimmen.

(Z, Z) -> V* Rufumleitung für bestimmte Adressen

(T, Z) -> V* Rufumleitung

(T, T) -> V* Aktivierung des Anrufbeantworters

Um die Nützlichkeit der gewählten Darstellung zu zeigen, sollen drei Beispiele genauer beschrieben werden:

1. Verbindungsaufbau: Eine Zielnummer wird ausgewählt und mit dem Telefon verknüpft, klassischerweise also in das Telefon mit der Wählscheibe oder Tasten eingegeben. Das Resultat ist in jedem Falle eine Verbindung. Auch wenn am Ziel niemand abhebt, so bekommt man doch ein Freizeichen zu hören und hat somit zumindest eine Verbindung zu dem entsprechenden Tongenerator.

({07315024140}, Telefon) -> Verbindung

2. Konferenz: Eine existierende Verbindung wird mit zwei weiteren Adressen verknüpft, wobei eine Vierer-Konferenz entsteht:

({4146, 4145}, V) -> Konferenzverbindung zwischen vier Teilnehmern

3. Verbindungsabbau: Hierzu benötigen wir die leere Adressmenge, zu der eine existierende Verbindung weitergeleitet wird.

(V, {}) -> V' = {}

Diensteattribute

Die steigende Vielfalt der Dienste erfordert die Angabe von Diensteattributen zumindest beim Verbindungsaufbau und eventuell während die Verbindung besteht. Solche Attribute sind bespielsweise simplex, halbduplex, vollduplex, asymmetrisch, symmetrisch, multicast, broadcast, persönlich, funktional, priorität1, ..., priorität10, gesichert, reihenfolgetreu, usw. Aber auch die Übertragungsgeschwindigkeit ist ein Attribut. In den Beispielen wurden die Attribute einer normalen Telefonverbindung - symmetrisch, vollduplex, ungesichert, ... - impliziert. In der vorliegenden Operationalisierung wird das durch verschiedene Endgerätetypen Ti, mit denen Diensteattribut-Mengen (Profile) assoziiert sind, bewältigt:

(*, Ti) -> V und (Ti, *) -> V.

Quellenangabe

Verbindungen erfordern eigentlich nicht nur die Angabe von Ziel und Attributen, sondern auch eine Spezifikation der zu übertragenden Daten. Beim Dienst Telefon fällt das Fehlen dieser Angabe nicht auf, wieder gibt es die implizite Festlegung auf das kontinuierliche, monaurale Medium Ton. Deutlich wird das Fehlen einer solchen Angabe beim 'Dienst' Telefax. Zwar baut

(FaxAdresse, Faxgerät) -> V

eine Verbindung zu einem anderen Fax-Gerät auf, aber welches Dokument soll gefaxt werden? Beim normalen Faxgerät wird erst nach dem Einlegen eines Blattes in den Vorlageneinzug die Eingabe einer Rufnummer freigegeben. Abstrahiert bedeutet das, daß drei Objekte für den Aufbau einer Faxverbindung benötigt werden. In der angegebenen Formalisierung wird das Problem durch eine Erweiterung auf dreistellige Verknüpfungen gelöst:

(*, Q, *) -> V

wobei Q eine - eventuell leere - Menge von Informationsquellen bezeichnet. Vollständig lauten die Verknüpfungen nun:

Verknüpfung Beispiele

(Z, Q, T) -> V Anruf, Rückfrage, neue Konferenz

(Z, Q, V) -> V Konferenz erweitern

(V, Q, V) -> V Konferenz aus Rückfrage

(V, Q, Z) -> V Weitergabe, Verbindungsabbau

(V, Q, T) -> V Heranholen, Aufschalten, Dienstewechsel

(T, Q, V) -> V Aufschalten, Key-System

(Z, Q, Z) -> V' Rufumleitung für bestimmte Adressen

(T, Q, Z) -> V' Rufumleitung

(T, Q, T) -> V' Aktivierung des Anrufbeantworters

Paradigmensuche

Im Kontext dieser Arbeit war die Suche nach einem geeigneten Benutzungsoberflächen-Paradigma Zweck der Operationalisierung. Nun müssen noch aus den gefundenen Verknüpfungen Anforderungen an das Paradigma abgeleitet werden: Auf der Suche nach einem Paradigma, das die genannten Forderungen erfüllt, stößt man auf einen bekannten Vorgang im Alltag, die Ablage. Dabei werden eines oder mehrere Dokumente an bestimmten Plätzen abgelegt, an denen sie entweder gelagert oder weiterbefördert werden. Zum Beispiel bedeutet die Ablage eines Dokumentes in einem einer Person oder Funktion zugeordneten Fach einen Auftrag zur weiteren Bearbeitung oder zum postalischen Transport. Der Besitzer des Faches entscheidet über seine Zuständigkeit und führt die Bearbeitung durch. Aber auch auf dem Schreibtisch bedeutet die Ablage eine logische oder zeitliche Zuordnung eines Vorgangs oder Dokumentes.

Verbindungssteuerung mit dem Ablage - Paradigma

Virtueller Schreibtisch und Drag-and-Drop

Grafische Benutzungsoberflächen sind mittlerweile in fast jedem Arbeitsplatzrechner installiert. Sie implementieren fast alle das Schreibtischparadigma: auf dem virtuellen Schreibtisch liegen Dokumente, dargestellt als Grafik in Fenstern. Deren Plazierung und Überlappung wird so gewählt, daß die bearbeiteten Dokumente oben liegen - wie Papierblätter auf einem realen Schreibtisch.

Geordnet werden die Dokumente in Ordnern, ihre Art ist an ihrer graphischen Repräsentation (Icon) erkenntlich. Die Auswahl eines Dokumentes geschieht über das Anklicken des entsprechenden Icons mit einem Zeigeinstrument, meist einer Maus. Auch die Assoziation von Objekten ist auf der Oberfläche möglich, es werden mehrere Icons mit der Maus selektiert.

Abbildung 1: Drag-and-Drop im Macintosh-Finder

Der Begriff des Programmes ist auf dieser Ebene unnötig. Ein Programmstart wird implizit durchgeführt, wenn ein entsprechendes Dokument geöffnet wird. Hier verlassen die klassischen grafischen Oberflächen allerdings das Schreibtischparadigma, das Öffnen eines Dokumentes geschieht mit einer Menuauswahl, einem Begriff aus der Zeit der maskenorientierten Computerbenutzung. Das Problem liegt in der statischen Natur des Schreibtischparadigmas: die Funktion der Ablage wird nur zum Ordnen, nicht aber zum Anstossen von Operationen benutzt. Neuere Varianten grafischer Benutzungsoberflächen gehen hier einen Schritt weiter und fügen eine dynamische Komponente hinzu. Aus der Bewegung, die der Benutzer mit einem Dokument durchführt, kann seine Absicht erkannt werden.

Das verwendete Verfahren wird meist Drag-and-Drop Technik genannt. In der Literatur findet man auch den Begriff 'direkte Manipulation', bei dem aber die Idee nicht so schön klar wird, wie bei dem umgangssprachlichen englischen Begriff. Der Benutzer selektiert das Dokument mit der Maus, zieht es über den virtuellen Schreibtisch (drag), und lässt es über einem geeigneten Bearbeiter (Programm, Methode) fallen (drop). Der Bearbeiter wird dann aktiv und führt die nötigen Operationen aus. Ob ein Bearbeiter geeignet ist, erkennt der Benutzer übrigens daran, daß sich dessen Icon verändert, wenn ein Dokument über den Bearbeiter gezogen wird.

Die Benutzungsoberfläche gewinnt also die Semantik der Operation aus der Betätigung des Mausknopfes und der Mausbewegung. Im nächsten Abschnitt wird gezeigt, wie Drag-and-Drop Techniken vorteilhaft zur Verbindungskontrolle verwendet wird.

Abbildung 2: Hierarchisches Telefonbuch

Verbindungssteuerung

Zweistellige Verknüpfung

Zunächst soll die Verwirklichung der zweistelligen Verknüpfung ((*, *) -> V) mit Schreibtisch und Drag-and-Drop beschrieben werden. Der Nutzer selektiert mit der Maus ein Objekt, (Verbindung, Adresse oder Endgerät) und bewegt es auf ein anderes Objekt. Wenn das Zielobjekt die gewünschte Operation zulässt, ändert sich seine Darstellung (Farbe). Lässt der Benutzer dann das gezogene Objekt los, so wird die Operation durchgeführt und das Zielobjekt wird entsprechend transformiert.

Die Objekte werden durch Icons (Piktogramme) repräsentiert. Es gibt, wie oben gefordert, drei Klassen von Objekten:

Nun ist auch klar, warum die nicht kommutative Operation ((a,b) != (b,a)) durchaus sinnvoll sind, das Drag-and-Drop Verfahren erkennt ohne Schwierigkeiten die Richtung der Assoziation und kann daraus Informationen über die Semantik der Operation gewinnen.

Abbildung 3: Rufumleitung

Am Beispiel der Rufumleitung soll das Herstellen einer solchen zweistelligen Verknüpfung verdeutlicht werden. Man selektiert zunächst eine Verbindung ('Jürgen Geßwein' im Gesprächsfenster) und bewegt sie dann auf einen Teilnehmer im Telefonbuch ('Martin Patzel'). Das Zielicon wird invertiert, um zu zeigen, daß diese Operation möglich ist (Abbildung 3). Nach dem Loslassen (Drop) wird die Verbindung zwischen den Herren Geßwein und Patzel aufgebaut mit dem Zusatzdienst 'Rufweiterleitung' (auch Übergabe oder Transfer genannt). Die Verbindung zwischen dem lokalen Gerät und Herrn Geßwein wird automatisch abgebaut.

Dreistellige Verknüpfung

Wie bereits im Abschnitt Quellenangabe am Beispiel des Telefax dargestellt, reicht die Bewegung einer Adresse auf ein Endgerät nicht aus, um allgemeine Kommunikationsverbindungen vollständig zu beschreiben. Auch bei der Implementierung der dreistelligen Verknüpfung kann das Drag-and-Drop Verfahren eingesetzt werden, allerdings ist das programmtechnisch anspruchsvoller.

Hierbei selektiert der Benutzer nicht nur eine Zieladresse, sondern auch ein Quelldokument. Als Beispiel mag wieder der Faxversand dienen: zunächst werden Adressat und Brief selektiert, dann werden beide auf das Symbol der Faxmaschine gezogen und dort fallengelassen. Jetzt beginnt neben dem Verbindungsaufbau auch eine Interaktion mit dem Betriebssystem und dem Textprogramm:

Zusammenfassung

Die scheinbar endlose Vielfalt von Operationen der Verbindungssteuerung und der Zusatzdienste in der Telekommunikation kann auf eine dreistellige, gerichtete Verknüpfung zurückgeführt werden. Aufbauend auf der gewonnenen Operationalisierung wurde ein geeignetes Paradigma für die Benutzungsoberfläche der Kommunikationssteuerung gefunden, die Ablage. Mit Drag-and-Drop Techniken kann das Ablageverfahren elegant verwirklicht werden.

Basierend auf diesem Paradigma wurde die PluriMac Benutzungsoberfläche implementiert, die einfach und intuitiv zu benutzen ist [FrzSch]. Das vorgestellte Drag-and-Drop Verfahren wird für die meisten Operationen der Verbindungssteuerung verwendet. Weitere Arbeiten konzentrieren sich auf die Steuerung von nicht-Telefon Diensten unter Verwendung der angegebenen dreistelligen Verknüpfung.

Literatur

[FrzSch] Froitzheim, K., Schulthess, P.: GTI, a Graphical Telephone Interface; in: The Visual Computer, International Journal of Computer Graphics; Volume 9, Number 6 1993, Springer.

[McNin] McNinch, B.: Screen Based Telephony; IEEE Communications Magazine, April 1990, page 34ff.

[Sch] Schulthess, P.: Architecture of an ISDN-Workstation, Report #171 des Instituts für Mathematik, Universität Augsburg, 1988.