Neu: Foto-Explorer · Finden Sie jedes kartierte Reisefoto.

Produktaktualisierung

Das größte Reise-Pass-Update für Immich und Mapsake

Eine direkte Verbindung zu einer selbst gehosteten Immich-Bibliothek ermöglicht es, den Atlas zu erstellen und zu pflegen, während ein neu gestalteter Reisepass dieselbe Historie in Form von Karten, Datenkarten, Filtern und einer rotierenden Weltkugel darstellt.

Von. 11 Minute gelesen
Mapsake: Zeichnen Sie Ihre Reiseverläufe mit Apple Fotos, Immich und anderen Importquellen auf.

Das bisher größte Mapsake-Update.

Mapsake begann mit einem einfachen Versprechen: Die Orte zu markieren, die Sie besucht, bewohnt und sehen möchten, und diese Aufzeichnungen privat und portabel zu halten. Die Karte ist immer noch das Zentrum der App, aber diese Version ändert, wie schnell eine echte Reisehistorie darin angezeigt werden kann und was Sie damit anfangen können.

Die beiden größten Teile sind tiefer. Immich Support und ein neu gestalteter Reiseführer. Eines wandelt eine selbst gehostete Foto-Bibliothek in nützliche Reise-Beweise um; das andere verwandelt diese Historie in etwas, das es wert ist, erkundet und geteilt zu werden.

Dies ist das bisher größte Mapsake-Update, nicht weil es die längste Liste von Einstellungen hinzufügt, sondern weil es den Kreislauf von privaten Quelldaten zu einem persönlichen Atlas schließt.

Immich ist jetzt eine erstklassige Fotoquelle

Viele Menschen, die Wert darauf legen, ihre Foto-Bibliothek zu besitzen, verwenden Immich. Es ist ein selbst gehostetes Foto- und Videosystem, was es zu einer natürlichen Ergänzung für den Ansatz von Mapsake für lokale Daten macht. Die Herausforderung bestand darin, es zu unterstützen, ohne dass Mapsake zu einem weiteren Foto-Uploader wird oder ein Server im Hintergrund die Reisehistorie einer Person verarbeiten muss.

Die Verbindung ist direkt. Geben Sie in den Einstellungen die URL Ihres Immich-Servers und einen API-Schlüssel ein, der dort erstellt wurde. Immich-Benutzereinstellungen. Mapsake speichert den Schlüssel im Apple Keychain und kommuniziert vom Gerät mit diesem Server. Es gibt kein Mapsake-Konto, das Sie erstellen müssen, und kein Mapsake-Dienst, der die Bibliothek empfängt.

Mapsake liest lokalisierte Assets in Seiten ein, einschließlich ihrer Koordinaten, Aufnahmezeitpunkte und des verfügbaren Kameramodells. Es speichert die kleinen Metadatenmengen, die zum Erstellen des Atlas benötigt werden, und löst diese dann über die gleiche Ortsbestimmungs-Pipeline auf, die auch von Apple Fotos verwendet wird. Immich-Miniaturen können in den Ortsgeschichten angezeigt werden, während eine größere Vorschau erst vom Server des Benutzers abgerufen wird, wenn sie geöffnet wird.

Dieses letzte Detail ist wichtig. Die App muss keine Immich-Bibliothek duplizieren, um sie nützlich zu machen. Sie behält eine Referenz auf jedes Quell-Asset, einen kompakten lokalen Reiseindex und einen regenerierbaren Miniaturansichtscache. Das Original bleibt dort, wo sein Eigentümer es platziert hat.

Der erste Immich-Importeur war nützlich, aber unvollständig.

Die früheste Implementierung verwendete den Immich-Endpunkt für Kartenmarkierungen. Dies war ein vielversprechender Ausgangspunkt: Eine Anfrage lieferte alle lokalisierten Objekte mit Koordinaten und Ortsnamen, die bereits von Immich aufgelöst wurden. Es war nicht erforderlich, Apples Netzwerk-Geocodierdienst zu nutzen, und es gab keine willkürliche Begrenzung der Größe der Bibliothek.

