Das World Wide Web

Mit der steigenden Popularität des Internets durch das World Wide Web ging die Zeit der Bildschirmtextsysteme, der Online-Dienste und der BBS-Systeme zu Ende. Das Internet hat seine Anfänge im Bereich von Universitäten und Wissenschaftsorganisationen. Es hat an sich keine Nutzungsschnittstelle, sondern ist eine reine Infrastruktur, die die Nutzung verschiedenster Dienste ermöglicht. Der wohl ursprünglichste Internetdienst hat den Namen telnet und erlaubt es Nutzern, sich über das Netz auf entfernten Computern anzumelden und diese fernzusteuern, den eigenen Computer also als Terminal für entfernte Großrechner zu verwenden. Der Dienst trat an die Stelle der Einwahl auf entfernte Computer über eine Telefonleitung. Über die Jahre kamen viele weitere Dienste hinzu. Einer der bekanntesten ist der E-Mail-Dienst, den wir ja auch heute noch nutzen. Vom FTP, dem Dienst zum entfernten Zugriff auf Dateien, wird im Kapitel Verteilte Persistenz noch die Rede sein. In diesem Kapitel soll es hauptsächlich um den Dienst gehen, der heute so dominant ist, dass er in der Öffentlichkeit allgemein für das Internet steht. Wir beginnen unsere Betrachtung des Internets aber – so kennen Sie das von mir schon – nicht direkt mit dem Web, sondern mit einer Parallelentwicklung und werden wieder sehen, dass die Zeit für bestimmte Entwicklungen offensichtlich reif war.

Ein Gopher wühlt sich durch Dokumente

Anfang der 1990er Jahre entstand an der Universität von Minnesota in den USA ein Dienst zur Verfügbarmachung von Text-Dokumenten. Dem Dienst wurde der Name Gopher (gesprochen Goffer) gegeben. Der Name ist etwas eigenartig. Schlägt man im Wörterbuch nach, findet man die “Taschenratte”. Der Hintergrund hinter der kuriosen Namensgebung ist vielschichtig. Das Maskottchen der Universität und des Staats Minnesota spielt mit hinein, aber auch umgangssprachliche Definitionen des Wortes und die Eigenart von Gophern, sich “durchzuwühlen”, spielt eine Rolle. Die offizielle Beschreibung von Gopher9 führt aus:

gopher n. 1. Any of various short tailed, burrowing mammals of the family Geomyidae, of North America. 2. (Amer. colloq.) Native or inhabitant of Minnesota: the Gopher State. 3. (Amer. colloq.) One who runs errands, does odd-jobs, fetches or delivers documents for office staff. 4. (computer tech.) software following a simple protocol for burrowing through a TCP/IP internet.

Der Zweck und die Charakteristik von Gopher erklären sich durch seine Herkunft als universitäres Informationssystem gut. Hier gilt es natürlich, viele Dokumente verfügbar und diese auf eine ordentliche, gut verständliche Art und Weise erschließbar zu machen. Man entschied sich dazu, die Dokumente in einer hierarchischen Struktur darzustellen, einer Organisationsform, die aus Bibliotheken und Verwaltung schon bekannt war. Auch dies erläutert die Beschreibung von Gopher sehr schön:

A hierarchical arrangement of information is familiar to many users. Hierarchical directories containing items (such as documents, servers, and subdirectories) are widely used in electronic bulletin boards and other campus-wide information systems. People who access a campus-wide information server will expect some sort of hierarchical organization to the information presented.

Gopher unter Windows 3.1 Quelle: Youtube-Seite von Jiří Peterka, https://www.youtube.com/watch?v=Kx_040-qewo
Gopher unter Windows 3.1 Quelle: Youtube-Seite von Jiří Peterka, https://www.youtube.com/watch?v=Kx_040-qewo

Das Gopher-System der Universität von Minnesota war technisch sehr simpel gestaltet. Im Vordergrund standen Textdateien, die in einer einfachen, hierarchischen Struktur organisiert waren und mit Volltextindizes leicht durchsucht werden konnten. Das System sollte zum einen leicht verständlich sein und zum anderen wenig Ressourcen benötigen. Wie das aussah, sehen Sie zum Beispiel auf obiger Abbildung. Hier werden die Indizes von Gopher-Seiten unter Windows 3.1 gezeigt. Aufgrund der Einfachheit der Struktur ließ sich der sogenannte Gopher-Space aber auch sehr einfach auf reinen Textterminals erobern. Gerade an Universitäten mit ihren Unix-Terminals war dies nicht zu vernachlässigen.

Gopher ist heute weitgehend unbekannt. Der Dienst wurde vom World Wide Web regelrecht überrollt. Als ein Grund dafür gilt auch, dass die Universität von Minnesota sich anschickte, mit der Technologie Geld verdienen zu wollen und sie nicht mehr frei zur Verfügung zu stellen. Dieser wirtschaftliche Faktor mag sicher eine Rolle gespielt haben, obgleich es nie wirklich dazu kam, dass Geld für die Gopher-Technologie verlangt wurde. Im Zusammenhang betrachtet scheinen mir andere Faktoren viel wichtiger gewesen zu sein. Die reine hierarchische Struktur und der starke Fokus auf Textdateien, die noch nicht einmal in Sachen Farbe und Schriftart angepasst werden konnten, passten nicht so recht zum aufkommenden Multimedia-Zeitalter. Firmenpräsenzen, aber auch Vereins- und Privat-Gopher-Seiten wären schon einigermaßen öde gewesen.

Das frühe World Wide Web

Die Grundidee hinter der Entwicklung des World Wide Web ist der von Gopher an der Universität von Minnesota gar nicht unähnlich, denn in beiden Fällen ging es letztlich um das Zugänglich-Machen von Informationsinhalten. Der britische Informatiker Tim Berners-Lee und sein belgischer Kollege Robert Calliau konzipierten und entwickelten das WWW am CERN in Genf. CERN steht für Conseil Européen pour la Recherche Nucléaire und ist das größte europäische Kernforschungszentrum. Bekannt ist es vor allem für seine großen Teilchenbeschleuniger. Die vielleicht einflussreichste Entwicklung des CERN ist aber bei Weitem nicht so kompliziert wie Teilchenphysik.

Man kann sich gut vorstellen, dass am CERN schon seit jeher viele Computer genutzt, viele Informationen abgelegt und viele Dokumente geschrieben wurden. So beschreibt es auch das Proposal für das WWW aus dem Jahr 199010:

At CERN, a variety of data is already available: reports, experiment data, personnel data, electronic mail address lists, computer documentation, experiment documentation, and many other sets of data are spinning around on computer discs continuously.

Das Problem war aber die Verbindung der Informationen.

It is however impossible to “jump” from one set to another in an automatic way: once you found out that the name of Joe Bloggs is listed in an incomplete description of some on-line software, it is not straightforward to find his current electronic mail address. Usually, you will have to use a different lookup-method on a different computer with a different user interface. Once you have located information, it is hard to keep a link to it or to make a private note about it that you will later be able to find quickly.

Berners-Lee und Calliau wollten mit ihrem System also ein sehr konkretes Problem am CERN lösen. In der heutigen Geschichtserzählung, auch betrieben von Tim Berners Lee selbst, erscheint das mitunter anders. Die Wikipedia spricht zum Beispiel von seiner “vision of a global hyperlinked information system”. Ob es die gegeben hat, wann es sie gegeben hat und ob nicht aus dem späteren Erfolg dann ex post die Gedanken der Vergangenheit zu einer Vision verklärt wurden, wird hier nicht zu klären sein. Interessanter jedenfalls wird die Geschichtsbetrachtung, wenn man nicht von geniegleichen Visionären ausgeht, sondern wenn man, wie auch beim Rest der Computergeschichte, Beweggründe, Kontexte und Einflüsse betrachtet.

Betrachtet man das WWW rein von der technischen Seite her, war es nicht besonders innovativ und visionär, sondern im Gegenteil ziemlich einfach. Web-Technologie bestand nur aus zwei Spezifikationen, einer für Server, die das Übertragungsprotokoll HTTP beherrschen mussten, und einer weiteren für Terminalprogramme, Browser genannt, die die Auszeichnungssprache HTML interpretieren können mussten.

Hinter den Kulissen der Kommunikation von HTTP
Hinter den Kulissen der Kommunikation von HTTP

