Die Idee hinter der App ist eine Art digitales Tourenbuch, bestehend aus kleinen Geschichten und optional einem dazugehörigen Bild. Dafür werden sog. LifePoints erfasst, welche aus folgenden Daten bestehen:
- Titel (max. 50 Zeichen lang)
- Beschreibung (max. 500 Zeichen lang)
- Datum
- Optional: Bild (max. 15 MiB groß)
Nachfolgend ist ein beispielhafter LifePoint dargestellt:
Da in der App tendenziell private Daten erfasst werden, geschieht das Speichern lokal auf dem Computer der Benutzer:in. Es verlassen keine Daten das lokale Gerät, bspw. in die Cloud.
Von allen hochgeladenen Bildern wird eine Kopie erzeugt. Die Bilder werden auf 600 px heruntergerechnet, um das Datenvolumen kompakt zu halten.
Die Textdaten (Titel, Beschreibung, Datum) werden in einer lokalen SQLite-Datenbank gespeichert.
Es handelt sich um eine Web-App, die auf allen Desktop-Betriebssystemen läuft (Windows, Linux, macOS). Sie steht für Windows zur Verfügung, kann aber sehr leicht für Linux nachgereicht werden. Bei Bedarf einfach mit mir Kontakt aufnehmen.
Die aktuellste Version kann von hier heruntergeladen werden. Einfach die ZIP-Datei ThisIsYourLife.<<Version>>.zip
herunterladen und merken, wo man sie abspeichert 😉 Für diese Anleitung gehen wir von C:\temp
aus.
Nach dem Herunterladen den Ordner öffnen, in den die ZIP-Datei heruntergeladen wurde, und sie entpacken. In Windows geht das wie hier unter Entzippen von Dateien beschrieben. Für diese Anleitung gehen wir davon aus, dass die Datei nach C:\temp\ThisIsYourLife
entpackt wurde.
Im Ordner, in den die Dateien entpackt wurden, befinden sich diverse Dateien, u. a.:
Start me.bat
WebApp.exe
Mit diesen beiden Dateien kann die App auf zwei unterschiedlichen Wegen gestartet werden. Keiner der Wege hat irgendwelche Auswirkungen auf die App - es geht nur um Bequemlichkeit. In beiden Fällen wird sich ein Fenster öffnen, das in etwa so aussieht:
Der Inhalt kann etwas variieren. Dieses Fenster muss geöffnet bleiben, solange man mit der App arbeiten möchte.
Unter Windows kann es auf beiden Wegen vorkommen, dass sich einmalig eine Warnung à la Der Computer wurde durch Windows geschützt oder Windows SmartScreen öffnet. Mit diesem Trick lässt sich die App trotzdem starten.
- Die App
WebApp.exe
per Doppelklick starten und fünf bis zehn Sekunden warten. - Einen Browser der Wahl (Firefox, Chrome, Edge) öffnen und http://localhost:5000/thisIsYourLife aufrufen.
- Das Skript
Start me.bat
per Doppelklick starten. Die AppWebApp.exe
wird gestartet und ein Fenster öffnet sich. - Nach zehn Sekunden öffnet sich der eigene Standard-Browser (Firefox, Chrome, Edge) und ruft die Adresse http://localhost:5000/thisIsYourLife auf.
Für das Beenden der App im Browser den Tab/das Fenster mit der App schließen und das Konsolenfenster von WebApp.exe
beenden (wie gewohnt über das x rechts oben).
Es muss nicht gespeichert werden, dies geschieht automatisch.
Beim erstmaligen Starten der App erscheint folgender Dialog:
Hier bitte den eigenen Name eingeben (Leerzeichen und Emojis werden unterstützt). Unter diesem Name werden die LifePoints abgespeichert und später angezeigt.
Beim allerersten Start wird automatisch ein beispielhafter LifePoint im Herzen Dresdens erstellt ⚽🖤💛
Die Bedienung sollte (hoffentlich 🤞🏻) intuitiv sein und sich an anderen Karten-Apps (bspw. Google Maps) orientieren.
Die App startet immer am gleichen Ort. Über die ➕ bzw. ➖-Buttons links oben bzw. das Mausrad kann ein- oder ausgezoomt werden. Durch Verschieben mit gedrückter linker Maustaste lässt sich der Kartenausschnitt verschieben.
Bestehende LifePoints werden durch blaue Marker dargestellt. Über einen Linksklick auf den Marker können die Details inkl. des Bildes angezeigt werden.
Befinden sich zu viele LifePoints zu nah beieinander, werden diese gruppiert:
Man kann entweder manuell hineinzoomen oder ein Cluster anklicken, dann wird automatisch hineingezoomt.
Neue LifePoints können durch einen Doppelklick mit der linken Maustaste in der Karte erfasst werden.
Anschließend werden die Daten eingegeben, nach Wunsch ein Bild hochgeladen und der neue LifePoint durch einen Klick auf Speichern abgespeichert.
Leerzeichen und Emojis werden unterstützt, ebenso wie mehrzeiliger Text in der Beschreibung
Aufgrund eines Bugs kommt es vor, dass die Popups eines bestehenden oder neu zu erfassenden LifePoints sich außerhalb des Bildschirms öffnen:
Da bin ich noch dran und hoffe, bald eine Lösung zu finden. Bis dahin muss man die Karte im Hintergrund manuell verschieben, bis der gesamte Popup zu sehen ist.
Wie bereits erwähnt, werden alle Daten lokal gespeichert, und zwar im Unterordner data
(bspw. C:\temp\ThisIsYourLife\data
). Darin befinden sich folgende Dateien und Ordner:
user.json
→ enthält Benutzername, der beim Programmstart eingegeben wurde, und eine persönliche ID.db
→ enthält die SQLite-DatenbankThisIsYourLife.db
mit den erstellten LifePoints.images\<<ID>>
→ enthält die hochgeladenen und verkleinerten Bilder.logs
→ enthält DateienThisIsYourLife<<Datum>>.log
, in denen bspw. etwaige Fehler protokolliert werden.
Wichtige Vorgänge werden in Log-Dateien unter data\logs\ThisIsYourLife<<Datum>>.log
protokolliert. Diese Log-Dateien enthalten keine unmittelbaren persönlichen Daten, sondern lediglich IDs.
Falls ein Problem auftritt, wäre ich sehr dankbar, wenn man mir die Log-Dateien zukommen lässt. Dies hilft mir, das Problem einzugrenzen und die App weiterzuentwickeln.
Eine automatische Übertragung irgendwelcher Daten im Hintergrund findet nicht statt.
Da es sich um eine Web-App handelt, kann diese auch grundsätzlich mit dem Browser auf dem Smartphone/Tablet verwendet werden. Bei mir daheim betreibe ich die App tatsächlich auch so.
Da die Daten jedoch lokal auf dem Gerät erfasst werden (unter Android/iOS wäre das dann das Smartphone), müssten die LifePoint-Daten von dort weiter übertragen werden. Das erschien mir zu umständlich, zumal die meisten Leute die Bilder, die in LifePoints verwendet werden, vermutlich eh nicht auf dem Smartphone/Tablet haben.
Eine andere Option wäre gewesen, die App in der Cloud zu hosten. Aus Datenschutzgründen habe ich mich jedoch dagegen entschieden.
Ein großes Dankeschön geht an Felix, Olaf und Thomas (Nennung in alphabetischer Reihenfolge, nicht der Wichtigkeit nach 😉)! Euer Feedback war sehr wertvoll und hat noch zu einigen schönen Features geführt.
Big thanks to @SteveSandersonMS, @danroth27, @IvanSanchez and @javiercn for your support in all questions related to Blazor and Leaflet and the awesome frameworks you provide!
Es handelt sich um eine Blazor Server App. Die Kartenbestandteile wurden mit Leaflet implementiert.
Die App kann auch unter Docker auf einem Raspberry Pi betrieben werden. Das Docker Image befindet sich hier.