たまりんが既に死んでいて(死んではないけど…)時代に取り残され度を実感する日々である

プログラムカウンタがexeにもdllにも入っていないのを見て、FirefoxでもJavaScriptJITがとうの昔に入っているというのを知る。
なんかAdobeが提供したというあたりまでは知ってたんだが、とっくにリリースされて使われてるのを知らなかった。


もはや時代に乗り遅れすぎてる感があるのだが、ざっと見てまわる。まとめて見るのはこれがわかりやすいか。
http://journal.mycom.co.jp/news/2010/03/10/038/index.html
2種類のJITエンジンを載せるというのは世の中の複雑さを感じさせるね…

(時代に乗り遅れるメリットとして、「あとで勉強したほうがよくまとまった情報が出てきてるので時間の節約になる」というのがあると思う。節約した時間で何をやってるかが重要だが。僕はこの二年間何してたっけ…)


ここで、気になるのは、JavaScriptの実行時間の差がどの程度体感に影響してるかなんだが、どうなんだろうね。

今タスクマネージャを起動してCPU時間見ながらたまりんたまらんねとか言ってたのだが、あんまりCPUがボトルネックになっているという感じじゃないんだよな。ネットワークのほうが問題にしか見えない。まあ、モバイルポイントでやってるので、光とかだと変わるんかもしれんが。いや、でも、レイテンシてそんな変わらんような。まあ、ネット中毒世代の間ではネットワークのレイテンシが我慢できなくて、サーバの近くまで移動するというのが流行っていないらしいが、まあ、そいうのがあったとして、そういうのまでやれば、JavaScriptがネックに…いや、ネットワークが無くなっても、レンダリングとかレイアウトとかのと比べて、JavaScriptがネックになるんか?という感じで。
(まあ、未来まで見据えると、JavaScriptマシン語並に速くなればWebアプリ屋のアイデアを解放するとかありそうだが)


さて、このように考えたときに、ボトルネックマニアとしては、「ユーザがイラってした時に、何がネックなのか知りたい」という思いが生じてくる。

このボトルネックは、UIのデザインから、ネットワークレイテンシ、命令数など全てを含めたトータルなボトルネックを意味する。単にどのループがボトルネックとかいうのではない。


これを実現する方法を考えよう。

  • デスクトップに「イラッ」ボタンを置く
  • ユーザが「イラッ」ってしたらそのボタンを押す
  • ボタンが押されたら、押された時のスレッドの止まってる位置のスナップショットを取る

と、いうようにする。で、この情報を集める。マイクロソフトが。そうすると、マイクロソフト的には、「ご協力ありがとうございました。情報は安全に送信されます。続けるにはOKを、中断するにはキャンセルをクリックしてください」というダイアログが出ることになって、「このダイアログが一番イラっとするんですが…」。とのコメントをいただくことになる。


「イラっ」ボタンではなくて、「プチプチボタン」みたいなのでもいいかもしれない。クリックすると何かがプチプチする。で、ユーザーがどうする時にプチプチするかを見て、そのイライラ感を知る、みたいなの。
プチプチする対象を変えることで精神状態を見ることができるかもしれない。梱包材だと、平凡な思考の持ち主だとか、蟻だと、日々働くだけの自分に嫌気が指してるとか、まあ、ボトルネックとは関係無い。



ユーザがイラっとするのはどういう時だろうか。まずはイラってしない状況を考える。
まずはコンピュータが入力を待っている状態。例えばコンピュータが"login: "と出しているときにイラっとすることはあるだろうか。まあ、ログインIDを忘れてるとクソっていう気分にはなるが、そこでコンピュータが悪いという人はいるまい。

これは、実際には入力を待っている必要はなくて、実際に入力が行われる直前までは、単にlogin:と出ているだけでよい。Apple製品の中にはこの点を利用して、起動時にはビットマップを表示するみたいなセコいことをやっているものがある。
よーするに、重要なことは、「コンピュータはあなたの入力を待っています。」という意思表示をすれば大丈夫。逆に言うと、コンピュータが入力可能だという意思表示をしない状態がイラっとする状態だということがわかる。

と、いうことが、わかったが、まあ、そういうのは個々のアプリケーションの話になっていくので、あまり僕が考察する余地が無いのだった。


何が言いたいかというと、イラっとしないために、CPUやら末端プログラムベンチマークの高速化ができることは何だろうか?という話である。マイクロソフト的に言うと、「ユーザーエクスペリエンスを向上させるにはどうすればよいか」という話であって、「ユーザーエクスペリエンスっていう表現がイラっとするんですが…」という話だ。


真のボトルネックを見つけないといけない。イラっとするときのアプリケーションのボトルネックこそが真のボトルネックであって、それ以外は未来のデザイナのアイデアを解放する以上のものではない。しかし、それを発見する方法が無くて、そもそも今僕はAtomのマシン使っているのだが、まあ、これでもあんまりCPUネックだと感じることが無くて、世の中の大半のCPUがこれより速いということを考えると、まあ、つまり、僕が一番詰んでいる点は何かと聞かれたらCPUが速くて困ってるんですというところである。

もしも相撲協会代表のドラッカーが高校野球の四番でエースだったら

なんかの仕事の打ち上げで、我々も萌えるぎじゅちゅしょを書くべきではないかといけないという話になった。個人的には、「萌えるなんたら〜」みたいにふざけた表紙だが内容は真面目みたいな一回ひねくれた程度はもう使い古されたと思っているので、「ふざけた表紙で真面目なぎじちゅしょっぽいがしかし内容はひどい」みたいな二回ひねりが欲しいところだ。

