Mit dem Übezeit-Tracker sollen Nutzer ihre Übedauer tracken können, um im Nachhinein Aufschluss über ihr Übeverhalten zu gewinnen und eventuell sogar motiviert zu werden. Dank der zuvor implementierten Übeliste (Stücke suchen und zur eigenen Übeliste hinzufügen) kann der User die Übezeit nicht nur aufnehmen, sondern auch dem Stück zuordnen, dass geübt wurde. Dadurch ist eine Analyse deutlich sinnvoller und relevanter, da der Bezug zwischen Übesession und Stück gezogen werden kann.

Wie mit jeder bisherigen Funktion habe ich ein Konzept aufgestellt, bevor ich mit der Programmierung angefangen habe. Was soll die Komponente können? Wie wird dieses Ziel erreicht? Was wird dafür benötigt? In einem ersten Schritt der Konzeptionierung war klar, dass es sich beim Übetracker um eine Art Timer (Stoppuhr) handle.

Konzept 1

  1. Der User wählt das Stück aus, welches er üben möchte
  2. Der User drückt den Start-Button, der Timer startet
  3. Der Button wird erneut gedrückt, der Timer pausiert
  4. Der User wählt aus, ob er den Timer 4.1) weiterlaufen, 4.2) resetten oder 5) beenden und speichern will
    1. Der Timer fährt fort (=> Punkt 1.)
    2. Der Timer wird zurückgesetzt und startet von Neuem (=> Punkt 1.)
  5. Die Übe-Session kann nun bewertet (5.x) und gespeichert werden
    1. Der gemachte Fortschritt wird in Form von 5 Sternen subjektiv bewertet
    2. Die Zufriedenheit / Spass der Übesession wird anhand von 3 Smileys bewertet
    3. Notizen zur Übesession können gemacht werden

Ich bin sehr zufrieden mit dieser Version des Übezeit-Trackers. Die Bedienung ist schnell, intuitiv und sehr zuverlässig. Ich habe extra eine Zwischenschaltung in den Timer-Timeout eingebaut: Statt eines einfachen 1-Sekunde-Timeouts, wird für jeden Timeout ein Datum-Zeit-Abgleich durchgeführt, der sicherstellt, dass es sich bei dem theoretischen 1-Sekunde-Timeout auch um einen praktischen handelt. Die Zuverlässigkeit von Timeouts war und ist bereits bei der Metronom-Komponente ein grosses Problem gewesen.

Nachdem ich diese vorläufige Version von Apphoven selbst in der Übepraxis getestet habe, ist mir ein grosses Manko aufgefallen (welches ich im Designing-Prozess bereits angedeutet habe).

  • Was, wenn der Nutzer nicht nur ein Stück, sondern mehrere in einer Session übt?
    • Wie kann der Nutzer mehrere Stücke auswählen? Muss dies im Voraus geschehen?
    • Was, wenn der Nutzer nicht zuvor weiss, welche Stücke er in der Session üben will?
    • Wie kann die UX (User-Experience) in diesem Stück-Auswahl-Prozess maximal optimiert werden?

Um diese Fragen zu beantworten, habe ich eine Skizze aufgestellt, welche die aktuelle UX (oben), und eine optimale (unten) darstellt.

Konzept 2

Wenn ich aus der Erfahrung mit Webseiten, Webdesign und Webcontent eines gelernt habe, dann ist es „Content first“. In allen Hinsichten. Maximieren des Wesentlichen, minimieren des Schnickschnacks. Daher kam ich auf die Idee, das Wesentliche – das Üben – an die erste Stelle mit höchster Priorität zu setzten. Und das macht Sinn und löst so gut wie alle Probleme. Erst üben, dann Stücke auswählen und bewerten. Mit diesem Konzept verhindere ich zudem einen möglichen temporär drastischen Motivationsverlust des Übenden.

Kritische Phase

