Commit fb8c1d76 authored by Richard's avatar Richard

added proposel

parent 5a3e7c65
www/sdk/*
www/sencha-touch-2.0.0-commercial/*
*.toc
*.log
*.gz
*.aux
\beamer@endinputifotherversion {3.10pt}
\headcommand {\slideentry {0}{0}{1}{1/1}{}{0}}
\headcommand {\beamer@framepages {1}{1}}
\headcommand {\sectionentry {1}{Introductie}{2}{Introductie}{0}}
\headcommand {\beamer@sectionpages {1}{1}}
\headcommand {\beamer@subsectionpages {1}{1}}
\headcommand {\slideentry {1}{0}{2}{2/2}{}{0}}
\headcommand {\beamer@framepages {2}{2}}
\headcommand {\sectionentry {2}{Doel Flood Simulation Browser}{3}{Doel Flood Simulation Browser}{0}}
\headcommand {\beamer@sectionpages {2}{2}}
\headcommand {\beamer@subsectionpages {2}{2}}
\headcommand {\slideentry {2}{0}{3}{3/3}{}{0}}
\headcommand {\beamer@framepages {3}{3}}
\headcommand {\sectionentry {3}{Mijn Doel}{4}{Mijn Doel}{0}}
\headcommand {\beamer@sectionpages {3}{3}}
\headcommand {\beamer@subsectionpages {3}{3}}
\headcommand {\slideentry {3}{0}{4}{4/4}{}{0}}
\headcommand {\beamer@framepages {4}{4}}
\headcommand {\sectionentry {4}{Reeds gedaan}{5}{Reeds gedaan}{0}}
\headcommand {\beamer@sectionpages {4}{4}}
\headcommand {\beamer@subsectionpages {4}{4}}
\headcommand {\slideentry {4}{0}{5}{5/5}{}{0}}
\headcommand {\beamer@framepages {5}{5}}
\headcommand {\sectionentry {5}{Referenties}{6}{Referenties}{0}}
\headcommand {\beamer@sectionpages {5}{5}}
\headcommand {\beamer@subsectionpages {5}{5}}
\headcommand {\slideentry {5}{0}{6}{6/6}{}{0}}
\headcommand {\beamer@framepages {6}{6}}
\headcommand {\beamer@partpages {1}{6}}
\headcommand {\beamer@subsectionpages {6}{6}}
\headcommand {\beamer@sectionpages {6}{6}}
\headcommand {\beamer@documentpages {6}}
\headcommand {\def \inserttotalframenumber {6}}
\BOOKMARK [2][]{Outline0.1}{Introductie}{}% 1
\BOOKMARK [2][]{Outline0.2}{Doel Flood Simulation Browser}{}% 2
\BOOKMARK [2][]{Outline0.3}{Mijn Doel}{}% 3
\BOOKMARK [2][]{Outline0.4}{Reeds gedaan}{}% 4
\BOOKMARK [2][]{Outline0.5}{Referenties}{}% 5
\documentclass[10pt,a4paper]{beamer}
\usepackage[utf8]{inputenc}
\usepackage{amsmath}
\usepackage{amsfonts}
\usetheme{Berkeley}
\usepackage{amssymb}
\usepackage{graphicx}
\author{Richard Torenvliet}
\title{Flood Simulation Browser}
\begin{document}
\begin{frame}
\maketitle
\end{frame}
\section{Introductie}
\begin{frame}
\frametitle{Introduction}
\begin{columns}[c]
\column{1.5in}
\begin{itemize}
\item Urban Flood Project
\item Early Warning System
\item Burgers en Hulpdiensten
\item Sensoren in dijk + Internet
\item Water Simulatie
\item Hoogte Kaart
\end{itemize}
\column{2.0in}
\begin{figure}
\includegraphics[scale=0.3]{concept.png}
\caption{Bron: \url{http://urbanflood.eu/aboutus.aspx}}
\end{figure}
\end{columns}
\end{frame}
\section{Doel Flood Simulation Browser}
\begin{frame}
\frametitle{Doel Flood Simulation Browser}
\begin{columns}[c]
\column{5cm}
\begin{itemize}
\item Visualisatie laten zien
\item Informeren over overstromingsgebied
\item Zien wat er als eerst onderwater gaat
\item Evacuatie routes
\item Hulpdienst routes
\item Browse door alle simulaties
\item Nieuwe simulatie uitvoeren
\end{itemize}
\column{5cm}
\begin{figure}
\includegraphics[scale=0.5]{simulation.png}
\caption{Bron: \url{http://urbanflood.eu/default.aspx}}
\end{figure}
\end{columns}
\end{frame}
\section{Mijn Doel}
\begin{frame}
\frametitle{Mijn Doel}
\begin{itemize}
\item Browser geschikt maken voor Tablets
\item \textbf{Geen} water simuleren
\item Server levert plaatjes + coördinaten
\item Plaatjes over Google maps leggen - uitgebreid API support voor overlays
\item Intuïtief design
\item Taal/framework keuze
\item Mijn eis is: Crossplatform
\end{itemize}
\end{frame}
\section{Reeds gedaan}
\begin{frame}
\frametitle{Reeds Gedaan}
\begin{itemize}
\item Alle mogelijkheden afgegaan
\begin{itemize}
\item iOS Objective C - niet crossplatform - hoge leercurve
\item Android Java - idem
\item jQuery Mobile - Niet gemoduleerd, combinatie PhoneGap
\item Titanium - Makkelijk, maar vrij groot, Veel geheugen gebruik, Design anders op andere telefoons en niet ECHT crossplatform
\end{itemize}
\item Platform keuze gemaakt
\item Sencha Touch 2 ervaring opgedaan
\item Voordelen
\begin{itemize}
\item Crossplatform
\item MVC Design Pattern
\item Mobiele website of App
\item Android en iOS
\item Geen PhoneGap nodig
\end{itemize}
\item Nadelen
\begin{itemize}
\item Verschilt veel met huidige persoonlijke kennis webtechnologiën
\item Highlevel specificatie
\item Mogelijk onvoorziene problemen
\end{itemize}
\end{itemize}
\end{frame}
\section{Referenties}
\begin{frame}
\begin{thebibliography}{9}
\frametitle{Referenties}
\bibitem{urban flood}
Urban Flood Project,
\url{http://urbanflood.eu/default.aspx}.
Retrieved 9 april
\bibitem{Sencha Touch}
Sencha Touch 2.
\url{http://docs.sencha.com/touch/2-0/}.
Retrieved 9 april
\bibitem{Google Maps API}
Google Maps API,
\url{https://developers.google.com/maps/}.
Retrieved 9 april
\bibitem{PhoneGap}
PhoneGap
\url{http://www.PhoneGap.com}.
Retrieved 9 april
\bibitem{Titanium Mobile}
Titanium Appcelerator,
\url{http://www.appcelerator.com/}.
Retrieved 9 april
\end{thebibliography}
\end{frame}
\end{document}
\ No newline at end of file
\documentclass[10pt,a4paper]{article}
\usepackage[utf8]{inputenc}
\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{amssymb}
\usepackage{listings}
\author{Richard Torenvliet - 6138861}
\title{Flood Simulation Browser}
\begin{document}
\maketitle
\section{Introduction}
This project concerns the flood simulation browser. The concept of this browser is to illustrate/visualize a flood in a particular area. With this technology people can see the flow that the water will take. When a dike breaks it is important to know where the water will flow. That way the information about which locations in the area will be under water first. By using this information the government can be informed. People with the authority to take measures against these floods are provided with the right information. This system already exists but this project involves taking advantage of this system and make it easier available and accessible.
The implementation of this application will be on a multi-touch device. In particular iPads and Android tablets. but can be launched on other tablets as well. Users can use this application in an intuitive way and get more intelligence about the complex situation at hand. They have the ability to choose from several simulations that where already made for a specific area.
This document covers design choices/options in order to reach that goal. The first step is to get an idea of the existing simulation system of which this application will take use of. This includes a clarification of what is already made and what is not. For instance, what type of data is already made at the system side. The next step will be finding what out the requirements of the tablet implementation, like what features does it have to contain in order to be to maintain the intuitiveness. Just by showing the data would not be sufficient. The function of this App is to extend the simulation system with a use-ability factor.
\section{Flood Simulation System}
The system that already exists runs in the Cloud. That means it does all the calculation for the client and it is not important to know at physical computer it runs. The system can calculate other simulation by providing it parameters about a certain area. When a simulation is run it will be stored on in the system. With other calls the system return a set of simulation that are present in the current database. Now the important thing to note is that the simulation consists of images that have to be displayed on a map, let's say Google Maps. The flood simulation system preforms a complex simulation with the height map of the area. The height map consists of detailed information about the height of an area. With this data the flow of the water can be calculated and turned in to images.
\section{Flood API}
The API is a REST api that returns a JSON formatted string. It's a client server system where requests are done by the client and the appropriate data is transferred back to the client.
\section{Flood Simulation App}
\subsection{Platform considerations}
As stated in the introduction the app is meant for tablets, but not specific for iOS or Android. How can we maintain this demand on the application. This means that the application is not native programmed but consists of one code-base. There is a technology called PhoneGap that uses HTML5 CSS and Javascript to build the app. In essence the developer build a mobile website and PhoneGap can wrap this in an application. The native web engine is that used to render the mobile website. PhoneGap can result in a huge speed up in development which is a huge advantage. Also by the skills gained by webdevelopment can be re-used. Therefore there is no need to learn a new programming environment used for native apps in Objective C with Xcode for iOS and Java with Eclipse for Android. The advantage that is the learning curve is not high, but it can still feel like a mobile website in stead of a native application. Luckily frameworks exists where native-like elements are created for you.
Another option can be a Titanium Mobile, the Appcelerator. Titanium Mobile can build mobile applications that are in fact native applications. By programming in Javascript and call functions to create native elements. The framework builds native code, in contrary to PhoneGap what is really a mobile webpage in an application. The development for this platform is fast and an application for both iOS and Android are quickly from the ground. But there is also a disadvantage by using Titanium. The applications are big, around 11MB no matter what you did. Not only that, the native elements look good on iOS but no so much on Android. So true cross platform is never reached.
\subsubsection*{Javascipt frameworks}
As already explained, PhoneGap only provides the possibility to make an app out of a website. This website can be build in any way the developer likes using webtechnologies supported on the native device. There are frameworks that can speed up the development to make an intuitive application. Two frameworks that can be considered jQuery Mobile and Sencha Touch.
\begin{description}
\item [jQuery Mobile]
This Javascriptwork is build out of one Javascript file and one css file that the developer includes. By giving certain HTML elements a data attribute, which is a HTML5 element, the framework uses this to create views. A page is made by declaring a div adding data-role="page". Such a page can be given a footer like div data-role="footer".
Switching frame one page to the other can be as simple as giving a html anchor an href to an id of a page.
\begin{figure}
\begin{lstlisting}
<div data-role="page" id='bar'>
<a #href='foo' data-role="button">switch to foo</a>
</div>
<div data-role='page' id='foo'>
<a #href='bar' data-role="button">switch to bar</a>
</div>
\end{lstlisting}
\caption{jQuery Mobile, pages example}
\end{figure}
The downside of jQuery mobile is that in order to create an application where views look a like, you have to repeat yourself. Every page gets the same footer. It can be a burden when changes have to be made in the footer. The conclusion is that jQuery mobile is really easy and the developer does indeed use html, css to create views. But is is not easy to build a modular application.
\item [Sencha Touch]
Sencha touch is a framework focused on the Model View Controller design pattern. It encourages the developer to use this pattern. The way of developing really differs from jQuery mobile. There where jQuery mobile sets you free to do whatever you like, sencha touch constraints the developer. The difference can be easily explained with an example.
\begin{figure}[h!]
\begin{lstlisting}
Ext.application({
name: 'foo',
launch: function() {
Ext.create("Ext.tab.Panel", {
fullscreen: true,
items: [
{
title: 'bar',
iconCls: 'bar',
html: 'bar'
}
]
});
}
});
\end{lstlisting}
\caption{Sencha Touch application example}
This example creates an application with the %name 'foo'. The html can be placed inside the items array.
\end{figure}
\end{description}
\subsection{App Design}
\end{document}
\ No newline at end of file
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