iMessageの会話を物理的な本にできるか?
- iMessageの会話履歴を覚えておくのは難しく、ときどき過去のメッセージを検索して情報を探したくなることがある。
- iMessageの検索機能は改善されてきたが、過去のメッセージを見返すには不便で、特定の日付へ直接移動する機能がない。
- こうした不便さを解消するため、最も大きな会話を物理的な本の形にするアイデアを思いついた。
iPhoneからメッセージを抽出する
- iPhoneからメッセージを抽出するには、まずMacにバックアップを取り、その後
sms.dbファイルを見つけてSQLiteデータベースとして扱う必要がある。
- iPhone Wikiの助けを借りてバックアップフォルダから
sms.dbファイルを見つけ出し、sqlite3コマンドを使ってデータベースのテーブルを確認した。
SQLを使ったテキストメッセージのクエリ
- データベーススキーマを理解し、SQLの結合を使って実際の会話を抽出する過程をたどる。
- 一部のメッセージは
message.textではなくmessage.attributedDataにバイナリデータとして保存されており、これを解釈するための追加作業が必要だった。
imessage-databaseライブラリを使ってiMessageデータベースを読み込み、Rustのデータ構造として出力する機能を活用した。
LaTeX文書の生成
- LaTeXを使ってテキストメッセージを美しい文書へ変換する過程を説明している。
- メッセージをLaTeXコードへ変換し、UnicodeをサポートしないLaTeXの制約をXeLaTeXを使って解決した。
- GoogleのNoto Emojiフォントを使って白黒の絵文字を文書に挿入した。
印刷注文
- 実際の本として印刷するため、Barnes & Noble Pressを利用して安価に本を印刷した。
- LaTeXで生成したPDFからカバーデザインを作成し、印刷注文を完了した。
- 数週間待った末に実物の本を手にし、これによって過去の会話を簡単に振り返れるようになった。
自分でも作ってみる
- ソースコードはまだ完成していないが、GitHubで公開されているので、興味があれば自分でも試すことができる。
GN⁺の見解
- このプロジェクトは、個人のデジタル記録を物理的な形で保存したいという現代的な欲求を反映している。過去の会話を本にして保管することは、デジタル時代における新しい思い出の保存方法を示している。
- LaTeXを使って文書を生成する過程は、プログラミングと文書作成が結びついた例であり、技術文書の作成に関心のある初級ソフトウェアエンジニアにとって有用な事例になりうる。
- この記事は個人データのバックアップと変換の過程を扱っており、データ管理とセキュリティの重要性を改めて思い起こさせる。ユーザーは自身のデータを安全に扱う方法に、より注意を払うべきだ。
- 類似した機能を提供する他のプロジェクトとしてはChatbooksやBlurbがあり、これらはユーザーの写真やソーシャルメディア投稿を書籍化するサービスを提供している。
- この技術を導入する際に考慮すべき点としては、プライバシー保護、データ変換の正確性、印刷コストなどがあり、デジタルデータを物理的な形で長期保存できる利点とともに、データ損失のリスクを減らせる実用的なメリットがある。
1件のコメント
Hacker Newsの意見
個人の通信記録の重要性を強調し、これをサービスとして提供するのは素晴らしいだろうという意見。
誰かが自分のライブラリを実際に使っているのを見て喜ぶ開発者の反応。
第二次世界大戦当時の祖父母の手紙と日記を大切に保存した話と、子孫が同じ喜びを味わえないだろうという懸念。
個人メッセージの全履歴を出版社に送ることへの不安を表す意見。
イギリス人のためにWhatsAppメッセージを印刷するプロジェクトへの興味と、そのためにRustを学ばなければならないという自嘲気味の反応。
個人的な会話記録を保存することに否定的な見方を示し、個人メッセージは一時的であるべきだという意見。
MacでiMessageをエクスポートできるPythonスクリプトの情報提供。
チャット履歴を可視化し、トピックごとにクラスタリングするのは興味深いという意見と、それを物理的な形で印刷する際に検索可能性を持たせられるかもしれないというアイデア。
デジタル情報が失われた場合、印刷された本が21世紀の生活を研究するための唯一の資料になり得るという考え。
ブログをTTSモードで聞いた経験と、特定のセクションを飛ばせず思わず笑ってしまった体験談。