ari's world

あるかどうかわからないけど、あるみたい。ありがとう。

自分で作った文書データと長い友達でいるためのメモ

自分で作った文書データと長い友達でいるためのメモ

先日、OS (OS X/macOS)をアップデートしたところ、使っていたアプリケーションが動作しなくなった。macOS SierraJava 6 runtimeをサポートしなくなった影響で、そのアプリケーションが動かなくなったようだ。それ以前のOS(OS X, El Capitan)でも画面描画が怪しく、ほぼ使い物にならなかった。動作するようにソースコードや内部的な設定を調査して修正する時間的な余裕が取れそうもない。仕事で使っている資料の閲覧や更新ができなくなり困っているところだ。

そこで、新しい情報はないけれど、文書データを長く使うために意識していることを当たり前のことかもしれないけれどメモしてみた。


時間が経過してデータは蓄積され価値が継続する

思えば、学業から仕事まで30年弱は、パソコンやワークステーションで画像や動画、プログラムや文書などを作ってきた。最初の10年分ぐらいのデータは、手違いにより消してしまったけれど、それだけの文書データがある(はずだ)。自分の書いた昔の文書や発表資料を参考にすることがあり、そのためにはデータを持っている。

それらのデータを作り出すたにアプリケーションやサービスを使っている。 エディタやワープロ、画像編集ソフトなどのアプリケーションやウェブサービスを利用している(便宜上、Microsoft Officeのように主としてローカルのコンピュータで動作するものをアプリケーション、slideshareiCloudのように主としてインターネットなど通じてリモートで動作するものをサービスと表現した)。

仕事や生活の種類もあるけれど、その場限りのデータから永続的に保持や再利用する文書データもある。例えば作業用の一時的なデータであれば、その作成じには必要であっても、その後は過ぎてしまえば利用価値がなくなる。永続的なデータは、明示的に永続するその時の「ログ」として保存しておき、あとで参照し、再利用して編集する資料もある。その時の判断が難しい時は、ディスクの値段も十分に安くなり、ディスクの検索技術が発展しているため「とりあえず保存」している。

本記事においてあくまで永続的に保持しておきたい文書データを対象としたい。

時間が経過するとデータが使えなくなる

  • 保守されないアプリケーション

    OSのアップデートに伴い、動作しない文書を作成するアプリケーションがある。このこと自体は、アプリケーションを評価して、慎重にアップデートすればすれば良い、という教訓になるのかもしれない。しかしながら、セキュリティや利便性の向上が期待されるし、いつまでも古いプラットフォームであるOSを使っているわけにはいかない。

  • サービスが使えなくなる

    過去のアプリケーションやサービスにおいて提供会社の消滅によって突然使えなくなった経験もしている。提供会社が訴訟に負けて消滅しましたので、使えなくなりました、という事後報告を受けた経験がある。 EvernoteslideshareAmazon Web Serviceのような素晴らしいサービスを利用している。しかしながら、突然これらが使えなくなることも視野に入れる必要がある。

  • ファイルが壊れる

    PowerPoint形式のファイルが壊れ、10年前の資料が開けなくて困ったこともある(PDF化したファイルが読めたので、何を書いたかが理解できた)。ファイルが壊れやすいアプリケーションがあるようだ。

継続的な利用を想定する

  1. 目的を確認する

    多くの利用者にとって、その製品を使って発表や文書、メールやプログラムを書くなどのアウトプットすることや考えることが目的である。むろん製品の評価や提案を行うコンサルタントのような仕事であれば、いろいろな製品を使って評価することも大切だろう。ただ、多くの人々にとって目的は、その製品の使い方を覚えることではなく、何らかのアウトプットをだすことではないだろうか。使える時間は有限である。あまりにも製品に着目しすぎると、本来の目的がおろそかになりがちだ。

  2. 資産と棚卸

    次に、自分のデータをいつまでも持っておく必要があるのか、という疑問がある。一時的な作業と、資産の二種類がある。再利用するのであれば、ファイルは編集可能な状態で持っておく必要があるだろう。ディスク容量が拡大し廉価になっているため将来的に資産になるかどうか判断がつかないときは、とりあえず持っておき、適当な時に棚卸して削除する、という作戦を取っている。

  3. 物理的な変化と論理的な変化

    変化に対抗するためには、依存を減らすことである。ある特定のハードウェアやサービスなどの物理的な環境に依存している時は、その物理的な環境が壊れてしまった時は継続した利用が不可能になる。ある特定のサービスやアプリケーションのファイルフォーマットなどの論理に依存している時は、それらの提供停止や変更が行われた場合、継続した利用が難しくなる。 ハードウェアの故障やサービスの停止のような物理的な変化、OSやアプリケーションの変更やファイルフォーマットの保守の中止などの論理的にも変化していく。それぞれの変化に対して耐性の強い方法を使う。

