Freitag, 25. Juni 2010

Reverse Virtual Reality

Seit einiger Zeit frage ich mich, wieso das Thema "Virtual Reality" so interessant zu sein scheint. Wieso versucht man, die echte Welt in einem Computer abzubilden? Wenn man sich z.B. anschaut, welche "Dienste" - oder besser Angebote - auf den Otto-Normal-Internet-Nutzer einströmen, dann entdeckt man Spiele, Soziale Netzwerke, "Second Life" (obwohl das schon wieder tot zu sein scheint), Google (Maps, Earth, Streetview, Wave, Buzz...) und was nicht sonst noch alles. Und überall werden Dinge aus der echten Welt versucht im Computer nachzubilden: Freundeslisten (war mal ein Telefonbuch), 3D-Welten (die äußere Welt an sich), (Nutzer-)Profile (sind die Personen an sich). Alles kommt nochmal in digitaler Form in den Computer.

Und dann gehts los. Jetzt ist dieser ganze Kram im Rechner drinne und jetzt muss man wieder rankommen. Mit einem - Achtung! - Human-Machine-Interface (HMI), einer grafischen Benutzeroberfläche (GUI). Es werden Metaphern wie "Fenster" und "Schreibtisch" verwendet, um an die ganzen schönen digitalen Repräsentanten ranzukommen und ein Mensch, der es nicht gewöhnt ist, sich mit Rechnern zu beschäftigen, der bricht sich bald die Finger und rauft sich die Haare über die Dinge, die der Computer versucht, ihm zu sagen. Das ist doch alles Humbug.

Es gehört genau anders herum. Die Dinge des Lebens gehören nicht in den Computer, sondern der Computer gehört in die Dinge des Lebens - und zwar so, dass man einfach darauf zugreifen kann.

Jetzt werden die Schlauen natürlich sagen: "Mann, um sowas hinzukriegen, braucht man doch massenweise Informationen im Computer." Das stimmt ja auch, aber es sind die Informationen, die mein Leben erschweren, um einen Service zu nutzen, und nicht die, mit denen ich sowieso zu tun habe. Somit gehören nur die Kompliziertmacher und nicht die Eh-Da-Dinge in den Computer. Und wenn ein Computer diese Kompliziertmacher managet und sich selbst in einem Eh-Da-Ding verbirgt, dann entsteht auch der Eindruck, dass ein Eh-Da-Ding besser geworden ist, weil man es für neue Zwecke einsetzen kann.

Um das jetzt einmal zu konkretisieren: Wenn man also ein Spiel herstellen will, das dem Nutzer erlaubt in einer Virtuellen Welt Dinge zu tun, die er in der echten Welt nicht tun kann, dann stellt sich die Frage: Wie kann man ein solches Spiel auf die Eh-Da-Dinge im Leben verteilen. Welches Eh-Da-Ding in der echten Welt muss welche Spielfunktionalität bereitstellen, damit der Nutzer für das Spiel nicht lernen muss, einen Computer zu bedienen. Weiter: Wenn ein Nutzer z.B. ein Bahnticket haben will, dann ist es notwendig, dass durch ein natürliches Verhalten dem Nutzer die Gelegenheit gegeben wird, mit einer Institution in Kontakt zu treten, die diesen Wunsch erfüllen kann (z.B. durch Ansprechen). Er muss den Wunsch äußern und in einer natürliche Art und Weise einen Dialog führen können, um den Wunsch erfüllt zu bekommen. Das Herstellen der Verbindung ist dabei nur ein notwendiges Übel.

Ein Beispiel: Wenn ich ein Bahnticket bestellen will, dann hab ich keine Lust, erst den Rechner anzumachen, den Browser zu starten, auf das Lesezeichen "www.bahn.de" zu klicken und anschließend in wirklich hässlichen Eingabezeilen einzutragen, von wo, nach wo, um welche Uhrzeit ich fahren will. Ich stelle mir das eher so vor: Ich laufe gerade durch meine Wohnung, um meine Taschen zu packen, merke, dass ich noch kein Ticket habe und sage "Bahn". Eine freundliche Stimme fragt mich: "Startbahnhof", ich sage: "München". Die Stimme fragt mich: "Zielbahnhof", ich sage: "Hamburg". Sie fragt: "Schnell oder billig", ich sage: "Beides". Sie sagt nichts mehr, sondern wählt die Verbindung, auf die die genannten Kriterien zutreffen aus und bestätigt nur noch mit "Buchung erledigt! Sie haben Platz Nummer 3 in Wagen 5.", dass alles geklappt hat.