Die Hauptfunktionalität von HTTP-Servern ist das Ausliefern von Dokumenten. Dieser Prozess läuft sehr simpel ab. Stellen Sie sich einen HTTP-Server vor wie jemanden, der vor einem Telefon sitzt. Sie können diese Person anrufen. Nach dem Abnehmen sagen Sie ihr, welches Dokument Sie vorgelesen haben möchten. Die Person am anderen Ende liest das Dokument vor und legt direkt wieder auf. Diesen Vorgang sehen Sie in der Abbildung oben. Dort wurde ein Webserver ohne Browser angefragt, sodass man mitlesen kann, welche Daten gesendet und empfangen werden. In den ersten Zeilen sehen Sie in grün, dass hier eine Verbindung zum Port 80 des Rechners, der unter checkip.dyndns.org erreichbar ist, aufgebaut wird. Der Computer “nimmt ab” und erwartet, dass man ihm sagt, was man will. “GET /” bedeutet nicht weniger als “Gib mir die Hauptseite!”11. Hätte der Server auch ein Impressum zu haben, könnte man zum Beispiel “GET /impressum.html” anfragen und würde entsprechend bedient. Unter der Anfrage sehen Sie die Antwort in Form eines sehr einfachen HTML-Dokuments. Danach beendet der Server direkt die Verbindung.

Wenn ein Browser eine Anfrage über HTTP an einen Server schickt, kriegt er eine Antwort. Das haben Sie gerade gesehen. Meist war und ist das wie oben reiner Text. Auch der Text, den Sie hier gerade lesen, könnte so übertragen werden. Es ergäben sich aber Einschränkungen, wenn man auf einfache Zeichen beschränkt bliebe. Grundsätzlich besteht ein reiner Text zwar aus einer Aneinanderreihung von Buchstaben, Zahlen, Leerzeichen und einigen Sonderzeichen. Dokumente wie das, das Sie gerade lesen, bestehen aber aus mehr als nur einer solchen Aneinanderreihung. Sie haben auch eine Struktur, die sich in sichtbaren Eigenschaften offenbart. Der Satz, den Sie gerade lesen, ist Teil eines Absatzes, etwas weiter oben und auch weiter unten finden Sie Überschriften verschiedener Hierarchieebenen. Sie erkennen sie an der Formatierung mit großer oder fetter Schrift. An mancher Stelle wird durch Änderung des Schriftstils etwas besonders herausgestellt. Die Textzeichen, die von einem HTTP-Server kommen, können selbst aber nicht groß, klein, kursiv oder fett sein. Bei reinem Text ist in Sachen Formatierung nicht mehr möglich als bei einer alten Schreibmaschine oder einem Fernschreiber. Es gibt nur Buchstaben, Zahlen, Sonderzeichen, Leerzeichen und Zeilenumbrüche. Damit ein Browser daraus einen formatierten, strukturierten Text machen kann, muss man in den Text etwas hineinschreiben, was nicht direkt angezeigt wird, was aber die Struktur beschreibt. Genau das macht HTML, die Hypertext Markup Language. Wir schauen uns zunächst einmal ein paar Beispiele an. Keine Angst, Sie müssen dafür nicht zum Programmierer werden.

Die Originalfassung von HTML von Tim Berners-Lee definierte 22 sogenannte Tags, die genutzt werden konnten, dem Text Struktur zu geben. Das englische Wort “Tag” übersetzt sich als “Etikett”. Man klebt also quasi Etiketten an den Text, um seine Struktur zu beschreiben. Das sah dann zum Beispiel so aus:

1: <TITLE>Ein einfaches Dokument</TITLE>
2: <H1>Dies ist 
3: HTML
4: <P>Dies ist ein sehr einfaches HTML-Dokument.
5: <P>Zu HTML gibt es viel zu sagen. <HP1>Das Wichtigste sind die Tags</HP1>.
6: <H2>Tags!
7: <P>Die erste Version hat 22 Tags: TITLE, NEXTID, A, ISINDEX, PLAINTEXT, 
8: LISTING, P, H1, H2, H3, H4, H5, H6, ADDRESS, DL, DT, UL, LI, MENU 
9: und DIR. 14 davon sind auch heute noch aktuell.

In Zeile 1 wird der Dokument-Titel bestimmt. Alles, was zwischen <TITLE> und </TITLE> steht, ist der Titel des Dokuments. Bei aktuellen Browsern ist das der Text, der in der Titelzeile des Fensters bzw. als Beschriftung des Tabs angezeigt wird. Zeile 2 beginnt mit <H1>. Das sagt dem Browser, dass alles, was danach kommt, eine Überschrift der ersten Ordnung ist, also der obersten Ebene. Browser zeigen Überschriften in der Regel in großer, fetter Schrift an. Zeilenumbrüche werden in HTML übrigens ignoriert. Dass das Wort “HTML” in einer eigenen Zeile steht, hat also keine Konsequenz in der Darstellung. Eine Überschrift würde da wieder aufhören, wo </H1> steht. Das hat man sich hier aber gespart. Also endet die Überschrift da, wo eine andere Textart beginnt. Das ist in Zeile 4 der Fall, denn da beginnt mit <P> ein Absatz (auf Englisch paragraph). Ähnlich sieht es in Zeile 5 aus. Hier beginnt ein neuer Absatz; der davor endet also automatisch. Interessant ist, was im zweiten Teil der Zeile passiert, denn hier steht Text zwischen <HP1> und </HP1>. HP steht für “highlighted phrase”. Es handelt sich also um Text, der besonders herausgestellt wird. Er könnte zum Beispiel fett dargestellt werden12. Zeile 6 definiert wieder eine Überschrift, dieses Mal eine der zweiten Ordnung, also etwas kleiner in der Darstellung. In Zeile 7 folgt dann wieder ein Absatz.

Das ist alles keine Hexerei, oder? Man kann sich das Ganze eigentlich so vorstellen, als würde einem jemand den Text durchgeben, den man in einer Textverarbeitung wie Word eingeben soll. Die Tags sind dann immer Hinweise, welche Formatierungsknöpfe man drücken soll. Bei H1, H2 und P wählt man jeweils die Formatvorlagen für Überschriften und Absätze aus und bei HP1 klickt man auf fett. Mehr ist es zunächst einmal gar nicht. Das eigentlich Interessante an HTML, weswegen das Ganze für das CERN interessant war und was auch den Namen Hypertext Markup Language erklärt, zeigt dieses Beispiel:

<H2>Links
<P>Das Wichtigste an HTML sind die <A HREF=links.htm>Links zu anderen 
Ressourcen</A>. Mehr erfahren Sie, wenn Sie auf den Link klicken.

Die erste Zeile definiert wieder eine Überschrift. Das kennen wir schon. Dann folgt ein Absatz – auch schon bekannt. Interessant ist dann <A HREF=links.htm> bis </A>. Hier handelt es sich um einen Link, also eine Verknüpfung zu einem anderen Dokument. Der Text dazwischen, also “Links zu anderen Ressourcen”, kann angeklickt werden. A steht für “anchor”. Danach folgt ein Attribut HREF für “hypertext reference” und dahinter steht dann, wohin dieser Link führt, nämlich zum Dokument mit dem Namen links.htm. Wählt ein Nutzer den Link aus, kontaktiert der Browser per HTTP den Server und sendet den Befehl GET /links.htm. Die Antwort wird wieder ein HTML-Dokument sein, das der Browser anzeigen kann. Ein Anker konnte nicht nur Ausgangspunkt eines Links, sondern auch dessen Ziel sein. In dem Dokument links.htm könnte zum Beispiel <A NAME=wichtig><H1>Wichtige Links</H1></A> stehen. Man könnte den Link oben dann zu <A HREF="links.htm#wichtig"> ändern. Er würde dann direkt zum Anker im Zieldokument springen.

Die ganzen komischen Abkürzungen, die Sie hier kennengelernt haben, HREF für “hypertext reference”, HTML für “hypertext markup language”, HTTP für “hypertext transport protocol” haben das merkwürdige Wort Hypertext gemeinsam. Über Hypertext wurde in den 1980ern und 1990ern sehr viel geforscht. Viele Hypertext-Systeme wurden entwickelt, von denen heute selbst unter Informatikern kaum noch jemand etwas weiß. Weiter unten erzähle ich Ihnen mehr darüber, welche Potenziale hinter Hypertext stecken. Beim World Wide Web bedeutet Hypertext nicht mehr als das, was ich Ihnen gerade bereits erläutert habe, nämlich die Möglichkeit, in ein Textdokument sogenannte Anker einzubauen, die Start- und Endpunkte von Verknüpfungen sein können.

