Anwendungsfälle

Länderflagge und Ortszeit in Benutzerprofilen anzeigen

Ein Collaboration-Tool für Remote-Teams hatte ein Profilfeld für die Zeitzone, das fast niemand korrekt ausfüllte, da man beim Onboarding die eigene Zeitzone von Hand aus einer langen Dropdown-Liste auswählen musste. Dieser Schritt ließ sich leicht überspringen oder falsch ausfüllen, besonders von jemandem, der gerade umgezogen oder auf Reisen war, als er sein Konto einrichtete. Das Ergebnis war ein Teamverzeichnis voller veralteter oder fehlender Zeitzonendaten, denen niemand genug vertraute, um sie tatsächlich zu nutzen, wenn es darum ging, ob man einem Kollegen eine Nachricht schreiben sollte.

Das Unternehmen ersetzte das manuelle Feld durch ein automatisches. Statt einen Benutzer zu bitten, seine Zeitzone auszuwählen, ermittelte die App sie direkt aus der Verbindung, von der die Anfrage kam. /v1/ip nahm beim Login die IP-Adresse des Benutzers entgegen und lieferte Land und Koordinaten zurück, und diese Koordinaten gingen an /v1/timezone, das den IANA-Zeitzonennamen für diesen Ort zurückgab. Aktuell gehalten wurde der Wert durch regelmäßiges erneutes Auflösen, statt den Standort festzuschreiben, an dem sich ein Benutzer zufällig befand, als er einmal ein Formular ausfüllte.

Das sichtbare Ergebnis im Produkt war eine kleine Ergänzung im Profil jedes Teammitglieds: eine Länderanzeige und eine automatisch aktualisierte Ortszeit neben dem Namen im Teamverzeichnis und in jeder Direktnachricht. Ein Kollege, der überlegte, ob er eine Nachricht senden oder bis zum Morgen warten sollte, konnte auf einen Blick sehen, ob es beim anderen gerade eine vernünftige Uhrzeit war, ohne sich merken zu müssen, in welchem Land dieser ansässig war, oder selbst Zeitzonen umzurechnen.

Das Unternehmen hielt das anpassbar, statt es vollständig automatisch und unveränderlich zu machen, denn gelegentlich wollte ein Benutzer den erkannten Standort überschreiben, zum Beispiel jemand, der vorübergehend aus einem anderen Land als üblich arbeitete und lieber seine gewohnte Zeitzone im Profil sehen wollte als den Ort, von dem aus er sich gerade verband. Die automatische Erkennung setzte einen sinnvollen Standardwert, der sich im Normalfall von selbst aktualisierte, während für die Ausnahme eine manuelle Überschreibung verfügbar blieb.

Gemessen am Entwicklungsaufwand war das eine wirklich kleine Funktion, im Wesentlichen zwei beim Login verkettete Abfragen und eine kleine Änderung an der Anzeige im Teamverzeichnis. Sie beseitigte aber eine Hürde, die das Team jahrelang still und leise kleine Mengen an Abstimmungsaufwand gekostet hatte: die unterschwelligen Kosten, nicht zu wissen, ob jetzt ein guter Zeitpunkt ist, jemanden zu kontaktieren, ohne vorher nachzufragen oder einfach zu raten.

Das Volumen richtete sich nach den Login-Sitzungen und nicht nach jeder einzelnen Nachricht oder jedem Seitenaufruf, da die Standort- und Zeitzonendaten regelmäßig und nicht bei jeder Anfrage aktualisiert wurden. Das hielt die Last deutlich innerhalb des kostenlosen Tageskontingents, selbst für ein Collaboration-Tool mit einer nennenswert großen Nutzerbasis, die sich über den ganzen Tag verteilt anmeldet.

Kleine, unauffällige Standardwerte wie dieser zählen in der Summe meist mehr als jede einzelne auffällige Funktion, denn sie nehmen etwas, das ständig passiert, ein kleines Stück Reibung, statt ein Problem zu lösen, das nur gelegentlich auftritt. Die Dokumentation zu beiden Endpunkten finden Sie unter /docs/ipv4-lookup/ und /docs/timezone-lookup/.