[Projekt] eyeGUI

Hier könnt ihr euch selbst, eure Homepage, euren Entwicklerstammtisch, Termine oder eure Projekte vorstellen.
Forumsregeln
Bitte Präfixe benutzen. Das Präfix "[Projekt]" bewirkt die Aufnahme von Bildern aus den Beiträgen des Themenerstellers in den Showroom. Alle Bilder aus dem Thema Showroom erscheinen ebenfalls im Showroom auf der Frontpage. Es werden nur Bilder berücksichtigt, die entweder mit dem attachement- oder dem img-BBCode im Beitrag angezeigt werden.

Die Bildersammelfunktion muss manuell ausgeführt werden, die URL dazu und weitere Details zum Showroom sind hier zu finden.

This forum is primarily intended for German-language video game developers. Please don't post promotional information targeted at end users.
Antworten
Benutzeravatar
Raphael
Beiträge: 65
Registriert: 22.12.2011, 13:39
Echter Name: Raphael Menges

[Projekt] eyeGUI

Beitrag von Raphael »

In ein oder zwei Themen hatte ich hier schon Fragen gestellt, die sich auf mein nun veröffentlichtes Projekt bezogen haben:

https://github.com/raphaelmenges/eyeGUI

Es handelt sich um eine einfach zu benutzende GUI-Library auf Basis von OpenGL 3.3 Core und C++11 und ist vorrangig für die Eingabe via Eyetrackern gedacht. Ich bin im Moment am Institute for Web Science and Technologies (http://west.uni-koblenz.de/) als Studierendenkraft angestellt und arbeite am Projekt MAMEM (http://www.mamem.eu/) mit. Das Projekt ist von der EU finanziert und soll Menschen mit Muskelerkrankungen und Verletzungen den Umgang mit dem Computer und dem Internet mithilfe von Eyetrackern und Brain-To-Computer-Interfaces ermöglichen. Wir wollen dazu unter anderem einen Browser mit dem Chromium Embedded Framework umsetzen, der als minimale Eingabe ausschließlich den Blick benötigt und die Benutzung durch Schalter, Tastatur und Gehirnströme beschleunigt werden kann. Je nachdem, welche Fähigkeiten der Nutzer besitzt. Da normale GUI-Libraries auf Tastatur und Maus setzen, haben wir uns dazu entschlossen eine eigene GUI zu schreiben, was ich aktuell mit diesem Projekt umsetze. Vor allem die Aktivierung von Buttons mit einem Schwellwertes ist bei der Steuerung via Blick essentiell. Hier eine kleine Demo mit der Maus, am Ende ist auch ein frühes Konzept für den Browser zu sehen:

[youtube]niMRX65E7IE[/youtube]

Bisher habe ich das Projekt auf Windows und Linux kompiliert, MacOSX sollte bald auch folgen. Oberflächen werden als geschachtelte Elemente in XML mit relativen Bildschirmkoordinaten definiert und mit Stylesheets gefärbt. Grafiken können als PNG oder SVG importiert werden. Als nächstes stehen Textrendering mit Freetype und Texteingabe mit den Augen auf dem Plan. Falls jemand Anwendungen für Eyetracker schreiben möchte, kann man mich gerne bei Fragen zur Nutzung von eyeGUI kontaktieren. Sobald Anwendungen an unserer Universität entstehen, werde ich sie hier linken!

Danke für die Hilfen auf jeden Fall. Nach Stackoverflow seit ihr meine Rettung, vor allem bei speziellen Fragen :D

PS: Hier noch ein abgeschlossenes Projekt von einem Kollegen und mir, das einen Consumer-Eyetracker in Aktion zeigt: http://schaugenau.west.uni-koblenz.de/

EDIT: Im Video gibt es ein paar Erklärungen im Untertitel.
Benutzeravatar
Raphael
Beiträge: 65
Registriert: 22.12.2011, 13:39
Echter Name: Raphael Menges

Re: [Projekt] eyeGUI

Beitrag von Raphael »

Ein erster Prototyp unseres Browser funktioniert und ist im folgenden Video zu sehen:

[youtube]zj1u6QTmk5k[/youtube]

Hier die offizielle News dazu: http://www.mamem.eu/gazetheweb-prototyp ... g-the-web/

Technik: Wir benutzen das Chromium Embedded Framework und leiten die Pixel an eine OpenGL Textur weiter, welche auf einem Quad gerendert wird. Oben drauf kommt dann die GUI. Im Moment ist der Prototyp noch ziemlich zusammengehackt, da wir erstmal bisschen rumprobieren möchten um später dann eine gescheite Architektur planen zu können.
Benutzeravatar
Schrompf
Moderator
Beiträge: 5045
Registriert: 25.02.2009, 23:44
Benutzertext: Lernt nur selten dazu
Echter Name: Thomas
Wohnort: Dresden
Kontaktdaten:

Re: [Projekt] eyeGUI

Beitrag von Schrompf »

Das sieht ziemlich cool aus. Das wird aber ne Menge Training sowohl auf Software- als auch auf Nutzer-Seite erfordern, weil der Blick ja auch zum Lesen benutzt wird. Gibt das nicht Stress für den Betrachter?
Früher mal Dreamworlds. Früher mal Open Asset Import Library. Heutzutage nur noch so rumwursteln.
Benutzeravatar
Raphael
Beiträge: 65
Registriert: 22.12.2011, 13:39
Echter Name: Raphael Menges

Re: [Projekt] eyeGUI

Beitrag von Raphael »

Genau deswegen der Prototyp. Wir haben zum Beispiel gemerkt, dass man öfter unten auf das Panel kommt obwohl man nur lesen möchte. Dann werden Buttons ausversehen ausgelöst oder gescrolled. Wahrscheinlich werden daher in einer nächsten Version mehr Bedienelemente auf eine der beiden Seiten gezogen und in der Mitte mehr Platz zum Lesen gelassen. Je weniger Bedienelemente wir haben, desto tiefer müssen die Funktionen verschachtelt werden etc. Außerdem wollen wir schauen, ob man sowas wie Link auch auf modernen Websites noch sinnvoll extrahieren kann um so unter anderem das Klicken zu unterstützen. Das Ganze soll so konzipiert sein, dass man prinzipiell ALLES mit dem Blick machen, aber zusätzlich mit Tasten oder anderen Triggern Dinge beschleunigen kann. Etwas abenteuerlicher wird die Verarbeitung von Zwinkern oder gar der Pupillenweite, mal sehen wohin die Reise geht :D

Die Hauptzielgruppe des EU-Projektes ist auch eher lernwillig, weswegen Intuitivität hinter Funktionalität steht ;)
Benutzeravatar
Chromanoid
Moderator
Beiträge: 4273
Registriert: 16.10.2002, 19:39
Echter Name: Christian Kulenkampff
Wohnort: Lüneburg

Re: [Projekt] eyeGUI

Beitrag von Chromanoid »

Ich finde das echt supergut! Vielleicht würde ein Ausklapp-Menu Sinn machen? Also eines, dass so ähnlich funktioniert wie bei Windows 8. Man schaut den rechten Bildschirmrand an und dann klappt nach einer Zeit ein Menu heraus? So könnte man viele ablenkende Knöpfe verstecken. Am tollsten wäre dann ja noch ein Weg Webseiten auf diese Art der Bedienung vorzubereiten. So könnte man dann Webapps für die eyeGui entwickeln und das dann z.B. für die individuelle Förderung von Kindern einsetzen, die unter entsprechenden Bedingungen leben.
Antworten