全体として揺らいでいるから、微細な部分での揺らぎも許せる。
揺らぎをひとたび許さないとなると、もうそこには揺らぎの入る余地が無くなる。
ソフトウェアの揺らぎを考えてみる。
自分の意図に対する、ソフトウェアの反応は、意外と揺らいでいるものである。
たとえば、値を1000通り取りうるパラメータがあったとして、その中のひとつを決めようとした場合を考える。
よっぽどカンの優れた人か、内部的な動作を熟知している人以外は、「トライアンドエラー」で自分の理想に当てはまる値を的を絞っていく。
その過程で自分の理想とは異なるが、また違った価値観が生まれることがある。これは、自分の予想に反して、良い結果をソフトウェアが提示してきたということになる。良い結果が得られることは喜ばしいことだが、使用者が完全に意図して生み出した結果ではない。
ツールは使用者の意図を実現するためのものであるべきだが、その意図を100%満たしてくれるツールは存在しないだろう。
人間の手や足も脳と直結したツールと考えてみると、僕はカールルイスのように速くは走れないし、何か細かい手仕事をすると小指が立ってしまう(自分の意思に反して)。また逆に、自分にもこんなことができるのかと、思い知らされることがある。
100%に近づけようとはするのだが、その結果は全く駄目だったり、とてつもなく良かったりと、大きな揺らぎが生じる。
こういったツールは、人間と接続された揺らぎ増幅器である。
僕が思う良いツールとは、二種類ある。
「理想を誤差なく実現してくれるもの」
そして、
「揺らぎを許容してくれるもの」
である。
結果が良いものとも悪いものとも出るかもしれないが、ときに、揺らぎは増幅されすさまじい結果を生み出すことがある。
そのときがくるのをじっと待ち続け、許容してくれるツールこそ、良いツールだと、僕は思う。
ソフトウェアの動作そのものに揺らぎはない。
しかし、人間の揺らぎを許容することはできなければならない。