Commit d004e022 authored by Taddeüs Kroes's avatar Taddeüs Kroes

Restructured 'Introduction'.

parent 43021033
......@@ -78,40 +78,47 @@ extended to support a wide range of complex gestures. With the existence of
such an implementation, application developers do not need to reinvent gesture
detection for every new gesture-based application.
Application frameworks for surface-touch devices, such as Nokia's Qt \cite{qt},
do already include the detection of commonly used gestures like \emph{pinch}
gestures. However, this detection logic is dependent on the application
framework. Consequently, an application developer who wants to use multi-touch
interaction in an application is forced to use an application framework that
includes support for multi-touch gestures. Moreover, the set of supported
gestures is limited by the application framework of choice. To incorporate a
custom event in an application, the application developer needs to extend the
framework. This requires extensive knowledge of the framework's architecture.
Also, if the same gesture is needed in another application that is based on
another framework, the detection logic has to be translated for use in that
framework. Nevertheless, application frameworks are a necessity when it comes
to fast, cross-platform development. A generic architecture design should aim
to be compatible with existing frameworks, and provide a way to detect and
extend gestures independent of the framework.
Application frameworks are written in a specific programming language. To
support multiple frameworks and programming languages, the architecture should
be accessible for applications using a language-independent method of
communication. This intention leads towards the concept of a dedicated gesture
detection application that serves gestures to multiple applications at the same
time.
The scope of this thesis is limited to the detection of gestures on multi-touch
surface devices. It presents a design for a generic gesture detection
architecture for use in multi-touch based applications. A reference
implementation of this design is used in some test case applications, whose
goal is to test the effectiveness of the design and detect its shortcomings.
\section{Structure of this document}
% TODO: pas als thesis af is
The scope of this thesis is limited to the detection of gestures on
multi-touch surface devices. It presents a design for a generic gesture
detection architecture for use in multi-touch based applications. A
reference implementation of this design is used in some test case
applications, whose goal is to test the effectiveness of the design and
detect its shortcomings.
Chapter \ref{chapter:related} describes related work that inspired a design
for the architecture. The design is presented in chapter
\ref{chapter:design}. Sections \ref{sec:multipledrivers} to
\ref{sec:daemon} define requirements for the architecture, and introduce
architecture components that meet these requirements. Section
\ref{sec:example} then shows the use of the architecture in an example
application. Chapter \ref{chapter:testapps} presents a reference
implementation of the architecture, an two test case applications that show
the practical use of its components as presented in chapter
\ref{chapter:design}. Finally, some suggestions for future research on the
subject are given in chapter \ref{chapter:futurework}.
\chapter{Related work}
\label{chapter:related}
% TODO: herstructureren
\section{Existing application frameworks}
Application frameworks for surface-touch devices, such as Nokia's Qt
\cite{qt}, do already include the detection of commonly used gestures like
\emph{pinch} gestures. However, this detection logic is dependent on the
application framework. Consequently, an application developer who wants to
use multi-touch interaction in an application is forced to use an
application framework that includes support for multi-touch gestures.
Moreover, the set of supported gestures is limited by the application
framework of choice. To incorporate a custom event in an application, the
application developer needs to extend the framework. This requires
extensive knowledge of the framework's architecture. Also, if the same
gesture is needed in another application that is based on another
framework, the detection logic has to be translated for use in that
framework.
\section{Gesture and Activity Recognition Toolkit}
......@@ -170,13 +177,22 @@ goal is to test the effectiveness of the design and detect its shortcomings.
\section{Introduction}
This chapter describes a design for a generic multi-touch gesture detection
architecture. The architecture is represented as diagram of relations
between different components. Sections \ref{sec:driver-support} to
\ref{sec:daemon} define requirements for the architecture, and extend the
diagram with components that meet these requirements. Section
\ref{sec:example} describes an example usage of the architecture in an
application.
Application frameworks are a necessity when it comes to fast,
cross-platform development. A generic architecture design should aim to be
compatible with existing frameworks, and provide a way to detect and extend
gestures independent of the framework. An application framework is written
in a specific programming language. To support multiple frameworks and
programming languages, the architecture should be accessible for
applications using a language-independent method of communication. This
intention leads towards the concept of a dedicated gesture detection
application that serves gestures to multiple applications at the same time.
This chapter describes a design for such an architecture. The architecture
is represented as diagram of relations between different components.
Sections \ref{sec:multipledrivers} to \ref{sec:daemon} define requirements
for the architecture, and extend the diagram with components that meet
these requirements. Section \ref{sec:example} describes an example usage of
the architecture in an application.
The input of the architecture comes from a multi-touch device driver.
The task of the architecture is to translate this input to multi-touch
......@@ -187,7 +203,7 @@ goal is to test the effectiveness of the design and detect its shortcomings.
\basicdiagram
\section{Supporting multiple drivers}
\label{sec:driver-support}
\label{sec:multipledrivers}
The TUIO protocol \cite{TUIO} is an example of a driver that can be used by
multi-touch devices. TUIO uses ALIVE- and SET-messages to communicate
......@@ -531,6 +547,7 @@ start the GUI main loop in the current thread
\examplediagram
\chapter{Test applications}
\label{chapter:testapps}
A reference implementation of the design has been written in Python. Two test
applications have been created to test if the design ``works'' in a practical
......@@ -662,6 +679,7 @@ synchronized with the root event area of the architecture.
% houden van complexiteit.
\chapter{Suggestions for future work}
\label{chapter:futurework}
\section{A generic method for grouping events}
\label{sec:eventfilter}
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment