Michael Kipp's Blog

Student projects: Interaction Engineering (2018/19)

Check out the latest Interaction Engineering team projects of last semester under interaction.hs-augsburg.de/projects.

15 students from all over the world with different backgrounds (computing, design, business, …) successfully completed the course and submitted a finished prototype. This year a number of projects dealt with reachability on mobile devices but we also saw gestural, touch and gaze interaction, one virtual reality project and interaction with a musical instrument.

Congratulations to all students for their excellent outcomes!

Click on the following screen shot to get to our project page where you can browse all projects. Each project comes with a short video, a written report and a set of slides.

Java: Umstieg auf OpenJDK

(es gab einige Updates bezüglich Windows, Dank an Corinna List und Stefan König für ihren Input…)

Leider gab es in letzter Zeit Entwicklungen, die es erfordern, dass alle, die mit Java (und NetBeans) arbeiten (oder es unterrichten) sich überlegen müssen, ob sie nicht umsteigen auf OpenJDK und auf IntelliJ.

Die eine Entwicklung ist, dass Oracle, die Firma, die Java bislang entwickelt hat, beschlossen hat, Java ab Januar 2019 zu kommerzialisieren. Das heißt: Ab sofort (Java 8) gibt es Updates nur für Entwickler*innen, die eine Lizenz erwerben. Das ist ein drastischer Einschnitt in der Geschichte der Sprache Java. (Siehe Artikel auf Heise, Artikel in Computerwoche und Artikel auf Aspera)

Zum Glück gibt es OpenJDK, eine open-source-Variante von Java. Diese Variante wurde 2007 von der Firma Sun Microsystems herausgegeben und wird aktiv von der Community weiterentwickelt. Laut Wikipedia ist “OpenJDK [is] the official reference implementation of Java SE since version 7”.

Die zweite Entwicklung betrifft die Entwicklungsumgebung NetBeans. Oracle will NetBeans “loswerden” und zu Apache abgeben (siehe Artikel auf ZDNET und Artikel auf Heise), was mittelfristig vielleicht keine schlechte Idee ist. Aber derzeit befindet sich NetBeans in einer Übergangsphase, so dass die Installation der “richtigen” NetBeans-Version umständlich und nicht unbedingt zu empfehlen ist.

Was tun?

Aufgrund der Entwicklungen habe ich zwei Empfehlungen:

  1. auf OpenJDK umsteigen (leider muss JavaFX separat eingebunden werden)
  2. die Entwicklungsumgebung IntelliJ IDEA verwenden (die community edition CE ist kostenlos)

Zu beiden Empfehlungen möchte ich ein paar Tipps geben. IntelliJ finden Sie hier: https://www.jetbrains.com/idea

OpenJDK

OpenJDK kann man hier runterladen (derzeit Version 11): http://jdk.java.net/11

Einrichtung unter Windows

Unter Windows muss man die Datei auspacken und das resultierende Verzeichnis (z.B. jdk-11.0.2) an irgendeine Stelle schieben, z.B. nach

C:\Program Files\Java

oder auch

C:\Programme\Java

Dann haben Sie dort also ein Verzeichnis

C:\Program Files\Java\jdk-11.0.2

Jetzt müssen wir Umgebungsvariablen anpassen. Dazu öffnen Sie Systemsteuerung > System und Sicherheit > System. Dort klicken Sie in der linken Leiste auf Erweiterte Systemeinstellung. Im nächsten Fenster dann auf den Button Umgebungsvariablen… (rechts unten).

Als erstes richten Sie eine neue Umgebungsvariable ein (Button Neu… drücken). Nennen Sie sie JAVA_HOME und setzen Sie sie auf den Pfad zum JDK-Verzeichnis. In unserem Beispiel wäre das:

C:\Program Files\Java\jdk-11.0.2

Als nächstes müssen Sie die existierende Variable Path (in der Liste im unteren Teilfenster) erweitern. Markieren Sie die entsprechende Zeile und drücken Sie auf Bearbeiten… . Anschließend fügen Sie mit Neu den Pfad zum bin-Verzeichnis des JDK hinzu. Dabei beziehen Sie sich auf die Variable JAVA_HOME:

%JAVA_HOME%\bin

Fertig!

Einrichtung unter MacOS

Auf einem Mac geht es einfacher. Man muss nur die OpenJDK-Datei auspacken und das resultierende Verzeichnis an diese Stelle schieben:

 /Library/Java/JavaVirtualMachines

Fertig!

Test, ob OpenJDK gefunden wird

Auf einer Konsole können Sie mit folgender Zeile testen, ob das JDK gefunden wird.

java --version

Sie sollten etwas in dieser Art sehen:

openjdk 11.0.2 2019-01-15
OpenJDK Runtime Environment 18.9 (build 11.0.2+9)
OpenJDK 64-Bit Server VM 18.9 (build 11.0.2+9, mixed mode)

OpenJDK in IntelliJ

Wenn Sie in IntelliJ ein neues Java-Projekt anlegen, können Sie unter In File > Project Structure das neue JDK angeben und zwar unter Platform Settings > SDKs. Das müssen Sie nur einmalig durchführen.

