\documentclass{beamer}
\usepackage[english,dutch]{babel}
\usepackage[utf8]{inputenc}
\usepackage{beamerthemesplit,graphics,subfigure,url,float,tikz,subfigure}

\definecolor{kugreen}{RGB}{130,151,183}

\mode<presentation> {
	\usetheme{PaloAlto}
	\usecolortheme[named=kugreen]{structure}
	\useinnertheme{circles}
	\usefonttheme[onlymath]{serif}
	\setbeamertemplate{blocks}[rounded][shadow=false]
}

\title{A generic architecture for gesture-based interaction}
\author{Taddeüs Kroes}
\institute{Universiteit van Amsterdam}
\date{29 juni 2012}

\begin{document}

\input{data/presentationdiagrams}

\frame {
	\titlepage
}

\frame {
	\frametitle{Inhoud}
	\tableofcontents
}

\section{Probleem}

\frame {
	\frametitle{Probleemstelling}

	\begin{itemize}
        \item Steeds meer apparaten voor complexe interactie, maar driver API
            blijft low-level
		\item Applicatieframeworks zijn beperkend
        \item Oplossing: generieke architectuur voor detectie gebaren uit
            driverberichten
	\end{itemize}
}

\section{Architectuur}

\frame {
	\frametitle{Ontwerp architectuur}

	\basicdiagram
}

\frame {
	\frametitle{Van driver-specifiek naar algemeen}

	\begin{itemize}
		\item Verschillende drivers hebben verschillende API's
		\item Vertaal apparaat-specifiek naar algemeen formaat in ``event
		    driver''
	\end{itemize}

	\eventdriverdiagram
}

\frame {
	\frametitle{Groeperen events}

	\begin{itemize}
		\item Driver is niet op de hoogte van ``widgets''
            \areaproblem
		\item Gebaar toewijzen aan widget met een ``event area''
	\end{itemize}
}

\frame {
	\frametitle{Groeperen events (2)}

	\areadiagram
}

\frame {
	\frametitle{Boomstructuur}

	\begin{itemize}
		\item Event toewijzen aan event area moeilijk bij overlap
		\propagationproblem
        \item Oplossing: zet event areas in boomstructuur
        \item Event wordt omhoog ``gepropageerd'' in de boom, tenzij gestopt
	\end{itemize}
}

\frame {
	\frametitle{Geen propagatie}

    \nopropagationdiagram
}

\frame {
	\frametitle{Geen delegatie}

    \nodelegationdiagram
}

\frame {
	\frametitle{Gebaardetectie}

	\begin{itemize}
		\item Simpele gebaren zijn te detecteren met expliciete code, complexe
		    gebaren bijv.met machine learning
		\item Expliciete detectiecode wordt snel onbeheersbaar
		\item Verpak verschillende detectiemethodes in ``gesture trackers''
		\item Applicatieontwikkelaar kan zelf gesture trackers toevoegen
	\end{itemize}
}

\frame {
	\frametitle{Gebaardetectie (2)}

	\fulldiagram
}

\frame {
	\frametitle{Daemon}

	\begin{itemize}
		\item Communicatie door een netwerkprotocol
		\item Taal-onafhankelijk
		\item Platform-onafhankelijk
		\item Meerdere appliaties tegelijkertijd
	\end{itemize}

	\daemondiagram
}

\section{Demo}

\frame {
	\frametitle{Demo}

    \demodiagram
}

\end{document}
