core.tex 8.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302
  1. \documentclass[aspectratio=169]{beamer}
  2. % get rid of clickable beamer buttons
  3. \beamertemplatenavigationsymbolsempty
  4. % parse most utf-8 correctly
  5. \usepackage[utf8]{inputenc}
  6. \usepackage[ngerman]{babel}
  7. % better graphics
  8. \usepackage{graphicx}
  9. % beamer settings
  10. \title{snailmail}
  11. \author{Noah Vogt \& Simon Hammer}
  12. \institute{Gymnasium Kirschgarten}
  13. \usetheme{Copenhagen}
  14. \usepackage{varwidth}
  15. \usepackage{graphicx,calc}
  16. \newlength\myheight
  17. \newlength\mydepth
  18. \settototalheight\myheight{Xygp}
  19. \settodepth\mydepth{Xygp}
  20. \setlength\fboxsep{0pt}
  21. \newcommand*\inlinegraphics[1]{
  22. \settototalheight\myheight{Xygp}
  23. \settodepth\mydepth{Xygp}
  24. \raisebox{-\mydepth}{\includegraphics[height=\myheight]{#1}}%
  25. }
  26. % for code snippits
  27. \usepackage{listings}
  28. \usepackage{color}
  29. \definecolor{dkgreen}{rgb}{0,0.6,0}
  30. \definecolor{gray}{rgb}{0.5,0.5,0.5}
  31. \definecolor{mauve}{rgb}{0.58,0,0.82}
  32. \definecolor{background}{rgb}{0.36,0.36,0.36}
  33. \lstset{
  34. numbersep=3pt,
  35. keywordstyle=\color{blue},
  36. commentstyle=\color{dkgreen},
  37. stringstyle=\color{mauve},
  38. breaklines=true,
  39. numbers=left,
  40. numberstyle=\scriptsize\color{black},
  41. frame=none,
  42. basicstyle = \small\ttfamily,
  43. breaklines=true
  44. breakatwhitespace=false,
  45. columns=flexible,
  46. xleftmargin=0.5cm,framesep=8pt,framerule=0pt,
  47. aboveskip=3mm,
  48. belowskip=3mm,
  49. }
  50. % Package to use videos
  51. \usepackage{movie15}
  52. \begin{document}
  53. \maketitle
  54. \begin{frame}{Inhaltsverzeichniss}
  55. INSERT TOC HERE
  56. \end{frame}
  57. %\section{Vorwort}
  58. \begin{frame}{Motivation}
  59. \begin{varwidth}{.5\textwidth}
  60. \begin{figure}
  61. \centering
  62. \includegraphics[width=.9\textwidth]{media/macbook.jpg}
  63. \end{figure}
  64. \end{varwidth}
  65. \hfill
  66. \begin{varwidth}{.5\textwidth}
  67. \begin{itemize}\pause
  68. \item allgemeines Interesse\pause
  69. \item fehlender Edubs-Mail-Client\pause
  70. %\item fehlender Edubs-Mail-Client\inlinegraphics{media/baslerstab-1.jpg}\pause
  71. \item persönliche Bedürfnisse
  72. \end{itemize}
  73. \end{varwidth}
  74. \end{frame}
  75. %\subsection{Ziele}
  76. \begin{frame}{Ziele}
  77. \begin{varwidth}{.5\textwidth}
  78. \begin{figure}
  79. \centering
  80. \includegraphics[width=.8\textwidth]{../logo/version3d.png}
  81. \caption{snailmail Logo}
  82. \end{figure}
  83. \end{varwidth}
  84. \hfill
  85. \begin{varwidth}{.5\textwidth}
  86. \begin{itemize}\pause
  87. \item Basisfunktionen \inlinegraphics{media/mail.png} \pause
  88. \item Account Manager\inlinegraphics{media/business.png}\pause
  89. \item Design Prinzipien\inlinegraphics{media/paintbrush.png}\pause
  90. \item Schnelligkeit\inlinegraphics{media/run.png}\pause
  91. \item Mobil und Modern\inlinegraphics{media/mobile.png}\pause
  92. \item Einstellungen\inlinegraphics{media/settings.png}
  93. \end{itemize}
  94. \end{varwidth}
  95. \end{frame}
  96. \begin{frame}{Warum Java}
  97. \begin{varwidth}{.3\textwidth}
  98. \begin{figure}
  99. \centering
  100. \includegraphics[height=.8\textheight]{media/java-logo.png}
  101. \end{figure}
  102. \end{varwidth}
  103. \hfill
  104. \begin{varwidth}{.6\textwidth}
  105. \begin{itemize}\pause
  106. \item war offizielle Sprache für Android Apps\pause
  107. \item abgelöst von Kotlin (seit 2019)\pause
  108. \item EF Informatik
  109. \end{itemize}
  110. \end{varwidth}
  111. \end{frame}
  112. % TODO: consider using external player
  113. \begin{frame}{Demo}
  114. %\includemovie[toolbar]{90pt}{90pt}{media/cutaccountViewer.mp4}
  115. %\includemovie[]{90pt}{90pt}{media/draftsExample.mp4}
  116. \end{frame}
  117. \begin{frame}{Was alles drin ist}
  118. \includegraphics<1>[height=.8\textheight]{media/emailViewer.jpg}
  119. \pause
  120. \includegraphics<2>[height=.8\textheight]{media/emailWriter.jpg}
  121. \pause
  122. \includegraphics<3>[height=.8\textheight]{media/accountManager.jpg}
  123. \end{frame}
  124. \begin{frame}{allgemeine App-Struktur}
  125. \centering
  126. \includegraphics[height=.7\textheight]{../maturText/media/AppStructure.png}
  127. \end{frame}
  128. \begin{frame}{Database}
  129. \begin{block}{allgemein}
  130. \end{block}
  131. \begin{block}{in der app}
  132. \end{block}
  133. \end{frame}
  134. \begin{frame}{Email Connection}
  135. \centering
  136. \includegraphics[width=.8\textwidth]{../maturText/media/connection-diagram.png}
  137. \end{frame}
  138. \defverbatim[colored]\makeset{
  139. \lstset{language=python}
  140. \begin{lstlisting}
  141. def sendStarttls(host, sendingMail, receivingMail, password, message="",
  142. subject="", port=587, cc=[], bcc=[]):
  143. context = ssl.create_default_context()
  144. if type(cc) is not str:
  145. cc = ",".join(cc)
  146. if type(bcc) is not str:
  147. bcc = ",".join(bcc)
  148. utf8Message = ("Subject: " + subject + "\nCC: " + cc + "\nBCC: " + bcc +
  149. "\n\n" + message)
  150. decoded = utf8Message.encode('cp1252').decode('utf-8')
  151. with smtplib.SMTP(host, port) as serverConnection:
  152. serverConnection.starttls(context=context)
  153. serverConnection.login(sendingMail, password)
  154. serverConnection.sendmail(sendingMail, receivingMail, decoded)
  155. \end{lstlisting}
  156. }
  157. \begin{frame}{Sendung einer Email}
  158. \makeset
  159. \end{frame}
  160. \begin{frame}{Was haben wir wirklich selber gemacht?}
  161. \centering
  162. \includegraphics[height=.8\textheight]{media/self.jpeg}
  163. \end{frame}
  164. \begin{frame}{Room}
  165. INSERT ABSTRACTION LAYERS
  166. \end{frame}
  167. \begin{frame}{Material Design}
  168. \begin{varwidth}{.5\textwidth}
  169. \begin{figure}
  170. \centering
  171. \includegraphics[width=\textwidth]{media/material-design-in-action.jpg}
  172. \end{figure}
  173. \end{varwidth}
  174. \hfill
  175. \begin{varwidth}{.4\textwidth}
  176. \includegraphics[width=\textwidth]{media/material-android.png}
  177. \begin{itemize}\pause
  178. \item GUI-Framework\pause
  179. \item beliebt\pause
  180. \item in Google Apps
  181. \end{itemize}
  182. \end{varwidth}
  183. \end{frame}
  184. \begin{frame}{Bugs}
  185. INSERT BUGS HERE
  186. \end{frame}
  187. %:TODO Ich han eig gmeint Bilder us de Apps. Also wenn du seisch es isch zu überlade das me das in de Apps seht und ned s Logo fo de App
  188. \begin{frame}{Inspiration Design}
  189. \begin{varwidth}{.3\textwidth}\pause
  190. \begin{figure}
  191. \centering
  192. \includegraphics[width=.9\textwidth]{media/gmail-logo.png}
  193. \end{figure}
  194. \end{varwidth}
  195. \hfill
  196. \begin{varwidth}{.3\textwidth}\pause
  197. \begin{figure}
  198. \centering
  199. \includegraphics[width=.9\textwidth]{media/k9-logo.png}
  200. \end{figure}
  201. \end{varwidth}
  202. \hfill
  203. \begin{varwidth}{.3\textwidth}\pause
  204. \begin{figure}
  205. \centering
  206. \includegraphics[width=.9\textwidth]{media/fairmail-logo.png}
  207. \end{figure}
  208. \end{varwidth}
  209. \end{frame}
  210. \begin{frame}{Resultate}
  211. \begin{itemize}\pause
  212. \item User Interface\pause
  213. \item chaquopy\pause
  214. \item Funktionalität\pause
  215. \item abschliessend
  216. \end{itemize}
  217. \end{frame}
  218. \begin{frame}{Was wir gelernt haben}
  219. \begin{varwidth}{.5\textwidth}
  220. \begin{figure}
  221. \centering
  222. \includegraphics[width=.95\textwidth]{media/monetary-success.jpeg}
  223. \end{figure}
  224. \end{varwidth}
  225. \hfill
  226. \begin{varwidth}{.5\textwidth}
  227. \begin{itemize}\pause
  228. \item Java\inlinegraphics{media/java-only-logo.png}\pause
  229. \item Android Apps\inlinegraphics{media/android-robot.png}\pause
  230. \item Android Studio\inlinegraphics{media/android-studio-logo.png}\pause
  231. \item Database \& SQL\inlinegraphics{media/database.png}\pause
  232. \item Gradle\inlinegraphics{media/gradle.png}\pause
  233. \item kryptografisches Signieren\inlinegraphics{media/key.png}
  234. \end{itemize}
  235. \end{varwidth}
  236. \end{frame}
  237. % TODO: WAS GUT / SCHLECHT LIEF
  238. \begin{frame}{persönliche Meinung}
  239. \begin{varwidth}{.4\textwidth}
  240. \begin{itemize}\pause
  241. \item VCS $\rightarrow$ Git $\rightarrow$ GitHub\pause
  242. \item Treffen \& Absprachen \& VoIP\pause
  243. \item texdiary
  244. \end{itemize}
  245. \end{varwidth}
  246. \hfill
  247. \begin{varwidth}{.4\textwidth}
  248. \begin{itemize}\pause
  249. \item fehlende Erfahrung\pause
  250. \item Java Libraries\pause
  251. \item persönlicher \& beruflicher Vorteil
  252. \end{itemize}
  253. \end{varwidth}
  254. \end{frame}
  255. \begin{frame}{Zukunft: Wie geht es weiter?}
  256. \begin{figure}
  257. \centering
  258. \includegraphics[height=.7\textheight]{media/github-repo.jpg}
  259. \end{figure}
  260. \begin{itemize}
  261. \centering
  262. \item https://github.com/noahvogt/snailmail
  263. \item https://git.noahvogt.com/me/snailmail
  264. \end{itemize}
  265. \end{frame}
  266. \end{document}