{"id":1790,"date":"2011-08-31T14:01:38","date_gmt":"2011-08-31T12:01:38","guid":{"rendered":"http:\/\/www.centigrade.de\/blog\/en\/?p=1790"},"modified":"2017-02-23T15:53:40","modified_gmt":"2017-02-23T14:53:40","slug":"kinect-revolution-der-user-interfaces-teil1","status":"publish","type":"blog","link":"https:\/\/www.centigrade.de\/de\/blog\/kinect-revolution-der-user-interfaces-teil1\/","title":{"rendered":"Kinect: Revolution der User Interfaces? \u2013 Teil 1"},"content":{"rendered":"<p>Anfang November 2010 ver\u00f6ffentliche Microsoft\u00ae die <a href=\"https:\/\/developer.microsoft.com\/en-us\/windows\/kinect\" target=\"_blank\">Kinect<\/a>\u2122. Sie ist eine Erweiterung der Xbox 360\u2122 Spielkonsole, welche im Grundsatz die ber\u00fchrungslose Steuerung von Spielen erm\u00f6glichen soll. Schon lange vor ihrer Ver\u00f6ffentlichung wurde ihr das Revolutionieren der Mensch-Maschine-Interaktion nachgesagt. Die Erwartungshaltung gegen\u00fcber dieser Technologie war hoch und erinnerte so manchen an das popul\u00e4re <strong>Natural User Interface<\/strong> (NUI) aus <a href=\"http:\/\/www.youtube.com\/watch?v=NwVBzx0LMNQ\" target=\"_blank\">Minority Report<\/a>. Wird diese Zukunftsmusik schon bald Realit\u00e4t?<br \/>\n<!--more--><br \/>\nDie Kinect erm\u00f6glicht die Steuerung eines Systems durch <strong>K\u00f6rperbewegungen<\/strong> und <strong>Gesten<\/strong>. Es handelt sich hierbei um eine kosteng\u00fcnstige Hardware-Kombination aus Tiefenkamera, RGB-Kamera, 3D-Mikrofon und spezieller Software. Ihr Einsatz beschr\u00e4nkte sich zun\u00e4chst nur exklusiv auf die Xbox 360. Neben den bereits sehr fr\u00fch verf\u00fcgbaren Homebrew -Treibern, steht nun aber seit Juni 2011 auch die <a href=\"http:\/\/research.microsoft.com\/en-us\/um\/redmond\/projects\/kinectsdk\/\" target=\"_blank\">Beta Non-Commercial Kinect SDK<\/a> f\u00fcr Windows zur Verf\u00fcgung.<\/p>\n<p><a href=\"https:\/\/www.centigrade.de\/wordpress\/wp-content\/uploads\/kinect_closeup_34952_screen1.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.centigrade.de\/wordpress\/wp-content\/uploads\/kinect_closeup_34952_screen1-300x187.jpg\" alt=\"\" title=\"kinect_closeup_34952_screen\" width=\"300\" height=\"187\" align=\"center\" class=\"alignnone size-full wp-image-1746\"\/><\/a><br \/>\n<font size=\"1,7\"><strong>Der Kinect-Sensor (<a href=\"http:\/\/imagequalitymatters.blogspot.com\/2011\/01\/kinect-on-pc-now-to-be-official.html\" target=\"_blank\">Quelle<\/a>)<\/strong><\/font><\/p>\n<p>An den 8 Millionen verkauften Ger\u00e4ten in den ersten 60 Tagen nach Markteinf\u00fchrung l\u00e4sst sich ablesen, wie die Kinect in der Gamer-Community einschlug. Einer der beeindruckendsten und ungew\u00f6hnlichsten Aspekte moderner Interaktionskonzepte wie Gesten- oder Touchbedienung, ist deren Evolutionsrichtung: In der Vergangenheit wurden neue Technologien zun\u00e4chst in Gesch\u00e4ftswelt und Wirtschaft (oder auch im milit\u00e4rischen Bereich) etabliert und hielten erst dann Einzug in den privaten Raum. Diese Reihenfolge scheint sich umzukehren.<\/p>\n<p>Wie auch in unserem Artikel <a href=\"http:\/\/www.centigrade.de\/de\/blog\/gruende-warum-serioese-software-branchen-hinsichtlich-user-experience-noch-etwas-von-computerspielen-lernen-konnen\/\" target=\"_blank\">&#8222;10 Gr\u00fcnde warum \u201eseri\u00f6se\u201c Softwarebranchen hinsichtlich User Experience noch etwas von Computerspielen lernen k\u00f6nnen&#8220;<\/a> thematisiert, ist die Spiele-Industrie ein Motor f\u00fcr Innovationen. Warum sollte nicht auch die <strong>seri\u00f6se Industrie<\/strong> davon profitieren. Dieser Artikel besch\u00e4ftigt sich speziell mit der Frage, ob die neuartigen M\u00f6glichkeiten der Kinect nicht auch im industriellen Kontext einen Mehrwert liefern k\u00f6nnen. <\/p>\n<h3>Die Hard- und Software<\/h3>\n<p>In der Regel wird die Kinect \u00fcber einen speziellen Anschluss mit der Xbox 360 verbunden. Es besteht aber die alternative M\u00f6glichkeit, den Sensor \u00fcber einen mitgelieferten Adapter, an den USB-Port eines Computers anzuschlie\u00dfen.  Nach der Installation des SDKs k\u00f6nnen dann bis zu sechs Personen erkannt werden. Allerdings wird nur von zwei Personen die Skelet-Information rekonstruiert. Hierf\u00fcr berechnet die Hardware anhand der Tiefeninformationen 20 Punkte pro Person und verfolgt diese auch wenn die Person sich bewegt (sog. \u201eTracking\u201c). Wie in folgender Abbildung zu sehen ist, entsprechen die Punkte den wichtigsten Gelenken des menschlichen K\u00f6rpers.<\/p>\n<p><a href=\"https:\/\/www.centigrade.de\/wordpress\/wp-content\/uploads\/DebugView.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.centigrade.de\/wordpress\/wp-content\/uploads\/DebugView.jpg\" alt=\"\" title=\"DebugView\" width=\"609\" height=\"234\" class=\"aligncenter size-full wp-image-1809\" srcset=\"https:\/\/www.centigrade.de\/wordpress\/wp-content\/uploads\/DebugView.jpg 609w, https:\/\/www.centigrade.de\/wordpress\/wp-content\/uploads\/DebugView-300x115.jpg 300w\" sizes=\"auto, (max-width: 609px) 100vw, 609px\" \/><\/a><br \/>\n<font size=\"1,7\"><strong>Hauptfenster des &#8222;SkeletalViewers&#8220; (<a href=\"http:\/\/research.microsoft.com\/en-us\/um\/redmond\/projects\/kinectsdk\/docs\/SkeletalViewer_Walkthrough.pdf\" target=\"_blank\">Quelle<\/a>)<\/strong><\/font><\/p>\n<p>Das <a href=\"http:\/\/research.microsoft.com\/en-us\/um\/redmond\/projects\/kinectsdk\/docs\/ProgrammingGuide_KinectSDK.pdf\" target=\"_blank\">Datenblatt<\/a> verr\u00e4t, dass die Tiefen-Wahrnehmung und somit auch das Skelet-Tracking ab einem Abstand von 1,20 Meter funktioniert. In dieser Entfernung erfasst die Kinect einen knapp 1,30 Meter breiten sensitiven Bereich. Dieser vergr\u00f6\u00dfert sich mit wachsendem Abstand vom Sensor  (Bis  max. 3,50 Meter, wo er dann 3,80 Meter breit ist). Ein proportionaler Vergleich der Abmessungen im Bezug auf eine Person gibt die folgende Abbildung.<\/p>\n<p><a href=\"https:\/\/www.centigrade.de\/wordpress\/wp-content\/uploads\/SensorArea.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.centigrade.de\/wordpress\/wp-content\/uploads\/SensorArea.jpg\" alt=\"\" title=\"SensorArea\" width=\"450\" height=\"253\" class=\"aligncenter size-full wp-image-1810\" srcset=\"https:\/\/www.centigrade.de\/wordpress\/wp-content\/uploads\/SensorArea.jpg 450w, https:\/\/www.centigrade.de\/wordpress\/wp-content\/uploads\/SensorArea-300x168.jpg 300w\" sizes=\"auto, (max-width: 450px) 100vw, 450px\" \/><\/a><br \/>\n<font size=\"1,7\"><strong>Erfassungsberiech des Tiefen-Sensors (<a href=\"http:\/\/www.tomshardware.co.uk\/game-developers-conference-gdc-2011-world-of-warcraft,review-32131-2.html\" target=\"_blank\">Quelle<\/a>)<\/strong><\/font><\/p>\n<p>Das beste Tracking-Ergebnis wird durch frontales Stehen vor dem Sensor erzielt. Abgesehen von der Skelet-Struktur liefert der Sensor auch ein 640&#215;480 Pixel gro\u00dfes RGB Bild und ein 320&#215;240 Pixel gro\u00dfes Tiefenbild. Dar\u00fcber hinaus beherbergt der Sensor ein hochaufl\u00f6sendes 3D-Mikrofon, mit dem beispielsweise Spracherkennung und Ger\u00e4usch-Lokalisierung realisiert werden k\u00f6nnen.<\/p>\n<h3>UI-Interaktion in Kinect-Spielen<\/h3>\n<p>Ziel dieses Beitrages ist es, eine Absch\u00e4tzung zur industriellen Nutzung der Kinect zu geben. Aus diesem Grund ist es sicherlich hilfreich, aus bereits existierenden NUI-L\u00f6sungen der Kinect zu lernen. Ein Artikel von <a href=\"http:\/\/arstechnica.com\/gaming\/news\/2010\/11\/the-kinect-effect-how-harmonix-mastered-dance-centrals-menus.ars\" target=\"_blank\">Andrew Webster<\/a> und ein Beitrag von <a href=\"http:\/\/www.useit.com\/alertbox\/kinect-gesture-ux.html\" target=\"_blank\">Jakob Nielsen<\/a> dienen unter anderem als Grundlage f\u00fcr diesen Abschnitt.<\/p>\n<p>Einer der ersten Entwicklerstudios, das sich mit den Thema Kinect auseinandergesetzt hat, war <a href=\"http:\/\/www.harmonixmusic.com\/\" target=\"_blank\">Harmonix\u00ae Music Systems<\/a> mit dem Spiel <a href=\"http:\/\/www.dancecentral.com\/\" target=\"_blank\">DanceCentral\u2122<\/a>. Die Entwickler sahen sich hierbei mit dem Problem konfrontiert, ein Men\u00fc-System zu entwickeln, das Nutzern Spa\u00df macht und das gew\u00f6hnliche Gamepad ersetzt. Es sollte intuitiv nutzbar sein und weiterhin eine verst\u00e4ndliche Navigation bieten. Bis dato existierten keine soliden Beispiele oder Referenzen f\u00fcr solch ein System. Sie stellten schnell fest, dass es weniger effizient ist, zuerst Arbeit und Zeit in die detaillierte Beschreibung von Konzepten f\u00fcr m\u00f6gliche Interaktions-Arten oder -Metaphern zu investieren. Der effektivste und direkteste Weg bestand darin, Ideen sehr schnell in kleinen Prototypen zu realisieren und deren Tauglichkeit zu testen. Dieser Denkansatz entspricht exakt der Philosophie von Centigrade und wird im Artikel <a href=\"http:\/\/www.centigrade.de\/de\/blog\/user-interface-prototypen-wiederbeleben-ohne-zombies-zu-erschaffen-1\/\" target=\"_blank\">UI Prototyping<\/a> begr\u00fcndet. In den folgenden Abschnitten werden aus unterschiedlichsten Kinect-Spielen bekannte Interaktionsarten vorgestellt und klassifiziert.<\/p>\n<h4>Desktop in der Luft<\/h4>\n<p>Im Kontext der Men\u00fcf\u00fchrung und Navigation ist Anwendern die &#8222;Point &#038; Click&#8220;-Interaktion vertraut. Der Maus-Cursor wird nun mit den H\u00e4nden des Spielers navigiert. Das Selektieren, also das Click, eines Men\u00fc-Punktes stellt sich aber als Problem dar, da durch die H\u00e4nde nur ein Hover-Event erfasst werden kann, aber kein Click-Event. Um dieses Manko auszugleichen, entwickelten sich verschiedene Best\u00e4tigungs-Metaphern.<\/p>\n<h5>Clickable-Button<\/h5>\n<p>Diese Best\u00e4tigung lehnt sich an einen Button aus der realen Welt an. Der Spieler bewegt also seine Hand \u00fcber einen Men\u00fc-Punkt oder zeigt in seine Richtung. Um den Button zu selektieren bewegt er die Hand in seine Richtung, so als ob er ihn dr\u00fccken w\u00fcrde. Das Fehlen eines echten Druckpunktes (<strong>\u201ehaptisches Feedback\u201c<\/strong>), also das \u201eDr\u00fccken\u201c in der Luft ohne jeglichen Widerstand f\u00fchlt sich allerdings sehr unnat\u00fcrlich an. Dar\u00fcberhinaus k\u00f6nnte w\u00e4hrend des Selektierens, die Position des Cursors ver\u00e4ndert und somit ein falscher Punkt ausgew\u00e4hlt werden.<\/p>\n<h5>Best\u00e4tigungs-Button<\/h5>\n<p>Nach der prim\u00e4ren Selektion eines Men\u00fc-Punktes erscheint ein Best\u00e4tigungs-Button. Aktiviert der Spieler diesen Button wird die Auswahl verifiziert. M\u00f6chte der Spieler nicht best\u00e4tigen, bewegt er die Hand einfach vom Men\u00fcpunkt weg und der Best\u00e4tigungs-Button verschwindet. Diese Art der Best\u00e4tigung wird beispielsweise im Spiel \u201eYour Shape\u201c verwendet.<\/p>\n<h5>Countdown<\/h5>\n<p>Eine weitere M\u00f6glichkeit zur Best\u00e4tigung einer Selektion besteht im Einsatz eines Countdowns. Bewegt der Nutzer seine Hand \u00fcber den Button, erscheint ein sich f\u00fcllender Kreis, der einen zeitlichen Countdown repr\u00e4sentiert. Erst nach Ablauf des Countdowns wird die Aktion hinter dem Button ausgel\u00f6st. Der Countdown l\u00e4uft nur so lange der Nutzer seine Hand \u00fcber dem Button hat.  Entfernt sich die Hand schon vor dem Ablaufen des Countdowns wird er abgebrochen. Auf diese Weise wird das  versehentliche Aktivieren eines anderen Buttons, aufgrund von fehlerhaften Interpretationen, verhindert.<\/p>\n<h5>Magnet-Button<\/h5>\n<p>Leider stellt bereits das exakte Treffen der Men\u00fc-Punkte f\u00fcr manche Nutzer ein Problem dar. Um Ungenauigkeiten ausgleichen zu k\u00f6nnen, wurde der magnetische Button entwickelt. Sobald die Hand des Users in die N\u00e4he eines Buttons gelangt, wird der Cursor von ihm angezogen und erleichtert das Zielen.<\/p>\n<h5>Best\u00e4tigung durch Gesten<\/h5>\n<p>Um die Best\u00e4tigung von  Selektionen nicht innerhalb von GUI\u2019s, unter Zuhilfenahme von speziellen Buttons abbilden zu m\u00fcssen, kommen oft auch kleinere Gesten zum Einsatz.  Beispielsweise findet man  die Metapher des \u201eHeranziehens eines Buttons\u201c. Sobald die Hand auf dem entsprechendem Button liegt, zieht der Spieler seinen ausgestreckten Arm in Richtung seines K\u00f6rpers. Mit dieser Geste best\u00e4tigt er die Auswahl. \u00c4hnlich dazu kann zur Best\u00e4tigung auch die Hand des ausgestreckten Arms in eine bestimmte Richtung winken, wie es im Spiel Dance Central der Fall ist.<\/p>\n<h4>Gesten<\/h4>\n<p>Einer der popul\u00e4rsten Gesten f\u00fcr die Kinect ist die <strong>Swipe-Geste<\/strong>. Sie wird u.a. verwendet um in einer Auswahl verschiedener aufeinanderfolgender Screens zu navigieren. Sie imitiert das Wegwischen eines Screens durch eine Armbewegung, so dass der n\u00e4chste Screen ins Bild geschoben wird. Diese Geste findet sich im kleineren Format auch bei Smartphones wieder \u2013 nat\u00fcrlich im Touchumfeld und daher mit Fingern durchgef\u00fchrt. Allerdings birgt das horizontale Wischen mit dem Arm Probleme. Die Entwickler von Harmonix mussten feststellen, dass jeder User seine eigene Art hat mit der Hand zu wischen. Dem System ein gro\u00dfes Spektrum dieser speziellen Bewegung beizubringen, stellte sich als aufw\u00e4ndig dar und eine einhundert prozentige Sicherheit, dass alle erdenklichen Auspr\u00e4gungen dieser Geste abgedeckt sind, kann dennoch nie gegeben werden. Daher entscheidet man sich, den Nutzer und nicht das Systems zu trainieren.  Ob dieser Ansatz dem \u201eUser Centered Design\u201c entspricht ist wiederum fraglich, da der Nutzer trainiert wird und nicht das System um den Nutzer herum gestaltet wird. Im Rahmen eines User-Centered-Design Prozesses ist es allerdings legitim festzustellen, dass es bezogen auf bestimmte Aspekte zu viele Freiheitsgrade gibt, so dass man keine einheitliche L\u00f6sung liefern kann und somit doch dem Nutzer in einem gewissen Grad trainieren muss.<br \/>\nEin ebenfalls interessanter Ansatz zur Navigation\/Interaktion  sind <strong>\u201eReal World Metaphors\u201c<\/strong>. Hierbei werden Funktion und Bedienung von Gegenst\u00e4nden in die Anwendung portiert. Ein solcher Ansatz, der leider an die technischen Grenzen des Systems stie\u00df, war die Rad-Geste, welche von Harmonix erdacht wurde. Hier sollte ein Rad, wie es aus der Fernsehsendung \u201eDer Preis ist hei\u00df\u201c bekannt ist, imitiert werden.  Problem bei dieser Geste war, dass die Skelet-Aufl\u00f6sung der Kinect leider nicht hoch genug ist, um das Loslassen des Rades zu erkennen. Dadurch kann nicht die, f\u00fcr die Bewegung des Rades ben\u00f6tigte, Beschleunigung berechnet werden.<br \/>\nWas allerdings durch dieses Beispiel hervorgeht ist, dass das Nachahmen des Umganges mit realen Gegenst\u00e4nden zur Entwicklung sinnvoller Gesten beitr\u00e4gt, wie es auch bei Rennspielen der Fall ist. Hier wird das Lenkrad imitiert. Durch gemimte Lenkbewegungen der F\u00e4uste steuert der Spieler ein Vehikel. \u00dcber H\u00fcftbewegungen driftet dieses und ein Sto\u00df der F\u00e4uste nach vorn l\u00f6st einen \u201eBoost\u201c aus. Leider fehlt trotz der funktionierenden Steuerung die Haptik und das physische Feedback des Vehikels komplett, was im Endeffekt als unnat\u00fcrlich und st\u00f6rend aufgefasst wird. Trotzdem zeigt diese Geste, dass im Gegensatz zum Men\u00fc-System im eigentlichem Spiel (also dem tats\u00e4chlichem Spiele-Kontext) die Manipulation von Objekten wieder absolut intuitiv ist. Es wird mit Gegenst\u00e4nden wie B\u00e4llen, Sportger\u00e4ten, Steuerelementen oder \u00c4hnlichem interagiert, welche sich wie aus der Realit\u00e4t bekannt manipulieren lassen. <\/p>\n<h4>Profil Erkennung<\/h4>\n<p>Ein weiteres interessantes Feature und das gr\u00f6\u00dfte Potential der Kinect birgt die <strong>Gesichtserkennung<\/strong>. Tritt ein Spieler vor den Sensor wird nicht nur sein Skelet rekonstruiert, sondern auch sein Gesicht erkannt. Die Xbox 360 meldet sich dann automatisch beim Xbox-Live-Profil des Spielers an. Es wird der vom Spieler selbst erstellte Avatar geladen und die Kinect kalibriert sich auf Basis der Account-Daten. <a href=\"http:\/\/www.useit.com\/alertbox\/kinect-gesture-ux.html\" target=\"_blank\">Jakob Nielson<\/a> nennt diese Art der Interaktion \u201enon-command user interface\u201c:<\/p>\n<p><i>\u201eYou don&#8217;t feel that you&#8217;re issuing commands to a computer; you simply go about your business the way you normally would, and the computer does what&#8217;s needed to complete its part of the task.\u201c<\/i><\/p>\n<p>Nach diesem \u00dcberblick der bisherigen M\u00f6glichkeiten zur Realisierung von UI\u2019s f\u00fcr den Kinect-Sensor folgt im <a href=\"http:\/\/www.centigrade.de\/de\/blog\/kinect-revolution-der-user-interfaces-teil2\/\" target=\"_blank\">Teil 2<\/a> dieses Artikels die kritische Hinterfragung des Vorgestellten und eine Einsch\u00e4tzung des Potenzials f\u00fcr den Einsatz von Kinect im industriellen\/wirtschftlichen Bereich.<\/p>\n<p><font size=\"1,7\"><br \/>\nMicrosoft, Kinect, Windows und Xbox 360 sind Marken oder eingetragene Marken der Microsoft Corporation in den USA und\/oder anderen L\u00e4ndern.<br \/>\nHarmonix und DanceCentral sind Marken oder eingetragene Marken der Harmonix Music Systems, Inc. in den USA und\/oder anderen L\u00e4ndern.<br \/>\n<\/font><\/p>\n","protected":false},"author":21,"featured_media":0,"template":"","tags":[84,102],"class_list":["post-1790","blog","type-blog","status-publish","hentry","tag-prototyping-de","tag-user-interface-design-de"],"acf":[],"_links":{"self":[{"href":"https:\/\/www.centigrade.de\/de\/wp-json\/wp\/v2\/blog\/1790","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.centigrade.de\/de\/wp-json\/wp\/v2\/blog"}],"about":[{"href":"https:\/\/www.centigrade.de\/de\/wp-json\/wp\/v2\/types\/blog"}],"author":[{"embeddable":true,"href":"https:\/\/www.centigrade.de\/de\/wp-json\/wp\/v2\/users\/21"}],"version-history":[{"count":0,"href":"https:\/\/www.centigrade.de\/de\/wp-json\/wp\/v2\/blog\/1790\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.centigrade.de\/de\/wp-json\/wp\/v2\/media?parent=1790"}],"wp:term":[{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.centigrade.de\/de\/wp-json\/wp\/v2\/tags?post=1790"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}