新機能:写真エクスプローラー · 登録された旅行写真の検索

製品のアップデート。

ImmichとMapsakeによる最大の旅行パスポートのアップデート

自己ホスト型のImmichライブラリへの直接接続により、地図を作成および維持できます。再設計されたパスポートは、同じ履歴をカード、データマップ、フィルター、および回転する地球儀として表示します。

によって。 11 分の読書時間
Mapsake の記録画面: Apple Photos、Immich、およびその他の旅行履歴インポート元を表示

これまでにリリースされた最大の Mapsake のアップデート。

Mapsake は、比較的シンプルな約束から始まりました。訪問した場所、住んだ場所、そして次に訪れたい場所をマークし、その記録をプライベートかつポータブルに保つ。地図は依然としてアプリの中心ですが、このリリースでは、実際の旅行履歴をどれだけ迅速に地図に追加できるか、そして地図上で何ができるかがどのように変化するか。

大きな要素は2つ Immich サポートと、再構築されたトラベルパスポート。一つは、セルフホストの写真ライブラリを役立つ旅行の証拠に変え、もう一つは、その履歴を探索し、共有する価値のあるものに変えます。

これはこれまでのMapsakeの最大のアップデートですが、設定項目が最も多いからではなく、プライベートなソースデータから完成した個人的な地図を作成するまでのプロセスを完結させるからです。

Immichは、現在、主要な写真ソースです。

多くの人が、自分の写真ライブラリを所有することに気を配っています。Immichは、セルフホストの写真およびビデオシステムであり、Mapsakeのローカルファーストのアプローチと自然に適合します。課題は、Mapsakeを別の写真アップローダーにしたり、サーバーに誰かの旅行履歴を処理させたりすることなく、それをサポートすることでした。

接続は直接的です。Record に、Immich サーバーの URL と、作成した API キーを入力します。 Immichのユーザー設定. Mapsakeは、キーをAppleのキーチェーンに保存し、デバイスからそのサーバーに通信します。Mapsakeのアカウントを作成する必要はなく、Mapsakeのサービスも利用していません。

Mapsake は、ページ内のアセットの座標、撮影日、および利用可能なカメラモデルを含む情報を読み取ります。地図を作成するために必要な少量のメタデータを保存し、次に、Apple Photos で使用されるのと同じ場所のパイプラインを使用して、それらのポイントを解決します。Immich のサムネイルは、場所のストーリーに表示され、より大きなプレビューは、ユーザーのサーバーから開いたときにのみ取得されます。

その最後の詳細が重要です。アプリは、それを便利にするために、Immichライブラリを複製する必要はありません。各ソースアセットへの参照、コンパクトなローカル旅行インデックス、および再生成可能なサムネイルキャッシュを保持します。オリジナルは、所有者が配置した場所にそのまま残ります。

最初のImmichインポーターは、有用でしたが、不完全でした。

最初の実装では、Immichのマップマーカーエンドポイントを使用しました。 これは、魅力的な開始点でした。 1つのリクエストで、Immichによって座標と場所の名前がすでに解決された、すべての場所にあるアセットが返されました。 Appleのネットワークジオコーダーをスロットルする必要はなく、ライブラリのサイズに関する任意の制限もありませんでした。

そのバージョンは、国をすばやく描画できましたが、まだ真のフォトソースではありませんでした。単にマーカーだけでは、Mapsakeが画像を再度表示したり、キャプチャ日を保存したり、Apple Photosと同じカメラフィルターを適用したり、地図から1つの画像だけを削除して、場所全体を削除したりするために必要な、十分な永続的な識別子を提供できませんでした。

そのため、インポーターはImmichのページングされたメタデータ検索に移行しました。各アセットには、安定したソース識別子、日付、座標、および利用可能なEXIFカメラモデルが設定されています。Mapsakeは、共有の写真メタデータストアに配置する前に、識別子にImmichのプレフィックスを付与するため、同じテキストを含むApple Photosの識別子との競合が発生することはありません。