Mit dem, was ich bis hierher erläutert habe, habe ich das frühe Web technisch fast vollständig beschrieben. Charakteristisch für das WWW war nicht seine technische Finesse, sondern gerade seine extrem technische Einfachheit und Offenheit. Nicht nur war es recht einfach, eigene Webserver und Browser zu programmieren, durch die Dezentralität war es auch möglich, einen eigenen Server einzurichten. Insofern man über einen dauerhaften Internetzugang verfügte, was am Anfang natürlich vor allem an Universitäten, später dann bei vielen Unternehmen und dann nach und nach bei mehr und mehr sogenannten “Hostern” der Fall war, konnte man einen Server ans Netz anschließen und war damit Teil des World Wide Web, ohne dass es irgendeiner zentralen Koordination bedurft hätte und dieser Server mit irgendwelchen anderen Webservern etwas zu tun haben müsste.

Anbindung von externen Informationsquellen an das WWW. Quelle: 1989 World Wide Web Proposal
Anbindung von externen Informationsquellen an das WWW. Quelle: 1989 World Wide Web Proposal

Typisch gerade für das frühe WWW war, dass ein Server in der Regel nicht mehr tat, als Dateien, die auf einer großen Festplatte gespeichert waren, so auszuliefern, wie sie waren. Von vornherein war allerdings auch vorgesehen, dass über Webserver und Browser auch Zugriff auf bereits vorhandene Systeme realisiert werden konnte. Damit das funktionierte, musste ein Server so programmiert werden, dass er mehr konnte als einfach nur Dateien versenden. Er musste vorhandene Systeme im Hintergrund aufrufen, die erhaltenen Informationen aufarbeiten und HTML-garnierten Text an den Browser schicken. Dadurch wurde es möglich, über das Web auch auf die Inhalte von existierenden CERN-internen Hilfesystemen, auf eine Informationssuchmaschine und sogar auf das Telefonbuch zuzugreifen. Die Proposals für das WWW weisen darauf hin, dass das Telefonbuch dann z. B. Links zwischen Personen, Abteilungen und Arbeitsgruppen beinhalten könnte. Natürlich sind diese Beispiele recht simpel, aber, wenn man es nüchtern betrachtet, liegt hier die Grundlage für das, was man später Web-Anwendung nennen sollte, also eine webbasierte Nutzungsschnittstelle für eine komplexe Anwendungslogik im Hintergrund.

Da das WWW zunächst vor allem für das CERN entwickelt wurde, fehlten ihm Eigenschaften, die für eine allgemeine Nutzung durchaus vieler Features nötig gewesen wären. Der erste Browser für das WWW, der von Tim Berners-Lee selbst geschriebene Browser, der verwirrenderweise auch selbst den Namen “World Wide Web” trug, konnte nicht nur Webseiten anzeigen, sondern diese auch ändern. Das klappte sowohl bei HTML-Dateien auf der lokalen Festplatte als auch über HTTP. Was fehlte, war jegliche Art von Zugriffsbeschränkungen. Im Proposal heißt es dazu:

[The project will not aim] to use sophisticated network authorisation systems. Data will be either readable by the world (literally), or will be readable only on one file system, in which case the file system’s protection system will be used for privacy. All network traffic will be public.

[…]

Discussions on Hypertext have sometimes tackled the problem of copyright enforcement and data security. These are of secondary importance at CERN, where information exchange is still more important than secrecy. Authorisation and accounting systems for hypertext could conceivably be designed which are very sophisticated, but they are not proposed here.

Diese Lösung mochte CERN-intern funktionieren; sobald das World Wide Web allerdings wirklich “worldwide” wurde, wurde dieser Mangel kritisch. Stellen Sie sich einmal vor, Sie könnten die Website der Tagesschau aufrufen und den Text einer Nachricht einfach ändern und er wäre dann für jeden geändert, ohne dass an irgendeiner Stelle überprüft würde, wer Sie sind und ob Sie überhaupt berechtigt sind, diese Änderung vorzunehmen. Die praxisuntaugliche Funktionalität zum Ändern des Inhalts von Websites, wie Berners-Lee sie umsetzte, fehlte dann logischerweise bei nahezu allen öffentlichen Servern und Browsern.

Die Geschichte der Browser

Den Browsern und ihrer Entwicklung kam in der Geschichte des World Wide Web eine große Rolle zu. Das Web wurde nicht zentral kontrolliert. Daher konnte keiner wirklich bestimmen, was Webtechnologie ist und was nicht. Verschiedenste Nutzergruppen und Anbieter hatten natürlich ganz unterschiedliche Vorstellungen darüber, was die Technik leisten sollte. Der Wettstreit unter verschiedenen Browser-Entwicklern wurde gleichermaßen zu einem Innovationstreiber als auch zu einem Spaltpilz.

Die ersten Browser wurden am CERN entwickelt. Neben einem Browser für reine Textterminals war das vor allem der Browser “World Wide Web” von Tim Berners-Lee, von dem oben schon die Rede war. Er entwickelte die Software für NeXT-Computer, die ich Ihnen in meiner Geschichtserzählung bisher vorenthalten habe. Die Firma NeXT gehörte dem Apple-Mitgründer Steve Jobs, der bei Apple zwischenzeitlich in Ungnade gefallen war. Ende der 1990er Jahre kaufte Apple die Firma inklusive Jobs selbst und dem NeXT-Betriebssystem, das die Grundlage für Mac OS 10 darstellte.

Der Webbrowser "World Wide Web" von Tim Berners Lee
Der Webbrowser “World Wide Web” von Tim Berners Lee

Hier sehen Sie den Browser “World Wide Web”. Zu sehen sind zwei Fenster mit Webinhalten, von denen eines ein Bild zeigt. Das Bild befindet sich in einem Extrafenster. Bilder als Teil des Textes konnte der Browser nicht anzeigen und HTML sah dies zunächst einmal auch gar nicht vor, was natürlich selbst für nüchterne wissenschaftliche oder wirtschaftliche Dokumente eine gehörige Einschränkung war. Sollten Bilder verfügbar gemacht werden, wurden sie einfach verlinkt und konnten dann durch Anklicken in einem neuen Fenster geöffnet werden.

Nach einigen frühen Browserentwicklungen an Universitäten und Hochschulen, von denen die meisten für verschiedene Unix-Betriebssysteme entwickelt wurden, war der Browser NCSA Mosaic von 1993 derjenige, der für die frühe Popularität des WWW sorgte. Auch Mosaic war ein Universitätsprodukt, denn das National Center for Supercomputing Applications (NCSA) ist eine Organisation, die an der University of Illinois Urbana-Champaign angesiedelt ist. Die Software war allerdings nicht nur für Universitäten interessant, denn sie war einfach zu bedienen, einfach zu installieren und stand nicht nur für Unix, sondern auch für den Apple Macintosh und für Microsoft Windows zur Verfügung. Das herausragende Feature des Browsers war sicherlich die Anzeige von Bildern innerhalb des HTML-Dokuments. Persönlich sehr spannend finde ich aber eine Funktionalität, die in späteren Browsern gänzlich verloren gegangen ist und an der man die Herkunft von Mosaic im Wissenschaftsumfeld noch gut erkennen kann. Mosaic erlaubte es nämlich, Webdokumente mit Kommentaren zu versehen und das, wie im Folgenden beschrieben13, nicht nur persönlich, sondern auch in Arbeitsgruppen und sogar öffentlich.

Mosaic provides a mechanism whereby any piece of information on the Internet – in other words, any document that can be named by a URL – can be annotated with voice or textual comments. Such annotations are persistent across sessions and can themselves be annotated. There are several possible levels, or domains, of annotations: personal, workgroup, public, and global. Personal annotations are stored in the local file space of the user who makes the annotations and are visible only to that user. This is the default annotation domain.

Persönliche Anmerkungen wurden also lokal auf der Festplatte abgespeichert. Wollte man in einer Arbeitsgruppe Anmerkungen teilen, musste man sich einen entsprechenden Annotation-Server installieren.

Workgroup annotations are shared among a fairly small, fairly local group of people working together on a common problem. This is the type of asynchronous collaboration originally envisioned as a core capability of Mosaic. NCSA has developed a prototype workgroup annotation server that enables this type of collaboration. New annotations, if they are placed in the “workgroup domain” by the user making the annotation, are registered with the annotation server. Each time any member of the group accesses the annotated document, the annotation will then appear as a hyperlink virtually inlined – transparently merged, on the fly – into the bottom of the document.

Der Browser NCSA Mosaic mit einer der wenigen Websites, die er auch heute noch anzeigen kann.
Der Browser NCSA Mosaic mit einer der wenigen Websites, die er auch heute noch anzeigen kann.

Auch für allgemein-öffentliche Anmerkungen hatten die Programmierer von Mosaic Lösungen vorgesehen. Leider sind die entsprechenden Funktionalitäten nie wirklich zu Ende entwickelt worden. Die große Zeit des Browsers Mosaic war in der schnelllebigen Zeit des frühen Web wohl auch nicht lang genug, als dass sich ein solches Feature im größeren Sinne hätte durchsetzen können. Mehr auf Privatleute und die allgemeine Wirtschaft ausgelegte Browser setzten andere Prioritäten.

