|
@@ -0,0 +1,197 @@
|
|
|
|
+%standard
|
|
|
|
+\documentclass[a4paper,10pt]{scrartcl}
|
|
|
|
+\usepackage[utf8]{inputenc}
|
|
|
|
+\usepackage[ngerman]{babel}
|
|
|
|
+%\selectlanguage{english}
|
|
|
|
+
|
|
|
|
+%font
|
|
|
|
+\usepackage{tgheros}
|
|
|
|
+\usepackage{mathptmx}
|
|
|
|
+% use sans serif font
|
|
|
|
+% \renewcommand{\familydefault}{\sfdefault}
|
|
|
|
+
|
|
|
|
+\usepackage[hyphens]{url}
|
|
|
|
+\usepackage{hyperref}
|
|
|
|
+
|
|
|
|
+\usepackage{multicol}
|
|
|
|
+
|
|
|
|
+%pictures
|
|
|
|
+\usepackage{graphicx}
|
|
|
|
+\usepackage{wrapfig}
|
|
|
|
+
|
|
|
|
+%tables
|
|
|
|
+\renewcommand{\arraystretch}{1.4}
|
|
|
|
+\usepackage{multirow}
|
|
|
|
+
|
|
|
|
+%special characters
|
|
|
|
+\usepackage[official]{eurosym}
|
|
|
|
+\newcommand\tab[1][1cm]{\hspace*{#1}}
|
|
|
|
+
|
|
|
|
+%geometry
|
|
|
|
+\usepackage{geometry}
|
|
|
|
+\geometry{ headsep=20pt,
|
|
|
|
+ headheight=20pt,
|
|
|
|
+ left=21mm,
|
|
|
|
+ top=15mm,
|
|
|
|
+ right=21mm,
|
|
|
|
+ bottom=15mm,
|
|
|
|
+ footskip=20pt,
|
|
|
|
+ includeheadfoot}
|
|
|
|
+
|
|
|
|
+%header
|
|
|
|
+\usepackage{datetime}
|
|
|
|
+\newdateformat{dmy}{%
|
|
|
|
+ \THEDAY.~\monthname[\THEMONTH] \THEYEAR}
|
|
|
|
+\usepackage{fancyhdr}
|
|
|
|
+\pagestyle{fancy}
|
|
|
|
+\lhead{Noah J. Vogt}
|
|
|
|
+\chead{}
|
|
|
|
+\rhead{\dmy\today}
|
|
|
|
+\lfoot{}
|
|
|
|
+\cfoot{Gymnasium Kirschgarten}
|
|
|
|
+\rfoot{}
|
|
|
|
+
|
|
|
|
+%indent
|
|
|
|
+\renewcommand{\footrulewidth}{.4pt}
|
|
|
|
+\setlength{\parindent}{0em}
|
|
|
|
+
|
|
|
|
+\begin{document}
|
|
|
|
+
|
|
|
|
+\begin{multicols}{3}
|
|
|
|
+
|
|
|
|
+\section{Maturvortrag}
|
|
|
|
+
|
|
|
|
+\subsubsection*{Begrüssung + TOC (Noah)}
|
|
|
|
+
|
|
|
|
+\subsubsection*{Motivation (Simon)}
|
|
|
|
+
|
|
|
|
+\subsubsection*{Ziele (Noah)}
|
|
|
|
+
|
|
|
|
+Die App soll die Basisfunktionen eines klassischen Email Clients
|
|
|
|
+erfüllen. Dazu gehören das Lesen, Schreiben, Empfangen und Versenden von
|
|
|
|
+Emails, das Öffnen und Anfügen von Anlagen, die Setzung einer
|
|
|
|
+Email-Signatur und das Erstellen und Speichern von Entwürfen.\\
|
|
|
|
+
|
|
|
|
+Ebenso soll es einen Account Manger geben, welcher dem Nutzer
|
|
|
|
+ermöglicht, sich in der App mit mehreren Emailkonten anzumelden und
|
|
|
|
+zwischen diesen zu wechseln.\\
|
|
|
|
+
|
|
|
|
+Die App soll auch \emph{«Mobil und Modern»} wirken, also gut auf eine
|
|
|
|
+Mobilplattform angepasst werden. Deshalb soll sie über Pushnachrichten
|
|
|
|
+und ein visuell ansprechendes User Interface verfügen.\\
|
|
|
|
+
|
|
|
|
+Auch soll ein Einstellungsfenster erstellt werden, wo der Nutzer
|
|
|
|
+verschiedene Verhalten der App anpassen kann.\\
|
|
|
|
+
|
|
|
|
+Grundsätzlich soll unsere App \emph{Free Software} sein und so
|
|
|
|
+programmiert werden, dass sie alle nötigen Grundfunktionen für einen
|
|
|
|
+Email Client auf dem Smartphone beinhaltet, aber schneller starten soll
|
|
|
|
+als die Apps der Konkurrenz, weniger Speicherplatz und Ressourcen
|
|
|
|
+verbraucht und nicht mit unnötigen Funktionen überladen sein soll. Das
|
|
|
|
+Motto ist hier: \emph{schnell, frei und simpel}.
|
|
|
|
+
|
|
|
|
+\subsubsection*{Inspiration Design (Noah)}
|
|
|
|
+
|
|
|
|
+Wir haben uns die verschiedenen Email Clients auf Android angeschaut und
|
|
|
|
+viel gutes und schlechtes gesehen. Es scheint als seien diese aus 70\%
|
|
|
|
+guten und 30\% schlechten Sachen zusammengesetzt. Wenn man diese
|
|
|
|
+verschiedenen Designprinzipien kombiniert, könnte man eine aus unseren
|
|
|
|
+Augen ziemlich passable Email App erschaffen. \\
|
|
|
|
+
|
|
|
|
+So gefiel uns das responsive und für die Mobilnutzung ziemlich
|
|
|
|
+ausgeklügelte Touch Interface bei Gmail, doch fanden wir es unnötig
|
|
|
|
+überladen und langsam.\\
|
|
|
|
+
|
|
|
|
+Während k9-mail ein schnelles UI (User Interface)
|
|
|
|
+bietet, so empfanden wir die grafische Oberfläche als sehr undurchdacht
|
|
|
|
+konzipiert. Bei Fairmail war das Interface dermassen überladen, dass wir
|
|
|
|
+gar nicht weiter nach anderen, möglichen Vorteilen gesucht haben.
|
|
|
|
+
|
|
|
|
+\subsubsection*{Demo (Video)}
|
|
|
|
+
|
|
|
|
+\subsubsection*{Was ist alles drin (Simon)}
|
|
|
|
+
|
|
|
|
+\subsubsection*{App-Struktur (Simon)}
|
|
|
|
+
|
|
|
|
+\paragraph{Database (Noah)}
|
|
|
|
+
|
|
|
|
+Eine Datenbank (engl. database) ist allgemein eine organisierte
|
|
|
|
+Ansammlung von strukturierter Information oder Daten, typischerweise
|
|
|
|
+digital auf einem Computersystem gespeichert, verwaltet und ausgewertet.\\
|
|
|
|
+
|
|
|
|
+Datenbanken sind oft sehr ähnlich aufgebaut wie die für Endnutzer
|
|
|
|
+entwickelten graphischen Tabellenkalkulationsprogramme wie z.B. Google
|
|
|
|
+Docs oder Libre Office.
|
|
|
|
+
|
|
|
|
+\paragraph{Database (Simon)}
|
|
|
|
+
|
|
|
|
+\paragraph{Server Connection (Noah)}
|
|
|
|
+
|
|
|
|
+Vereinfacht funktioniert der Versand von Emails in diesem Diagramm: Ein
|
|
|
|
+Nutzer, der eine Email versenden will, interagiert mit seinem
|
|
|
|
+Mail-Client und gibt durch ihn den Befehl, die Email zu versenden.\\
|
|
|
|
+
|
|
|
|
+Der
|
|
|
|
+Email Client verschickt die Mail an den SMTP Server des sendenden
|
|
|
|
+Nutzers, wo dieser zum SMTP Server des empfangenden Nutzers gelangt, von
|
|
|
|
+dort aus zu seinem IMAP oder POP3 Server. Wenn der Mail Client des
|
|
|
|
+Empfängers eine Anfrage an seinen SMTP / POP 3 macht, kann er diese
|
|
|
|
+einlesen und der Nutzer kann nun seine neue Email lesen.\\\\\\
|
|
|
|
+
|
|
|
|
+\paragraph{Material Design (Noah)}
|
|
|
|
+
|
|
|
|
+Material ist ein Framework, welche dem App Entwickler ermöglicht,
|
|
|
|
+Fenster, Knöpfe, Texte und Texteingabefelder einzubinden, und das
|
|
|
|
+visuell ansprechender als die standardmässigen Android Bibliotheken.\\
|
|
|
|
+
|
|
|
|
+Dieses GUI-Framework ist sehr beliebt und wird oft auch in Google Apps
|
|
|
|
+verwendet, was dem neuen Nutzer von \emph{snailmail} ein familiäre
|
|
|
|
+Benutzererfahrung bescheren soll.
|
|
|
|
+
|
|
|
|
+\subsubsection*{Bug (Simon)}
|
|
|
|
+
|
|
|
|
+\subsubsection*{Resultate: Vergleich mit ursprünglichen Zielen (Noah)}
|
|
|
|
+
|
|
|
|
+Das User Interface ist erfreulich gut im Einklang mit den ursprünglichen
|
|
|
|
+Zielen: Es ist simpel und ohne unnötigen Schnickschnack. Die
|
|
|
|
+Nutzerfreundlichkeit ist ebenfalls zufriedenstellend.\\
|
|
|
|
+
|
|
|
|
+Unsere App sollte ja \emph{Free Software} werden, inklusive
|
|
|
|
+Bibliotheken. Doch da wir uns noch nicht so gut auskannten mit Gradle,
|
|
|
|
+schlich sich eine nicht-freie Library namens \emph{chaquopy} ein. Diese
|
|
|
|
+werden wir noch entfernen.\\
|
|
|
|
+
|
|
|
|
+Die wichtigsten Funktionen der App wurden erreicht, es können Emails
|
|
|
|
+geschrieben und gelesen werden, es bestehen verschiedene Mailboxen, usw.
|
|
|
|
+Gewisse Features, wie Pushnachrichten oder eine Suchfunktionen, fehlen
|
|
|
|
+noch ganz. Funktionen wie die Einstellungen oder das Synchronisieren mit
|
|
|
|
+dem Mailserver sind noch nicht ganz fertiggestellt. \\
|
|
|
|
+
|
|
|
|
+Insgesamt haben wir also doch das meiste und wichtige erreichen können,
|
|
|
|
+was ein Email Client auf einem Smartphone so haben muss. Das motiviert
|
|
|
|
+uns natürlich für die weitere Entwicklung und Vollendung des Projekts
|
|
|
|
+\emph{snailmail}.\\\\\\
|
|
|
|
+
|
|
|
|
+\subsubsection*{Was haben wir gelernt (Simon)}
|
|
|
|
+
|
|
|
|
+\subsubsection*{Persönliche Meinung (Noah)}
|
|
|
|
+
|
|
|
|
+Die meisten Probleme die wir während der Programmierarbeit hatten, waren
|
|
|
|
+primär zurückzuführen auf unsere fehlende Erfahrung mit der
|
|
|
|
+Android-Entwicklungsumgebung.\\
|
|
|
|
+
|
|
|
|
+Auch kannten wir noch wenige Java Libraries, weshalb uns vor allem am
|
|
|
|
+Anfang die Suche nach passenden Bibliotheken einige Zeit kostete.\\\\\\\\
|
|
|
|
+
|
|
|
|
+Insgesamt kann ich von mir aus sagen, dass mich das ganze Projekt
|
|
|
|
+weitergebracht hat, die ersten Erfahrungen mit der App Programmierung
|
|
|
|
+waren es wert und ich sehe sie persönlich und beruflich rein zum
|
|
|
|
+Vorteil.\\
|
|
|
|
+
|
|
|
|
+\subsubsection*{Persönliche Meinung (Simon)}
|
|
|
|
+
|
|
|
|
+\subsubsection*{Abschluss (Simon)}
|
|
|
|
+
|
|
|
|
+\end{multicols}
|
|
|
|
+
|
|
|
|
+\end{document}
|