その移行により、微妙な製品の不整合が修正されました。以前は、Immichから派生した場所が、写真の数を報告する一方で、空の写真グリッドを表示することがありました。地図は画像が存在することを知っていましたが、場所のストーリーはそれらを取得する方法を知りませんでした。Photosと同じ種類のインデックス付きソースとしてImmichを扱うことで、カウント、フィルター、サムネイル、除外、ヒートマップ、ストーリーが一致しました。

1つのインポーター、複数のソース

Immichは、非常に有用なリファクタリングを強制しました。元の写真インポート機能は、データソースへのアクセス、場所の特定、マージ、進捗状況、および表示を1つのモデルにまとめていました。これはApple Photosでは機能しましたが、新しいサービスごとに別のブランチが必要になるでしょう。

Mapsakeは、これらの責任を分離しています。ソースは、正規化された位置情報を生成します。ヘッドレスインポートエンジンは、それらをクラスタリングまたは解決し、同じ階層ルールを適用し、結果を地図にマージします。フロントエンド画面は、進捗状況とレビューを提供し、バックグラウンド同期は、インターフェースを構築せずに、同じエンジンを呼び出すことができます。

利点は、Immichを超えます。ファイルインポーター、Nomads、および今後の統合は、それぞれのソース固有の解析を維持しながら、都市が地域と国を意味する条件、重複の処理方法、および既存のマークを再作成するのではなく、どの既存のマークを更新すべきかを決定するルールを共有できます。

これは新しい機能を追加するよりも地味ですが、機能豊富なアプリケーションを理解しやすくする内部的な仕組みです。新しいインポーターは、主に「このソースをどうやって読み込むか」という質問に答えるべきで、「場所とはどういう意味か」という質問を何度もする必要はありません。

継続的なトラッキングなしのバックグラウンド同期。

最初のインポート後、Immichをオプションのバックグラウンドデータソースとして有効にできます。システムがMapsakeにバックグラウンド時間を許可すると、アプリはサーバーを再度確認し、ローカルのアセットのスナップショットを更新し、新しく発見された場所を地図に統合します。 新しい場所の通知はオプションのままです。

これは連続的なGPS追跡ではありません。Mapsakeは、写真の日付と場所から記録を再構築します。また、メタデータが不完全な場合に役立つ、デバイスフィルター、最小写真数、場所の確認、およびソースから画像を削除せずに地図から個々の画像を削除する機能などの編集ツールも引き続き利用できます。

Immichは、Apple Photosが提供できるすべてのフィールドを公開していません。特に、高度と速度は、この方法では利用できないため、これらのフィールドに基づくフィルタは、Immichの資産には影響しません。すべてのデータソースが同一であると装うよりも、その境界を明確に述べた方が良いでしょう。

同期は安全に失敗する必要があります。

バックグラウンド処理は、Appleプラットフォーム上で断続的に行われます。アプリは位置情報をリクエストできますが、iOSが正確な分に位置情報を取得することを保証するものではありません。自己ホストサーバーもオフラインになる可能性があり、ホームネットワーク経由でのみアクセス可能になるか、APIキーの変更後に一時的に認証エラーを返すことがあります。

Mapsake は、正常に取得できた場合にのみ、ソースのスナップショットを信頼できるものと見なします。リクエストが失敗しても、最後の正常な地図は削除されません。アプリはソースの状態を記録し、作業を再スケジュールし、連続した失敗回数をカウントします。ネットワークソースの繰り返し失敗の後、その自動化は無効になり、ユーザーに通知されます。再試行は行われません。

同じサービスは、アプリがフォアグラウンドに戻るときに、軽量なチェックを実行します。これにより、バックグラウンドでのスケジュールが制限されている場合でも、同期の実行が可能になります。手動での同期も引き続き利用可能です。なぜなら、ユーザーの意図は、スケジューリングのヒューリスティックよりも優先されるべきだからです。

APIキーは、ログ、エクスポート、またはPassportの共有には表示されません。ログには、ソース名とカウントまたはステータスコードが表示され、ほとんどの障害を診断するのに十分です。デバッグトレイルを認証情報の漏洩に変えることはありません。

パスポートは、旅行地図集にとって、まさに第二の故郷となりました。