Diese Version konnte Länder schnell darstellen, war aber noch keine echte Fotoquelle. Ein einzelner Marker gab Mapsake nicht genügend dauerhafte Identität, um das Bild erneut anzuzeigen, sein Aufnahme-Datum zu erhalten, die gleichen Kamerafilter wie Apple Fotos anzuwenden oder ein Bild aus der Karte zu entfernen, ohne einen ganzen Ort zu entfernen.

Der Importeur ist daher zu Immichs paginierten Metadatensuche übergegangen. Jeder Eintrag verfügt jetzt über einen stabilen Quellidentifikator, ein Datum, Koordinaten und ein verfügbares EXIF-Kameramodell. Mapsake kennzeichnet den Identifikator mit einem Immich-Präfix, bevor er ihn im gemeinsamen Metadataspeicher für Fotos platziert, sodass er niemals mit einem Apple Fotos-Identifikator kollidieren kann, der denselben Text enthält.

Diese Migration hat auch eine subtile Produktinkonsistenz behoben. Vorher konnte ein von Immich stammender Ort eine Anzahl von Fotos anzeigen, aber beim Öffnen wurde ein leeres Foto-Raster angezeigt. Die Karte wusste, dass Bilder vorhanden waren, während die Ortsbeschreibung nicht wusste, wie sie diese abrufen sollte. Die Behandlung von Immich als eine Art indizierter Quelle wie Fotos ermöglichte es, dass Anzahlen, Filter, Miniaturansichten, Ausschlüsse, Heatmaps und Geschichten übereinstimmten.

Ein Importeur, mehrere Quellen

Immich hat auch eine nützliche Refaktorierung ermöglicht. Das ursprüngliche Foto-Importmodell vermischte den Zugriff auf die Quelle, die Ortsauflösung, das Zusammenführen, den Fortschritt und die Darstellung in einem Modell. Dies war für Apple Photos praktikabel, würde aber für jeden neuen Dienst einen separaten Zweig erfordern.

Mapsake trennt nun diese Verantwortlichkeiten. Eine Quelle erzeugt normalisierte, lokalisierte Datensätze. Der headless-Import-Engine gruppiert oder löst diese, wendet die gleichen Hierarchieregeln an und fügt das Ergebnis in den Atlas ein. Die Benutzeroberfläche liefert Fortschritt und Überprüfung; der Hintergrund-Sync kann dieselbe Engine aufrufen, ohne die Benutzeroberfläche zu erstellen.

Der Nutzen geht über Immich hinaus. Dateieinbettreger, Nomaden und spätere Integrationen können ihre quellenspezifischen Parsing-Methoden beibehalten und gleichzeitig die Regeln verwenden, die bestimmen, wann eine Stadt eine Region und ein Land impliziert, wie Duplikate behandelt werden und welche bestehende Markierung aktualisiert und nicht neu erstellt werden soll.

Dies ist weniger aufregend als eine neue Komponente, aber es ist die Art von interner Grenze, die eine funktionsreiche App verständlich macht. Ein neuer Importeur sollte hauptsächlich die Frage beantworten: „Wie lese ich diese Quelle?“, anstatt die Frage „Was bedeutet ein Ort?“ erneut beantworten.

Hintergrundsynchronisierung ohne kontinuierliche Verfolgung

Nach dem ersten Import kann Immich als optionale Hintergrundquelle aktiviert werden. Wenn das System Mapsake Hintergrundzeit gewährt, überprüft die App erneut den Server, aktualisiert den lokalen Assets-Snapshot und fügt neu entdeckte Orte in die Karte ein. Benachrichtigungen für neue Orte bleiben optional.

Dies ist keine kontinuierliche GPS-Verfolgung. Mapsake rekonstruiert den Datensatz anhand von Fotodatum und -ort, die bereits in Immich gespeichert sind. Es behält auch die wichtigen Überprüfungs- und Bearbeitungswerkzeuge bei, wenn Metadaten unvollständig sind: Gerätefilter, Mindestanzahl von Fotos, Ortsprüfung und die Möglichkeit, ein einzelnes Bild von der Karte auszuschließen, ohne es aus der Quelle zu löschen.

