Meta-Information

This document was never edited, revised or touched in any style or form after the 3rd November 2009. The ideas here are definitely presented in an incoherent manner.

Title

An experimental interaction design in JavaFX for DeepaMehta as the working title for my thesis about Declarative development of graphical user interfaces along the principles of direct manipulation for constructing personal "knowledge" landscapes

Abstract (and) Documentation

This work presents the conception and realisation of an experimental interaction design for the DeepaMehta User Interface. The resulting application will be served through the World Wide Web. The user is therewith enabled to develop personal structured visualizations in stable views¹. To facilitate constructive browsing on semantic networks, a visual context menu will be sketched and implemented. To support the fundamental requirements of the visual information seeking mantra the 1$ Gesture Recognizer is used and equipped with a fine selection of strokepatterns to control interactive graph-visualizations. The process of prototyping demonstrates declarative development of a graphical user interface with the Java and JavaFX Technology along the "interaction"² principles of direct manipulation.

About this Thesis

This sketch controlled, multi-purpose graphic computing tool was constructed along applied knowledge about core attributes which make a framework for visual component language systems without ever having heard of a theoretical framework for that.³ Visual direct manipulation principles and inscenated graphic design guided the way to a hopefully humane interface. A special thanks is dedicated to the mentorship of Jörg Richter and all supportive people and motivating professors with whom I had the honour to work with during my educational spare time at the Beuth University of Applied Science Berlin. I am also deeply thankful to Alex Olwal who made this interface experiment within 6 weeks of implementation time possible at all, cause he contributed his Java Implementation of the 1$ Gesture Recognizer to the commons. The same esteem to all software communities and their members, without their work this piece of software would have never been realised, namely; the Apache Software Foundation with their tools, the Ubuntu Community with their desktops, the whole Java Community and MySQL with their useful software. Not to forget, the gEdit Text Editor Team, Knuth's fabulous layout interpreter maintained by the TeX crowd and all others not mentioned here ! in German
Dies ist die Homepage eines experimentellen Computer-Progamms für den benutzerfreundlichen Einsatz von "digitalem Papier" als virtuelle Ingenieurswerkstatt sowie als skizzierfreundlicher Arbeitsplatz für den praktischen Informationskonsum. Der Benutzer zeichnet beim Klicken und Ziehen (DnD) eines Pointers (z.B. Maus, Stift, o.a. Finger) einfache Wege zwischen A und B und löst damit entweder Aktionen im Programm aus oder zeichnet mithilfe von verschiedenen Stiftwerkzeugen. Eine Übersicht der ersten grundlegenden Aktionen zum steuern der Benutzeroberfläche ist ebenfalls auf dieser Seite abgebildet. Das besondere an dieser Benutzeroberfläche ist, das der Benutzer zum einen mit Skizzen arbeiten kann, gleichzeitig jedoch auch grundlegende Funktionalität zum Abfragen, d.h. eine visuelle Unterstzützung zum Filtern, von Informationsbeständen "unter die Stiftspitze gelegt bekommt". Zum einen bedient sich die Darstellung der Informationen auf dem Bildschirm der Metapher des Netzes. Ein Netz spannt die Informationen in der virtuellen Welt in einen Zusammenhang ein und dieses Netz "surfen" bereits viele PC-Anwender täglich bei der Navigation durch das World Wide Web. Im WWW surft der Benutzer über Verbindungen zu Webseiten mithilfe des Browsers, er geht-zu den Informationen. Die Benutzeroberfläche von DeepaMehta (und somit auch die von dieser Anwendung) bedient sich bei der Bildschirmdarstellung im Gegensatz zu dem Browser eben genau dieser grundlegenden Metapher, der des Netzes, genauer, der eines sog. gerichteten Graphen mit Knoten und Kanten. Es werden Verbindungen zwischen Informationen angezeigt und diese dabei nicht "staccato" voneinander getrennt, sondern in eine Sicht hineingeholt. Der wesentliche Vorteil, so wird vermutet, liegt vor allem in der entspannten Anzeige und dazu in den aus praktischer Sicht, interessanten Verarbeitungsmöglichkeiten von ein bis mehreren vernetzten Informationsobjekten auf dem Schirm. Die Anwendung bedient sich also der Darstellung von Objekten um die Informationen auf der Bildschirmoberfläche handhabbar zu machen. Es bildet damit eine Außenwelt von "etwaigen Dingen" aus unserer gedanklichen Welt ab, einfach indem es Elemente als Dinge bezeichnet. Wie in fast jedem Computer Programm entsteht dabei eine visuelle Sprache für den Benutzer. Diese "Objekthaftigkeit" kennt man z.B. aus seiner Muttersprache, man ist gewohnt durch den Einsatz von Wörtern Dinge zu begreifen. Das ist nun fast schon theoretisch, dabei ist praktisch das "ein Netz an Gedanken, wie es DeepaMehta dem Benutzer ermöglicht zu pflegen, dabei nicht so strikt sein muss wie eine Sprache. Es erlaubt auch die Abbildung von vagen, prä-verbalen oder allmälich stärker werdenden Verknüpfungen." (x28) Diese konzeptionellen Merkmale der Anwendung dienen dieser Benutzeroberfläche zur Verwaltung einer persönlichen und (wie Produktivitätswerkzeuge halt so sind) zugleich auch verteilten, visuellen Ausdrucksform die sich ganz normal über jegliche Arten von Information erstrecken kann. Die Informationen werden dabei für den Anwender in einer stabilen Sicht, der Benutzeroberfläche, in ihrem Zusammenhang präsentiert und durch ein beliebiges Sprachkonstrukt handhabbar gemacht. Durch die genannte "Objekthaftigkeit" in der Benutzeroberfläche ist diese Benutzerschnittstelle besonders interessant für Menschen die sich genau mit der Konstruktion und Analyse von sprachlichen Welten beschäftigen, Gestalter, Software-Entwickler sowie natürlich auch Sprachwissenschaftler. Die ganz zu anfang genannte Eigenschaft, also die des gerichteten Graphen, ist ein Versuch die Schreibtischmetapher aus unseren Bildschirmen herauszulösen und dabei eine praktische Variante zur individuellen Darstellung von Informationsobjekten der Allgemeinheit zur freien Verfügung zu stellen. Die Herausforderungen einen DeepaMeht Client für den Informationsalltag nützlich zu machen liegen dabei in der graphischen Ausgestaltung einer anpassungsfähigen Benutzeroberfläche sowie in einer umsichtsvollen Verwendung des vorhandenen Bildschirmplatzes. Eine stabile Benutzeroberfläche unterstützt nach Meinung des Computerwissenschaftlers Jörg Richter besonders diejenigen Benutzer in ihrer Arbeit am PC, die Stabilität allgemein als unterstützend empfinden (die Bezeichnung einer über die Zeit stabilen Sicht, meint hier ein Abbild der Situation zu erstellen die der Anwender als einen Arbeitskontext bezeichnen würde) sowie auch solche Anwender die sich in einer kreativen Arbeitssituation ihrer "brainstürmerischen", freizügigen Denkweise hingeben m&ooml;chten und dabei gleichzeitig die Vorteile von sog. Mappingverfahren einsetzen wollen um "unbekanntes miteinander bekannt zu machen". Demnach unterstützt diese Anwendung diejenigen Anwender besonders gut, die versuchen mithilfe eines visuellen Gerüsts wie es z.B. ein blankes Blatt Papier sein kann, komplexere Gedankengänge zu gehen die sich aus Teilen der heutigen virtuellen Welt, sei es die Datenspeicher unserer PC's oder der des World Wide Webs, zusammensetzen. Diese Anwendung basiert auf grundlegenden Eigenschaften die ein Denkwerkzeug ausmachen, ergänzt es die Merkmale eines blanken Blatt Papiers jedoch um die digitalen Aspekten der Darstellung von Medieninhalten. Es ermöglicht dem Anwender demnach Informationen einfach anzulegen, vohandene zu suchen, Informationen dabei in ihrem und aus ihrem Zusammenhang heraus aufzudecken, diese dabei stabil zu betrachten und alles in einen persönlichen Zusammenhang zu setzen.
In der Umgangssprache ist so eine Benutzeroberfläche eine "eierlegende Wollmilchsau" oder im Fachjargon auch eine (leider auch im wahrsten Sinne des Wortes zu verstehende) "Killerapplikation", gerade weil Menschen im Jahre 2010 tun was Sie halt so tun. Wozu Technologien überhaupt eingesetzt werden bleibt hoffentlich auch in Zukunft immer noch die Entscheidung einer dazu immer informierteren Menschenmasse. A screenshot displaying information objects of type note, appointement, image and software in a stable view. The appointement 'Sketching Demo' currently shows the Topic Menu for navigation and content 'What's Related' sketching is disabled but yes, you can execute basic commands through: a) double clicking an object to load a map b) clicking and moving your mouse pointer over objects to draw gestures (available when you see a crosshair as a cursor) c) clicking on an object to select it and then execute a command simply through clicking either in the north, west, east or south area of an object d) you can try to misuse the toolbar at the top of each map for searching or creating informations have fun tryin !