Im Jahr 1994 bereits erschien die erste Version des Netscape-Browsers14. Unter der Leitung von Marc Andreessen, einem der Hauptentwickler von Mosaic, wurde ein komplett neuer Browser entwickelt, der nun gar nichts mehr mit Universitäten zu tun hatte. Die Gestaltung der Nutzungsschnittstelle hatte höhere Priorität. Verwendet man mit den heutigen Nutzungsgewohnheiten Mosaic und Netscape15, kommt einem der Wechsel zu Netscape wie eine Offenbarung vor. Auf der Abbildung von Mosaic oben sehen Sie über dem Mauszeiger die Web-Adresse, die sogenannte URL. Was aussieht, wie eine auch heute noch bekannte Eingabezeile, ist gar keine. Es handelt sich um eine reine Ausgabe. Wenn sie eine Website öffnen wollen, müssen sie dies über das Öffnen-Menü tun und die Adresse dann ganz genau angeben, mit http:// vorweg. Ohne funktioniert es nicht. Beim Netscape dann hat die Adresszeile ihre heutige Funktionalität und auch andere heute selbstverständliche Features findet man, etwa die Möglichkeit, Lesezeichen anzulegen. Sehr prominent direkt als Button verfügbar (der 5. in der Buttonleiste) ist eine Funktion, die heute fast unverständlich wird: das Nachladen von Bildern.

Netscape 1 mit einer Seite seines Herstellers
Netscape 1 mit einer Seite seines Herstellers

Heute, in Zeiten schneller Netze und dauerhaft verfügbarer Netzwerkverbindungen, erscheint das Ausschalten von Bildern nicht mehr sinnvoll. Allenfalls Werbebilder möchte man manchmal gerne loswerden. Mitte der 1990er sah die Sache noch anders aus. Modems aus der Zeit hatten oft eine Geschwindigkeit von 9600 Bit/Sekunde. Bei 8 Bit für einen Buchstaben konnten also 1200 Buchstaben in einer Sekunde über eine Telefonleitung gehen. Das klingt nach viel, doch machen wir mal einen Vergleich: Im Oktober 2020 war die durchschnittliche Zugangsgeschwindigkeit in Deutschland 65 Mbit/s. Das ist über 6000-mal schneller. Ein Bild von 100 KiByte entspricht 100 x 1024 x 8 Bit = 819.200 Bit. Mitte der 1990er Jahre hätte die Übertragung dieser Datei bei idealen Bedingungen ganze 85 Sekunden gedauert, heute sind es noch 12,6 Millisekunden. Wollte man sich also nur schnell informieren, tat man gut daran, die Bilder auszuschalten, denn Bilddaten waren und sind naturgemäß viel größer als die reinen HTML-Inhalte. Hatte man die Bilder eingeschaltet, dauerte es ggf. nicht nur lange, sondern wurde dadurch auch teuer16. Außerdem war man dann stundenlang telefonisch nicht erreichbar, denn ein Modem verwendete ja die ganz normale Telefonleitung, um sich mit einem Provider zu verbinden. Bilder ausschalten konnte man sowohl in Netscape als auch in Mosaic. Kam man nun aber auf eine Website, auf der man die Bilder dann sehen wollte, konnte man beim Netscape diese mit nur einem Klick nachladen. Bei Mosaic musste man das Laden von Bildern einschalten, die Seite dann händisch neu laden und das Laden von Bildern dann für die nächste Seite ebenso händisch wieder abschalten. Der Knopf war keine große Sache, aber doch ungemein praktisch.

Abgesehen von genannten Verbesserungen in der Nutzungsschnittstelle bestanden die neuen Funktionen des Netscape für Anbieter vor allem in mehr Einfluss auf das Aussehen, wodurch sich attraktivere Websites erstellen ließen. Bereits in Version 1.1 konnten HTML-Autoren den normalerweise grauen Texthintergrund durch ein Bild ersetzen lassen:

<BODY BACKGROUND="tisch.gif">
<P>Diese Seite hat einen Holztisch-Hintergrund</P>

In Version 2 erfand Netscape einige weitere Tags und Attribute, um das Aussehen des Textes zu beeinflussen.

<P>Hier kommt <FONT SIZE=+2 FACE="arial,helvetica" COLOR="red">
ganz besonderer</FONT> Text.</P>
<CENTER>Dieser Text ist zentriert.</CENTER>

Verwendeten Anbieter von Websites diese Tags, konnte das ein Problem werden, denn zunächst konnte nur Netscape etwas damit anfangen. Ein älterer Browser wie Mosaic ignorierte diese neuen Tags einfach. Oft war das egal, aber wenn der <FONT>-Tag dafür benutzt wurde, um, zum Beispiel unter einer Menge von Möglichkeiten, durch grüne Farbe die korrekte herauszustellen, dann fehlte diese Information schlimmstenfalls völlig. Probleme dieser Art sollten noch schlimmer werden, denn Netscape sollte nicht der einzige erfolgreiche Browser-Hersteller bleiben und andere Entwickler erfanden andere Tags und unterstützten ihrerseits die von Netscape erfundenen nicht unbedingt oder nur teilweise.

Der erste Netscape-Browser war ab Dezember 1994 verfügbar. Zu diesem Zeitpunkt war die Firma Microsoft schwer beschäftigt mit dem Abschluss der Entwicklung ihres neuen Betriebssystems Windows 95, das im August 1995 auf den Markt kam und das Arbeiten im PC-Bereich mit der neuen Nutzungsoberfläche und den multimedialen Fähigkeiten stark veränderte. So wie es auch heute noch üblich ist, waren bei Windows 95 manche Programme vorinstalliert, darunter zum Beispiel die simple Textverarbeitung WordPad, das Grafikprogramm Paint und das Programm HyperTerminal zur Verbindung mit entfernten Rechnern. Ein Webbrowser jedoch war nicht mit dabei. Es wird gerne behauptet, dass Bill Gates, der Mitgründer und damalige Chef von Microsoft, noch 1993 das Web als Hype bezeichnet habe und dass man sich bei Microsoft um Wichtigeres kümmern solle. Wie so oft ist nicht belegt, und wahrscheinlich auch gar nicht belegbar, dass es diese Aussage so überhaupt gegeben hat. Selbst wenn es so gewesen sein sollte, gäbe es eigentlich keinen wirklichen Grund, sich über die Aussage lustig zu machen. 1993 war das WWW ja noch überhaupt nicht verbreitet, die allermeisten Inhalte kamen von Forschungsinstituten. Die Websites waren reine Textwüsten und Zugang zum Web war für Privatleute kaum zu bekommen. Onlinedienste wie CompuServe und AOL erfreuten sich hingegen größer werdender Beliebtheit. Im Web nicht die Revolution zu sehen wäre zu diesem Zeitpunkt keine absurde Einschätzung gewesen. Im Nachhinein mit Schadenfreude darüber herzuziehen ist wohlfeil. Die Aussage wird im Übrigen, unabhängig davon, ob es sie gegeben hat oder nicht, gerne noch unzulässig ausgedehnt. In der deutschen Wikipedia findet sich zum Beispiel die Aussage, dass “Bill Gates und somit auch Microsoft zu Zeiten von Windows 95 nicht an den Erfolg des Internets glaubten”17. Das ist ganz nachweislich und belegbar falsch, denn schon im Mai 1995, also noch vor dem Erscheinen von Windows 95, schrieb Gates in einem Memo von einer “Internet Tidal Wave”, der man sich nun ganz hingeben solle, und die man sogar dominieren wolle. Auch in öffentlichen Fernsehauftritten im Jahr 1995 wurde Gates nach dem Internet befragt. Er schwärmte dort davon in den höchsten Tönen und bezeichnete es als “Next Big Thing”.

