Plaggerが「便利ツール」だという誤解

Plaggerが「便利ツール」だという誤解

煩悩是道場 - それpla

個人的に言えばPlaggerは「インストールが何だか面倒い」みたいに感じるし、そんな面倒い事をしてまでピザを注文しようとも思わない。

suVeneのあれ: 「それPla」に対する

確かに現時点では Plagger は少し敷居が高いし、目的を達成するためには面倒な手段であるかもしれないが、「手段に啓発されて、新しい目的や新しい利用法を発見する事」も多々あるのは忘れてはならない。

萌え理論Blog - Plagger入門以前

Plaggerが産み出す時間>Plaggerを習得する時間


前回は大まかな概要を述べましたが、今回は「なんでピザを注文するために面倒なインストールしなくちゃいけないんだ?」という素朴な疑問に突っ込んで答えましょう。前回では説明の便宜上、はてなアンテナやはてなRSSと連続して語りましたが、本当はそれらの固定的なサービスとの比較自体に疑問があります。どういうことか。


あのですね、実はPlaggerは便利ツールではないんです。むしろ、単体のツールとして使うと不便な位です。しかし、それならなぜ流行していて、わざわざ使うのかが謎ですよね。どういうことか、以下でじっくり説明しましょう。

ギークの常識は世間の非常識

google:Plagger インストールが壮観ですが、インストールだけでこれだけの人がお約束のように挑戦記を書くツールってあんまり見ないですよね。私の場合、ppmの力で幸運にも30分位で一発で入りましたが、もっと以前はIT系の人が一晩掛かる光景が普通に見られました。恐ろしいですね。しかも苦労はインストールさえすれば済むのではなくて、その後もYAMLというかプラグインを習得しないと使いこなせないんです。しかも初心者向けドキュメントがほとんどない状態でです。


じゃあ何でそんな面倒な思いをしてまで使うのかというと、他の「単なるツール」より圧倒的に自由度が高いからです。「便利」というのは簡単というより、応用が利くという意味でしょう。プラグインの拡張性まで視野に入れたときに、圧倒的な自由度と生産性と万能性を持っているから使うのです。使う前から薄々勘付いている人もいるかと思いますが、ここではあえてくどく言語化します。


「BloglinesからGmailへ転送する」だけではなくて、メールは別にGmailに限らないし、mixiとかYouTubeとか2chとかはてブとかlivedoorReaderとか色々組み合わせた利用法が100個とか1000個とか、いくらでも応用できる幅の広さと、どこまでも拡張できる奥の深さが魅力なのでしょう。ただし、あらかじめ全てが完全に用意されているわけではなく、自分で工夫する必要があるので、利用法を100個作るためにはそれなりの手間は掛かります。しかも実際に動かしてみるとエラーを返して止まることもよくあります。それをただ「便利」というだけでは少し違和感があります。


もちろん、いったん自動化してしまえば、手作業よりは確実に時間が省けて確かに便利ですが、そこに至るまでに時間が掛かります。ギークは「楽をするためなら苦労をいとわない」し、Perlや正規表現がすらすら読み書きできるし、そもそもソースの読み書きが楽しいのが前提になっているから、素人が手を出すと大変だという初心側の視点の話があまり出てこないんです。


私がとにかく少しでも使えるようになるまで、ググって情報を漁ったりする時間も含めて、何だかんだ十時間以上掛かって、更に使いこなすためにはもっと時間が掛かると思いますが、後で処理を定型化・自動化すれば年間で百時間とか削減できるだろうと考えて、覚悟して導入に踏み切ったわけです。整理すると、一から十まで教えてもらうのではなく、自力で身体で覚えるのを前提にしているので、ネトランのツールのような便利さとはやや異質なんです。そのPlaggerを巡る認識の齟齬の背景を一覧表にしてみました。

認識差 「便利さ」とは Perlなどのソース インストール・CUI 解説・ドキュメントがない Googleで検索するとピザが届く
ギーク 単調作業からの解放・車輪の再発明を避ける・HACK自由自在 日常的に読み書き CPAN漁りが面白い・ワンライナーが楽しい なあに、かえって(ソースを読んで)開発力がつく SemanticWebからRealWorldまでをpluggableに〜
一般人 本に書いてある通り、ダウンロードしたらボタンを押すだけですぐ使える 意味不明な暗号 ウィザード・ウィンドウが出ないと不安 一から十まで手順が説明されてないと途方に暮れる 森博嗣的理系ジョーク?

開発環境としてのPlagger