Man könnte nun den Eindruck bekommen, dass dieses Posting in einem Widerspruch zu früheren steht und in einer gewissen Weise tut es das auch. Vor einiger Zeit habe ich mich kritisch zum Thema "Intelligenz von Maschinen" geäußert. Die logische Schlussfolgerung aus diesem Posting ist, dass Maschinen (Computer) unbedingt intelligenter - in dem Sinn, dass sie mehr Daten bekommen - werden müssen, um irgendwann einmal sinnvoll bedienbar sein zu können. Und natürlich bin ich immer noch der Meinung, dass eine solche Entwicklung den Mensch auf keinen Fall ausser Acht lassen darf und dass mit einem scharfen Auge (oder besser: etwas Prakmatismus) darauf geachtet werden muss, dass Maschinen (Computer) nur für Dinge verwandt werden sollen, bei denen die Menschlichkeit nicht auf der Strecke bleibt.

Update: Man könnte meinen, dass ich diesen Text von Mark Weiser abgeschrieben habe. Dem ist nicht so. Leider habe ich erst nach dem Verfassen dieses Blog-Eintrags von The Computer of the 21st Century erfahren.

Montag, 21. Juni 2010

Urlaubsendmeditation

Ich sitze in einem Zimmer, das sich in einem Haus auf einer Insel der Azoren befindet - Sao Miguel. Ich sitze in einem IKEA-Stuhl der Marke ganz bequem, habe eine Decke auf meinen Beinen. Zwei Nachttischlampen stehen im Regal neben mir und scheinen auf mich runter.

Im Zimmer gibt es einen Fernseher mit Satellitenempfang, den wir in den vergangenen 8 Tagen nicht ein einziges Mal benutzt haben. Nur heute habe ich einen halbherzigen Versuch unternommen, einen deutschen Fernsehsender anschauen zu können. Wir wollten wissen wie das Wetter bei unserer Rückreise sein wird. Es hat nicht geklappt.

Ich habe gerade meine heutige "Lesestunde" beendet. William Gibson - Ferien. Zuerst die "Neuromancer-Trilogie" zu Ende gelesen und jetzt habe ich gerade "Virtuelles Licht" in der Hand. Gibson schreibt genial. Cyberpunk Poesie. Ich habe mal irgendwo eine Kritik gelesen, die "Neuromancer" bescheinigt, keinen Bezug zum Leben zu haben, aber gut geschrieben zu sein. Ich kann nur dem zweiten Teil zustimmen.

Gibson hat dieses Buch vor 20-25 Jahren geschrieben und für mich gibt es ein zwar übertriebenes aber trotzdem richtiges Bild der heutigen Welt wider. Diese Vermischung von echter Welt und "Datenwelt", die er beschreibt trifft meine Sichtweise praktisch auf den Punkt. Das Gefühl ist Melancholie. Und auch hier wieder eine Punktlandung.

Zitat aus "Virtuelles Licht": Wir haben nicht nur das Ende des Jahrhunderts hinter uns gebracht, die Jahrtausendwende, sondern wir sind auch ans Ende von etwas anderem gelangt. Einer Ära? Eines Paradigmas? Überall steht unsichtbar, "aus und vorbei"

So etwas lässt mich nachdenklich werden - und umso mehr, je mehr mir klar wird, dass man den ganzen Medienzirkus, der uns umgibt, nicht braucht. Seit 8 Tagen schauen wir uns nun diese Insel an und der Eindruck, der sich immer wieder einstellt, ist "Ist das schön". Eine grüne Insel voller Blumen und vielfältiger Gewächse. Eine kleine Ferienanlage mit Blick auf den Atlantik. Kleine Straßen und - dank Reiseführer - immer wieder gute Restaurants, in denen es gut schmeckt und schön und gepflegt aussieht.



Schade, dass ich morgen packen muss und übermorgen mitten in der Nacht wieder in die Maschinenwelt zurück muss.

Sonntag, 6. Juni 2010

The 3rd dimension

Heute hab ich endlich mal wieder etwas gemacht, dessen Auswirkungen in der echten Welt nicht von der Hand zu weisen sind: Ich habe die Kette meines Fahrrads repariert. Die alte war gerissen und so habe ich mir eine neue gekauft und ein Werkzeug, mit dem ich sie zusammenbauen konnte. Ich muss sagen, da bin ich ziemlich stolz drauf, da ich das vorher noch nie gemacht habe.

