Wolfgang Roller, Ehningen
Hier sollte eigentlich ein Bild angezeigt werden.

Der BrainExtender

Warum?

Im Vorwort habe ich schon einige Gründe über das Warum beschrieben.

Ich glaube daran, dass wir bessere Personal Computer bauen können, als wie wir das momentan machen. Wir brauchen nur den Mut uns zu überlegen was wir wirklich mit einem Computer tun wollen und ob das, was wir aktuell machen aus der Sicht eines Anwenders wirklich das ist was wir wollen?

... dadurch entstanden sein, dass so um die 1980er Jahre herum die Mikrocomputer soweit entwickelt wurden, dass sie zum einen bezahlbar wurden und zum anderen das Anwendungen, wie z.B. Tabellenkalkulations-Programme und Textverarbeitung zur Verfügung standen. Das waren Programme, die auch nützlich für Nicht-Programmierer waren. Weil jüngere Menschen aus den unteren oder mittleren Führungsetagen von der Nützlichkeit dieser Geräte überzeugt waren, ihre konservativen Chefs und Einkaufsabteileungen jedoch nicht, kauften sie sich die Geräte von ihrem eigenen Geld. Und nahmen sie mit in ihr Büro. Wenn dann jemand kam und fragte was denn das für ein Gerät wäre, dann sagten sie stolz: "It is my personal computer." Also: "Das ist mein eigener Computer." Ob diese Geschichte so stimmt, weiß ich ich nicht. Für mich ist sie jedoch eine schöne Erklärung für diesen Begriff.

Aber es geht ja gar nicht allein um die "Personal Computer". Es haben sich bis zum heutigen Tag verschiedene Geräte-Klassen etabliert. Von der Smartwatch über Smartphone, Phablet, Tablet, Notebook, Laptop bis zum klassischen Desktop-Rechner. Und alle haben einen eigenen Datenspeicher. Und wir als Anwender haben somit ein Synchronisations-Problem.

Wenn man es sich genau überlegt würde ein Speicher genügen. Ich schaue mit dem jeweiligen Gerät immer auf die Daten desselben Speichers. Es ist nicht so, dass es dafür keine Lösung gäbe. Die gibt's. Sie nennt sich Cloud. Ich finde diese Lösung noch nicht mal schlecht. Dennoch löse ich das Problem anders.

Somit kommen wir zum Wie?

Das ist recht einfach. Ich will das Rad gar nicht ein zweites Mal erfinden. Ich nehme einfach das bestehende System und schneide es auseinander und setze es zu einem neuen, anderen System wieder zusammen. Und um deutlich zu machen, dass es sich um ein anderes Systen handelt bekommt es auch keinen neuen Namen: BrainExtender eben.

Die erste Erkenntnis / alles ist ein Objekt

Die Objektorientierung ist die Technik, die sich in der Programmierung durchgesetzt hat und sich bewährt hat. Nur leider ist es so, dass dies auf der Programm-Ebene passiert. D. h. jedes Programm schafft sich seinen eigenen Objekt-Kosmos. Mit dem ganz großen Nachteil, dass alle Objekte die mit einem Programm erstellt werden, nur von diesem Programm genutzt werden können.
Es gibt Technologien und Schnittstellen zur Interprozess-Kommunikation. Aber das ist nicht dasselbe als würde man sich im selben Kosmos bewegen.

Also führe ich die Objektorientierung auf Betriebssystem-Ebene ein. Was nicht heißen soll, dass das Betriebssystem mit einer objektorientierten Programmiersprache entwickelt wird.
Sondern das Betriebssystem ist ein Objekt-Kosmos. Und es ist nicht die Einführung eines von mir erdachten neuen Paradigmas, sondern die Wiedereinführung einer sehr alten Idee aus den 1970er Jahren aus dem Forschungszentrum Xerox Palo Alto Research Center (Xerox PARC) in Kalifornien. Ich nenne hier nur das Stichwort Smalltalk. Allerdings will ich zum Leidwesen der paar verbliebenen Smalltalk-Fans und -Enthusiasten sagen, dass ich keine Wiederauferstehung von Smalltalk plane. Das hat zwei Gründe. Ich bin leider durch die prozeduralen Programmiersprachen so verdorben geworden, dass ich mich nie mit der Sprache Smalltalk anfreunden konnte. Mit dem Konzept schon.
Zum anderen fehlen Smalltalk viele Konstrukte, die für mein Konzept notwendig sind. Und bevor ich nun Lizenz- Verhandlungen mit den heutigen Rechteinhabern führe, kann ich mir gleich eine neue Sprache ausdenken.

... dazu mir ein kleines Denkmal zu setzen und nenne diese neue Programmiersprache roller.

Das operieren auf der Basis eines Objekte-Kosmoses