元のPassportは、コンパクトな統計画面でした。国と大陸の数をカウントし、共有可能なカードを作成しました。便利ですが、その背後にある地図よりもはるかに小さいものです。

新しいPassportは、同じ旅行記録から構築された、スワイプ可能なストーリーのコレクションです。

  • 訪問地、居住地、次に行く予定の場所、またはそれらを組み合わせたビューを表示する世界地図と、世界の何パーセントを訪問したかを示すカード。
  • 国旗、大陸の進捗状況、地域、都市、空港、写真の数、および滞在日数。
  • 地域と年ごとのフィルターを使用すると、生涯の旅行地図を、大陸ごと、または章ごとに表示できます。
  • 写真数、最近性、または滞在時間で色分けされたデータマップ。
  • カラフルなカードのバリエーションと、カードごとの色設定。
  • デバイス上でレンダリングされ、ソーシャルメディアで共有できる動画として表示される、回転するグローブの動画。

すべてのカードは、同じPassportデータモデルを使用しています。これにより、レンズ、地域、または年を変更しても合計が常に一貫し、メインのPassport、友人用Passport、共有カード、ウィジェット、およびApple TVで同じ計算を再利用できるため、真実の別のバージョンを作成する必要がありません。

最初の代替カードのプロトタイプは、共有モデルがなぜ重要なのかを示しました。美しい大陸のグリッドを作成して、国を1つの方法でカウントし、地図カードで地域を別の方法でカウントすることは簡単です。両方とも、個別に見てみると妥当に見える可能性があります。しかし、並べて見ると、矛盾が明らかになります。

パスポートデータは、特定のカードが選択される前に計算されます。これには、選択された旅行レンズ、時間と地域範囲、カウント、フラグ、写真の合計数、日付範囲、カバレッジ、トリミング範囲、および地図の色が含まれます。カードはこれらの値をどのように表現するかを決定しますが、それらを再決定することはありません。

その分割により、水平カードのバリエーションが可能になりました。スワイプしても、新しいデータセットが読み込まれたり、インポートが再実行されたりすることはありません。それは、視覚的な表現を変更するだけです。地図を優先、数字を優先、フラグを優先、またはランク付けされたリストです。共有ボタンは、表示されているバリエーションを受け取り、エクスポートされた画像は、ユーザーが実際に選択したカードであり、そのカードファミリーの最初のカードではありません。

パスポートは、読みやすさを損なうことなく、個人的なものになるべきです。

鮮やかなカードシステムは、汎用的な白い統計パネルを超えることを目指して始まりました。レンズの色は、グラデーションとハイライトの元となり、大陸ごとに独自のパレットを使用でき、地図カードは、事実を変えずにフライトパスや発光する地球を追加できます。

カスタマイズにより、別の境界が導入されました。テキスト、アクセント、および背景色は、カードごとに編集できますが、レンダラーは、明るい表示と暗い表示の両方で、およびソーシャルエクスポート解像度で、コントラストを維持する必要があります。デフォルト設定でほとんどの作業が完了します。編集は、パスポートを独自の地図や特定の旅行に合わせたいユーザー向けです。

地域フィルターは、ドロップダウンメニュー以上の機能になりました。大陸を選択すると、地図の表示範囲が変わり、グローバル表示が、東南アジア、バルカン半島、北欧諸国、または北米の州や地方の表示に切り替わります。年ごとのフィルターも同様の考え方で適用されます。パスポートは、人生全体を記述することも、2016時点での状況のみを記述することもできます。

データマップカードは、別の統合ポイントでした。 写真、鮮度、および経過時間は、Atlasモードの初期段階でした。 これらの共有メトリックとカラーロジックを両方のインターフェースの下に移動することで、PassportはAtlasで表示されているヒートマップを正確にエクスポートできるようになり、離散的な凡例も含まれます。

リールも同様です。 これは、アプリのインターフェイスの録画ではありません。 Mapsake は、グローブ、強調表示された国、統計、およびブランドロゴを適切なビデオにレンダリングし、完成したファイルを通常の共有シートに渡します。 何も自動的に投稿されません。

なぜ、画面録画ではなく、短い動画を作成するのか?