In der unsichtbaren Welt der Software kann man vereinzelt auch Bereiche finden, die eine gewisse "Auswirkung" haben. Zum einen ist da z.B. Automatisierungssoftware zu nennen, die durch die Art und den Ort ihres Einsatzes einen recht direkten Einfluss auf die echte Welt hat. Eine andere Art von Programmen sind meiner Meinung nach Applikationen, die 3D Darstellungen verwenden, um die Anwendungsdomänen, in denen sie eingestzt werden, darzustellen. Hier gibt es natürlich keine "echte" Auswirkung. Die 3-dimensionale Darstellung wird nur genutzt, um dem Mensch das Verständnis zu vereinfachen. Das funktioniert, da er sich in einer 3-dimensionalen Welt zurechtfinden muss und weil deshalb seine Sinne auf eine solche Umgebung angepasst und spezialisiert sind.

Ich habe mal gehört oder gelesen, dass abstrakte Sachverhalte zumeist auf das Ziehen von Schlüssen (die Fähigkeit zur Orientierung) im 3-dimensionalen Raum zurück geführt werden. Ich weiss nicht, ob das stimmt, aber es klingt plausibel. In irgendeiner Form muss abstraktes Denken etwas mit der sinnlichen Wahrnehmung zu tun haben. Dahingestellt....

Ich habe bisher schon einige Programme gesehen, die sich des Mittels der 3D-Darstellung bedienen. Und meiner Meinung nach kann für all diese Programme ein gemeinsames Modell gefunden werden, das für eine Implementierung herangezogen werden kann. Ein Wort noch zu den Annahmen, die ich treffe. Da wir uns derzeit in einer Zeit befinden, in der die Metapher des "Fensters" für ein Programm vorherrscht, gehe ich davon aus, das eines oder mehrere davon vorhanden sind, um das Programm zu präsentieren.

Nachfolgend ist die Struktur dargestellt, die ich einem jeden 3D-Programm, Spiel, Konstruktionsprogramm, wissenschaftlichem Visualisierungstool, zugrunde legen würde.


Zu den einzelnen Bausteinen (Kästchen):
  • Den Kern bilden immer die Bausteine, welche die "Domain Logic" beinhalten. Dieser Teil des Programmes kodiert die Logik, die im Rahmen der Anwendungsdomäne durch den Einsatz des Programmes austomatisiert oder zugänglich gemacht werden soll. Der "Domain Logic" liegt ein Modell zugrunde, das es erlaubt die Logik auszuführen. Dieses Modell könnte ein Modell eines Teils der Realität sein.
  • Der Zugang zur "Domain Logic" wird durch die "Domain UI" hergestellt. Hierbei handelt es sich um diejenigen "Fenster" oder "UI Elemente", die es erlauben, mit der "Domain Logic" zu interagieren.
  • Die Logik für die 3D-Darstellung der Konzepte der Anwendungsdomäne wird im Baustein "Visualization" gekapselt. Hierbei handelt es sich hauptsächlich um die Verwaltung eines Modells, das für die 3D-Darstellung der Konzepte und für die 3D-Interaktion optimiert ist. Ein wichtiger Aspekt hier ist auch der, dass durch eine Interaktion mit dem 3D-Modell wieder auf Objekte im "Domain Model" (also dem der "Domain Logic" zugrundeliegenden Modell) geschlossen werden kann.
  • Die eigentliche Darstellung wird vom Baustein "Visualization UI" übernommen. Hier passiert die 3D-Interaktion mit dem 3D-Modell. Die Eingaben werden an den Baustein "Visualization" weitergeleitet, sodass dort entsprechende Berechnungen erfolgen können. Bei der Interaktion kann es sich z.B. um Navigation oder Selektion handeln. Dieser könnte dann der Aufruf einer Funktion in der "Domain Logic" folgen.
  • "Visualization UI" und "Domain UI" sind eingebettet mit Hilfe einer eher technisch motivierten Komponente - dem "Main UI Frame". Dieser Baustein hält die beiden anderen zusammen.
Nachdem die Bedeutung der Kästchen erklärt ist, sollen nun noch ein paar Worte zu den Pfeilen folgen. Ich unterscheide prinzipiell zwischen Schnittstellen ("Interfaces") und Rollen ("Roles"). Schnittstellen erlauben den Aufruf von Funktionen der einzelnen Bausteine. Hier meine ich jedoch nicht einfache Zugriffsfunktionen, sondern solche, die komplexere Vorgänge auslösen. Mit Rollen meine ich Ergebnisse, Werte, die von einer Komponente zur Verfügung gestellt werden. Ich sage hier mit Absicht nicht Variablen oder Properties, da diese bereits mit implementierungstechnischen Bedeutungen belegt sind.

