Hurra! Die Apphoven App ist nun released und bringt eine Fülle an neuen Funktionen mit sich! Dies ist ausserdem der letzte Blog-Beitrag vor Abgabe der Maturaarbeit! Daher gehe ich nun auf alle Bugfixes, Neuerungen und Änderung ein, die es in die finale Release-Version der App geschafft haben!

Zuerst möchte ich Apphovens Ludwig van Beethoven vorstellen. Er empfängt die Nutzer nach der Registrierung in die App und erklärt, wie man die wichtigsten Funktionen benutzt. Direkt fällt auch auf, dass der Home-Screen nun über schicke Icons verfügt, mit welchen man zu den einzelnen Komponenten der App navigieren kann. Den „Settings-Button“ habe ich in die rechte Ecke des Displays verschoben.

Ebenfalls Einzug gehalten haben diverse Platzhaltergrafiken, die angezeigt werden, wenn beispielsweise die Stück-Liste leer ist. Auch die Programmlogik wurde stark optimiert. Viele Fehler und UX-Missstände wurden behoben und optimiert. Das Metronom erhält (obwohl zuvor entfernt) wieder Einzug in die App. Sie als Beta-Funktion über die Einstellungs-Komponente erreichbar.

Design

Endlich konnte ich mich dank den Google Material Design Richtlinen auf ein Farbschema festlegen. Ich entschied mich für #F44336 (hellrot) als primäre Akzentfarbe. Sekundär verwende ich einen Hybrid aus dunkelgrau und hellweiss (angelehnt an die Farbgebung des Klaviers). Interessant hierbei: Die Übezeit-Tracker Komponente ist im Gegensatz zum restlichen Design sehr dunkel und schlicht gehalten. Für den Einsatz dieser neutralen Farben habe ich mich entschieden, um vor und während des Übeprozesses nicht mit knallendem Akzentrot abzulenken.

Die Platzhaltergrafiken (leere Regale) und das Profil Beethovens habe ich selbst designed. Während die Illustrationen der leeren Regale ihre Botschaft („hier fehlt etwas“) klar vermittelt, war die Erstellung des Beethoven-Profilbildes nicht sehr einfach. Ich wollte, dass das Bild spielerisch lustig illustriert ist um einen gewissen Grad an Spass zu vermitteln. Daher entschied ich mir für einfache, aber effektive Flat-Design-Formen. Leider war Beethoven, trotz grafischer Nachempfindung nicht erkennbar. Dies konnte ich lösen, indem ich sein wohl markantestes Merkmal – seine Haare – aus dem Originalgemälde (Public Domain Lizenz) ziemlich genau übernahm. Auch der illustrierte Kragen, welcher dem Originalbild nachempfunden ist, trägt zur Wiedererkennung Beethovens bei.

Den genauen Verlauf der Evolution des Beethoven Profilbildes kann man aus der folgenden Grafik entnehmen:

Programm-Logik

Den letzten grossen Schliff hat die App durch die Behebung vieler Fehler, Optimierung einiger UX-Probleme und Hinzufügen des Beethoven App-Tutorials (für Erstnutzer) erhalten. Die genauen Code-Änderungen kann man aus dem letzten Github-Commit entnehmen. Ich habe zudem einen Changelog-Eintrag (auf Englisch) verfasst, der die Änderungen am Programmcode zusammenfasst.

Release Changelog

  • Added Beethoven Walkthrough Tutorial
  • Added Toast-Notifications on Home-Component (displays e.g. if practice-session was saved)
  • Added Credits to Settings-Component
  • Added Metronome-Component as Beta-Function
  • Fixed Analyzer-Marker (Delete-Function)
  • Fixed Background Android Activity Listener Loop (Now disables itself on every component using the BackPressedEventListener)
  • Fixed ScreenOrientation (Now only portrait enabled)
  • Fixed AudioPlayer (when leaving the Player it continued to play)
  • Updated Color-Schemes on multiple components
  • Optimized „Practice Now“ Button (Home)
  • Optimized Recording-List Delete-Option
  • Optimized Piece-List Delete-Option
  • Optimized Piece-Dashboard Design and Functionality
    • Changed Color-Scheme for better UI comprehension
    • Removed mandatory delete of Practice-Session
    • Removed function to directly track practice-session through movement
  • Optimized Add-Piece Layout
    • Added „Disabled-Movement“-Functionality (if movement was already selected, app disables it for selection)
    • Added mechanism to prevent unnecessary „Add To Practice-List“-Savings. (Checking if changes were made)
    • Added mechanism to check if internet connection is available
    • Fixed the disappearing of button, when displaying long movement-list
  • Optimized Practice-Session-Tracker
    • Added redirection (to /home) after Session is saved
    • Changed Layout for better UI comprehension

Google Play Console

Um die App im Google Play Store anbieten zu können, muss man sich erst als Entwickler in der Google Play Console registrieren (Registrierungs-Gebühr: 25$). Anschliessend ist es ziemlich einfach, die App einzureichen:

  1. Android-App Installationsdatei (APK) hochladen
  2. Fragebogen zur Festlegung der Altersbegrenzung ausfüllen
  3. Titel und Beschreibung der App setzten
  4. App-Icon, Headerbild und Screenshots hochladen
  5. Antrag einreichen

Positiv überrascht war ich von der schnellen Bearbeitungszeit: Innert weniger Stunden wurde die App im Play Store freigeschaltet – ein sehr aufregender Moment, auf den ich lange hingearbeitet habe!

Zukunft

Die Maturaarbeit ist hiermit (praktisch & theoretisch) beendet. Dementsprechend gut ist auch der aktuelle Stand der Apphoven App. Dennoch will und werde ich in Zukunft bestmöglich weiterentwickeln! Einige Funktionen konnten aufgrund der zeitlichen Begrenzung nicht umgesetzt werden. Ausserdem kann die App von künftigen Nativescript (& Angular) Updates profitieren: Die Ladezeit beim Starten der App ist beispielsweise ziemlich lang. Dies wird mit der kommenden Nativescript Version (3.0) behoben.

Doch bis dahin geniesse ich die Tatsache, dass ich innerhalb von sechs Monaten eine App (ohne App-Programmierungs / Nativescript Vorkenntnisse) erstellt und erfolgreich veröffentlicht habe!

Jetzt bei Google Play

Apphoven ist kostenlos im Google Play Store erhältlich. Eine Video-Anleitung (bzw. kommentiertes Walthrough) findet sich hier.