Folgendes Szenario:
Ich möchte üben, rapple mich auf, will das Smartphone aus der Hosentasche holen, starte die App und merke, dass ich erst noch die Stücke auswählen muss die ich üben will, dann erst den Timer starten kann und mich erst jetzt tatsächlich ans Klavier setzten und üben kann. Zwei Dinge könnten nun passieren:

  • Der Nutzer hat keine Lust auf den Aufwand und nutzt die App nicht mehr. Schlecht.
  • Der Nutzer hat keine Lust auf den Aufwand, seine Motivation / Lust zu Üben ist schlagartig verflogen, es kommt garnicht erst zum Üben. Sehr schlecht und kontraproduktiv.

Diese kurze Zeitspanne – nach dem Reiz zu Üben, aber vor dem tatsächlichen Beginn des Übens – nenne ich die kritische Phase (rot in der Skizze markiert). Wie man sieht, konnte ich die kritische Phase von zwei auf eine kurze, entscheidungsfreie User-Aktion verringern: Timer starten und direkt Üben! Sehr gut.

1 Stück üben

Nachdem der User geübt hat, stoppt er den Timer und soll die Übesession nun mit einem seiner Stücke aus der Stücke-Liste verknüpfen. Zu aller erst erscheint ein sogenannter Auto-Select Vorschlag (in der App-Demo weiss umrandet). Die App registriert jegliche Interaktion mit Stücken (Hinzufügen von Werken, Auswählen von Sätzen, Zuvor geübte / getrackte Stücke) und schlägt daher das Stück vor, mit welchem der User zuletzt interagiert hat. Darunter erscheint eine Liste mit den restlichen Stücken, welche ebenfalls anhand der letzten User-Interaktion sortiert wurden. Aktuelle Stücke werden oben angezeigt, niedergelegte (aber nicht entfernte) und somit irrelevante Stücke werden unten angezeigt (=> Das Wesentliche zuerst!).

Übezeit Tracker (1 Stück)

Mehrere Stücke üben

Der Nutzer kann nun entweder eines der Stücke auswählen und wie in der ersten Übe-Zeit-Tracker Version bewerten oder auf die Option „mehrere Stücke auswählen“ klicken um zum neuen Interface zu gelangen. Um den Nutzer die schnellste und einfachste Bewertung seiner Übesession zu ermöglichen, musste ich mich erneut an den Leitsatz dieses Blogposts halten: Wesentliches zuerst. Das Wesentliche ist nun, wie die insgesamt geübt Zeit auf die ausgewählten Stücke verteilt werden soll. Ich entschied mich dies mit einem Slider umzusetzen. Auch hier ist die App auf alles gefasst, der Nutzer soll Apphoven so nutzen, wie er will.

Folgendes Szenario:
Der Nutzer hat zwei Stücke geübt und wählt daher die Option „mehrere Stücke auswählen“. Beim Setzen der Slider können nun zwei Dinge passieren:

  • Der User vermutet (unterbewusst) eine absolute Übezeit-Berechnung hinter den Slidern und setzt beide daher auf 50%.
  • Ein anderer User setzt beide Slider hingegen auf Anschlag, 100%.

Die App errechnet in beiden Fällen prozentuale Anteile und entscheidet dann verhältnismässig welches Stück wie viel Übezeit gutgeschrieben bekommt.

GeübteZeit / (SliderWert₁ + SliderWert₂ + …) * SliderWertₓ

Der Nutzer kann zudem für jedes der Stücke den Zufriedenheits-Grad anhand der 3 Smileys setzten, welche ich auf ein sichtbares komprimiert habe, da nun kaum Platz mehr für Bedienungs-Elemente vorhanden ist. Zudem habe ich die 5-Sterne-Fortschritt-Bewertung komplett entfernt, da es zu Verwechslungen mit dem Slider führen könnte und den Bewertungsprozess generell überlädt.

Anhand des App-Demo-Walkthroughs kann man ebenfalls sehr schön erkennen, wie ich versucht habe dem Nutzer so viele Aktionen wie möglich abzunehmen um die UX bestmöglich und schnell zu gestalten. Wenn der User nämlich mehrere Stücke geübt hat, muss er diese nicht erst auswählen, sondern kann den Slider direkt betätigen. Bekommt ein Stück Übezeit durch den Slider gutgeschrieben wird es somit automatisch ausgewählt. Werden Slider gar nicht erst berührt oder wieder auf 0 gesetzt gelten diese als „nicht ausgewählt“.

Übezeit Tracker (2+ Stücke)