An der Entwicklung multimedialer Präsentationsanwendungen sind bestimmte Personenkreise beteiligt, die in den einzelnen Entwicklungsphasen mit den entsprechenden Werkzeugen die jeweiligen Teilaufgaben der Gesamtentwicklung erledigen:
Dabei ist es nicht ausgeschlossen, daß ein und dieselbe Person mehreren Entwicklergruppen zugeordnet werden kann, d.h. unterschiedliche Teilaufgaben bearbeitet. Zusammenhänge zwischen Entwicklungsphasen, Entwicklungswerkzeugen und Entwicklergruppen sind Abbildung 2.5 zu entnehmen.
Medienobjektkreierer Ein Medienobjektkreierer ist eine Person, die mit geeigneten Medienobjekterzeugungswerkzeugen bestimmte Informationseinheiten erzeugt, d.h. ein Medienobjektkreierer legt den Inhalt und die Werte der Informationsattribute eines Medienobjektes fest. In größeren Projekten wird diese Arbeit meistens durch Spezialisten erledigt: Kameraleute erzeugen Filme, Toningenieure stellen Musikstücke zusammen, Graphiker und Designer entwerfen Zeichnungen und Bilder. Im allgemeinen handelt es sich bei den Medienobjektkreierern also nicht um Programmierer.
Regisseur Ein Regisseur ist für die Gestaltung der Gesamtpräsentation einer multimedialen Präsentationsanwendung zuständig. Er legt das endgültige Layout der einzelnen Medienobjekte fest, definiert die Kontrollstruktur und andere Beziehungen zwischen den Objekten und bestimmt Zeitpunkte, Form und Auswirkungen von Interaktionen, die ein Benutzer während der Präsentation durchführen kann. Damit ist der Regisseur an allen drei Teilphasen der Verbindungsphase beteiligt. Als Grundlage seiner Arbeit dient die Medienobjektsammlung. Bei fehlenden Informationseinheiten muß er einen Medienobjektkreierer mit der Erzeugung entsprechender Objekte beauftragen. Sind die in der Verbindungsphase anfallenden Aufgaben erledigt, ruft der Regisseur den Codegenerator auf.
Darüberhinaus kann ein Regisseur aber auch selbst als Medienobjektkreierer angesehen werden, der komplexe Medienobjekte erstellt. Nicht immer muß ein Regisseur die Absicht haben, eine komplette Präsentationsanwendung zu entwickeln. Vielmehr kann seine Aufgabe auch darin bestehen, aus existierenden Medienobjekten bestimmte komplexe Medienobjekte zu bilden und diese anderen Regisseuren für andere Präsentationsanwendungen in Form einer Sammlung zur Verfügung zu stellen. In diesem Fall entfallen die Generierungs-, die Programmier- und die Präsentationsphase.
Heutige Werkzeuge ermöglichen im allgemeinen auch einem Nicht-Programmierer, die Rolle des Regisseurs zu übernehmen, sofern die zu entwickelnde Anwendung nicht allzu komplex ist. Dazu werden insbesondere Konzepte der visuellen Programmierung genutzt (siehe Kapitel 4).
Programmierer Durch die Editierung des generierten Programmcodes kann ein Programmierer die Präsentationsanwendung um Eigenschaften ergänzen, die mit den Werkzeugen der Verbindungsphase nicht spezifizierbar sind. Der Programmierer bringt die Präsentationsanwendung damit in ihre endgültige Form. Mit Hilfe eines Compilers erzeugt er ausführbaren Code.
Endbenutzer Endbenutzer stellen den Personenkreis dar, der sich eine multimediale Präsentation anschaut. Je nach Einsatzbereich sind Endbenutzer zum Beispiel Kunden eines Geschäfts an einer Point-Of-Sale-Station, Besucher eines Museums, die sich mit Hilfe eines Computers über Einzelheiten einer Ausstellung informieren möchten, oder Lernende, die eine Präsentationsanwendung im Bereich des Computer-Based-Trainings nutzen. Endbenutzer können an den vom Regisseur vorgesehenen Stellen der Präsentation Eingaben vornehmen und damit beispielsweise den weiteren Präsentationsverlauf bestimmen oder das Layout ihren Vorstellungen entsprechend anpassen.
Medientypintegrator Die Aufgabe von Personen, die der Werkzeugerweiterungsphase zugeordnet sind, besteht generell in der Änderung bzw. Erweiterung der Werkzeuge, die in den einzelnen Entwicklungsphasen benutzt werden. Für die weiteren Betrachtungen im Rahmen dieser Arbeit ist jedoch nur der Aspekt der Integration neuer Medientypen in die Entwicklungswerkzeuge von Bedeutung. Personen, die diese Aufgabe ausführen, sollen Medientypintegratoren genannt werden. Hierbei handelt es sich im allgemeinen um Programmierer. Will ein Regisseur beispielsweise Animationen in seine Anwendung einbauen und wird dieser Medientyp durch die zur Verfügung stehenden Werkzeuge nicht unterstützt, so muß er einen Medientypintegrator mit der Integration eines entsprechenden Typs beauftragen. Die Aufgabe eines Medientypintegrators umfaßt dabei im allgemeinen viele Teilaufgaben. Dabei soll im folgenden davon ausgegangen werden, daß die Schnittstelle zwischen Medienobjektkreierer und Regisseur eine Dateischnittstelle ist, d.h. daß die erzeugten Medienobjekte über eine Dateischnittstelle in die Werkzeuge der Verbindungsphase geladen werden. Die wichtigsten Teilaufgaben sind:
In existierenden Entwicklungswerkzeugen sind die unterstützten Medientypen meist so fest in die Werkzeuge der Verbindungsphase integriert, daß eine Erweiterung praktisch unmöglich ist, und wenn, dann nur von denjenigen Personen durchgeführt werden kann, die diese Werkzeuge realisiert haben. Eine alternative Lösung bietet hier die Verwendung einer objektorientierten Programmiersprache schon beim Entwurf der Basiswerkzeuge. Indem der Werkzeugentwickler vorgefertigte Komponenten zur Verfügung stellt und über abstrakte Basisklassen abstrakte Schnittstellen definiert, kann auch eine andere Person als er als Medientypintegrator fungieren, indem sie mittels objektorientierter Mechanismen, wie der Komposition oder der Spezialisierung, neue Medientypen in die Werkzeuge integriert, ohne dessen komplexe Strukturen im einzelnen verstehen oder sogar ändern zu müssen.
Anzumerken ist in diesem Zusammenhang, daß durchaus mehrere Formen eines Medientyps integriert werden können. So ist vorstellbar, daß zwei verschiedene Audio-Medientypen existieren, die unterschiedliche Audio-Formate laden können. Denkbar ist auch, daß sich zwei Typen nur in der Menge ihrer Gestaltungsattribute unterscheiden. Ein Medientyp Text könnte beispielsweise die Gestaltungsattribute Font und Größe definieren, während ein zweiter Medientyp Text auch den zu repräsentierenden Text als Gestaltungsattribut vorsieht.
Falls Medienobjekte aus Source-, Sink- und Filter-Objekten bestehen können, ist ein Medientypintegrator auch für deren Komposition und die Definition von konfigurellen Beziehungen zwischen den Teilobjekten zuständig (siehe Abschnitt 2.4.2.7). Ein Medientyp Live-Video beinhaltet beispielsweise ein Source-Objekt, das Daten von einer Video-Kamera erhält, während das Source-Objekt eines Medientyps File-Video die Daten aus einer Datei liest.