依存関係を減らすため一般的な形式と冗長化で継続的な利用を実現する

論理的な変化と物理的な変化に対応するためには、論理及び物理的な依存関係を減らす(選択する自由を広げる)ことである。 そのために論理的な変化についてはよく使われている形式を用いること、物理的な変化に対しては冗長化を行う。

  1. 論理的な変化に対して よく使われている(標準的/オープン/シンプルな)形式を用いるアプリケーションによってa.享受する期間とb.動作環境の選択肢を広げる。a.世間で使われている標準的な形式やアプリケーションを用いていれば、財政状態の良さや保守する人員も見込めるため長い期間においての使用が期待されるだろう。b.そのツールが使えなくなっても、他の代替え手段が見つかるかもしれない。
  2. 物理的な変化に対して 冗長化(バックアップ)によって使えなくなった場合への耐性をつける。冗長化とは物理的なコピーを作ることである。例えば、同じデータを持っているディスクが2台あれば、1台が使えなくなっても使える。

    そのアプリケーションをやめられるか、環境がなくなっても継続して利用できるのかに着目することがポイントである。

1.よく使われている(標準的/オープン/シンプルな)形式を用いるアプリケーション

よく使われている形式による利点は、主に論理的な変化に対する耐性が強くなることだ。

  1. よく使われている形式であれば、享受できる期間が長くなる。世間で使われている標準的な形式やアプリケーションを用いていれば、財政状態の良さや保守する人員も見込めるため長い期間においての使用が期待されるだろう。例えば、Microsoft Office形式やMarkdown形式は、よく使われているため、これからも長い間保守されるだろう。
  2. よく使われている形式であれば、アプリケーションやサービスの選択肢が広がる。例えば、一連のインターネット・メール形式や PDF、LaTeX形式はよく使われているため、ハードウェアやOS、アプリケーションが変わっても、使うことができる。

このような前提に基づいてアプリケーションを選ぶと:

  • 例えば、発表資料(プレゼンテーション)を作る場合、Macで使えるKeynoteはキレイなプレゼンテーションを作ることができて、気に入っている。しかしながら、KeynoteよりMicrosoft PowerPointの方がユーザ数もはるかに多いため、おそらくメンテナンス期間はPowerPoint形式が長くなると予想している。PowerPointとHTML+CSSを比較すると悩ましいところだけれど、HTML+CSS単純なテキスト形式であることと無料/低額で動作環境が用意できるため、長く使えそうである。ただ、表現力との兼ね合いもあり、長く使えることとの選択肢が葛藤する(PowerPointXML形式を用いているらしいが、直接エディタで編集したことがない)。

  • 例えば、オープンソースで開発されている環境やアプリケーションは自分で直す機会があるため変化に強いだろう。ただ、修正には、それなりの時間が必要になってしまうため、万人向けとは言い難いが、開発が撤退した時もどうにか使えることがある。 プログラムとデータが一体になった環境を想定するのであれば、Virtual Machine(VM)のような中間実行環境を持ち歩き、異なった環境で動作するかもしれない。

2.冗長化(バックアップ)

形あるものは確実の壊れる。物理的に離れた場所に置いて確実にバックアップを残す。

  1. 離れた場所であること :例えば、バックアップが家の中にあった場合、その家が壊れてしまったら、バックアップも壊れてしまう。DropboxiCloud、OneDriveのようなクラウド上の共有ドライブを用いて、ローカルとリモートの両方にコピーを置いておく。
  2. 自動化されていることMacを使っていればファイルの変更履歴が取れるTime Machine機能が付いているので、ネットワークディスクにバックアップをとる(Windowsにもバックアップ機能が付いている)。
  3. 復旧が実施可能なこと:バックアップからの復旧において、どのバージョンを元に戻すのかが難しくなる。ファイルの世代管理ができるとバックアップだと便利だ。