それはいいとして、仕事の打ち上げでそういう話題が出る程度に、もしドラ…もしもドラえもんもしもボックスでもしも高校野球のマネージャーがドラッカーを読んだらと言ったら…が社会に与えた影響はでかい。どこの本屋でもビジネス書ランキング1位の本として平積みされている。
その影響というと、多くの人が「もしも女子高生がなんたら〜…」という二番煎じネタを考えてしまうぐらいで、「もしも女子高生マネージャーが、ワールドカップ日本代表の監督だったら」という本が出版されそうというぐらいである。
「岡田!貴様はクビだ!!!」「な!急に…」「今日からは岡田に変わって彼女に監督をやってもらうことになった…」「フフ…岡田サン…あなたの出番はこれまでですわ…」
俺の中の女子高生像が疑われる瞬間である。あと、「もしも女子高生が…」というのはタイトルとして間違っているので、みなさん妄想する時は注意しよう。

話をもとに戻そう…あれ…戻るところが無いが…


何が言いたいのかというと、女子高生は素晴らしいという話…ではなくて、ドラッカーを読んではいけないという話である。
僕はこれを実践していて、ドラッカーは一冊も読んだことが無い。もしオラも読んでない。

何故読んではいけないのか、ここには、読む必要が無い/読んではいけない、という二点の理由がある。

まず、読む必要が無いという点について。これは簡単だ。ドラッカーの本は日本でもよく売れている。しかし、日本でイノベーションはよく起こっているだろうか?これはつまり、ドラッカーを読んでもイノベーションは起こせないということである。


ドラッカーの発言が示唆にトんでるように見える理由は、抽象的な問題に対して抽象的な回答を与えているからである。
抽象的な問題設定をすることで、あらゆる問題をカバーできる普遍的な問題に対する姿勢を見せ、それに対して抽象的な回答を与えることで、あらゆる問題に対応できるかのような気分にさせる、という仕組みである。

No!No!No!そんなものは全く何の役にも立たない。実際の問題というのは、問題になるとは思えなかったあまりに下らないところで発生するものが9割であり、残りの1割は、複数の人の利益が相反するときに発生するのである。解決すれば皆が幸せになる普遍的な問題に対する回答なんて必要無い。そんなものは本なんて読まなくても経験上、皆が知っているはずだ。


ドラッカーを読む必要が無いのは、あんなものは役に立たないからだ。普遍的な問題に対する回答なんてものは必要無いし、それが役に立たないということは、ドラッカーの本が日本で売れているにも関わらず、日本でイノベーションが起こらないということがそれを実証している。



次に、ドラッカーを読んではいけない理由。それは、あの本が、「役に立ってしまう」と勘違いしてしまう点にある。
ドラッカーの提案する問題は、普遍的であるために、「ああ…それ、俺も考えてたわ…」と、本人に思わせる魔力がある。さらに、その問題に対するドラッカーの回答も同じく普遍的であるために、「ああ…それ俺も考えてたわ…」と、思わせる。この相互作用により、「俺は偉大なドラッカーと同じ考えを持っていて、それの本質を理解できる優秀な人間なんだ…俺にはイノベーションを起こせるんだ」と、思わせる。

No!No!No!間違いだ。普遍的な問題とそれに対する回答は、社会に10年も生きているならば、全員がたどり付いている。すなわち、「社会の全員が偉大な目標を目指すべきである。そして目標を目指すときは、既存の考えにとらわれることなく、しかし、温故知新を忘れることなく、日々研鑽を忘れてはいけない」ということだ。ほら、僕にだって、10秒もあれば書ける。


イノベーションを起こすのに必要なのは、普遍的な問題に関する知識では無い。一見どうでもいいような、しかし、皆が心の奥底でほんの少しだけ期待している、みたいなポイントを探す能力だ。(あとイノベーションを起こせないなら俺は死ぬみたいな覚悟とか)

一見どうでもいいような点について考えるひねくれた精神と、多くの人が期待しているものについて考える一般人の精神という相反する精神を同居させる必要がある。

一般人と同じ感性になってはいけない。例えば、売れている本を読んで自分だけは特別だという感想を抱いてしまうような。
しかしだからと言って、ひねくれた精神だけを持っていてもよくない。例えば、ドラッカーの本を一冊も読んだことがないのに、ドラッカーについてブログエントリを書いたりするような。


世の中の実際の問題は、普遍的な問題ではない。大半の問題はどうでもいいとしか思えなかったところから発生し、残りの問題は皆が社会を良くしようとした結果、発生する。
普遍的な問題への対応は、どうでもいい問題を片付けたあとだ。しかし、どうでもいい問題はいつでも発生しており、結果、普遍的な問題へ対応している時間など無い。


そして、これは、自分が本を書く側に回るときに対する姿勢への示唆にもなる。すなわち、「特定の普遍的な問題を一個だけ取り上げて、それに対する回答を書く」のである。世の中一個の問題に対応するだけなら、大抵の問題は理想的な回答を与えられるものである。個人的にはこれは勝間メソッドと読んでいる。まあ、もちろん勝間本も一冊も読まないで適当なことを書いてるが。



本題に入ろう。もしも相撲協会代表のドラッカー高校野球の四番でエースでマネージャーだったらどうしようか、という話だった。まあ、そういう日は来ないので特に考えない。