Wir haben es ab jetzt nur noch mit Objekten zu tun. Manche mögen einwenden mit Klassen und Objekten. Auch eine Klasse ist ein Objekt. In der realen Welt haben wir, wenn wir ein Haus bauen wollen einen Bauplan. Aber auch ein Bauplan ist ein Objekt. Und wir werden später sehen, dass Programme auch nur Objekte sind. Sie haben im Unterschied zu anderen Objekten die Eigenschaft, dass sie "ausführbar" sind.

Was können wir mit diesen Objekten machen?

  • Wir können sie erzeugen. Sie müssen ja schließlich irgend wo her kommen.
  • Wir können sie uns ansehen.
  • Wir können sie verändern. Dieses Verändern kann manuell geschehen oder oder automatisiert durch Ausführen eines Programmes.
  • Wir können sie löschen.
  • Und wir müssen sie speichern. Tun wir das nicht, dann sie nach dem Ausschalten des BrainExtenders oder bei einem Stromausfall weg.

Wir können jetz mal ein wenig aufdröseln, was denn passiert, wenn ein Mensch, wenn ich mit dem BrainExtender arbeite. Stellvertretend für die heute möglichen Ein-/Ausgabe-Geräte nehmen wir mal ganz klassisch Bildschirm, Tastatur und Maus. Das nenne ich eine I/O-Unit (Eingabe-/Ausgabe-Einheit).

Dann benötigen wir noch einen Prozessor mit RAM. Das ist die Processing-Unit (Verarbeitungs-Einheit).

Die dritte Einheit im Bunde ist die Storage-Unit (Speicher-Einheit).

Bild 1: Darstellung der bisher vorgestellten drei Grundeinheiten eines BrainExtenders

Je nach Bedarf kommuniziert jede Einheit mit jeder anderen Einheit. Die Verbindung erfolgt über TCP/IP. Das erlaubt eine räumliche Trennung der Einheiten. Aber genauso gut könnten die Processing-Unit und die Storage-Unit in einem Gehäuse untergracht sein und zusammen mit den Eingabe-/Ausgabe-Einheiten aussehen wie ein klassischer Desktop-Rechner.

Ich hatte eingangs geschrieben, dass ein einziger Speicher ausreichen würde und damit die ganzen Synchronisatons-Probleme vom Tisch wären. So ist folgendes möglich. Ein Anwender kann von einem Anbieter eine Storage-Unit mieten. (So wie wir heute schon Web-Server mieten.) Diese Storage-Unit ist dann von überall her erreichbar. Seine Processing-Unit hat er gekauft und die steht im Keller (oder sonst wo in der Wohnung). Und sein Smartphone kann unterwegs als I/O-Unit dienen. Mit Hilfe des Smartphone kann er alle Objekte, so gut es eben mit dem kleinen Display geht, sich anzeigen lassen. Er kann auch ein Programm starten. Das wird aber nicht auf dem Smartphone ausgeführt, sondern zu Hause auf seiner Processing-Unit.

Bild 2: Eine mögliche Variante. Ein Desktop-BrainExtender
Bild 3: Eine flexiblere Lösung.
Im Prinzip sind die drei Einheiten auf der einen Seite selbstständige Computersysteme, auf der anderen Seite ist jede Einheit ohne die beiden anderen nichts und nur zusammen bilden sie einen BrainExtender.

Wobei eine Einheit noch fehlt. Die besprechen wir noch im nächsten Kapitel, wenn es um das Was geht. Was ändere ich konkret, damit ein BrainExtender entsteht.

Rückbesinnung auf etwas mehr Hardware und das Hinzufügen von etwas mehr Information

Wenn ich weiter oben geschrieben habe, dass ich das System verbessere und verändere dadurch, dass ich es zerschneide und wieder zusammen setze, ist das auch noch nicht die ganze Wahrheit. Man könnte die virtuelle Welt als ein Modell unserer Realität bezeichnen. Also in dem Sinne, wie z.B. ein Modell-Flugzeug eine möglichst naturgetreue Nachbildung eines realen Flugzeuges ist. Ich bin der Meinung die "virtuelle" welt bereitet uns deshalb solche Probleme z.B. in punkto Sicherheit, weil sie nicht genügend an die reale Welt angelehnt ist. Es fehlen ihr ein paar Informationen, damit sie ein besseres und damit sichereres Abbild der realen Welt sein kann.

Was gänzlich schief geht ist z.B. das Besitz- und Urheber-Recht. Die virtuelle Welt ist weitgehenst eine Welt bestehend aus Software. Das "Soft" ist einerseits sehr flexibel und dehnbar und macht auch seinen Reiz für uns aus. Gleichzeitig ist es auch ein Nachteil.

Fälschungen sind wahrscheinlich so alt wie die Menschheit. Nur in der realen Welt der "Hardware" sind Fälschungen und Betrügereien nicht ganz so einfach möglich. Nehmen wir nur mal Banknoten. Klar kann jeder Laie mit Hilfe eines Farbkopierers "Blüten" herstellen. Aber eine Banknote so zu fälschen, dass der Experte einige Zeit braucht diese als Falschgeld zu identifizieren, erfordert Wissen und handwerkliche Fähigkeiten, die nicht jeder hat.

Wir werden nie verhindern können, dass "gezinkt" und betrogen wird, weder in der realen noch in der virtuellen Welt. Nur durch die "Softigkeit" der virtuellen Welt öffnen wir dem Betrug unnötig die Türe. Das heißt man wird dort überproportional von zwielichtigen Menschen und Machenschaften belästigt. Weil es eben einfacher ist ein paar Bits zu verbiegen als reale Materie zu verändern oder zu kopieren.

Das mit viel Geld, Zeit und Aufwand von Profis abgehört, gefälscht und getrickst wird, können wir nicht verhindern. Aber wir können durch den Einsatz von mehr Hardware den Aufwand anheben.

Dann "mixe" ich noch etwas mehr Information in das Modell hinein um es ein Stückchen näher an die Wirklichkeit heran zu bringen. Das betrifft vor allem auch die Kinder und Jugendlichen. Das bisherige Netz unterscheidet faktisch nicht zwischen Kindern und Erwachsenen. Natürlich gibt es im Rahmen der Möglichkeiten Vorkehrungen die Kinder vor gewissen Inhalten zu schützen. Nur nützen die in der Realität wenig. Oft sind die Kinder ja mehr "digital natives" als ihre Eltern. Und die Eltern wissen oft nicht wie schnell sich eine Information, wie eine Sperre umgangen werden kann, sich innerhalb der Welt der Kinder verbreitet.

Wenn wir im Internet eine von einer staatlicher Seite bestätigte Identität haben, so wie wir im realen Leben einen Personalausweis haben, dann sind eben bestimmte Sachen für Kinder nicht mehr möglich. Für den Besuch einer bestimmten Seite wird gefragt, ob der Inhaber der Identität volljährig ist. Er muß der Freigabe dieser Information zustimmen und kann diese Seite dann nur laden, wenn das Ergebnis der Frage war, dass er volljährig ist. Wer ohne Identität unterwegs ist oder die Freigabe dieses Ja/Nein zur Volljährigkeit verweigert, kommt nicht auf die Seite.

Zusätzlich sollte bei Minderjährigen über die Identität festgehalten sein, wer ihre Erziehungsberechtigten sind. Auf diese Art und Weise ist es möglich, dass Kinder sich zu bestimmten Diensten nur dann anmelden können, wenn ein Erziehungberechtigter seine Erlaubnis dazu gibt. Die gesicherte Information, ob jemand volljährig ist oder nicht, gibt es momentan im Internet praktisch nicht.
Theoretisch schon. In Deutschland z.B. haben wir den elektronischen Personalausweis (nPA). Nur wie sieht es mit seinem praktischen Einsatz im realen Leben aus?

Kein Client-Server-Modell mehr, sondern Peer to Peer

Das "alte" Internet geht davon aus, dass es Server und Clients gibt. Das entspricht aber nicht der realen Welt. Hier sind wir immer Server und Client gleichzeitig. Das reale Leben ist ein Geben und Nehmen. Nun ja im Prinzip gilt das auch für die Client-Server-Welt des Internets. Ein großer Konzern mit einen großen Server gibt Information, Speicher, Spiele, Spass, was auch immer. Und wir geben ihm dafür entweder unsere Daten oder unsere Aufmerksamkeit für Werbung.

Was im Internet derzeit fehlt ist die direkte Verbindung von meinem Rechner zum Rechner einer meiner Freunde. Ohne, dass dabei auch nur irgendein Kontakt mit einem Server dabei wäre. Es hat zum Teil auch technische Hintergründe wie eine täglich wechselnde IP-Adresse, dass das nicht geht. Das ist aber kein Grund diese Möglichkeit nicht zu realisieren. Ich möchte mich einfach mit den Leuten, die ich eh schon aus dem realen Leben kenne, austauschen können ohne, dass da ein Großkonzern seine Finger im Spiel hat.

Das spricht ja nicht dagegen, dass es Dinge wie Facebook etc. gibt. Und die werden nach wie vor möglich sein. Warum auch nicht.

Kompatibilität zum "alten" Internet

Die muß selbstverständlich gewährleistet sein. Entweder auf der Basis, dass virtuell ein herkömmliches Betriebssystem auf einer Processing-Unit läuft oder, dass es einen Browser für Html-Seiten gibt und Viewer für die gängigsten Datenformate.
Trenner für's vert. Verschieben bei Touchscreens