text-noah.tex 6.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197
  1. %standard
  2. \documentclass[a4paper,10pt]{scrartcl}
  3. \usepackage[utf8]{inputenc}
  4. \usepackage[ngerman]{babel}
  5. %\selectlanguage{english}
  6. %font
  7. \usepackage{tgheros}
  8. \usepackage{mathptmx}
  9. % use sans serif font
  10. % \renewcommand{\familydefault}{\sfdefault}
  11. \usepackage[hyphens]{url}
  12. \usepackage{hyperref}
  13. \usepackage{multicol}
  14. %pictures
  15. \usepackage{graphicx}
  16. \usepackage{wrapfig}
  17. %tables
  18. \renewcommand{\arraystretch}{1.4}
  19. \usepackage{multirow}
  20. %special characters
  21. \usepackage[official]{eurosym}
  22. \newcommand\tab[1][1cm]{\hspace*{#1}}
  23. %geometry
  24. \usepackage{geometry}
  25. \geometry{ headsep=20pt,
  26. headheight=20pt,
  27. left=21mm,
  28. top=15mm,
  29. right=21mm,
  30. bottom=15mm,
  31. footskip=20pt,
  32. includeheadfoot}
  33. %header
  34. \usepackage{datetime}
  35. \newdateformat{dmy}{%
  36. \THEDAY.~\monthname[\THEMONTH] \THEYEAR}
  37. \usepackage{fancyhdr}
  38. \pagestyle{fancy}
  39. \lhead{Noah J. Vogt}
  40. \chead{}
  41. \rhead{\dmy\today}
  42. \lfoot{}
  43. \cfoot{Gymnasium Kirschgarten}
  44. \rfoot{}
  45. %indent
  46. \renewcommand{\footrulewidth}{.4pt}
  47. \setlength{\parindent}{0em}
  48. \begin{document}
  49. \begin{multicols}{3}
  50. \section{Maturvortrag}
  51. \subsubsection*{Begrüssung + TOC (Noah)}
  52. \subsubsection*{Motivation (Simon)}
  53. \subsubsection*{Ziele (Noah)}
  54. Die App soll die Basisfunktionen eines klassischen Email Clients
  55. erfüllen. Dazu gehören das Lesen, Schreiben, Empfangen und Versenden von
  56. Emails, das Öffnen und Anfügen von Anlagen, die Setzung einer
  57. Email-Signatur und das Erstellen und Speichern von Entwürfen.\\
  58. Ebenso soll es einen Account Manger geben, welcher dem Nutzer
  59. ermöglicht, sich in der App mit mehreren Emailkonten anzumelden und
  60. zwischen diesen zu wechseln.\\
  61. Die App soll auch \emph{«Mobil und Modern»} wirken, also gut auf eine
  62. Mobilplattform angepasst werden. Deshalb soll sie über Pushnachrichten
  63. und ein visuell ansprechendes User Interface verfügen.\\
  64. Auch soll ein Einstellungsfenster erstellt werden, wo der Nutzer
  65. verschiedene Verhalten der App anpassen kann.\\
  66. Grundsätzlich soll unsere App \emph{Free Software} sein und so
  67. programmiert werden, dass sie alle nötigen Grundfunktionen für einen
  68. Email Client auf dem Smartphone beinhaltet, aber schneller starten soll
  69. als die Apps der Konkurrenz, weniger Speicherplatz und Ressourcen
  70. verbraucht und nicht mit unnötigen Funktionen überladen sein soll. Das
  71. Motto ist hier: \emph{schnell, frei und simpel}.
  72. \subsubsection*{Inspiration Design (Noah)}
  73. Wir haben uns die verschiedenen Email Clients auf Android angeschaut und
  74. viel gutes und schlechtes gesehen. Es scheint als seien diese aus 70\%
  75. guten und 30\% schlechten Sachen zusammengesetzt. Wenn man diese
  76. verschiedenen Designprinzipien kombiniert, könnte man eine aus unseren
  77. Augen ziemlich passable Email App erschaffen. \\
  78. So gefiel uns das responsive und für die Mobilnutzung ziemlich
  79. ausgeklügelte Touch Interface bei Gmail, doch fanden wir es unnötig
  80. überladen und langsam.\\
  81. Während k9-mail ein schnelles UI (User Interface)
  82. bietet, so empfanden wir die grafische Oberfläche als sehr undurchdacht
  83. konzipiert. Bei Fairmail war das Interface dermassen überladen, dass wir
  84. gar nicht weiter nach anderen, möglichen Vorteilen gesucht haben.
  85. \subsubsection*{Demo (Video)}
  86. \subsubsection*{Was ist alles drin (Simon)}
  87. \subsubsection*{App-Struktur (Simon)}
  88. \paragraph{Database (Noah)}
  89. Eine Datenbank (engl. database) ist allgemein eine organisierte
  90. Ansammlung von strukturierter Information oder Daten, typischerweise
  91. digital auf einem Computersystem gespeichert, verwaltet und ausgewertet.\\
  92. Datenbanken sind oft sehr ähnlich aufgebaut wie die für Endnutzer
  93. entwickelten graphischen Tabellenkalkulationsprogramme wie z.B. Google
  94. Docs oder Libre Office.
  95. \paragraph{Database (Simon)}
  96. \paragraph{Server Connection (Noah)}
  97. Vereinfacht funktioniert der Versand von Emails in diesem Diagramm: Ein
  98. Nutzer, der eine Email versenden will, interagiert mit seinem
  99. Mail-Client und gibt durch ihn den Befehl, die Email zu versenden.\\
  100. Der
  101. Email Client verschickt die Mail an den SMTP Server des sendenden
  102. Nutzers, wo dieser zum SMTP Server des empfangenden Nutzers gelangt, von
  103. dort aus zu seinem IMAP oder POP3 Server. Wenn der Mail Client des
  104. Empfängers eine Anfrage an seinen SMTP / POP 3 macht, kann er diese
  105. einlesen und der Nutzer kann nun seine neue Email lesen.\\\\\\
  106. \paragraph{Material Design (Noah)}
  107. Material ist ein Framework, welche dem App Entwickler ermöglicht,
  108. Fenster, Knöpfe, Texte und Texteingabefelder einzubinden, und das
  109. visuell ansprechender als die standardmässigen Android Bibliotheken.\\
  110. Dieses GUI-Framework ist sehr beliebt und wird oft auch in Google Apps
  111. verwendet, was dem neuen Nutzer von \emph{snailmail} ein familiäre
  112. Benutzererfahrung bescheren soll.
  113. \subsubsection*{Bug (Simon)}
  114. \subsubsection*{Resultate: Vergleich mit ursprünglichen Zielen (Noah)}
  115. Das User Interface ist erfreulich gut im Einklang mit den ursprünglichen
  116. Zielen: Es ist simpel und ohne unnötigen Schnickschnack. Die
  117. Nutzerfreundlichkeit ist ebenfalls zufriedenstellend.\\
  118. Unsere App sollte ja \emph{Free Software} werden, inklusive
  119. Bibliotheken. Doch da wir uns noch nicht so gut auskannten mit Gradle,
  120. schlich sich eine nicht-freie Library namens \emph{chaquopy} ein. Diese
  121. werden wir noch entfernen.\\
  122. Die wichtigsten Funktionen der App wurden erreicht, es können Emails
  123. geschrieben und gelesen werden, es bestehen verschiedene Mailboxen, usw.
  124. Gewisse Features, wie Pushnachrichten oder eine Suchfunktionen, fehlen
  125. noch ganz. Funktionen wie die Einstellungen oder das Synchronisieren mit
  126. dem Mailserver sind noch nicht ganz fertiggestellt. \\
  127. Insgesamt haben wir also doch das meiste und wichtige erreichen können,
  128. was ein Email Client auf einem Smartphone so haben muss. Das motiviert
  129. uns natürlich für die weitere Entwicklung und Vollendung des Projekts
  130. \emph{snailmail}.\\\\\\
  131. \subsubsection*{Was haben wir gelernt (Simon)}
  132. \subsubsection*{Persönliche Meinung (Noah)}
  133. Die meisten Probleme die wir während der Programmierarbeit hatten, waren
  134. primär zurückzuführen auf unsere fehlende Erfahrung mit der
  135. Android-Entwicklungsumgebung.\\
  136. Auch kannten wir noch wenige Java Libraries, weshalb uns vor allem am
  137. Anfang die Suche nach passenden Bibliotheken einige Zeit kostete.\\\\\\\\
  138. Insgesamt kann ich von mir aus sagen, dass mich das ganze Projekt
  139. weitergebracht hat, die ersten Erfahrungen mit der App Programmierung
  140. waren es wert und ich sehe sie persönlich und beruflich rein zum
  141. Vorteil.\\
  142. \subsubsection*{Persönliche Meinung (Simon)}
  143. \subsubsection*{Abschluss (Simon)}
  144. \end{multicols}
  145. \end{document}