2005昨日に続き、「ハッカーと画家」から。「もうひとつの未来への道」も示唆に富む。同じ文章がこちらでも読める。Ahead」ユーザはなぜWebベースのソフトウェアを選ぶのか?「多くの人は、ほとんどの場合、一番手間のかからない方法を選ぶ。Webベースのソフトウェアが勝つとすれば、それが便利だからに他ならないはずだ。ユーザにとっても開発者にとっても。「純粋なWebベースのアプリケーションを使うのに必要なのは、インターネットに接続されたブラウザだけだ。従って、Webベースアプリケーションはどこでも使うことができる。デスクトップコンピュータにソフトウェアをインストールした場合は、そのコンピュータでしかソフトウェアを使うことができない。悪いことに、使うファイルはそのコンピュータに閉じ込められてしまう。人々がネットワークを使うようになるにつれ、このモデルの不便さはよりはっきりしてくる。」クライアントサイドでアプリケーションを動作させることは、ユーザに不便を強いる。クライアントのコンピュータを適切に扱う技術的な知識を必要とし、多くの場合メンテナンスも必要とされる。冷蔵庫のような家電くらいに無頓着に使えるわけではない。クライアントサイドでアプリケーションを動作させるということは、データもクライアントへ保存することになる。ネットワークの発達した時代に、自分のデータが移動中に使えないという不便は大きなストレスになるだろう。Webベースのソフトウェアは小さいプログラムの集合から成る「開発者にとって、Webベースとデスクトップソフトウェアとの最も顕著な違いは、Webベースアプリケーションはひとつのコードの塊ではないということだ。Webベースアプリケーションは単一の大きなバイナリではなく、むしろ違ったタイプのプログラムの集合になるだろう。「Webベースアプリケーションはひとつのバイナリではなくプログラムの集合であるということは、それをいくつもの異なる言語で書くことができるということでもある。「サーバベースのソフトウェアでは、あなたにこの言語を使えと指示する人はいない。あなたがハードウェアに至るまで全てのシステムを制御しているからだ。異なる仕事に向いた、異なる言語がある。それぞれの仕事にいちばん向いた言語を使えばいい。」サーバサイドで動作するということは、使われる環境へのアプリケーション側での対応がいらないということ。ユーザに関わるのはWebブラウザを通して見たその画面だけなので、他の部分では大いに自由度が広がる。ハードウェア価格の下落で、優秀なハッカーと良いソフトウェアはWebベースへシフトする「メインフレームの時代、アプリケーションは全てサーバベースだった。「どうしてデスクトップコンピュータが台頭したんだろう。私の考えは、デスクトップの方により良いソフトウェアがあったからだ。マイクロコンピュータのソフトウェアの方が良かった理由は、小さな会社がそれを書くことが可能だったからだ。「デスクトップコンピュータの到来は多くの新しいソフトウェアを生み出した。幼生期のベンチャーにとって、それ用のソフトを書くことは到達可能なゴールに見えたからだ。開発は安価で、顧客はコンピュータショップや手紙での注文をしてくるような個人だった。「とすれば、現代においては、サーバベースソフトウェアが有利になるように思える。ベンチャーがそれを書くだろうから。コンピュータの価格がこれだけ下がったため、我々がやったように、誰もがデスクトップコンピュータをサーバとして使って始めることができる。Webサイトひとつだ。安く簡単にソフトウェアを作り、ユーザへと届けられる環境というのが変化したわけだ。個人レベルでソフトウェアのデザインを楽しむことができるとなれば、優秀なハッカーはその世界へ集まってくる。自然と良いソフトウェアはそこに多く生まれてくる。すると、その良いソフトウェアを求めてユーザの移動も起こるのである。その一番ハッカーに魅力的な世界が、現代ではWebなのだ。「Webベースソフトウェアは、特にデスクトップソフトウェアに比べ、良く売れるだろう。買うのが簡単だからだ。買いやすいようになっていれば、より売れる。(それ以上の作業をさせるなら、覚悟しておくこと)。」Webで提供されるサービスにとって、入り口の簡潔さは非常に重要だ。手間が少なければ少ない方が望ましい。ユーザが気に入るソフトウェアを作るためには?「ユーザが気に入るものという点に関しては、いくつか一般的なヒントがある。自分でも使いたいと思うような、明快で簡単なものから作り始めることだ。バージョン1.0を素早く出して、それからユーザの声をよく聞きながらそれを改良してゆく。顧客は常に正しいっていうのは本当だけれど、それぞれの顧客は別々の点に関して正しいんだ。入門レベルのユーザは、どこを簡単で明快にすべきかを教えてくれる。進んだレベルのユーザは、どういう機能を足したら良いかを教えてくれる。最良のソフトウェアは、簡単であるものだが、それはデフォルト設定がそうなっているためで、ユーザが望めばその選択に限界があってはならない。ライバルのソフトウェアが駄目だからって悦に入っててはいけない。あなたのソフトウェアが比較すべきは、ライバルのソフトウェアの現状ではなく、あなたのソフトウェアのあるべき姿だ。自分で作ったソフトウェアを常に自分で使うこと。Viawebはオンラインストアビルダーだったけれど、我々は自分のサイトもそれで作っていた。マーケティングとかデザイナーとかプロダクトマネージャだとかいう人達の意見を、単にそういう人達がそういう肩書を持っているからというだけで鵜呑みにしないこと。彼らが良いアイディアを出してくれたら使えばいいけれど、それはあくまであなたの判断だ。ソフトウェアはデザインを知っているハッカーによってデザインされるべきで、ソフトウェアのことをほとんど知らないデザイナーによってデザインされるべきではない。あなたがソフトウェアの実装はできるがデザインはできないというのなら、ベンチャーを立ち上げるのはあきらめた方がいい。」まずは作って公開すること。そこにユーザからのフィードバックを反映させていく。シンプルなソフトウェアを提供し、ユーザが望んだときには柔軟な拡張もできることが大事。ソフトウェアはあるべき姿へ向かってデザインされること。なんでも要望を採り入れるということではない。(Rubyのまつもとゆきひろ氏の姿勢はまさにこれ。意見を集めることに関して真摯でオープンだけれど、妥協がない。)このBlogのトップへ│前の記事│次の記事この記事へのトラックバック満足せる豚。Grahamの「ハッカーと画家」を読んでみた。00:17このページの上へ。