Worum es geht

Birthdays ist eine App für Android, die Geburtstage speichert und rechtzeitig daran erinnert. Es gibt kein Konto, keine Cloud und keine Synchronisation über fremde Server. Alle Einträge liegen in einer Datenbank auf dem Handy und verlassen es nur, wenn man selbst eine Sicherung teilt. Gebaut habe ich die App mit Hilfe von KI, nach dem Vorbild meiner Apps Shopping List und My Notes.

Die aktuelle Version gibt es direkt als APK Datei:

https://github.com/netperformance/birthdayreminder/releases/download/v1.0.6/Birthdays-1.0.6.apk

Das Projekt ist Open Source unter der MIT Lizenz und liegt auf GitHub:

github.com/netperformance/birthdayreminder

Warum eine eigene Geburtstags App

Eine Sammlung von Geburtstagen ist eine Liste von Menschen: Namen, Geburtsdaten, oft ein Foto und eine Notiz wie „wünscht sich ein Kochbuch“. Die meisten dieser Menschen hat niemand gefragt, ob ihre Daten irgendwo gespeichert werden dürfen. Viele Geburtstags Apps speichern diese Daten trotzdem auf den Servern ihres Anbieters. Damit liegt dieses Wissen bei einem fremden Unternehmen.

Dazu kommt: Wer Geburtstage im Kalender des Handys einträgt, wird meist erst am Tag selbst daran erinnert. Für ein Geschenk ist es dann zu spät. Ich wollte für jede Person selbst festlegen, wann ich erinnert werde, auch Tage oder Wochen vorher.

Die App im Überblick

Wer heute Geburtstag hat, steht auf der Startseite oben in einer Karte. Darunter folgen alle Einträge nach Monaten, beginnend beim nächsten Geburtstag. Zu jedem Eintrag zeigt die App, in wie vielen Tagen der Geburtstag ist, wie alt die Person wird und welches Sternzeichen sie hat. Mit dem Plus legt man einen neuen Eintrag an.

Drei Bildschirme der App nebeneinander: links die Startseite mit dem heutigen Geburtstag, in der Mitte ein geöffneter Eintrag, rechts die Startseite im dunklen Design

  • Einträge: Ein Eintrag hat einen Namen, einen Geburtstag, eine Notiz und ein Bild. Das Geburtsjahr ist freiwillig.
  • Erinnerungen pro Person: Für jeden Eintrag wählt man, ob die Standard Erinnerungen aus den Einstellungen gelten, ob er eigene Erinnerungen bekommt oder gar keine. Mehrere Zeitpunkte lassen sich kombinieren, zum Beispiel zwei Wochen vorher, einen Tag vorher und am Geburtstag selbst. Jede Erinnerung hat eine eigene Uhrzeit und auf Wunsch einen kurzen Hinweis wie „Geschenk kaufen“.
  • Popup oder Vollbild: Eine Erinnerung erscheint als Benachrichtigung, auch auf dem Sperrbildschirm. Wer eine Erinnerung auf keinen Fall verpassen will, schaltet zusätzlich das Vollbild ein. Dann füllt die Erinnerung wie ein Wecker den ganzen Bildschirm, auch bei gesperrtem Handy, und klingelt, bis man reagiert. Tippt man auf „In 1 Std.“, kommt die Erinnerung eine Stunde später noch einmal. Tippt man auf „Beenden“, kommt für diese Person an diesem Tag keine Erinnerung mehr.
  • Gruppen: Nach der Installation gibt es vier Gruppen: „Ohne Gruppe“, „Familie“, „Freunde“ und „Arbeit“. Weitere lassen sich anlegen. Jede Gruppe hat eine von zwölf Farben. Gruppen dienen nur zum Ordnen und Filtern. Auf die Erinnerungen haben sie keinen Einfluss.
  • Suche: Die Suche findet Wörter in Namen und Notizen. Groß und Kleinschreibung spielen keine Rolle, „muller“ findet auch „Müller“. Gibt man einen Monatsnamen ein, zum Beispiel „März“, zeigt die App alle Geburtstage in diesem Monat.
  • Import aus den Kontakten: Die App liest die Geburtstage aus den Kontakten des Handys. Übernommen werden nur Kontakte, bei denen ein Geburtstag eingetragen ist. Importiert man ein weiteres Mal, legt die App niemanden doppelt an. Hat sich im Adressbuch seit dem letzten Import ein Name oder ein Datum geändert, zeigt die App das gesondert an und übernimmt die Änderung nur, wenn man sie mit einem Häkchen bestätigt.
  • Zeitzonen: Ein Geburtstag dauert von 0 bis 24 Uhr in der Zeitzone, die man in den Einstellungen als „Zuhause“ festlegt. Wo das Handy gerade ist, spielt keine Rolle. Ein Beispiel: Zuhause ist Berlin, man selbst ist gerade in Sydney. Dort ist es schon Mitternacht, in Berlin noch Nachmittag. Bis der Geburtstag in Berlin beginnt, steht auf der Karte „Beginnt gleich“. Fällt eine Erinnerung am Geburtstag wegen der Zeitverschiebung in die Nacht zwischen 22 und 7 Uhr, kommt sie um 7 Uhr Ortszeit. Zeitumstellung und Neustart des Handys bringen die Erinnerungen nicht durcheinander.
  • 29. Februar: Wer an einem 29. Februar geboren ist, hat in den anderen Jahren am 28. Februar oder am 1. März Geburtstag, je nach Einstellung.
  • Pause: Mit dem Schalter „Alle Erinnerungen“ in den Einstellungen schaltet man alle Benachrichtigungen der App aus und bei Bedarf wieder an. Gelöscht wird dabei nichts.
  • Deutsch und Englisch: Die Sprache der App lässt sich in den Einstellungen wechseln.
  • Hell und dunkel: Die App startet hell. Dunkel oder „Automatisch“ lässt sich in den Einstellungen wählen.
  • Sicherung: Alle Einträge lassen sich samt Bildern als Datei speichern und wieder laden, zum Beispiel beim Wechsel auf ein neues Handy.