Developer Documentation

"Visual Languages - invented outside the visual programming language community - are quite successfully used around the world. There are e.g. internation VL standards used in the telecommunication, software engineering, or automated control engineering industry. But, alas, most of these languages were defined without knowing VL definition and design principles of the VPL Community... As a consequence visual language research activities are ignored by those communities which use visual modeling and programming languages for many years quite successfully. Even worse, international standards for these langauges - used by huge number of engineers around the world in their daily life - are defined without intimate knowledge about the existense of visual language grammar definition formalisms and visual language desing concepts presented at various conferences. "³
View a class diagram of the DeepaMehta JavaFX Fat Client giving an overview about the PAC Implementation View the Client API Docs per 27.11.09 The prototype is a JavaFX Fat Client which relies on the DeepaMehta JSON RPC Application and enables the user to load and construct visual topic maps. JavaFX Script was used to realise this software layer. It's a domain specific language which is related to the declarative programming model how Graham understood it in '95. This script language "sacrifices" a declarative development cause it introduces imperative language constructs (the variable of time) to let the programmer deal with I/O. It makes use of side effects and allows constraint based development. Reactive data models and event based programming are the foundation of mixed control user interface dialogues. The code is nested and the views render platform independent multimedial graphics through the scenario scene graph. It's an effective tool for declaring a View in a user interface layer, like one does with WYSIWYG tools, allowing a procedural graph layout at the same time. With it's proprietary declarative graphics implementation (alike SVG) it's a nice tool for dealing with representations of any kind from a designer and developer perspective.

Thought Aloud

This experimental interaction design breaks with Raskin's understanding of "monotony in a user interface". According to him, this might harden the entry barrier for new users. Further on, the application has to face all problems which arise through applying visual communication methods. The application shares also all challenges known to direct manipulation interfaces, particularly "waste-of-display-space". From the author's perspective it's nonetheless, a pretty nice presentation layer which has the potential to cover ordinary tasks of information work and at the same time enable users an easy way to filter and present information in an adequate and coherent way. Malte Reißig, Berlin, November 2009 ______ Notes: ¹ DeepaMehta - Another computer is possible ² Interaction understood as human computer "interaction" ³ Proceedings - Symposium on Visual Languages in Tokio '99 found in the Article "Leaving the visual language Ghetto."