Eine weitere Vereinfachung, die bis zu diesem Punkt stets stillschweigend angenommen wurde, ist die Reduzierung der Reaktion einer Hypermedia-Anwendung auf lediglich eine Aktion. Dieses Verhalten ist aus den aktuellen Hypermedia-Anwendungen heraus auch bekannt:
Ein Klick auf einen Link
wird mit dem Öffnen einer neuen Seite beantwortet.
Vorgegeben wird dieses Verhalten durch den Standard HTML, der komplexere Antworten auf eine Interaktion nicht zulässt. Da es aber, wie oben schon mehrfach erwähnt, bisher keine Standards für viele Hypermedia-Ausprägungen, und insbesondere nicht für die dynamischen Hypermedia-Ausprägungen, gibt, soll an dieser Stelle eine Möglichkeit eingeführt und beschrieben werden, wie mit aktuellen Techniken weit komplexere Reaktionen in Hypermedia-Anwendungen und auch für solche Anwendungen, die in den "normalen" aktuellen Browsern laufen sollen, realisiert werden können.
Das Verhalten üblicher Hypermedia-Anwendungen und Browser wird stark simplifiziert hier dargestellt:
Normale Medienaufrufe in Browsern (vereinfacht)
Ebenso wie das Startdokument wird auch das Zieldokument nach den Stilvorgaben der CSS-Beschreibung formatiert.
Die Idee der Trennung von Inhalt und Gestaltungsvorgaben für Hypermedia-Inhalte wurde schon in den Anfangszeiten des Internet präsentiert [LIE94][CSS02] und ist auch im Abschnitt "Hypertext- und Hypermedia-Modelle" beschriebenen Hypermedia-Modellen enthalten. Diese Idee hat sich bis heute durch die Einführung von CSS als Beschreibungssprache für die Darstellung neben HTML als Beschreibungssprache für den Inhalt erfolgreich etabliert.
Mit der (Weiter-) Entwicklung und starken Verbreitung des Internet entstand ebenfalls früh die Idee, aktive, interaktive und reaktive Elemente in die hypermedialen Präsentationen und Präsentationsumgebungen integrieren zu wollen. Federführend war hier sicherlich der Netscape Navigator, der 1995 in der Version 2.0 veröffentlicht wurde und die eingebettete eigene Skriptsprache "LiveScript" besaß. Diese Sprache ist der Vorläufer aller späteren und auch der heutigen JavaScript-Versionen. [ECM17][RES08] Mit der Integration einer Programmiersprache erschloss sich hier die Möglichkeit, das Model-View-Controller- (MVC-) Entwurfsmuster der Software-Entwicklung auch auf die Web-Entwicklung zu übertragen. [GEI15] Allerdings kann dies an dieser Stelle nur eingeschränkt gelten und nicht eins-zu-eins erfolgen, da viele Dinge im Browser selbst zusammenlaufen. Für eine detaillierte Betrachtung müsste hier zu sehr in die Tiefe der Softwarearchitekturen gegangen werden müsste. Daher soll hier ein vereinfachtes Vorgehen erläutert werden.
Das MVC-Konzept im Web-Umfeld
Darin übernimmt der Browser die Rolle der View, da seine hauptsächliche Aufgabe darin liegt, die hypermedialen Inhalte zu rendern und dazustellen. In der einfachen Medienverarbeitung in Browsern, wie sie weiter oben dargestellt ist, übernimmt der Browser selbst auch unmittelbar die Rolle des Controllers, indem er die Interaktionen, wie zum Beispiel Tastatureingaben und Mausklicks, entgegennimmt, interpretiert und mögliche Veränderungen in dem, was und wie der Browser etwas darstellen soll, selbst vornimmt.
Unabhängig von der View, also dem Browser, stellen die darzustellenden Informationen in Form (hyper-) medialer Dokumente das Model, also die Datenbasis dar. Auf diese Weise hat der Browser keinen Einfluss auf die Daten und kann diese nicht verändern. Vielmehr lädt er lediglich aus der Datenbasis die referenzierten Medien und Dokumente.
Dieses Modell kann durch den einfachen Einsatz aktueller Web-Techniken leicht so erweitert werden, dass auch komplexere Antworten der Hypermedia-Anwendung innerhalb des Browsers möglich werden. Im Kontext des hier vorliegenden Buches soll dies Möglichkeit die Bezeichnung "CHact" als Abkürzung für "Combined Hypermedia action" tragen:
Alle Dokumente werden in diesem Beispiel nach den Stilvorgaben der CSS-Beschreibung formatiert.
An dieser Stelle muss unbedingt der Hinweis erfolgen, dass obiges Beispiel nur ein stark verallgemeinertes Beispiel ist und keinen Standard darstellt.
Erweiterte, skriptbasierte Actionaufrufe:
CHacts
Wie granular beziehungsweise detailliert die CHact-Beschreibung sein soll, bleibt dem Produzenten oder in diesem Falle wohl eher, dem Software-/ Web-Entwickler überlassen, der die entsprechende JavaScript-Implementierung umsetzt. Generell sind hier wiederum keine Grenzen gesetzt. Allerdings darf nicht vergessen werden, dass ein höherer Detaillierungsgrad in der Beschreibung der Inhalte und des Verhaltens der CHacts im Gegenzug auch bedeutet, dass das CHact-Dokument für die Anwendung auch entsprechend genauer und umfangreicher wird, was letztlich wieder mehr Beschreibungsaufwand für den Autor/ Produzenten bedeutet.
Nichtsdestotrotz ist das CHact-Modell realisierbar und es stellt eine mächtige Möglichkeit zur Produktion interaktiver, multi- und hypermedialer Anwendungen dar. Einige eindrucksvolle Beispiele dafür zeigt das Projekt "nanaIna – next generation multimedia", das auf eben dieser CHact-Idee beruht.