\section{Benutzeroberfläche} Die Synchronisation der \Glspl{podcast} soll über eine Weboberfläche verwalten werden. Dazu wird eine \Gls{spa} erstellt. Diese kann durch ein \Gls{responsive}-Design für Desktop- und Mobilgeräte nutzerfreundlich angezeigt werden. Die Navigation erfolgt über eine Navigationsleiste, welche auf jeder nutzerbezogenen Seite zu sehen ist. Über die Navigationsleiste können über Knöpfe alle anderen nutzerbezogenen Seiten aufgerufen werden. Über ein Dropdown-Menu werden Accounteinstellungen und ein Logout-Knopf sichtbar (siehe Abbildung \ref{fig:listening-progress-account-dropdown}). Ein weiters Dropdown-Menu erlaubt das Wechseln der Sprache (siehe Abbildung \ref{fig:podcast-desktop-change-language}). Der ,,Hilfe''-Eintrag öffnet ein Fenster mit Hilfestellungen (siehe Abbildung \ref{fig:help-desktop}). Durch das \Gls{responsive}-Design kann die Navigations-Leiste auf Mobilgeräten sich zu einem Burger-Menu zusammenklappen. Die Komponenten der Weboberfläche werden von einem Still-Framework, wie Bootstrap, benutzt. % Übersichtlichkeit wichtig? % Webanwendung % Single-Page-Application % Responsive % Navigationsleiste % Bootstrap \subsection{Login} Bei der erstmaligen Nutzung des Services wird der Nutzer aufgefordert, sich neu für die \Gls{podcast}-Synchronisation zu registrieren. Dabei gibt der Nutzer seine E-Mail und ein Passwort ein. Daraufhin wird dem Nutzer eine E-Mail mit einem Bestätigungslink an seine E-Mail-Adresse versandt. Erst wenn der Link angeklickt wird, ist der Account freigeschaltet und der Nutzer wird zur Anmeldeseite weitergeleitet (siehe Abbildung \ref{fig:login-mobile}). Alternativ kann der Nutzer sich auch mit einem Identifikationsbereitsteller, wie Google oder Facebook registrieren und anmelden. Zusätzlich kann der Nutzer beim Anmelden über eine Checkbox einstellen, dass dieser angemeldet bleiben möchte, sodass sich dieser beim nächsten Aufruf der Weboberfläche nicht erneut anmelden muss. Nach dem Anmelden wird der Nutzer zur \Gls{podcast}-Liste weitergeleitet. % Registrieren % E-Mail und Passwort, E-Mail bestätigung % anmelden mit E-Mail und Passwort oder es kann sich auch mit einem % Identifikations-Bereitsteller (wie Google, Facebook, GitHub) angemeldet % werden. % Angemeldet bleiben % Anschließlich auf der Startseite \subsection{Podcast-Liste} Die Seite der \Gls{podcast}-Liste zeigt eine Liste aller vom Nutzer abonnierten \Glspl{podcast}. Diese sind danach sortiert, welcher \Gls{podcast} zuletzt gehört wurde (siehe Abbildung \ref{fig:podcast-desktop-change-language}). \Glspl{podcast} können aufgeklappt werden, um \Glspl{episode} inklusive deren Hörfortschritt anzuzeigen. Die \Glspl{episode} werden nach Veröffentlichungszeitpunkt sortiert. % Navigatinsleiste % Zeigt eine Liste aller vom Nutzer abonnierten Podcasts sortiert nach welcher % Podcast zuletzt gehört wurde. % Podcasts können aufgeklappt werden, um Episoden inklusive deren Hörfortschritt % anzuzueigen. Die Episoden werden nach Veröffentlichungszeitpunkt sortiert. \subsection{Zuletzt gehört} Die Seite ,,Zuletzt gehört'' zeigt eine Liste der vom Nutzer gehörten \Glspl{episode} inklusive Hörfortschritt (siehe Abbildung \ref{fig:listening-progress-account-dropdown}). Die \Glspl{episode} sind danach sortiert wann sie zuletzt gehört wurden. Zusätzlich können die beendeten und angefangenen \Glspl{episode} über ein Dropdown-Menu auch auf- und absteigend lexikografisch oder nach Hörfortschritt sortiert werden. % \newpage \subsection{Einstellungen} Auf der Einstellungsseite darf der Nutzer sein Passwort ändern und seinen Account löschen (siehe Abbildung \ref{fig:settings-mobile-1}). Der Nutzer kann seine personenbezogenen Daten, wie abonnierte \Glspl{podcast} und Hörfortschritte, in eine Datei exportieren, welche der Nutzer herunterladen kann. Außerdem kann der Nutzer zuvor heruntergeladene Exports wieder importieren, um zum Beispiel alte abonnierte \Glspl{podcast} wiederherzustellen. Zusätzlich kann der Nutzer seine Daten von einer anderen \Gls{gpodder} importieren, indem er sich in den Einstellungen auf der anderen \Gls{gpodder} anmeldet. % Passwort ändern % Account löschen % Daten importieren/exportieren % Daten anderer Gpodder-API importieren % \vspace{1cm} %===================================================================================% % https://tex.stackexchange.com/questions/55337/how-to-use-figure-inside-a-minipage % %===================================================================================% \hspace{-.5cm} \begin{minipage}[H]{\linewidth} %\centering \begin{minipage}{0.32\linewidth} \begin{figure}[H] \fbox{\includegraphics[width=.9\linewidth]{assets/ui/login-mobile.png}} \setcapindent*{1em} \caption{Anmeldeseite mit Identitätsbereitsteller\\} \label{fig:login-mobile} \end{figure} \end{minipage} % \hspace{0.05\linewidth} \begin{minipage}{0.32\linewidth} \begin{figure}[H] \fbox{\includegraphics[width=.9\linewidth]{assets/ui/podcasts-mobile.png}} \setcapindent*{1em} \caption{Mobile \Glspl{podcast}-Seite mit Burger-Menu\\} \label{fig:podcasts-mobile} \end{figure} \end{minipage} % \hspace{0.05\linewidth} \begin{minipage}{0.32\linewidth} \begin{figure}[H] \fbox{\includegraphics[width=.9\linewidth]{assets/ui/listening-progress-mobile.png}} \setcapindent*{1em} \caption{Mobile ,,Zuletzt gehört''-Seite mit offenem Burger-Menu} \label{fig:listening-progress-mobile} \end{figure} \end{minipage} \end{minipage} \begin{figure}[H] \centering \fbox{\includegraphics[width=.9\linewidth]{assets/ui/podcasts-desktop-change-language.png}} \caption{\Glspl{podcast}-Seite mit \Glspl{episode} und Sprachauswahl} \label{fig:podcast-desktop-change-language} \end{figure} \begin{figure}[H] \centering \fbox{\includegraphics[width=.9\linewidth]{assets/ui/listening-progess-account-dropdown.png}} \caption{,,Zuletzt gehört''-Seite mit Fortschrittsbalken und Account-Dropdown} \label{fig:listening-progress-account-dropdown} \end{figure} \begin{figure}[H] \centering \includegraphics[width=.87\linewidth]{assets/ui/help-desktop.png} \caption{Hilfe-Fenster, welches mit dem Menu-Eintrag ,,Hilfe'' geöffnet wird} \label{fig:help-desktop} \end{figure} \begin{minipage}[H]{.9\linewidth} \centering \begin{minipage}{.4\linewidth} \begin{figure}[H] \centering \fbox{\includegraphics[width=.8\linewidth]{assets/ui/settings-mobile-1.png}} \setcapindent*{1em} \caption{Einstellungen mit Ändern des Passworts und Gpodder-Verknüpfung} \label{fig:settings-mobile-1} \end{figure}% \end{minipage} \hspace{.5cm} \begin{minipage}{.4\linewidth} \begin{figure}[H] \fbox{\includegraphics[width=.8\linewidth]{assets/ui/settings-mobile-2.png}} \setcapindent*{1em} \caption{Einstellungen mit Datenexport und Accountlöschung\\} \label{fig:settings-mobile-2} \end{figure} \end{minipage} \end{minipage}