前回述べたように、Plaggerはフレームワークでもあります。Plaggerは単なるツールより100倍以上自由度が高いわけですが、それはボタンが100個も200個もあるわけではなくて、それが「開発環境」であって、目的に応じてそのつど設定を自分で書くからなのです。オマケみたいについているけどデフォルトのままいじらなくていい設定ではなくて、毎回違うことをするたびに書き直します。


このように単体ツールとは最初からカテゴリが違うものだから、個々のツールやサービスでは勝負にならないのはある意味では当然でしょう。「簡単」「便利」というのはツールと比較したものではなくて、どちらかというと他の(スクリプト)言語と比較したものではないでしょうか。上の図は思いつきのいい加減なイメージ図ですけど、ツールというよりかなり言語よりの印象です。


元々言語が読み書きできるのが前提になっているギークが、低レベル言語に比べたらPerlは実用主義・折衷主義的で、CPANのモジュール(Mechanizeとか)を使ったらもっと便利で、Plaggerのフレームワークを導入すると更に簡単に組める、という順番を踏まえた上での話であって、一般ユーザが使っているツールと直接比較するのは少し物差しが違うような気がします。私のイメージでは、Plaggerは自分専用の「ツールを作るツール*1」です。

「それPla」の実態

整理すると、Plaggerは簡単に使える「便利ツール」なのではなくて、生産性の高い「開発環境」という印象です。


だから「それPlaggerでできるよ」と気軽に言いますが、「それAjaxでできるよ」「それGreasemonkeyでできるよ」「それRubyOnRailsでできるよ」と同じ位相の指摘であって、何だかんだ言ってある程度はソースが読み書きできるのが前提(RonRは「ソースを一行も書かなくても〜」とか言うけど)になっています。普通の人が考える「ボタンを押すだけでできて便利」という便利感とは違うのです。普通の人から見たときに、ドラえもんが道具を出してくれるのではなくて、キテレツが自分で道具を発明する方が実態に近いと思います。


「それPla」は、最速の人の「まだカトゆー見てるの?」という煽りにちょっと似ているかもしれない。RSSが普及した現在でも、まだまだ大手ニュースサイトはマジョリティの需要があるわけです。また、自作PCの方が圧倒的に自由度が高くてしかも安上がりになりますが、ほとんどの人は有名メーカーのPCを買うでしょう。それは色々な保証とかサポートも含めて買うわけですよね。

開拓的開発法

「暇だから作る」というのでは良いモノは作れないとDisっておきたい。

「それでメシを食う、金を稼ぐ」システム開発を目指すべきなんじゃないだろうか。


私は逆に、Plaggerが既に良いモノになりつつあるのは、「暇さえあれば作る」という姿勢だと思うんですね(決して作ってる人が暇なわけではない)。「良いモノ」の「良さ」にも色々あって、定番ソフトで高機能な良さと、前例のない開拓的な良さがあって、後者の開発にとっては、制約のないところで余剰エネルギーを使うのが正解のような気がします。それに「金を稼ぐシステム開発」になると、ある程度きちんとパッケージングしないといけないけど、有能な開発者たちが、GUIの構築とかドキュメント整備とかその他保守的なものに手間を取られると、先端を行く尖ったソフトにならないでしょう。ただし、インストーラやGUIをパッケージした初心者向けライトバージョンが今後出てくることはあるかもしれません。*2


その流れで、そもそも開発者が(有志も)無料で開発してくれていることを考えれば、初心者放置は仕様がないんだけど、ただ、文脈が分からないまま「それPla」「それPla」言われて、とにかく便利だという雰囲気だけが先行している気がします。Plaggerは凄く画期的で素晴らしいと思うけど、それと誰でもすぐ使えるというのは別だと思うんですね。私自身が暗中模索の途中でよく分かってないまま書いているので、Plagger中上級者から見ると色々ツッコミどころがあると思いますが、認識の齟齬から発生したモヤモヤした不透明な空気が気になるので、前回と今回の文章を書いた次第です。

*1:YAMLについては、一部Perlと互換性のある記述があるとはいえ、基本的にプログラム言語ではなく論理構造定義文書であって、ConfigLoaderが読んで取って来る設定データに過ぎず、この言い方もちょっと間違っていると思うけど、そういう内部構造の話とか用語の補足ばかり先に読まされても困ると思うので、全部省略します

*2:とりあえず自分が使うこと以上に手が回らないので全く調べてないけど、もう既にPARなんかでEXE化して配布できるのかもしれない。その場合「便利ツール」としても使えることになる。でも今のところ見かけないし、それをブラックボックスのままで使う気もあまりしない