Actualización del producto
La mayor actualización de pasaporte de viaje de Immich y Mapsake
Una conexión directa a una biblioteca Immich alojada localmente ahora puede crear y mantener el atlas, mientras que un Pasaporte rediseñado convierte la misma historia en tarjetas, mapas de datos, filtros y una rueda de globo terráqueo.
La actualización más grande de Mapsake hasta el momento.
Mapsake comenzó con una promesa bastante simple: marcar los lugares que has visitado, vivido y quieres ver, y mantener ese registro privado y portátil. El mapa sigue siendo el centro de la aplicación, pero esta versión cambia la rapidez con la que una verdadera historia de viajes puede aparecer en él y lo que puedes hacer una vez que está allí.
Las dos partes más grandes son más profundas. Immich soporte y un Viaje de Pasaporte reconstruido. Uno convierte una biblioteca de fotos alojada localmente en evidencia de viaje útil; el otro transforma esa historia en algo que vale la pena explorar y compartir.
Esta es la actualización más grande de Mapsake hasta ahora, no porque agregue la lista más larga de configuraciones, sino porque cierra el ciclo desde los datos de origen privados hasta un atlas personal terminado.
Immich es ahora una fuente de fotos de primera clase
Muchas personas que se preocupan por poseer su biblioteca de fotos utilizan Immich. Es un sistema de fotos y videos autoalojado, lo que lo convierte en una opción natural para el enfoque local de Mapsake. El desafío fue darle soporte sin convertir a Mapsake en otro cargador de fotos o sin pedirle a un servidor intermedio que procesara el historial de viajes de alguien.
La conexión es directa. En la configuración, ingrese la URL de su servidor Immich y una clave API creada desde allí. Configuración de usuario de Immich. Mapsake almacena la clave en el llavero de Apple y se comunica desde el dispositivo a ese servidor. No hay una cuenta de Mapsake que crear ni un servicio de Mapsake que reciba la biblioteca.
Mapsake lee los activos de ubicación en páginas, incluidas sus coordenadas, fechas de captura y modelo de cámara disponible. Guarda la pequeña cantidad de metadatos necesarios para crear el atlas y luego resuelve esos puntos a través de la misma canalización de ubicación que utiliza Apple Fotos. Las miniaturas de Immich pueden aparecer en las historias de ubicación, mientras que una vista previa más grande se recupera del servidor del usuario solo cuando se abre.
Ese último detalle es importante. La aplicación no necesita duplicar una biblioteca de Immich para que sea útil. Mantiene una referencia a cada activo de origen, un índice de viajes local y compacto y una caché de miniaturas regenerables. El original permanece donde su propietario lo colocó.
El primer importador de Immich fue útil, pero incompleto.
La primera implementación utilizó el punto final de marcador de mapa de Immich. Fue un punto de partida atractivo: una solicitud devolvió todos los activos localizados con coordenadas y nombres de lugares ya resueltos por Immich. No era necesario utilizar el servicio de geocodificación de red de Apple, y no había un límite arbitrario en el tamaño de la biblioteca.
Esa versión podía representar países rápidamente, pero aún no era una fuente de fotos real. Un marcador solo no le daba a Mapsake suficiente identidad duradera para mostrar la imagen nuevamente, preservar su fecha de captura, aplicar los mismos filtros de cámara que Apple Fotos o eliminar una imagen del mapa sin eliminar todo un lugar.
El importador, por lo tanto, se movió a la búsqueda de metadatos paginados de Immich. Cada elemento ahora tiene un identificador de origen estable, una fecha, coordenadas y un modelo de cámara EXIF disponible. Mapsake nombra el identificador con un prefijo de Immich antes de colocarlo en la tienda compartida de metadatos de fotos, para que nunca pueda chocar con un identificador de Apple Fotos que contenga el mismo texto.
Esa migración también corrigió una sutil inconsistencia del producto. Antes, un lugar derivado de Immich podía mostrar un recuento de fotos, pero al abrirlo, mostraba una cuadrícula de fotos vacía. El mapa sabía que existían imágenes, mientras que la historia del lugar no sabía cómo recuperarlas. Tratar a Immich como una fuente indexada del mismo tipo que Fotos permitió que los recuentos, los filtros, las miniaturas, las exclusiones, los mapas de calor y las historias coincidieran.
Un importador, varias fuentes
Immich también forzó una refactorización útil. El modelo original de importación de fotos mezclaba el acceso a la fuente, la resolución de lugares, la combinación, el progreso y la presentación en un solo modelo. Esto era factible para Apple Photos, pero habría creado una rama separada para cada nuevo servicio.
Mapsake ahora separa estas responsabilidades. Una fuente produce registros de ubicación normalizados. El motor de importación sin interfaz de usuario agrupa o resuelve estos registros, aplica las mismas reglas de jerarquía y combina el resultado en el atlas. La interfaz de usuario proporciona el progreso y la revisión; la sincronización en segundo plano puede llamar al mismo motor sin crear la interfaz.
El beneficio va más allá de Immich. Los importadores de archivos, Nomads y las integraciones posteriores pueden preservar su análisis específico de la fuente al tiempo que comparten las reglas que determinan cuándo una ciudad implica una región y un país, cómo se manejan los duplicados y qué marca existente se debe actualizar en lugar de recrear.
Esto es menos glamuroso que una nueva tarjeta, pero es el tipo de límite interno que mantiene una aplicación rica en funciones comprensible. Un nuevo importador debe responder principalmente la pregunta de “¿cómo leo esta fuente?” en lugar de responder repetidamente la pregunta de “¿qué significa un lugar?”.
Sincronización en segundo plano sin seguimiento continuo
Después de la primera importación, Immich se puede habilitar como una fuente de fondo opcional. Cuando el sistema le da a Mapsake tiempo de fondo, la aplicación vuelve a comprobar el servidor, actualiza su instantánea de activos locales y fusiona los lugares recién descubiertos en el mapa. Las notificaciones para nuevos lugares siguen siendo opcionales.
Esto no es un seguimiento continuo de GPS. Mapsake reconstruye el registro a partir de las fechas y ubicaciones de las fotos que ya están almacenadas en Immich. También conserva las herramientas de revisión y edición que son importantes cuando los metadatos son imperfectos: filtros de dispositivos, umbrales mínimos de fotos, inspección de lugares y la capacidad de excluir una imagen individual del mapa sin eliminarla de su fuente.
Immich no expone todos los campos que Apple Photos puede proporcionar. En particular, la altitud y la velocidad no están disponibles a través de esta ruta, por lo que los filtros basados en esos campos no afectan los activos de Immich. Prefiero indicar claramente eso en lugar de pretender que todas las fuentes son idénticas.
La sincronización debe fallar de forma segura
El trabajo de fondo se realiza de forma oportunista en las plataformas de Apple. La aplicación puede solicitar acceso a la ubicación, pero no puede garantizar que iOS la active en un minuto exacto. Un servidor alojado localmente también puede estar fuera de línea, accesible solo a través de una red doméstica, o puede devolver temporalmente un error de autorización después de que se cambia una clave de API.
Mapsake considera que la instantánea de origen es autorizada solo después de una recuperación exitosa. Un error no borra el atlas anterior. La aplicación registra el estado de la fuente, programa la tarea nuevamente y cuenta los fallos consecutivos. Después de varios fallos de la fuente de red, desactiva esa automatización y le informa al usuario en lugar de intentar repetidamente sin cesar.
El mismo servicio realiza una verificación ligera cuando la aplicación vuelve a primer plano, lo que proporciona una ruta práctica para la sincronización, incluso cuando la programación en segundo plano es conservadora. Una opción de sincronización manual permanece disponible porque la intención del usuario siempre debe tener prioridad sobre una heurística del programador.
La clave de la API nunca aparece en los registros, las exportaciones o un uso compartido de Passport.
El Pasaporte se convirtió en un verdadero segundo hogar para el atlas.
El Passport original era una pantalla de estadísticas compacta. Contaba países y continentes y generaba una tarjeta compartible. Útil, pero mucho más pequeño que el mapa que hay detrás.
El nuevo Passport es una colección de historias deslizables creadas a partir del mismo registro de viajes:
- Un mapa mundial y una tarjeta con el porcentaje del mundo visitado, vivido, próximo o una vista combinada.
- Banderas de países, progreso en continentes, regiones, ciudades, aeropuertos, número de fotos y días de estadía.
- Filtros de región y año, para que un atlas de toda la vida pueda convertirse en un continente o un capítulo.
- Mapas de datos sombreados por número de fotos, actualidad o tiempo empleado.
- Variantes de tarjetas coloridas y controles de color por tarjeta.
- Un vídeo de globo terráqueo que se renderiza en el dispositivo como un vídeo listo para compartir en redes sociales.
Cada tarjeta utiliza el mismo modelo de datos de Passport subyacente. Esto mantiene la coherencia de los totales cuando alguien cambia una vista, una región o un año, y permite que la aplicación Passport principal, la aplicación Passport para amigos, las tarjetas compartidas, los widgets y Apple TV reutilicen los mismos cálculos en lugar de crear versiones separadas de la verdad.
El primer prototipo de tarjeta alternativa reveló por qué importa ese modelo compartido. Es fácil crear una hermosa cuadrícula de continentes que cuente los países de una manera y una tarjeta de mapa que cuente los territorios de otra manera. Ambos pueden parecer plausibles por separado. Juntos, la contradicción es obvia.
Los datos de Passport se calculan antes de que se cree cualquier tarjeta específica. Incluye la vista de viaje seleccionada, el alcance de tiempo y región, los recuentos, las banderas, los totales de fotos, los rangos de fechas, la cobertura, los límites de recorte y los colores del mapa. Una tarjeta decide cómo expresar esos valores; no los decide de nuevo.
Esa división hizo posible las variantes de tarjetas horizontales. Deslizar no carga un nuevo conjunto de datos ni vuelve a ejecutar una importación. Cambia el argumento visual: primero el mapa, primero los números, primero las banderas o una lista clasificada. El botón de compartir recibe la variante visible, por lo que la imagen exportada es la tarjeta que el usuario realmente eligió, en lugar de la primera tarjeta de su familia.
Un pasaporte debe sentirse personal sin perder la legibilidad
El sistema de tarjetas detallado comenzó como un intento de ir más allá de los paneles de estadísticas genéricos y blancos. Los colores de las lentes ahora crean degradados y resaltados, los continentes pueden usar sus propias paletas, y las tarjetas pueden agregar una ruta de vuelo o un globo brillante sin cambiar los datos subyacentes.
La personalización introdujo otro límite. Los colores del texto, el acento y el fondo se pueden editar por tarjeta, pero el renderizador aún debe preservar el contraste tanto en las apariencias claras como oscuras y en la resolución de exportación para redes sociales. Los valores predeterminados hacen la mayor parte del trabajo; la edición está ahí para aquellos que desean que su Pasaporte coincida con su propio mapa o con un viaje en particular.
El filtrado de regiones se ha convertido en algo más que un menú desplegable. La selección de un continente cambia los límites del recorte del mapa y reemplaza la cobertura global por subregiones útiles: el sudeste asiático, los Balcanes, los países nórdicos o la cobertura de estados y provincias en América del Norte. El filtrado de años aplica la misma idea al tiempo. El pasaporte puede describir toda la vida, o solo lo que fue válido al final de 2016.
La tarjeta de mapa de datos fue otro punto de unificación. Las fotos, la actualidad y el tiempo transcurrido fueron los modos Atlas iniciales. Mover la métrica y la lógica de color compartidas debajo de ambas superficies permitió que Passport exportara exactamente el mapa de calor que mostraba el Atlas, completo con una leyenda discreta.
Lo mismo ocurre con la reproducción. No es una grabación de la interfaz de la aplicación. Mapsake renderiza el globo, los países resaltados, las estadísticas y la superposición de marca en un video adecuado y luego pasa el archivo terminado a la hoja de compartir normal. Nada se publica automáticamente.
¿Por qué renderizar un reel en lugar de grabar la pantalla?
Una grabación de pantalla capturaría las barras de navegación, los indicadores táctiles, las dimensiones del dispositivo y la velocidad de fotogramas que el interfaz en vivo pueda mantener. También haría que el resultado exportado dependiera de que el usuario realizara el mismo gesto limpiamente cada vez.
El renderizador de la reproducción utiliza un globo SceneKit dedicado y una superposición de estadísticas transparente. Los fotogramas se escriben en un video H.264 con un tamaño vertical conocido, con una duración de rotación controlada y sin elementos de la interfaz. La tarjeta de Pasaporte en vivo utiliza la misma velocidad del globo, por lo que tocar Compartir se siente como exportar el elemento que ya está en la pantalla en lugar de cambiar a una animación diferente.
Este renderizador fuera de pantalla es deliberadamente diferente del globo de Apple Maps que se utiliza para la exploración diaria. MapKit es excelente para mapas interactivos transmitidos, pero no es un renderizador de video determinista. Mantener la geometría y las rutas de SceneKit más antiguas para tarjetas, reels, widgets y Apple TV es duplicación con un propósito: esas superficies necesitan píxeles repetibles sin un servicio de mapa en vivo.
La generación de video se realiza localmente y muestra el progreso porque varios segundos de fotogramas de alta resolución son un trabajo real. Cuando termina, el usuario puede guardarlo en Fotos, enviarlo a través de Mensajes o abrir la hoja de compartir del sistema. Mapsake no necesita una cuenta social ni un punto final de carga para crear un resultado listo para compartir en redes sociales.
Una única fuente de verdad, muchas formas de acceder a ella
Immich y Passport pueden parecer funciones no relacionadas, pero resuelven partes adyacentes del mismo problema. Importar hace que el atlas sea lo suficientemente completo para confiar en él. El Passport hace que ese registro completo sea fácil de revisar.
Una foto geolocalizada puede convertirse en una ciudad, una región y un país; contribuir a mapas de calor de fotos y de antigüedad; agregar tiempo a un viaje; completar una tarjeta de pasaporte; y fortalecer la historia de un lugar. Corrige la marca subyacente una vez y todas las superficies deben coincidir.
Esa es la dirección arquitectónica para Mapsake: un historial de viajes duradero, con múltiples vistas en lugar de múltiples bases de datos.
Todavía existen límites claros. Immich debe ser accesible desde el dispositivo para obtener miniaturas y nuevas sincronizaciones. iOS determina cuándo se ejecutan las tareas en segundo plano. Los metadatos de las fotos pueden probar que una cámara estuvo en algún lugar, pero no por qué el viajero estaba allí. Las estadísticas del pasaporte solo son tan precisas como las fechas y las marcas que hay debajo.
Esos límites son la razón por la cual cada capa permanece editable. La automatización debe ayudar a alguien a crear un atlas confiable rápidamente; nunca debe hacer que el registro parezca irrecuperable.
¿Cómo probarlo?
- Abrir Registrar, elija Añadir lugares desde Immich Server, e ingrese la URL de su servidor y la clave de API.
- Pruebe la conexión, ejecute la importación y revise los lugares antes de guardarlos.
- Opcionalmente, habilita Immich en la sincronización en segundo plano si deseas que el atlas se mantenga actualizado.
- Abrir Pasaporte, cambie las lentes y luego pruebe los filtros de región y año.
- Deslice una tarjeta para ver diseños alternativos, cambie el color de una o cree una presentación de globo rotatorio.
Mapsake sigue siendo gratuita, sin anuncios, suscripción o cuenta obligatoria. El objetivo de una actualización importante no es crear más cosas para vender. Es hacer que el atlas sea más útil.