Existierende Entwicklungswerkzeuge für multimediale Präsentationsanwendungen verwenden häufig Metaphern, um ihren Benutzern das Verständnis ihrer Benutzerschnittstelle zu erleichtern. So werden in HyperCard (siehe Kapitel 5.1.1.1) Karten auf Stapel gelegt, in ToolBook (siehe Kapitel 5.1.1.2) fertigt der Autor Seiten an, die zu Büchern zusammengebunden werden, und in MacroMind Director (siehe Kapitel 5.1.2.1) bestehen Filme aus Szenen und Einzelbildern, wobei die Medienobjekte als Darsteller betrachtet werden. Eine geeignete Analogie zur Entwicklung einer interaktiven multimedialen Präsentationsanwendung aufgrund der oben vorgestellten Sichtweise stellt die objektorientierte Programmierung dar:
Durch Spezialisten (Medienobjektkreierer) werden Basisfunktionen (elementare
Medienobjekte) definiert und in Softwarebibliotheken (Medienobjektsammlungen)
zusammengefaßt. Bestimmte Spezialisten programmieren dabei beispielsweise
Funktionen für die Gestaltung einer Benutzungsoberfläche, andere erzeugen
mathematische Libraries. Ein Anwendungsprogrammierer (Regisseur)
benutzt die Funktionen der Libraries, um seine konkrete Anwendung zu
entwickeln. Während er nicht auf die lokalen Variablen der Funktionen
(Informationsattribute) zugreifen kann, hat er über Funktionsparameter
(Gestaltungsattribute) die Möglichkeit, das Verhalten (Layout) der
einzelnen Funktionen zu
beeinflussen. Der Anwendungsprogrammierer stellt Beziehungen
zwischen den Funktionen her, indem beispielsweise der gelieferte Wert einer
Funktion als Parameter einer anschließend aufgerufenen Funktion
übergeben wird (Strukturierungsphase). Mit Hilfe von
Debuggern und anderen Werkzeugen moderner Entwicklungsumgebungen kann er
bereits in der Entwicklungsphase Programmteile austesten (Test-Phase).
Als Endprodukt wird mittels eines Compilers ein Programm generiert, das
ein Anwender (Endbenutzer) ausführen kann.
Eine Alternative besteht für
einen Anwendungsprogrammierer darin, kein fertiges Anwendungsprogramm
zu erstellen, sondern mit Hilfe der Funktionen der existierenden Libraries
komplexere Funktionen (komplexe Medienobjekte) zu bilden, die er wiederum
in Form von Bibliotheken eventuell anderen Programmierern zur
Verfügung stellt. Fehlen in einer objektorientierten Umgebung bestimmte
Typen bzw. Klassen, kann ein Komponentenprogrammierer (Medientypintegrator)
diese mittels objektorientierter Konzepte, wie der Spezialisierung,
definieren (Werkzeugerweiterungsphase).