JPWO2009123030A1 - ユーザインタフェース生成装置 - Google Patents
ユーザインタフェース生成装置 Download PDFInfo
- Publication number
- JPWO2009123030A1 JPWO2009123030A1 JP2010505810A JP2010505810A JPWO2009123030A1 JP WO2009123030 A1 JPWO2009123030 A1 JP WO2009123030A1 JP 2010505810 A JP2010505810 A JP 2010505810A JP 2010505810 A JP2010505810 A JP 2010505810A JP WO2009123030 A1 JPWO2009123030 A1 JP WO2009123030A1
- Authority
- JP
- Japan
- Prior art keywords
- user interface
- unit
- information
- display
- size
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000003860 storage Methods 0.000 claims abstract description 80
- 239000002131 composite material Substances 0.000 claims abstract description 74
- 238000000034 method Methods 0.000 claims description 62
- 230000008569 process Effects 0.000 claims description 55
- 230000001419 dependent effect Effects 0.000 claims description 44
- 230000006870 function Effects 0.000 claims description 30
- 239000000203 mixture Substances 0.000 claims description 29
- 230000008859 change Effects 0.000 claims description 12
- 230000009467 reduction Effects 0.000 description 44
- 241001422033 Thestylus Species 0.000 description 33
- 238000001514 detection method Methods 0.000 description 26
- 238000011946 reduction process Methods 0.000 description 24
- 238000010586 diagram Methods 0.000 description 17
- 238000004891 communication Methods 0.000 description 10
- 235000010627 Phaseolus vulgaris Nutrition 0.000 description 4
- 244000046052 Phaseolus vulgaris Species 0.000 description 4
- 238000005215 recombination Methods 0.000 description 4
- 230000006798 recombination Effects 0.000 description 4
- 238000005286 illumination Methods 0.000 description 3
- 238000007493 shaping process Methods 0.000 description 3
- 238000003786 synthesis reaction Methods 0.000 description 3
- 230000015572 biosynthetic process Effects 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 238000003825 pressing Methods 0.000 description 2
- 230000002194 synthesizing effect Effects 0.000 description 2
- 230000003213 activating effect Effects 0.000 description 1
- 230000004913 activation Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000002542 deteriorative effect Effects 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000005549 size reduction Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0481—Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0484—Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0487—Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
- G06F3/0488—Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/38—Creation or generation of source code for implementing user interfaces
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- User Interface Of Digital Computer (AREA)
- Selective Calling Equipment (AREA)
Abstract
ユーザインタフェース生成装置1は、アプリケーションプログラムに基づく機能の実行を実行部11に指示するためのユーザインタフェースを生成する生成部13と、ユーザインタフェースのオブジェクトを定義する情報を含む定義ファイル、および表示部24の表示能力を示す情報を格納する記憶部50とを備え、生成部13は、オブジェクト定義情報を取捨選択し、全オブジェクトを表示可能か否か判定し、表示不可の場合、その全てが表示可能になるよう、表示部24の情報に基づき、オブジェクトのサイズに関する情報を書き換えた後、その情報に基づいて合成ユーザインタフェースを生成することを特徴とする。
Description
本出願は、2008年4月2日に出願された日本国特許出願2008−96604号、および208年5月29日に出願された日本国特許出願2008−141257号の優先権を主張するものであり、これらの先の出願の開示全体をここに参照のために取り込む。
本発明は、ユーザインタフェース生成装置に関し、特に、携帯端末のユーザインタフェースを生成するユーザインタフェース生成装置に関するものである。
携帯電話に代表される携帯端末のユーザインタフェース(以下、適宜「UI」と略記する)は、ユーザが携帯端末を操作する際の操作性を大きく左右する。そのため、携帯端末のUIは、ユーザが携帯端末を購入する際の決め手となる重要な要素の1つになっている。
近年、携帯端末は著しく多機能化し、それに伴いアニメーションや3Dの表現などを利用した表現力豊かなUIを備える携帯端末も多い。また、ユーザの嗜好に合わせてUIをカスタマイズできる携帯端末もあり、このような携帯端末は、ユーザにとっての利便性を著しく向上させている。
従来の携帯端末は、各メーカ間および各機種間でUIのデザインや操作方法が異なるのが一般的であった。すなわち、UIは各端末機器に固有のものであり、端末ごとに機種依存性の高いUIを備えるものがほとんどであった。そのため、端末の開発を行う際に、他の端末のプログラムコードを再利用する場合、そのプログラムコードに対して必要なUI部分の変更は膨大になる。したがって、ある端末のプログラムコードを他の端末に移植するのは困難であった。
そこで、最近では、XML(Extensible Markup Language)をベースにしたUIが導入されつつある。記述方式が共通化されたXMLファイルを用いてUIを表現することによって、プログラムコードの再利用が容易になり、他の機種へのUIの移植も可能になる。したがって、例えば、異なるメーカの異なる端末機種間でも同じUIを使用することができるなど、各端末からUIのみを独立させるように扱うことも可能になる。
このような、XMLをベースにしたUIのうち代表的なものとして、TAT社(http://www.tat.se/)が開発したUI Foundationや、Acrodea社(http://www.acrodea.co.jp/)が開発したVIVID UIや、Qualcomm社(http://www.qualcomm.co.jp/)が開発したUI Oneなどを挙げることができる。
また、近年の携帯端末は、端末本体の多機能化および高性能化に伴い、同時に複数のタスクを並行して実行できるマルチタスク処理に対応したOS(オペレーティングシステム)を実装したものが増えている。さらに、並行して同時に処理する複数のタスクにそれぞれの表示領域(ウィンドウ)を割り当てて、出力画面の表示を多重化するマルチウィンドウ機能に対応した携帯端末も普及しつつある。
ところで、例えば特開2001−36652号公報には、赤外線通信部を備える携帯電話端末を用いて、赤外線通信により複数の外部機器を遠隔操作(制御)できるようにした技術が開示されている。この特開2001−36652号公報に記載の携帯電話端末は、外部機器との通信を行う外部制御部を備えている。この携帯電話端末は、外部の機器を遠隔制御するための外部機器制御情報を、電話回線などを介して取得したり、または外部機器から受信するなどして記憶し、この外部機器制御情報に基づいて外部機器を遠隔制御することができる。すなわち、内蔵のアプリケーションプログラム(以下、単に「アプリケーション」という)を変更することで、通常は携帯電話として使用する端末本体を、複数の外部機器を遠隔操作するリモートコントロール(以下、単に「リモコン」という)端末として用いることができる。
上記特開2001−36652号公報に開示されている携帯電話端末によれば、各外部機器に対応するそれぞれの外部機器制御情報に基づいて、1台の携帯電話端末で複数の外部機器を遠隔操作できる。したがって、複数の外部機器のそれぞれについて個別のリモコン端末を複数使い分けるという煩雑な操作が必要なく、ユーザにとっての利便性を高めることができる。
このような、遠隔制御する複数の外部機器を切り替えるリモコン機能を、上述したマルチタスク処理が可能な携帯端末にて実現すれば、各リモコンのアプリケーションをいちいち一旦終了させて次のリモコンのアプリケーションを起動させる必要はない。すなわち、複数のアプリケーションを1つの端末で同時に起動させて、その中から、使いたい任意のリモコンのアプリケーションに適時切り替えて使用できる。
しかしながら、複数のアプリケーションを頻繁に切り替えて使用する場合には、その切り替え操作は煩雑なものとなる。
そこで、携帯端末に上述したマルチウィンドウの機能を組み合わせれば、複数のウィンドウに、複数のアプリケーションを操作するUIをそれぞれ再現することも可能になる。このようにすれば、複数のアプリケーションを切り替えて使用するのではなく、1画面上で同時に使用できる。
例えば、図25(A)に示すような、テレビのリモコン端末単独であれば、図25(B)に示すように、例えばタッチパネル200を備える携帯端末100上に、テレビリモコンアプリケーションのUIを、その操作性を維持したまま再現できる。なお、図25(A)のリモコン端末において、テンキーなどのキーやボタンは機械式のキーであるが、図25(B)の携帯端末100においては、テンキーなどを描画して再現したオブジェクトをタッチパネル200に表示している。以下、このように、UIを構成する各種キーまたはボタンおよび情報表示箇所などを、「UIオブジェクト」と記す。また、図25(C)に示すような、エアコンディショナーのリモコン端末単独の場合も同様に、図25(D)のように、タッチパネル200を備える携帯端末100上に、エアコンディショナーリモコンアプリケーションのUIを、その操作性を維持したまま再現できる。さらに、それぞれのアプリケーションのUIを、XMLをベースとして記述すれば、他メーカの端末などにアプリケーションを移植しても、UIを記述したXMLのファイルを加工するだけでほとんど同じUIを容易に再現できる。
しかしながら、上述の例において、テレビの視聴中にエアコンディショナーの操作を行う場合に、テレビもエアコンディショナーも頻繁な操作を要する状況も想定される。このような場合、両方のリモコンのアプリケーションを、マルチタスクおよびマルチウィンドウの機能を用いて、表示部の表示領域を分割して同時に表示したとする。この場合、各アプリケーションは単独で使用することを想定したUIしか備えていないため、各UIをそのまま同時表示すると、図26(A)〜(D)に示すような状態になる。
図26(A)〜(D)は、マルチタスクおよびマルチウィンドウの機能を実装した携帯端末100で2つのアプリケーションのUIを同時表示した様子を示す図である。図に示す例においては、タッチパネル200の表示部の表示を上下に分割した各ウィンドウ内で、それぞれのUIをそのまま再現したため、各UIとも一部しか表示されていない。画面上に表示しきれない部分の操作を行うために、各ウィンドウの右端にはスクロールバーを備えている。
例えば図26(A)に示す状態で、テレビの音量を調節したい場合には、ユーザは、テレビリモコンUIのウィンドウのスクロールバーを移動して、図26(B)に示すようにテレビリモコンUIの表示範囲を移動させなくてはならない。同様に、例えば図26(C)に示す状態で、エアコンディショナーの温度を調節したい場合、ユーザは、エアコンディショナーリモコンUIのウィンドウのスクロールバーを移動して、図26(D)に示すようにエアコンディショナーリモコンUIの表示範囲を移動させなくてはならない。さらに、マルチウィンドウで複数のアプリケーションを起動する場合、UIを重畳表示する際は、まず入力するウィンドウを選択してアクティブにしてから入力操作を開始しなくてはならない。
このように、単独で用いることを想定した、一画面用にデザインされたUIをマルチウィンドウなどで表示した場合、各UIオブジェクトの全てを一画面内に収めることはできなくなるため、UIの操作性は悪化してしまう。
したがって、かかる事情に鑑みてなされた本発明の目的は、複数のユーザインタフェースオブジェクトでユーザインタフェースを構成する際に、必要なユーザインタフェースオブジェクトを所定のユーザインタフェースオブジェクト表示領域に適切に収めることができるユーザインタフェース生成装置を提供することにある。
上記目的を達成する第1の観点に係るユーザインタフェース生成装置の発明は、
アプリケーションプログラムに基づいて各種の機能を実現するアプリケーションプログラム実行部と、
前記アプリケーションプログラムに基づく所定の機能の実行を前記アプリケーションプログラム実行部に指示するためのユーザインタフェースを生成するユーザインタフェース生成部と、
前記ユーザインタフェース生成部により生成されるユーザインタフェースを表示する表示部と、
前記ユーザインタフェースの構成要素であるユーザインタフェースオブジェクトを定義するユーザインタフェースオブジェクト定義情報を含むユーザインタフェース定義ファイルを格納するとともに、自装置の特性を示す装置依存情報を格納する記憶部と、を備えるユーザインタフェース生成装置であって、
前記ユーザインタフェース生成部は、前記記憶部に格納されたユーザインタフェースオブジェクト定義情報を取捨選択し、選択したユーザインタフェースオブジェクトの全てを前記表示部の所定の表示領域に表示可能か否か判定し、表示不可と判定した場合、前記選択したユーザインタフェースオブジェクトの全てが表示可能になるよう、前記装置依存情報に基づいて、前記ユーザインタフェースオブジェクト定義情報に含まれる当該ユーザインタフェースオブジェクトの表示サイズに関するサイズ情報を書き換え、当該サイズ情報を書き換えたユーザインタフェースオブジェクト定義情報に基づいて合成ユーザインタフェースを生成するユーザインタフェース合成処理を行うことを特徴とするものである。
アプリケーションプログラムに基づいて各種の機能を実現するアプリケーションプログラム実行部と、
前記アプリケーションプログラムに基づく所定の機能の実行を前記アプリケーションプログラム実行部に指示するためのユーザインタフェースを生成するユーザインタフェース生成部と、
前記ユーザインタフェース生成部により生成されるユーザインタフェースを表示する表示部と、
前記ユーザインタフェースの構成要素であるユーザインタフェースオブジェクトを定義するユーザインタフェースオブジェクト定義情報を含むユーザインタフェース定義ファイルを格納するとともに、自装置の特性を示す装置依存情報を格納する記憶部と、を備えるユーザインタフェース生成装置であって、
前記ユーザインタフェース生成部は、前記記憶部に格納されたユーザインタフェースオブジェクト定義情報を取捨選択し、選択したユーザインタフェースオブジェクトの全てを前記表示部の所定の表示領域に表示可能か否か判定し、表示不可と判定した場合、前記選択したユーザインタフェースオブジェクトの全てが表示可能になるよう、前記装置依存情報に基づいて、前記ユーザインタフェースオブジェクト定義情報に含まれる当該ユーザインタフェースオブジェクトの表示サイズに関するサイズ情報を書き換え、当該サイズ情報を書き換えたユーザインタフェースオブジェクト定義情報に基づいて合成ユーザインタフェースを生成するユーザインタフェース合成処理を行うことを特徴とするものである。
第2の観点に係る発明は、第1の観点に係るユーザインタフェース生成装置において、
前記ユーザインタフェースオブジェクトの種別と、前記ユーザインタフェースオブジェクト定義情報と前記装置依存情報とに基づいて、前記ユーザインタフェースオブジェクトの表示サイズの最小値を設定するサイズ下限値設定部をさらに備え、
前記ユーザインタフェース生成部は、前記サイズ下限値設定部により設定された前記最小値を下限値として、前記サイズ情報を書き換えることを特徴とするものである。
前記ユーザインタフェースオブジェクトの種別と、前記ユーザインタフェースオブジェクト定義情報と前記装置依存情報とに基づいて、前記ユーザインタフェースオブジェクトの表示サイズの最小値を設定するサイズ下限値設定部をさらに備え、
前記ユーザインタフェース生成部は、前記サイズ下限値設定部により設定された前記最小値を下限値として、前記サイズ情報を書き換えることを特徴とするものである。
第3の観点に係る発明は、第2の観点に係るユーザインタフェース生成装置において、
前記サイズ下限値設定部は、前記装置依存情報に含まれる最小フォントサイズ、最小行間隔、入力デバイス情報の少なくとも1つに基づいて、前記ユーザインタフェースオブジェクトの表示サイズの最小値を設定することを特徴とするものである。
前記サイズ下限値設定部は、前記装置依存情報に含まれる最小フォントサイズ、最小行間隔、入力デバイス情報の少なくとも1つに基づいて、前記ユーザインタフェースオブジェクトの表示サイズの最小値を設定することを特徴とするものである。
第4の観点に係る発明は、第1乃至第3のいずれか1つの観点に係るユーザインタフェース生成装置において、
前記ユーザインタフェースオブジェクト定義情報に基づき、前記ユーザインタフェースオブジェクトの選択を受け付ける選択画面を生成する選択画面生成部をさらに備え、
前記ユーザインタフェース生成部は、前記選択画面において選択された前記ユーザインタフェースオブジェクトの選択順序に基づいて、前記サイズ情報を書き換える前記ユーザインタフェースオブジェクト定義情報を選択し、選択したユーザインタフェースオブジェクト定義情報のサイズ情報を書き換えることを特徴とするものである。
前記ユーザインタフェースオブジェクト定義情報に基づき、前記ユーザインタフェースオブジェクトの選択を受け付ける選択画面を生成する選択画面生成部をさらに備え、
前記ユーザインタフェース生成部は、前記選択画面において選択された前記ユーザインタフェースオブジェクトの選択順序に基づいて、前記サイズ情報を書き換える前記ユーザインタフェースオブジェクト定義情報を選択し、選択したユーザインタフェースオブジェクト定義情報のサイズ情報を書き換えることを特徴とするものである。
第5の観点に係る発明は、第1乃至第3のいずれか1つの観点に係るユーザインタフェース生成装置において、
前記ユーザインタフェースオブジェクト定義情報は、前記ユーザインタフェースを構成するユーザインタフェースオブジェクト間の優先順位を示す優先順位情報を含み、
前記ユーザインタフェース生成部は、前記優先順位情報に基づいて前記サイズ情報を書き換える前記ユーザインタフェースオブジェクト定義情報を選択し、選択したユーザインタフェースオブジェクト定義情報のサイズ情報を書き換えることを特徴とするものである。
前記ユーザインタフェースオブジェクト定義情報は、前記ユーザインタフェースを構成するユーザインタフェースオブジェクト間の優先順位を示す優先順位情報を含み、
前記ユーザインタフェース生成部は、前記優先順位情報に基づいて前記サイズ情報を書き換える前記ユーザインタフェースオブジェクト定義情報を選択し、選択したユーザインタフェースオブジェクト定義情報のサイズ情報を書き換えることを特徴とするものである。
第6の観点に係る発明は、第2または第3の観点に係るユーザインタフェース生成装置において、
前記ユーザインタフェース生成部は、前記サイズ情報と、前記サイズ下限値設定部により設定された前記最小値との比に基づいて、前記サイズ情報を書き換える前記ユーザインタフェースオブジェクト定義情報を選択し、選択したユーザインタフェースオブジェクト定義情報のサイズ情報を書き換えることを特徴とするものである。
前記ユーザインタフェース生成部は、前記サイズ情報と、前記サイズ下限値設定部により設定された前記最小値との比に基づいて、前記サイズ情報を書き換える前記ユーザインタフェースオブジェクト定義情報を選択し、選択したユーザインタフェースオブジェクト定義情報のサイズ情報を書き換えることを特徴とするものである。
第7の観点に係るユーザインタフェース生成装置の発明は、
アプリケーションプログラムに基づいて各種の機能を実現するアプリケーションプログラム実行部と、
前記アプリケーションプログラムに基づく所定の機能の実行を前記アプリケーションプログラム実行部に指示するためのユーザインタフェースを生成するユーザインタフェース生成部と、
前記ユーザインタフェース生成部により生成されるユーザインタフェースを表示する表示部と、
前記ユーザインタフェースの構成要素であるユーザインタフェースオブジェクトを定義するユーザインタフェースオブジェクト定義情報を含むユーザインタフェース定義ファイルを格納するとともに、自装置の特性を示す装置依存情報を格納する記憶部と、を備えるユーザインタフェース生成装置であって、
前記ユーザインタフェースオブジェクト定義情報に基づき、前記ユーザインタフェースオブジェクトの選択を受け付ける選択画面を生成する選択画面生成部をさらに備え、
前記選択画面生成部は、複数の前記ユーザインタフェースの合成が指示された場合、当該指示された複数のユーザインタフェースの各々に対応して前記記憶部に格納されるユーザインタフェース定義ファイルに含まれるユーザインタフェースオブジェクト定義情報に基づき前記選択画面を生成し、
前記ユーザインタフェース生成部は、前記表示部においてユーザインタフェースの表示が可能であるユーザインタフェース表示領域と前記ユーザインタフェースオブジェクト定義情報とに基づいて、前記選択画面において選択されたユーザインタフェースオブジェクトの全てを表示可能か否か判定し、表示不可と判定された場合、当該選択されたユーザインタフェースオブジェクトの全てが表示可能になるよう、前記装置依存情報に基づいて、前記ユーザインタフェースオブジェクト定義情報に含まれる当該ユーザインタフェースオブジェクトの表示サイズに関するサイズ情報を書き換え、当該サイズ情報を書き換えたユーザインタフェースオブジェクト定義情報に基づいて合成ユーザインタフェースを生成するユーザインタフェース合成処理を行うことを特徴とするものである。
アプリケーションプログラムに基づいて各種の機能を実現するアプリケーションプログラム実行部と、
前記アプリケーションプログラムに基づく所定の機能の実行を前記アプリケーションプログラム実行部に指示するためのユーザインタフェースを生成するユーザインタフェース生成部と、
前記ユーザインタフェース生成部により生成されるユーザインタフェースを表示する表示部と、
前記ユーザインタフェースの構成要素であるユーザインタフェースオブジェクトを定義するユーザインタフェースオブジェクト定義情報を含むユーザインタフェース定義ファイルを格納するとともに、自装置の特性を示す装置依存情報を格納する記憶部と、を備えるユーザインタフェース生成装置であって、
前記ユーザインタフェースオブジェクト定義情報に基づき、前記ユーザインタフェースオブジェクトの選択を受け付ける選択画面を生成する選択画面生成部をさらに備え、
前記選択画面生成部は、複数の前記ユーザインタフェースの合成が指示された場合、当該指示された複数のユーザインタフェースの各々に対応して前記記憶部に格納されるユーザインタフェース定義ファイルに含まれるユーザインタフェースオブジェクト定義情報に基づき前記選択画面を生成し、
前記ユーザインタフェース生成部は、前記表示部においてユーザインタフェースの表示が可能であるユーザインタフェース表示領域と前記ユーザインタフェースオブジェクト定義情報とに基づいて、前記選択画面において選択されたユーザインタフェースオブジェクトの全てを表示可能か否か判定し、表示不可と判定された場合、当該選択されたユーザインタフェースオブジェクトの全てが表示可能になるよう、前記装置依存情報に基づいて、前記ユーザインタフェースオブジェクト定義情報に含まれる当該ユーザインタフェースオブジェクトの表示サイズに関するサイズ情報を書き換え、当該サイズ情報を書き換えたユーザインタフェースオブジェクト定義情報に基づいて合成ユーザインタフェースを生成するユーザインタフェース合成処理を行うことを特徴とするものである。
第8の観点に係るユーザインタフェース生成装置の発明は、
アプリケーションプログラムに基づいて各種の機能を実現するアプリケーションプログラム実行部と、
前記アプリケーションプログラムに基づく所定の機能の実行を前記アプリケーションプログラム実行部に指示するためのユーザインタフェースを生成するユーザインタフェース生成部と、
前記ユーザインタフェース生成部により生成されるユーザインタフェースを表示する表示部と、
前記ユーザインタフェースの構成要素であるユーザインタフェースオブジェクトを定義するユーザインタフェースオブジェクト定義情報を含むユーザインタフェース定義ファイルを格納するとともに、自装置の特性を示す装置依存情報を格納する記憶部と、を備えるユーザインタフェース生成装置であって、
前記ユーザインタフェースオブジェクト定義情報は、前記ユーザインタフェースを構成するユーザインタフェースオブジェクトのうち必須であるユーザインタフェースオブジェクトについて、必須のユーザインタフェースオブジェクトである旨を示す必須情報を含み、
前記ユーザインタフェース生成部は、前記表示部においてユーザインタフェースの表示が可能であるユーザインタフェース表示領域と、前記必須情報とに基づいて、前記必須のユーザインタフェースオブジェクトの全てを表示可能か否か判定し、表示不可と判定した場合、前記必須のユーザインタフェースオブジェクトの全てが表示可能となるよう、前記必須ユーザインタフェースオブジェクト定義情報に含まれる当該ユーザインタフェースオブジェクトの表示サイズに関するサイズ情報を書き換え、当該サイズ情報を書き換えたユーザインタフェースオブジェクト定義情報に基づいて合成ユーザインタフェースを生成するユーザインタフェース合成処理を行うことを特徴とするものである。
アプリケーションプログラムに基づいて各種の機能を実現するアプリケーションプログラム実行部と、
前記アプリケーションプログラムに基づく所定の機能の実行を前記アプリケーションプログラム実行部に指示するためのユーザインタフェースを生成するユーザインタフェース生成部と、
前記ユーザインタフェース生成部により生成されるユーザインタフェースを表示する表示部と、
前記ユーザインタフェースの構成要素であるユーザインタフェースオブジェクトを定義するユーザインタフェースオブジェクト定義情報を含むユーザインタフェース定義ファイルを格納するとともに、自装置の特性を示す装置依存情報を格納する記憶部と、を備えるユーザインタフェース生成装置であって、
前記ユーザインタフェースオブジェクト定義情報は、前記ユーザインタフェースを構成するユーザインタフェースオブジェクトのうち必須であるユーザインタフェースオブジェクトについて、必須のユーザインタフェースオブジェクトである旨を示す必須情報を含み、
前記ユーザインタフェース生成部は、前記表示部においてユーザインタフェースの表示が可能であるユーザインタフェース表示領域と、前記必須情報とに基づいて、前記必須のユーザインタフェースオブジェクトの全てを表示可能か否か判定し、表示不可と判定した場合、前記必須のユーザインタフェースオブジェクトの全てが表示可能となるよう、前記必須ユーザインタフェースオブジェクト定義情報に含まれる当該ユーザインタフェースオブジェクトの表示サイズに関するサイズ情報を書き換え、当該サイズ情報を書き換えたユーザインタフェースオブジェクト定義情報に基づいて合成ユーザインタフェースを生成するユーザインタフェース合成処理を行うことを特徴とするものである。
第9の観点に係る発明は、第1、第7、または第8のいずれか1つの観点に係るユーザインタフェース生成装置において、
前記ユーザインタフェースを介して前記アプリケーションプログラム実行部に前記アプリケーションプログラムに基づく所定の機能の実行を指示する入力を受け付ける操作入力受付部と、
前記操作入力受付部への操作入力手段を判別する操作入力手段判別部と、をさらに備え、
前記ユーザインタフェース生成部は、前記操作入力手段判別部で判別された操作入力手段に応じて前記装置依存情報を書き換えることを特徴とするものである。
前記ユーザインタフェースを介して前記アプリケーションプログラム実行部に前記アプリケーションプログラムに基づく所定の機能の実行を指示する入力を受け付ける操作入力受付部と、
前記操作入力受付部への操作入力手段を判別する操作入力手段判別部と、をさらに備え、
前記ユーザインタフェース生成部は、前記操作入力手段判別部で判別された操作入力手段に応じて前記装置依存情報を書き換えることを特徴とするものである。
第10の観点に係る発明は、第9の観点に係るユーザインタフェース生成装置において、
前記表示部において前記合成ユーザインタフェースの表示中に、前記操作入力手段判別部により前記操作入力手段の変更が検知された場合、前記ユーザインタフェース生成部は、当該変更された操作入力手段に応じて前記装置依存情報を書き換え、当該書き換えた装置依存情報に基づいて新たな合成ユーザインタフェースを生成することを特徴とするものである。
前記表示部において前記合成ユーザインタフェースの表示中に、前記操作入力手段判別部により前記操作入力手段の変更が検知された場合、前記ユーザインタフェース生成部は、当該変更された操作入力手段に応じて前記装置依存情報を書き換え、当該書き換えた装置依存情報に基づいて新たな合成ユーザインタフェースを生成することを特徴とするものである。
1 携帯電話
10 制御部
11 アプリケーションプログラム実行部
12 ユーザインタフェース取得部
13 ユーザインタフェース生成部
14 操作手段検出部
20 タッチパネル
22 入力部
24 表示部
30 無線通信部
40 赤外線通信部
50 記憶部
51 アプリケーションプログラム記憶領域
52 ユーザインタフェース定義ファイル記憶領域
53 個別ユーザインタフェースリソース記憶領域
54 共通ユーザインタフェースリソース記憶領域
55 関連アプリケーションプログラム情報記憶領域
56 合成ユーザインタフェース定義ファイル記憶領域
57 端末依存情報記憶領域
60 ユーザインタフェース合成処理部
61 ユーザインタフェースオブジェクト定義情報解析部
62 ユーザインタフェースオブジェクト選択処理部
63 合成ユーザインタフェース定義ファイル生成部
64 ユーザインタフェースリソース整形部
70 自動レイアウト処理部
71 配置設定部
72 配置可否判定部
73 縮小オブジェクト選択部
74 サイズ下限値設定部
80 操作キー部
90 スタイラス収納部
10 制御部
11 アプリケーションプログラム実行部
12 ユーザインタフェース取得部
13 ユーザインタフェース生成部
14 操作手段検出部
20 タッチパネル
22 入力部
24 表示部
30 無線通信部
40 赤外線通信部
50 記憶部
51 アプリケーションプログラム記憶領域
52 ユーザインタフェース定義ファイル記憶領域
53 個別ユーザインタフェースリソース記憶領域
54 共通ユーザインタフェースリソース記憶領域
55 関連アプリケーションプログラム情報記憶領域
56 合成ユーザインタフェース定義ファイル記憶領域
57 端末依存情報記憶領域
60 ユーザインタフェース合成処理部
61 ユーザインタフェースオブジェクト定義情報解析部
62 ユーザインタフェースオブジェクト選択処理部
63 合成ユーザインタフェース定義ファイル生成部
64 ユーザインタフェースリソース整形部
70 自動レイアウト処理部
71 配置設定部
72 配置可否判定部
73 縮小オブジェクト選択部
74 サイズ下限値設定部
80 操作キー部
90 スタイラス収納部
以下、本発明の各実施の形態について、図面を参照して説明する。以下の各実施の形態では、本発明のユーザインタフェース(以下、「UI」と記す)生成装置の一例として、各種外部機器の遠隔制御が可能なリモコン機能を実装した携帯電話を想定して説明する。しかしながら、本発明のUI生成装置は携帯電話に限定されるものではなく、例えばノートパソコンやPDAなどの任意の携帯端末などに適用することができる。また、本発明の実装を必要とする装置であれば、携帯端末にも限定されることはない。なお、本発明は、複数のUIを同時に使用できるように合成することを主目的とするものであり、各UIにより指示を受けるアプリケーションはリモコン機能に限定されるものではなく、任意の各種アプリケーションに適用することができる。
(第1実施の形態)
図1は、本発明の第1実施の形態に係るUI生成装置である携帯電話の概略構成を示すブロック図である。
図1は、本発明の第1実施の形態に係るUI生成装置である携帯電話の概略構成を示すブロック図である。
携帯電話1は、全体を制御する制御部10と、ユーザからの入力を受け付けると共に、各アプリケーションに応じて入力結果などの表示を行うタッチパネル20とを備えている。タッチパネル20は、ユーザからの入力を受け付けるマトリクススイッチなどで構成した入力部22を、液晶ディスプレイなどで構成した表示部24の前面に重畳させて構成する。タッチパネル20の入力部22は、ユーザの指先またはスタイラスのようなペン型入力デバイス等が接触するのを検知することにより、当該接触による入力に対応する信号を出力する。表示部24は、アプリケーションプログラムに関する表示をする他、ユーザの操作入力を受け付ける各種キーやボタンなどのUIオブジェクトにより構成されるUIを所定のUI表示領域に描画して表示する。
また、携帯電話1は、図示しない基地局と音声通話および電子メールのデータなど各種情報をインターネットや無線等を使って送受信する無線通信部30と、図示しない各種外部機器と赤外線により通信を行う赤外線通信部40とを備えている。無線通信部30を用いて、携帯電話1は、インターネットや無線等を介して端末外部と各種データの送受信を行う。
さらに、携帯電話1は、操作キー部80およびスタイラス収納部90も備えている。操作キー部80は、携帯電話1本体に配設された機械式のスイッチなどで構成される複数のキー、または表示部24に表示されるポインタを移動させるための方向指示キーもしくは方向指示デバイスなどを含む。この操作キー部80は、ユーザによる操作入力に応じて、対応する信号を制御部10に送信する。操作キー部80を構成する各種キーは、使用するアプリケーションに従って、その用途および機能が規定される。したがって、本実施の形態では、タッチパネル20の入力部22および操作キー部80を含んで操作入力受付部を構成する。
スタイラス収納部90は、タッチパネル20の入力部22に対して入力を行うペン型入力デバイスであるスタイラスを収納する。このスタイラス収納部90にスタイラスを収納することにより、スタイラスを携帯電話1の本体内に収納できる。このスタイラス収納部90は、スタイラスの着脱を検知する図示しないスイッチを備えている。すなわち、このスイッチは、スタイラスがスタイラス収納部90に収納される動作と、スタイラス収納部90から抜き出される動作とに応じて、オンまたはオフが切り換わる。したがって、スタイラス収納部90からの信号により、制御部10は、スタイラス収納部90にスタイラスが収納されているか否か、すなわち携帯電話1本体にスタイラスが収納されているか否かを判別できる。
さらに、携帯電話1は、入力された情報および各種アプリケーション等を記憶したり、ワークメモリなどとしても機能する記憶部50を有する。記憶部50は、アプリケーション記憶領域51と、UI定義ファイル記憶領域52と、個別UIリソース記憶領域53と、共通UIリソース記憶領域54と、関連アプリケーション情報記憶領域55と、合成UI定義ファイル記憶領域56と、端末依存情報記憶領域57とを含む。
なお、制御部10は、アプリケーション実行部11と、UI取得部12と、UI生成部13と、操作手段検出部14とを含んでいる。
制御部10において、アプリケーション実行部11は、記憶部50のアプリケーション記憶領域51に保存された各種アプリケーションを読み出して実行すると共に、当該実行に関する制御を行う。また、アプリケーション実行部11は、アプリケーション記憶領域51から読み出して実行している各種アプリケーションに対応するUIへの入力に基づいて、当該入力に対応する各種アプリケーションの機能を実行する。
UI取得部12は、無線通信部30などを介して端末の外部にあるリソース(画像データ等)およびUI定義ファイル(XMLファイルなど)を取得する。UI生成部13は、UI定義ファイルに対してパース処理(パーシング)およびDOM(Document Object Model)化処理などを行い、実際に使用するUIを生成する。なお、UI生成部13は、XMLの形式で記述されたUIの情報をXMLエンジンによって解釈し、UI定義ファイルに基づいて生成されたUIをタッチパネル20の表示部24に表示する。
UI生成部13は、その内部に、複数のUI定義ファイルに基づいてUIの合成処理を行うUI合成処理部60を含む。また、UI合成処理部60は、UIオブジェクト定義情報解析部61と、UIオブジェクト選択処理部62と、合成UI定義ファイル生成部63と、UIリソース整形部64と、自動レイアウト処理部70とを含む。
UIオブジェクト定義情報解析部61は、UI定義ファイルに含まれる、各種のUIオブジェクトを定義するUIオブジェクト定義情報を解析する。
UIオブジェクト選択処理部62は、多数のUIオブジェクトの中から、必要とするUIオブジェクトを、自動的にまたはユーザの入力により選択する処理を行う。ユーザの入力により選択を行う場合、UIオブジェクト選択処理部62は、表示部24に描画するUIオブジェクトを定義するUIオブジェクト定義情報を解析することにより、ユーザによるUIオブジェクトの選択入力を受け付ける選択画面を生成する処理および制御を行う。以下、UIオブジェクトの情報を表示部24に表示して、ユーザによる選択入力を受け付ける画面を、「UIオブジェクト選択画面」または単に「選択画面」と記す。したがって、本実施の形態では、UIオブジェクト選択処理部62は選択画面生成部を構成する。さらに、UIオブジェクト選択処理部62は、複数のUIを合成するよう指示されると、指定された複数のUI定義ファイルに基づいてUIの合成を行う。
なお、UIオブジェクト選択処理部62は、UIオブジェクト選択画面上で、選択されたUIオブジェクトが占める占有率を積算する占有率積算部(図示せず)を含む。この占有率積算部は、各UIオブジェクトのUIオブジェクト定義情報に含まれるUIオブジェクト属性情報と、端末依存情報記憶領域57に記憶された端末依存情報(装置依存情報)とに基づいて、UIオブジェクトの占有率を積算する。
合成UI定義ファイル生成部63は、UI合成処理部60によって合成されたUIを合成UI定義ファイルとして生成して出力する。
UIリソース整形部64は、各UIオブジェクトの表示サイズに基づいて、選択されたUIオブジェクトのプレビュー処理や、UIを合成する際に利用するリソースのデータの拡大または縮小処理などを行う。なお、この場合、個別UIリソース記憶領域53または共通UIリソース記憶領域54に記憶されているリソースのデータを読み出して使用する。
自動レイアウト処理部70は、UIを合成する際のレイアウトに関する制御および処理を行う。このため、自動レイアウト処理部70は、配置設定部71と、配置可否判定部72と、縮小オブジェクト選択部73と、サイズ下限値設定部74とを含む。
配置設定部71は、所定の手順に従ってUIオブジェクトの配置を行う。配置設定部71はさらに、図示しないマージン設定部を含む。このマージン設定部は、UIオブジェクトを配置する際に、当該UIオブジェクトが他のUIオブジェクトまたはUI表示領域の縁部などに近接し過ぎないように、適度な間隔(マージン)を設定する。配置可否判定部72は、配置設定部71により配置されたUIオブジェクトが所定のUI表示領域内に配置可能か否かを判定する。縮小オブジェクト選択部73は、配置可否判定部72によりUIオブジェクトが所定のUI表示領域内に配置不可と判定された場合、所定の手順に従って、縮小するUIオブジェクトを選択する。サイズ下限値設定部74は、端末依存情報やUIオブジェクト定義情報に従って、UIオブジェクト毎にそれぞれの縮小の下限値を設定する。
操作手段検出部14は、ユーザが入力操作を行う手段を検知する。例えば、タッチパネル20の入力部22からの入力信号があれば、操作手段検出部14は、ユーザがタッチパネルにより入力を行っていると判別する。また、操作キー部80からの入力信号があれば、操作手段検出部14は、ユーザが操作キーにより入力を行っていると判別する。
なお、タッチパネル20の入力部22からの入力が検知された際、入力部22上で入力が検知された領域の面積が所定の面積以上である場合には、操作手段検出部14は、ユーザが指による入力を行っていると判別する。一方、入力が検知された領域の面積が所定の面積以下で非常に小さな面積の入力の場合には、操作手段検出部14は、ユーザがスタイラスのような先細の入力デバイスを用いて入力を行っていると判別する。他にも、スタイラス収納部90からスタイラスが抜き出されたことが検知されると、操作手段検出部14は、その後はスタイラスによる入力が行われると判別する。また、スタイラス収納部90にスタイラスが収納されたことが検知されると、操作手段検出部14は、その後に行われる入力はスタイラスによる入力ではないと判別する。すなわち、この場合、操作手段検出部14は、タッチパネル20上で指による入力が行われるか、または操作キー部80からの入力が行われると判別する。
さらに、所定の操作に応じて、表示部24に入力箇所を指定するポインタが表示された場合、操作手段検出部14は、操作キー部80からの入力のうち、当該ポインタを移動させるための方向指示キーまたは方向指示デバイスなどからの入力が行われると判別する。
記憶部50において、アプリケーション記憶領域51には、各種の機能を実現する為の処理手順が記載されたデータで構成される、各種のアプリケーションを記憶する。UI定義ファイル記憶領域52には、各UIがそれぞれUI全体を生成する際の一連の生成ルールを定義するUI定義ファイルを記憶する。また、個別UIリソース記憶領域53は、各アプリケーション固有のUIを生成する際に使用する画像データや文字列(テキスト)データなどの個別UIリソースを記憶する。共通UIリソース記憶領域54は、各アプリケーション固有の個別UIリソース以外の、端末にて用いられる、UIが共有して使用する画像データやフォントのデータなどの共通UIリソースを記憶する。実際にUIを生成する際には、個別UIリソース記憶領域53および共通UIリソース記憶領域54に記憶された画像データおよびテキストデータなどを、タッチパネル20の表示部24に表示する。
また、関連アプリケーション情報記憶領域55には、UIオブジェクトに関連するアプリケーションに対する起動情報などを含む関連アプリケーション情報を記憶する。さらに、合成UI定義ファイル記憶領域56は、合成UI定義ファイル生成部63が生成した合成UI定義ファイルを記憶する。端末依存情報記憶領域57は、自端末で利用可能なフォント情報、入力デバイス情報、画面サイズ情報など、その端末および表示部24に依存する、当該端末固有の特性を示す情報である端末依存情報(装置依存情報)を記憶する。
次に、本実施の形態にてUI定義ファイル記憶領域52に記憶するUI定義ファイルについて説明する。
記憶部50のUI定義ファイル記憶領域52には、アプリケーション記憶領域51に記憶された各アプリケーションが実行される際に必要なUIの、当該アプリケーションに対応した各仕様および動作などを定義するUI定義ファイルが記憶される。異なるアプリケーションで同じUIを使う状況も考えられるが、ここでは説明の便宜のため、異なるアプリケーションに対してそれぞれ異なるUIを用いる場合を想定し、各アプリケーションに対応した各UI定義ファイルを保存する場合について説明する。
例えば、図示しない外部機器であるテレビ受像機を携帯電話1にて遠隔制御するテレビリモコンアプリケーションに対応して、テレビリモコンUI定義ファイルをUI定義ファイル記憶領域52に記憶する。同様に、図示しない外部機器のエアコンディショナーを携帯電話1にて遠隔制御するエアコンディショナーリモコンアプリケーションに対応して、エアコンディショナーリモコンUI定義ファイルをUI定義ファイル記憶領域52に記憶する。
本実施の形態では、UI定義ファイルを記述する言語の例として、XML言語をベースにしたUIML(User Interface Markup Language)の形式に従って説明する。各UIを起動して使用可能にする際には、UI生成部13は、このUIMLファイル形式で記述される定義に従って、携帯電話1のタッチパネル20の表示部24にUIを表示し、アプリケーション実行部11は、ユーザによる入力部22に対する入力に応じた処理を行う。
図2は、UI定義ファイルの構成を説明する概念図である。図2に示すように、携帯電話1の記憶部50内のUI定義ファイル記憶領域52には、各UIがそれぞれUI全体を生成する際の一連の生成ルールを定義するUI定義ファイルを格納する。図2では、UI定義ファイル(1)〜(6)の6つのUI定義ファイルを格納しているが、使用するUIに応じて、UI定義ファイル記憶領域52には任意の数のUI定義ファイルを格納できる。
また、各UI定義ファイルは、図2に示すように、複数のUIオブジェクト定義情報を含む。図2では、UI定義ファイル(2)は6つのUIオブジェクト定義情報を含んでいるが、実際には、当該UI定義ファイル(2)に基づいて構成されるUIが含むUIオブジェクトの個数に対応する数のUIオブジェクト定義情報を含む。
UI定義ファイルに含まれるそれぞれのUIオブジェクト定義情報は、図示のように、当該UIオブジェクト定義情報により定義されるUIオブジェクトに関連する各種の属性を表す情報を含む。以下、UIオブジェクト定義情報に含まれる代表的な情報を例示する。
(1)部品(UIオブジェクト)の種別情報:当該UIオブジェクトがボタンやキーの機能を持つものか、情報表示のテキストボックス機能を持つものか、表示部24に表示するだけの画像としての機能かなど、種別を特定する情報
(2)UIオブジェクトに使用するリソース情報:表示部24に表示するUIを構成する要素であるキーまたはボタンなどのUIオブジェクトを描画するための画像およびテキストを定義する情報
(3)UIオブジェクトを配置する位置情報:当該UIオブジェクトを所定のUI表示領域のどの位置に表示するかを特定する情報
(4)UIオブジェクトの表示サイズ情報:当該UIオブジェクトをUI表示領域に表示する際のサイズを特定する情報
(5)UIオブジェクトの動作条件情報:当該UIオブジェクトに入力がされた際の(実際にはUIオブジェクトに対応する入力部22の部位に入力がされた際の)、アプリケーションに対する動作を定義する情報
(6)UIオブジェクトを有効または無効にする情報:当該UIオブジェクトをUI表示領域に表示するか否か、またはUIオブジェクトをアクティブ状態にするか否かを特定する情報
(7)UIオブジェクトの優先順位情報:当該UIオブジェクトと他のUIオブジェクトとの関係に基づいて複数のUIを合成する際に、当該オブジェクトの優先度を示す情報
(8)当該UIオブジェクトと他のオブジェクトとの関連性情報:当該UIオブジェクトが他のUIオブジェクトと所定の関連性を有する場合に当該関連性を特定する情報
(1)部品(UIオブジェクト)の種別情報:当該UIオブジェクトがボタンやキーの機能を持つものか、情報表示のテキストボックス機能を持つものか、表示部24に表示するだけの画像としての機能かなど、種別を特定する情報
(2)UIオブジェクトに使用するリソース情報:表示部24に表示するUIを構成する要素であるキーまたはボタンなどのUIオブジェクトを描画するための画像およびテキストを定義する情報
(3)UIオブジェクトを配置する位置情報:当該UIオブジェクトを所定のUI表示領域のどの位置に表示するかを特定する情報
(4)UIオブジェクトの表示サイズ情報:当該UIオブジェクトをUI表示領域に表示する際のサイズを特定する情報
(5)UIオブジェクトの動作条件情報:当該UIオブジェクトに入力がされた際の(実際にはUIオブジェクトに対応する入力部22の部位に入力がされた際の)、アプリケーションに対する動作を定義する情報
(6)UIオブジェクトを有効または無効にする情報:当該UIオブジェクトをUI表示領域に表示するか否か、またはUIオブジェクトをアクティブ状態にするか否かを特定する情報
(7)UIオブジェクトの優先順位情報:当該UIオブジェクトと他のUIオブジェクトとの関係に基づいて複数のUIを合成する際に、当該オブジェクトの優先度を示す情報
(8)当該UIオブジェクトと他のオブジェクトとの関連性情報:当該UIオブジェクトが他のUIオブジェクトと所定の関連性を有する場合に当該関連性を特定する情報
本実施の形態では、ユーザの選択に基づいて、1つのUI表示領域内に複数のUIオブジェクトを表示する。この際に、1つのUIの中から複数のUIオブジェクトを選択して採用することも、複数のUIにまたがって複数のUIオブジェクトを選択して採用することもできる。各UIには対応するUI定義ファイルがそれぞれ存在するが、ユーザが任意に選択したUIオブジェクトにより構成される合成UIには、対応するUI定義ファイルが元々は存在しない。そのため、ユーザの選択によるUIオブジェクトにより構成される合成UIを生成した際には、当該合成UIに基づく合成UI定義ファイルを生成して保存する。
図3は、合成UI定義ファイルの構成を説明する概念図である。合成UI定義ファイルは、複数のUI定義ファイルに含まれるUIオブジェクト定義情報を部分的に抜き出し、1つのUI定義ファイルにまとめたものである。複数のUIの合成に際しては、UI合成処理部60において、UIオブジェクト選択処理部62が、各UI定義ファイルに基づいてUIオブジェクト選択画面を生成し、ユーザが選択したUIオブジェクトのUIオブジェクト定義情報を抽出する。合成UI定義ファイル生成部63は、抽出されたUIオブジェクト定義情報をまとめて1つの合成UI定義ファイルにする。これは、ユーザの視点から見ると、複数のUIからUIオブジェクトをいくつか選択して採用し、1つの合成UIを生成したことになる。なお、UI合成処理部60は、合成UI定義ファイルを生成する際に、必要に応じてUIオブジェクト定義情報を加工してから、合成UIとして1つの定義ファイルにまとめることができる。
例えば、図4は、図2および図3に示したような各UI定義ファイルに基づいて生成される、種々のリモコンアプリケーション用UIを表示した例を示す図である。UI定義ファイルがXMLをベースにしたUIMLのファイル形式で記述されている場合には、これらの各UIMLのファイルを解析してUIを生成すると、表示部24の所定のUI表示領域内に適切に収まるような一画面用のUIが表示される。それぞれのUIのUI定義ファイルでは、各UIを構成するUIオブジェクトについて、UIオブジェクト定義情報により各種の属性が定義されている。
このようなUIは、それぞれ単独で用いられることを想定して構成された(つまり合成UIとして使用されることを想定していない)UIであってもよい。その場合でも、UI合成処理部60による上述した合成UI生成の処理を行うことで、ユーザが選択した任意のUIオブジェクトを複数選択して採用した1つの合成UIを構成する合成UI定義ファイルを生成できる。
次に、第1実施の形態に係る携帯電話1によるUIオブジェクト縮小処理について説明する。本実施の形態では、ユーザが複数のUIから所望のUIオブジェクトを選択して合成UIを生成する際に、表示部24上で所定のUI表示領域にUIオブジェクトが収まらなくなった際にUIオブジェクト縮小処理を行う。
このため、UIオブジェクト選択処理部62は、まず、図5(A)に示すように、UIオブジェクト定義情報に基づいて、ユーザによるUIオブジェクトの選択入力を受け付けるUIオブジェクト選択画面を生成して表示部24に表示する。図5(A)に示した例では、エアコンディショナーリモコンUIと、TVリモコンUIと、照明リモコンUIとの各UIの中から、所望のUIオブジェクトを選択できる。なお、図5(A)においては、チェックボックスにハッチングが施されている場合に、そのUIオブジェクトが選択されていることを示している。タッチパネル20上で(入力部22にて)ユーザがチェックボックスを押下して入力する等してUIオブジェクトが選択されると、占有率積算部(図示せず)は、選択されたUIオブジェクトが所定のUI表示領域において占める面積の占有率を積算する。図5(A)に示した例では、ユーザが複数のUIの中からいくつかのUIオブジェクトを選択し、これらのUIオブジェクトが占める積算占有率が85%になっていることが、表示部24下方の棒グラフ表示によって示してある。
このようにしてUIオブジェクトが複数選択されると、自動レイアウト処理部70の配置設定部71は、所定の条件にしたがってUIオブジェクトを仮想的に配置する。ユーザがUIオブジェクトの配置を視覚的に確認したい場合には、図5(A)の表示部24の右下端に示す「プレビュー」のソフトキーへの入力に基づいて、UIオブジェクト選択処理部62は、図5(B)に示すようなプレビュー画面を表示部24に表示する。図5(B)に示すUI表示領域の右下方には、占有率15%の空き領域があることが示してあり、この空き領域に、さらにUIオブジェクトを追加することができる。
ここで、図5(C)に示すように、UI表示領域の右下方にある残り15%の空き領域に、さらに照明リモコン用UIの電源ボタン(電源UIオブジェクト)を追加する入力があったとする。なお、この電源ボタンのUIオブジェクトは、他のUIオブジェクトやUI表示領域の縁部と近接し過ぎると操作性が悪化するため、実際に入力を受け付ける箇所の周囲に(破線で示す)適度な間隔(マージン)を設定してある。この場合、図に示すように、電源UIオブジェクトの横幅のサイズがUI表示領域に収まらないため、当該UIオブジェクトをこのまま配置することはできない。そのため、本実施の形態では、配置設定部71がUIオブジェクトを配置する際に、当該UIオブジェクトは配置不可能であると配置可否判定部72が判定した場合、例えば図5(D)に示すような警告を表示部24に表示して、本実施の形態のUIオブジェクト縮小処理を行う。
すなわち、UIオブジェクト選択処理部62が生成したUIオブジェクト選択画面に対してUIオブジェクトを選択する入力があったら、選択処理部71は、当該UIオブジェクトを仮想的に配置する。この時、配置可否判定部72は、当該UIオブジェクトのUIオブジェクト定義情報と、端末依存情報記憶領域57に記憶された端末依存情報に基づいて、当該UIオブジェクトを配置した際に、所定のUI表示領域に収まるか否かを判定する。本実施の形態では、端末依存情報は、当該端末のUIを表示する表示部24の表示性能に関する情報である。例えば、この端末依存情報は、表示部24に表示するUI表示領域の大きさ(面積)、画面解像度、表示できる最小フォントサイズ、表示する文字の行の最小行間隔などとする。また、端末依存情報は、入力デバイスに関する情報(入力デバイスがスタイラスか、指を用いた入力か等)も含む。
配置可否判定部72がUIオブジェクトの配置の可否を判定した結果、配置可能であれば、自動レイアウト処理部70は、当該UIの採用を決定するとともに、当該UIオブジェクトのUIオブジェクト定義情報を合成UI定義ファイルに含める。しかしながら、当該UIオブジェクトの配置が不可であると判定された場合は、縮小オブジェクト選択部73が、当該UIオブジェクト、つまり最後に選択されたUIオブジェクトを縮小処理の対象として選択する。
次に、UI合成処理部60は、縮小処理の対象として選択されたUIオブジェクトに対して縮小処理を行う。この際、UIオブジェクトの縮小処理は、縮小し過ぎて操作性を害することを防止するために、サイズ下限値設定部74により設定されたUIオブジェクトの表示サイズの最小値を下限として行う。なお、サイズ下限値設定部74による、UIオブジェクトの表示サイズの最小値(下限値)の設定処理については後述する。追加するUIオブジェクト(この場合、電源UIオブジェクト)が、サイズ下限値設定部74により設定された最小値を下限として縮小することで、所定のUI表示領域に収まるように配置可能と判定された場合、自動レイアウト処理部70は、当該UIオブジェクトのUIオブジェクト定義情報に含まれるサイズ情報を書き換えてから、合成UI定義ファイルに含める。
例えば、図5(D)に示したように、追加する照明リモコン用UIの電源UIオブジェクトを縮小する警告表示をした後、図6(A)の選択画面に示すように、照明リモコン用UIの電源UIオブジェクトの占有率を10%から7%に縮小する。これにより、プレビュー表示は図6(B)に示すような画面になり、照明リモコン用UIの電源UIオブジェクトを縮小することにより、UI表示領域内に収まることがわかる。
また、図6(C)に示す選択画面にて、照明リモコン用UIの「豆電」UIオブジェクトをさらに追加する際、もともとのサイズ(占有率10%)ではUI表示領域(残り8%)に収まらない。しかしながら、上述した手順と同様に、豆電UIオブジェクトの占有率を10%から8%に縮小することで、図6(D)のプレビュー画面に示すように、UI表示領域内に収めることができる。
続いて、図7(A)に示す選択画面にて、照明リモコン用UIの「省電」UIオブジェクトをさらに追加する場合の動作について説明する。図6(C)および図6(D)に示した段階にて、積算占有率はすでに100%になっているため、図7(A)に示すように占有率が10%の「省電」UIオブジェクトは、図7(B)に示すように、このままでは追加することができない。
そこで、上述したように、最後に選択されたUIオブジェクトを縮小する。この場合、まずは最後に選択された「省電」UIオブジェクトを縮小する。しかしながら、図7(C)に示すように、もともとの積算占有率がすでに100%のため、「省電」UIオブジェクトは、当該UIオブジェクトの操作性を確保するために設定された表示サイズの最小値(例えば占有率5%とする)まで縮小しても、図7(D)に示すように、このままでは追加することはできない。
そこで、本実施の形態によるUIオブジェクト縮小処理では、縮小オブジェクト選択部73は、最後に選択されたUIオブジェクトの1つ前に選択されたUIオブジェクトを次の縮小処理の対象として選択する。次に、UI合成処理部60は、縮小処理の対象として選択されたUIオブジェクトに対して、当該UIオブジェクトの表示サイズの最小値を限度(下限)として縮小処理を行う。
図8(A)に示す選択画面は、最後に選択された「省電」UIオブジェクト、およびその1つ前に選択された「豆電」UIオブジェクトを縮小処理の対象として選択した状態を示す。なお、「豆電」UIオブジェクトに設定された表示サイズの最小値(下限値)も、例として占有率5%とする。しかしながら、図8(B)のプレビュー表示に示すように、「省電」および「豆電」の2つのUIオブジェクトを下限値まで縮小しても、積算占有率はまだ100%を超えるため、「省電」UIオブジェクトは追加できない。
そこで、縮小オブジェクト選択部73は、さらに1つ前に選択されたUIオブジェクトを次の縮小処理の対象として選択する。UI合成処理部60は、選択されたUIオブジェクトに対して、UIオブジェクトの表示サイズの最小値を限度(下限)として縮小処理を行う。
図8(C)に示す選択画面は、最後に選択された照明リモコン用UIの「省電」UIオブジェクトと、その1つ前に選択された「豆電」UIオブジェクトと、さらに1つ前に選択された「電源」UIオブジェクトとを縮小処理の対象として選択した状態を示す。なお、「電源」UIオブジェクトに設定された表示サイズの最小値(下限値)も、例として占有率5%とする。すると、図8(D)のプレビュー表示に示すように、「省電」、「豆電」および「電源」の3つのUIオブジェクトを下限値まで縮小すると、積算占有率が100%になるため、「省電」UIオブジェクトを追加できる。
この後は、上述したように、自動レイアウト処理部70は、「省電」、「豆電」および「電源」の3つのUIオブジェクトのUIオブジェクト定義情報に含まれるサイズ情報を書き換えてから、合成UI定義ファイルに含める。
このように、本実施の形態では、新たにUIオブジェクトを選択して追加する場合に、ユーザが選択した順序に基づき、選択したUIオブジェクトの選択順序が後のものから(最後に選択させたものから遡って)順に縮小処理を行ってから配置する。これは、選択した順序が早いものほどユーザにとっては重要なUIオブジェクトであり、選択した順序が後のものほど重要度が低いUIオブジェクトであるという傾向に基づく。
次に、サイズ下限値設定部74による、UIオブジェクトの表示サイズの最小値(下限値)の設定処理について説明する。前述のUIオブジェクト縮小処理を行う際は、UI合成処理部60がUIオブジェクトを縮小し過ぎて操作性を害することの無いよう、UIオブジェクトの表示サイズの最小値を設定しておく必要がある。
図9は、UIオブジェクトの表示サイズ最小値(下限値)の設定処理を説明するフローチャートである。
まず、UIオブジェクト定義情報解析部61は、UI定義ファイルに含まれるUIオブジェクトのUIオブジェクト定義情報の数(m)をカウントするとともに、サイズ下限値設定部74は、下限値設定の対象とするUIオブジェクト定義情報の番号nの初期値としてn=1を設定する(ステップS11)。
次に、サイズ下限値設定部74は、合成するために選択したUIを構成するn番目のUIオブジェクト定義情報を取得して(ステップS12)、取得したn番目のUIオブジェクト定義情報の属性を表す各種の係数a〜dに初期値を設定する(ステップS13)。
この後、サイズ下限値設定部74は、n番目のUIオブジェクトのUIオブジェクト定義情報に含まれる各種の属性を表す情報、および端末依存情報記憶領域57に記憶された端末依存情報に基づいて、UIオブジェクトの種別により、設定した係数の初期値を更新して新たな係数値を設定する。
すなわち、ステップS14にて、当該UIオブジェクトがテキスト系のものである場合、サイズ下限値設定部74は、最小フォントサイズなどに基づいて係数aを設定する(ステップS15)。例えば、キーまたはボタンの画像の上に機能名を表示するテキストを含むUIオブジェクトや、各種情報を表示するテキストボックスのようなUIオブジェクトの場合には、携帯電話1の表示部24にて表示できる最小フォントサイズおよび最小行間隔など、端末依存情報記憶領域57に記憶された端末依存情報に応じて係数aが設定される。
また、ステップS16にて、当該UIオブジェクトがリスト表示系のものである場合、サイズ下限値設定部74は、リスト1行分の幅などに基づいて係数bを設定する(ステップS17)。例えばリストボックスのように、複数行で表示された項目の中からユーザの選択を受け付ける表示形式の場合、選択項目をスクロール表示するなどして、選択項目を列記する行数を減らすことができる。この場合にも、携帯電話1の表示部24にて表示できる最小フォントサイズおよび最小行間隔など、端末依存情報に応じて係数bが設定される。
また、ステップS18にて、当該UIオブジェクトが画像表示系のものである場合、サイズ下限値設定部74は、画像の解像度や用途などに基づいて係数cを設定する(ステップS19)。例えば、UIオブジェクトの画像の解像度に基づく場合は、UIオブジェクト定義情報に含まれる画像の属性情報に対して、端末依存情報を加味して係数cを設定できる。また、画像表示系のUIオブジェクト定義情報に含まれる、当該画像を表示部24に表示するレイヤの情報から、画像の用途をある程度特定できる。すなわち、上位レイヤに表示する画像は、キーやボタンなどのUIオブジェクトとして使用される傾向があるため、所定の大きさ以下に縮小されないように係数cを設定する。また、下位レイヤに表示する画像は、表示部24に下地として表示する背景画像として使用される傾向があるため、縮小の自由度を高くするような係数cを設定する。
さらに、ステップS20にて、当該UIオブジェクトがボタンまたはチェックボックス等のユーザ操作系のものである場合、サイズ下限値設定部74は、操作部の仕様などに基づいて係数dを設定する(ステップS21)。例えば、UIオブジェクトがキーまたはボタンなどユーザの入力操作に関するものである場合、表示部24におけるUI表示領域の大きさなど、端末依存情報に応じて係数dが設定される。また、ユーザが指を用いて入力する場合や、スタイラスのような専用の入力デバイスを用いて入力する場合などの入力デバイス情報にも応じて、入力部22の仕様に基づいて、係数dが設定される。なお、入力デバイス情報は、端末依存情報に含まれている。
各係数a〜dの設定が完了したら、サイズ下限値設定部74は、設定された各係数に基づいて、当該UIオブジェクトの表示サイズの下限値を設定する(ステップS22)。
以後、サイズ下限値設定部74は、n番目のUIオブジェクトの序数(n)を、全UIオブジェクトの個数(m)と比較し(ステップS23)、同じ数になっていれば(ステップS24のYes)、全てのUIオブジェクトについて下限値の設定が完了したため下限値の設定処理を終了する。
一方、UIオブジェクトの序数(n)が全UIオブジェクトの個数(m)と同じ数になっていない、つまり、まだ全UIオブジェクトに対して下限値の設定処理が完了していない場合には(ステップS24のNo)、nに1を加算してから(ステップS25)、ステップS12に戻って処理を続行する。
なお、上述した処理において、例えばキーまたはボタンのUIオブジェクトなど、画像の上にさらにテキストが重畳表示されるUIオブジェクトの場合のように、上記処理における係数の2つ以上(例えばaおよびdなど)が重畳的に設定される場合もある。
以下、UIオブジェクトを縮小するサイズの最小値について、さらに具体的に説明する。上述したように、各UIオブジェクトを縮小する際のサイズの下限値は、種々のパラメータによって設定できる。
図10は、ユーザが指を用いて入力する場合の入力デバイス情報を含む端末依存情報に応じて設定された、UIオブジェクトの縮小の下限値を、UIオブジェクトの種別ごとに示した図である。なお、図10(A)の上部に示すように、ユーザが携帯電話1を操作する際に、その操作を行う手段がタッチパネル20の入力部22に触れる標準的な接触面積の大きさを、以下「基準サイズ」と記す。この基準サイズは、各ユーザにより、また各操作手段(指で入力するかスタイラスを用いて入力するか等)により異なることが想定されるため、所定の各基準サイズを予め設定しておく他、最初に携帯電話1を起動して初期設定を行う際などにユーザに登録を促すのが望ましい。各基準サイズを登録する際は、これらを端末依存情報として記憶部50の端末依存情報記憶領域57に記憶する。スタイラスなど端末付属のデバイスを操作手段とする場合の基準サイズは、端末依存情報として予め登録することもできる。
縮小対象のUIオブジェクトがButton Widget(ユーザ操作系)の場合、図10(A)に示すように、UIオブジェクトを表示部24に表示した際に、例えばユーザの人差し指が入力部22に接触する際の接触面積の大きさを基準サイズとし、この基準サイズに基づいて、各UIオブジェクトを縮小する下限値を設定する。なお、各UIオブジェクトの縮小処理を行う際には、例えば縦横比を一定にして縮小する。図10においては、図の左側に示した各UIオブジェクトについて、各種条件に基づいて設定し得る下限値まで当該UIオブジェクトを縮小した結果を、図の右側に示してある。
縮小対象のUIオブジェクトがTextBox Widget(テキスト系)の場合、図10(B)に示すように、表示部24に表示できる最小フォントサイズ、または表示部24に表示した際にユーザにとっての視認性を確保できるフォントサイズに基づいて、各UIオブジェクトを縮小する下限値を設定する。
縮小対象のUIオブジェクトがImage Widget(画像表示系)の場合、図10(C)に示すように、各画像の用途に応じて所定の縮小倍率を下限値に設定し、例えば背景イメージであれば、各UIに対して定められるUI表示領域全体を下限値とする。図10(C)に示す例では、破線で囲んで示したユーザ操作系テレビリモコン用UIに含まれる各UIオブジェクトの全体的な配置領域に基づいて、この領域と同じ大きさに、背景として用いる画像を縮小した様子を示している。
このように、各UIオブジェクトを縮小する下限値は、UIオブジェクトの種別毎に端末依存情報によって決定される。この下限値により、UIオブジェクトの縮小処理を行う際に、縮小し過ぎて操作性や視認性が低下してしまうことは防止される。
図11は、ユーザがスタイラスを用いて入力する場合の入力デバイス情報を含む端末依存情報に応じて設定された、UIオブジェクトの縮小の下限値を、UIオブジェクトの種別ごとに示した図である。
縮小対象のUIオブジェクトがButton Widget(ユーザ操作系)の場合、図11(A)に示すように、UIオブジェクトを表示部24に表示した際に、スタイラスが入力部22に接触する際の接触面積の大きさを基準サイズとし、この基準サイズに基づいて、各UIオブジェクトを縮小する下限値を設定する。図11(A)に示すように、縮小対象のUIオブジェクトがButton Widget(ユーザ操作系)の場合、図10(A)に示したユーザの指による入力の場合よりも小さな下限値を設定できる。これは、スタイラスを用いて入力を行う場合、指で入力するよりも細かい入力操作ができるためである。なお、図11においても、図の左側に示した各UIオブジェクトについて、各種条件に基づいて設定し得る下限値まで当該UIオブジェクトを縮小した結果を、図の右側に示してある。
図11(B)および(C)に示すように、縮小対象のUIオブジェクトがTextBox Widget(テキスト系)またはImage Widget(画像表示系)の場合は、図10(B)および(C)に示した下限値と同じ下限値を設定できる。
図12は、主要なUIオブジェクトを多数選択して、それらのUIの基本的な配置構成のまま、複数のUIを合成した例を示す図である。図12(A)は、ユーザの指で入力する場合の接触面積の大きさを基準サイズとして設定した縮小下限値に基づいて、複数のUIを合成した合成UIの表示画面を示す。また、図12(B)は、スタイラスで入力する場合の接触面積の大きさを基準サイズとして設定した縮小下限値に基づいて、複数のUIを合成した合成UIの表示画面を示す。図12(A)および(B)を見比べるとわかるように、スタイラスで入力する場合の方が、入力に関するUIオブジェクトの下限値を小さく設定できるため、より多くのUIオブジェクトを配置できる。
このように、本実施の形態では、ユーザが任意に選択したUIオブジェクトのみで構成される様々な合成UIを生成できる。ユーザの選択に基づく合成UIが生成されると、合成UI定義ファイル生成部63は、当該生成された合成UIに対応する合成UI定義ファイルを生成する。UI合成処理部60は、生成された合成UI定義ファイルを、合成UI定義ファイル記憶領域56に記憶する。以後、合成UI定義ファイル記憶領域56に記憶された合成UI定義ファイルを読み出すことにより、UI生成部13は、タッチパネル20の表示部24上に、新たに生成した合成UIを再現できる。
次に、本実施の形態による、操作手段の変更に伴うUI再合成処理について説明する。この処理は、生成した合成UIを使用中に、ユーザが入力操作を行う操作手段が変更された場合に、当該変更された操作手段に応じて、使用中の合成UIを再合成する。
以下、図13のフローチャートを参照して、本実施の形態による、操作手段の変更に伴うUI再合成処理を説明する。
操作手段の変更を検出するモード(以下、「操作手段検出モード」と記す)を開始すると、制御部10の操作手段検出部14は、ユーザが入力操作に用いる操作手段の検出を行う(ステップS31)。すなわち、操作手段検出部14は、タッチパネル20の入力部22と、操作キー部80と、スタイラス収納部90とからの入力を監視し、これらの各機能部からの入力を検出する。入力を検出したら、操作手段検出部14は、当該入力に基づいて、操作手段が変更されたか否かを判定する(ステップS32)。
例えば、タッチパネル20からの入力が検出され、それ以前の入力は操作キー部80から検出されていた場合、操作手段検出部14は、操作手段が操作キー部80からタッチパネル20に変更されたと判定する。
また、タッチパネル20の入力部22からの入力がなされた際の当該入力の接触面積が変化して所定値以上になった場合、操作手段検出部14は、操作手段がスタイラスから「指」に変化したと判定する。一方、タッチパネル20の入力部22からの入力の際の接触面積が変化して所定値以下になった場合、操作手段検出部14は、操作手段が指からスタイラスに変化したと判定する。
さらに、スタイラス収納部90からスタイラスが抜き出されたことが検知された場合、操作手段検出部14は、以後の操作はタッチパネル20上でスタイラスにより行われると判定する。一方、スタイラス収納部90にスタイラスが収納されたことが検知された場合、操作手段検出部14は、以後の操作はタッチパネル20上で指により行われるか、または操作キー部80にて行われると判定する。
以上のように、ステップS32にて操作手段が変更されたと判定された場合、UI合成処理部60は、端末依存情報記憶領域57に記憶されている端末依存情報である基準サイズを、検出された操作手段に応じて変更する(ステップS33)。例えば、操作手段が「指」に変化した場合、基準サイズを「指」の接触面積の大きさに基づくサイズに変更する。同様に、操作手段がスタイラスに変化した場合、基準サイズをスタイラス先端の接触面積の大きさに基づくサイズに変更する。
次に、制御部10は、タッチパネル20の表示部24に現在表示されているUIが合成UI定義ファイルに基づいて生成された合成UIであるか否かを判定する(ステップS34)。表示部24に表示されているUIが合成UIでない(つまり単体で使用することを想定したUIである)場合、当該UIの各UIオブジェクトのサイズを変更しても、他のUIを構成するUIオブジェクトとは無関係である。すなわち、現在表示されているUIを再合成処理したとしても、当該UIの構成そのものには変化がない。したがって、その場合には、当該UIの変更(再合成)処理は行わずにステップS31に戻る。
一方、ステップS34にて、表示部24に表示されているUIが合成UIである場合、UI合成処理部60は、当該合成UIの合成UI定義ファイルに含まれる各UIオブジェクトについて、ステップS33にて変更された基準サイズに基づいて、UI合成処理を再び実行する(ステップS35)。それから、UI生成部13は、再びUI合成処理が行われた各UIオブジェクトを表示部24に表示して、UIの表示を更新する(ステップS36)。この後はステップS31に戻り、次に操作手段が変更されるのを検出する。
なお、ステップS32にて、操作手段が変更されない場合、操作手段の変更の検出が終了されたか否か、すなわち操作手段検出モードが終了されたかどうかを判定する(ステップS37)。操作手段検出モードが終了されていない場合にはステップS31に戻り、次に操作手段が変更されるのを検出する。ステップS37にて操作手段検出モードが終了された場合は、操作手段の変更に伴うUI再合成処理を終了する。したがって、本実施の形態では、操作手段検出部14は操作入力手段判別部を構成する。
以上の処理により、ユーザが行う入力操作の操作手段が変更されると、携帯電話1は、変更された操作手段を判断して、各操作手段に応じた最適な合成UIをユーザに提供する。例えば、図12(A)に示すような合成UIをタッチパネル20の表示部24に表示している際に、スタライスをスタイラス収納部90から抜き出すと、合成UIが再合成されて、図12(B)のような合成UIの表示に切り換わる。すなわち、スタイラスによる操作に備えて、指による操作の場合よりも多数のUIオブジェクトが細かく表示される。その後、スタイラスをスタイラス収納部90に収納すると、再び図12(A)のような、指で操作するのに好適な合成UIに更新される。
また、スタライスを抜き出して図12(B)のような合成UIに切り換わった後でも、入力操作の際にスタイラスを使用せずに、指でタッチパネル20に触れると、その指の接触面積(基準サイズ)に基づいて、図12(A)のような合成UIに切り替えることもできる。その後、スタイラスを用いてタッチパネル20に触れると、図12(B)のような合成UIにすることもできる。
さらに、操作キー部80を構成する各キーを押下する動作に基づいて、表示部24に表示する合成UIを、操作キーによる操作用の(すなわちタッチパネル用ではない)合成UIに切り替えることもできる。また、表示部24に入力箇所を指定するポインタを表示させて使用する場合、表示部24にポインタを表示した際に、当該ポインタを用いて操作を行うのに好適な合成UIを表示させることもできる。ポインタの画像をカスタマイズできる端末の場合は、表示するポインタの画像の大きさに基づいて基準サイズを算出し、その基準サイズに応じた合成UIを表示できる。
(第2実施の形態)
次に、本発明の第2実施の形態に係るUIオブジェクト縮小処理について説明する。
次に、本発明の第2実施の形態に係るUIオブジェクト縮小処理について説明する。
本実施の形態では、UIオブジェクトを自動選択して配置することにより合成UIを生成する際に、表示部24上で所定のUI表示領域にUIオブジェクトが収まらなくなった際、UIオブジェクトを選択的に縮小する処理を行う。
図14は、UIの自動合成を行う場合に用いる、優先度の高いUIオブジェクトで構成した各UIを示す図である。これらの各UIを構成するUIオブジェクトは、各UIが、対応する各アプリケーションに基づく基本的かつ重要な機能の実行を指示する際に必要なものである。
第1実施の形態で説明したように、各UIに対応するUI定義ファイルには、全てのUIオブジェクトに対するUIオブジェクト定義情報が含まれる。さらに、各UIのUI定義ファイルに含まれるUIオブジェクト定義情報には、各UIオブジェクトが当該UIにおいてどの程度優先度が高いUIオブジェクトであるかを示す、上述した(7)の「優先順位の情報」が含まれている。
この優先順位の情報は、複数のUIを自動的に合成する処理を行う際に、当該UIを構成する各UIオブジェクトについて、UIオブジェクトが必須の要素として必ず選択されるべきものか、重要なUIオブジェクトとして選択されることが望ましいものか、または他のUIオブジェクトと比べると重要度が高くないため状況に応じて省略できるものか、などを示す。図14に示した各UIでは、各UI定義ファイルに含まれるUIオブジェクト定義情報に基づいて、優先順位の情報が必須のUIオブジェクト、および優先順位が高いUIオブジェクトを抽出している。このように、各UIを合成するに際して、選択されるべきUIオブジェクトを予め規定する。
また、UIオブジェクトを自動選択して配置する際には、必ず選択されるべきUIオブジェクトを特定するために、優先順位情報の中に、当該優先順位の所定の閾値を設ける。これにより、優先順位がこの閾値内にあるUIオブジェクトは必ず選択される。以下、必須のUIオブジェクトのUIオブジェクト定義情報に含まれる優先順位情報を「必須情報」と記す。
以下の説明では、一例として、図14に示すUIの中から、ビデオリモコン用UIとオーディオリモコン用UIとを自動合成する際の自動レイアウト処理について説明する。図14に示すビデオリモコン用UIを選択してから、続いてオーディオリモコンUIを選択して合成しようとすると、図15に示すように、2つのUIをそのまま表示部24のUI表示領域に収めることはできない。本実施の形態では、このような場合に、所定の条件に従って、UIオブジェクトを選択的に縮小する。
図16は本実施の形態による自動レイアウト処理を説明するフローチャートである。自動レイアウト処理が開始すると、まず、サイズ下限値設定部74は、選択された複数のUIに含まれる各UIオブジェクトについて、第1実施の形態(図9参照)で説明したUIオブジェクトの表示サイズ下限値の設定処理を行う(ステップS51)。これにより、各UIオブジェクトの表示サイズの縮小を行う場合の、それぞれの下限値が設定される。
次に、配置設定部71に含まれるマージン設定部(図示せず)は、各UIオブジェクトについて、当該UIオブジェクトを配置する際に隣接するUIオブジェクトとの間に必要となるマージン(間隔)を設定するマージン設定処理を行う(ステップS52)。この処理では、UIオブジェクト定義情報解析部61が、選択された各UIオブジェクトのUIオブジェクト定義情報に含まれる、上述した(8)の「当該UIオブジェクトと他のオブジェクトとの関連性情報」などを解析する。このマージン設定処理により、UIオブジェクト同士が接近し過ぎて配置されることは防止され、ユーザにとって操作性が悪化することは防止される。
次に、配置設定部71は、UIオブジェクト定義情報に含まれるデフォルトの表示サイズ情報と、ステップS52のマージン設定処理により設定されたマージンとに基づいて、各UIオブジェクトを仮想的に配置する配置設定処理を行う(ステップS53)。この配置設定処理では、配置設定部71は、同じUI定義ファイルに含まれるUIオブジェクト同士は近傍に配置する。さらに、UIオブジェクト定義情報解析部61が解析した、(8)の当該UIオブジェクトと他のオブジェクトとの関連性情報などに基づいて、配置設定部71は、同じUI定義ファイルに含まれるUIオブジェクトのうち関連性の高いUIオブジェクト同士を、相対的な位置関係を反映させて近傍に配置する。
ステップS53の配置設定処理が完了したら、配置可否判定部72は、配置設定処理によるUIオブジェクトの仮想的な配置により、合成UIの全てのUIオブジェクトが所定のUI表示領域内に収まるように配置可能か否かを判定する(ステップS54)。全てのUIオブジェクトが配置可能であると判定された場合(ステップS54のYes)、自動レイアウト処理部70は、仮想的に配置されたUIオブジェクトを実際に表示部24に表示して(ステップS55)、自動レイアウト処理を完了する。
一方、ステップS54にて、合成UIの全てのUIオブジェクトが所定のUI表示領域内に収まるように配置できないと判定された場合、縮小オブジェクト選択部73は、ステップS51の表示サイズ下限値設定処理の結果に基づいて、縮小可能なUIオブジェクトが存在するか否かを判定する(ステップS56)。
ステップS56にて、縮小可能なUIオブジェクトが無いと判定された場合、自動レイアウト処理部70は、自動レイアウト不可と判定し(ステップS57)、自動レイアウト処理を終了する。この時、自動レイアウト処理部70は、自動レイアウト不可の旨を表示部24に表示してもよい。また、この場合、配置したいUIオブジェクトの選択のやり直しや、合成するUIの選択のやり直しなどを行うようユーザに要求するのが望ましい。このように処理することで、操作性を犠牲にして無理にUIを合成することは防止される。
ステップS56にて、縮小可能なUIオブジェクトがあると判定された場合、自動レイアウト処理部70は、縮小オブジェクト選択部73により選択された、優先的に表示サイズを縮小すべきUIオブジェクトを選択して縮小する(ステップS58)。この場合、ステップS51で設定した表示サイズの下限値に基づいて縮小処理を行う。
本実施の形態では、ステップS58にて行う、縮小すべきUIオブジェクトの選択処理は、UIオブジェクトごとに設定された優先度に基づいて行う。すなわち、各UIオブジェクトのUIオブジェクト定義情報に含まれる優先順位情報に基づいて、優先順位の低いUIオブジェクトは重要性が低いものと判断し、その重要性が低いUIオブジェクトを、優先的に縮小すべきUIオブジェクトとして選択する。
図17(A)は、合成するビデオリモコン用UIおよびオーディオリモコン用UIを構成する各UIオブジェクトを、設定された優先順位に基づいて分類した図である。図中では、優先順位(Priority)がHiであるUIオブジェクト(「電源」のUIオブジェクト)は優先順位が高いことを示し、優先順位がLowであるUIオブジェクトは優先順位が低いことを示す。図示した例では、ビデオリモコン用UIとオーディオリモコン用UIを合成する際、優先度がLowのUIオブジェクトは使用しない設定にして、縮小オブジェクトの選択候補からは除外している。したがって、本実施の形態では、優先順位情報(priority)がHi、Middle1、Middle2であるUIオブジェクトは必須のUIオブジェクトとして、UIオブジェクト定義情報に含まれる優先順位情報は「必須情報」になる。
図17(B)は、本実施の形態による、縮小すべきUIオブジェクトの選択処理に基づいて、優先順位の低いUIオブジェクトを縮小した様子を説明する図である。図示した例では、ビデオリモコン用UIおよびオーディオリモコン用UIともに、優先順位(Priority)がHiまたはMiddle1であるUIオブジェクトは縮小する対象とせずに、優先順位がMiddle2であるUIオブジェクトは縮小する対象として縮小処理した後の状態を示している。優先順位がMiddle2に属するUIオブジェクトである、情報表示ウィンドウ、およびオーディオリモコン用UIの「ラジオ」、「CD」ボタンを縮小している。この場合の縮小処理は、ステップS51にて設定された表示サイズの下限値を限度として行う。
ステップS58にてUIオブジェクトを選択して縮小する処理が完了したら、ステップS52に戻って処理を続行する。この後は、縮小されたUIオブジェクトを含めて、各UIオブジェクトに対して再びステップS52のマージン設定処理およびステップS53の配置設定処理を行う。以上の処理を、合成UIが1画面のUI表示領域内に収まるか、または合成UIの生成が不可能であると判定されるまで行う。
このようにしてUIオブジェクトの選択および縮小処理を行ってから配置することにより、図15では合成不可であった2つのUIは、図18に示すように、表示部24のUI表示領域に1画面として収めることができる。また、UIの合成の際にUIオブジェクトを縮小する場合、表示サイズの縮小下限値を超える縮小処理は行わないため、ユーザビリティを保持したままでUIオブジェクトの自動レイアウトが可能になる。
なお、例えばステップS58にて、図17に示した優先順位がMiddle2であるUIオブジェクトを縮小する処理だけでは、合成UIが1画面のUI表示領域内に収まらないことも想定される。このような場合には、優先順位がMiddle1であるUIオブジェクトをさらに縮小するというように、順次縮小処理と(仮想的な)配置設定処理とを繰り返すことでUI合成処理を行うこともできる。
(第3実施の形態)
次に、第3実施の形態に係るUIオブジェクト縮小処理について説明する。
次に、第3実施の形態に係るUIオブジェクト縮小処理について説明する。
第3実施の形態は、第2実施の形態において、図16で説明したステップS58にて行う、縮小すべきUIオブジェクトの選択処理を変更するものである。それ以外の動作は第2実施の形態と同じため、説明を省略する。
本実施の形態では、ステップS58にて行う、縮小すべきUIオブジェクトの選択処理は、UIオブジェクトの種別ごとに設定された優先度に基づいて行う。すなわち、各UIオブジェクトのUIオブジェクト定義情報に含まれるUIオブジェクトの種別情報に基づいて、UIオブジェクトの種別ごとにあらかじめ設定された優先順位に従い、優先順位の低い種別のUIオブジェクトを、優先的に縮小すべきUIオブジェクトとして選択する。
図19(A)は、合成するビデオリモコン用UIおよびオーディオリモコン用UIを構成する各UIオブジェクトを、UIオブジェクトの種別に基づいて分類した図である。図中では、UIオブジェクトの種別(Widgetの種別)により、ユーザ操作系UIオブジェクト(Button Widget)と、テキスト系UIオブジェクト(TextBox Widget)との2種類のUIオブジェクトに分類している。
図19(B)は、種別がテキスト系のUIオブジェクト(TextBox Widget)の優先順位の方が、ユーザ操作系のUIオブジェクト(Button Widget)の優先順位よりも高いものとして、優先順位の低いUIオブジェクト(Button Widget)を縮小した例を示す図である。例えばスタイラスを用いて入力する場合などは、図19(B)のようにユーザ操作系のUIオブジェクト(Button Widget)の優先順位を低く設定して多数のUIオブジェクトを配置するようにできるが、所望に応じて、ユーザ操作系UIオブジェクトの優先順位の方を高く設定することもできる。
このように、優先順位の低い種別のUIオブジェクトを、優先的に縮小すべきUIオブジェクトとして選択して縮小処理することにより、縮小処理前には合成不可であった2つのUIを、例えば図20に示すように、表示部24のUI表示領域に1画面として収めることができる。
(第4実施の形態)
次に、第4実施の形態に係るUIオブジェクト縮小処理について説明する。
次に、第4実施の形態に係るUIオブジェクト縮小処理について説明する。
第4実施の形態は、第3実施の形態と同様に、第2実施の形態において、ステップS58にて行う、縮小すべきUIオブジェクトの選択処理を変更するものである。
本実施の形態では、ステップS58にて行う、縮小すべきUIオブジェクトの選択処理は、UIごとに設定された優先度に基づいて行う。すなわち、各UIで同一のUI定義ファイルにて定義されたUIオブジェクトをグループ化し、グループ単位で設定された優先順位に基づいて、優先順位の低いグループのUIオブジェクトを優先的に縮小すべきUIオブジェクトとして選択する。
図21(A)は、合成するビデオリモコン用UIおよびオーディオリモコン用UIを構成する各UIオブジェクトを、UIごとに分類した図である。図中では、UIごとに、ビデオリモコン用UIを構成するUIオブジェクトと、オーディオリモコン用UIを構成するUIオブジェクトとで、UIオブジェクトを2つのグループに分類している。
図21(A)に示す例では、ビデオリモコン用UIを構成する各UIオブジェクトの優先順位は高く、オーディオリモコン用UIを構成する各UIオブジェクトの優先順位は低く設定してある。このように、UIオブジェクトをUIごとにグループ分けして優先順位をつけ、優先順位が低いUIのUIオブジェクトを縮小オブジェクトとして選択する。
図21(B)は、優先順位の低いオーディオリモコン用UIを構成する各UIオブジェクトを縮小処理した例を示す図である。このように、優先順位の低いUIのUIオブジェクトを、優先的に縮小すべきUIオブジェクトとして選択して縮小処理することにより、縮小処理前には合成不可であった2つのUIを、例えば図22に示すように、表示部24のUI表示領域に1画面として収めることができる。
(第5実施の形態)
次に、第5実施の形態に係るUIオブジェクト縮小処理について説明する。
次に、第5実施の形態に係るUIオブジェクト縮小処理について説明する。
第5実施の形態は、第3および第4実施の形態と同様に、第2実施の形態において、ステップS58にて行う、縮小すべきUIオブジェクトの選択処理を変更するものである。
本実施の形態では、ステップS58にて行う、縮小すべきUIオブジェクトの選択処理は、各UIオブジェクトの現在の占有率と、縮小下限値まで縮小した当該UIオブジェクトの占有率との差に基づいて決定した優先度に基づいて行う。すなわち、各UIオブジェクトの現在の表示サイズと、表示サイズ下限値設定処理により設定された下限値に基づいて縮小した当該UIオブジェクトの表示サイズとの差に基づいて、その差が大きいUIオブジェクトを優先的に縮小すべきUIオブジェクトとして選択する。これは、縮小前と、縮小下限値まで縮小した後との差が大きいUIオブジェクトは、当該下限値まで縮小しても操作性が悪化することは少なく、かつ、縮小した場合にUI表示領域の空き領域を提供する度合いが大きいという傾向に基づく。
図23(A)は、合成するビデオリモコン用UIおよびオーディオリモコン用UIを構成する各UIオブジェクトを、UIオブジェクトごとに、縮小前のサイズと、縮小下限値まで縮小した後のサイズとの差異に従って分類した図である。図示した例では、どちらのUIにおいても、テキスト系のUIオブジェクト(TextBox Widget)は縮小の前後における差が「大」に分類されている。また、どちらのUIにおいても、ユーザ操作系のUIオブジェクト(Button Widget)は、縮小の前後における差が「中」または「小」に分類されている。
以上のような分類に基づいて、例えば図23(B)に示すように、縮小前のサイズと、縮小下限値まで縮小した後のサイズとの差異が大きいものほど、UIオブジェクトを優先的に選択して縮小処理をする。図23(B)は、縮小の前後で差が「大」のUIオブジェクトについては、選択して縮小後のものを採用し、縮小の前後で差が「中」または「小」のUIオブジェクトについては、縮小してもあまり差異がないため、縮小前のものを採用することを、楕円で囲んで示している。
このように、縮小の前後でサイズの差が大きいUIオブジェクトを、優先的に縮小すべきUIオブジェクトとして選択して縮小処理することにより、縮小処理前には合成不可であった2つのUIを、例えば図24に示すように、表示部24のUI表示領域に1画面として収めることができる。
なお、本発明は、上述した実施の形態にのみ限定されるものではなく、幾多の変更または変形が可能である。例えば、上述した実施の形態では、タッチパネルを備える携帯端末でUIを合成処理する場合について説明した。しかしながら、本発明のUI合成処理においては、タッチパネルは必須の要素ではない。本発明は、例えば機械式のキーを多数備える入力部など、UIを合成して使用することが想定される任意の入力部を備える端末に適用できる。
上述した第1実施の形態においては、説明の便宜のため、操作手段検出モードである場合に操作手段の変更に伴うUI再合成処理を行うようにしたが、携帯電話1は、常にこのようなモードで動作するようにしてもよい。また、第1実施の形態は、ユーザが複数のUIから所望のUIオブジェクトを選択して合成UIを生成することを想定しており、第2〜第5実施の形態は、UIオブジェクトを自動選択して配置することによる合成UIの生成を想定している。しかしながら、第2〜第5実施の形態においても、ユーザが複数のUIから所望のUIオブジェクトを選択して合成UIを生成する際に、追加したいUIオブジェクトがUI表示領域に収まらなくなった場合、各実施の形態で説明したUIオブジェクトの選択的な縮小処理を行うこともできる。また、第2〜第5実施の形態においても、第1実施の形態において説明した、操作手段の変更に伴うUI再合成処理を行うようにしてもよい。
また、上述した第2〜第5実施の形態では、複数のUIを構成するUIオブジェクトから合成UIを生成する場合について説明したが、複数のUIに基づく合成でなくとも、1つのUIから複数のUIオブジェクトを多数選択して、所定のUI表示領域の一部などにUIを生成する場合についても本発明を適用できる。
さらに、上述した実施の形態では、各アプリケーションに対応したUIのUI定義ファイルが予めUI定義ファイル記憶領域52に記憶された場合について説明したが、必要なUI定義ファイルを適宜外部から取得するようにもできる。この場合、UIを用いるアプリケーションからUI定義ファイルが指定された際、必要なUI定義ファイルがUI定義ファイル記憶領域52または合成UI定義ファイル記憶領域56に存在するか否か判定する。必要なUI定義ファイルがUI定義ファイル記憶領域52または合成UI定義ファイル記憶領域56に存在しない場合、制御部10のUI取得部12は、無線通信部30を介して、図示しない外部機器または外部サーバなどから、必要なUI定義ファイルを取得する。
なお、上述した各実施の形態で用いるUI定義ファイルの一例として、以下にXMLをベースとしたUIML形式のファイルの例を一部抜粋して示す。本例において、UIオブジェクトは<template>タグにより定義されており、したがって<template>〜</template>の間の記載がUIオブジェクト定義情報に相当する。ここでは、TVリモコン用UIを構成するUI定義ファイル(TV1_interface.uiml)の中から、「電源」のUIオブジェクトおよび「選局+」のUIオブジェクトのUIオブジェクト定義情報の例を示す。下線を付した箇所のうち、priorityの属性が示すのが優先順位の情報(数値がゼロに近いほど高優先度)であり、relateの属性が示すのが他のUIオブジェクトとの関連を示す情報であり、sizeの属性が示すのがサイズ情報である。
本発明によれば、複数のUIを合成するに際し、選択された複数のUIオブジェクトがUI表示領域内に収まらない場合であっても、所定の条件に基づいてUIオブジェクトを縮小することによってUI表示領域内に収めることができる。したがって、単純に組み合わせるだけでは所定のUI表示領域内に収めることができない複数のUIオブジェクトを縮小することにより、当該UI表示領域内に適切に収めることができる。また、UIオブジェクトを縮小し過ぎることは防止されるため、操作性および視認性が確保される。
Claims (10)
- アプリケーションプログラムに基づいて各種の機能を実現するアプリケーションプログラム実行部と、
前記アプリケーションプログラムに基づく所定の機能の実行を前記アプリケーションプログラム実行部に指示するためのユーザインタフェースを生成するユーザインタフェース生成部と、
前記ユーザインタフェース生成部により生成されるユーザインタフェースを表示する表示部と、
前記ユーザインタフェースの構成要素であるユーザインタフェースオブジェクトを定義するユーザインタフェースオブジェクト定義情報を含むユーザインタフェース定義ファイルを格納するとともに、自装置の特性を示す装置依存情報を格納する記憶部と、を備えるユーザインタフェース生成装置であって、
前記ユーザインタフェース生成部は、前記記憶部に格納されたユーザインタフェースオブジェクト定義情報を取捨選択し、選択したユーザインタフェースオブジェクトの全てを前記表示部の所定の表示領域に表示可能か否か判定し、表示不可と判定した場合、前記選択したユーザインタフェースオブジェクトの全てが表示可能になるよう、前記装置依存情報に基づいて、前記ユーザインタフェースオブジェクト定義情報に含まれる当該ユーザインタフェースオブジェクトの表示サイズに関するサイズ情報を書き換え、当該サイズ情報を書き換えたユーザインタフェースオブジェクト定義情報に基づいて合成ユーザインタフェースを生成するユーザインタフェース合成処理を行うことを特徴とする、ユーザインタフェース生成装置。 - 前記ユーザインタフェースオブジェクトの種別と、前記ユーザインタフェースオブジェクト定義情報と前記装置依存情報とに基づいて、前記ユーザインタフェースオブジェクトの表示サイズの最小値を設定するサイズ下限値設定部をさらに備え、
前記ユーザインタフェース生成部は、前記サイズ下限値設定部により設定された前記最小値を下限値として、前記サイズ情報を書き換えることを特徴とする、請求項1のユーザインタフェース生成装置。 - 前記サイズ下限値設定部は、前記装置依存情報に含まれる最小フォントサイズ、最小行間隔、入力デバイス情報の少なくとも1つに基づいて、前記ユーザインタフェースオブジェクトの表示サイズの最小値を設定することを特徴とする、請求項2のユーザインタフェース生成装置。
- 前記ユーザインタフェースオブジェクト定義情報に基づき、前記ユーザインタフェースオブジェクトの選択を受け付ける選択画面を生成する選択画面生成部をさらに備え、
前記ユーザインタフェース生成部は、前記選択画面において選択された前記ユーザインタフェースオブジェクトの選択順序に基づいて、前記サイズ情報を書き換える前記ユーザインタフェースオブジェクト定義情報を選択し、選択したユーザインタフェースオブジェクト定義情報のサイズ情報を書き換えることを特徴とする、請求項1乃至3のユーザインタフェース生成装置。 - 前記ユーザインタフェースオブジェクト定義情報は、前記ユーザインタフェースを構成するユーザインタフェースオブジェクト間の優先順位を示す優先順位情報を含み、
前記ユーザインタフェース生成部は、前記優先順位情報に基づいて前記サイズ情報を書き換える前記ユーザインタフェースオブジェクト定義情報を選択し、選択したユーザインタフェースオブジェクト定義情報のサイズ情報を書き換えることを特徴とする、請求項1乃至3のユーザインタフェース生成装置。 - 前記ユーザインタフェース生成部は、前記サイズ情報と、前記サイズ下限値設定部により設定された前記最小値との比に基づいて、前記サイズ情報を書き換える前記ユーザインタフェースオブジェクト定義情報を選択し、選択したユーザインタフェースオブジェクト定義情報のサイズ情報を書き換えることを特徴とする、請求項2または3のユーザインタフェース生成装置。
- アプリケーションプログラムに基づいて各種の機能を実現するアプリケーションプログラム実行部と、
前記アプリケーションプログラムに基づく所定の機能の実行を前記アプリケーションプログラム実行部に指示するためのユーザインタフェースを生成するユーザインタフェース生成部と、
前記ユーザインタフェース生成部により生成されるユーザインタフェースを表示する表示部と、
前記ユーザインタフェースの構成要素であるユーザインタフェースオブジェクトを定義するユーザインタフェースオブジェクト定義情報を含むユーザインタフェース定義ファイルを格納するとともに、自装置の特性を示す装置依存情報を格納する記憶部と、を備えるユーザインタフェース生成装置であって、
前記ユーザインタフェースオブジェクト定義情報に基づき、前記ユーザインタフェースオブジェクトの選択を受け付ける選択画面を生成する選択画面生成部をさらに備え、
前記選択画面生成部は、複数の前記ユーザインタフェースの合成が指示された場合、当該指示された複数のユーザインタフェースの各々に対応して前記記憶部に格納されるユーザインタフェース定義ファイルに含まれるユーザインタフェースオブジェクト定義情報に基づき前記選択画面を生成し、
前記ユーザインタフェース生成部は、前記表示部においてユーザインタフェースの表示が可能であるユーザインタフェース表示領域と前記ユーザインタフェースオブジェクト定義情報とに基づいて、前記選択画面において選択されたユーザインタフェースオブジェクトの全てを表示可能か否か判定し、表示不可と判定された場合、当該選択されたユーザインタフェースオブジェクトの全てが表示可能になるよう、前記装置依存情報に基づいて、前記ユーザインタフェースオブジェクト定義情報に含まれる当該ユーザインタフェースオブジェクトの表示サイズに関するサイズ情報を書き換え、当該サイズ情報を書き換えたユーザインタフェースオブジェクト定義情報に基づいて合成ユーザインタフェースを生成するユーザインタフェース合成処理を行うことを特徴とする、ユーザインタフェース生成装置。 - アプリケーションプログラムに基づいて各種の機能を実現するアプリケーションプログラム実行部と、
前記アプリケーションプログラムに基づく所定の機能の実行を前記アプリケーションプログラム実行部に指示するためのユーザインタフェースを生成するユーザインタフェース生成部と、前記ユーザインタフェース生成部により生成されるユーザインタフェースを表示する表示部と、
前記ユーザインタフェースの構成要素であるユーザインタフェースオブジェクトを定義するユーザインタフェースオブジェクト定義情報を含むユーザインタフェース定義ファイルを格納するとともに、自装置の特性を示す装置依存情報を格納する記憶部と、を備えるユーザインタフェース生成装置であって、
前記ユーザインタフェースオブジェクト定義情報は、前記ユーザインタフェースを構成するユーザインタフェースオブジェクトのうち必須であるユーザインタフェースオブジェクトについて、必須のユーザインタフェースオブジェクトである旨を示す必須情報を含み、
前記ユーザインタフェース生成部は、前記表示部においてユーザインタフェースの表示が可能であるユーザインタフェース表示領域と、前記必須情報とに基づいて、前記必須のユーザインタフェースオブジェクトの全てを表示可能か否か判定し、表示不可と判定した場合、前記必須のユーザインタフェースオブジェクトの全てが表示可能となるよう、前記必須ユーザインタフェースオブジェクト定義情報に含まれる当該ユーザインタフェースオブジェクトの表示サイズに関するサイズ情報を書き換え、当該サイズ情報を書き換えたユーザインタフェースオブジェクト定義情報に基づいて合成ユーザインタフェースを生成するユーザインタフェース合成処理を行うことを特徴とする、ユーザインタフェース生成装置。 - 前記ユーザインタフェースを介して前記アプリケーションプログラム実行部に前記アプリケーションプログラムに基づく所定の機能の実行を指示する入力を受け付ける操作入力受付部と、
前記操作入力受付部への操作入力手段を判別する操作入力手段判別部と、をさらに備え、
前記ユーザインタフェース生成部は、前記操作入力手段判別部で判別された操作入力手段に応じて前記装置依存情報を書き換えることを特徴とする、請求項1、7または8のいずれか1項のユーザインタフェース生成装置。 - 前記表示部において前記合成ユーザインタフェースの表示中に、前記操作入力手段判別部により前記操作入力手段の変更が検知された場合、前記ユーザインタフェース生成部は、当該変更された操作入力手段に応じて前記装置依存情報を書き換え、当該書き換えた装置依存情報に基づいて新たな合成ユーザインタフェースを生成することを特徴とする、請求項9のユーザインタフェース生成装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010505810A JP5406176B2 (ja) | 2008-04-02 | 2009-03-26 | ユーザインタフェース生成装置 |
Applications Claiming Priority (6)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008096604 | 2008-04-02 | ||
JP2008096604 | 2008-04-02 | ||
JP2008141257 | 2008-05-29 | ||
JP2008141257 | 2008-05-29 | ||
PCT/JP2009/056203 WO2009123030A1 (ja) | 2008-04-02 | 2009-03-26 | ユーザインタフェース生成装置 |
JP2010505810A JP5406176B2 (ja) | 2008-04-02 | 2009-03-26 | ユーザインタフェース生成装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPWO2009123030A1 true JPWO2009123030A1 (ja) | 2011-07-28 |
JP5406176B2 JP5406176B2 (ja) | 2014-02-05 |
Family
ID=41135408
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010505810A Expired - Fee Related JP5406176B2 (ja) | 2008-04-02 | 2009-03-26 | ユーザインタフェース生成装置 |
Country Status (4)
Country | Link |
---|---|
US (1) | US9134972B2 (ja) |
JP (1) | JP5406176B2 (ja) |
KR (1) | KR20100114945A (ja) |
WO (1) | WO2009123030A1 (ja) |
Families Citing this family (27)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8954869B2 (en) * | 2007-12-17 | 2015-02-10 | International Business Machines Corporation | Generating a front end graphical user interface for a plurality of text based commands |
US20120209444A1 (en) * | 2009-10-26 | 2012-08-16 | Daegeun Seo | Device and method for controlling electric product |
JP5246802B2 (ja) * | 2009-12-09 | 2013-07-24 | Necアクセステクニカ株式会社 | 携帯端末装置及びそれに用いる画面表示方法並びにそのプログラム |
JP5427592B2 (ja) * | 2009-12-24 | 2014-02-26 | 株式会社バッファロー | 機器制御システム、端末装置及び機器 |
WO2011152041A1 (ja) * | 2010-05-31 | 2011-12-08 | パナソニック株式会社 | 制御端末装置及びリモート制御システム |
US8661369B2 (en) * | 2010-06-17 | 2014-02-25 | Lg Electronics Inc. | Mobile terminal and method of controlling the same |
JP5582012B2 (ja) * | 2010-12-13 | 2014-09-03 | 株式会社リコー | 画像形成装置、情報処理装置、カスタマイズプログラム及び記録媒体 |
US9323418B2 (en) * | 2011-04-29 | 2016-04-26 | The United States Of America As Represented By Secretary Of The Navy | Method for analyzing GUI design affordances |
US20120284631A1 (en) * | 2011-05-02 | 2012-11-08 | German Lancioni | Methods to adapt user interfaces and input controls |
JP6133575B2 (ja) * | 2012-11-14 | 2017-05-24 | Pioneer DJ株式会社 | 端末装置、端末装置の操作方法、プログラム |
EP2954395B1 (en) * | 2013-02-08 | 2019-04-10 | Motorola Solutions, Inc. | Method and apparatus for managing user interface elements on a touch-screen device |
USD759063S1 (en) * | 2013-02-14 | 2016-06-14 | Healthmate International, LLC | Display screen with graphical user interface for an electrotherapy device |
USD785014S1 (en) * | 2013-04-05 | 2017-04-25 | Thales Avionics, Inc. | Display screen or portion thereof with graphical user interface |
WO2015045409A1 (ja) * | 2013-09-26 | 2015-04-02 | 京セラ株式会社 | 機器制御装置、機器制御方法および制御システム |
USD753669S1 (en) * | 2013-10-10 | 2016-04-12 | Healthmate International, LLC | Display screen with graphical user interface |
CN103645837B (zh) * | 2013-11-27 | 2016-08-31 | 小米科技有限责任公司 | 放大显示字体的方法和装置 |
US20150153897A1 (en) * | 2013-12-03 | 2015-06-04 | Microsoft Corporation | User interface adaptation from an input source identifier change |
CN103870199B (zh) * | 2014-03-31 | 2017-09-29 | 华为技术有限公司 | 手持设备上用户操作模式的识别方法及手持设备 |
WO2016018062A1 (en) * | 2014-07-31 | 2016-02-04 | Samsung Electronics Co., Ltd. | Method and device for providing content |
CN105487745A (zh) * | 2014-12-23 | 2016-04-13 | 哈尔滨烁联科技有限公司 | 一种对led显示内容进行快速编辑的装置及方法 |
JP6572821B2 (ja) * | 2016-04-28 | 2019-09-11 | 京セラドキュメントソリューションズ株式会社 | 情報処理装置及び情報処理プログラム |
US10521502B2 (en) * | 2016-08-10 | 2019-12-31 | International Business Machines Corporation | Generating a user interface template by combining relevant components of the different user interface templates based on the action request by the user and the user context |
CN107122179A (zh) * | 2017-03-31 | 2017-09-01 | 阿里巴巴集团控股有限公司 | 语音的功能控制方法和装置 |
USD839900S1 (en) * | 2017-11-06 | 2019-02-05 | Shenzhen Valuelink E-Commerce Co., Ltd. | Display screen with graphical user interface |
JP7214542B2 (ja) * | 2019-04-12 | 2023-01-30 | フォルシアクラリオン・エレクトロニクス株式会社 | 表示制御装置、及び表示制御方法 |
CN110674618A (zh) * | 2019-09-03 | 2020-01-10 | 北京达佳互联信息技术有限公司 | 一种内容展示方法、装置、设备及介质 |
CN113467605B (zh) | 2020-03-31 | 2024-04-02 | 托比股份公司 | 用于对可视化数据进行预处理的方法、计算机程序产品和处理电路系统 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6211870B1 (en) | 1997-07-07 | 2001-04-03 | Combi/Mote Corp. | Computer programmable remote control |
JP2001036652A (ja) | 1999-07-23 | 2001-02-09 | Nippon Conlux Co Ltd | 携帯電話機およびこれを利用した機器遠隔制御方法 |
JP2002278666A (ja) | 2001-03-22 | 2002-09-27 | Toyoda Mach Works Ltd | 設備制御用操作盤 |
JP3935856B2 (ja) * | 2003-03-28 | 2007-06-27 | インターナショナル・ビジネス・マシーンズ・コーポレーション | レイアウトの定められた文書のダイジェストを作成するための情報処理装置、サーバ、方法及びプログラム |
JP2006085218A (ja) | 2004-09-14 | 2006-03-30 | Clarion Co Ltd | タッチパネル操作装置 |
US20070038954A1 (en) * | 2005-05-30 | 2007-02-15 | Canon Kabushiki Kaisha | Displaying apparatus of ui parts and displaying method of ui parts |
JP4890944B2 (ja) | 2005-05-30 | 2012-03-07 | キヤノン株式会社 | 情報処理装置、表示制御処理方法及びプログラム |
US7954064B2 (en) * | 2005-10-27 | 2011-05-31 | Apple Inc. | Multiple dashboards |
US8587526B2 (en) * | 2006-04-12 | 2013-11-19 | N-Trig Ltd. | Gesture recognition feedback for a dual mode digitizer |
US9503562B2 (en) * | 2008-03-19 | 2016-11-22 | Universal Electronics Inc. | System and method for appliance control via a personal communication or entertainment device |
-
2009
- 2009-03-26 US US12/935,709 patent/US9134972B2/en not_active Expired - Fee Related
- 2009-03-26 JP JP2010505810A patent/JP5406176B2/ja not_active Expired - Fee Related
- 2009-03-26 WO PCT/JP2009/056203 patent/WO2009123030A1/ja active Application Filing
- 2009-03-26 KR KR20107022084A patent/KR20100114945A/ko not_active Application Discontinuation
Also Published As
Publication number | Publication date |
---|---|
KR20100114945A (ko) | 2010-10-26 |
US20110035688A1 (en) | 2011-02-10 |
JP5406176B2 (ja) | 2014-02-05 |
WO2009123030A1 (ja) | 2009-10-08 |
US9134972B2 (en) | 2015-09-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5406176B2 (ja) | ユーザインタフェース生成装置 | |
JP5431321B2 (ja) | ユーザインタフェース生成装置 | |
JP5351165B2 (ja) | ユーザインタフェース生成装置 | |
JP5680404B2 (ja) | ユーザインタフェース生成装置 | |
US8739074B2 (en) | User interface generation apparatus for generating user interfaces of mobile terminals | |
JP5366955B2 (ja) | ユーザインタフェース生成装置 | |
JP5200095B2 (ja) | ユーザインタフェース生成装置 | |
JP4955505B2 (ja) | 携帯端末機及びその画面表示方法 | |
KR102280474B1 (ko) | 전자 장치의 운용 방법 및 장치 | |
JPH1023117A (ja) | 携帯電話装置 | |
KR20110011845A (ko) | 터치 스크린이 구비된 이동통신 단말기 및 그 제어 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20130129 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20131001 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20131031 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5406176 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |