Beim letzten MacES hatte ich mit Martzell die Gelegenheit über die Methode zu reden mit der man heutzutage Daten speichert. Wir sind zu dem Schluss gekommen, dass die heutige Methode antiquiert sei. Im Normalfall gibt es ein Programm, z.B. eine Textverarbeitung, dass eine Datei in den Speicher lädt, in dem man sie dann bearbeiteten kann. Nach getaner Arbeit speichert man sie wieder zurück auf die Festplatte. Beim nächsten Laden ist die Datei in einem Zustand in den man die zuvor (evtl. vom Vortag) gemachten Tätigkeiten nicht mehr Rückgängig machen kann. Manche Programme speichern sogenannte Metadaten mit in die Datei. In ihnen wird u.a der Verlauf gespeichert. Man kann alle Änderungen der Datei bis zum Anfang zurück verfolgen. PaintShopPro von Jasc macht dies mit seinem eigenen Dateiformaten. Einige andere Programme machen das ebenfalls. Was diesen Programmen aber fehlt, ist ein Verlauf der es zulässt zu einem Punkt zurück zu springen und nur eine Aktion rückgängig zu machen - noch besser: nur auszublenden. Oder an dieser Stelle neue Aktionen hinzuzufügen ohne das der alte Verlauf gelöscht wird. Oder ab einer anderen Stelle einen anderen Weg einzuschlagen und den Anderen weiter aufrecht zu erhalten. Wie ein Geäst von Baumzweigen.

Explizites Speichern wäre somit überflüssig. Änderungen könnten zurück verfolgt werden, ohne dass zuvor Sicherungskopien angelegt werden müssten. Man könnte Dinge über mehrere Tage ausprobieren und sie am Ende komplett oder nur zum Teil verwerfen. Durch den ständig gespeicherten Verlauf wären Arbeitswege leicht ersichtlich und reproduzierbar, sogar auf andere Dateien kopierbar.
Mit der Zeit würde der Baum natürlich wachsen und Daten enthalten die wirklich gelöscht gehören. Man könnte dann ja unbenütze Äste und ausgeblendete Aktionen löschen. Somit hätte die Datei die Größe die sie beinahe hätte, wenn sie ohne Metadaten auskäme. Natürlich könnte man den Verlauf auch komplett löschen und nur noch das Endergebnis behalten.
Um das ganze auf die Spitze zu treiben. Wenn man einen Verlauf hat, der jede Änderung speichert, so könnte man auf Dateien an sich komplett verzichten. Ein Zeichenprogramm hätte zum Beispiel eine Arbeitsfläche mit der oben beschriebenen Baumstruktur. Das Anfangen mit einem neuen Ast ganz am oberen Ende des Baumes käme einer leeren Datei gleich. Arbeitsabläufe könnten aus bestehenden Ästen hinein kopiert und verändert werden. Bei unserem Textprogramm wäre z.B. ein Ast wie eine Vorlage. Ausgeführte Arbeitsschritte die aus einem leeren Blatt ein Briefkopf gemacht haben. Ein weiterer Ast an dieser Stelle angesetzt und ausgefüllt, ergibt den Brief. Später könnte man wieder bei der Vorlage anfangen und einen neuen Brief schreiben. Muß etwas an der Vorlage geändert werden, fügt man einige Arbeitsschritte weiter oben einfach an. Alle Briefe übernehmen dann die Änderung auch. Soll ein Brief nicht mehr geändert werden und nicht mehr mit der Vorlage »verwandt« sein, kann die »Verbindung« zur Vorlage gekappt werden. Die Arbeitsschritte der Vorlage werden kopiert und vor den Brief gesetzt. Dies sollte am besten mit nur einem Tastendruck möglich sein. Der Brief würde nun für sich alleine stehen. So gesehen würde es auch die Dateimetapher überflüssig machen.

8 Kommentare
Auch wenn ich nicht alles kapiere, das scheint mir geradezu so einfach wie revolutionär zu sein, dass es die gesamte EDV umschmeißt. Wo ist denn da der Haken?
Genau so sollte es sein. Eine Versionsverwaltung wäre auch noch sinnvoll. Schön wäre, die Aktionen wie einen Film ablaufen lassen zu können.
@Huflaikhan. Du hast deine Frage selber beantwortet. Der Haken bei der Sache ist, dass es nur mit Kompromissen auf heutige Betriebssysteme anwendbar ist. Die Dateimetapher ist z.Z. nicht weg zu denken. Wenn es nun um Interaktion mit anderen Programmen oder gar Computern geht (Webseiten z.B.). Müßte man stets das »fertige Werk« aus dem Programm - im Beispiel das Textverarbeitungsprogramm - in dem man etwas erstellt hat, in eine Datei exportieren. So dass es verteilbar wird. Das ist der Haken.
Die Teile die du nicht verstanden hast, kann ich gerne noch einmal erklären. Ich hab’ mich sicherlich manchmal undeutlich ausgedrückt.
@martzell, eine Funktion die einem vor den Augen das ganze ablaufen lässt, wäre super. Natürlich reicht auch ein Klick auf eine Aktion, im Verlaufsbaum, um die Version wieder zu sehen. Evtl. als Hotkey noch eine neuere Aktion (Version) die man zuvor ausgewählt hat, um die Auswirkungen der Änderungen, die man im moment macht, in der »Zukunft« zu beobachten.
lemming, pass auf dass dich keiner verklagt. Kai Krause hat das Patent auf genau das was du beschreibst, einen mehrdimensionalen Undo Button.
Verdammt, bist du dir da sicher? Woher weißt du das? Dieser Kai Krause macht wirklich gute Software. Das ausgerechnet er dieses Patent hat, ist ganz schön dumm. Evtl. könnte man es ja so abstrahieren, das es mit seinem undo nichts mehr zu tun hat. Schließlich kann man ja auch in der »Vergangenheit« Dinge ändern, die Auswirkungen auf die Zukunft haben.
Stell dir vor, ich arbeite an einem Bild in Photoshop, und wende ein Plugin an. Danach gebe ich die Datei jemand anderem, der dieses Plugin nicht hat.
Ninnghizidha.
p.s.: Im Cookie verliert meine Email-Adresse immer die TLD.
»Natürlich könnte man den Verlauf auch komplett löschen und nur noch das Endergebnis behalten.«
Nachteil - auf den du sicher anspielst - dein Partner kann die Datei dann nicht so modifizieren wie du das könntest, der den kopletten Verlauf hat und das Plugin.
Erstens ist das eine gute Idee. Aber … (und man braucht dazu ger nicht an PlugIns zu denken): Zweitens ist ein solches Dateiformat nicht besonders sparsam (insbesondere, wenn eine Datei viel bearbeitet wurde). Drittens dauert die Widerherstellung einer Datei anhand des “Protokolls” bei komplexen Operationen u.U, sehr lange.