39-最初が肝心

プログラマが知るべき97のこと」の38個目のエピソードは、ソフトウェアのユーザビリティに関する話です。受託開発で開発されたソフトウェアの場合、通常はそのソフトウェアが唯一であり、他のソフトウェアとの比較をされることはありません。しかし、オープンソースソフトウェアやパッケージ販売をしているようなソフトウェアは、自然と競合製品との比較をされることになります。当然の事ですが、費用対効果は重要です。同じ要求を満たすソフトウェアが複数あるならば、使いやすく価格の安いソフトウェアを選択します。理想は安くて使いやすいソフトウェアですが、使いやすくするためにはコストがかかるので両立は難しいのが現実です。ユーザは、妥協点を見つけることになりますが、「安物買いの銭失い」という言葉にあるように、安くて使いにくいソフトウェアを使うと、作業効率があがらない事は良くあります。したがって、少々値段が高くとも使いやすいソフトウェアを選択するでしょう。
ユーザは使いやすいソフトウェアを求めます。それは「最初が肝心」という事です。
ソフトウェアは簡単に試すことが出来る必要があります。ダウンロード時にユーザ情報が必要なソフトウェアは多くありますが、本当に必要とするソフトウェアでなければ面倒でリスクもあるユーザ情報の入力は嫌がるでしょう。メールアドレス程度ならば良いですが、本名や住所まで入力するのは評価時点でしたくありません。
体験版が利用できることも重要です。購入したものの、使いにくくて使わなくなったソフトウェアは幾らでもあるでしょう。恐らくは同じ開発ベンダの作ったソフトウェアは同じように使いにくいと思われ、購入は避けることになります。
チュートリアルも重要な要素です。晴れて「試して」もらうことができたならば、クイックスタートやチュートリアルを探すでしょう。クイックスタートでは導入から一連の流れを体験させる事ができます。自分もそうですが、最初からドキュメント類に目を通すことはありません。そのソフトウェアを導入しても最初の内はクイックスタートやチュートリアルを参照する事が多いと思います。クイックスタートが十分に理解できた頃にはそのソフトウェアを使う決断をしているはずです。その段階になると充実したドキュメントが重要になるでしょう。
GUIも重要な要素です。ユーザビリティの高いGUIアプリケーションはドキュメントを参照しなくともやりたいことが見つかります。IDEのような統合環境では難しいかもしれませんが、ある問題領域を解決するためのソフトウェアであればマニュアルが不要であるべきです。これはコードに必要以上のコメントを書かない事と通じるでしょう。
昨年にリリースしたEtupirkaCMSは、これらのことを考慮したリリースをしました。トレードオフとしてリリースが遅れたのですが、無名でレッドオーシャンCMS市場ということでユーザビリティを高める事を選択したのです。一部の人から「やりすぎw」と言われたように、ランチャーアプリケーションはこだわりの産物です。GAEを開発で使っている人であれば、Eclipseで十分なのですが、一般的なユーザにとってEclipseは敷居が高すぎます。GAEのSDKのインストールや設定についても面倒と思うでしょう。なので、「zipをダウンロードしてexeを叩けば直ぐに試すことができる*1」という形式にしました。内部的にはランチャーアプリから別プロセスでDevServerを起動したり、デプロイコマンドを実行したりしているのです。さらに、クイックスタートも用意し導入の敷居をさげています。勿論、ダウンロードして試すのにユーザ登録なども不要です。
開発したソフトウェアがどれだけ高機能であっても、使われないソフトウェアはハードディスクのこやしかそれ以下の存在*2です。最近、プログラママーケティングを学ぶべきという趣旨のエントリーが幾つありましたが、私も同じ考えです。マーケティングが不十分であればユーザに試用すらして貰えません。そして、最初の使用感がイマイチであったならば、掴んだ顧客をみすみす逃すことになります。一方で使いやすいという声はすぐに広まっていく時代です。
「最初が肝心」。きのこ本の中でも最も共感したエピソードの1つです。

プログラマが知るべき97のこと

プログラマが知るべき97のこと

*1:Javaのインストールだけは必要

*2:インストールすらされない