スクリーンレコーディングでは、ナビゲーションバー、タッチインジケーター、デバイスの寸法、およびライブインターフェースが維持するフレームレートがキャプチャされます。また、エクスポートされた結果は、ユーザーが毎回同じジェスチャーを正確に行うかどうかに依存します。

リールレンダラーは、専用の SceneKit グローブと、透過的な統計オーバーレイを使用します。 フレームは、既知の垂直サイズを持つ H.264 ビデオに書き込まれ、制御された回転期間があり、インターフェイスの要素は含まれません。 ライブ Passport カードは、同じグローブ速度を使用するため、共有をタップすると、画面に表示されているものをエクスポートするのと同じように感じられます。

このオフスクリーンレンダラーは、日常的な探索に使用されるApple Mapsのグローブとは別に設計されています。MapKitはインタラクティブな地図のストリーミングに優れていますが、決定的なビデオレンダラーではありません。カード、リール、ウィジェット、およびApple TVで使用される古いジオメトリとSceneKitパスの重複は、意図的な設計です。これらのインターフェースは、ライブの地図サービスなしで、再現可能なピクセルを必要とするからです。

ビデオの生成はローカルで行われ、進捗状況が表示されます。これは、高解像度のフレームの数秒を処理するため、それなりの作業です。完了すると、ユーザーはビデオを Photos に保存したり、Messages で送信したり、システム共有シートを開いたりできます。Mapsake は、ソーシャルメディアで共有できる結果を作成するために、ソーシャルアカウントやアップロード機能は必要ありません。

1つの真実の源、そしてそれを参照するための多くの方法

Immichとパスポートは、一見無関係な機能に見えますが、同じ問題の隣接する部分を解決します。インポート機能は、アトラスを十分に完成させ、信頼できるようにします。パスポート機能は、その完全な記録を簡単に再確認できるようにします。

位置情報が付いた写真は、都市、地域、国となり、写真と撮影時期のヒートマップに貢献し、旅行の時間を追加し、パスポートカードを埋め、場所の物語を豊かにします。一度位置情報を修正すると、すべての表示に反映されます。

それがMapsakeのアーキテクチャの方向性です。複数のデータベースではなく、複数のビューを持つ、耐久性のある単一の旅行履歴です。

まだいくつかの制限があります。Imichは、サムネイル画像と新しい同期のために、デバイスからアクセス可能である必要があります。iOSは、バックグラウンドでの動作を開始するタイミングを最終的に決定します。写真のメタデータは、カメラがどこにあったかを示すことができますが、旅行者がそこにいた理由を示すことはできません。パスポートの統計は、記載されている日付とマークの正確さによってのみ決まります。

その制限があるため、すべてのレイヤーは編集可能です。自動化は、信頼できる地図を迅速に作成するのに役立つはずですが、記録が修正不能になるようなことはありません。

試してみる方法

  1. 開く。 記録, を選択します。 Immichサーバーのメディアから場所を追加, を使用して、サーバーのURLとAPIキーを設定します。
  2. 接続をテストし、インポートを実行し、保存する前に場所を確認します。
  3. アトラスを最新の状態に保ちたい場合は、バックグラウンド同期で Immich をオプションで有効にすることができます。
  4. 開く。 パスポート, で、レンズを切り替えてから、地域と年のフィルターを試してください。
  5. カードをスワイプして、別のレイアウトを表示したり、色を変更したり、回転する地球儀の動画を作成したりできます。

Mapsake は、広告、サブスクリプション、または必須のアカウントなしで無料です。大規模なアップデートの目的は、販売するものを増やすことではなく、地図をより便利に保つことです。

Mapsake アプリのアイコン

Mapsakeの開発者によるものです。このアプリの背後にある製品、地図、プライバシー、およびAppleプラットフォームに関する情報を提供します。

あなただけの旅行地図を作成しましょう。

すでに持っている旅行履歴から開始します。

Mapsakeは無料で、コア機能の利用にはMapsakeのアカウントは不要で、サポートされている写真のマッチングはすべてデバイス上で行われます。

Mapsakeを無料でダウンロード