三井 英樹@日刊デジタルクリエイターズ

 HTML型のWebアプリケーションのページ遷移では,基本的にはすべてのデータ処理をサーバーに任せるのが一般的でしょう。JavaScriptなどを用いて,ある程度クライアント(ユーザーのブラウザ上)でデータ処理をすることも可能ですが,主流はサーバーに完全に任せるスタイルだと思います。


HTML型のページ構成

 これは上図が示すように,データ入力画面があり,入力が済んだタイミングでそのデータをサーバーに送り,サーバーはそのデータに合わせて,次のデータ入力画面をサーブ(配信)する,ということになります。

 この方式は,メインフレーム的な「画面」の考え方に非常に似ています。入力されて送られてくるデータのセットと処理とが一対一対応になっているぶんだけ,処理フローも単純なもので済みました。なによりも,慣れ親しんでいるという点が広まった理由のようにも思います。

 こういった方式が普及してくると,データベース(DB)内のテーブルの全フィールドに対応する入力欄を自動で生成するツールや機能が流行しだしました。開発者が行うことは,テーブル設計をキチンとやって,あとはどれにhidden属性を付けるかを決め,radioBoxやpulldownMenuといったユーザー・インタフェース(UI)部品を選ぶくらい。それだけで,Webアプリケーション開発が終了するというものです(見栄えを気にするなら,それをベースに手を加えればよいという開発方式です)。


DBから画面を自動生成するツールのイメージ

 この機能は,プロのWebデザイナーが用いるHTMLエディタに多く搭載されました。しかし,それが有効に機能したという話はあまり聞きませんでした。そして,ツールの次バージョンから削除されたり,搭載されていてもあまり宣伝されない機能の代表になっていきました。

DBの都合だけでユーザー・インタフェースは作れないという教訓


非常に理にかなった構造だが…

 どうして,画面を自動生成する機能が廃れたのでしょうか。今考えても,試作開発という意味では非常に有効な機能だと思えます。しかし,二つの点で現実に即さなかったのだと,私は理解しています。

 一つ目は,WebデザイナがDB設計を行う,あるいは理解するという前提。そして,DBやサーバーにとって最適な処理というものが,人間(ユーザー)にとって最適ではなかった点です。

 このツールの機能が流行した当時,DB設計からHTML生成,そしてデータ入力の実演まで,わずか20分程度のデモで行われました。こういったデモを見た多くのWebデザイナーが,社員管理などの定形型のアプリケーション開発に多用されると思い,DBの勉強を始めました。しかし,出来上がったシステムは使いにくかったのです。

 それはある意味,当たり前でした。最初からユーザーのことは考えずに(自動で生成されるのですから考えようもありません),DBのことだけを考えて開発されているのですから――。

 これは,ユーザー・インタフェースを副次的(ユーザーのことを考えずに安易)に開発することは無意味であり,DBのパフォーマンスをチューニングするように「ユーザー・インタフェースも人間が最高のパフォーマンスを出せるように設計しないと意味がない」という教訓でした。

 それでも残念ながら,この教訓はこの機能が廃れていくのと同じように,忘れられていったように思います。

RIA型のシステムでも同じ教訓が生きる

 しかし,もう一度この教訓に触れる機会が来ました。RIA(Rich Internet Application)型システムを構築する際に,開発効率だけに集中して,従来のHTML画面を単純にswfファイル(Flash)に置き換えるような開発がよく見られたのです。


Flash型でも同じか?

 問題はすぐに出ました。画面のリフレッシュがスムーズに行かないのです。作りこまれたswfファイルは,通常のHTMLファイルよりもサイズが大きくなりがちです。毎回独立したswfファイルを送りつけていたのでは,操作するユーザーにストレスが溜まるのは火を見るより明らかでした。この場合も,使う人間ではなく,開発する側の立場が優先されていたのです。

 そして,使い勝手の良さについての考察が始まりました。例えばFlashでは,1画面(view)を出すのに様々な方法があります。親のswfファイルが子のswfファイルを呼び込んだり,XMLやWebサービスでデータを渡してそれを決まったパターンで描画したり,クッキー的な機能を使って前回の状態に応じて何かを変化させたり機能などです。


Flash型のView構成

 最近では,画面を操作する人間のストレスをなくし,操作性を向上するために様々な技術的工夫を凝らす開発が少しずつ広がっているように感じます。それは,とりもなおさず「システム」が「人間(ユーザー)」を含めて最適化していかないといけないという認識の広がりの現われなのではないでしょうか。


ユーザビリティが全体のボトルネックになってはならない

三井 英樹(みつい ひでき)
1963年大阪生まれ。日本DEC,日本総合研究所,野村総合研究所,などを経て,現在ビジネス・アーキテクツ所属。Webサイト構築の現場に必要な技術的人的問題点の解決と,エンジニアとデザイナの共存補完関係がテーマ。開発者の品格がサイトに現れると信じ精進中。 WebサイトをXMLで視覚化する「Ridual」や,RIAコンソーシアム日刊デジタルクリエイターズ等で活動中。Webサイトとして,深く大きくかかわったのは,Visaモール(Phase1)とJAL(Flash版:簡単窓口モード/クイックモード)など。