diff --git a/PresTeX/images/eval-changes.png b/PresTeX/images/eval-changes.png
new file mode 100644
index 0000000..065072d
Binary files /dev/null and b/PresTeX/images/eval-changes.png differ
diff --git a/PresTeX/images/eval.jpg b/PresTeX/images/eval.jpg
new file mode 100644
index 0000000..71e208f
Binary files /dev/null and b/PresTeX/images/eval.jpg differ
diff --git a/PresTeX/presentation.tex b/PresTeX/presentation.tex
index 0bdfc9a..e4e895c 100644
--- a/PresTeX/presentation.tex
+++ b/PresTeX/presentation.tex
@@ -100,64 +100,38 @@ compress
%%%%%%%%%% Content starts here %%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\section{Location based Games}
-\begin{frame}{Location based Games}
-\framesubtitle{Put the 'fun' in education}
+\section{A Framework for the Analysis of Spatial Game Data}
+\begin{frame}{A Framework for the Analysis of Spatial Game Data}
+\framesubtitle{Goal definition}
\begin{columns}
- \column{0.55\linewidth}
-Intersection of GIS and gaming technology\footnotemark
+ \column{0.49\linewidth}
+ Geogames: Intersection of GIS and gaming technology\footnotemark
\begin{itemize}
- \item Game actions tied to real-world spatial places ('Break the magic circle')%TODO citation
+ \item Game actions tied to real-world spatial places ('Break the magic circle')
\item Locomotion as essential game part
\item Trade-offs between board and race style games\footnotemark
\item Foster recognition of environment
\item Focus through game related tasks
\end{itemize}
- \column{.45\linewidth}
- \image{.5\textwidth}{gg2}{Geogame map view}{img:gg2}
+ \column{.49\linewidth}
+ Scope of the analysis framework
+ \begin{itemize}
+ \item Framework for analysis
+ \item Two target groups:
+ \begin{itemize}
+ \item Expert users/researchers
+ \item Staging/designing staff
+ \end{itemize}
+ \item Integration of external data (questionnaire results)
+ \item Adaptable for multiple games
+ \end{itemize}
\end{columns}
\addtocounter{footnote}{-1}
\footcitetext{Ahlqvist2018}\stepcounter{footnote}
\footcitetext{1705427}
\end{frame}
-\begin{frame}{Research with location based games}
- \begin{columns}
- \column{0.35\linewidth}
- \begin{itemize}
- \item Define mission statement
- \item Build statistical framework
- \item Questionnaires
- \begin{itemize}
- \item Pre
- \item Post
- \end{itemize}
- \item {[Data entry]}
- \item Statistical processing
- \end{itemize}
- \column{.6\linewidth}
- \image{\textwidth}{biodiv-schaal}{Statistical framework for BioDiv2Go\footnotemark}{img:biodiv-schaal}
- \end{columns}
- %\addtocounter{footnote}{-1}
- \footcitetext{Schaal2017}%\stepcounter{footnote}
-\end{frame}
-
-\section{Goal definition}
-\begin{frame}{Goal definition}
-\framesubtitle{A Framework for the Analysis of Spatial Game Data}
-\begin{itemize}
- \item Framework for analysis
- \item Two target groups:
- \begin{itemize}
- \item Expert users/researchers
- \item Staging/designing staff
- \end{itemize}
- \item Integration of external data (questionnaire results)
- \item Adaptable for multiple games
-\end{itemize}
-\end{frame}
-
-\begin{frame}{Components}
+\begin{frame}{Framework components}
Prerequisites: Game log
\begin{itemize}
\item Creation
@@ -173,123 +147,18 @@ New components
\end{itemize}
\end{frame}
-\section{State of research}
- \frame
- {
- \tableofcontents[sectionstyle=show/hide,hideothersubsections]
- }
-
-\subsection{Log processing}
-\begin{frame}{Modern log processing stacks}
-Technologies: Collection, Time-series databases, Frontend
-\begin{itemize}
- \item ELK (Elastic search, Logstash, Kibana)\autocite{andreassen2015monitoring} \autocite{yang2016aggregated} \autocite{steinegger2016analyse} \autocite{sanjappa2017analysis}
- \item Collectd, Influx DB, Grafana \autocite{komarek2017metric}
- \item …
-\end{itemize}
-\begin{itemize}
- \item[+] widely deployed
- \item[+] powerful query languages %TODO example
- \item mainly web/container/hardware monitoring
- \item[-] spatial analysis: heavily anonymized
- \item[-] fast-paced environment
-\end{itemize}
-\end{frame}
-
-\subsection{Pedestrian traces}
-\begin{frame}{Analyzing pedestrian movement}
-\framesubtitle{… based on GPS logs}
-\begin{itemize}
- \item GPS overestimates systematically \autocite{Ranacher_2015}
- \item GPS is a suitable instrument for spatio-temporal data\autocite{van_der_Spek_2009}
- \item Activity mining \autocite{Gong_2014}
- \begin{itemize}
- \item Speed-based Clustering \autocite{ren2015mining}
- %\item \autocite{Ferrante_2016} % closed access
- \item Machine Learning \autocite{pattern_recog} %TODO
- \end{itemize}
- \item E.g.: Improve tourist management \autocite{tourist_analysis2012}
-\end{itemize}
-\end{frame}
-
-
-\begin{frame}{Heatmap}
-\image{.81\textwidth}{strava}{Heatmap: Fitnesstracker\autocite{strava}}{img:strava}
-\end{frame}
-
-\begin{frame}{Space-time cube}
-\image{.72\textwidth}{space-time}{Space-time cube examples\autocite{bach2014review}}{img:spacetime}
-\end{frame}
-
-\begin{frame}{Trajectory patterns}
-\image{\textwidth}{traj-pattern}{Flock and meet trajectory pattern\autocite{jeung2011trajectory}}{img:traj-pattern}
-\end{frame}
-
-\begin{frame}{Generalization}
-\image{\textwidth}{generalization}{Trajectories and generalizations with varying radius parameter \autocite{adrienko2011spatial}}{img:generalization}
-\end{frame}
-
-\subsection{Analyzing games}
-\begin{frame}{Analyzing games}
-\begin{itemize}
- \item there's more than heatmaps
- \item combine position with game actions
- \item identify patterns, balancing issues
- \item manual processes %\citetitle{Drachen2013}\citetitle{AHLQVIST20181}
-\end{itemize}
-\vspace{-42pt}
-%\image{.5\textwidth}{game-an}{chat logs with players location \autocite{Drachen2013}}{img:chatlogs}
-%\image{.5\textwidth}{ac3-death}{identify critical sections \autocite{Drachen2013}}{img:ac3death}
-\twofigures{0.5}{game-an}{Chat logs with players location}{img:chatlogs}{ac3-death}{Identify critical sections}{img:ac3death}{Game analytics \cite{Drachen2013}}{fig:gameanal}
-\end{frame}
-
-%\subsection{Location based games}
-
-\subsection{Summary}
-\begin{frame}{Summary}
-\begin{itemize}
- \item Log processing: Powerful stacks
- \item Movement analysis: Large field already explored (GPS influence, Patterns, Behavior recognition, …)
- \item Track rendering: Track (with attributes), Space-time cube, Heatmap, …
- \item Spatial analysis of digital games with GIS
- \item Analysis of location based games: Laborious manual process
-\end{itemize}
-\end{frame}
-
-\section{Solution approach}
- \frame
- {
- \tableofcontents[sectionstyle=show/hide,hideothersubsections]
- }
-\subsection{Requirements}
-\begin{frame}{Requirements}
-\framesubtitle{Wait, what did I want to do again?}
-\begin{itemize}
- \item Per-game importer (Web client, File loader, …)
- \item Analyzer modules (number crunching)
- \item Output \& Visualization (CSV, [Geo]JSON, KML, Graphs, …)
- \item Interface (Configuration)
- \begin{itemize}
- \item Expert users/researchers
- \item Staging/designing staff
- \end{itemize}
- \item Cross-game comparisons
- \item Integration of external data (questionnaire results)
-\end{itemize}
-\end{frame}
-
-\subsection{Architecture}
-\begin{frame}{Experiment: Kibana}
-\image{.85\textwidth}{kibana}{Game trace in Kibana}{img:kibana}
-\end{frame}
-\begin{frame}{Experiment: Kibana}
-\image{.85\textwidth}{kibana2}{Game trace in Kibana}{img:kibana2}
-\end{frame}
-\begin{frame}{Experiment: Grafana}\hspace{.3\textwidth}a\\[-24pt]
-\image{.85\textwidth}{grafana}{Side project: Weather station with Grafana}{img:grafana}
-\end{frame}
+\section{Modular map-reduce architecture}
\begin{frame}{Architecture}
+
+Log processing turn-key solutions
+\begin{itemize}
+ \item fast update cycles
+ \item low spatial resolution
+ \item query languages as entry barrier
+\end{itemize}
+
+Custom stack solution
\begin{itemize}
\item Based on map-reduce
\item Map: Analysis
@@ -309,7 +178,7 @@ Technologies: Collection, Time-series databases, Frontend
\end{itemize}
\end{itemize}
\end{frame}
-\begin{frame}{Architecture scheme}
+\begin{frame}{Log processing scheme}
\image{\textwidth}{../../ThesTeX/images/map-reduce.pdf}{Data flows}{img:flow}
\end{frame}
@@ -318,39 +187,9 @@ Technologies: Collection, Time-series databases, Frontend
%%%%%%%%%%%%%%%%%%%%
-\section{Implementation}
+\section{Microservice oriented implementation}
-\subsection{Technologies}
-\begin{frame}{Implementation}
- \begin{columns}
- \column{0.55\linewidth}
- Analysis
- \begin{itemize}
- \item Python (3.6)
- \item Standalone library/CLI tool
- \item Web based configuration/Runner/API (Flask, Celery)
- \end{itemize}
- Rendering
- \begin{itemize}
- \item Matplotlib, Numpy
- \begin{itemize}
- \item Graphs
- \end{itemize}
- \item Javascript
- \begin{itemize}
- \item Leaflet
- \item Web visualization: Maps, Tracks, …
- \end{itemize}
- \end{itemize}
- \pic{.5\textwidth}{matplotlib}
- \column{0.4\linewidth}
- \pic{.5\textwidth}{python}
- \pic{.4\textwidth}{flask}
- \pic{.4\textwidth}{leaflet}
- \end{columns}
-\end{frame}
-
-\subsection{Microservice Composition}
+\subsection{Service Composition}
\begin{frame}{Microservice Composition}
\framesubtitle{Dockerize everything!}
\begin{columns}
@@ -368,51 +207,23 @@ Technologies: Collection, Time-series databases, Frontend
\end{columns}
\end{frame}
-\subsection{Classes}
-
-\begin{frame}{Analysis}
-\twofigures{0.5}{code/analyzer}{Analyzer interface}{code:anif}{code/mask-spatials}{Sample analyzer}{code:mask}{Analyzer stub and implementation}{fig:pyan}
-\end{frame}
-
-\begin{frame}{Result}
-\image{\textwidth}{code/result}{Result class}{code:result}
-\end{frame}
-
-\begin{frame}{Render}
-\twofigures{0.5}{code/render}{Render interface}{code:reif}{code/render-board}{Sample render}{code:rebo}{Render stub and implementation}{fig:pyre}
-\end{frame}
-
-\subsection{Configuration}
-\begin{frame}{Configuration \& result}
-\twofigures{0.5}{oeb-kml}{Analyzer configuration}{img:oebkml}{oeb-ge}{Result visualized}{img:oebge}{Example: Generate KML tracks (BioDiv2Go; Oberelsbach2016)}{fig:oeb2016}
-\end{frame}
+\subsection{Results}
\begin{frame}{ActivityMapper}
\image{.7\textwidth}{track-fi}{Combined screen activity and spatial progress}{img:trackfi}
\end{frame}
-\begin{frame}{Graphs}
- \begin{columns}
- \column{0.45\linewidth}
- \image{\textwidth}{simu-retries}{Experimentational rounds}{img:retries}
- \column{0.45\linewidth}
- \image{\textwidth}{speed}{Speed distribution}{img:speed}
- \end{columns}
-\end{frame}
-\begin{frame}{Graphs}
-\image{.9\textwidth}{time-rel}{Time distribution}{img:time}
-\end{frame}
-
\section{Evaluation}
\subsection{Setup}
\begin{frame}{Evaluation}
-\begin{itemize}
- \item Analyse other geogames
- \item Describe effort
- \item ?
- \item Profit
-\end{itemize}
+%\begin{itemize}
+% \item Analyse other geogames
+% \item Describe effort
+% \item ?
+% \item Profit
+%\end{itemize}
+\image{\textwidth}{eval}{Evaluation setup}{img:eval}
\end{frame}
\begin{frame}{Evaluation}
@@ -441,8 +252,35 @@ Equilibrium & $\approx40$ & GPX with missing end tag\\
\end{frame}
\subsection{Results}
+\begin{frame}{Integration of Neocartographer}
+Challenges
+\begin{itemize}
+ \item Corrupted XML files
+ \item No game server with API for log retrieval
+\end{itemize}
+
+ \begin{longtable}[H]{rl}
+ Geogame & Log files \\
+ \hline
+ missing attribute space & \\
+ unclosed tag & \\
+ missing attribute name & \\
+ invalid attribute values & \\
+ \caption{Neocartographer GPX log error types}
+ \label{tab:xml}
+ \end{longtable}
+Solutions
+\begin{itemize}
+ \item Recovery parser \& custom cleanup (new dependency: lxml)
+ \item Additional log server (Nginx with JSON autoindex)
+\end{itemize}
+\end{frame}
+
+
\begin{frame}{Evaluation results}
+\image{\textwidth}{eval-changes}{Code changes necessary for the integration of another game}{img:eval}
+
\end{frame}
\section{Demotime}