Immich stellt nicht jedes Feld bereit, das Apple Photos bereitstellen kann. Insbesondere sind Höhe und Geschwindigkeit nicht über diesen Pfad verfügbar, sodass Filter, die auf diese Felder basieren, keine Immich-Assets beeinflussen. Ich würde lieber klarstellen, dass jede Quelle identisch ist, als so zu tun.

Die Synchronisierung muss sicher fehlschlagen

Die Hintergrundverarbeitung erfolgt auf Apple-Plattformen. Die App kann zwar Zeit abfragen, aber sie kann nicht garantieren, dass iOS sie zu einer bestimmten Minute aktiviert. Ein selbst gehosteter Server kann ebenfalls offline sein, nur über ein Heimnetzwerk erreichbar oder gibt vorübergehend einen Autorisierungsfehler zurück, nachdem ein API-Schlüssel geändert wurde.

Mapsake betrachtet den Quell-Schnappschuss erst dann als maßgeblich, wenn der Abruf erfolgreich war. Ein fehlgeschlagener Request löscht nicht den letzten, gültigen Atlas. Die App protokolliert den Status der Quelle, plant die Aufgabe erneut und zählt aufeinanderfolgende Fehler. Nach wiederholten Netzwerkfehlern deaktiviert sie diese Automatisierung und informiert den Benutzer, anstatt endlos zu versuchen.

Derselbe Dienst führt eine leichte Prüfung durch, wenn die App wieder in den Vordergrund kommt, was Synchronisierungsfunktionen auch dann ermöglicht, wenn die Hintergrundplanung konservativ ist. Eine manuelle Synchronisierungsoption bleibt verfügbar, da die Benutzerabsicht immer Vorrang vor einer Planer-Heuristik haben sollte.

Der API-Schlüssel erscheint nie in Protokollen, Exporten oder einem Passport-Freigabe.

Der Reisepass wurde zu einem echten zweiten Zuhause für den Atlas.

Der ursprüngliche Passport war ein kompakter Statistikbildschirm. Er zählte Länder und Kontinente und erstellte eine teilbare Karte. Nützlich, aber viel kleiner als die dahinterliegende Karte.

Der neue Passport ist eine Sammlung von per Wisch zu bedienenden Geschichten, die aus demselben Reiseverlauf erstellt wurden:

  • Eine Weltkarte und eine Prozentzahl-Karte für "Besucht", "Gewohnt", "Nächste Reise" oder eine kombinierte Ansicht.
  • Länderflaggen, Fortschritt auf Kontinenten, Regionen, Städte, Flughäfen, Fotanzahl und Aufenthaltsdauer.
  • Regions- und Jahresfilter, sodass ein Atlas eines ganzen Lebens zu einem Kontinent oder einem Kapitel werden kann.
  • Datenkarten, die nach Fotanzahl, Aktualität oder Verweildauer gefärbt sind.
  • Farbige Kartenvarianten und pro-Karten-Farbsteuerungen.
  • Eine rotierende Globus-Animation, die auf dem Gerät als Social-Media-fähiges Video gerendert wird.

Jede Karte verwendet das gleiche zugrunde liegende Passport-Datenmodell. Dies sorgt für konsistente Ergebnisse, wenn jemand eine Ansicht, Region oder ein Jahr ändert, und es ermöglicht, dass die Haupt-Passport-Anwendung, die Passport-Anwendung für Freunde sowie die gemeinsamen Karten, Widgets und die Apple TV-Anwendung dieselben Berechnungen verwenden, anstatt separate Versionen der Wahrheit zu erstellen.

Der erste Prototyp mit alternativen Kartenlayouts zeigte, warum dieses gemeinsame Modell wichtig ist. Es ist einfach, ein schönes Kontinentgitter zu erstellen, das die Anzahl der Länder auf eine Weise zählt, und eine Kartenansicht, die die Anzahl der Territorien auf eine andere Weise zählt. Beide können isoliert betrachtet plausibel erscheinen. Nebeneinander ist der Widerspruch offensichtlich.

Die Passport-Daten werden berechnet, bevor eine bestimmte Karte erstellt wird. Sie enthält die ausgewählte Reiseansicht, den Zeit- und Regionsbereich, die Anzahl, die Flags, die Fotogesamtzahlen, die Datumsbereiche, die Abdeckung, die Zuschneidegrenzen und die Farbwerte der Karte. Eine Karte entscheidet, wie diese Werte dargestellt werden; sie entscheidet sie nicht erneut.

