Sonntag, 18. Mai 2008

GRAIL

Nein - es geht nicht um Groovy und Webentwicklung, sondern um ein Stück Software-Engineering-Historie das mich richtig beeindruckt hat.

GRAIL die GRAphical Input Language ist Teil eines Systems welches Ende der 60er Jahre von der RAND-Company entwickelt wurde. Dabei handelt es sich um eine Flowchart-Sprache, mit der die Anwendungssoftware dieses Systems (und auch die System-Software selbst) spezifiziert werden kann bzw. konnte.

Zwei Dinge sind an GRAIL sehr bemerkenswert. Das erste ist das User-Interface des Editors. Dieses ist völlig frei von Modi (wohl das erste System dieser Art) und die Eingabe erfolgt per Stift und Grafiktablett. Das System verfügt über eine Echtzeiterkennung der gezeichneten graphischen Syntaxelemente und Schriftzeichen sowie von Gesten, die Aktionen wie dem Löschen von Elementen auslösen.




Wie in diesem Beispiel wird die Stiftbewegung des Benutzers verfolgt, dargestellt, erkannt und dann...



... durch das pasende Computer-gezeichnete Element - hier eine Prozessinstanz - ersetzt. Die Texteingabe erfolgt analog.

Die Bilder sind Screenshots aus dem Video einer Demo (s.u.) und es ist wirklich sehr beeindruckend den Editor in Aktion zu sehen. Die Mensch-Maschine-Interaktion erscheint unheimlich intuitiv und ist sehr viel direkter als es selbst bei den heutigen graphischen Editoren der Fall ist - und das bei einem System aus dem Jahr 1968!

Dabei ist zu bedenken, dass es sich um kein Malwerkzeug handelt, sondern der Erstellung von Software dient. In der Dokumentation zu GRAIL ist zu lesen:

The System permits construction, editing, interpretive execution, compilation, debugging, documentation, and execution of computer programs specified by flowcharts.

Tja - der zweite bemerkenswerte Punkt ist, dass man heutzutage diesen Ansatz als modellgetriebene Software-Entwicklung bezeichnen würde, auch wenn Flowcharts jetzt nach 40 Jahre vielleicht etwas aus der Mode gekommen sind ;-).

Das Video ist Teil einer Aufzeichnung einer Präsentation von Alan Kay aus dem Jahr 1987 in dem er einige Juwelen aus den 60er und frühen 70er Jahren zu dem Thema User-Interface-Design vorstellt. Beispiele sind das Grafik-System Sketch-Pad aus dem Jahr 1962, eine System-Präsentation von Douglas Engalbart - dem Erfinder der Maus, GRAIL (beginnt bei ca. 23:30) und Smalltalk-72 mit einigen Beispielen, die in den 70ern von Kindern entwickelt wurden, wie einem Zeichenwerkzeug für elektonische Schaltkeise. Dieses Video ist mit über 45 Minuten zwar recht lang aber auch unbedingt sehenswert.