Evernote に背を向けて PukiWiki を使い続ける7つの理由

相変わらず寒い毎日ですな。出来るものなら寒い冬は冬眠してやりすごせる熊かヤマネになりたい、熱帯仕様プログラマ Mariyudu です。

ちょっと前ですが、ゆーすけべー氏の「Evernote が好きではない」で始まるブログ記事にハッとしました。私もあの熱狂的な Evernote 人気に刺激されて、とりあえず使ってはみたものの、もう十年来 Web メモとして利用してきた PukiWiki からの移行ができずにいるからです。

PukiWiki って?

多くの方がご存知だと思いますが、PukiWikiPHP で書かれた日本発の Wiki クローンです。私はこれを自分の Web サイト(レン鯖)にセットアップして、プライベートな Web メモ帳として使い倒してます。プログラマという職業柄、よく使うパターンのコードスニペットや、各種ソフトウェアの設定や TIPS 等を蓄積してノウハウの拡充を図っている訳ですが、Wiki というものが無かった頃は単純にテキストファイルに書きこんで作業マシンのデスクトップに置いておくだけでした。それがある日、結城浩氏作の YukiWiki という Wiki クローンを試したところ、ベタのテキストよりは表現力もあるしネット経由でどこからでも読み書きができるしと、思いのほか使い勝手が良かったので、溜まっていたメモを Wiki ページに移行したという訳です。その1年後くらいに PukiWiki がリリースされたので(サーバの引越しなんかもきっかけだったと思いますが)、これに移行して ver.1.4.7 utf-8 版の今に至っています。正直、これが無いと仕事にならないくらい便利に使わせてもらってます。

PukiWiki を使い続ける7つの理由

さて時を重ねて Web2.0 やらクラウドの時代になり、Evernote という超強力なサービスが登場したのは前述のとおりですが、私もご多分にもれず試してみて「こりゃ凄い」と感動したクチなので、溜め込んだ Wiki 上のメモを移行しようかと思い立ち、実際に少しやってもみました。その結果、移行には時期尚早というか、いや別に移行する必要もないんじゃないのという気になっています。理由を整理してみるとこんな感じ。

中途半端に便利な GUI
当初、Web のページからぐいっとコピペしたらスタイル付きで張り付けできるのには驚きました。ただ、その後の調整が大変。例えば、表組みの背景色なんてどーやって直したらいいのか分かりません。どっかのファイルをごにょごにょすると HTML で編集可なんて裏技もあるそうですが、そこまで手間をかけられませんよねぇ… PukiWiki も文書のスタイル面では万能ではありませんが、どこまでが可能なのかがシンプルかつ明確なので、自分の中で割り切りがつけやすいというか。
プラットフォーム間のバージョン違い
Evernote アプリの、MacWindows でのバージョン違いにも泣かされました。会社で作ったノートが自宅の Mac だとうまく編集できない箇所があったりとか。
ダウンが怖い
仕事にも使うツールなので、障害やメンテナンスによるサービスの停止がいっちゃん困ります。まぁ PukiWiki を置いてるレンタルサーバもダウンが無い訳じゃありませんが、高可用性を追求したいならミラーサイトを増設するといった冗長性確保も可能だし、作業もさほど難しくはありません。
アプリ任せにするしかないマルチプラットフォーム対応
EvernoteiPhone 等のスマホでも利用できますが、この辺は言ってしまえばアプリが提供されてるかどうかになっちゃいます。PukiWiki ならとりあえず Web が使えれば何とか使うことができますね。ガラケーでも一応は OK。
動作が重い…
Evernote はリッチな機能を持っているぶん、アプリの動作環境にそれなりのパワーを要求します。例えば今、職場で支給されている3年前の非力なノート(Core2Duo 1.06GHz/2GB)とかだと、うーむ一寸厳しい…
有料
まあ私の利用ペースだと無料版のアップロード容量制限に達することはほぼ無いかと思いますが、やはりちょっと気に懸かってしまう部分ではあります。
カスタマイズ等の小技
この最後のファクターが自分にとっては一番大きいかもしれません。PukiWiki は比較的見通しの良い PHP アプリケーションなので、何か不満があったり機能を付け加えたければ私でもカスタマイズすることはそれ程難しくありません。また、改造とまで行かなくとも、元々プラグインで拡張可能な様になっているので、それだけでもかなりの事が実現できます。一方 EvernoteAPI も用意されているようですが、そのポテンシャルは未知数ですし、学習コストの面もあり、普段使い慣れている PHP プログラムにちょこちょこっと手を入れられるお手軽さには及ばないかと。

