Conference PaperPDF Available

Rapid Prototyping von Interaktionskonzepten in der universitären MCI-Lehre

Authors:

Abstract and Figures

In der Lehre zur MCI (Mensch-Computer-Interaktion) stellt sich immer wieder die Herausforderung, praktische Übungen mit spannenden Ergebnissen durchzuführen, die sich dennoch nicht in technischen Details verlieren sondern MCI-fokussiert bleiben. Im Lehrmodul „Interaktionsdesign“ an der Universität Hamburg werden von Studierenden innerhalb von drei Wochen prototypische Interaktionskonzepte für das Spiel Neverball entworfen und praktisch umgesetzt. Anders als in den meisten Grundlagenkursen zur MCI werden hier nicht Mock-Ups, sondern lauffähige Software entwickelt. Um dies innerhalb der Projektzeit zu ermöglichen, wurde Neverball um eine TCP-basierte Schnittstelle erweitert. So entfällt die aufwändige Einarbeitung in den Quellcode des Spiels und die Studierenden können sich auf ihre Interaktionsprototypen konzentrieren. Wir beschreiben die Erfahrungen aus der mehrmaligen Durchführung des Projektes und erläutern unser Vorgehen bei der Umsetzung. Die Ergebnisse sollen Lehrende im Bereich MCI unterstützen, ähnliche praxisorientierte Übungen mit Ergebnissen „zum Anfassen“ zu gestalten.
Content may be subject to copyright.
Rapid Prototyping von Interaktionskonzepten in der
universitären MCI-Lehre
Julian Fietkau, Martin Christof Kindsmüller, Timo Göttel
Human-Computer Interaction
Fachbereich Informatik
Universität Hamburg
Vogt-Kölln-Straße 30
D-22527 Hamburg
julian.fietkau@informatik.uni-hamburg.de
mck@informatik.uni-hamburg.de
timo.goettel@informatik.uni-hamburg.de
Abstract: In der Lehre zur MCI (Mensch-Computer-Interaktion) stellt sich immer
wieder die Herausforderung, praktische Übungen mit spannenden Ergebnissen durch-
zuführen, die sich dennoch nicht in technischen Details verlieren sondern MCI-
fokussiert bleiben. Im Lehrmodul „Interaktionsdesign“ an der Universität Hamburg
werden von Studierenden innerhalb von drei Wochen prototypische Interaktionskon-
zepte für das Spiel Neverball entworfen und praktisch umgesetzt. Anders als in den
meisten Grundlagenkursen zur MCI werden hier nicht Mock-Ups, sondern lauffähige
Software entwickelt. Um dies innerhalb der Projektzeit zu ermöglichen, wurde Never-
ball um eine TCP-basierte Schnittstelle erweitert. So entfällt die aufwändige Einarbei-
tung in den Quellcode des Spiels und die Studierenden können sich auf ihre Interak-
tionsprototypen konzentrieren. Wir beschreiben die Erfahrungen aus der mehrmaligen
Durchführung des Projektes und erläutern unser Vorgehen bei der Umsetzung. Die
Ergebnisse sollen Lehrende im Bereich MCI unterstützen, ähnliche praxisorientierte
Übungen mit Ergebnissen „zum Anfassen“ zu gestalten.
1 Einleitung
Das Lehrmodul Interaktionsdesign an der Universität Hamburg hat die Zielsetzung,
als Grundlagenmodul für Mensch-Computer-Interaktion im Sinne der Empfehlung der
Gesellschaft für Informatik e.V. zu dienen [Fac06]. Übergreifende Lernziele umfas-
sen hierbei u.a. die Grundlagen menschlicher Informationsverarbeitung, Arten von Ein-
/Ausgabegeräten und mögliche Interaktionstechniken. Die GI schlägt zur praktischen Ver-
tiefung vor allem Übungen zu Spezifikation und Prototyping vor. In Hamburg wird als dar-
über hinausgehender Teil der Einführungsveranstaltung im Rahmen eines dreiwöchigen
Kurzprojekts ein lauffähiger Software-Prototyp entwickelt. Diese interaktiven Prototypen
ermöglichen den Studierenden, neue Interaktionsprinzipien zu explorieren, zu entwerfen
und zu evaluieren.
Solche Projekte sind im Rahmen eines MCI-Kurses i.d.R. schwer umzusetzen, weil die
Softwareentwicklung nicht Kernthema sein soll und die Teilnehmer bezogen auf das Pro-
grammieren unterschiedliche Vorerfahrungen und Vorlieben haben. Damit sich die Studie-
renden stattdessen möglichst auf ihre Ideen und deren Umsetzung konzentrieren können,
soll das verwendete System in Bezug auf die Programmierung leicht und flexibel ansprech-
bar sein.
Im Jahr 2010 wurde in diesem Rahmen ein fünfwöchiges Mini-Projekt auf Basis des Spiels
SheepLifter [Jep10] durchgeführt. SheepLifter ist in Java implementiert, womit die Stu-
dierenden in den einführenden softwaretechnischen Veranstaltungen an der Universität
Hamburg arbeiten. Die Hoffnung der Organisatoren, dass sich die Studierenden schnell im
Quellcode des Spiels zurecht finden würden, erfüllte sich nicht. Es gab über die gesamte
Projektlaufzeit große Probleme, u.a. bereits beim Kompilieren des Codes. Die Studieren-
den mussten sich mehr mit fremdem Code befassen als mit ihren eigenen konzeptuellen
Ideen, so dass eigentliche MCI-Inhalte kaum zur Geltung kamen.
Für 2011 musste der Projektzeitraum aufgrund von organisatorischen Umständen auf drei
Wochen verkürzt werden. Im Rahmen der Neuplanung wurde als Basis das Spiel Never-
ball [Rob14] gewählt. Es hat ein einfaches Spielkonzept: Eine Kugel muss durch ein La-
byrinth ins Ziel bewegt werden, indem die 3D-Spielwelt in zwei Richtungen geneigt wird.
Diese Grundidee bietet viel Spielraum für innovative Interaktionskonzepte mit Eingabe-
Hardware aller Art. Gleichzeitig hat das Spiel einen überschaubaren „Funktionsumfang“,
der schnell zu erfassen ist und zum Ausprobieren einlädt.
Bei Neverball handelt es sich um freie Software, daher hatten die Lehrenden die Möglich-
keit, die Software vor Beginn des Projekts um eine externe Programmierschnittstelle zu
erweitern. Neverball wird normalerweise entweder mit der Maus oder mit den Pfeiltasten
der Tastatur gesteuert. Die von uns für das Projekt modifizierte Version besitzt zusätz-
lich eine Netzwerkschnittstelle (vgl. Abschnitt 2). Das Ziel hierbei ist, eine übersichtliche
Schnittstelle zu bieten, durch die das Spiel leicht von eigener Software gesteuert werden
kann, ohne dass ein beträchtlicher Teil des internen Programmcodes des Spiels verstanden
werden muss. In dieser Hinsicht gibt es Parallelen zu Programmier-Lernumgebungen wie
Greenfoot [HK04], welche jedoch im Gegensatz zu unserer Schnittstelle normalerweise
auf eine vorher festgelegte Programmiersprache beschränkt sind (bei Greenfoot ist das
Java).
Einen Einblick in die Ideenvielfalt der Ergebnisse aus der mehrfachen Durchführung des
Projektes geben wir in Abschnitt 3. In Abschnitt 4 findet eine übergreifende Bewertung
des Projekts statt.
2 Umsetzung
Im Rahmen des Projektes treffen jedes Jahr Studierende mit heterogener Programmierer-
fahrung aufeinander. Zwar ist der C-Quellcode von Neverball verfügbar, Vorkenntnisse
mit C sind jedoch selten, sodass eine Beschränkung auf C die Situation im Vergleich zu
SheepLifter noch verschlechtern würde.
ObjC
A
Java
Py
C#
C++
Neverball
TCP-
Schnittstelle
Vielfalt
verschiedener
Clients
Abbildung 1: Schematische Darstellung der Projekttechnologie. Das Spiel Neverball wurde um
eine plattformunabhängige Netzwerkschnittstelle erweitert.
Um den Studierenden mehr Freiraum zu lassen und die unterschiedlichen Vorkenntnisse
nutzbar zu machen, wurde Neverball um eine einfache Netzwerkschnittstelle erweitert,
welche mit jeder modernen Programmiersprache (neben Java und C also z.B. auch Py-
thon, C# und viele andere) genutzt werden kann. Diese spiegelt die internen Variablen des
Spiels für die Neigung in x- und z-Richtung sowie die Parameter der Kamera nach au-
ßen und bildet so eine vergleichsweise klar definierte und überschaubare Schnittstelle. In
der Hauptschleife des Spiels wird kontinuierlich ein Socket eines definierten TCP-Ports
abgefragt. Sobald dort ein passendes Datenpaket eintrifft, werden die internen Variablen
entsprechend aktualisiert. Der Zusammenhang der verschiedenen Komponenten ist in Ab-
bildung 1 dargestellt.
Zusätzlich zum modifizierten Neverball-Quellcode erhalten die Studierenden Bei-
spielprogramme in C bzw. Java, die die Client-Seite des Protokolls exemplarisch umsetzen
und eine Steuerung des Spiels über die Pfeiltasten der Tastatur erlauben. An diesem Code
können sich die Studierenden orientieren.
Der gesamte Quellcode zum Projekt ist frei lizensiert online verfügbar1.
3 Ergebnisse der Durchführung
Das Neverball-Projekt wurde im Lehrmodul Interaktionsdesign in den Sommersemestern
2011, 2012 und 2013 erfolgreich durchgeführt. In allen drei Jahren konnten die Studieren-
den jeweils innerhalb von drei Wochen eine Vielzahl von Interaktionsprototypen umsetzen.
Im Folgenden werden protoypische und besonders innovative Umsetzungen geschildert:
mehrere Prototypen auf Basis von Bildverarbeitung, teilweise mit der Microsoft Ki-
nect, teilweise mit einer handelsüblichen Webcam und einem Augmented-Reality-
Framework;
1GitHub: https://github.com/jfietkau/neverball-fbiuhh
spezialisierte Eingabe-Hardware wie das Sensable Phantom, die 3Dconnexion 3D-
Maus oder eine Tanzmatte (Abb. 2);
selbstgebaute Eingabe-Hardware sowohl auf Basis der Arduino-Plattform als auch
Lego MindStorms;
Nutzung der Neigungssensoren in Android-Smartphones, der Nintendo WiiMote so-
wie dem Apple MacBook Pro;
Ansteuerung diverser klassischer Gamepads verschiedener Hersteller.
Diese Vielzahl an unterschiedlichen Lösungsansätzen und die Anzahl erfolgreich abge-
schlossener Projekte innerhalb des vergleichsweise kurzen Prototyping-Zeitraums deuten
darauf hin, dass das Schema einer sehr einfachen netzwerkbasierten Schnittstelle geeignet
ist, die Entwicklung verschiedenster Interaktionsprototypen in kurzen Zeiträumen zu er-
möglichen. Anders als im SheepLifter-Projekt konnten die Teilnehmer ihre Zeit und ihre
mentale Energie in die Planung und Umsetzung ihrer Entwurfsideen investieren, statt sich
in fremde Technik einzuarbeiten. Dennoch blieb die Möglichkeit der intensiven Program-
mierarbeit für jene Teams erhalten, die diese gerne nutzen wollten.
Beispielhaft lassen sich zwei Prototypen aus dem Jahr 2012 gegenüberstellen, die beide auf
der Microsoft Kinect (ein zur Erkennung von Gesten geeignetes Kamerasystem) basierten.
Das eine Team griff auf vorhandene Frameworks und Bibliotheken für Gestenerkennung
zurück und erreichte dadurch Planungsfreiheit auf einem eher hohen Abstraktionsniveau,
ohne sich mit vielen technischen Details befassen zu müssen. Das andere Team imple-
mentierte eine eigene Gestenverarbeitung auf Basis von OpenCV, welche zwar weniger
Robustheit und Entwurfsflexibilität erreichte, aber dafür im Detail exakt an die Projek-
tanforderungen angepasst werden konnte. Beide Teams setzten unterschiedliche Schwer-
punkte für ihren Entwurfsraum, erreichten jedoch auf ihren jeweiligen Wegen in beiden
Fällen eine hohe Ergebnisqualität.
Abbildung 2: Neverball-Spieler auf einer Tanzmatte. Der Fuß auf dem rechten Pfeil kippt die
Spielwelt nach rechts.
4 Bewertung
Die Parallelen und Unterschiede in der Durchführung zwischen den Projekten basierend
auf SheepLifter 2010 und Neverball 2011 bis 2013 erlauben einen ersten – wenn auch
eher explorativ anekdotischen – Vergleich. Im Neverball-Projekt waren die Studierenden
nicht gezwungen, sich in eine bestehende Code-Basis einzuarbeiten. Stattdessen gab es
eine simple und leicht zu erklärende Schnittstelle. Das Resultat war eine höhere Qualität
der Projekt-Ergebnisse trotz kürzerem Entwicklungszeitraum: Der Anteil der vollendeten
Projekte (d.h. Erreichen des selbstgesetzten Ziels) war deutlich höher, die Umsetzungen
konnten intensiver getestet und verbessert werden. Gleichzeitig sank der Betreuungsauf-
wand.
Hinsichtlich der Lernziele erreicht unser Ansatz einen tiefergehenden Umgang mit mög-
lichen Interaktionstechnologien und -konzepten als das vorherige Projekt. Die praktische
Anwendung des Wissens in einem selbstgestalteten Kontext erleichtert das nachhaltige
Lernen [Pap93, RMSS96].
Für diese Anpassung der Software um eine solche Schnittstelle ist natürlich auch eine
Einarbeitung in den Quellcode unabdingbar, allerdings nur einmal und auf Seiten der Ver-
anstalter. Im Fall von Neverball konnte ein erfahrener Student dies in weniger als zwei
Arbeitstagen umsetzen.
Eine in jedem Jahr erkennbare Schwäche des Projekts ist, dass einige naheliegende Steue-
rungskonzepte mehrfach und wiederholt aufgegriffen wurden. Bezogen auf Neverball ent-
wickelten jedes Jahr mehrere Projektteams Konzepte, in denen die Neigung der Spielwelt
direkt auf die Neigungssensoren eines Smartphones abgebildet wurde. Obwohl es unser
Ziel war, innovative Ideen zu fördern, war festzustellen, dass einige Teams sich bereits mit
sehr naheliegenden Umsetzungen zufrieden stellten, dafür aber dort sehr fokussiert waren,
um diese Idee gut umzusetzen.
Die aktuelle technische Umsetzung der Neverball-Schnittstelle lässt noch Raum zur Er-
weiterung. Beispielsweise wäre eine gleichzeitige Anbindung mehrerer Clients technisch
denkbar, ebenso wie ein zweiter Informationsfluss von Neverball zum Client, um Ereig-
nisse im Spiel (wie etwa die Kollision mit einer Wand) im Eingabegerät verarbeiten und
darauf reagieren zu können. Diese Erweiterungen wurden bisher nicht hoch priorisiert,
wären aber mit angemessenem Aufwand umsetzbar.
5 Fazit
Lehrende im Bereich MCI haben die schwierige Aufgabe, den Bereich zwischen reinen
„Lo-Fi“-Übungen und ausgewachsenen Softwareprojekten zu treffen, in dem einerseits et-
was entwickelt wird, was später tatsächlich ausprobiert werden kann, und andererseits die
techniknahe Programmierung nicht das Kernthema verwässert. Es hat sich bei uns gezeigt,
dass das Konzept für die Übungsprojekte im Interaktionsdesign-Modul in dieser Hinsicht
das richtige Abstraktionsniveau trifft und sowohl für die Studierenden als auch für die
Lehrenden eine große Bereicherung darstellt. Anders als die Projekte aus den Jahren zuvor
funktioniert das Neverball-Projekt auch in dem kurzen Zeitraum über alle Übungsgruppen
und Semester hinweg sehr gut. Wir hoffen, dass diese Idee auch die MCI-Lehre an anderen
Orten inspirieren kann.
Literaturverzeichnis
[Fac06] Fachgruppe Software-Ergonomie. Curriculum für ein Basismodul zur Mensch-Computer-
Interaktion. Gesellschaft für Informatik e.V. (GI), Bonn, 2006.
[HK04] Poul Henriksen und Michael Kölling. Greenfoot: Combining Object Visualisation with
Interaction. In Companion to the 19th Annual ACM SIGPLAN Conference on Object-
oriented Programming Systems, Languages, and Applications, OOPSLA ’04, Seiten 73–
82, New York, NY, USA, 2004. ACM.
[Jep10] Jeppe Schmidt et al. SheepLifter. https://code.google.com/p/sheeplifter/, 2009–2010.
[Pap93] Seymour Papert. Mindstorms: Children, Computers, and Powerful Ideas. Basic Books,
Inc., New York, 2nd ed.. Auflage, 1993.
[RMSS96] Mitchel Resnick, Fred Martin, Randy Sargent und Brian Silverman. Programmable
Bricks: Toys to Think With. In IBM Systems Journal, Jgg. 35, Seiten 443–452, 1996.
[Rob14] Robert Kooima et al. Neverball. http://neverball.org/, 2001–2014.
ResearchGate has not been able to resolve any citations for this publication.
Article
Full-text available
In this paper, we discuss the applications and implications of the Programmable Brick-a tiny, portable computer embedded inside a LEGO® brick, capable of interacting with the physical world in a large variety of ways. We describe how Programmable Bricks make possible a wide range of new design activities for children, and we discuss experiences in using Programmable Bricks in three types of applications: autonomous creatures, active environments, and personal science experiments.
Conference Paper
Full-text available
The introduction of programming education with object-oriented languages slowly migrates down the curriculum and is now often introduced at the high school level. This migration requires teaching tools that are adequate for the intended target audience. In this paper, we present a new tool, named greenfoot, for teaching object-oriented programming aimed at students at or below college level, with special emphasis of supporting school age learners. Greenfoot was designed by analysing and combining the most beneficial aspects of several existing tools. It aims at combining the simplicity and visual appeal of microworlds with much of the flexibility and interaction of BlueJ. To achieve its goals of providing a suitable learners' environment, greenfoot provides a meta-framework that allows easy creation of different, significantly varied microworlds.
Curriculum für ein Basismodul zur Mensch-Computer-Interaktion
  • Fachgruppe Software-Ergonomie
Fachgruppe Software-Ergonomie. Curriculum für ein Basismodul zur Mensch-Computer-Interaktion. Gesellschaft für Informatik e.V. (GI), Bonn, 2006.