Diese Aufteilung ermöglichte horizontale Kartenvarianten. Das Wischen lädt keinen neuen Datensatz oder eine erneute Importierung. Es ändert das visuelle Argument: kartenorientiert, zahlenorientiert, flaggenorientiert oder eine sortierte Liste. Der Freigabe-Button erhält die sichtbare Variante, sodass das exportierte Bild die Karte ist, die der Benutzer tatsächlich ausgewählt hat, und nicht die erste Karte in ihrer Familie.

Ein Reisepass sollte persönlich wirken, ohne die Lesbarkeit zu beeinträchtigen.

Das ausgefeilte Kartsystem entstand aus dem Wunsch, über generische, weiße Statistik-Panels hinauszugehen. Die Farben der Objektive erzeugen jetzt Farbverläufe und Highlights, Kontinente können ihre eigenen Farbpaletten verwenden, und Karten können Flugrouten oder einen leuchtenden Globus hinzufügen, ohne die zugrunde liegenden Fakten zu verändern.

Die Anpassung hat eine weitere Grenze eingeführt. Text-, Akzent- und Hintergrundfarben können pro Karte bearbeitet werden, aber der Renderer muss sowohl bei hellen als auch bei dunklen Darstellungen und bei der Auflösung für soziale Medien einen ausreichenden Kontrast gewährleisten. Die Standardeinstellungen erledigen die meisten Aufgaben; die Bearbeitung ist für diejenigen gedacht, die möchten, dass ihr Reisepass zu ihrer eigenen Karte oder einer bestimmten Reise passt.

Die Regionsfilterung ist mehr als nur ein Dropdown-Menü. Die Auswahl eines Kontinents ändert die Kartenausschnittgrenzen und ersetzt die globale Abdeckung durch nützliche Subregionen: Südostasien, der Balkan, die nordischen Länder oder die Abdeckung von Bundesstaaten und Provinzen in Nordamerika. Die Jahresfilterung wendet die gleiche Idee auf die Zeit an. Der Reisepass kann das ganze Leben beschreiben oder nur das, was bis zum Ende von 2016 galt.

Die Daten-Kartenansicht war ein weiterer Vereinigungspunkt. Fotos, Aktualität und verbrachte Zeit waren zunächst Atlas-Modi. Das Verschieben der gemeinsamen Metrik und der Farbgebung unter beiden Oberflächen ermöglichte es, dass Passport genau die Heatmap exportieren konnte, die der Atlas anzeigte, einschließlich einer eindeutigen Legende.

Dasselbe gilt für das Reel. Es ist keine Aufnahme der App-Oberfläche. Mapsake rendert den Globus, die hervorgehobenen Länder, die Statistiken und die markierte Überlagerung zu einem richtigen Video und übergibt dann die fertige Datei an das normale Freigabe-Menü. Nichts wird automatisch veröffentlicht.

Warum ein Reel rendern anstatt den Bildschirm aufzunehmen?

Eine Bildschirmaufnahme würde Navigationsleisten, Berührungselemente, Geräteabmessungen und die aktuelle Bildwiederholfrequenz erfassen. Außerdem würde das Ergebnis von der Ausführung der gleichen Geste jedes Mal durch den Benutzer abhängen.

Der Reel-Renderer verwendet einen dedizierten SceneKit-Globus und eine transparente Statistik-Überlagerung. Frames werden in einem H.264-Video mit einer bekannten vertikalen Größe geschrieben, mit einer kontrollierten Rotationsdauer und ohne Benutzeroberflächenelemente. Die Live-Pass-Karte verwendet die gleiche Globusgeschwindigkeit, sodass das Tippen auf „Freigeben“ sich anfühlt, als würde man das bereits angezeigte Element exportieren, anstatt zu einer anderen Animation zu wechseln.