カスタマイズ例

とまぁ、色々もっともらしく理由を列挙してみましたが、最後の項目にあるように、要はどれだけの自由度が担保されているかということに尽きるのではないかと。これは勿論、ユーザ万人にあてはまる訳ではなく、プログラマを生業としている自分にとっての極私的な基準であることを付け加えておきます。さて、不便な所があったら自分でカスタマイズしちゃえばいーじゃん、てのは述べたとおりですが、少し具体例も書いておきます。

スマホ以前の、外出先でのネットといったらケータイの i-mode しかなかった頃ですが、PukiWikii-mode でのアクセスは勿論できるのですが、表示させたいページが長いものだったりすると表示に時間がかかったりスクロールが大変だったりする訳です。また、外出先で見たい情報も本や CD の購入リストとか、わりかし決まったものばかリだったので、特定の URL にアクセスするとそれに応じた箇所(例:欲しい本の一覧)だけ抜き出してメールで送信する、という機能をちょこちょこっと作って重宝していた時期がありました。例えば、ケータイで

http://mariyudu.no.pukiwiki-site.jp/mailme.php?page=Wish+List&block=Books_Buy_List

という URL にアクセスすると、「Wish List」というページの、//mail2ktai_[Books_Buy_List]_begin 及び //mail2ktai_[Books_Buy_List]_end というコメントに挟まれている部分がメールで送り返されてくる、といった具合です。スマホを使うようになってからは不要な機能となったのでコード等は割愛しますが、プログラミングの覚えがある方なら大体の処理フローが目に浮かぶでしょう。たしか30分以内程度で実現できたように記憶しています。

それから、メモ帳のようなかたちで PukiWiki を使っていると、ページにどんどん追記がされていくので所謂「鰻の寝床」状態な長〜いページが増えてしまう傾向があります。これで不便なのはページの先頭や末尾に移動する際のスクロール量がハンパじゃないこと。特にページ編集とプレビューを繰り返してると腱鞘炎になりそうなくらいマウスホイールぐりぐりを繰り返すハメになっちゃう事に辟易して、ページ左端の上下中央部にスクロールしても位置が固定な、ページ最上部・最下部・トップページへのリンクボタンを追加しました(↓)。

これもボタンの画像を作って、スキンファイル(skin/pukiwiki.skin.php)の head タグ内にちょこちょこっと style や script を追記するだけで簡単にできちゃいます。
 
とまあ、こんな具合にちょっとしたプラスアルファが短時間で実現できるのが PukiWiki のようなシンプルなシステムの醍醐味と言えます。
 

とはいいつつ

でも、実は PukiWiki でのメモ帳にも実は色々課題はあるんですよね。例えば PerlTwitter API を使ったコードのサンプルを「Perl メモ」というページに書いたとします。けどこのトピックは同時に Twitter の技術トピックでもある訳で、こんなケースでは Evernote のタグをつけて整理する、という機能が活きてきます。そんな訳でこの記事、Evernote 不要論っぽい煽りタイトルを付けた割には、実はまだまだ Evernote の今後に期待している俺ガイル的なオチになっちゃいました。いや、アルファブロガーさんがよく書く「×××の10の理由」みたいなタイトルを一度付けてみたかっただけとゆーか。あ、石投げないで…