Die Richtung der Pfleile gibt an, von welchem Baustein für welchen anderen Baustein Schnittstellen oder Rollen angeboten werden. Der Baustein, von dem der Pfeil ausgeht, bietet an. Und der Baustein, auf den der Pfeil zeigt, konsumiert. Weiter müchte ich an dieser Stelle nicht ins Detail gehen, da dies Überlegungen voraussetzen, dass man sich über einen konkreten Anwendungsfall Gedanken macht. Vielleicht schreib ich ja mal irgendwann noch nen Text, in dem ich das tue....

Dienstag, 1. Juni 2010

Friedhof der vergessenen Identitäten

Letztes Wochenende habe ich den neuen Bruce Willis Film gesehen - "Surrogates - Mein Zweites Ich". Ich war gespannt, wie dieser Film sich der Doppelgänger-Thematik näherte. Die Internet Movie Database hat den Film mit einer 6,3 bewertet. Das entsprach nicht ganz meinem Empfinden (ich hätte vielleicht eine 7,3 gegeben).

In dem Film ging es im Prinzip darum, dass der Mensch nicht mehr selbst auf die Straße und seinem täglichen Leben (wie z.B. einer Arbeit) nachgehen muss, sondern dass er das von einem Roboter erledigen lassen kann, den er von zuhause aus steuert. Die Menschen lagen dabei nur noch in so einer Art Bett und gaben Ihren Robotern Befehle, wobei diese direkt aus dem Nervensystem abgeleitet wurden (ja, es gab auch eine mehr oder weniger gute Erklärung, aber darauf will ich nicht hinaus).

Ich weiss nicht, wer auf diese Idee gekommen ist und welche Gedanken ihn oder sie dazu veranlasst haben, dieses Thema des Doppelgängers so darzustellen, aber für mich sah es nach einer kurzen Zeit so aus, als hätte jemand das Proxy-Pattern auf die menschliche Gesellschaft angewendet. Es wurde eine Welt dargestellt, in der die Menschen nicht mehr direkt miteinander interagierten, sondern sich nur noch in den eigenen vier Wänden aufhielten, um so den "Gefahren" des alltäglichen Lebens aus dem Weg zu gehen.

Für diejenigen, die nicht wissen, was ein Proxy-Pattern ist: Es handelt sich dabei um eine Konstellation von Software-Artefakten, in der eines der Artefakte eine Anfrage entgegen nimmt, die eigentlich für ein anderes Artefakt gedacht war, und diese dann an den beabsichtigten Empfänger weiterleitet. Hier ein Bild:



Jeder Mensch hat also seinen eigenen Proxy bekommen, der für ihn oder sie durch die Welt gelaufen ist. Das war natürlich überspitzt dargestellt, aber im Prinzip geschieht genau dasselbe bereits heutzutage. Sicher nicht in der echten Welt, aber unsere Internet-Identitäten - Logins, Nicknames in Foren, Communities usw. - sind genau solche Proxies. Wir geben uns Namen und Avatare (kleine Bildchen, die irgendeinen oder vielleicht auch keinen Aspekt unserer eigenen Persönlichkeit betonen und in die Internet-Identität hinein projizieren). Übrigens: In "Surrogates" konnte man auch die Erscheinung der Roboter bestimmen.

Ein Aspekt, den man der im Film dargestellten Situation zugute halten muss, ist, dass ein toter Mensch keinen Roboter mehr steuern kann. Das heisst, wenn jemand tot ist, läuft auch kein Proxy mehr für ihn durch die Landschaft. Aber heutzutage im Internet ist die Situation anders.

Ich hatte mal einen guten Bekannten, den ich versucht habe immer dann zu besuchen, wenn ich "in die Heimat" gefahren bin, will sagen, dahin, wo ich aufgewachsen bin. Eines Tages habe ich erfahren, dass er bei einem Autounfall ums Leben gekommen ist, was mich doch stärker mitgenommen hat, als ich erwartet hatte. Das Interessante ist nun, dass ich heute immer noch seine Kontaktdaten in einem sozialen Netzwerk (dessen Namen ich hier nicht nennen will) in meiner Liste habe. Dort lächelt mich sein Konterfei immer noch an. Ich frage mich, wieviele solche "toten Kontakte" es geben muss. Und wer soll die eigentlich aufräumen?

Am Ende überlebt nur die digitale Seele, weil sie in irgendeinem Rechner gespeichert ist und das Internet ist ein riesiger virtueller Friedhof auf dem sich die Lebenden tummeln...