Mise à jour du produit
La plus grande mise à jour de passeport de voyage d'Immich et de Mapsake
Une connexion directe à une bibliothèque Immich hébergée localement peut maintenant créer et maintenir l'atlas, tandis qu'un Passeport repensé transforme cette même histoire en cartes, cartes de données, filtres et un globe rotatif.
La mise à jour Mapsake la plus importante à ce jour.
Mapsake a commencé avec une promesse simple : marquer les endroits que vous avez visités, où vous avez vécu et que vous souhaitez voir, puis conserver cet enregistrement de manière privée et portable. La carte est toujours au cœur de l'application, mais cette version modifie la rapidité avec laquelle un véritable historique de voyage peut y apparaître et ce que vous pouvez faire une fois qu'il y est.
Les deux parties les plus importantes sont plus profondes. Immich support et un Voyage de Passeport remanié. Le premier transforme une bibliothèque de photos hébergée localement en preuves de voyage utiles ; le second transforme cet historique en quelque chose qui vaut la peine d'être exploré et partagé.
Il s'agit de la plus grande mise à jour de Mapsake à ce jour, non pas parce qu'elle ajoute la liste la plus longue de paramètres, mais parce qu'elle ferme la boucle entre les données de source privées et un atlas personnel terminé.
Immich est maintenant une source de photos de premier ordre
De nombreuses personnes qui se soucient de posséder leur bibliothèque de photos utilisent Immich. C'est un système de photos et de vidéos auto-hébergé, ce qui en fait un choix naturel pour l'approche locale de Mapsake. Le défi était de le prendre en charge sans que Mapsake ne devienne un autre téléchargeur de photos ou sans demander à un serveur intermédiaire de traiter l'historique de voyage de quelqu'un.
La connexion est directe. Dans les paramètres, entrez l'URL de votre serveur Immich et une clé API créée à partir de là. Paramètres utilisateur d'Immich. Mapsake stocke la clé dans le trousseau Apple et communique depuis l'appareil vers ce serveur. Il n'y a pas de compte Mapsake à créer ni de service Mapsake qui reçoit la bibliothèque.
Mapsake lit les ressources de localisation dans les pages, y compris leurs coordonnées, les dates de capture et le modèle d'appareil photo disponible. Il enregistre la petite quantité de métadonnées nécessaires pour créer l'atlas, puis résout ces points via le même pipeline de localisation utilisé par Apple Photos. Les miniatures Immich peuvent apparaître dans les histoires de localisation, tandis qu'une prévisualisation plus grande est récupérée du serveur de l'utilisateur uniquement lorsqu'elle est ouverte.
Ce dernier détail est important. L'application n'a pas besoin de dupliquer une bibliothèque Immich pour la rendre utile. Elle conserve une référence à chaque actif source, un index de voyage local et compact et un cache de vignettes régénérables. L'original reste là où son propriétaire l'a placé.
Le premier importateur Immich était utile, mais incomplet.
La première implémentation a utilisé le point de terminaison de marqueur de carte d'Immich. C'était un point de départ prometteur : une requête a renvoyé tous les actifs localisés avec les coordonnées et les noms de lieux déjà résolus par Immich. Il n'était pas nécessaire d'utiliser le service de géocodage réseau d'Apple, et il n'y avait pas de limite arbitraire à la taille de la bibliothèque.
Cette version pouvait représenter rapidement les pays, mais ce n'était pas encore une véritable source de photos. Un simple marqueur ne donnait pas à Mapsake suffisamment d'identité durable pour afficher à nouveau l'image, préserver sa date de capture, appliquer les mêmes filtres de caméra que Apple Photos ou supprimer une image de la carte sans supprimer un lieu entier.
L'importateur s'est donc tourné vers la recherche de métadonnées paginée d'Immich. Chaque élément dispose désormais d'un identifiant de source stable, d'une date, de coordonnées et d'un modèle d'appareil photo EXIF disponible. Mapsake nomme l'identifiant avec un préfixe Immich avant de le placer dans le magasin partagé de métadonnées de photos, afin qu'il ne puisse jamais entrer en conflit avec un identifiant Apple Photos qui contient le même texte.
Cette migration a également corrigé une incohérence subtile du produit. Auparavant, un lieu dérivé d'Immich pouvait afficher un nombre de photos, mais en l'ouvrant, il affichait une grille de photos vide. La carte savait que des images existaient, tandis que l'histoire du lieu ne savait pas comment les récupérer. Traiter Immich comme une source indexée du même type que Photos a permis de faire correspondre les nombres, les filtres, les miniatures, les exclusions, les cartes de chaleur et les histoires.
Un importateur, plusieurs sources
Immich a également entraîné une refactorisation utile. Le modèle original d'importation de photos mélangeait l'accès à la source, la résolution des lieux, la fusion, la progression et la présentation dans un seul modèle. Cela était réalisable pour Apple Photos, mais aurait créé une branche distincte pour chaque nouveau service.
Mapsake sépare désormais ces responsabilités. Une source produit des enregistrements de localisation normalisés. Le moteur d'importation sans interface utilisateur regroupe ou résout ces enregistrements, applique les mêmes règles de hiérarchie et fusionne le résultat dans l'atlas. L'interface utilisateur fournit le suivi de la progression et la revue ; la synchronisation en arrière-plan peut appeler le même moteur sans créer l'interface.
L'avantage va au-delà d'Immich. Les importateurs de fichiers, Nomads et les intégrations ultérieures peuvent conserver leur analyse spécifique à la source tout en partageant les règles qui déterminent quand une ville implique une région et un pays, comment les doublons sont gérés et quelle marque existante doit être mise à jour plutôt que recréée.
C'est moins spectaculaire qu'une nouvelle carte, mais c'est le type de limite interne qui maintient une application riche en fonctionnalités compréhensible. Un nouvel importateur doit principalement répondre à la question « comment lire cette source ? » plutôt que de répondre à plusieurs reprises à la question « que signifie un lieu ? »
Synchronisation en arrière-plan sans suivi continu
Après la première importation, Immich peut être activé comme source d'arrière-plan facultative. Lorsque le système accorde du temps d'arrière-plan à Mapsake, l'application vérifie à nouveau le serveur, met à jour son instantané d'actifs locaux et fusionne les nouveaux lieux découverts dans la carte. Les notifications pour les nouveaux lieux restent facultatives.
Il ne s'agit pas d'un suivi GPS continu. Mapsake reconstruit l'enregistrement à partir des dates et des emplacements des photos déjà stockés dans Immich. Il conserve également les outils de révision et de modification importants lorsque les métadonnées sont incomplètes : filtres d'appareils, seuils minimum de photos, inspection des lieux et la possibilité d'exclure une image individuelle de la carte sans la supprimer de sa source.
Immich n'expose pas tous les champs que Apple Photos peut fournir. En particulier, l'altitude et la vitesse ne sont pas disponibles via ce chemin, de sorte que les filtres basés sur ces champs n'affectent pas les actifs Immich. Je préfère indiquer clairement cela plutôt que de prétendre que toutes les sources sont identiques.
La synchronisation doit échouer en toute sécurité
Le fonctionnement en arrière-plan est opportuniste sur les plateformes Apple. L'application peut demander l'accès à la localisation, mais elle ne peut pas garantir qu'iOS l'activera à une minute précise. Un serveur hébergé localement peut également être hors ligne, accessible uniquement via un réseau domestique, ou peut temporairement renvoyer une erreur d'autorisation après qu'une clé API a été modifiée.
Mapsake considère que l'instantané source est définitif uniquement après une récupération réussie. Une requête échouée n'efface pas l'atlas précédent. L'application enregistre l'état de la source, reprogramme la tâche et compte les échecs consécutifs. Après plusieurs échecs de la source réseau, elle désactive cette automatisation et informe l'utilisateur plutôt que de réessayer indéfiniment.
Le même service effectue une vérification légère lorsque l'application revient au premier plan, ce qui offre une voie pratique pour la synchronisation, même lorsque la planification en arrière-plan est conservatrice. Une option de synchronisation manuelle reste disponible, car l'intention de l'utilisateur doit toujours primer sur une heuristique de planification.
La clé de l'API n'apparaît jamais dans les journaux, les exportations ou un partage Passport.
Le Passeport est devenu un véritable deuxième foyer pour l'atlas.
Le Passport original était un écran de statistiques compact. Il comptait les pays et les continents et générait une carte partageable. Utile, mais beaucoup plus petit que la carte qui se trouve derrière.
Le nouveau Passport est une collection d'histoires défilables créées à partir du même enregistrement de voyage :
- Une carte du monde et un indicateur du pourcentage du monde visité, vécu, à venir, ou une vue combinée.
- Drapeaux des pays, progression sur les continents, régions, villes, aéroports, nombre de photos et jours passés sur place.
- Filtres de région et d'année, afin qu'un atlas d'une vie entière puisse devenir un continent ou un chapitre.
- Cartes de données ombragées en fonction du nombre de photos, de la fraîcheur ou du temps passé.
- Variantes de cartes colorées et contrôles de couleur par carte.
- Une animation de globe terrestre qui s'affiche sur l'appareil sous forme de vidéo prête à être partagée sur les réseaux sociaux.
Chaque carte utilise le même modèle de données Passport sous-jacent. Cela permet de maintenir la cohérence des totaux lorsque quelqu'un modifie une vue, une région ou une année, et permet à l'application Passport principale, à l'application Passport pour les amis, aux cartes partagées, aux widgets et à Apple TV de réutiliser les mêmes calculs au lieu de créer des versions distinctes de la vérité.
Le premier prototype de carte alternative a révélé pourquoi ce modèle partagé est important. Il est facile de créer une belle grille de continents qui compte les pays d'une manière et une carte qui compte les territoires d'une autre manière. Les deux peuvent sembler plausibles isolément. L'un à côté de l'autre, la contradiction est évidente.
Les données de Passport sont calculées avant la création de toute carte spécifique. Elles comprennent la vue de voyage sélectionnée, la portée temporelle et géographique, les nombres, les indicateurs, les totaux de photos, les plages de dates, la couverture, les limites de recadrage et les couleurs de la carte. Une carte décide comment exprimer ces valeurs ; elle ne les redéfinit pas.
Cette division a rendu possible les variantes de cartes horizontales. Le glissement ne charge pas un nouvel ensemble de données ni ne relance une importation. Il modifie l'argument visuel : carte en premier, chiffres en premier, drapeaux en premier, ou une liste classée. Le bouton de partage reçoit la variante visible, de sorte que l'image exportée est la carte que l'utilisateur a réellement choisie, plutôt que la première carte de sa famille.
Un passeport doit être personnel sans perdre sa lisibilité
Le système de cartes sophistiqué a commencé comme une tentative de dépasser les panneaux de statistiques génériques et monochromes. Les couleurs des objectifs créent désormais des dégradés et des effets de lumière, les continents peuvent utiliser leurs propres palettes, et les cartes peuvent ajouter un itinéraire de vol ou un globe lumineux sans modifier les données sous-jacentes.
La personnalisation a introduit une autre limite. Les couleurs du texte, de l'accent et de l'arrière-plan peuvent être modifiées pour chaque carte, mais le rendu doit toujours préserver le contraste, tant en mode clair qu'en mode sombre, et à la résolution d'exportation pour les réseaux sociaux. Les paramètres par défaut font la plupart du travail ; la modification est là pour ceux qui veulent que leur Passeport corresponde à leur propre carte ou à un voyage particulier.
Le filtrage des régions est devenu plus qu'un simple menu déroulant. La sélection d'un continent modifie les limites de la zone de la carte et remplace la couverture mondiale par des sous-régions utiles : l'Asie du Sud-Est, les Balkans, les pays nordiques ou la couverture des États et des provinces en Amérique du Nord. Le filtrage des années applique la même idée au temps. Le passeport peut décrire toute une vie, ou seulement ce qui était vrai à la fin de 2016.
La carte des données était un autre point d'unification. Les photos, la fraîcheur et le temps passé étaient les modes Atlas initiaux. Déplacer la métrique et la logique de couleur partagées sous les deux surfaces a permis à Passport d'exporter exactement la carte thermique que l'Atlas affichait, avec une légende discrète.
Il en va de même pour la bobine. Ce n'est pas un enregistrement de l'interface de l'application. Mapsake rend le globe, les pays mis en évidence, les statistiques et la superposition de marque dans une vidéo appropriée, puis transmet le fichier terminé à la feuille de partage normale. Rien n'est publié automatiquement.
Pourquoi rendre une bobine plutôt que d'enregistrer l'écran ?
Un enregistrement d'écran capturerait les barres de navigation, les indicateurs tactiles, les dimensions de l'appareil et la fréquence d'images que l'interface en direct peut maintenir. Il rendrait également le résultat exporté dépendant du fait que l'utilisateur effectue le même geste correctement à chaque fois.
Le rendu de la bobine utilise un globe SceneKit dédié et une superposition de statistiques transparente. Les images sont écrites dans une vidéo H.264 d'une taille verticale connue, avec une durée de rotation contrôlée et sans éléments d'interface. La carte Passeport en direct utilise la même vitesse de globe, de sorte que toucher Partager donne l'impression d'exporter l'élément qui est déjà affiché plutôt que de passer à une animation différente.
Ce rendu hors écran est délibérément séparé du globe Apple Maps utilisé pour l'exploration quotidienne. MapKit est excellent pour les cartes interactives en streaming, mais ce n'est pas un rendu vidéo déterministe. Le maintien de la géométrie et des chemins SceneKit plus anciens pour les cartes, les Reels, les widgets et Apple TV est une duplication à des fins spécifiques : ces surfaces ont besoin de pixels reproductibles sans service de carte en direct.
La génération de vidéos se fait localement et affiche la progression, car plusieurs secondes de trames haute résolution représentent un travail réel. Une fois terminé, l'utilisateur peut l'enregistrer dans Photos, l'envoyer via Messages ou ouvrir la feuille de partage du système. Mapsake n'a pas besoin d'un compte social ni d'un point de terminaison de téléchargement pour créer un résultat prêt pour les réseaux sociaux.
Une seule source de vérité, de nombreuses façons d'y accéder.
Immich et Passport peuvent sembler des fonctionnalités non liées, mais ils résolvent des parties du même problème. L'importation rend l'atlas suffisamment complet pour être fiable. Le passeport rend cet enregistrement complet facile à consulter.
Une photo géolocalisée peut devenir une ville, une région et un pays ; contribuer à des cartes de chaleur de photos et d'ancienneté ; ajouter du temps à un voyage ; remplir une carte de passeport ; et renforcer l'histoire d'un lieu. Corrigez la marque sous-jacente une fois et toutes les surfaces doivent correspondre.
C'est la direction architecturale de Mapsake : un historique de voyage durable, avec plusieurs vues plutôt que plusieurs bases de données.
Il existe toujours des limites claires. Immich doit être accessible depuis l'appareil pour les miniatures et les nouvelles synchronisations. iOS détermine quand les tâches en arrière-plan sont exécutées. Les métadonnées des photos peuvent prouver qu'un appareil photo était quelque part, mais pas pourquoi le voyageur était là. Les statistiques du passeport ne sont précises que si les dates et les marquages sont corrects.
Ces limites sont la raison pour laquelle chaque couche reste modifiable. L'automatisation doit aider une personne à créer rapidement un atlas fiable ; elle ne doit jamais donner l'impression que l'enregistrement ne peut pas être corrigé.
Comment l'essayer.
- Ouvrir Enregistrer, choisissez Ajouter des lieux depuis Immich Server, et connectez l'URL de votre serveur et la clé API.
- Testez la connexion, lancez l'importation et vérifiez les lieux avant de les enregistrer.
- Activez éventuellement Immich dans la synchronisation en arrière-plan si vous souhaitez que l'atlas reste à jour.
- Ouvrir Passeport, changez d'objectifs, puis essayez les filtres de région et d'année.
- Faites glisser une carte pour afficher des mises en page alternatives, changez la couleur d'une carte ou créez une présentation de globe rotatif.
Mapsake reste gratuit, sans publicité, sans abonnement ni compte requis. L'objectif d'une mise à jour importante n'est pas de créer plus de choses à vendre. C'est de rendre l'atlas plus utile.