JavaFX

JavaFX ist die aktuellste GUI-Technologie von Java und hatte 2014 mit der Version JavaFX 8 endgültig die alte Swing-Technologie abgelöst. Wer JavaFX lernen möchte, kann sich in meinem Skript unter http://michaelkipp.de/java die Kapitel GUIs mit JavaFX (Teile 1-3) anschauen.

JavaFX ist nicht in OpenJDK enthalten! Also muss man JavaFX separat runterladen: https://gluonhq.com/products/javafx

Das entsprechende Verzeichnis (z.B. derzeit javafx-sdk-11.0.2) kann man dann irgendwo ablegen. Zum Beispiel auf einem Mac in eigenen Benutzerverzeichnis unter:

Library/javafx-sdk-11.0.2

JavaFX in IntelliJ

Will man in IntelliJ auch JavaFX verwenden, muss man eine einmalige Einrichtung vornehmen und dann bei jedem Projekt eine Anpassung durchführen.

Einmalige Einrichtung

In IntelliJ macht man einmalig folgendes:

  1. In den Einstellungen (Mac: Preferences, Win: File > Settings…) wählt man: Appearance & Behavior > Path Variables
  2. Dort fügt man einen neuen Pfad hinzu (Pluszeichen unten). Diesen nennt man PATH_TO_FX und setzt ihn auf den Pfad, wo man das Verzeichnis oben hingetan hat und fügt noch ein /lib hinzu. Zum Beispiel: /Users/kipp/Library/javafx-sdk-11.0.2/lib

Bei jedem neuen Projekt

Immer wenn man ein neues JavaFX-Projekt anlegt, muss man folgendes tun:

  1. In File > Project Structure unter Libraries fügt man das obige /lib Verzeichnis hinzu
  2. Bei jeder Run-Konfiguration (siehe Run -> Edit Configurations…) fügt man als VM option folgendes ein: –module-path ${PATH_TO_FX} –add-modules=javafx.controls,javafx.fxml

Leider ist das alles etwas umständlich, aber es besteht die Hoffnung, dass JavaFX demnächst zusammen mit OpenJDK ausgeliefert wird und dass IntelliJ die Nutzung etwas vereinfacht.

Student projects: Interaction Engineering (2017/18)

Another round of fascinating  interaction engineering projects is completed. In this interdisciplinary course (computer science and design, Bachelor and Master students), we think up potential future human-computer interaction techniques based on current research publications.

This year we had 14 completed projects by 27 students. A new record after 12 projects of last year. Projects include interaction by gesture, full body, eye gaze, face, tangible object, Hololens and trampoline! We even had a Lego robot.

Check out all projects (video, report, slides) under

http://interaction.hs-augsburg.de/projects

Optical Tracking / Motion Capture

We have acquired new equipment for optical tracking and motion capture at our Interaction Lab, Augsburg University of Applied Sciences. If you know the Kinect you can think of a much more accurate and faster Kinect. Our system consists of 12 high-speed infrared cameras (1280×1024, 240 fps) and the respective software (Motive), all by OptiTrack. It is capable of recording human motion sequences (e.g. fight or dance moves or everyday actions like walking or picking up an object). Actors have to be set up with small retroreflective markers. The system emits infrared light and computes the 3D position of each marker using triangulation. One can also mark up arbitray objects (tea cup, sword, wand) using at least three markers (these markers are then defined as so-called rigid bodies).

The recordings of human motion can be used for character animation in CG movies or computer games. The same data can also be streamed in realtime to external applications for interaction scenarios.

In human-computer interaction, the tracking data is used to interact with a computer via gestures and/or with your full body, depending on the application. Tracking is also interesting for VR applications where you want to interact naturally with your hands and body. The system is much faster and more accurate than e.g. the Kinect. The latency (time from original movement to visible reaction on screen) is around 5ms (depending on the processing time of the output). The spatial accuracy is around 1mm.

Our research interests target gestural interaction, e.g. comparing it with other forms of interaction like touch, mouse and other controllers.

The system  is part of a research grant called Labor zur Erforschung und Entwicklung von Interaktionsmodellen mit Virtuellen Realitäten (laboratory for research and development on interaction models for virtual realities) by Rose, Müller, Rothaug, Kipp which is funded by Hochschule Augsburg.

Lehrvideos produzieren

Im Rahmen meiner Lehre produziere seit 2012 eigene Lehrvideos und stelle sie auf YouTube zur Verfügung. Da ich aktuell wieder in dem Bereich aktiv bin, dachte ich, ich stelle mal einige Tipps zu Ausrüstung und Workflow zusammen. Vielleicht ist damit ja dem ein oder anderen potentiellen Nachahmer geholfen…

Zwei Beispielvideos

Vielleicht vorab zwei Beispielvideos zum Thema “Programmieren lernen mit Processing”. Zunächst ein ganz aktuelles von 2017. Im Vergleich zu den alten Videos verwende ich jetzt ein besseres Mikro und habe eine Titelfolie eingefügt, damit die Videos bereits in der Vorschau klar erkennbar sind.

