100年日記 v1.4.0で、ほかの日記アプリに書き溜めた過去の記録を取り込む「引っ越し」機能を追加しました。
最初に対応したのは、Day One、10年日記、Apple ジャーナルの3つです。本文だけでなく、写真も取り込めます。
日記アプリを変える難しさ
新しい日記アプリを使ってみたいと思っても、すでに何年も書き続けている場合、簡単には移れません。
日記は続けるほど価値が増していくデータです。1年前や3年前の同じ日に何をしていたかを振り返れるのは、過去の記録が積み重なっているからこそです。
そのため、新しいアプリへ移ったとき、これまでの日記とこれからの日記が別々の場所に分かれてしまうのは大きな問題です。かといって、何年分もの記録を手作業で書き写すのも現実的ではありません。
100年日記を長く使える日記にするためには、「これから書く日記」だけでなく、「これまで書いてきた日記」も一緒に持ってこられる必要があると考えました。
対応している日記アプリ
v1.4.0では、次の3つのアプリからの引っ越しに対応しています。
- Day One
- 10年日記
- Apple ジャーナル
それぞれのアプリで日記を書き出した後、100年日記の「設定」から「引っ越し」を開き、移行元のアプリと書き出しファイルを選びます。
書き出し形式はアプリごとに異なりますが、100年日記側でそれぞれを解析し、日付・本文・写真を100年日記の形式へ変換します。Day OneではJSON形式のZip、10年日記ではテキストと必要に応じて写真のZip、Apple ジャーナルではAppleの一括書き出しで作成されたZipに対応しています。
取り込み前の確認
過去の日記を扱う機能なので、ファイルを選んだだけで100年日記のデータを書き換えることはしません。
まずファイルを解析し、新しく追加される日記、すでに100年日記にあるためスキップされる日記、取り込まれる写真、対応していないデータなどを確認できます。実際に取り込まれる本文の一部も表示します。
内容を確認し、自分で取り込みを確定してから、初めて100年日記へ保存します。
また、100年日記にすでに日記がある日は上書きしません。同じ日が移行元にもある場合は、100年日記側の記録を残し、移行元の記録をスキップします。
アプリごとのデータ形式
日記アプリによって、データの持ち方はかなり異なります。
たとえばDay Oneでは同じ日に複数の日記を書けますが、100年日記は1日1つの日記という構成です。そのため、同じ日に複数の日記がある場合は、時刻が分かるものを時刻順に並べ、1日分としてまとめます。
写真も同様です。移行元に1日複数枚の写真が保存されていても、100年日記は現在1日1枚です。その日の代表となる最初の1枚を取り込み、ほかにも写真があることは確認画面で分かるようにしています。
動画、音声、位置情報、タグ、お気に入りなど、100年日記に対応する保存先がないデータを、無理に本文へ書き足すこともしません。
異なるアプリの情報を完全に再現するのではなく、何を取り込み、何を取り込まないのかを確認したうえで、100年日記の形へ整理して移します。
端末内でのデータ処理
引っ越し機能でも、100年日記のローカルファーストという方針は変えていません。
書き出しファイルの解析と変換はスマートフォンの中で行います。日記の本文、写真、書き出しファイルそのものを、変換のために開発者のサーバーへアップロードすることはありません。
また、長く日記を続けていると、写真を含めた書き出しファイルがかなり大きくなることがあります。そのため、Zip全体を一度にメモリへ展開するのではなく、必要な部分を順番に読みながら処理します。
開発中には、各形式について約10年分にあたる3,650日、写真を含めて約1GBのデータでも、確認画面から取り込みまで動作を検証しました。
過去の記録の引き継ぎ
100年日記を初めて開いた日が、その人にとって日記を書き始めた日とは限りません。
別の日記アプリに何年もの記録が残っている人もいます。これまでは100年日記を使い始めても、その過去の記録は別の場所に残したままでした。
v1.4.0の引っ越し機能によって、対応しているアプリであれば、これまでの日記を引き継ぎ、その続きとして100年日記を始められるようになりました。
100年日記で大切にしているのは、今日の日記を書くことだけではなく、時間が経った後に、その記録が積み重なって見えることです。
これまでの日記と、これからの日記を、同じ場所で続けられるようにしていきます。

