ユーザインタフェース設計支援装置、ユーザインタフェース設計支援方法、およびユーザインタフェース設計支援プログラム
【課題】ユーザインタフェースを設計する上で必要な情報を可視化し、設計者のユーザインタフェース設計を支援する。
【解決手段】ユーザインタフェース設計支援装置1であって、複数の情報が設定された機能情報2を解析し、機能毎に当該機能の属性を示す機能情報と関連する機能を示す機能関連情報とを生成し、記憶手段12に記憶する解析手段11と、機能情報および機能関連情報を用いて各機能間の距離を算出し、算出した距離を用いて全ての機能の位置を算出する演算手段13と、各位置に対応する機能を配置し、関連する機能を当該機能同士を結ぶ線で示した可視化結果を出力する出力手段14とを備える。
【解決手段】ユーザインタフェース設計支援装置1であって、複数の情報が設定された機能情報2を解析し、機能毎に当該機能の属性を示す機能情報と関連する機能を示す機能関連情報とを生成し、記憶手段12に記憶する解析手段11と、機能情報および機能関連情報を用いて各機能間の距離を算出し、算出した距離を用いて全ての機能の位置を算出する演算手段13と、各位置に対応する機能を配置し、関連する機能を当該機能同士を結ぶ線で示した可視化結果を出力する出力手段14とを備える。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ユーザインタフェースの設計を支援するユーザインタフェース設計支援装置、ユーザインタフェース設計支援方法、およびユーザインタフェース設計支援プログラムに関する。
【背景技術】
【0002】
コンピュータを用いてユーザインタフェースの設計を支援する方法として、特許文献1には、ユーザインタフェース設計に必要な部品と、システムに必要な操作を記述したデータとを組み合わせて、自動的にユーザインタフェース設計を行うユーザインタフェース自動生成方法が記載されている。
【0003】
また、非特許文献1には、マグネティック・スプリング・モデルによるグラフ描画法が記載されている。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2003-140893号公報
【非特許文献】
【0005】
【非特許文献1】「マグネティック・スプリング・モデルによるグラフ描画法について」,情報処理学会研究報告. HI, ヒューマンインタフェース研究会報告 94(60), 17-24, 1994-07-14,三末 和男, 杉山 公造
【発明の概要】
【発明が解決しようとする課題】
【0006】
特許文献1を用いることによって、ユーザインタフェースが自動生成される。しかし、特許文献1では、あくまでもシステムを操作可能なユーザインタフェースが生成されるだけであって、必ずしも利用者の使い方に基づいたユーザインタフェースとはならない。
【0007】
また、非特許文献1のような手法を用いることで、情報の可視化が可能となるが、それだけではユーザが使いやすいユーザインタフェースは設計できない。
【0008】
したがって、ユーザインタフェースが適切に設計できるかどうかは、設計者のノウハウに大きく依存し、熟練した設計者でなければユーザが使いやすいユーザインタフェースを設定することは難しい。
【0009】
本発明は、上記事情に鑑みてなされたものであり、本発明の目的は、ユーザインタフェースを設計する上で必要な情報を可視化し、設計者のユーザインタフェース設計を支援するユーザインタフェース設計支援装置、ユーザインタフェース設計支援方法、およびユーザインタフェース設計支援プログラムを提供することにある。
【課題を解決するための手段】
【0010】
上記目的を達成するため、本発明は、ユーザインタフェースの設計を支援するユーザインタフェース設計支援装置であって、ユーザインタフェースの複数の機能に関する情報が設定された機能情報を解析し、各機能毎に、当該機能の属性を示す機能情報と、当該機能に関連する機能を示す機能関連情報とを生成し、記憶手段に記憶する解析手段と、前記記憶手段に記憶された機能情報および機能関連情報を用いて、各機能間の距離を算出し、算出した距離を用いて全ての機能の位置を算出する演算手段と、前記演算手段が算出した各位置に対応する機能を配置し、関連する機能を当該機能同士を結ぶ線で示した、各機能の可視化結果を出力する出力手段と、を備え、前記出力手段は、関連する機能同士を結ぶ線の長さを用いて関連の強さを表すとともに、同じグループに属する機能群を含む領域を前記可視化結果に表示する。
【0011】
本発明は、コンピュータが行う、ユーザインタフェースの設計を支援するユーザインタフェース設計支援方法であって、前記コンピュータは、ユーザインタフェースの複数の機能に関する情報が設定された機能情報を解析し、各機能毎に、当該機能の属性を示す機能情報と、当該機能に関連する機能を示す機能関連情報とを生成し、記憶部に記憶する解析ステップと、前記記憶部に記憶された機能情報および機能関連情報を用いて、各機能間の距離を算出し、算出した距離を用いて全ての機能の位置を算出する演算ステップと、前記演算ステップで算出した各位置に対応する機能を配置し、関連する機能を当該機能同士を結ぶ線で示した、各機能の可視化結果を出力する出力ステップと、を行い、前記出力ステップは、関連する機能同士を結ぶ線の長さを用いて関連の強さを表すとともに、同じグループに属する機能群を含む領域を前記可視化結果に表示する。
【0012】
本発明は、前記ユーザインタフェース設計支援装置としてコンピュータを機能させるためのユーザインタフェース設計支援プログラムである。
【発明の効果】
【0013】
本発明によれば、ユーザインタフェースを設計する上で必要な情報を可視化し、設計者のユーザインタフェース設計を支援するユーザインタフェース設計支援装置、ユーザインタフェース設計支援方法、およびユーザインタフェース設計支援プログラムを提供することができる。
【図面の簡単な説明】
【0014】
【図1】本発明の実施形態に係るユーザインタフェース設計支援装置の構成図である。
【図2】機能情報の一例を示す図である。
【図3】表示属性を含む機能情報の一例を示す図である。
【図4】属性情報解析部の動作を示すフローチャートである。
【図5】機能節および機能関連度のデータ構造の一例を示す図である。
【図6】関連性演算部の動作を示すフローチャートである。
【図7】ばねモデルの弾性力、反発力、摩擦力を模式的に示す図である。
【図8】出力部の動作を示すフローチャートである。
【図9】可視化結果の一例を示す図である。
【図10】表示属性を加味した可視化結果の一例を示す図である。
【図11】設計されたユーザインタフェースの一例を示す図である。
【発明を実施するための形態】
【0015】
以下、本発明の実施の形態について、図面を参照して説明する。
【0016】
図1は、本発明の実施形態に係るユーザインタフェース設計支援装置1の構成図である。ユーザインタフェース設計支援装置1は、設計者が行うユーザインタフェース設計する装置である。図示するユーザインタフェース設計支援装置1は、属性情報解析部11と、機能節・機能関連度記憶部12と、関連性演算部13と、出力部14と、ディスプレイ15とを備える。
【0017】
属性情報解析部11は、ユーザインタフェース設計支援装置1に入力される機能情報2を読み込み、当該機能情報2を解析し、各機能の機能節(機能情報)および機能関連度(機能関連情報)を生成し、機能節・機能関連度記憶部12に記憶する。機能情報2は、設計者によりあらかじめが作成された情報であって、複数の機能の情報が設定されている。機能情報2については、後述する。
【0018】
機能節・機能関連度記憶部12には、属性情報解析部11が生成した機能節および機能関連度が保持される。
【0019】
関連性演算部13は、機能節・機能関連度記憶部12に記憶された機能情報および機能関連情報を用いて、各機能間の距離を算出し、算出した距離を用いて全ての機能の位置を算出し、機能の関連性と機能の属性とを可視化する。
【0020】
出力部14は、関連性演算部13が算出した各位置に対応する機能をそれぞれ配置し、関連する機能を当該機能同士を結ぶ線で示した、各機能の可視化結果を描画し、ディスプレイ15に出力する。
【0021】
また、本実施形態のユーザインタフェース設計支援装置1は、編集部16と、入力インタフェース17(例えば、キーボード、マウスなど)とを、さらに備えることとしてもよい。
【0022】
編集部16は、設計者が入力インタフェース17を用いて入力した操作指示を受け付けて、機能節・機能関連度記憶部12に記憶されたデータを修正・編集する。これにより、設計者は、ディスプレイ15に表示された可視化結果を見て、入機能節・機能関連度記憶部12のデータを編集することができる。
【0023】
上記説明したユーザインタフェース設計支援装置1は、例えば、CPUと、メモリと、HDD等の外部記憶装置と、入力装置と、出力装置とを備えた汎用的なコンピュータシステムを用いることができる。このコンピュータシステムにおいて、CPUがメモリ上にロードされたユーザインタフェース設計支援装置1用のプログラムを実行することにより、ユーザインタフェース設計支援装置1の各機能が実現される。また、ユーザインタフェース設計支援装置1用のプログラムは、ハードディスク、フレキシブルディスク、CD−ROM、MO、DVD−ROMなどのコンピュータ読取り可能な記録媒体に記憶することも、ネットワークを介して配信することもできる。
【0024】
図2は、ユーザインタフェース設計支援装置1に入力される機能情報2の一例である。
【0025】
機能情報2は、あるシステムを構成する各機能の属性と機能同士の関連とを含む情報である。機能情報2は、あらかじめ設計者が作成しておく。なお、本実施形態のシステムは、例えば、機能の組み合わせによって動作するものであり、また、本実施形態の機能は、例えば、ユーザがシステムを操作し、情報を閲覧するために利用するものである。
【0026】
図示する機能情報2は、複数の機能201、202、203を有し、各機能は、機能名と、利用属性と、関連度とを有する。関連度は、当該機能の属するグループ(label)と、当該グループとの関連強度(group level)によって表現されている。各機能は、あらかじめいずれかのクループにグルーピングされ、グループは関連がある機能の集合である。また、機能は、グループに対する関連の強さである関連強度を保持する。これにより、本実施形態では、他の機能との関連度を、グループを用いて間接的に表現する。
利用属性には、主要度と、利用頻度(頻度)と、利用時間(継続時間)とを含む。主要度は、当該機能がシステムの主たる特徴となる機能であるかを表すものである。利用頻度は、当該機能をユーザがどの程度利用するかを示すものである。利用時間は、当該機能をユーザが一回当たりにどの程度継続して利用するか(一回当たりの利用時間)を示すものである。
【0027】
なお、図示する例では、主要度、利用頻度および利用時間を、所定の範囲内(例えば、「1〜10」)の数値で表現しているが、これ以外の方法で表現することとしてもよい。また、図示する機能情報2は、XMLで記述されているが、XML以外の任意の記述形式でもよい。
【0028】
また、機能節は、機能名21と、利用属性22と、機能関連度23の他に表示属性を有することとしてもよい。
【0029】
図3は、表示属性を備える1つの機能の機能情報の一例である。表示属性は、機能をディスプレイ15に表示する際の具体的な表示形態に関する情報である。表示属性を設定することによって、ディスプレイ15上でどのように各機能が表現されるかを判断しやすくし、ユーザインタフェースの設計作業を容易にすることができる。
【0030】
表示属性として、例えば、「大きさ」、「色」、「表示形態(ポップアップ、タブ、アイコン、ボタン、などの形態)」、「アニメーション」などが挙げられる。
【0031】
後述する出力部14の可視化結果を出力する際に、表示属性に基づいて各機能の表現が具体化される。
【0032】
次に、本実施形態の処理を説明する。
【0033】
図4は、属性情報解析部11の動作を表すフローチャートである。
【0034】
属性情報解析部11は、入力された機能情報を解析し、機能毎に、機能節と機能関連度とを生成する。
まず、属性情報解析部11は、XMLなどを用いて記述された機能情報を読み込み(S11)、機能毎に分解する(S12)。そして、各機能毎に、「機能名」、「主要度」(利用属性)、「属性」(主要度以外の利用属性)を抽出する(S14、S15、S16)。なお、図3に示すように表示属性が設定されている場合は、「表示属性」も抽出する。
【0035】
そして、属性情報解析部11は、抽出した機能名と、主要度と、属性とを用いて、当該機能の機能節(データ、レコード)を生成し(S17)、機能節・機能関連度記憶部12に記憶する(S18)。図5(a)は、機能節のデータ構造の一例を示す図である。
【0036】
また、属性情報解析部11は、関連する機能がある場合、関連度に基づいて機能関連度(データ、レコード)を生成する。すなわち、当該機能の関連度を参照し(S19、S20)、関連度の“label”に設定されたグループ名と同じグループ名を有する他の機能が存在するか否かを他の全ての機能の関連度を参照して判別する(S21)。同じグループ名を有する他の機能が存在する場合に、当該他の機能毎に機能関連度を生成し(S22)、機能節・機能関連度記憶部12に記憶する(S23)。
【0037】
例えば、図2に示す機能情報の機能201の場合、“label”に設定されたグループ名は“SEC1”であり、機能202および機能203のグループ名と同じである。したがって、機能201の機能関連度として、2つのデータを生成する。
【0038】
図5(b)は、機能関連度のデータ構造の一例を示す図である。図示する機能関連度は、図5(a)の機能節と関連付けるための機能名と、関連強度と、“label”に設定されたグループ名と、当該機能の機能名または機能IDを設定するfrom機能節と、同じグループ名を有する他の機能の機能名または機能IDを設定するto機能節とを有する。なお、from機能節とto機能節とは同じグループに属する関連する機能節である。能関連強度には、from機能節およびto機能節のグループとの関連の強さを示す指標が設定され、例えばfrom機能節の“group level”とto機能節の“group level”との平均値が設定される。
【0039】
S12で分割した全ての機能について、S13からS23の処理を行い、機能情報に設定された全ての機能の機能節および機能関連度が、機能節・機能関連度記憶部12に記憶される。
【0040】
図6は、関連性演算部13の動作を表すフローチャートである。関連性演算部13は、各機能節(機能)を可視化する際の配置を決定する。機能節同士の距離は、関連強度および利用属性の類似度によって決まる。つまり、関連強度が強く、かつ利用属性が類似しているほど機能節間の距離は近くなる。具体的な関連性可視化の計算方法として、本実施形態では、図7に示すばねモデルを応用した手法を用いるものとする。
【0041】
まず、関連性演算部13は、機能節・機能関連度記憶部12から図4で生成した機能節および機能関連度のデータを読み込む(S31)。そして、関連性演算部13は、読み込んだ各機能節の主要度に基づいて、各機能節(node)のサイズを決定する(S32)。機能節のサイズ(function_size)は、例えば、以下の式により算出することが考えられる。
【0042】
function_size = k1 * importance (k1=任意の定数)
そして、関連性演算部13は、機能節毎に、S33からS38の処理を行う。すなわち、処理対象の機能節(対応する機能関連度を含む)を読み込み(S33)、当該処理対象以外の他のいずれかの機能節(対応する機能関連度を含む)を読み込む(S34)。そして、処理対象の機能節とS34で読み込んだ他の機能節とを比較する(S35)。
【0043】
そして、from機能節に処理対象の機能節が設定され、to機能節に当該他の機能節が設定された機能関連度が存在する場合、すなわち、比較対象の機能節(S33とS34で読み込んだ機能節)に関連がある場合(S36:YES)、比較対象の機能節間の距離(edge_length)を算出する(S37)。具体的には、関連強度(level)と、利用属性(element)との類似度に基づいて算出する。
【0044】
例えば node_Aと node_Bの距離(edge_length)を算出する場合、以下の式により算出することが考えられる。
【0045】
edge_length = k2*Σ|node_A.element(i) - node_B.element(i)| + k/(node_A.level + node_B.level)
( i=0..n, n=利用属性の数, k,k2=任意の定数, edge_length>0)
例えば、図2に示す機能情報において、処理対象の機能節がボリューム表示機能(Volume)201であって、他の機能節が音声詳細表示(Voice)202の場合、距離(edge_length)は、以下の通りである。
【0046】
(Volume to Voice).edge_length
= k2 * |2-2 + 10-5| + k/(1+0.5)
= k2 * 5 + k/1.5
また、処理対象の機能節がボリューム表示機能(Volume)201であって、他の機能節が映像詳細表示(Image)203の場合、距離(edge_length)は、以下の通りである。
【0047】
(Volume to Image).edge_length
= k2 * |2-2 + 10-4| + k/(1+0.6)
= k2 * 6 + k/1.6
また、処理対象の機能節が音声詳細表示(Voice)202であって、他の機能節が映像詳細表示(Image)203の場合、距離(edge_length)は、以下の通りである。
【0048】
(Voice to Image).edge_length
= k2 * |2-2 + 5-4| + k / (0.5+0.6)
= k2 + k/1.1
この場合、音声詳細表示と映像詳細表示の距離は比較的近く、それに対して、音声詳細表示とボリューム表示との距離は比較的遠い。
【0049】
また、S37において、機能節(node)に掛かる弾性力(Fe) (図7(a)参照)を、次のように算出する。
【0050】
x軸方向の長さをx_length, y軸方向の長さをy_lengthとすると、それぞれ
x_length = node_A.x - node_B.x
y_length = node_A.y - node_B.y
となり、現在のバネの長さ(current_length)は、
current_length = SQRT((x_length) 2 + (y_length)2)
となる。
【0051】
更に、current_lengthの傾き角θは、
θ = arccos(x/current_length) (但し、x,y ≠0)
と求められる。
【0052】
すなわち、current_lengthは、ピタゴラスの定理で求め、x軸方向の長さ、y軸方向の長さは、座標の差をとり、角度θは三角関数で求める。なお、current_lengthを求めるために必要な、機能節(node)の位置(x,y)の初期値は、ランダムな値または所定の値を用いるものとする。また、2回目以降の繰り返しでは、前の繰り返しで計算されたnodeの位置(x,y)を用いてcurrent_lengthの長さを算出する。
【0053】
また、弾性力(Fe)は、
Fe.x = -k3 * (current_length - edge_length) * cosθ
(但し、current_length - edge_length ≠0 )
Fe.y = -k3 * (current_length - edge_length) * sinθ (k3 = 任意の定数)
となる。
【0054】
そして、機能節(node)同士は関連の有無にかかわらず反発力(Fr)を持ため、反発力(Fr) (図7(a)参照)を算出する(S38)。
【0055】
x軸方向の長さをx_length, y軸方向の長さをy_lengthとすると、それぞれ
x_length = node_A.x - node_B.x
y_length = node_A.y - node_B.y
と定めると、
node間の距離(distance)は、
distance = SQRT((x_length) 2 + (y_length.y) 2)
と求められる。なお、node間に関連(edge_length)がある場合は(S36:YES)、distance = current_lengthである。
【0056】
さらに、distanceの傾きを角度θとすると、反発力(Fr)は次の式で求められる。
【0057】
Fr_x = g/distance2*cosθ
Fr_y = g/distance2*sinθ (但し、g = 反発係数 = 任意の定数)
すなわち、distance は、ピタゴラスの定理で求め、x軸方向の長さ、y軸方向の長さは、座標の差をとり、角度θは三角関数で求める。
【0058】
また、S38において、機能節(node)が移動する(Fe+Fr≠0)場合には、移動量delta(= Fr+Fe)に対して、摩擦力(Fu)が発生する(図7(b)参照)。
【0059】
Fu_x = -μ * delta_x
Fu_y = -μ * delta_y (μ= 任意の定数)
そのため、nodeの移動する移動距離(Fa)は、以下により算出される。
【0060】
Fa =(Fe + Fr + Fu)
最後に、Faのx軸方向、y軸方向の長さを、それぞれnode_Aのx,yに適用し、nodeの位置を算出する。
【0061】
node_A.x = node_A.x + Fa.x
node_A.y = node_A.y + Fa.y
そして、未比較の他の機能節が存在する場合は、S34に戻り以下の処理を繰り返す。全ての他の機能節についてS34からS38の処理が終了すると、S33に戻り、次の機能節について同様の処理を行う。
【0062】
全ての機能節に対して処理を行った後、終了判定をする(S39)。すなわち、全ての機能節(node)の移動距離(Fa)が一定の値以下(例えば10以下)になった場合(S39:YES)、図6の処理を終了する。一方、いずれかの機能節の移動距離(Fa)が一定の値を超える場合(S39:NO)、S33に戻り、以降の処理を繰り返し行う。すなわち、機能節の位置の変化がなくなるまで処理を繰り返す。なお、関連性演算部13が算出した各機能節(node)の座標(位置)、機能同士の距離は、機能節・機能関連度記憶部12に記憶される。
【0063】
以上の処理により、機能の関連と関連強度、利用属性の類似度、主要度を考慮した可視化が可能となる。
【0064】
また、各機能節を別画面に表示すべきか否かの判定を行うこととしてもよい。具体的には、edge_lengthに対して、ある任意の閾値(edge_threshold)を定める。このとき、あるグループにおける、1つの機能(機能節A)を考える。機能節Aに接続される、同一グループに所属する他の機能節とのedge_lengthの平均が、閾値以内であれば、同一画面上に表示し、閾値を越える場合には、別画面に表示するべきであるという判定を行う。このような計算を全ての機能節に対して行うことで、各機能節を別画面に表示すべきか否かの判定を行うことができる。
【0065】
これにより、どの機能を同一画面に含めるべきか、という候補を自動生成することが可能となる。また、近接配置すべきか否かに関しても、同様に閾値を定めることによって算出可能である。閾値は、システムを利用する環境(PC、スマートフォン、ウェブブラウザ上で動作するのか等)によって変化し、設計者は、場合に応じて閾値を設定しながら、ユーザインタフェース設計を行う。
【0066】
図8は、出力部14の動作を表すフローチャートである。
【0067】
出力部14は、機能節・機能関連度記憶部12に記憶されたデータを読み込み(S51)、機能節毎にS52〜S56の処理を行う。すなわち、順番に対象となる機能節のデータを読み込み(S52)、当該機能節を関連性演算部13で計算された位置に配置し(S53)、配置した機能節を利用属性および表示属性に基づいて描画する(S54)。また、当該機能節に機能関連度がある場合は(S55)、当該機能を含み、関連する機能節を全て包含する閉領域を描画する(S56)。そして、S52に戻り、次の機能節のデータを読み込み、以降の処理を行い、全ての機能節に対して描画する。
【0068】
図9は、関連性演算部13で得られた結果を、図8に示す出力部の動作により可視化した例である。図示する例では、各機能節は計算された位置にそれぞれ配置され(図6:S38)、主要度を用いて算出したサイズ(図6:S32)の円で表現されている。
【0069】
また、関連する機能節同士については、当該機能節同士を結ぶ実線で示している。edge_lengthにより示される関連の強度と機能属性の類似度とを、この実線の太さ(weight)を用いて表現する。
【0070】
weight = k4 * edge_length (k4=任意の定数)
また、実線の長さは、current_lengthによって表現される。関連強度の表現に、距離だけでなく太さも用いる理由として、表示の都合上、機能節間の距離(current_length)が、理論値(edge_length)よりも伸びる場合があるためである。
【0071】
また、図示する例では、機能が所属するグループを閉領域(ハッチング)で囲っている。また、同一画面にすべき機能節については、閉領域(点線)で区分けしている。これにより、どの機能を同一画面に含めるべきか、もしくは分けるべきか、を設計者は判定しやすくなる。なお、図9に示す例では、映像表示機能は、3つのグループに属している。
【0072】
図10は、図9の可視化した例に加えて、表現属性(図3参照)を加味して可視化した例を示したものである。図示する例では、各機能節が円ではなく、表示属性に設定された属性情報に基づいて表現されている。これにより機能節が、どのような表現をされるべきかを一覧することができる。
【0073】
図11は、図9または図10により可視化された結果をもとに設計されたユーザインタフェース例である。設計者は、図9または図10のように自動生成された可視化結果を基に、画面構成やアイコンの作成などを検討することができる。図示する例では、3つの画面で構成されている。
【0074】
なお、出力部14が表示した結果(図9、図10)を、設計者が入力インタフェース17および編集部16を用いて編集することも可能である。すなわち、設計者は、入力インタフェース17を用いて機能節・機能関連度記憶部12に記憶された機能節および機能関連度を編集・更新することができる。機能節については、各属性の変更が可能であり、機能関連度については、関連及び関連強度の編集、追加、削除が可能である。変更した結果は編集部16が入力インタフェース17を介して受け付け、機能節・機能関連度記憶部12の情報を更新する。
【0075】
可視化された候補をインタラクティブに変更、更新、記憶できるため、変更を加えた場合に影響を受ける部分はどこかを視覚的に捉えられ、本当に変更を加えても良いのかなどの、変更の検討を容易に行える。
【0076】
以上説明した本実施形態では、決められた規則に基づいて記述された機能情報を解析し、関連性を演算し、所定のルールに基づいて画面上に描画することで、設計者が、画面を見て、機能同士の関連だけでなく、機能の関連の強さ、機能の使われ方の違いなどの機能に関する情報を、簡単に把握でき、理解しやすくすることができる。また、どの機能を近接配置すべきか、同一画面に含めるべきか、また同一画面に配置すべきでない機能は何か、といった候補を、自動生成することで、設計者が使いやすいユーザインタフェースを設計できるよう支援することができる。
【0077】
また、生成した機能節をインタラクティブに変更できることにより、変更を加えた場合に、影響を受ける部分はどこかを視覚的に捉えられ、本当に変更を加えても良いのかなどの、変更の検討を容易に行うことができる。
【0078】
また、高度な専門知識を必要とせず、短期間かつ省力でユーザインタフェース設計を行うことができる。これにより、短期間に繰り返しユーザインタフェースに関する検討を濃密に行うことが可能となり、利用者がより理解しやすいユーザインタフェースの作成が可能となる。
【0079】
なお、本発明は上記実施形態に限定されるものではなく、その要旨の範囲内で数々の変形が可能である。
【0080】
また、本発明は、グラフィカルユーザインタフェース(例えばウェブ会議システムなど)の設計などに利用可能である。
【符号の説明】
【0081】
1 :ユーザインタフェース設計支援装置
11:属性情報解析部
12:機能節・機能関連度記憶部
13:関連性演算部
14:出力部
15:ディスプレイ
16:編集部
17:入力インタフェース
2 :機能情報
【技術分野】
【0001】
本発明は、ユーザインタフェースの設計を支援するユーザインタフェース設計支援装置、ユーザインタフェース設計支援方法、およびユーザインタフェース設計支援プログラムに関する。
【背景技術】
【0002】
コンピュータを用いてユーザインタフェースの設計を支援する方法として、特許文献1には、ユーザインタフェース設計に必要な部品と、システムに必要な操作を記述したデータとを組み合わせて、自動的にユーザインタフェース設計を行うユーザインタフェース自動生成方法が記載されている。
【0003】
また、非特許文献1には、マグネティック・スプリング・モデルによるグラフ描画法が記載されている。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2003-140893号公報
【非特許文献】
【0005】
【非特許文献1】「マグネティック・スプリング・モデルによるグラフ描画法について」,情報処理学会研究報告. HI, ヒューマンインタフェース研究会報告 94(60), 17-24, 1994-07-14,三末 和男, 杉山 公造
【発明の概要】
【発明が解決しようとする課題】
【0006】
特許文献1を用いることによって、ユーザインタフェースが自動生成される。しかし、特許文献1では、あくまでもシステムを操作可能なユーザインタフェースが生成されるだけであって、必ずしも利用者の使い方に基づいたユーザインタフェースとはならない。
【0007】
また、非特許文献1のような手法を用いることで、情報の可視化が可能となるが、それだけではユーザが使いやすいユーザインタフェースは設計できない。
【0008】
したがって、ユーザインタフェースが適切に設計できるかどうかは、設計者のノウハウに大きく依存し、熟練した設計者でなければユーザが使いやすいユーザインタフェースを設定することは難しい。
【0009】
本発明は、上記事情に鑑みてなされたものであり、本発明の目的は、ユーザインタフェースを設計する上で必要な情報を可視化し、設計者のユーザインタフェース設計を支援するユーザインタフェース設計支援装置、ユーザインタフェース設計支援方法、およびユーザインタフェース設計支援プログラムを提供することにある。
【課題を解決するための手段】
【0010】
上記目的を達成するため、本発明は、ユーザインタフェースの設計を支援するユーザインタフェース設計支援装置であって、ユーザインタフェースの複数の機能に関する情報が設定された機能情報を解析し、各機能毎に、当該機能の属性を示す機能情報と、当該機能に関連する機能を示す機能関連情報とを生成し、記憶手段に記憶する解析手段と、前記記憶手段に記憶された機能情報および機能関連情報を用いて、各機能間の距離を算出し、算出した距離を用いて全ての機能の位置を算出する演算手段と、前記演算手段が算出した各位置に対応する機能を配置し、関連する機能を当該機能同士を結ぶ線で示した、各機能の可視化結果を出力する出力手段と、を備え、前記出力手段は、関連する機能同士を結ぶ線の長さを用いて関連の強さを表すとともに、同じグループに属する機能群を含む領域を前記可視化結果に表示する。
【0011】
本発明は、コンピュータが行う、ユーザインタフェースの設計を支援するユーザインタフェース設計支援方法であって、前記コンピュータは、ユーザインタフェースの複数の機能に関する情報が設定された機能情報を解析し、各機能毎に、当該機能の属性を示す機能情報と、当該機能に関連する機能を示す機能関連情報とを生成し、記憶部に記憶する解析ステップと、前記記憶部に記憶された機能情報および機能関連情報を用いて、各機能間の距離を算出し、算出した距離を用いて全ての機能の位置を算出する演算ステップと、前記演算ステップで算出した各位置に対応する機能を配置し、関連する機能を当該機能同士を結ぶ線で示した、各機能の可視化結果を出力する出力ステップと、を行い、前記出力ステップは、関連する機能同士を結ぶ線の長さを用いて関連の強さを表すとともに、同じグループに属する機能群を含む領域を前記可視化結果に表示する。
【0012】
本発明は、前記ユーザインタフェース設計支援装置としてコンピュータを機能させるためのユーザインタフェース設計支援プログラムである。
【発明の効果】
【0013】
本発明によれば、ユーザインタフェースを設計する上で必要な情報を可視化し、設計者のユーザインタフェース設計を支援するユーザインタフェース設計支援装置、ユーザインタフェース設計支援方法、およびユーザインタフェース設計支援プログラムを提供することができる。
【図面の簡単な説明】
【0014】
【図1】本発明の実施形態に係るユーザインタフェース設計支援装置の構成図である。
【図2】機能情報の一例を示す図である。
【図3】表示属性を含む機能情報の一例を示す図である。
【図4】属性情報解析部の動作を示すフローチャートである。
【図5】機能節および機能関連度のデータ構造の一例を示す図である。
【図6】関連性演算部の動作を示すフローチャートである。
【図7】ばねモデルの弾性力、反発力、摩擦力を模式的に示す図である。
【図8】出力部の動作を示すフローチャートである。
【図9】可視化結果の一例を示す図である。
【図10】表示属性を加味した可視化結果の一例を示す図である。
【図11】設計されたユーザインタフェースの一例を示す図である。
【発明を実施するための形態】
【0015】
以下、本発明の実施の形態について、図面を参照して説明する。
【0016】
図1は、本発明の実施形態に係るユーザインタフェース設計支援装置1の構成図である。ユーザインタフェース設計支援装置1は、設計者が行うユーザインタフェース設計する装置である。図示するユーザインタフェース設計支援装置1は、属性情報解析部11と、機能節・機能関連度記憶部12と、関連性演算部13と、出力部14と、ディスプレイ15とを備える。
【0017】
属性情報解析部11は、ユーザインタフェース設計支援装置1に入力される機能情報2を読み込み、当該機能情報2を解析し、各機能の機能節(機能情報)および機能関連度(機能関連情報)を生成し、機能節・機能関連度記憶部12に記憶する。機能情報2は、設計者によりあらかじめが作成された情報であって、複数の機能の情報が設定されている。機能情報2については、後述する。
【0018】
機能節・機能関連度記憶部12には、属性情報解析部11が生成した機能節および機能関連度が保持される。
【0019】
関連性演算部13は、機能節・機能関連度記憶部12に記憶された機能情報および機能関連情報を用いて、各機能間の距離を算出し、算出した距離を用いて全ての機能の位置を算出し、機能の関連性と機能の属性とを可視化する。
【0020】
出力部14は、関連性演算部13が算出した各位置に対応する機能をそれぞれ配置し、関連する機能を当該機能同士を結ぶ線で示した、各機能の可視化結果を描画し、ディスプレイ15に出力する。
【0021】
また、本実施形態のユーザインタフェース設計支援装置1は、編集部16と、入力インタフェース17(例えば、キーボード、マウスなど)とを、さらに備えることとしてもよい。
【0022】
編集部16は、設計者が入力インタフェース17を用いて入力した操作指示を受け付けて、機能節・機能関連度記憶部12に記憶されたデータを修正・編集する。これにより、設計者は、ディスプレイ15に表示された可視化結果を見て、入機能節・機能関連度記憶部12のデータを編集することができる。
【0023】
上記説明したユーザインタフェース設計支援装置1は、例えば、CPUと、メモリと、HDD等の外部記憶装置と、入力装置と、出力装置とを備えた汎用的なコンピュータシステムを用いることができる。このコンピュータシステムにおいて、CPUがメモリ上にロードされたユーザインタフェース設計支援装置1用のプログラムを実行することにより、ユーザインタフェース設計支援装置1の各機能が実現される。また、ユーザインタフェース設計支援装置1用のプログラムは、ハードディスク、フレキシブルディスク、CD−ROM、MO、DVD−ROMなどのコンピュータ読取り可能な記録媒体に記憶することも、ネットワークを介して配信することもできる。
【0024】
図2は、ユーザインタフェース設計支援装置1に入力される機能情報2の一例である。
【0025】
機能情報2は、あるシステムを構成する各機能の属性と機能同士の関連とを含む情報である。機能情報2は、あらかじめ設計者が作成しておく。なお、本実施形態のシステムは、例えば、機能の組み合わせによって動作するものであり、また、本実施形態の機能は、例えば、ユーザがシステムを操作し、情報を閲覧するために利用するものである。
【0026】
図示する機能情報2は、複数の機能201、202、203を有し、各機能は、機能名と、利用属性と、関連度とを有する。関連度は、当該機能の属するグループ(label)と、当該グループとの関連強度(group level)によって表現されている。各機能は、あらかじめいずれかのクループにグルーピングされ、グループは関連がある機能の集合である。また、機能は、グループに対する関連の強さである関連強度を保持する。これにより、本実施形態では、他の機能との関連度を、グループを用いて間接的に表現する。
利用属性には、主要度と、利用頻度(頻度)と、利用時間(継続時間)とを含む。主要度は、当該機能がシステムの主たる特徴となる機能であるかを表すものである。利用頻度は、当該機能をユーザがどの程度利用するかを示すものである。利用時間は、当該機能をユーザが一回当たりにどの程度継続して利用するか(一回当たりの利用時間)を示すものである。
【0027】
なお、図示する例では、主要度、利用頻度および利用時間を、所定の範囲内(例えば、「1〜10」)の数値で表現しているが、これ以外の方法で表現することとしてもよい。また、図示する機能情報2は、XMLで記述されているが、XML以外の任意の記述形式でもよい。
【0028】
また、機能節は、機能名21と、利用属性22と、機能関連度23の他に表示属性を有することとしてもよい。
【0029】
図3は、表示属性を備える1つの機能の機能情報の一例である。表示属性は、機能をディスプレイ15に表示する際の具体的な表示形態に関する情報である。表示属性を設定することによって、ディスプレイ15上でどのように各機能が表現されるかを判断しやすくし、ユーザインタフェースの設計作業を容易にすることができる。
【0030】
表示属性として、例えば、「大きさ」、「色」、「表示形態(ポップアップ、タブ、アイコン、ボタン、などの形態)」、「アニメーション」などが挙げられる。
【0031】
後述する出力部14の可視化結果を出力する際に、表示属性に基づいて各機能の表現が具体化される。
【0032】
次に、本実施形態の処理を説明する。
【0033】
図4は、属性情報解析部11の動作を表すフローチャートである。
【0034】
属性情報解析部11は、入力された機能情報を解析し、機能毎に、機能節と機能関連度とを生成する。
まず、属性情報解析部11は、XMLなどを用いて記述された機能情報を読み込み(S11)、機能毎に分解する(S12)。そして、各機能毎に、「機能名」、「主要度」(利用属性)、「属性」(主要度以外の利用属性)を抽出する(S14、S15、S16)。なお、図3に示すように表示属性が設定されている場合は、「表示属性」も抽出する。
【0035】
そして、属性情報解析部11は、抽出した機能名と、主要度と、属性とを用いて、当該機能の機能節(データ、レコード)を生成し(S17)、機能節・機能関連度記憶部12に記憶する(S18)。図5(a)は、機能節のデータ構造の一例を示す図である。
【0036】
また、属性情報解析部11は、関連する機能がある場合、関連度に基づいて機能関連度(データ、レコード)を生成する。すなわち、当該機能の関連度を参照し(S19、S20)、関連度の“label”に設定されたグループ名と同じグループ名を有する他の機能が存在するか否かを他の全ての機能の関連度を参照して判別する(S21)。同じグループ名を有する他の機能が存在する場合に、当該他の機能毎に機能関連度を生成し(S22)、機能節・機能関連度記憶部12に記憶する(S23)。
【0037】
例えば、図2に示す機能情報の機能201の場合、“label”に設定されたグループ名は“SEC1”であり、機能202および機能203のグループ名と同じである。したがって、機能201の機能関連度として、2つのデータを生成する。
【0038】
図5(b)は、機能関連度のデータ構造の一例を示す図である。図示する機能関連度は、図5(a)の機能節と関連付けるための機能名と、関連強度と、“label”に設定されたグループ名と、当該機能の機能名または機能IDを設定するfrom機能節と、同じグループ名を有する他の機能の機能名または機能IDを設定するto機能節とを有する。なお、from機能節とto機能節とは同じグループに属する関連する機能節である。能関連強度には、from機能節およびto機能節のグループとの関連の強さを示す指標が設定され、例えばfrom機能節の“group level”とto機能節の“group level”との平均値が設定される。
【0039】
S12で分割した全ての機能について、S13からS23の処理を行い、機能情報に設定された全ての機能の機能節および機能関連度が、機能節・機能関連度記憶部12に記憶される。
【0040】
図6は、関連性演算部13の動作を表すフローチャートである。関連性演算部13は、各機能節(機能)を可視化する際の配置を決定する。機能節同士の距離は、関連強度および利用属性の類似度によって決まる。つまり、関連強度が強く、かつ利用属性が類似しているほど機能節間の距離は近くなる。具体的な関連性可視化の計算方法として、本実施形態では、図7に示すばねモデルを応用した手法を用いるものとする。
【0041】
まず、関連性演算部13は、機能節・機能関連度記憶部12から図4で生成した機能節および機能関連度のデータを読み込む(S31)。そして、関連性演算部13は、読み込んだ各機能節の主要度に基づいて、各機能節(node)のサイズを決定する(S32)。機能節のサイズ(function_size)は、例えば、以下の式により算出することが考えられる。
【0042】
function_size = k1 * importance (k1=任意の定数)
そして、関連性演算部13は、機能節毎に、S33からS38の処理を行う。すなわち、処理対象の機能節(対応する機能関連度を含む)を読み込み(S33)、当該処理対象以外の他のいずれかの機能節(対応する機能関連度を含む)を読み込む(S34)。そして、処理対象の機能節とS34で読み込んだ他の機能節とを比較する(S35)。
【0043】
そして、from機能節に処理対象の機能節が設定され、to機能節に当該他の機能節が設定された機能関連度が存在する場合、すなわち、比較対象の機能節(S33とS34で読み込んだ機能節)に関連がある場合(S36:YES)、比較対象の機能節間の距離(edge_length)を算出する(S37)。具体的には、関連強度(level)と、利用属性(element)との類似度に基づいて算出する。
【0044】
例えば node_Aと node_Bの距離(edge_length)を算出する場合、以下の式により算出することが考えられる。
【0045】
edge_length = k2*Σ|node_A.element(i) - node_B.element(i)| + k/(node_A.level + node_B.level)
( i=0..n, n=利用属性の数, k,k2=任意の定数, edge_length>0)
例えば、図2に示す機能情報において、処理対象の機能節がボリューム表示機能(Volume)201であって、他の機能節が音声詳細表示(Voice)202の場合、距離(edge_length)は、以下の通りである。
【0046】
(Volume to Voice).edge_length
= k2 * |2-2 + 10-5| + k/(1+0.5)
= k2 * 5 + k/1.5
また、処理対象の機能節がボリューム表示機能(Volume)201であって、他の機能節が映像詳細表示(Image)203の場合、距離(edge_length)は、以下の通りである。
【0047】
(Volume to Image).edge_length
= k2 * |2-2 + 10-4| + k/(1+0.6)
= k2 * 6 + k/1.6
また、処理対象の機能節が音声詳細表示(Voice)202であって、他の機能節が映像詳細表示(Image)203の場合、距離(edge_length)は、以下の通りである。
【0048】
(Voice to Image).edge_length
= k2 * |2-2 + 5-4| + k / (0.5+0.6)
= k2 + k/1.1
この場合、音声詳細表示と映像詳細表示の距離は比較的近く、それに対して、音声詳細表示とボリューム表示との距離は比較的遠い。
【0049】
また、S37において、機能節(node)に掛かる弾性力(Fe) (図7(a)参照)を、次のように算出する。
【0050】
x軸方向の長さをx_length, y軸方向の長さをy_lengthとすると、それぞれ
x_length = node_A.x - node_B.x
y_length = node_A.y - node_B.y
となり、現在のバネの長さ(current_length)は、
current_length = SQRT((x_length) 2 + (y_length)2)
となる。
【0051】
更に、current_lengthの傾き角θは、
θ = arccos(x/current_length) (但し、x,y ≠0)
と求められる。
【0052】
すなわち、current_lengthは、ピタゴラスの定理で求め、x軸方向の長さ、y軸方向の長さは、座標の差をとり、角度θは三角関数で求める。なお、current_lengthを求めるために必要な、機能節(node)の位置(x,y)の初期値は、ランダムな値または所定の値を用いるものとする。また、2回目以降の繰り返しでは、前の繰り返しで計算されたnodeの位置(x,y)を用いてcurrent_lengthの長さを算出する。
【0053】
また、弾性力(Fe)は、
Fe.x = -k3 * (current_length - edge_length) * cosθ
(但し、current_length - edge_length ≠0 )
Fe.y = -k3 * (current_length - edge_length) * sinθ (k3 = 任意の定数)
となる。
【0054】
そして、機能節(node)同士は関連の有無にかかわらず反発力(Fr)を持ため、反発力(Fr) (図7(a)参照)を算出する(S38)。
【0055】
x軸方向の長さをx_length, y軸方向の長さをy_lengthとすると、それぞれ
x_length = node_A.x - node_B.x
y_length = node_A.y - node_B.y
と定めると、
node間の距離(distance)は、
distance = SQRT((x_length) 2 + (y_length.y) 2)
と求められる。なお、node間に関連(edge_length)がある場合は(S36:YES)、distance = current_lengthである。
【0056】
さらに、distanceの傾きを角度θとすると、反発力(Fr)は次の式で求められる。
【0057】
Fr_x = g/distance2*cosθ
Fr_y = g/distance2*sinθ (但し、g = 反発係数 = 任意の定数)
すなわち、distance は、ピタゴラスの定理で求め、x軸方向の長さ、y軸方向の長さは、座標の差をとり、角度θは三角関数で求める。
【0058】
また、S38において、機能節(node)が移動する(Fe+Fr≠0)場合には、移動量delta(= Fr+Fe)に対して、摩擦力(Fu)が発生する(図7(b)参照)。
【0059】
Fu_x = -μ * delta_x
Fu_y = -μ * delta_y (μ= 任意の定数)
そのため、nodeの移動する移動距離(Fa)は、以下により算出される。
【0060】
Fa =(Fe + Fr + Fu)
最後に、Faのx軸方向、y軸方向の長さを、それぞれnode_Aのx,yに適用し、nodeの位置を算出する。
【0061】
node_A.x = node_A.x + Fa.x
node_A.y = node_A.y + Fa.y
そして、未比較の他の機能節が存在する場合は、S34に戻り以下の処理を繰り返す。全ての他の機能節についてS34からS38の処理が終了すると、S33に戻り、次の機能節について同様の処理を行う。
【0062】
全ての機能節に対して処理を行った後、終了判定をする(S39)。すなわち、全ての機能節(node)の移動距離(Fa)が一定の値以下(例えば10以下)になった場合(S39:YES)、図6の処理を終了する。一方、いずれかの機能節の移動距離(Fa)が一定の値を超える場合(S39:NO)、S33に戻り、以降の処理を繰り返し行う。すなわち、機能節の位置の変化がなくなるまで処理を繰り返す。なお、関連性演算部13が算出した各機能節(node)の座標(位置)、機能同士の距離は、機能節・機能関連度記憶部12に記憶される。
【0063】
以上の処理により、機能の関連と関連強度、利用属性の類似度、主要度を考慮した可視化が可能となる。
【0064】
また、各機能節を別画面に表示すべきか否かの判定を行うこととしてもよい。具体的には、edge_lengthに対して、ある任意の閾値(edge_threshold)を定める。このとき、あるグループにおける、1つの機能(機能節A)を考える。機能節Aに接続される、同一グループに所属する他の機能節とのedge_lengthの平均が、閾値以内であれば、同一画面上に表示し、閾値を越える場合には、別画面に表示するべきであるという判定を行う。このような計算を全ての機能節に対して行うことで、各機能節を別画面に表示すべきか否かの判定を行うことができる。
【0065】
これにより、どの機能を同一画面に含めるべきか、という候補を自動生成することが可能となる。また、近接配置すべきか否かに関しても、同様に閾値を定めることによって算出可能である。閾値は、システムを利用する環境(PC、スマートフォン、ウェブブラウザ上で動作するのか等)によって変化し、設計者は、場合に応じて閾値を設定しながら、ユーザインタフェース設計を行う。
【0066】
図8は、出力部14の動作を表すフローチャートである。
【0067】
出力部14は、機能節・機能関連度記憶部12に記憶されたデータを読み込み(S51)、機能節毎にS52〜S56の処理を行う。すなわち、順番に対象となる機能節のデータを読み込み(S52)、当該機能節を関連性演算部13で計算された位置に配置し(S53)、配置した機能節を利用属性および表示属性に基づいて描画する(S54)。また、当該機能節に機能関連度がある場合は(S55)、当該機能を含み、関連する機能節を全て包含する閉領域を描画する(S56)。そして、S52に戻り、次の機能節のデータを読み込み、以降の処理を行い、全ての機能節に対して描画する。
【0068】
図9は、関連性演算部13で得られた結果を、図8に示す出力部の動作により可視化した例である。図示する例では、各機能節は計算された位置にそれぞれ配置され(図6:S38)、主要度を用いて算出したサイズ(図6:S32)の円で表現されている。
【0069】
また、関連する機能節同士については、当該機能節同士を結ぶ実線で示している。edge_lengthにより示される関連の強度と機能属性の類似度とを、この実線の太さ(weight)を用いて表現する。
【0070】
weight = k4 * edge_length (k4=任意の定数)
また、実線の長さは、current_lengthによって表現される。関連強度の表現に、距離だけでなく太さも用いる理由として、表示の都合上、機能節間の距離(current_length)が、理論値(edge_length)よりも伸びる場合があるためである。
【0071】
また、図示する例では、機能が所属するグループを閉領域(ハッチング)で囲っている。また、同一画面にすべき機能節については、閉領域(点線)で区分けしている。これにより、どの機能を同一画面に含めるべきか、もしくは分けるべきか、を設計者は判定しやすくなる。なお、図9に示す例では、映像表示機能は、3つのグループに属している。
【0072】
図10は、図9の可視化した例に加えて、表現属性(図3参照)を加味して可視化した例を示したものである。図示する例では、各機能節が円ではなく、表示属性に設定された属性情報に基づいて表現されている。これにより機能節が、どのような表現をされるべきかを一覧することができる。
【0073】
図11は、図9または図10により可視化された結果をもとに設計されたユーザインタフェース例である。設計者は、図9または図10のように自動生成された可視化結果を基に、画面構成やアイコンの作成などを検討することができる。図示する例では、3つの画面で構成されている。
【0074】
なお、出力部14が表示した結果(図9、図10)を、設計者が入力インタフェース17および編集部16を用いて編集することも可能である。すなわち、設計者は、入力インタフェース17を用いて機能節・機能関連度記憶部12に記憶された機能節および機能関連度を編集・更新することができる。機能節については、各属性の変更が可能であり、機能関連度については、関連及び関連強度の編集、追加、削除が可能である。変更した結果は編集部16が入力インタフェース17を介して受け付け、機能節・機能関連度記憶部12の情報を更新する。
【0075】
可視化された候補をインタラクティブに変更、更新、記憶できるため、変更を加えた場合に影響を受ける部分はどこかを視覚的に捉えられ、本当に変更を加えても良いのかなどの、変更の検討を容易に行える。
【0076】
以上説明した本実施形態では、決められた規則に基づいて記述された機能情報を解析し、関連性を演算し、所定のルールに基づいて画面上に描画することで、設計者が、画面を見て、機能同士の関連だけでなく、機能の関連の強さ、機能の使われ方の違いなどの機能に関する情報を、簡単に把握でき、理解しやすくすることができる。また、どの機能を近接配置すべきか、同一画面に含めるべきか、また同一画面に配置すべきでない機能は何か、といった候補を、自動生成することで、設計者が使いやすいユーザインタフェースを設計できるよう支援することができる。
【0077】
また、生成した機能節をインタラクティブに変更できることにより、変更を加えた場合に、影響を受ける部分はどこかを視覚的に捉えられ、本当に変更を加えても良いのかなどの、変更の検討を容易に行うことができる。
【0078】
また、高度な専門知識を必要とせず、短期間かつ省力でユーザインタフェース設計を行うことができる。これにより、短期間に繰り返しユーザインタフェースに関する検討を濃密に行うことが可能となり、利用者がより理解しやすいユーザインタフェースの作成が可能となる。
【0079】
なお、本発明は上記実施形態に限定されるものではなく、その要旨の範囲内で数々の変形が可能である。
【0080】
また、本発明は、グラフィカルユーザインタフェース(例えばウェブ会議システムなど)の設計などに利用可能である。
【符号の説明】
【0081】
1 :ユーザインタフェース設計支援装置
11:属性情報解析部
12:機能節・機能関連度記憶部
13:関連性演算部
14:出力部
15:ディスプレイ
16:編集部
17:入力インタフェース
2 :機能情報
【特許請求の範囲】
【請求項1】
ユーザインタフェースの設計を支援するユーザインタフェース設計支援装置であって、
ユーザインタフェースの複数の機能に関する情報が設定された機能情報を解析し、各機能毎に、当該機能の属性を示す機能情報と、当該機能に関連する機能を示す機能関連情報とを生成し、記憶手段に記憶する解析手段と、
前記記憶手段に記憶された機能情報および機能関連情報を用いて、各機能間の距離を算出し、算出した距離を用いて全ての機能の位置を算出する演算手段と、
前記演算手段が算出した各位置に対応する機能を配置し、関連する機能を当該機能同士を結ぶ線で示した、各機能の可視化結果を出力する出力手段と、を備え、
前記出力手段は、関連する機能同士を結ぶ線の長さを用いて関連の強さを表すとともに、同じグループに属する機能群を含む領域を前記可視化結果に表示すること
を特徴とするユーザインタフェース設計支援装置。
【請求項2】
請求項1記載のユーザインタフェース設計支援装置であって、
ユーザの指示を受け付けて、前記記憶手段に記憶された情報を編集する編集手段をさらに有すること
を特徴とするユーザインタフェース設計支援装置。
【請求項3】
コンピュータが行う、ユーザインタフェースの設計を支援するユーザインタフェース設計支援方法であって、
前記コンピュータは、
ユーザインタフェースの複数の機能に関する情報が設定された機能情報を解析し、各機能毎に、当該機能の属性を示す機能情報と、当該機能に関連する機能を示す機能関連情報とを生成し、記憶部に記憶する解析ステップと、
前記記憶部に記憶された機能情報および機能関連情報を用いて、各機能間の距離を算出し、算出した距離を用いて全ての機能の位置を算出する演算ステップと、
前記演算ステップで算出した各位置に対応する機能を配置し、関連する機能を当該機能同士を結ぶ線で示した、各機能の可視化結果を出力する出力ステップと、を行い、
前記出力ステップは、関連する機能同士を結ぶ線の長さを用いて関連の強さを表すとともに、同じグループに属する機能群を含む領域を前記可視化結果に表示すること
を特徴とするユーザインタフェース設計支援方法。
【請求項4】
請求項3記載のユーザインタフェース設計支援方法であって、
前記コンピュータは、ユーザの指示を受け付けて、前記記憶部に記憶された情報を編集する編集ステップをさらに行うこと
を特徴とするユーザインタフェース設計支援方法。
【請求項5】
請求項1または請求項2に記載のユーザインタフェース設計支援装置としてコンピュータを機能させるためのユーザインタフェース設計支援プログラム。
【請求項1】
ユーザインタフェースの設計を支援するユーザインタフェース設計支援装置であって、
ユーザインタフェースの複数の機能に関する情報が設定された機能情報を解析し、各機能毎に、当該機能の属性を示す機能情報と、当該機能に関連する機能を示す機能関連情報とを生成し、記憶手段に記憶する解析手段と、
前記記憶手段に記憶された機能情報および機能関連情報を用いて、各機能間の距離を算出し、算出した距離を用いて全ての機能の位置を算出する演算手段と、
前記演算手段が算出した各位置に対応する機能を配置し、関連する機能を当該機能同士を結ぶ線で示した、各機能の可視化結果を出力する出力手段と、を備え、
前記出力手段は、関連する機能同士を結ぶ線の長さを用いて関連の強さを表すとともに、同じグループに属する機能群を含む領域を前記可視化結果に表示すること
を特徴とするユーザインタフェース設計支援装置。
【請求項2】
請求項1記載のユーザインタフェース設計支援装置であって、
ユーザの指示を受け付けて、前記記憶手段に記憶された情報を編集する編集手段をさらに有すること
を特徴とするユーザインタフェース設計支援装置。
【請求項3】
コンピュータが行う、ユーザインタフェースの設計を支援するユーザインタフェース設計支援方法であって、
前記コンピュータは、
ユーザインタフェースの複数の機能に関する情報が設定された機能情報を解析し、各機能毎に、当該機能の属性を示す機能情報と、当該機能に関連する機能を示す機能関連情報とを生成し、記憶部に記憶する解析ステップと、
前記記憶部に記憶された機能情報および機能関連情報を用いて、各機能間の距離を算出し、算出した距離を用いて全ての機能の位置を算出する演算ステップと、
前記演算ステップで算出した各位置に対応する機能を配置し、関連する機能を当該機能同士を結ぶ線で示した、各機能の可視化結果を出力する出力ステップと、を行い、
前記出力ステップは、関連する機能同士を結ぶ線の長さを用いて関連の強さを表すとともに、同じグループに属する機能群を含む領域を前記可視化結果に表示すること
を特徴とするユーザインタフェース設計支援方法。
【請求項4】
請求項3記載のユーザインタフェース設計支援方法であって、
前記コンピュータは、ユーザの指示を受け付けて、前記記憶部に記憶された情報を編集する編集ステップをさらに行うこと
を特徴とするユーザインタフェース設計支援方法。
【請求項5】
請求項1または請求項2に記載のユーザインタフェース設計支援装置としてコンピュータを機能させるためのユーザインタフェース設計支援プログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【公開番号】特開2013−73246(P2013−73246A)
【公開日】平成25年4月22日(2013.4.22)
【国際特許分類】
【出願番号】特願2011−209453(P2011−209453)
【出願日】平成23年9月26日(2011.9.26)
【出願人】(000004226)日本電信電話株式会社 (13,992)
【Fターム(参考)】
【公開日】平成25年4月22日(2013.4.22)
【国際特許分類】
【出願日】平成23年9月26日(2011.9.26)
【出願人】(000004226)日本電信電話株式会社 (13,992)
【Fターム(参考)】
[ Back to top ]