Und hier ein altes Video von 2014. Was direkt auffällt, ist die miserable Audioqualität. Man könnte denken “das kann man doch in der Nachbearbeitung verbessern”, aber mittlerweile habe ich eingesehen, dass man versuchen muss, direkt bei der Aufnahme ein möglichst gutes Signal hinzubekommen. Nachbearbeitung ist zeitaufwändig und nicht immer erfolgreich.

Jetzt aber zu Ausrüstung, Vorbereitung, Aufnahme und Nachbereitung (dazu ggfalls auf “continue reading” klicken).

Continue reading

Multitouch 84

Update: I decided to return the monitor because the latency was too high. Latency is the time that passes between moving your finger and seeing a reaction on screen. This was somewhere between 150 and 180ms which made the device unusable for research purposes.

Please welcome our latest addition to our Interaction Lab at Augsburg University of Applied Sciences, a 84″ multitouch display with a motorized stand which can be transformed into a table, a tilted table and a wall.

The monitor is part of a research grant called Labor zur Erforschung und Entwicklung von Interaktionsmodellen mit Virtuellen Realitäten (laboratory for research and development on interaction models for virtual realities) by Rose, Müller, Rothaug, Kipp which is funded by Hochschule Augsburg.

We intend to investigate the question of how efficiency and ergonomics of multitouch interaction can be measured to compare various input modalities (mouse, controller, gesture, touch). See the publications below to get an idea of our goals and methods. The new display allows to extend our previous work to large display sizes and multi-party scenarios.

Some technical data:

  • 84″
  • 4K resolution (3840×2160)
  • 50 touch points

Related Publications

Lehmann, Florian (2016) Ergonomie von Multi-Touch Oberflächen, Bachelorarbeit, Studiengang Interaktive Medien, Hochschule Augsburg. | Bachelorarbeit |Präsentation | Poster | Read the blog post about this work

Nguyen, Q., and Kipp, M. (2015) Where to Start? Exploring the efficiency of translation movements on multitouch devices. In: Proceedings of 15th IFIP TC 13 International Conference (INTERACT), Springer, pp. 173-191.

Nguyen, Q., Kipp, M. (2014) Orientation Matters: Efficiency of translation-rotation multitouch tasks. In: Proc. of CHI 2014. Link to Video.

Student projects: Interaction Engineering (2016/17)

The next group of talented students completed their interaction engineering projects.  In this interdisciplinary course (computer science and design), we think up potential future human-computer interaction techniques based on current research publications. This semester there was a record-breaking set of 12 completed projects. Feel free to check them out by visiting the project website

http://interaction.hs-augsburg.de/projects

inteng2016w

Actuated Tangibles: ChainFORM

After the inFORM project (see my post from 2013) here is another spectacular research outcome from Professor Ishii’s Tangible Media Group at MIT.

The idea of tangible interaction goes back as far as 1997 when Ishii first formulated his idea of bringing back physical items to human-computer interfaces. He invented physical controls that allows you to manipulate digital data more intuitively.

Pushing this idea a step further Ishii wondered how to bring digital information back into the real world using actuated tangibles that can dynamically show the changes of the digital information. One problem is changing the position of physical controls (e.g. by air, vibration or magnetic control), more challenging is to change the shape of physical controls on the fly. Both inFORM and ChainFORM deal with the problem of changing shape dynamically.

Relevant Publications

Ken Nakagaki, Artem Dementyev, Sean Follmer, Joseph A. Paradiso, Hiroshi Ishii. ChainFORM: A Linear Integrated Modular Hardware System for Shape Changing Interfaces. In Proceedings of the 29th Annual ACM Symposium on User Interface Software & Technology (UIST ‘16).

Sean Follmer, Daniel Leithinger, Alex Olwal, Akimitsu Hogge, and Hiroshi Ishii. 2013. inFORM: dynamic physical affordances and constraints through shape and object actuation. In Proceedings of the 26th annual ACM symposium on User interface software and technology (UIST ’13). ACM, New York, NY, USA, 417-426.

Hiroshi Ishii and Brygg Ullmer. 1997. Tangible bits: towards seamless interfaces between people, bits and atoms. In Proceedings of the ACM SIGCHI Conference on Human factors in computing systems (CHI ’97). ACM, New York, NY, USA, 234-241.

Bachelor Thesis: Florian Lehmann – Ergonomics of Multi-Touch Surfaces (2016)

Lehmann, Florian (2016) Ergonomie von Multi-Touch Oberflächen, Bachelorarbeit, Studiengang Interaktive Medien, Hochschule Augsburg. | Bachelorarbeit |Präsentation | Poster

0_tap

 

The investigation of multi-touch surfaces on smartphones is a relevant topic in the field of human-computer interaction. The main focus is to analyze and to understand touch input in detail, as well as delivering comprehensible insights for user interface designers and developers.

Continue reading

Microsoft Vision Video 2020

Another “Future vision” video from Microsoft that contains snippets of older vision videos. In this video, they added a gesture-controlled bracelet/smart watch (0:17) and a 3D holographic display (0:27).

See my older post for more videos.

 

« Older posts

Copyright © 2019 Michael Kipp's Blog

Theme by Anders NorenUp ↑