» Design und Implementierung eines Systems zur effizienten Generierung von User Interfaces
This site relies heavily on Javascript. You should enable it if you want the full experience. Learn more.

Design und Implementierung eines Systems zur effizienten Generierung von User Interfaces

acl(admin devvvv vvvvgroup)
  • Aufgabenbeschreibung

Design und Implementierung eines Systems zur effizienten Generierung von User Interfaces

Das Ziel der Diplomarbeit ist es, ein System zur schnellen und intuitiven Generierung von User Interfaces in einer visuellen Programmiersprache zu entwickeln. Der Vorteil, der dabei erreicht werden soll, ist die Möglichkeit, anwenderfreundlichere User Interfaces anzubieten. So könnte man je nach Vorkenntnissen und Anforderungen der Anwendergruppen, differenzierte User Interfaces zur gleichen Anwendung anbieten.

Die Realisierung soll am Beispiel von vvvv (sprich: vau-vier) durchgeführt werden. vvvv ist eine datenflussbasierte visuelle Programmiersprache und ist primär für interaktive Medieninstallationen ausgelegt. Das Datenfluss-Paradigma dieser Sprache ist intuitiv und der Entwickler (im vvvv-Dialekt: Patcher) kann vvvv auch gut für Rapid Prototyping einsetzen, unter anderem weil bereits viele Treiber für Ein- und Ausgabegeräte vorhanden sind. Doch in vvvv, wie in vielen anderen Expertensystemen auch, ist der Aufwand für die Implementation von User Interfaces aufwendig.

In der Diplomarbeit soll im ersten Schritt an ein paar typischen vvvv-Anwendungen das User Interface untersucht werden.

Im nächsten Schritt soll ein Konzept überlegt werden, wie die Generierung von UIs in die visuelle Programmersprache integriert werden können. Ein Aspekt dabei soll sein, wie mehrere Eingabegeräte (mehrere Mäuse, Tastaturen, etc.) sinnvoll im UI eingesetzt werden können.

Beim Konzept gilt es, folgende Anforderungen zu berücksichtigen:

    • Aus der Perspektive des Anwenders:
      • intuitive Bedienbarkeit
      • keine Vorkenntnisse von vvvv nötig
      • performant
    • Aus der Perspektive des Patchers:
      • Einhaltung des Datenfluss-Paradigma

Dem Konzept folgt die Implementierung.

Im letzen Schritt soll das entwickelte System in einem konkreten Projekt zum Einsatz kommen und auf ihre Eignung untersucht werden.

  • Notizen

Gedankenfetzen

    • Mehrfachauswahl: mit ziehen eines Rahmens um mehrere Kontrollelemente können gruppiert werden. Dann relative bzw. absolute Steuerung möglich. Relativ bedeutet, dass die Kontrollelemente gleichzeitig erhöht bzw. erniedrigt werden, dabei aber von Ihrem ursprünglichen Wert ausgehen. Absolut heißt, alle ausgewählten Kontrollelemente bekommen den gleichen Wert. Ganze Zeilen und Spalten auf einmal wählbar.
    • Gruppierung: Ioboxen gruppieren nach Zugehörigkeit. D.h.
  • IOboxen die das gleiche Objekt verändern werden gruppiert.
  • IOBoxen, deren Objekte an einem gemeinsamen Group-Knoten hängen werden gruppiert
  • Abstand zum betroffenen Objekt ist ausschlaggebend für die Reihenfolge
    • neuer IOBox-Knoten mit variabler Anzahl von Output-Pins. Der Typ der Output-Pins ergibt sich nach verbinden mit anderen Elementen.
      • Zu jedem Output-Pin ein Konfigurations-InputPin. An diesem kann man Patches auswählen, die in bestimmten Ordnern abgelegt sind.
    • Mausgesten... ask Björn...
    • Multiwriter Environment: Bei Klick ins Text wird ein Bereich exklusiv editierbar, z.B. ein Wort oder beim Klick zwischen zwei Wörter beide Wörter. Exklusiver Editierbereich ist vom Benutzer veränderbar (vergrößern auf einen ganzen Absatz). O.B.d.A. nur nichtexklusive Bereiche für andere Benutzer anklickbar. ?Erweitern auf generelle Arbeitsumgebungen?
    • Cursor: An Cursor erkennbar welche Mouse bewegt wird
    • Mäuse=Perspektiven: Eine Maus zum editieren und eine Maus zum testen

recherche

gripd user interface for pd.

Dead trees:

Nielsen - usability engineering
Mullet - designing visual interfaces
Mandel - the elements of user interface design
Tognazzini - tog on interface
Laurel - the art of human computer interface design

GUI RAD

Erweiterung des GDI-Rendering-Systems um Knoten für klassische Windows-GUI-Elemente. Ziel ist es mittels VVVV voll standardkonforme Windowsapplikationen entwickeln zu können, die leicht und unkompliziert and Nicht-VVVV-User verschickt werden können.
Ziel ist es, mit VVVV leicht verständliche und gut benutzbare Tools schreiben zu können, etwa für Kunden, die ihren eigenen Content in VVVV previewen wollen, Frontends für Servicetechniker etc., Tools zum bearbeiten von Daten

  • Buttons / Sliders / Comboboxen / Tabs
  • Fileauswahldialoge, Datetimepixer
  • Droptargets, Dragsourcen
  • Textfelder & Editable Grids vs. existierende IOBoxen
  • Cursorformen
  • Menüs
  • Bevels und Panels
  • Texturen bzw. Bilder
  • Window-Management überdenken: Show/Hide/Resize etc. von externen fenstern
  • Detailänderungen im Renderer
    • Kleeblattmenü nur in VVVV-Icon oben links
    • Titel und Windowshape frei definierbar haben
    • shape
    • Optional Close/Minimizeboxen
  • Startup-Prozedur überdenken
  • Wie schreibt man Kommandozeilenprogramme mit VVVV?
  • Geht nicht alles eh auch im DX-Renderer?
  • schreiben als eine EXE, ohne einzelne Patches

anonymous user login

Shoutbox

~1d ago

joreg: The summer season of vvvv workshops at The NODE Institute is out: https://thenodeinstitute.org/ss24-vvvv-intermediates/

~1d ago

domj: If you happen to be in Prague, come join us at the Schema workshop on Thursday 25.4. :) https://www.facebook.com/events/395516526614988/?ti=ls

~13d ago

joreg: Postponed: Next vvvv beginner course starting April 29: https://thenodeinstitute.org/courses/vvvv-beginner-class-summer-2024/

~1mth ago

~1mth ago

joreg: The Winter Season of vvvv workshops is now over but all recordings are still available for purchase: https://thenodeinstitute.org/ws23-vvvv-intermediates/