Die Einstellungen der App, unter anderem für Sprache, Erinnerungen, Gruppen, Zeitzone und Sicherung

Berechtigungen und Datenschutz

Anders als Shopping List und My Notes braucht Birthdays einige Berechtigungen, denn eine Erinnerung soll auch dann erscheinen, wenn die App geschlossen ist. Die App fragt nach jeder Berechtigung erst, wenn sie gebraucht wird:

  • Benachrichtigungen: Ohne diese Berechtigung kann die App keine Erinnerung anzeigen. Ab Android 13 fragt Android einmal nach.
  • Genaue Uhrzeit: Damit erscheint eine Erinnerung zur eingestellten Uhrzeit. Ohne diese Berechtigung darf Android sie verzögern. Android erteilt sie automatisch.
  • Start nach dem Einschalten: Nach einem Neustart des Handys plant die App die Erinnerungen neu.
  • Vollbild: Diese Berechtigung braucht die App nur für Erinnerungen im Vollbild. Ab Android 14 fragt Android einmal nach.
  • Vibration: Das Handy vibriert, wenn eine Erinnerung im Vollbild erscheint.
  • Akku Optimierung aus: Diese Einstellung ist freiwillig. Manche Hersteller, etwa Samsung und Xiaomi, beenden Apps im Hintergrund so schnell, dass sonst Erinnerungen ausbleiben können.
  • Kontakte: Nach dieser Berechtigung fragt die App erst, wenn man Geburtstage aus den Kontakten importiert oder für einen Eintrag das Foto eines Kontakts verwenden will. Die Kontakte selbst ändert die App nicht, sie liest sie nur.
  • Kamera: Nach dieser Berechtigung fragt die App erst, wenn man für einen Eintrag ein Foto aufnimmt.

Eine Berechtigung fehlt bewusst: der Zugriff auf das Internet. Ohne ihn verhindert Android selbst jede Verbindung nach außen. Kontakte und Fotos, die die App liest, können das Handy über die App also nicht verlassen. Auch Mikrofon, Standort und Speicher bleiben gesperrt. Ein Bild aus der Galerie wählt man über die Bildauswahl von Android. Die App erhält nur dieses eine Bild und braucht dafür keinen Zugriff auf den Speicher.

Darüber hinaus:

  • Sperrbildschirm: Normalerweise zeigt eine Benachrichtigung auf dem gesperrten Handy alles, auch die Notiz und den Hinweis. Mit der Einstellung „Nur Name“ steht dort nur eine Zeile wie „Julia wurde heute 36“. Mit der Einstellung „Nichts“ steht dort nur „Geburtstag heute“ oder „Bald ein Geburtstag“, ohne Namen.
  • Keine Sicherung in Googles Cloud: Die automatische Android Sicherung ist abgeschaltet. Die Einträge landen also auch nicht nebenbei bei Google.
  • Keine Werbung und keine Auswertung: Die App enthält keine Werbung, kein Tracking und keine fremden Programmteile, die Nutzungsdaten sammeln.
  • Sicherung nur auf Wunsch: Eine Sicherung entsteht nur, wenn man sie selbst anlegt. Wohin die Datei geht, entscheidet man über das Teilen Menü von Android.
  • Die Links auf aaron.de und GitHub in den Einstellungen öffnen den Browser des Handys. Die App selbst lädt nichts.

Neben den genannten Berechtigungen steht in der Installationsdatei der App (APK) noch der Eintrag DYNAMIC_RECEIVER_NOT_EXPORTED_PERMISSION. Das ist keine Freigabe für die App, sondern ein interner Schutz von Android: Er sorgt dafür, dass andere Apps keine Nachrichten an die App schicken können.