Survey and Review of Input Libraries, Frameworks, and Toolkits for Interactive Surfaces and Recommendations for the Squidy Interaction Library

Survey and Review of Input Libraries, Frameworks, and Toolkits for Interactive Surfaces and Recommendations for the Squidy Interaction Library

LUDWIG-MAXIMILIANS -U NIVERSITÄT MÜNCHEN Department “Institut für Informatik” Lehr- und Forschungseinheit Medieninformatik Prof. Dr. Heinrich Hußmann Diplomarbeit Survey and Review of Input Libraries, Frameworks, and Toolkits for Interactive Surfaces and Recommendations for the Squidy Interaction Library Anton Zeitler [email protected] Bearbeitungszeitraum: 15.04.2006 bis 14.10.2009 Betreuer: Dipl.-Medieninf. Raphael Wimmer Verantwortlicher Hochschullehrer: Prof. Dr. Heinrich Hußmann Survey and Review of Input Platforms and Recommendations for Squidy Acknowledgments I would like to thank Roman Rädle and Werner König from the Human-Computer Interaction Group of the University of Konstanz. They supported me a lot and always found some time to answer many questions. Furthermore, Jan Wehrheim and Alexander Lang gave me valuable feedback. III Survey and Review of Input Platforms and Recommendations for Squidy Abstract This diploma thesis presents a survey and review of 28 input libraries, frameworks, and toolkits. They originate from the domains multi-touch interaction, multi-modal interaction, tangible interaction and augmented and virtual reality. The main perspective is software engineering. Out of the set of software platforms the Squidy Interaction Library is chosen as basis for the Curve project, an interactive desk featuring a curved multi-touch surface. The software architecture of Squidy is discussed and compared with the architecture of DirectShow, a multimedia subsystem of Microsoft Windows. A number of improvements for further developments of Squidy are recommended and described in detail. One improvement has been exemplarily implemented. Kurzzusammenfassung Diese Diplomarbeit bietet eine Übersicht und eine Besprechung von 28 Bibliotheken, Frameworks und Toolkits zur Verarbeitung von Eingabedaten. Diese entstammen den Domänen Multi-Touch Interaction, Multi-Modal Interaction, Tangible Interaction und Augmented und Virtual Reality. Hauptperspektive ist die Softwaretechnik. Aus dem Bestand der Softwareplattformen wird die Squidy Interaction Library als Basis für das Projekt Curve ausgewählt, einen interaktiven Arbeitstisch mit einer gekrümmten Multi- Touch-Oberfläche. Die Softwarearchitektur von Squidy wird diskutiert und mit der Architektur von DirectShow verglichen, einem Multimedia-Teilsystem von Microsoft Windows. Für weiterführende Entwicklungen von Squidy wird eine Anzahl von Verbesserungen empfohlen und im Detail beschrieben. Eine Verbesserung wurde exemplarisch implementiert. V Survey and Review of Input Platforms and Recommendations for Squidy Aufgabenstellung Im Rahmen der Diplomarbeit soll eine Recherche nach bestehenden Softwareplattformen durchgeführt werden, die sich zur Verarbeitung von Eingabedaten für das Projekt Curve eignen. Aus dem Bestand dieser Softwareplattformen soll eine fundierte und begründete Auswahl getroffen werden, die sowohl den qualitativen als auch funktionalen Ansprüchen von Curve gerecht wird. Aufbauend auf der gewählten Plattform sollen Vorschläge und Empfehlungen für notwendige Ergänzungen sowie sinnvolle Verbesserungen der Plattform diskutiert und ausgearbeitet werden. Weiterhin soll fehlende Kernfunktionalität der Plattform soweit wie möglich implementiert werden. VII Survey and Review of Input Platforms and Recommendations for Squidy "Ich erkläre hiermit, dass ich die vorliegende Arbeit selbstständig angefertigt, alle Zitate als solche kenntlich gemacht sowie alle benutzten Quellen und Hilfsmittel angegeben habe.” München, den 14.10.2009 ____________________ Anton Zeitler IX Survey and Review of Input Platforms and Recommendations for Squidy Table of Contents 1 Introduction ...................................................................................................................1 1.1 Motivation of the Curve Project ............................................................................1 1.2 Status of the Curve Project ...................................................................................2 1.3 Objective of this Work ...........................................................................................2 1.4 Outline of this Work ..............................................................................................3 1.5 Related Work .........................................................................................................3 2 Software Engineering Basics ..........................................................................................5 2.1 Software Design Principles .....................................................................................5 2.2 Programming Paradigms ........................................................................................6 2.2.1 Object-Oriented Programming .......................................................................6 2.2.2 Aspect-Oriented Programming .......................................................................7 2.3 Patterns ..................................................................................................................7 2.3.1 Design Patterns ..............................................................................................7 2.3.2 Architectural Patterns ....................................................................................8 2.3.3 Anti-Patterns ..................................................................................................9 2.4 Concurrency, Multi-Threading, and Parallel Processing .......................................9 2.5 Libraries, Frameworks, and Toolkits ...................................................................10 3 Requirements for an Input Framework .......................................................................11 3.1 Software Developer's Perspective .........................................................................11 3.2 Application Developer's Perspective ....................................................................12 3.3 End-User's Perspective .........................................................................................12 3.4 Scientist's Perspective ..........................................................................................12 3.5 Curve's Perspective ..............................................................................................13 3.6 Technical Specifications .......................................................................................13 3.6.1 Supported Communication Protocols ...........................................................13 3.6.2 Supported Interaction Devices and Interfaces ..............................................14 3.6.3 Supported Types of Data ..............................................................................14 4 Survey of Input Frameworks, Libraries, and Toolkits ................................................15 4.1 Augmented and Virtual Reality ...........................................................................15 4.1.1 Unit ...............................................................................................................15 4.1.2 ViSTA (DataLaViSTA) ................................................................................16 4.2 Multi-Modal Interaction .......................................................................................16 4.2.1 OpenInterface ................................................................................................17 4.2.2 Squidy Interaction Library ...........................................................................18 4.2.3 vvvv ...............................................................................................................18 4.3 Multi-Touch Interaction .......................................................................................19 4.3.1 Bespoke Multi-Touch ....................................................................................19 4.3.2 Community Core Vision ...............................................................................20 4.3.3 EquisFTIR ....................................................................................................20 4.3.4 libavg .............................................................................................................20 4.3.5 libtisch ...........................................................................................................21 XI Survey and Review of Input Platforms and Recommendations for Squidy 4.3.6 mu3 ...............................................................................................................21 4.3.7 Multi-Touch Vista ........................................................................................21 4.3.8 multitouch .....................................................................................................22 4.3.9 MultiTouch.framework SDK ........................................................................22 4.3.10 multitouchframework ..................................................................................22 4.3.11 OpenTouch ..................................................................................................23 4.3.12 pyMT ..........................................................................................................23 4.3.13 Sparsh UI ....................................................................................................23 4.3.14 TouchKit .....................................................................................................24 4.3.15 Touchlib ......................................................................................................24

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    133 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us