大切な情報を印刷することは、バックアップとして有用であるが、今はその機会が減ってきた。タブレット(iPad)でいつでも引き出すことが多いことと、検索の困難さ(紛失してしまうリスク)があるからだ。ただ失われた時に復旧が困難な情報は、印刷も一つの視野に入る。

そんなこんなで長い友達でいるために

  • テキスト形式は最強

    UNIX哲学で議論されてきたように「テキスト形式」はよい。特に単純な形式/機能が良い。いろいろな機能を使いたくなるかもしれない。しかし、単純な形式や機能を(場合によっては)使いこなす方が、その機能を使える。

    ただし、Shift_JIS形式を扱いにくい状況が増えてきた。macOSを使っていて、Shift_JISを用いているファイルが、そのままでは閲覧できないことが増えてきた。ちょっとの一手間でコード変換を行えばよい(のだが、まだ未実施)。1

  • Microsoft Office も頑張ってる

    全世界的なユーザ数と、それらが生み出したデータ資産を考えると、Microsoft Officeで文書を作ると長く使えるだろう。ただし、理由は不明だが、ファイルが壊れることが多く(しかも完成直前で壊れる経験が多く)困っている。

  • MarkdownやHTML+CSSは使い勝手が良さそう

    MarkdownやHTML+CSSは、長く使えそうだ。仕様も簡単で、様々なエディタや開発環境が使える。一般的なエディタでも、これらの形式は使えるし、専用のエディタも広く使える。

    自分で過去に書いたコードは、自分で読むことが困難なことがある(=過去の自分は他人である)ため、可読性に注意して綺麗に記述しよう。例えば、Markdownにおいて、リストは「-」、段落ヘッダは「#」を用いるなど自分に簡単な制約を課して、シンプルに用いている。これにより、のちのちの可読性が上がるだけでなく、機械的な変換などにも対応しやすくなるだろう。

  • PDFとして残しておこう

    文書データは、より使われている形式であるPDFとして保存しておくことで、そのアプリケーションが使えなくなっても、どのようなファイルであったか参照できる。

自分の場合

メイン機と家族用バックアップ機のMacBookシリーズを用いている。LinuxBSDが、よりオープンなプラットフォームであり、Apple社一択となることはそれに違反していると言えるが、成り行きで使っている。 私自身は、1993年ごろからIBM PC互換機+Windowsであったものの、2004年に購入したThinkPadのハード的な不具合の多さと、2006年ごろ購入したVAIO+Windows Vistaの強制終了の多さによって、しばしば作業が中断され困っていた。 その時に所持していたMacBookが安定した動作をしていたので、そのまま世代交代しながら現在まで使い続けている。

物理的な変化に対応するためのバックアップについては、2台のMacBookシリーズを用いている。 ほぼ全てのデータをDropboxiCloud上において作業しているため、ローカルとクラウド上の両方にデータがあることになる。 さらに、標準の機能を用いてネットワーク越しにバックアップをしているため、(今まで一度も発生したことがないが)壊れた場合はそのままリストアする。

論理的な変化に対応するため文書データは、表現や機能と、長く使えるのか、など、自分の目的に合わせた判断が良い。 私の場合、ほぼ文書は Markdown形式、発表資料はHTML+CSS形式を用いることが一般的になっている。 いずれもシンプルでわかりやすく、私の目的を十分に満たしている。 投稿や納品する形式が指示されている場合、LaTeXMicrosoft Office製品を用いる。 その場合でも、Markdown形式で書いたものを、LaTeXやWordに貼り付けることが多い。

フォルダ構成は「時間ごとに整理する」という『超整理法2』に基づいて、年代ごとにフォルダ(例:2016docs)を作り、その中に月ごとやプロジェクトのフォルダ(例:201610docsや2016blogs)を作って置いてある。OSの検索機能を使っているが、目視による確認が行いやすくしている。

f:id:masanari:20161005103513p:plain

さて、本記事の最初に紹介したOSアップデートによって動作しなくなったアプリケーションによって作られた文書データがある。これを参照し、再利用できるようにするために、OSごと用意するなどを含めいくつか手がありそうだ。ただ、今しばらくは手をつけられそうにない。まだしばらく友達でいたいので、しばしの別れである。

逆に蒸発する一時的な利用について まとめてみるも面白そうでもあるが、それはまた別の機会に。