Dieser offscreen-Renderer unterscheidet sich absichtlich von der von Apple Maps verwendeten Kugel, die für die tägliche Erkundung verwendet wird. MapKit ist hervorragend für interaktive Karten mit Streaming geeignet, aber es ist kein deterministischer Video-Renderer. Die ältere Geometrie und die SceneKit-Pfade für Karten, Reels, Widgets und Apple TV werden dupliziert, aber mit einem bestimmten Zweck: Diese Oberflächen benötigen wiederholbare Pixel, ohne einen Live-Kartendienst.

Die Videogenerierung findet lokal statt und zeigt den Fortschritt an, da mehrere Sekunden hochauflösender Bilder viel Arbeit bedeuten. Wenn es fertig ist, kann der Benutzer es in der Fotos-App speichern, über Nachrichten senden oder das System-Freigabe-Fenster öffnen. Mapsake benötigt kein soziales Konto oder einen Upload-Endpunkt, um ein für soziale Medien geeignetes Ergebnis zu erstellen.

Eine einzige Quelle der Wahrheit, viele Wege, um darauf zuzugreifen.

Immich und Passport scheinen nicht miteinander verwandt zu sein, lösen aber benachbarte Teile desselben Problems. Das Importieren macht den Atlas vollständig genug, um ihm zu vertrauen. Der Passport macht diese vollständige Aufzeichnung leicht wieder auffindbar.

Ein georeferenziertes Foto kann eine Stadt, eine Region und ein Land darstellen; es kann zu Fotokarten und Heatmaps beitragen; eine Reisezeit hinzufügen; eine Passkarte füllen; und die Geschichte eines Ortes verstärken. Korrigieren Sie die zugrunde liegende Markierung einmal, und alle Oberflächen sollten übereinstimmen.

Das ist die architektonische Ausrichtung für Mapsake: eine dauerhafte Reisehistorie mit mehreren Ansichten anstelle mehrerer Datenbanken.

Es gibt immer noch ehrliche Einschränkungen. Immich muss vom Gerät aus erreichbar sein, um Miniaturansichten und neue Synchronisierungen zu ermöglichen. iOS entscheidet letztendlich, wann Hintergrundaufgaben ausgeführt werden. Metadaten von Fotos können beweisen, dass eine Kamera an einem bestimmten Ort war, aber nicht, warum der Reisende dort war. Die Statistik-Daten sind nur so genau wie die Daten und Markierungen darunter.

Diese Einschränkungen sind der Grund, warum jede Ebene weiterhin bearbeitbar ist. Die Automatisierung sollte eine Person schnell zu einem vertrauenswürdigen Atlas führen; sie sollte niemals das Gefühl vermitteln, dass der Datensatz nicht korrigiert werden kann.

Wie man es ausprobiert.

  1. Öffnen Aufnehmen, wählen Sie Orte aus Immich-Server-Medien hinzufügen, und verbinden Sie Ihre Server-URL und Ihren API-Schlüssel.
  2. Testen Sie die Verbindung, führen Sie den Import aus und überprüfen Sie die Orte, bevor Sie sie speichern.
  3. Aktivieren Sie optional Immich unter Hintergrundsynchronisierung, wenn Sie möchten, dass der Atlas weiterhin aktualisiert wird.
  4. Öffnen Pass, wechseln Sie die Objektive und versuchen Sie dann die Regions- und Jahreszeitfilter.
  5. Wischen Sie eine Karte, um alternative Layouts anzuzeigen, ändern Sie die Farbe oder erstellen Sie eine rotierende Globus-Reel.

Mapsake bleibt kostenlos, ohne Werbung, Abonnement oder erforderliches Konto. Der Zweck eines größeren Updates ist nicht, mehr Dinge zum Verkauf anzubieten. Es geht darum, den Atlas nützlicher zu gestalten.

Mapsake: App-Symbol

Unabhängiger Entwickler von Mapsake, der über die Produkt-, Karten-, Datenschutz- und Apple-Plattform-Arbeit berichtet, die hinter der App steckt.

Erstellen Sie Ihren eigenen Atlas.

Beginnen Sie mit der Reisehistorie, die Sie bereits haben.

Mapsake ist kostenlos, erfordert kein Mapsake-Konto für die Kernfunktionen und behält die unterstützte Fotomatchung auf Ihrem Gerät.

Mapsake kostenlos herunterladen