Hatte man die erste Version von Windows 95 ohne mitgelieferten Browser installiert, konnte man sich natürlich Netscape nachinstallieren. Der Browser war auf vielen der damals verbreiteten Zeitschriften-CDs enthalten. Auch einen Browser von Microsoft, den Internet Explorer, konnte man sich bald besorgen, denn Microsoft bot für etwa 50 Dollar ein sogenanntes Plus-Paket für Windows 95 an und das beinhaltete neben Hintergrundbildern, Bildschirmschonern, Mauszeigern und Systemsounds auch den eigenen Browser. Die Softwarefirma hatte kurz entschlossen einen Browser der Firma Spyglass18 lizensiert. Der erste Internet Explorer wurde nur von sehr wenigen Leuten genutzt. Erst Version 3 im Jahr 1996, die in aktualisierten Windows-95-Versionen dann vorinstalliert war und die auch vielfach bei Softwareinstallationen mitgeliefert wurde, wurde populär. Version 4 aus dem Jahr 1997 überholte bereits Netscape. 1998 hatte Microsoft dann den sogenannten “Browserkrieg” praktisch gewonnen. Die Gründe dafür waren vielfältig. Zum einen war Microsoft in Sachen Features zum damaligen Zeitpunkt durchaus innovativ und setzte mit dem Internet Explorer Maßstäbe. Andererseits ließ Microsoft der Konkurrenz von Netscape kaum eine Chance. Im oben bereits erwähnten Dokument, dem mit der “Tidal Wave”, verkündete Bill Gates das Ziel, das Internet dominieren zu wollen, und diesem Ziel ging man mit allen Mitteln nach. Nicht nur, dass der Internet Explorer ab Version 3 vorinstalliert und mit Windows 98 fest ins Betriebssystem integriert wurde, Microsoft setzte sogar die Computerhersteller unter Druck. Wollten diese ihre Computer mit Windows ausliefern – was natürlich fast jeder Hersteller wollte –, dann durfte dies nur ohne vorinstallierten Alternativbrowser geschehen. Wollte der Hersteller einen anderen Browser mitliefern, bekam er keine Windows-Lizenz. Dieses Verhalten wurde später Gegenstand von Gerichtsverhandlungen, die für Microsoft nicht erfreulich waren. Der Firma Netscape brachte das allerdings nichts mehr.

In den 4er-Versionen der Browser war der Browserkrieg zwischen Netscape und Internet Explorer noch auf seinem Höhepunkt – und auch die Inkompatibilitäten zwischen den Browsern erreichten ihr Maximum. Beide Browser ermöglichten inzwischen dynamische Inhalte, bei denen sich Elemente auf der geladenen Seite je nach Eingabe änderten. Einfache Beispiele hierfür, die damals auch sehr populär waren, waren Navigationsmenüs, bei denen man die Oberpunkte aufklappen konnte, sodass die Unterpunkte sichtbar wurden. Die Technik ermöglichte aber weitaus mehr bis hin zu komplett in Webtechnologie programmierten Anwendungen und Spielen. Das Problem war nun aber, dass Microsoft und Netscape ganz verschiedene HTML-Tags, ganz verschiedene Techniken zur Programmierung und Formatierung anboten. Websites, die für den Internet Explorer gestaltet wurden, konnten im Netscape nicht gescheit angesehen werden und umgekehrt. Man stand als Anbieter also vor einem Problem. Manche entschieden sich für einen der Browser und präsentierten den Nutzern des anderen einen unfreundlichen Hinweis, dass sie das falsche Programm verwendeten. Andere machten sich entweder die Mühe und erstellten zwei Versionen ihrer Websites oder bissen in den sauren Apfel und verzichteten ganz auf die modernen Features.

Die Spaltung des Web war aufgrund der offenen Gestaltung natürlich von vornherein ein mögliches Problem. Es gab daher schnell Bestrebungen, die Webtechnologie zumindest ein bisschen beisammenzuhalten und für Kompatibilität zu sorgen. Zunächst kümmerte sich eine Gruppe am CERN selbst darum und zwischenzeitlich gab es eine entsprechende Gruppe der IEEE19. Recht zügig bildete sich dann das W3C, das World Wide Web Consortium. Hier arbeiten alle großen Softwarehersteller zusammen und legen Spezifikationen für Webtechnologie fest. Die erste definierte Version von HTML hatte die Nummer 2.0 und wurde im November 1995 publiziert. 1997 folgte die Version 3.2. Die einleitenden Worte dazu weisen darauf hin, wie der Standard erstellt wurde:

