![]() Praktikum Ubiquitous Computing: LaserPin
Das Projekt LaserPin entstand im Jahr 2009 im Rahmen des Anwendungsfach Ubiquitous Computing an der Universität Ulm. Der Begriff "Ubiquitous Computing" bezeichnet die Entwicklung, die wir zur Zeit hinsichtlich der Integration von Computern in unseren Lebensalltag erleben: Computer sind überall - in Mobiltelefonen, in Küchengeräten, in Reisepässen, in Büchern - und sie fallen immer weniger auf.
Ziel des Projektes LaserPin war die Entwicklung einer computergesteuerten Pinnwand mit virtuellen Notizzetteln und einem Kalender. Anders als herkömmliche Kalenderprogramme, sollte dieses Programm nicht an einem PC mit Maus und Tastatur bedient werden, sondern ein Teil des Arbeitsplatz oder den Wohnbereich werden. Zu diesem Zweck wird die Benutzeroberfläche des Systems mit einem Beamer an eine Wand des Raumes projiziert. Gesteuert wird LaserPin mit Hilfe eines Laserpointers, dessen Bewegungen von einer Kamera gefilmt und an das Programm weiter geleitet werden. Ein Präsentationsfilm des fertigen Projektes kann unter YouTube angesehen werden. Projektdetails
Das Projekt-Team setzte sich aus drei Personen zusammen: Markus Stoicsics, Bernhard Seibold und mir. Unsere Aufgaben verteilten sich den persönlichen Fähigkeiten und Vorlieben entsprechend weitgehend von selbst. Die Rolle des "Projektleiters" fiel abwechselnd Berhard und mir zu.
Bernhard implementierte das Web Back- und Frontend und die Schnittstelle zwischen den C++ und Java-Komponenten. Zusammen arbeiteten wir an der Computer Vision-Komponente (Detektion des Laserpointers) und für die animierte Benutzeroberfläche, die Gestenerkennung und Steuerung des Systems war ich zuständig. Markus konnte seine SOAP-Kenntnisse nutzen um die Kommunikation mit dem Web-Backend zu realisieren. ![]() Benutzeroberfläche und SteuerungEines unserer vorrangigen Ziele bei diesem Projekt war das Erreichen einer hohen Usability. Folglich musste die Benutzeroberfläche in der Lage sein interaktive Animationen darzustellen um Programmzustände oder Benutzereingaben visualisieren zu können. Die Benutzeroberfläche von LaserPin wurde in Java geschrieben. Zur Realisierung der anspruchvollen Animationen wurde ein auf Java AWT basierendes Grafikframework weiter entwickelt, das bereits im früheren Projekt PAVIAN zum Einsatz kam. Neben der Umsetzung der Oberfläche an sich, war die Realisierung der Laserpointer-Steuerung eine weitere Herausforderung. Im Gegensatz zum restlichen Projekt ist Bildverarbeitungskomponente aus Gründen der Performance in C++ geschrieben und über die ZeroC ICE Middleware mit den Java-Komponenten verbunden. Client-Server-ArchitekturLaserPin ist von Beginn an als Mehrbenutzersystem konzipiert worden. Damit das es von mehreren Orten oder von unterwegs aus genutzt werden kann, sind die Anwendungsdaten nicht in einer lokalen Datenbank gespeichert, sondern werden über einen Webservice verwaltet. Als Kommunikationsprotokoll mit dem Service nutzten wir SOAP. Mobiler ZugriffUm die Notizen und Termine auch unterwegs zur Verfügung zu haben, ist ein Zugriff auf die Daten über ein Webfrontend möglich. |
||