2021-02-09 Achievements und Technical Error Overlay

Diese Woche ging es wieder Schlag auf Schlag weiter und wir waren mit dem was wir erreicht haben sehr zufrieden.

In unserem Backlog wird die Liste der Bugs nach und nach etwas größer. Deshalb haben wir uns vorgenommen jede Woche mindestens einen Bug zu bearbeiten und möglichst zu fixen.
Wir haben uns den folgenden Bug vorgenommen: App wird mit Fehler beendet, wenn der Webserver nicht erreichbar ist.
Easy oder? Uns war klar, dass es in diesem Umfeld (Zugriff auf den Webserver) mehr als nur diesen einen Fehler gibt. Wir haben uns also nicht auf die Lösung des Bugs beschränkt, sondern gleich ein komplettes TechnicalErrorOverlay eingeführt.
Wir können nun an einer beliebigen Stelle unserer App einen technischen Fehler auslösen. Für uns sind das die Art von Fehler, auf die wir in der App entweder keinen Einfluss haben (z.B. Webserver oder IdProvider nicht erreichbar) oder Fehler, die niemals auftreten dürfen. Tritt ein Fehler dieser Kategorie auf, wird bei der nächsten Möglichkeit im UI ein Overlay-Screen angezeigt und der Anwender kann mit dem im Hintergrund liegenden Screen nicht mehr interagieren. Aber er kann den Screen refreshen. Funktioniert der Refresh kann mit der App normal weitergearbeitet werden. Tritt erneut ein Fehler auf, wird der Technical Error Overlay wieder angezeigt.
Neben einer Meldungsausgabe für den Anwender geben wir auch den technischen Fehler selbst aus. Das kann bspw. ein Exception-Text sein, mit dem wir dem Fehler schneller auf die Schliche kommen können. Später wollen wir die technische Meldung ausblenden, da der Endanwender damit nichts anfangen kann.
Letztendlich hat uns diese kleine Umsetzung 1 1/2 Tage gekostet :D. Egal, denn wir profitieren davon in jedem bestehenden, jedem neuen Fragment und können nun an beliebigen Stellen technische Fehler auslösen.

Ein zweites großes Thema waren Achievements. Für uns sind Achievements ein wichtiger Bestandteil der App, um den Benutzer zu motivieren und ihn zu belohnen. In dem Sprint haben wir uns vorrangig auf das Layout beschränkt. Es gibt eine Achievement-Liste, die derzeit alle vom angemeldeten Benutzer erreichten Achievements anzeigen soll.
Pro Achievement gibt es eine Kachel mit einem Bild, Titel, Fortschritt und Datum. An dem UI haben wir besonders lang gesessen und bemüht mit einem Wasserzeichen im Hintergrund zu arbeiten und die Kacheln transparent darzustellen. Die Farben haben sicherlich noch nicht ihren endgültigen Stand, aber das Layout, der Aufbau an sich, gefällt uns echt gut. Und so sehen sie derzeit aus: