使いやすいWebアプリをつくるために
Webアプリを開発するときに,気をつけていることがある.
それは,ユーザにとって,私が開発したアプリが使いやすいかどうか?っていうこと.
もちろん,高機能であるとか,セキュリティがしっかしりてるとか,レスポンスが早いとか,サーバに負担をかけないかとかも大事.決しておろそかにして言い筈は無い.
でもね,作った物の価値ってのは,使ってもらってナンボだと思うんですよ.いくら機能が優れてようが,いくらレスポンスが早かろうが,ユーザに使ってもらえないものって,価値が無いんじゃないかな,と.
じゃぁ,どうすれば,使いやすいWebアプリを作れるかって言うことなんだけど,「概念モデルの提供」って言葉を良く耳にする.コレは何だろう?
概念モデルとは
概念モデルとは,現実世界に存在するさまざまな概念のうち,対象となるシステムに関連のある範囲を取り出して,システムでどのように扱うべきかを表現するもの,のことらしい.
たとえば,天気の例で考えると, 当然のことながら天気は毎日変わる.晴れたり,雨が降ったり,曇ったり.だけど,これら(晴れとか,雨とか,曇とか)はランダムに変わるわけではなくて,ある程度予測することが可能になってる.気圧だとか,風だとか,雲などの情報を概念モデルにあてはめて,天気がどうなるかを考えることでね.
こんな感じで,概念モデルがあれば,自分の行為の結果を予測することが可能になります.たとえばWebページの場合,リンクの上でマウスの左ボタンをクリックすれば次のページにジャンプすることができるし,縦長のページでマウスのスクロールを回せばページがスクロールする.
でも,概念モデルがない場合は,ページ内でどこをどう操作すれば次のページにジャンプすることができるのかわかりませんし,どうすればページの下の方を見ることができるのかもわからない.だから,ページ内でマウスをやみくもに操作しなくてはならなくなります.ってことは,自分の行動の結果,何が起こるのか分からないし,何か問題が生じたときにどうしたらいいのかもわかりません.
たとえば,Webサイトを作る場合,何か新しい面白い機能を考え付くときがあります.新しい機能を実際にユーザに提供する時,果たしてユーザは使いかたを理解して,使いこなすことができるでしょうか?これは,開発者がユーザに対して「概念モデルを提供できているか」にかかっている.
概念モデルを提供すればいいだけじゃない
でも,ただ単純に概念モデルを提供すればいいわけではなくて,ユーザが理解しやすい概念モデルを提供しなければ意味が無い.実際問題,開発者が持つ概念モデルと,ユーザが持つ概念モデルが異なる場合ってのは,少なくないはず.
なんでかっていうと,開発者は最初に概念モデルを持ったうえで開発を行うんだけど,ユーザはシステムとインタラクションを行うことによって概念モデルを形成します.たとえば,最初にあげた天気の例だと,人間は「気圧がこういう配置の場合,雲はこう動く」「雲があると雨が降る」といったことを長い時間かけて概念モデルとして形成し,それによって天気予報を行います.
こんな感じで,ユーザはシステムとインタラクションを取ることによって概念モデルを形成するんだけど,1つのシステムに対する概念モデルは1種類しか存在しないわけではなく,ユーザの数だけ存在することがある.だから,開発者がイメージする概念モデルと同じ概念モデルをユーザもイメージ出来ることを目指さなければいけません.ユーザは開発者と直接対話する機会なんて,滅多に無いのですから.
じゃぁ,どうすれば良い概念モデルを提供できるのか?については,記事が長くなったので, そのうち書きます.笑
コメントをどうぞ。
TrackBack URI :