HTML 3.2 is W3C’s specification for HTML, developed in early `96 together with vendors including IBM, Microsoft, Netscape Communications Corporation, Novell, SoftQuad, Spyglass, and Sun Microsystems. HTML 3.2 adds widely deployed features such as tables, applets and text flow around images, while providing full backwards compatibility with the existing standard HTML 2.0.

Die Browserhersteller setzten sich also zusammen und schrieben eine Definition, die aus dem bestand, was sich in ihren Browsern als erfolgreich erwiesen hat und worauf sie sich untereinander einigen konnten. Dieser Ansatz hatte dann seine Probleme, ab dem es nur noch einen einzigen nennenswerten Browseranbieter gab. Was der implementierte, war faktisch Standard, und was in der W3C-Vorgabe stand, aber vom Internet Explorer nicht umgesetzt wurde, konnte faktisch auch nicht angewandt werden.

1998 hatte Microsoft den Browserkrieg gewonnen. Netscape stellte den Programmcode seines Browsers frei zur Verfügung und gründete die Mozilla-Organisation. Diese machte sich an eine Neuentwicklung, aus der 2002 der erste Firefox-Browser hervorging. Firefox hatte es allerdings sehr schwer gegen den Internet Explorer. Der erschien 2001 in Version 6 und war ein für die damalige Zeit ordentlicher Browser. Er war stark in die Betriebssysteme von Microsoft eingebunden, namentlich in das brandneue Windows XP. Da ihn so viele Nutzer verwendeten, gestalteten fast alle Anbieter von Websites diese so, dass sie mit dem Internet Explorer problemlos funktionierten. Das Problem der Marktführerschaft ohne nennenswerte Konkurrenz war, dass Microsoft sich mit der Weiterentwicklung sehr viel Zeit lassen konnte. Erst 2006 erschien die Nachfolgeversion 7. Leider, und hier spreche ich aus eigener Erfahrung, blieb der “IE6”, wie er meist abgekürzt wurde, als Untoter noch länger das Maß aller Dinge, denn viele verwendeten ihn auch weiterhin. Microsoft hatte sich nämlich entschlossen, etwas gegen illegale Kopien seines Windows zu tun. Das bedeutete unter anderem, dass die Aktualisierung des Internet Explorers auf Version 7 auf Windows-Versionen, die nicht bei Microsoft legal erworben und registriert wurden, verhindert wurde - und das waren nicht ganz wenige20. Eine andere Gruppe, die den alten Internet Explorer länger verwendete, fand sich erstaunlicherweise in vielen Firmen, denn da der IE6 so lange aktuell war, wurden viele interne Webanwendungen genau auf diesen Browser abgestimmt. Der Internet Explorer 7 hatte viele der Fehler der Version 6 nicht mehr und entsprach viel mehr den Vorgaben des W3C, und genau damit konnte er die Unternehmens-Webanwendungen nicht mehr korrekt anzeigen.

Mit der Vorherrschaft des Internet Explorers stagnierte die browserseitige Weiterentwicklung des WWW faktisch für fast ein Jahrzehnt. Eine Besserung dieser Situation ergab sich erst Ende der Nuller-Jahre, zum einen mit der Vorstellung des iPhone und der darauffolgenden Smartphone-Welle und zum anderen damit, dass Google seinen eigenen Browser Chrome auf den Markt warf. Dieser konnte schnell Marktanteile gewinnen und ist inzwischen selbst recht unangefochten Marktführer – zumindest im Bereich der klassischen Personal Computer.

Das Web als Plattform

Das World Wide Web hat sich weit fortentwickelt vom ursprünglichen Zweck der Zugänglichmachung von Dokumenten am CERN. Dafür, dass das so kam, gab es viele Einflussfaktoren, wobei Ursache und Wirkung oft gar nicht zu trennen sind. Die frühe Webtechnologie an sich war offenbar attraktiv sowohl für Anwender als auch für Anbieter, waren dies Universitäten, öffentliche Stellen oder auch Firmen. Die Seiten wurden immer aufwändiger, da die Browser für die Seitenanbieter immer mehr Gestaltungsfeatures anboten. Neue Features im Browser führten zu neuen Ideen bei den Anbietern und Nutzern und diese führten ihrerseits wieder zu Weiterentwicklungen im Browserbereich. Komplexere und reichhaltigere Websites benötigten immer mehr Bandbreite. Die allgemeine Verfügbarkeit höherer Bandbreiten und die dauerhafte Verfügbarkeit des Netzes ermöglichten im Gegenzug wieder Nutzungsszenarien, die vorher gar nicht denkbar waren. Die Konkurrenz unter Anbietern, sowohl was die Browser, die Zugangsprovider als auch die Diensteanbieter anging, sorgte in einer komplexen Wechselwirkung für eine Weiterentwicklung von Technik und Nutzungsformen.

Das Web heute ist eine Plattform, eine Ansammlung von Technologien in Browsern und auf Servern, mit denen nicht nur Web-Seiten, sondern auch Web-Anwendungen erzeugt werden können. Wie oben beschrieben, waren die Grundzüge dafür ja bereits im Ur-Web am CERN vorgesehen, wenn man die Anbindung des Telefonbuchs und anderer Auskunftssysteme des CERN an das Web als sowas ansehen möchte. Damals handelte es sich natürlich noch um relativ simple Anfragen. Komplexere Anwendungen waren aus vielerlei technischen Gründen zunächst nur schwer möglich.

Das Hauptproblem war die Gedächtnislosigkeit des HTTP-Protokolls. Denken Sie nochmal an meinen Vergleich des HTTP-Servers mit jemandem, der ein Telefon abnimmt, dem dann gesagt wird, was man vorgelesen haben will, der das dann vorliest und der dann direkt wieder auflegt. In diesem ganzen Prozess hat man sich nie mit Namen oder irgendeinem Erkennungszeichen gemeldet. Wenn Sie den gleichen Server nochmal “anrufen”, dann kennt er Sie nicht mehr. Jeder Anruf ist unabhängig vom anderen. Dem kann man mit einem Trick abhelfen. Der Server kann Ihnen bei der ersten Antwort eine Kennung mitgeben. Bei jedem weiteren Kontakt geben Sie diese Kennung wieder an. Wofür braucht man das? Zum Beispiel, wenn Sie einen Bestellvorgang auf einer Website haben, dann machen Sie ja nicht alle Angaben auf einer Seite, sondern durchlaufen mehrere Seiten hintereinander. Damit das vernünftig funktionieren kann, müssen diese Angaben natürlich miteinander in Verbindung gesetzt werden können. Sonst wüsste die Website dann, wenn Sie die Kreditkarteninformationen eingeben, schon nicht mehr, wer Sie eigentlich sind und was Sie kaufen wollen.

Die einzelnen HTML-Seiten waren in der Browser-Anzeige zunächst statisch. Die frühen Browser konnten eine HTML-Seite vom Server abrufen und anzeigen. Das einzig Dynamische dann war das Scrollen im Browser, falls das Dokument länger als eine Bildschirmseite war. Sollte etwas Neues, etwa etwas Aktualisiertes auf der Seite erscheinen, musste man sie manuell neu laden oder auf einen Link zu einem anderen Dokument klicken. Wirklich interaktive Anwendungen waren so kaum möglich, denn das Neuladen war langsam und erfolgte immer nur auf explizite Anforderung des Nutzers. Im Laufe der Jahre wurden verschiedenste Techniken ersonnen, um dieses Problem zu umgehen oder abzuschaffen.

Die Versionen 3 der Browser von Microsoft und Netscape ermöglichten die Einbindung von Java-Applets. Java war und ist eine recht verbreitete Programmiersprache, die auch heute noch vielfach eingesetzt wird und an Schulen und Universitäten gelehrt wird. Einer der großen Vorteile der Sprache war, dass die damit erzeugten Programme plattformunabhängig waren, es also egal war, ob man sie unter Windows, unter Linux oder auf einem Macintosh laufen ließ. Sie liefen überall gleichermaßen. Das machte Java für das Web interessant. Viele Java-Programme haben gar keine Nutzungsschnittstelle, sondern laufen auf den Servern im Internet, also auf den Computern, die Dienste anbieten, auf die man aus der Ferne zugreifen kann. Java-Programme mit Nutzungsschnittstelle sehen in den jeweiligen Betriebssystemen meist nicht anders aus als die übrige Software, die dort sonst so läuft – sie wird also in der Regel in einem Fenster angezeigt. Ein Java-Applet hingegen hatte kein Fenster, sondern wurde in eine HTML-Seite eingebunden, genauso wie ein Bild. In einem Bereich der geladenen HTML-Seite lief dann ein Programm mit all dem, was in Java so möglich war, von der Office-Anwendung bis zum Spiel. Die Applets konnten sogar ihrerseits Verbindungen ins Netz aufnehmen und Daten von dort beziehen.

Bereits in Version 2 des Netscape-Browsers war es möglich, kleine Programme in der Programmiersprache JavaScript in die Website einzubinden. Obwohl der Name JavaScript es nahelegt, hat diese zum damaligen Zeitpunkt noch sehr einfache Programmiersprache nur wenig mit Java zu tun. JavaScript wurde für sehr simple Aufgaben benutzt. Man konnte mit ihr zum Beispiel prüfen, ob eine eingegebene E-Mail-Adresse das richtige Format hatte, also etwa, ob ein @-Zeichen in ihr vorkam. JavaScript konnte auch eine Brücke zu einem Java-Applet sein, also zum Beispiel auf der Website eingegebene Daten an das Applet weitergeben und vom Applet erzeugte Daten auf die Website schreiben. Merken Sie, was durch diese Kombination aus JavaScript mit Zugriff auf den HTML-Inhalt und Java-Applet mit der Möglichkeit des Netzwerkzugriffs möglich wird? Zum Beispiel könnte ein Applet alle paar Sekunden aus dem Netz die aktuelle Temperatur in Palma de Mallorca abrufen und diese an das JavaScript weitergeben, das sie dann an einer bestimmten Stelle im Dokument anzeigt. Es konnten also Inhalte nachgeladen werden. Wirklich im großen Stil durchgesetzt hat sich eine solche Teilaktualisierung der Seite aber erst erheblich später.

Java-Applets hielten sich nicht lange, was unter anderem daran gelegen haben dürfte, dass gut aussehende Nutzungsschnittstellen und multimediale Inhalte nicht gerade die Stärke von Java waren. Ab 1997 liefen Flash-Inhalte den Applets den Rang ab. Unter dem Namen Flash bot die Firma Macromedia seinerzeit ein Produkt an, mit dem sich grafische Szenen und Animationen programmieren ließen. Für Webbrowser entwickelte Macromedia ein “Plugin”, also ein kleines Zusatzprogramm, das ein Einbinden der Flash-Inhalte in die HTML-Dokumente erlaubte, ganz so, wie es auch bei den Java-Applets möglich war. Auch hier konnte JavaScript als Brücke verwendet werden. Flash-Inhalte waren aufgrund der guten Grafik-, Sound- und Videofeatures vor allem bei vielen Werbeagenturen beliebt, was dazu führte, dass manche Website gar keine klassischen HTML-Inhalte mehr bereitstellte, sondern dass nur bildschirmfüllend ein Flash-Inhalt eingebunden wurde. Kein Wunder, denn so konnte man bunte, animierte Buttons realisieren, die Geräusche machten, wenn man darauf klickte und die Inhalte, die dann aufgerufen wurden, konnten animiert hinein- oder hinausgeschoben werden. Das Ganze konnte also sehr interaktiv sein und, ebenso wie die Java-Applets, sich selbst aus dem Netz mit Daten versorgen. Der Einsatz von Flash hatte allerdings auch seine Nachteile. So ließen sich Flash-Inhalte kaum ausdrucken, waren für Suchmaschinen schlecht zu finden, einzelne Seiten waren nicht mehr über eine eigene Webadresse verfügbar und das Ganze verlangte den damaligen Computern einiges ab. Bei vielen Nutzern der Websites waren Flash-Inhalte daher überhaupt nicht beliebt.

Die Flash-Technik blieb den Websurfern recht lange erhalten. Zu Ende ging es mit ihr erst mit dem Aufkommen von Smartphones ab dem ersten iPhone im Jahr 2007, denn auf dem iPhone und auch auf den meisten Android-Geräten liefen Flash-Inhalte nie. Um diese Zeit herum gab es aber ohnehin viele Umbrüche. Google beglückte die Welt mit seinem eigenen Browser namens Chrome, der sehr schnell große Beliebtheit bekam. Apple schaffte es, dem iPhone einen Browser zu spendieren, der Websites, mit Ausnahme von Flash und Applets, sehr gut auf dem kleinen Bildschirm darstellen konnte. Microsoft brachte im Jahr 2009 nicht nur das neue Betriebssystem Windows 7 heraus, sondern spendierte diesem nach langer Zeit auch eine neue Version des Internet Explorers. Bei den wichtigen Playern in Sachen Browsern war also viel los. Dies äußerte sich auch darin, dass eben diese Player, Apple, Google, Mozilla (der Organisation hinter Firefox) und Microsoft sich zusammensetzten und eine neue HTML-Definition entwickelten. Diese HTML-Version, die dann als HTML5 bekannt wurde, hob den Browser nun in ganz neue Höhen. 2015 wurde sie fertig. Seitdem wird HTML ohne Versionsnummer weiterentwickelt. Der sogenannte “lebende Standard” enthält stets das, was sich bewährt hat und worauf sich die Browserhersteller geeinigt haben.

Die Techniken, die seit Mitte der 2000er hinzugekommen sind, machten Browser quasi zu kleinen Computern in sich, zu einer Sammlung von technischen Einrichtungen, mit denen netzbasierte, komplexe und multimediale Anwendungen umgesetzt werden können:

  • Die Fähigkeiten der Formatierung von Text und Bild sowie die Positionierung und Animation von Elementen im Browser sind inzwischen so umfangreich, dass webbasierte Nutzungsschnittstellen den nativen Anwendungen in fast nichts mehr nachstehen. Ganz im Gegenteil ist es inzwischen oft so, dass sich auch “normale” Programme den Webtechnologien als Nutzungsschnittstelle bedienen.
  • Die Programmiersprache JavaScript wurde standardisiert und verbessert. Die sogenannten JavaScript-Engines in den Browsern wurden immer weiter optimiert, was dazu führt, dass in modernen Browsern die JavaScript-Programme sehr performant ausgeführt werden können. Mit aktuellem JavaScript lassen sich komplexe Programme umsetzen, die zügig laufen.
  • Um 2005 kam die AJAX21-Technik auf. Dahinter steht die Möglichkeit, dass ein JavaScript-Programm im Hintergrund Kontakt zum Webserver aufnehmen kann, um Daten dort abzurufen oder dort hinzuschicken, ohne dass eine komplett neue Seite geladen werden müsste. Dies verringerte nachhaltig die Notwendigkeit für Java-Applets oder Flash-Inhalte.
  • Die AJAX-Technik wurde ergänzt um WebSockets, bei denen ein Webserver eine länger andauernde Verbindung zu einem Server herstellt. Hierdurch wurde es möglich, dass Server und Browser zügig Daten austauschen und dass ein Server einem Browser Nachrichten schicken kann, ohne dass diese explizit angefragt werden müssten. Wofür das gut ist, kann man sich an einem Chat gut klarmachen. Mit klassischer Web-Technologie müsste man eine Chatseite regelmäßig neu laden, um zu schauen, ob neue Nachrichten eingetroffen sind. Mit der AJAX-Technik würde dies im Hintergrund automatisch erledigt. Eine Webanwendung mit AJAX könnte zum Beispiel alle fünf Sekunden neue Daten anfragen und die Anzeige aktualisieren. Besteht hingegen eine WebSocket-Verbindung, braucht es diese Nachfrage nicht mehr. Vielmehr schickt der Server die Nachrichten über die aktive Verbindung selbst an den Browser ohne Verzögerungen.
  • Das <canvas>-Element von HTML5 schafft eine Grafikfläche, auf die ein JavaScript-Programm pixelbasiert zeichnen kann. Es dient Webanwendungen zur Abspielfläche für grafiklastige Anwendungen von der webbasierten Bildbearbeitung bis zum komplexen Spiel.
  • Für Algorithmen und Programmmodule, die trotz optimierter JavaScript-Engines nicht performant genug laufen, besteht die Möglichkeit, diese in einer typischen höheren Programmiersprache zu programmieren und dann in eine Webassembly-Datei übersetzen zu lassen22. Der Browser kann diese dann ausführen. Programme, die auf diese Art geschrieben werden, laufen zwar nicht so schnell wie normale, ausführbare Programme, sind aber doch erheblich schneller als in JavaScript geschriebene Software.

Übrigens: Auch auf der Server-Seite blieb die Entwicklung der Webtechnologie natürlich nicht stehen. Da die Nutzungsschnittstellen, um deren Betrachtung es in diesem Buch ja in erster Linie gehen sollte, aber natürlich nicht beim Server, sondern im Browser liegen, erspare ich Ihnen die Geschichte der serverseitigen Webprogrammierung an dieser Stelle.

Betrachtet man das WWW heute, erscheint es einem überhaupt nicht mehr wie ein einfaches Hypertext-System für wissenschaftliche Texte, als das es geplant wurde. Ein moderner Browser ermöglicht die Text- und Grafikanzeige in diversesten Formaten inklusive Vektorgrafik. Vor allem aber ermöglicht der Browser die Umsetzung von komplexer Software, von in Web-Seiten selbst eingebetteten Logik-Inhalten und kleineren interaktiven Elementen bis hin zu vollständigen Anwendungen. Die moderne Browser-Technik ermöglicht Software, die teils auf dem Server läuft, teils beim Anwender selbst, also im Browser. Selbst eine dauerhafte Internetverbindung ist dafür heute nicht mehr vonnöten. Einmal geladene Webanwendungen können, wenn die entsprechenden Vorkehrungen getroffen wurden, auch offline arbeiten. Selbst Bearbeitungen von Inhalten sind bei geschickter Programmierung offline möglich. Wenn wieder eine Internetverbindung zur Verfügung steht, werden die zwischengespeicherten Bearbeitungen dann automatisch mit dem Server synchronisiert. Das heutige Web ist eine technische Plattform. Alles kann heute im Browser laufen, von Spielen über Textverarbeitungen, Grafikbearbeitung bis zu Lerntools. Wenn Sie das Kapitel zu den Bildschirmtextdiensten nochmal anschauen, fällt Ihnen vielleicht auf, dass ein heutiger Browser ziemlich ähnlich zu dem ist, was man sich in Graz für das Mupid ausgedacht hat. Ein Browser kann vorbereitete Inhalte aus dem Netz zeigen, kann aber auch mit lokal gespeicherten Seiten arbeiten. Ein Browser kann in eine Seite eingebettete Software ausführen und eignet sich sogar auch selbst als Plattform für Software. Diese Software kann das Netz ihrerseits als Kommunikationskanal und als Speichermedium nutzen. All das hatten wir schon beim Mupid in den 1980er Jahren.

Die Potenziale des Hypertext

Ob Hermann Maurer aus Graz meine Charakterisierung aktueller Browser als moderne Mupids wohl gefallen würde? Einerseits wahrscheinlich schon, schließlich war der Mupid ja sein Kind. Er und seine Kollegen hatten eine Idee, die, was mit heutigen Browsern möglich ist, schon sehr früh umsetzte. Andererseits könnte Maurer vom Web auch ziemlich enttäuscht sein, denn er und seine Kollegen sahen großes Potenzial im Konzept des Hypertext und in der Beziehung war und ist das WWW ein ziemlicher Reinfall. Maurer und Kollegen hatten eine Alternative zu bieten, die sich allerdings gegen das WWW nicht durchsetzte.

So stellte sich Vannevar Bush eine Memex vor – Quelle: Bush, V. (1945). As we may think. The Atlantic Monthly, 176(1), 101-108.
So stellte sich Vannevar Bush eine Memex vor – Quelle: Bush, V. (1945). As we may think. The Atlantic Monthly, 176(1), 101-108.

Die Hypertextidee wird häufig auf ein Konzept aus dem Jahr 1945 zurückgeführt. Damals beschrieb der Ingenieur Vannevar Bush ein hypothetisches Gerät namens Memex. Oben ist es abgebildet. Was Sie dort sehen, ist kein Computer in dem Sinne, wie ich ihn in diesem Buch vorgestellt habe. Digitale Computer waren 1945 noch an einer Hand abzuzählen und das, was Bush mit dem Memex vorhatte, gehörte damals sicher nicht zu dem, wofür man die Rechenknechte nutzen wollte. Bush ging es bei seinem Gerät nicht ums Rechnen, sondern um die Unterstützung der Wissensarbeit durch moderne Technologie. Zentral war hier eine komplexe Mechanik und die Mikrofilmtechnik, eine Archivierungstechnologie, bei der Buchseiten und Dokumente abfotografiert und dann extrem verkleinert auf einem Filmstreifen abgelegt wurden. Mittels entsprechender Sichtgeräte konnten die Dokumente wieder sichtbar gemacht werden. Wirklich umgesetzt wurde die Memex-Idee damals nicht, auch wenn die technischen Komponenten grundsätzlich existierten. Das Ganze war nicht als Bauanleitung, sondern als Denkanregung gedacht. Lassen wir die innere Architektur des Memex daher beiseite und betrachten die intendierte Nutzungsschnittstelle des Geräts, also das, was oben auf der Tischplatte zu sehen ist.

Zentral sehen Sie zwei Bereiche, in denen Dokumente dargestellt werden können. Verwenden wir der Einfachheit halber den Begriff “Bildschirm” dafür. Mittels der Knöpfe rechts können für beide Bildschirme Dokumente aus dem Dokumentarchiv abgerufen werden. Dieses Archiv war groß angedacht – quasi eine ganze Bibliothek. Zwei Dokumente gleichzeitig im Blick zu haben ist sicher nicht unpraktisch, aber nun auch nicht revolutionär. Spannend war die von Bush beschriebene Technik, Dokumente miteinander in Verbindung setzen zu können. Bush sprach hier von einem Trail, also einem Pfad durch Dokumente zu einem bestimmten Thema. Diese Trails hätten einen Namen bekommen und wären in einer Memex unabhängig von den Dokumenten selbst abgespeichert worden. Durch Angabe des Namens über eine Tastatur hätte man einen Trail wieder hervorbringen können. Sogar die Möglichkeit, den Dokumenten Informationen hinzuzufügen oder neue, eigene Dokumente einzufügen, hatte Bush im Blick, denn seine Idee eines Memex enthielt auch Vorrichtungen zur Fotografie und zur Erstellung neuer Mikrofilme. Diese Vorrichtung war auch für ein weiteres wichtiges Feature notwendig, denn da Bush natürlich klar war, dass Wissensarbeit keine Ein-Personen-Show ist, sah er vor, dass ein kompletter Trail von der Maschine auf einen Mikrofilm hätte ausbelichtet werden können, um ihn an andere Wissensarbeiter weiterzugeben. Diese hätten ihn dann in ihre eigene Memex eingelegt, um die Dokumente in ihrem Zusammenhang zur Verfügung zu haben und nun selbst weiterverarbeiten zu können.

Die Ideen der Memex nahmen zentrale Elemente von dem vorweg, was später unter dem Begriff Hypertext diskutiert wurde. Der Begriff selbst und viele der zentralen Konzepte gehen auf Ted Nelsons Projekt Xanadu zurück. Xanadu ist bekannt dafür, seit 1960 in Entwicklung zu sein, wohl aber nie komplett fertig zu werden. Das gesamte Konzept dahinter hätte, wenn es denn umgesetzt worden wäre, sogar Lösungen für Urheberrechtsprobleme und die Bezahlung für referenzierte und zitierte Inhalte gehabt. Auf all das kann und will ich hier nicht eingehen. An einem tatsächlich existiert habenden System namens Intermedia will ich Ihnen aber ein von Memex schon bekanntes Potenzial verdeutlichen, das auch bei Xanadu eine ganz zentrale Rolle spielte.

Intermedia wurde ab Mitte der 1980er Jahre an der Brown University in den USA entwickelt. Es lief auf dem Betriebssystem A/UX, einem Unix-Derivat von Apple, das auf den leistungsfähigeren Macintosh-Geräten ausgeführt werden konnte. Das System ist ein interessanter Hybrid, denn es verfügte einerseits über die Nutzungsschnittstelle von MacOS mit seinen Menüs, Fenstern und Icons, hatte aber andererseits auch den kompletten Unix-Unterbau mit seinen Multitasking-Funktionalitäten und der Netzwerkfähigkeit. Das System war in dieser Hinsicht dem NextStep, auf dem Tim Berners-Lee das World Wide Web entwickelte, nicht ganz unähnlich. Vor allem war es aber genau wie dieses ein absolutes Nischenprodukt.

Intermedia im Zustand von 1988 - Quellle: HUMAN’20 – “A Live Demo of the Intermedia Hypertext System” (Norman K. Meyrowitz), https://www.youtube.com/watch?v=bGGxdF0Pn4g
Intermedia im Zustand von 1988 - Quellle: HUMAN’20 – “A Live Demo of the Intermedia Hypertext System” (Norman K. Meyrowitz), https://www.youtube.com/watch?v=bGGxdF0Pn4g

Hier sehen Sie Intermedia im Stand von etwa 1988. Grundobjekte des Systems sind Dokumente verschiedenster Art. Zunächst einmal hatte das System daher die grundsätzlichen Funktionalitäten damaliger Desktop-Systeme. Es gab, neben einigen spezielleren Anwendungen, vor allem eine einfache Textverarbeitung und ein Tool zur Erstellung und Bearbeitung von Grafiken. Da es auf einem Unix-System basierte, verfügte Intermedia über eine komplexe Rechteverwaltung und war netzwerktauglich. Dokumente konnten also lokal oder auch auf einer Netzwerk-Festplatte gespeichert sein. Wie es sich für ein Hypertext-System gehört, waren natürlich Verknüpfungen ein zentrales Konzept. Diese waren aber nun nicht, wie beim Web, in das Dokument selbst eingebaut (in HTML schreibt man ja <A>-Tags in die Dokumente), sondern waren, wie die Trails bei der Memex, als zusätzliche Objekte gespeichert. Dokumente in Intermedia enthielten selbst also keine Links. Ein Nutzer konnte trotzdem Links anlegen, die dann im Dokument dargestellt wurden. Oben in der Abbildung ist dieser Vorgang dargestellt. Zunächst wurde in einem Dokument ein Stück Text markiert und im Menü “Start Link” ausgewählt. Dann wurde in einem anderen Dokument Text markiert und der Link mit “Complete Link” vervollständigt. So wurden zwei Textstellen miteinander verbunden. Diese Verbindung war bidirektional. Man kam also, wie beim Memex, nicht nur vom ersten Dokument zum zweiten, sondern auch vom zweiten zum ersten. Die Links wurden zwar im Dokument angezeigt, nicht aber im Dokument abgespeichert. Das Dokument existierte nach wie vor als unabhängiges Objekt. Die Links wurden in einem sogenannten Web (das nichts mit dem World Wide Web zu tun hat) abgespeichert. Ein Web verband die Dokumente. Wollte man die Dokumente als verlinkt im Zusammenhang sehen, musste man immer auch ein Web laden. Schloss man das Web wieder, waren alle Links verschwunden und die Dokumente erschienen wieder jungfräulich. Öffnete man das Web, erschienen auch die Links erneut. Diese Trennung öffnete Potenziale, die das Web nicht erfüllen konnte.

  • Link setzen ist bei Intermedia nicht die Aufgabe der Autoren. Das Konzept von Intermedia war es, dass die Nutzer Links setzten. Diese Funktionalität wurde an der Brown University in der Lehre genutzt. Studierenden wurden Dokumente zur Verfügung gestellt, die sie zum Teil erweitern, vor allem aber selbst verknüpfen sollten.
  • Das heißt, dass man auch in Dokumente, für die man keine Schreibrechte hatte, die man also nicht bearbeiten durfte, dennoch Links einfügen konnte.
  • Verschiedene Nutzer konnten unabhängig voneinander die gleichen Ressourcen auf verschiedene Arten und Weisen verlinken, indem sie jeweils ein eigenes Web erstellten.
  • Links konnten durch Weitergabe von Webs also geteilt werden oder aber auch privat bleiben.
Das internetbasierte Hypertextsystem Hyper-G – Quelle: Andrews, K., Kappe, F., & Maurer, H. (1996). The Hyper-G network information system. In J. UCS The Journal of Universal Computer Science (pp. 206-220). Springer, Berlin, Heidelberg.
Das internetbasierte Hypertextsystem Hyper-G – Quelle: Andrews, K., Kappe, F., & Maurer, H. (1996). The Hyper-G network information system. In J. UCS The Journal of Universal Computer Science (pp. 206-220). Springer, Berlin, Heidelberg.

Intermedia war als auf Unix basierendes System natürlich netzbasiert. Es war aber nicht als öffentliche Ressource à la World Wide Web gedacht, sondern bezog sich auf lokale Arbeitsgruppen im Universitätskontext. Hier kommen Herman Maurer und seine Kollegen wieder ins Spiel. Seine Gruppe in Graz entwickelte, stark von Intermedia inspiriert, ein internetbasiertes Hypertextsystem namens Hyper-G, das später in Hyperwave umbenannt wurde. Oben sehen Sie, dass es über ein vergleichbares Feature verfügte, denn auch hier ließen sich Dokumente miteinander verknüpfen, ohne dass es einer Änderung der Dokumente selbst bedurft hätte. Links wurden auf unabhängigen Servern in von den Dokumenten unabhängigen Datenbanken gespeichert. Interessanterweise waren solche Features wohl durchaus auch einmal für das World Wide Web zumindest angedacht. Das Proposal von 1989 besagte nämlich: “One must be able to add one’s own private links to and from public information. One must also be able to annotate links, as well as nodes, privately.” Die Aussage ist einigermaßen erstaunlich, denn Konzept und Technologie des WWW gaben ein solches Feature überhaupt nicht her und tun es in ihrer Kerntechnologie auch heute noch nicht.

Fassen wir zusammen, muss man dem WWW natürlich einen großen Erfolg bescheinigen und muss zum anderen auch anerkennen, dass das heutige Web eine potente technische Plattform für netzbasierte Anwendungen aller Art ist. Betrachtet man jedoch die Potenziale des Hypertexts, ist das Web keine Offenbarung. Die tatsächlich existiert habenden Hypertextsysteme wie Intermedia oder Hyper-G wirken in dieser Hinsicht auch heute noch regelrecht futuristisch.