JPWO2009157560A1 - ユーザインタフェース生成装置 - Google Patents

ユーザインタフェース生成装置 Download PDF

Info

Publication number
JPWO2009157560A1
JPWO2009157560A1 JP2010518082A JP2010518082A JPWO2009157560A1 JP WO2009157560 A1 JPWO2009157560 A1 JP WO2009157560A1 JP 2010518082 A JP2010518082 A JP 2010518082A JP 2010518082 A JP2010518082 A JP 2010518082A JP WO2009157560 A1 JPWO2009157560 A1 JP WO2009157560A1
Authority
JP
Japan
Prior art keywords
user interface
unit
margin
interface object
information
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
Application number
JP2010518082A
Other languages
English (en)
Other versions
JP5431321B2 (ja
Inventor
健太 木下
健太 木下
山本 和宏
和宏 山本
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Kyocera Corp
Original Assignee
Kyocera Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Kyocera Corp filed Critical Kyocera Corp
Priority to JP2010518082A priority Critical patent/JP5431321B2/ja
Publication of JPWO2009157560A1 publication Critical patent/JPWO2009157560A1/ja
Application granted granted Critical
Publication of JP5431321B2 publication Critical patent/JP5431321B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction 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
    • G06F3/0482Interaction with lists of selectable items, e.g. menus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction 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/0488Interaction 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
    • G06F3/04886Interaction 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 by partitioning the display area of the touch-screen or the surface of the digitising tablet into independently controllable areas, e.g. virtual keyboards or menus
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/72Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
    • H04M1/724User interfaces specially adapted for cordless or mobile telephones
    • H04M1/72403User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

ユーザインタフェース生成装置1は、アプリケーションプログラム実行部11と、ユーザインタフェース生成部13と、ユーザインタフェース表示部24と、ユーザインタフェースの構成要素であるオブジェクトを定義する情報とともに、自装置の特性を示す情報を格納する記憶部50とを備え、生成部13は、記憶部50に格納されたオブジェクト定義情報を選択し、このオブジェクト定義情報と装置特性情報とに基づいて、選択したオブジェクトを配置する際のマージンを設定し、このマージンに基づいてオブジェクトを表示部の所定領域に配置して合成ユーザインタフェースを生成する。

Description

関連出願の相互参照
本出願は、2008年6月27日に出願された日本国特許出願2008−168945号の優先権を主張するものであり、この先の出願の開示全体をここに参照のために取り込む。
本発明は、ユーザインタフェース生成装置に関し、特に、携帯端末のユーザインタフェースを生成するユーザインタフェース生成装置に関するものである。
携帯電話に代表される携帯端末のユーザインタフェース(以下、適宜「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画面上で同時に使用できる。
すなわち、例えば、図18(A)に示すようなテレビのリモコン端末単独であれば、図18(B)に示すように、例えばタッチパネル200を備える携帯端末100上に、テレビリモコンアプリケーションのUIを、その操作性を維持したまま再現できる。なお、図18(A)のリモコン端末において、テンキーなどのキーやボタンは機械式のキーであるが、図18(B)の携帯端末100においては、テンキーなどを描画して再現したオブジェクトをタッチパネル200に表示している。以下、このように、タッチパネルに表示されたUIを構成する各種キーまたはボタンおよび情報表示箇所などを、「UIオブジェクト」と記す。また、図18(C)に示すような、エアコンディショナーのリモコン端末単独の場合も同様に、図18(D)のように、タッチパネル200を備える携帯端末100上に、エアコンディショナーリモコンアプリケーションのUIを、その操作性を維持したまま再現できる。さらに、それぞれのアプリケーションのUIを、XMLをベースとして記述すれば、他メーカの端末などにアプリケーションを移植しても、UIを記述したXMLのファイルを加工するだけでほとんど同じUIを容易に再現できる。
しかしながら、上述の例において、テレビの視聴中にエアコンディショナーの操作を行う場合に、テレビもエアコンディショナーも頻繁な操作を要する状況も想定される。このような場合、両方のリモコンのアプリケーションを、マルチタスクおよびマルチウィンドウの機能を用いて、表示部の表示領域を分割して同時に表示したとする。この場合、各アプリケーションは単独で使用することを想定したUIしか備えていないため、各UIをそのまま同時表示すると、図19(A)〜(D)に示すような状態になる。
図19(A)〜(D)は、マルチタスクおよびマルチウィンドウの機能を実装した携帯端末100を用いて、2つのアプリケーションのUIを同時表示した様子を示す図である。図に示す例においては、タッチパネル200の表示部の表示を上下に分割した各ウィンドウ内で、それぞれのUIをそのまま再現したため、各UIとも一部しか表示されていない。画面上に表示しきれない部分の操作を行うために、各ウィンドウの右端にはスクロールバーを備えている。
例えば図19(A)に示す状態で、テレビの音量を調節したい場合には、ユーザは、テレビリモコンUIのウィンドウのスクロールバーを移動して、図19(B)に示すようにテレビリモコンUIの表示範囲を移動させなくてはならない。同様に、例えば図19(C)に示す状態で、エアコンディショナーの温度を調節したい場合、ユーザは、エアコンディショナーリモコンUIのウィンドウのスクロールバーを移動して、図19(D)に示すようにエアコンディショナーリモコンUIの表示範囲を移動させなくてはならない。さらに、マルチウィンドウで複数のアプリケーションを起動する場合、UIを重畳表示する際は、まず入力するウィンドウを選択してアクティブにしてから入力操作を開始しなくてはならない。
このように、単独で用いることを想定した、1画面用にデザインされたUIをマルチウィンドウなどで表示した場合、各UIオブジェクトの全てを1画面内に収めることはできなくなるため、UIの操作性は悪化してしまう。
そこで、複数のUIオブジェクトを1画面内に収めるために、例えば、各UIオブジェクトを縮小させてから配置したり、または複数のUIオブジェクト同士を、間隔を詰めて配置したりすることにより、表示面積が限られているUIの表示領域を有効活用することも考えられる。
しかしながら、複数のUIオブジェクトを近接させて配置する場合、UIの表示領域を有効活用することを優先してUIオブジェクトの配置を行うと、UI全体としての操作性および視認性が悪化する恐れがある。例えば、1画面のUI表示領域に、小さなUIオブジェクトを密集させて多数配置すると、各UIオブジェクトは周囲の他のUIオブジェクトと近接し過ぎるため、ユーザは目的のUIオブジェクトを指などで操作するのが困難になる。
したがって、かかる事情に鑑みてなされた本発明の目的は、複数のUIオブジェクトでUIを構成する際に、各UIオブジェクトを、その特性に応じた操作性および視認性を確保してUIの表示領域に配置することができるユーザインタフェース生成装置を提供することにある。
上記目的を達成する第1の観点に係るユーザインタフェース生成装置の発明は、
アプリケーションプログラムに基づいて各種の機能を実現するアプリケーションプログラム実行部と、
前記アプリケーションプログラムに基づく所定の機能の実行を前記アプリケーションプログラム実行部に指示するためのユーザインタフェースを生成するユーザインタフェース生成部と、
前記ユーザインタフェース生成部により生成されるユーザインタフェースを表示する表示部と、
前記ユーザインタフェースの構成要素であるユーザインタフェースオブジェクトを定義するユーザインタフェースオブジェクト定義情報を含むユーザインタフェース定義ファイルを格納するとともに、自装置の特性を示す装置依存情報(端末依存情報)を格納する記憶部と、
を備えるユーザインタフェース生成装置であって、
前記ユーザインタフェース生成部は、前記記憶部に格納されたユーザインタフェースオブジェクト定義情報を選択し、当該選択したユーザインタフェースオブジェクト定義情報と前記装置依存情報とに基づいて、前記選択したユーザインタフェースオブジェクト定義情報に対応するユーザインタフェースオブジェクトを配置する際に確保すべきマージンを設定し、当該設定したマージンに基づいて前記選択したユーザインタフェースオブジェクトを前記表示部における所定の表示領域に配置することにより、合成ユーザインタフェースを生成することを特徴とするものである。
第2の観点に係る発明は、第1の観点に係るユーザインタフェース生成装置において、
前記ユーザインタフェース生成部は、前記ユーザインタフェースオブジェクトと該ユーザインタフェースオブジェクトに隣接して配置するユーザインタフェースオブジェクトとが異なる前記ユーザインタフェース定義ファイルに含まれる場合に、同一の前記ユーザインタフェース定義ファイルに含まれる場合よりも、当該ユーザインタフェースオブジェクトと前記隣接して配置するユーザインタフェースオブジェクトとの間のマージンを広く設定することを特徴とするものである。
第3の観点に係る発明は、第1の観点に係るユーザインタフェース生成装置において、
前記装置依存情報は、前記ユーザインタフェースにおいてユーザ操作を受け付ける際の基準となる面積を示す基準サイズに関する情報を含み、
前記ユーザインタフェース生成部は、前記ユーザインタフェースオブジェクトと該ユーザインタフェースオブジェクトに隣接して配置するユーザインタフェースオブジェクトとの双方がユーザ操作を受け付ける種別のユーザインタフェースオブジェクトである場合、当該ユーザインタフェースオブジェクトの表示サイズと前記基準サイズとに基づき、当該ユーザインタフェースオブジェクトと前記隣接して配置するユーザインタフェースオブジェクトとの間のマージンを設定することを特徴とするものである。
第4の観点に係る発明は、第1の観点に係るユーザインタフェース生成装置において、
前記装置依存情報は、前記ユーザインタフェースにおいてユーザ操作を受け付ける際の基準となる面積を示す基準サイズに関する情報を含み、
前記ユーザインタフェース生成部は、前記ユーザインタフェースオブジェクトがユーザ操作を受け付ける種別のユーザインタフェースオブジェクトである場合、当該ユーザインタフェースオブジェクトの表示サイズと前記基準サイズとに基づいて、前記表示部の端に配置される場合の当該ユーザインタフェースオブジェクトと前記表示部の端との間のマージンを設定することを特徴とするものである。
第5の観点に係る発明は、第1の観点に係るユーザインタフェース生成装置において、
前記装置依存情報は、前記表示部の周縁を画成する部材の形状に基づいて設定された情報を含み、
前記ユーザインタフェース生成部は、前記ユーザインタフェースオブジェクトがユーザ操作を受け付ける種別のユーザインタフェースオブジェクトである場合、当該ユーザインタフェースオブジェクトの表示サイズと前記装置依存情報とに基づき、当該ユーザインタフェースオブジェクトが前記表示部の端に配置される場合のマージンを設定することを特徴とするものである。
第6の観点に係る発明は、第1の観点に係るユーザインタフェース生成装置において、
前記ユーザインタフェースオブジェクト定義情報は、前記ユーザインタフェースオブジェクトと他のユーザインタフェースオブジェクトとの関連性に関する情報を含み、
前記ユーザインタフェース生成部は、前記ユーザインタフェースオブジェクトと該ユーザインタフェースオブジェクトに隣接して配置するユーザインタフェースオブジェクトとの前記関連性に関する情報に基づく当該関連性が高い場合には、当該ユーザインタフェースオブジェクトと前記隣接して配置するユーザインタフェースオブジェクトとの間のマージンを、前記関連性に関する情報を有さない他のユーザインタフェースオブジェクトとの間のマージンよりも狭く設定することを特徴とするものである。
第7の観点に係る発明は、第1の観点に係るユーザインタフェース生成装置において、
前記ユーザインタフェースへの操作入力手段を判別する操作入力手段判別部をさらに備え、
前記装置依存情報は、前記ユーザインタフェースに対する入力を行うための複数の操作入力手段に対応する基準サイズに関する情報を含み、
前記ユーザインタフェース生成部は、前記ユーザインタフェースオブジェクトがユーザ操作を受け付ける種別のユーザインタフェースオブジェクトである場合、当該ユーザインタフェースオブジェクトの表示サイズと前記基準サイズに関する情報とに基づき、前記操作入力手段判別部で判別された操作入力手段に応じて、当該ユーザインタフェースオブジェクトと該ユーザインタフェースオブジェクトに隣接して配置するユーザインタフェースオブジェクトとの間のマージンを設定することを特徴とするものである。
第8の観点に係る発明は、第1の観点に係るユーザインタフェース生成装置において、
前記ユーザインタフェースを介して前記アプリケーションプログラム実行部に前記アプリケーションプログラムに基づく所定の機能の実行を指示する入力を受け付ける操作入力受付部と、
前記操作入力受付部への操作入力手段を判別する操作入力手段判別部と、をさらに備え、
前記ユーザインタフェース生成部は、前記操作入力手段判別部で判別された操作入力手段に応じて前記装置依存情報を書き換えることを特徴とするものである。
第9の観点に係る発明は、第8の観点に係るユーザインタフェース生成装置において、
前記表示部において前記合成ユーザインタフェースの表示中に、前記操作入力手段判別部により前記操作入力手段の変更が検知された場合、前記ユーザインタフェース生成部は、当該変更された操作入力手段に応じて前記装置依存情報を書き換え、当該書き換えた装置依存情報に基づいて新たな合成ユーザインタフェースを生成することを特徴とするものである。
本発明のユーザインタフェース生成装置の概略構成を示すブロック図である。 本発明のユーザインタフェース定義ファイルの構成を説明する概念図である。 本発明の合成ユーザインタフェース定義ファイルの構成を説明する概念図である。 各ユーザインタフェース定義ファイルに基づいて生成される、種々のリモコンアプリケーション用ユーザインタフェースを表示した例を示す図である。 本発明の実施の形態による自動レイアウト処理を説明するフローチャートである。 本発明の実施の形態に係る、操作手段の変更に伴うUI再合成処理を行うことによりユーザインタフェースを合成した例を示す図である。 本発明の実施の形態に係る、操作手段の変更に伴うUI再合成処理を説明するフローチャートである。 本発明の実施の形態に係る、マージン設定処理の詳細を説明するフローチャートである。 ユーザインタフェースオブジェクトの種別および入力手段に応じて異なるマージンを設定する例を説明する図である。 図9で設定したマージンに基づいてユーザインタフェースオブジェクトを配置した例を説明する図である。 ユーザインタフェースオブジェクトの表示サイズと、基準サイズとに基づいて異なるマージンを設定する例を説明する図である。 隣接するユーザインタフェースオブジェクトの種別に応じて異なるマージンを設定して配置する例を説明する図である。 ユーザインタフェースオブジェクトをユーザインタフェース表示領域の端に配置する場合のマージンの設定について説明する図である。 タッチパネルを囲む部材の縁部の形状に応じて、ユーザインタフェースオブジェクトをユーザインタフェース表示領域の端に配置する場合のマージンの設定について説明する図である。 ユーザインタフェースオブジェクトが元々属するユーザインタフェースに応じて異なるマージンを設定する例を説明する図である。 ユーザインタフェースオブジェクト同士の関連性に応じて異なるマージンを設定する例を説明する図である。 マージン設定処理に基づいてユーザインタフェースオブジェクトを配置した例を示す図である。 従来のリモートコントロール端末を携帯端末のユーザインタフェースで再現した例を示す図である。 従来の携帯端末にて2つのユーザインタフェースを合成した例を示す図である。
以下、本発明の実施の形態について、図面を参照して説明する。以下の実施の形態では、本発明のユーザインタフェース(以下、「UI」と記す)生成装置の一例として、各種外部機器の遠隔制御が可能なリモコン機能を実装した携帯電話を想定して説明する。しかしながら、本発明のUI生成装置は携帯電話に限定されるものではなく、例えばノートパソコンやPDAなどの任意の携帯端末などに適用することができる。また、本発明の実装を必要とする装置であれば、携帯端末にも限定されることはない。なお、本発明は、複数のUIを同時に使用できるように合成することを主目的とするものであり、各UIにより指示を受けるアプリケーションはリモコン機能に限定されるものではなく、任意の各種アプリケーションに本発明を適用することができる。
図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と、UI処理部15とを含んでいる。
制御部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生成部13の詳細については後述する。
操作手段検出部14は、ユーザが入力操作を行う手段を検知する。例えば、タッチパネル20の入力部22からの入力信号があれば、操作手段検出部14は、ユーザがタッチパネルにより入力を行っていると判別する。また、操作キー部80からの入力信号があれば、操作手段検出部14は、ユーザが操作キーにより入力を行っていると判別する。
なお、タッチパネル20の入力部22からの入力が検知された際、入力部22上で入力が検知された領域の面積が所定の面積以上である場合には、操作手段検出部14は、ユーザが指による入力を行っていると判別する。一方、入力が検知された領域の面積が所定の面積以下で非常に小さな面積の入力の場合には、操作手段検出部14は、ユーザがスタイラスのような先細の入力デバイスを用いて入力を行っていると判別する。他にも、スタイラス収納部90からスタイラスが抜き出されたことが検知されると、操作手段検出部14は、その後はスタイラスによる入力が行われると判別する。また、スタイラス収納部90にスタイラスが収納されたことが検知されると、操作手段検出部14は、その後に行われる入力はスタイラスによる入力ではないと判別する。すなわち、この場合、操作手段検出部14は、タッチパネル20上で指による入力が行われるか、または操作キー部80からの入力が行われると判別する。
さらに、所定の操作に応じて、表示部24に入力箇所を指定するポインタが表示された場合、操作手段検出部14は、操作キー部80からの入力のうち、当該ポインタを移動させるための方向指示キーまたは方向指示デバイスなどからの入力が行われると判別する。
UI処理部15は、UI生成部13が生成したUIに対して、ユーザ操作による入力部22などへの入力に基づいて発生するイベントなどを処理すると共に、アプリケーション実行部11に対して、適宜、各種機能の実行を指示する。
上述した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オブジェクト選択画面上で、選択された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と、マージン設定部75とを含む。
配置設定部71は、所定の手順に従ってUIオブジェクトの配置を行う。配置可否判定部72は、配置設定部71により配置されたUIオブジェクトが所定のUI表示領域内に配置可能か否かを判定する。縮小オブジェクト選択部73は、配置可否判定部72によりUIオブジェクトが所定のUI表示領域内に配置不可と判定された場合、所定の手順に従って、縮小するUIオブジェクトを選択する。サイズ下限値設定部74は、端末依存情報やUIオブジェクト定義情報に従って、UIオブジェクト毎にそれぞれの縮小の下限値を設定する。マージン設定部75は、UIオブジェクトを配置する際に、当該UIオブジェクトが他のUIオブジェクトまたはUI表示領域の縁部などに近接し過ぎないように、当該UIオブジェクトの周囲に適度な間隔の設定を行う。このような、各UIオブジェクトの周囲に設定される他のUIオブジェクトとの間隔を、以下「マージン」と記す。
記憶部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オブジェクト定義情報((2)−1〜(2)−6)を含んでいるが、実際には、当該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を合成する際に、当該UIオブジェクトの優先度を示す情報
(8)当該UIオブジェクトと他の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つの定義ファイルにまとめることができる。図3に示す例においては、3つのUI定義ファイル(2),(4),(5)から、それぞれいくつかの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定義ファイルを生成できる。
次に、本実施の形態による、合成UI生成の際の自動レイアウト処理について説明する。本実施の形態では、複数のUIのUIオブジェクトを合成して合成UIを生成する際に、当該複数のUIオブジェクトを自動で選択することにより、表示部24上で所定のUI表示領域に配置する。すなわち、この自動レイアウト処理によれば、合成UIを生成する際に、UI合成処理部60が所定の条件に従ってUIオブジェクトを選択する処理を行うため、合成UIを構成するUIオブジェクトをユーザが1つずつ選択する操作を行う必要はない。
図4は、UIの自動合成を行う場合に用いる、優先度の高いUIオブジェクトで構成した各UIを示す図である。これらの各UIを構成するUIオブジェクトは、各UIが、対応する各アプリケーションに基づく基本的かつ重要な機能の実行を指示する際に必要なものである。
各UIに対応するUI定義ファイルには、全てのUIオブジェクトに対するUIオブジェクト定義情報が含まれる。さらに、各UIのUI定義ファイルに含まれるUIオブジェクト定義情報には、各UIオブジェクトが当該UIにおいてどの程度優先度が高いUIオブジェクトであるかを示す、上述した(7)の「優先度情報」が含まれている。
この優先度情報は、複数のUIを自動的に合成する処理を行う際に、当該UIを構成する各UIオブジェクトについて、UIオブジェクトが必須の要素として必ず選択されるべきものか、重要なUIオブジェクトとして選択されることが望ましいものか、または他のUIオブジェクトと比べると重要度が高くないため状況に応じて省略できるものか、などを示す。図4に示した各UIでは、各UI定義ファイルに含まれるUIオブジェクト定義情報に基づいて、優先度の情報が必須のUIオブジェクト、および優先度が高いUIオブジェクトを抽出している。このように、各UIを合成するに際して、選択されるべきUIオブジェクトを予め規定する。
また、UIオブジェクトを自動選択して配置する際には、必ず選択されるべきUIオブジェクトを特定するために、優先度情報の中に、当該優先度の所定の閾値を設ける。これにより、優先度がこの閾値内にあるUIオブジェクトは必ず選択される。以下、必須のUIオブジェクトのUIオブジェクト定義情報に含まれる優先度情報を「必須情報」と記す。
以下、一例として、図4に示す全てのUIを自動合成する際の自動レイアウト処理について説明する。図4に示す各UIは、それぞれが通常は単独で用いられるUIであるため、このまま全てを合成して表示部24上で所定のUI表示領域に配置することはできない。したがって、操作性を確保するために各UIオブジェクトに適切なマージンを設定しつつ各UIオブジェクトを縮小する処理を含めた自動レイアウト処理を行う。
図5は、本実施の形態による、UIオブジェクトの自動レイアウト処理を説明するフローチャートである。自動レイアウト処理が開始すると、まず、サイズ下限値設定部74は、選択された複数のUIに含まれる各UIオブジェクトについて、UIオブジェクトを縮小する際に使用する表示サイズ下限値(最小値)の設定処理を行う(ステップS12)。この処理により、UIオブジェクトの縮小処理を行う際に、UI合成処理部60がUIオブジェクトを縮小し過ぎて操作性を害することの無いように縮小の下限値が設定される。
このUIオブジェクトの表示サイズの下限値の設定処理では、UIオブジェクト定義情報解析部61が解析した各UI定義ファイルに含まれる各UIオブジェクトのUIオブジェクト定義情報に対して、サイズ下限値設定部74が、各UIオブジェクトの種別などに応じて適切な下限値を設定する。各UIオブジェクトを縮小する際のサイズの下限値は、種々のパラメータに基づいて設定できる。
例えば、サイズ下限値設定部74は、表示サイズの下限値を設定するUIオブジェクトがボタンまたはチェックボックス等のユーザ操作系のものであるか、または単に画像などを表示するものであるか等のUIオブジェクトの種別に応じて、所定の表示サイズ下限値を設定する。すなわち、単に画像を表示するためのUIオブジェクトは、視認性を確保できる範囲でかなり縮小することが可能であるが、ユーザ操作系のUIオブジェクトは、操作性を確保するため縮小し過ぎないように設定する。
また、サイズ下限値設定部74は、端末依存情報記憶領域57に記憶された端末依存情報にも基づいて、UIオブジェクトの表示サイズの下限値を設定する。この端末依存情報には、ユーザが指を用いて入力する場合の入力部22の構成および仕様に基づく情報や、スタイラスのような専用の入力デバイスを用いて入力する場合などの入力デバイス情報も含まれる。縮小対象のUIオブジェクトがユーザ操作系の場合、例えばスタイラスを用いて入力を行う場合、ユーザの指による入力の場合よりも小さな下限値を設定できる。これは、ユーザがスタイラスを用いて入力を行う場合、指で入力する場合よりも細かい入力操作ができるためである。
このようにして、サイズ下限値設定部74は、各UIオブジェクトのUIオブジェクト定義情報に含まれる各種の属性を表す情報、および端末依存情報記憶領域57に記憶された各種の端末依存情報(装置依存情報)に基づいて、各UIオブジェクトについて、設定した係数の初期値を更新して新たな係数値を設定する。これにより、UIオブジェクトの縮小処理を行う際に、縮小し過ぎて操作性や視認性が低下してしまうことは防止される。
次に、マージン設定部75は、各UIオブジェクトについて、当該UIオブジェクトを配置する際に隣接するUIオブジェクトとの間に必要となるマージンを設定するマージン設定処理を行う(ステップS13)。このマージン設定処理により、UIオブジェクト同士が接近し過ぎて配置されることは防止され、ユーザにとって操作性が悪化することは防止される。なお、このマージン設定処理について、その詳細は後述する。
次に、配置設定部71は、UIオブジェクト定義情報に含まれるデフォルトの表示サイズ情報と、ステップS13のマージン設定処理により設定されたマージンとに基づいて、各UIオブジェクトを仮想的に配置する配置設定処理を行う(ステップS14)。この時、配置設定部71は、同じUI定義ファイルに含まれるUIオブジェクト同士は近傍に配置する。さらに、UIオブジェクト定義情報解析部61が解析した、上述した(8)の「当該UIオブジェクトと他のオブジェクトとの関連性情報」などに基づいて、配置設定部71は、同じUI定義ファイルに含まれるUIオブジェクトのうち関連性の高いUIオブジェクト同士を、相対的な位置関係(もともとのUIにおける位置関係)を反映させて近傍に配置する。
ステップS14の配置設定処理が完了したら、配置可否判定部72は、この配置設定処理によるUIオブジェクトの仮想的な配置により、合成UIの全てのUIオブジェクトが所定のUI表示領域内に収まるように配置可能か否かを判定する(ステップS15)。全てのUIオブジェクトが配置可能であると判定された場合(ステップS15のYes)、自動レイアウト処理部70は、仮想的に配置されたUIオブジェクトを実際に表示部24に表示して、自動レイアウト処理を完了する(ステップS16)。
一方、ステップS15にて、合成UIの全てのUIオブジェクトが所定のUI表示領域内に収まるように配置できないと判定された場合、縮小オブジェクト選択部73は、ステップS12の表示サイズ下限値設定処理の結果に基づいて、縮小可能なUIオブジェクトが存在するか否かを判定する(ステップS17)。
ステップS17にて、縮小可能なUIオブジェクトが無いと判定された場合、自動レイアウト処理部70は、自動レイアウト不可と判定し(ステップS18)、自動レイアウト処理を終了する。この時、自動レイアウト処理部70は、自動レイアウト不可の旨を表示部24に表示してもよい。また、この場合、配置したいUIオブジェクトの選択のやり直しや、合成するUIの選択のやり直しなどを行うようユーザに要求するのが望ましい。このように処理することで、操作性を犠牲にして無理にUIを合成することは防止される。
ステップS17にて、縮小可能なUIオブジェクトがあると判定された場合、自動レイアウト処理部70は、縮小オブジェクト選択部73により選択された、優先的に表示サイズを縮小すべきUIオブジェクトを選択して縮小する(ステップS19)。この場合、ステップS12で設定した表示サイズの下限値に基づいて縮小処理を行う。
ステップS19にて行う縮小すべきUIオブジェクトの選択処理は、例えば、UIオブジェクト定義情報に含まれる、UIオブジェクトごとに設定された優先度に基づいて行うことができる。すなわち、各UIオブジェクトのUIオブジェクト定義情報に含まれる優先度情報に基づいて、優先度の低いUIオブジェクトは重要性が低いものと判断し、その重要性が低いUIオブジェクトを、優先的に縮小すべきUIオブジェクトとして選択することができる。
なお、ステップS19の縮小UIオブジェクト選択処理は、他にも、例えばユーザがUIオブジェクトを選択して採用する場合は、その選択順序に基づいて優先的に縮小すべきUIオブジェクトとして選択しても良い。例えば、選択順序が早いものは重要なUIオブジェクトと判断して、優先的に縮小すべきではないものとし、また選択順序が後になるにつれて重要度が低いUIオブジェクトと判断して、優先的に縮小することができる。また、縮小すべきUIオブジェクトを自動で選択する場合、UIオブジェクト定義情報に含まれる選択UIオブジェクトの種別に基づいて縮小すべきUIオブジェクトとして選択したり、もともと同一のUI定義ファイルにて定義されていたUIオブジェクトをグループ化し、グループ単位で縮小すべきUIオブジェクトとして選択しても良い。
ステップS19の縮小処理が行われた後は、再度のマージン設定処理(ステップS13)および配置設定処理(ステップS14)を経てから、配置可否判定部72は、合成後のUIが所定の表示エリア内に配置可能か否かを判定する(ステップS15)。以後、自動レイアウト処理が完了する(ステップS16)か、または自動レイアウト不可と判定される(ステップS18)まで処理を継続する。
以上の自動レイアウト処理により、図4に示す全てのUIを自動合成すると、例えば図6に示すような合成UIを生成することができる。入力手段がユーザの指である場合は、図6(A)に示すような、指の接触面積に応じた縮小下限値に基づく合成UIが生成される。また、入力手段がスタイラスである場合には、図6(B)に示すような、スタイラスの接触面積に応じた縮小下限値に基づく合成UIが生成される。図6(A)と図6(B)とを見比べるとわかるように、スタイラスで入力する場合の方が、入力に関する(ユーザ操作系の)UIオブジェクトの下限値を小さく設定できるため、より多くのUIオブジェクトを配置できる。
なお、以下の説明において、ユーザが携帯電話1を操作する際に、その操作を行う手段がタッチパネル20の入力部22に触れる標準的な接触面積の大きさを、「基準サイズ」と記す。図6(A)および(B)の上部に、「指の接触面積の大きさ」に基づく基準サイズと、「スタイラスの接触面積の大きさ」に基づく基準サイズとを、それぞれ例示してある。
この基準サイズは、各ユーザにより、また各操作手段(指で入力するかスタイラスを用いて入力するか等)により異なることが想定されるため、所定の各基準サイズを予め設定しておく他、最初に携帯電話1を起動して初期設定を行う際などにユーザに登録を促すのが望ましい。各基準サイズを登録する際は、これらを端末依存情報(装置依存情報)として記憶部50の端末依存情報記憶領域57に記憶する。スタイラスなど端末付属のデバイスを操作手段とする場合の基準サイズは、端末依存情報として予め登録することもできる。
このようにして合成UIが生成されると、合成UI定義ファイル生成部63は、当該生成された合成UIに対応する合成UI定義ファイルを生成する。UI合成処理部60は、生成された合成UI定義ファイルを、合成UI定義ファイル記憶領域56に記憶する。以後、合成UI定義ファイル記憶領域56に記憶された合成UI定義ファイルを読み出すことにより、UI生成部13は、タッチパネル20の表示部22上に、一度生成した合成UIを再現できる。
次に、本実施の形態による、操作手段の変更に伴うUI再合成処理について説明する。この処理は、生成した合成UIを使用中に、ユーザが入力操作を行う操作手段が変更された場合に、当該変更された操作手段に応じて、使用中の合成UIを再合成する。
以下、図7のフローチャートを参照して、本実施の形態による、操作手段の変更に伴う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)。なお、この時に、図5のステップS13にて設定した各種マージンの中から、必要に応じたマージンに基づいてUI合成処理を再び行う。それから、UI生成部13は、再びUI合成処理が行われた各UIオブジェクトを表示部24に表示して、UIの表示を更新する(ステップS36)。この後はステップS31に戻り、次に操作手段が変更されるのを検出する。
なお、ステップS32にて、操作手段が変更されない場合、操作手段の変更の検出が終了されたか否か、すなわち操作手段検出モードが終了されたかどうかを判定する(ステップS37)。操作手段検出モードが終了されていない場合にはステップS31に戻り、次に操作手段が変更されるのを検出する。ステップS37にて操作手段検出モードが終了された場合は、操作手段の変更に伴うUI再合成処理を終了する。したがって、本実施の形態では、操作手段検出部14は操作入力手段判別部を構成する。
以上の処理により、ユーザが行う入力操作の操作手段が変更されると、携帯電話1は、変更された操作手段を判断して、各操作手段に応じた最適な合成UIをユーザに提供する。例えば、図6(A)に示すような合成UIをタッチパネル20の表示部24に表示している際に、スタライスをスタイラス収納部90から抜き出すと、合成UIが再合成されて、図6(B)のような合成UIの表示に切り換わる。すなわち、スタイラスによる操作に備えて、指による操作の場合よりも多数のUIオブジェクトが細かく表示される。その後、スタイラスをスタイラス収納部90に収納すると、再び図6(A)のような、指で操作するのに好適な合成UIに更新される。
また、スタライスを抜き出して図6(B)のような合成UIに切り換わった後でも、入力操作の際にスタイラスを使用せずに、指でタッチパネル20に触れると、その指の接触面積(基準サイズ)に基づいて、図6(A)のような合成UIに切り換えることもできる。その後、スタイラスを用いてタッチパネル20に触れると、再び図6(B)のような合成UIにすることもできる。
さらに、操作キー部80を構成する各キーを押下する動作に基づいて、表示部24に表示する合成UIを、操作キーによる操作用の(すなわちタッチパネル用ではない)合成UIに切り換えることもできる。また、表示部24に入力箇所を指定するポインタを表示させて使用する場合、表示部24にポインタを表示した際に、当該ポインタを用いて操作を行うのに好適な合成UIを表示させることもできる。ポインタの画像をカスタマイズできる端末の場合は、表示するポインタの画像の大きさに基づいて基準サイズを算出し、その基準サイズに応じた合成UIを表示できる。
次に、図5にて説明した自動レイアウト処理におけるマージン設定処理(ステップS13)の詳細を説明する。図5にて説明した自動レイアウト処理のステップS13にて言及したマージン設定処理では、各UIオブジェクトを配置する際に、隣接するUIオブジェクトとの間に必要となるマージン(間隔)を設定する。各UIオブジェクトのマージンは、それぞれ種々の条件に基づいて設定することができ、さらに、設定されるマージンも種々のものを規定することができる。
本実施の形態では、UIオブジェクトを配置するにあたり、最初に、各種のマージンのうち、使用する可能性のあるものを全て設定する。最初に全てのマージンを設定することにより、その後各UIオブジェクトを用いてどのようなレイアウト処理を行っても、そのレイアウトに応じて各種マージンを適宜用いることができる。
本実施の形態のマージン設定処理では、各UIオブジェクトについて、それぞれ、マージンA〜Fの6種のマージンを設定する。このマージン設定処理においては、あるUIオブジェクトと、その周囲に配置され得るUIオブジェクトとの相互関係などに基づいて適切なマージンを設定する。
以下、マージンA〜Fの各種のマージンについての説明を列記する。以下、マージンを設定する対象となるUIオブジェクトを「対象UIオブジェクト」と記し、当該対象UIオブジェクトに隣接するUIオブジェクトを「隣接UIオブジェクト」と記す。
マージンA:対象UIオブジェクトと、隣接UIオブジェクトとが元々同じUI定義ファイルに含まれており、かつ、これら両UIオブジェクトについて、上述した(1)の「UIオブジェクトの種別情報」が異種の場合に用いるマージン
(なお、「元々同じUI定義ファイルに含まれている」とは、すなわち、UIを単独で起動させた場合に同じUIに含まれるUIオブジェクトであることを意味する。また、両UIオブジェクトの「UIオブジェクトの種別情報が異なる」とは、例えば一方がボタンやキーなどのユーザ操作を受け付けるUIオブジェクトである場合に、他方がテキストボックスや画像表示などユーザ操作を受け付けないUIオブジェクトである場合などを想定している。)
マージンB:対象UIオブジェクトと、隣接UIオブジェクトとが元々同じUI定義ファイルに含まれており、かつ、これら両UIオブジェクトについて、(1)の「UIオブジェクトの種別情報」が同種の場合に用いるマージン
マージンC:対象UIオブジェクトを、タッチパネル20の表示部24の縁部分に配置する場合のマージン
マージンD:対象UIオブジェクトと、隣接UIオブジェクトとが元々異なるUI定義ファイルに含まれており、かつ、これら両UIオブジェクトについて、(1)の「UIオブジェクトの種別情報」が異種の場合に用いるマージン
マージンE:対象UIオブジェクトと、隣接UIオブジェクトとが元々異なるUI定義ファイルに含まれており、かつ、これら両UIオブジェクトについて、(1)の「UIオブジェクトの種別情報」が同種の場合に用いるマージン
マージンF:対象UIオブジェクトと、隣接UIオブジェクトとのUIオブジェクト定義情報にそれぞれ含まれている、上述した(8)の「UIオブジェクト同士の関連性情報」が示す関連性が高い場合に設定するマージン
(なお、「関連性情報が示す関連性が高い」UIオブジェクトとは、例えば、テレビリモコンUIの選局アップ/ダウンや、オーディオリモコンUIの音量アップ/ダウンなど、一般的に「対」でまたはグループで用いることが想定されるUIオブジェクトを意味する。)
以下、図8のフローチャートおよび図9〜図16を参照しながら、本実施の形態によるマージン設定処理の流れについて説明する。
まず、マージン設定処理が開始すると、マージン設定部75は、合成UIを構成するために選択されたUIオブジェクトの中から、対象UIオブジェクトとしてマージンが設定されていないUIオブジェクトを1つ選択する(ステップS51)。対象UIオブジェクトが選択されたら、マージン設定部75は、当該選択された対象UIオブジェクトのUIオブジェクト定義情報を解析して、(1)の「UIオブジェクトの種別」を判定する(ステップS52)。
対象UIオブジェクトの種別を判定することにより、各UIオブジェクトの機能に応じたマージンを設定できる。図9は、このようにして各UIオブジェクトの機能に応じて設定したマージンの例を示す図である。各列はUIオブジェクトの種別を示し、左から右に、ボタン(Button)、テキストボックス(TextBox)、チェックボックス(Checkbox)、スクロールバー(Scrollbar)の各機能を有するUIオブジェクトの例を示す。各UIオブジェクトの周囲を破線で囲むことにより、当該UIオブジェクトに設定されたマージンの領域を示す。なお、このマージンの領域は仮想的に設定されるものであり、表示部24には表示されないようにするのが好適である。
また、キーやボタンのように、ユーザが指で操作する場合とスタイラスなどにより操作する場合とが想定されるUIオブジェクトについては、その入力手段に応じたマージンを設定する。すなわち、図示のように、指による入力を想定したボタンのUIオブジェクトは、UIオブジェクトの大きさが小さい場合、ユーザの指の接触面積の大きさを考慮して、ある程度余裕を持たせてマージンを設定する必要がある。一方、スタイラスやキーによる入力を想定したボタンのUIオブジェクトの場合は、細かく位置を指定する入力が可能なため、図示のように、UIオブジェクトの大きさにあまり依存しない(ほぼ一定の)マージンを設定できる。ここで、「キーによる入力」とは、操作キー部80の方向指示キーなどを用いて表示部24に表示される選択候補を移動させて決定したり、もしくは操作キー部80の方向指示デバイスを用いてポインタなどを移動させて、選択するUIオブジェクトを決定する動作のような入力を想定している。また、UIオブジェクトの種別がテキストボックスの場合、これらはユーザの入力を受け付けないUIオブジェクトであるため、入力手段によらずほぼ一定の小さなマージンを設定できる。UIオブジェクトの種別がチェックボックスやスクロールバーの場合は、図示のように、ある程度入力手段を考慮してマージンを設定する必要がある。
このように、各UIオブジェクトの種別に基づいて、入力手段も考慮したうえでマージンを設定することにより、当該マージンに基づいてレイアウトを行うことで、例えば図10に示すような配置にできる。図10(A)および(B)は、入力手段がユーザの指である場合のマージンを設定し、当該設定にしたがって所定のレイアウトを施して合成UIを生成した例を示す図である。図10(A)は仮想的なマージンを破線で示すことにより視覚的に明らかにした図であり、図10(B)はUIオブジェクトを実際に表示した例を示す図である。また、図10(C)および(D)は、入力手段がスタイラスの場合のマージンを設定して合成UIを生成した例を示す図である。図10(C)はマージンを破線で示した図であり、図10(D)はUIオブジェクトを実際に表示した例を示す図である。このように、ユーザが指で入力する場合には、操作性を考慮してある程度のマージンを設定することにより、ボタン同士の間隔を広めにとることができる。一方、スタイラスを用いるなど細かい入力を行う場合は、少なめのマージンを設定することによりUI表示領域が有効活用できる。この場合、さらに多くのUIオブジェクトを追加することも可能である。
次に、ステップS53にて、対象UIオブジェクトの種別の判定結果が、ユーザ操作を受け付けるボタンやキー(以下、「ユーザ操作系」と記す)である場合、マージン設定部75は、マージンAに所定の最小マージンを設定する(ステップS54)。マージンAは対象UIオブジェクトと隣接UIオブジェクトとの種別が異なる場合のマージンであり、ステップS54においては、ユーザ操作系の対象UIオブジェクトの周囲に、ユーザ操作系でない隣接UIオブジェクトを配置する場合のマージンを設定することになる。ユーザ操作系のUIオブジェクトに隣接するUIオブジェクトがユーザ操作系でない場合、当該隣接するUIオブジェクトを誤って押下しても、それは入力として扱われない。したがって、ユーザ操作系のUIオブジェクト同士が隣接しなければ、これらオブジェクト同士を近接させても操作性が悪化しないため、ここではマージンAを最小にする。
次に、マージン設定部75は、対象UIオブジェクトのUIオブジェクト定義情報に含まれる、上述した(4)の「UIオブジェクトの表示サイズ情報」と、端末依存情報記憶領域57に記憶されている基準サイズとを比較する(ステップS55)。なお、上述したように、「基準サイズ」とは、タッチパネル20の入力部22に操作手段が触れる標準的な接触面積の大きさ、すなわち操作するユーザの指やスタイラスの接触面積の大きさを意味する。
ステップS56にて、(4)のUIオブジェクトの表示サイズが基準サイズよりも大きくない場合、マージン設定部75は、(4)のUIオブジェクトの表示サイズと基準サイズとの差に応じてマージンBを設定する(ステップS57)。ここで、(4)のUIオブジェクトの表示サイズが基準サイズよりも大きくない場合とは、すなわち、図11(A)に示すように、対象UIオブジェクトの表示サイズよりも、入力する指の接触面積の方が大きくなる場合である。この場合、ユーザ操作系のUIオブジェクト同士が隣接すると、ユーザは意図せず隣接UIオブジェクトを誤って押下する恐れがある。したがって、対象UIオブジェクトと隣接UIオブジェクトとの種別が同種の場合のマージンであるマージンBは、ある程度余裕を持たせて設定する必要がある。
このように、隣接UIオブジェクトに応じてマージンを設定することにより、当該マージンに基づいてレイアウトを行うことで、例えば図12に示すような配置にできる。図12(A)は、UIオブジェクトの種別が同種の場合のマージン、すなわちマージンBに基づいて、ユーザ操作系のUIオブジェクト(ボタンB)を多数並べて配置した例を示す図である。このように、マージンBを設定した各UIオブジェクトのマージンの領域に、他のUIオブジェクトが重ならないように各UIオブジェクトを配置することで、ユーザ操作系のUIオブジェクト同士が接近し過ぎないようにできる。したがって、ユーザが指で操作する際に、意図しない隣接UIオブジェクトを誤って押下する恐れは低減される。
図12(B)は、UIオブジェクトの種別が異種の場合のマージン、すなわちマージンAに基づいて、ユーザ操作性のUIオブジェクトをいくつか並べて配置した例を示す図である。ユーザ操作系のUIオブジェクト(ボタンB)の隣接UIオブジェクトがユーザ操作系のオブジェクトでない(例えばテキストボックス)場合、これらのUIオブジェクトを近接させても操作性は悪化しない。これは、ユーザが誤ってUIオブジェクトを押下しても、ユーザ操作系のUIオブジェクトしか入力を受け付けないためである。したがって、異種のUIオブジェクトが隣接する場合には、これらを近接させて配置することにより、UI表示領域を有効活用できる。
マージンBが設定されたら、次に、マージン設定部75は、端末依存情報記憶領域57に記憶されている、タッチパネル20の表示部24の縁部分に関する情報(以下、「縁マージン情報」と記す)に基づいて、マージンCを設定する(ステップS58)。この場合、対象UIオブジェクトの表示サイズよりも、入力する指の接触面積の方が大きいため、比較的小さな対象UIオブジェクトが表示部24の縁に近接して配置されると、ユーザは当該対象UIオブジェクトを押下しづらくなる。したがって、この場合には、マージンCは、端末依存情報(装置依存情報)である縁マージン情報に基づいて、ある程度余裕を持たせて設定する必要がある。
このように、縁マージン情報に基づいてマージンを設定することにより、当該マージンに基づいてレイアウトを行うことで、例えば図13に示すような配置にできる。図13(A)に示すように、ユーザ操作系である「電源」ボタンは、表示サイズが基準サイズよりも大きい、すなわち指の接触面積よりも大きいUIオブジェクトであるため、UI表示領域の端(図13(A)の左端)に近接させて配置しても操作性は悪化しない。しかしながら、ユーザ操作系のボタンBは、表示サイズが基準サイズよりも小さい、すなわち指の接触面積よりも小さいUIオブジェクトであるため、UI表示領域の端にあまり近接させると操作性が悪化する(押しにくくなる)。したがって、このようなUIオブジェクトは、UI表示領域の端に近接し過ぎないようにマージンCを設定する。なお、図13(A)にて破線により示すUIオブジェクトのマージンの領域は仮想的に示したものであり、実際の表示部24の表示は、図13(B)のようになる。
また、マージンCの設定の際、タッチパネル20を囲む部材の縁部の形状に基づいて設定してもよい。すなわち、例えば図14(A)に示す携帯端末のタッチパネルを囲む部材の、タッチパネルに接する縁部を面取りする等して、横から見ると図14(B)に示すような形状の端末の場合、図示のように、ユーザの指はタッチパネルの端であっても押下できる。このような端末では、図14(A)に示すように、UI表示領域の端(図14(A)の右端)に近接させてボタンなどのUIオブジェクトを配置しても操作性は悪化しない。したがって、この場合、UIオブジェクトをUI表示領域の端に近接して配置するようにマージンCを設定することにより、UI表示領域を有効活用できる。
一方、携帯端末のタッチパネルを囲む部材の、タッチパネルに接する縁部が面取り等されていない場合、図14(C)に示すように、ボタンなどのUIオブジェクトを配置する際にあまりUI表示領域の端(図14(C)の右端)に近接させないようにマージンCを設定する。それは、このような端末では、図14(D)に示すように、ユーザの指はタッチパネルの端の位置を押下できないからである。
このような処理を行うために、携帯端末のタッチパネルを囲む部材の、タッチパネルに接する縁部の形状に関する情報、すなわち、表示部の周縁を画成する部材の形状に基づいて設定された情報を、端末依存情報として予め端末依存情報記憶領域57に記憶する。
マージンCが設定されたら、次に、マージン設定部75は、すでに設定されたマージンAおよびBに基づいて、マージンDおよびEを設定する(ステップS61)。マージンAおよびDは双方とも、対象UIオブジェクトと隣接UIオブジェクトとの種別が異なる場合のマージンであり、マージンBおよびEは双方とも、対象UIオブジェクトと隣接UIオブジェクトとの種別が同種の場合のマージンである。この点で、これらはそれぞれ類似点を有している。しかしながら、マージンAおよびBは、対象UIオブジェクトと、隣接UIオブジェクトとが元々同じUI定義ファイルに含まれている場合に設定されるマージンである。
一方、マージンDおよびEは、対象UIオブジェクトと、隣接UIオブジェクトとが元々異なるUI定義ファイルに含まれている場合に設定されるマージンである。合成UIを生成する際に、元々同じUI定義ファイルに含まれていたUIオブジェクト同士は、元々異なるUI定義ファイルに含まれていたUIオブジェクト同士よりも近接させて配置した方が、まとまりのあるオブジェクト群であることを視覚的に認識し易い。したがって、マージン設定部75は、先に設定したマージンAおよびBの各マージンを利用して、これらのマージンよりも若干大きくマージンを設定するなどの補正を行うことにより、マージンDおよびEを設定する。
例えば、図15(A)に示すように、(1)の隣接UIオブジェクトと所属UIが異なる場合のマージン、すなわちマージンDまたはEの設定は、それぞれ(2)の所属UIが同じ場合のマージン、すなわちすでに設定されたマージンAまたはBに基づいて行う。隣接UIオブジェクトが元々同じUIに含まれる場合には小さめの(例えばデフォルトつまり単独UIとしての設定のような)マージンを設定し、異なるUIに含まれる場合には大きめのマージンを設定する。図15(B)に示すエアコンディショナーリモコンUI(単独UI)と、図15(C)に示すビデオリモコンUI(単独UI)とから、主要なUIオブジェクトを自動選択して配置すると、例えば、図15(D)に示すような合成UIを生成できる。図示のように、各UIオブジェクトの操作性を確保したまま、元の所属UIが同じUIオブジェクト同士を近くに配置できる。このようにマージンDおよびEを設定することにより、合成UIを構成する際に元の所属UIが同じ各UIオブジェクトは近くに配置されるため、ユーザは各UIの違いを視覚的に容易に区別できる。
なお、ステップS56にて、(4)の「UIオブジェクトの表示サイズ」が基準サイズよりも大きい場合、マージン設定部75は、マージンBおよびCに所定の最小マージンを設定する(ステップS59)。(4)のUIオブジェクトの表示サイズが基準サイズよりも大きい場合とは、すなわち、図11(B)に示すように、入力する指の接触面積よりも、UIオブジェクトの表示サイズの方が大きくなる場合である。この場合、ユーザ操作系のUIオブジェクト同士が隣接しても、ユーザは、比較的大きな対象UIオブジェクトに隣接するUIオブジェクトを誤って押下してしまう恐れは少ない。また、この場合、比較的大きな対象UIオブジェクトが表示部24の縁に近接して配置されても、ユーザが当該対象UIオブジェクトを押下しづらくなることはない。したがって、対象UIオブジェクトと隣接UIオブジェクトとの種別が同種の場合のマージンであるマージンB、および表示部24の縁部分に配置する場合のマージンであるマージンCに所定の最小マージンを設定しても問題ない。ステップS59の後、マージン設定処理はステップS61に移行する。
また、ステップS53にて、対象UIオブジェクトの種別の判定結果がユーザ操作系ではない、すなわちユーザ操作を受け付けない種別の場合、マージン設定部75は、マージンA、BおよびCに所定の最小マージンを設定する(ステップS60)。対象UIオブジェクトがユーザ操作系でない場合は、隣接UIオブジェクトがユーザ操作系である場合も、そうでない場合も、これらUIオブジェクト同士を近接させたとしても、対象UIオブジェクトの操作性は悪化しない。また、対象UIオブジェクトがユーザ操作系でない場合は、当該対象UIオブジェクトを表示部24の縁に近接して配置しても、ユーザの操作には影響しない。したがって、この場合はマージンA、BおよびCに所定の最小マージンを設定しても問題ない。ステップS60の後、マージン設定処理はステップS61に移行する。
ステップS61までの処理によりマージンA〜Eが設定されたら、次に、マージン設定部75は、対象UIオブジェクトについて、(8)の「UIオブジェクトの関連性情報」を確認する(ステップS62)。例えば図16(A)に示すように、単独で使用するテレビリモコンUIを構成するUIオブジェクトには、「選局+」と「選局−」、および「音量+」と「音量−」のような、ある対象UIオブジェクトと共に「対」として用いるUIオブジェクトが存在するものがある。このように、2つ以上のUIオブジェクトが通常「対」またはグループとして使用される場合、それらのUIオブジェクトは「関連性が高い」と記す。このような、関連性の高い「対」となるUIオブジェクトのUIオブジェクト定義情報に、予め、(8)のUIオブジェクトの関連性情報として、図16(B)に示すような、UIMLの属性情報(relate_ID)を含める。図示の例では、(選局+、選局−)および(音量+、音量−)は、それぞれ関連性の高いUIオブジェクトとして共通のIDを付与する。例えば、選局のUIオブジェクトには、図16(B)の(2)および(3)に示すように、共通のIDとしてrelate_ID=”select_1”を付与し、音量のUIオブジェクトには、図16(B)の(4)および(5)に示すようにrelate_ID=”volume_1”を付与する。
ステップS63にて、合成UIを構成するUIオブジェクトの中に、対象UIオブジェクトと関連性が高いものが含まれる場合、マージン設定部75は、対象UIオブジェクトを含む元の単独で使用されるUIを解析する。この解析の後、マージン設定部75は、当該解析の結果に基づいてマージンFを設定する(ステップS64)。あるUIオブジェクトが対象UIオブジェクトと関連性が高い場合、通常、これらのUIオブジェクトの双方は、元々同一の単独で使用されるUIに含まれる。したがって、元の単独で使用されるUIにおいて、これらのUIオブジェクトに設定されていたマージンを判定し、このマージンの大きさに基づいて、これらのUIオブジェクトは、関連性のない他のUIオブジェクトよりも近接して配置する。
例えば、元のUIにおいて関連性の高いUIオブジェクトでないものを隣接して配置する場合、図16(C)に示すように、各UIオブジェクトは一定の間隔を空けて配置されるため、ユーザは、これらのUIオブジェクト同士の関連性は高くないことが分かる。図16(C)においては、「音量」のUIオブジェクトと「選局」のUIオブジェクトとは関連性が高くないため、隣接して配置する際には、ある程度のマージンが確保される。一方、元のUIにおいて関連性の高いUIオブジェクトを隣接して配置する場合、図16(D)に示すように、関連性の高いUIオブジェクト同士は、他の隣接UIオブジェクトに比べて近接して配置される。図16(D)においては、「音量」のUIオブジェクト同士、および「選局」のUIオブジェクト同士は、それぞれ関連性が高いため、隣接して配置する際に、ある程度近接して配置される。したがって、ユーザは、これらのUIオブジェクト同士の関連性が高いことが容易に視認できるだけでなく、対として使用する際の操作性も向上する。
以上のように、マージンA〜Fまでの設定を行うことにより、UIオブジェクト1つに対して複数のマージンが設定される。例えば、図11(A)に示すように、基準サイズよりも小さなボタンのUIオブジェクトには、所属UIが同じで隣接UIオブジェクトが異種の場合のマージンAを(1)の大きさに、隣接UIオブジェクトが同種の場合のマージンBを(2)の大きさに設定するのが好適である。また、所属UIが異なり隣接UIオブジェクトが異種の場合のマージンDを(2)の大きさに、隣接UIオブジェクトが同種の場合のマージンEを(3)の大きさに設定するのが好適である。さらに、UI表示領域の端に配置する場合のマージンCは(2)の大きさに設定する。一方、例えば図11(B)に示すように、基準サイズよりも大きなボタンのUIオブジェクトには、マージンAを(1)の大きさに、マージンBを(2)の大きさに設定し、マージンDを(2)の大きさに、マージンEを(3)の大きさに設定するのが好適である。また、UI表示領域の端に配置する場合のマージンCは(1)の大きさに設定する。なお、この「電源」のUIオブジェクトには、対として用いるような関連性の高いUIオブジェクトは他に存在しないため、マージンFを設定していない。
ステップS64までの処理が終了したら、次に、マージン設定部75は、合成UIを構成するために選択されたUIオブジェクトの中に、対象UIオブジェクトとしてマージンが設定されていないUIオブジェクトがまだ存在するか否かを確認する(ステップS65)。まだマージンの設定がされていないUIオブジェクトがある場合には、ステップS51に戻ってマージン設定処理を続行する。一方、ステップS65にて、全てのUIオブジェクトに対してマージンが設定されたと判定された場合には、マージン設定処理は終了する。
以上のマージン設定処理により設定された各種のマージンは、UI合成処理部60が、各UIオブジェクトのUIオブジェクト定義情報に含めて、合成UI定義ファイル記憶領域56に記憶する。したがって、これらのマージン情報は、以後行われる自動レイアウト処理において、UI合成処理部60が合成UI定義ファイル記憶領域56から読み出すことにより、配置状況に応じて適切に選択して使用することができる。
仮に、以上のようなマージン設定処理によってマージンを設定せずに(つまり図5のステップS13をスキップして)、図5のステップS14以降の自動レイアウト処理に移行した場合、例えば図17(A)に示すように、マージンの全く設定されない合成UIが生成される恐れがある。図17(A)は、単独で用いる(1)〜(4)の4つのUIから重要なUIオブジェクトを選択して自動レイアウト処理を行った結果である。このような合成UIは、各UIオブジェクトにマージンが設定されていないため、ユーザにとっては、操作しづらいだけでなく視認性も良くない。
本実施の形態のマージン設定処理によりマージンを設定した後で(つまり図5のステップS13を経た後に)、図5のステップS14以降の自動レイアウト処理に移行すれば、例えば図17(B)に示すように、適切なマージンが設定された合成UIが生成される。このように適切なマージンが設定された合成UIは、操作性を著しく向上できるだけでなく、見た目のまとまりも良い。したがって、視認性が良くないことに起因するユーザの誤操作も低減させることができる。なお、実際に合成UIを生成する際には、各UIオブジェクト自体またはその背景(例えばマージン部分)に適切な色を割り当てる等して元の所属UIを区別することにより、各UIオブジェクトの機能をさらに視認し易くすることができる。
なお、本発明は、上述した実施の形態にのみ限定されるものではなく、幾多の変更または変形が可能である。例えば、本実施の形態では、マージン設定処理フローにより、使用される可能性のある各種のマージンを予め全て設定してから、その後の配置設定処理にて必要なマージンを選択して使用した。しかしながら、予め各種のマージンを設定するのではなく、配置設定処理を行いながら、必要となるマージンを、その都度設定してもよい。
また、上述した実施の形態では、タッチパネルを備える携帯端末でUIを合成処理する場合について説明した。しかしながら、本発明のUI合成処理においては、タッチパネルは必須の要素ではない。本発明は、例えば機械式のキーを多数備える入力部や、ポインタなどを移動させてUIオブジェクトの選択および決定を行う方向指示デバイスを備える入力部など、UIを合成して使用することが想定される任意の端末に適用できる。
さらに、上述した実施の形態においては、説明の便宜のため、操作手段検出モードである場合に、操作手段の変更に伴うUI再合成処理を行うようにしたが、携帯電話1は、常にこのようなモードで動作するようにしてもよい。
また、上述した実施の形態では、複数のUIを構成するUIオブジェクトから合成UIを生成する場合について説明したが、複数のUIに基づく合成でなくとも、1つの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の属性が示すのがサイズ情報である。
Figure 2009157560
本発明によれば、(合成UIの)UIオブジェクトを所定の表示領域内に収まる様にレイアウトする際、配置するUIオブジェクトの種別や表示サイズおよび隣接するUIオブジェクトの種別などと共に、携帯端末の操作部や表示部の仕様等に対応する端末依存情報(装置依存情報)に基づいて、各UIオブジェクトの周囲に適度な間隔(マージン)を設定する。したがって、合成UIを表示する際に、操作性を損なわないレイアウトを行うことが可能になる。
1 携帯電話
10 制御部
11 アプリケーションプログラム実行部
12 ユーザインタフェース取得部
13 ユーザインタフェース生成部
14 操作手段検出部
15 UI処理部
20 タッチパネル
22 入力部
24 表示部
30 無線通信部
40 赤外線通信部
50 記憶部
51 アプリケーションプログラム記憶領域
52 ユーザインタフェース定義ファイル記憶領域
53 個別ユーザインタフェースリソース記憶領域
54 共通ユーザインタフェースリソース記憶領域
55 関連アプリケーションプログラム情報記憶領域
56 合成ユーザインタフェース定義ファイル記憶領域
57 端末依存情報記憶領域
60 ユーザインタフェース合成処理部
61 ユーザインタフェースオブジェクト定義情報解析部
62 ユーザインタフェースオブジェクト選択処理部
63 合成ユーザインタフェース定義ファイル生成部
64 ユーザインタフェースリソース整形部
70 自動レイアウト処理部
71 配置設定部
72 配置可否判定部
73 縮小オブジェクト選択部
74 サイズ下限値設定部
75 マージン設定部
80 操作キー部
90 スタイラス収納部

Claims (9)

  1. アプリケーションプログラムに基づいて各種の機能を実現するアプリケーションプログラム実行部と、
    前記アプリケーションプログラムに基づく所定の機能の実行を前記アプリケーションプログラム実行部に指示するためのユーザインタフェースを生成するユーザインタフェース生成部と、
    前記ユーザインタフェース生成部により生成されるユーザインタフェースを表示する表示部と、
    前記ユーザインタフェースの構成要素であるユーザインタフェースオブジェクトを定義するユーザインタフェースオブジェクト定義情報を含むユーザインタフェース定義ファイルを格納するとともに、自装置の特性を示す装置依存情報を格納する記憶部と、
    を備えるユーザインタフェース生成装置であって、
    前記ユーザインタフェース生成部は、前記記憶部に格納されたユーザインタフェースオブジェクト定義情報を選択し、当該選択したユーザインタフェースオブジェクト定義情報と前記装置依存情報とに基づいて、前記選択したユーザインタフェースオブジェクト定義情報に対応するユーザインタフェースオブジェクトを配置する際に確保すべきマージンを設定し、当該設定したマージンに基づいて前記選択したユーザインタフェースオブジェクトを前記表示部における所定の表示領域に配置することにより、合成ユーザインタフェースを生成することを特徴とする、ユーザインタフェース生成装置。
  2. 前記ユーザインタフェース生成部は、前記ユーザインタフェースオブジェクトと該ユーザインタフェースオブジェクトに隣接して配置するユーザインタフェースオブジェクトとが異なる前記ユーザインタフェース定義ファイルに含まれる場合に、同一の前記ユーザインタフェース定義ファイルに含まれる場合よりも、当該ユーザインタフェースオブジェクトと前記隣接して配置するユーザインタフェースオブジェクトとの間のマージンを広く設定することを特徴とする、請求項1に記載のユーザインタフェース生成装置。
  3. 前記装置依存情報は、前記ユーザインタフェースにおいてユーザ操作を受け付ける際の基準となる面積を示す基準サイズに関する情報を含み、
    前記ユーザインタフェース生成部は、前記ユーザインタフェースオブジェクトと該ユーザインタフェースオブジェクトに隣接して配置するユーザインタフェースオブジェクトとの双方がユーザ操作を受け付ける種別のユーザインタフェースオブジェクトである場合、当該ユーザインタフェースオブジェクトの表示サイズと前記基準サイズとに基づき、当該ユーザインタフェースオブジェクトと前記隣接して配置するユーザインタフェースオブジェクトとの間のマージンを設定することを特徴とする、請求項1に記載のユーザインタフェース生成装置。
  4. 前記装置依存情報は、前記ユーザインタフェースにおいてユーザ操作を受け付ける際の基準となる面積を示す基準サイズに関する情報を含み、
    前記ユーザインタフェース生成部は、前記ユーザインタフェースオブジェクトがユーザ操作を受け付ける種別のユーザインタフェースオブジェクトである場合、当該ユーザインタフェースオブジェクトの表示サイズと前記基準サイズとに基づいて、前記表示部の端に配置される場合の当該ユーザインタフェースオブジェクトと前記表示部の端との間のマージンを設定することを特徴とする、請求項1に記載のユーザインタフェース生成装置。
  5. 前記装置依存情報は、前記表示部の周縁を画成する部材の形状に基づいて設定された情報を含み、
    前記ユーザインタフェース生成部は、前記ユーザインタフェースオブジェクトがユーザ操作を受け付ける種別のユーザインタフェースオブジェクトである場合、当該ユーザインタフェースオブジェクトの表示サイズと前記装置依存情報とに基づき、当該ユーザインタフェースオブジェクトが前記表示部の端に配置される場合のマージンを設定することを特徴とする、請求項1に記載のユーザインタフェース生成装置。
  6. 前記ユーザインタフェースオブジェクト定義情報は、前記ユーザインタフェースオブジェクトと他のユーザインタフェースオブジェクトとの関連性に関する情報を含み、
    前記ユーザインタフェース生成部は、前記ユーザインタフェースオブジェクトと該ユーザインタフェースオブジェクトに隣接して配置するユーザインタフェースオブジェクトとの前記関連性に関する情報に基づく当該関連性が高い場合には、当該ユーザインタフェースオブジェクトと前記隣接して配置するユーザインタフェースオブジェクトとの間のマージンを、前記関連性に関する情報を有さない他のユーザインタフェースオブジェクトとの間のマージンよりも狭く設定することを特徴とする、請求項1に記載のユーザインタフェース生成装置。
  7. 前記ユーザインタフェースへの操作入力手段を判別する操作入力手段判別部をさらに備え、
    前記装置依存情報は、前記ユーザインタフェースに対する入力を行うための複数の操作入力手段に対応する基準サイズに関する情報を含み、
    前記ユーザインタフェース生成部は、前記ユーザインタフェースオブジェクトがユーザ操作を受け付ける種別のユーザインタフェースオブジェクトである場合、当該ユーザインタフェースオブジェクトの表示サイズと前記基準サイズに関する情報とに基づき、前記操作入力手段判別部で判別された操作入力手段に応じて、当該ユーザインタフェースオブジェクトと該ユーザインタフェースオブジェクトに隣接して配置するユーザインタフェースオブジェクトとの間のマージンを設定することを特徴とする、請求項1に記載のユーザインタフェース生成装置。
  8. 前記ユーザインタフェースを介して前記アプリケーションプログラム実行部に前記アプリケーションプログラムに基づく所定の機能の実行を指示する入力を受け付ける操作入力受付部と、
    前記操作入力受付部への操作入力手段を判別する操作入力手段判別部と、をさらに備え、
    前記ユーザインタフェース生成部は、前記操作入力手段判別部で判別された操作入力手段に応じて前記装置依存情報を書き換えることを特徴とする、請求項1に記載のユーザインタフェース生成装置。
  9. 前記表示部において前記合成ユーザインタフェースの表示中に、前記操作入力手段判別部により前記操作入力手段の変更が検知された場合、前記ユーザインタフェース生成部は、当該変更された操作入力手段に応じて前記装置依存情報を書き換え、当該書き換えた装置依存情報に基づいて新たな合成ユーザインタフェースを生成することを特徴とする、請求項8に記載のユーザインタフェース生成装置。
JP2010518082A 2008-06-27 2009-06-26 ユーザインタフェース生成装置 Expired - Fee Related JP5431321B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010518082A JP5431321B2 (ja) 2008-06-27 2009-06-26 ユーザインタフェース生成装置

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2008168945 2008-06-27
JP2008168945 2008-06-27
PCT/JP2009/061771 WO2009157560A1 (ja) 2008-06-27 2009-06-26 ユーザインタフェース生成装置
JP2010518082A JP5431321B2 (ja) 2008-06-27 2009-06-26 ユーザインタフェース生成装置

Publications (2)

Publication Number Publication Date
JPWO2009157560A1 true JPWO2009157560A1 (ja) 2011-12-15
JP5431321B2 JP5431321B2 (ja) 2014-03-05

Family

ID=41444620

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010518082A Expired - Fee Related JP5431321B2 (ja) 2008-06-27 2009-06-26 ユーザインタフェース生成装置

Country Status (4)

Country Link
US (1) US9081591B2 (ja)
JP (1) JP5431321B2 (ja)
KR (1) KR101450640B1 (ja)
WO (1) WO2009157560A1 (ja)

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102713804A (zh) * 2010-02-19 2012-10-03 日本电气株式会社 移动终端及其控制方法
KR101047899B1 (ko) * 2011-02-18 2011-07-08 삼일데이타시스템 주식회사 휴대단말기의 사용자 인터페이스 자동 생성과 이를 이용한 설비 제어시스템
JP2012203653A (ja) * 2011-03-25 2012-10-22 Ntt Docomo Inc 情報端末、表示制御方法及び表示制御プログラム
WO2012153374A1 (ja) * 2011-05-06 2012-11-15 富士通株式会社 情報処理装置,表示装置,キーサイズ変更プログラム,及びキーサイズ変更方法
CH705457A1 (de) * 2011-08-31 2013-03-15 Ferag Ag Generieren einer Benutzerschnittstelle auf einer Anzeige.
MX347596B (es) 2011-11-09 2017-05-03 Janssen Sciences Ireland Uc Derivados de purina para el tratamiento de infecciones viricas.
US20130290851A1 (en) * 2012-04-30 2013-10-31 Microsoft Corporation User interface web services
US8904313B2 (en) * 2012-05-24 2014-12-02 International Business Machines Corporation Gestural control for quantitative inputs
EA034674B1 (ru) 2013-05-24 2020-03-05 Янссен Сайенсиз Айрлэнд Юси Производные пиридона для лечения нарушений, в которое вовлечены модуляции tlr7 и/или tlr8
UA117590C2 (uk) 2013-06-27 2018-08-27 ЯНССЕН САЙЄНСЕЗ АЙРЛЕНД ЮСі ПОХІДНІ ПІРОЛО[3,2-d]ПІРИМІДИНУ ДЛЯ ЛІКУВАННЯ ВІРУСНИХ ІНФЕКЦІЙ ТА ІНШИХ ЗАХВОРЮВАНЬ
US9189207B2 (en) * 2014-03-11 2015-11-17 Telefonaktiebolaget L M Ericsson (Publ) Methods and systems for dynamic runtime generation of customized applications
US10963539B2 (en) 2014-09-10 2021-03-30 Mk Systems Usa Inc. Interactive web application editor
US9432734B2 (en) 2014-09-10 2016-08-30 Telefonaktiebolaget L M Ericsson (Publ) Multi-person and multi-device content personalization
JP2017117239A (ja) * 2015-12-24 2017-06-29 ブラザー工業株式会社 プログラムおよび情報処理装置
US10417183B2 (en) * 2017-03-14 2019-09-17 Salesforce.Com, Inc. Database and file structure configurations for managing text strings to be provided by a graphical user interface
JP7110637B2 (ja) * 2018-03-19 2022-08-02 株式会社リコー 表示入力装置、画像形成装置、画面表示方法およびプログラム
JP7058558B2 (ja) * 2018-05-30 2022-04-22 三菱電機株式会社 監視画面作成装置および監視画面作成方法
KR20210056563A (ko) * 2019-11-11 2021-05-20 삼성전자주식회사 디스플레이 장치 및 그 제어 방법
CN118192800A (zh) * 2020-03-31 2024-06-14 托比股份公司 用于对可视化数据进行预处理的方法、计算机程序产品和处理电路系统
KR20210156523A (ko) * 2020-06-18 2021-12-27 휴렛-팩커드 디벨롭먼트 컴퍼니, 엘.피. 사용자 인터페이스 정의 파일을 이용한 사용자 인터페이스 표시
US11513655B2 (en) 2020-06-26 2022-11-29 Google Llc Simplified user interface generation

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0683537A (ja) * 1992-09-01 1994-03-25 Ricoh Co Ltd タッチパネル式情報処理装置
JP3909499B2 (ja) * 1995-11-15 2007-04-25 三菱電機株式会社 グラフィカルユーザインタフェース装置
JP2001036652A (ja) 1999-07-23 2001-02-09 Nippon Conlux Co Ltd 携帯電話機およびこれを利用した機器遠隔制御方法
US6829615B2 (en) * 2000-02-25 2004-12-07 International Business Machines Corporation Object type relationship graphical user interface
JP2003271310A (ja) * 2002-03-13 2003-09-26 Canon Inc 情報入出力装置、その制御方法および該制御方法を実現するためのプログラム
JP3800626B2 (ja) * 2003-01-30 2006-07-26 ソニー株式会社 制御装置および方法、情報処理装置および方法、記録媒体、並びにプログラム
JP4158105B2 (ja) * 2003-09-25 2008-10-01 ソニー株式会社 車載装置及び車載装置の制御方法
US8065629B1 (en) * 2004-06-22 2011-11-22 Apple Inc. Displaying icon layouts in different resolutions
US7266777B2 (en) * 2004-09-08 2007-09-04 Universal Electronics Inc. Configurable controlling device having an associated editing program
US7594171B2 (en) * 2004-10-01 2009-09-22 Adobe Systems Incorporated Rule-based text layout
US8001476B2 (en) * 2004-11-16 2011-08-16 Open Text Inc. Cellular user interface
JP2006350819A (ja) * 2005-06-17 2006-12-28 Toshiba Corp 家電機器制御システム
JP2007066099A (ja) * 2005-08-31 2007-03-15 Canon Inc Gui構成システム、gui構成方法及びプログラム
US8370766B2 (en) * 2007-01-30 2013-02-05 Oracle International Corporation Menu creation browser extension
US8726190B2 (en) * 2007-09-28 2014-05-13 Adobe Systems Incorporated Automatically transformed graphical user interface

Also Published As

Publication number Publication date
WO2009157560A1 (ja) 2009-12-30
KR101450640B1 (ko) 2014-10-14
KR20110014223A (ko) 2011-02-10
US9081591B2 (en) 2015-07-14
US20110107244A1 (en) 2011-05-05
JP5431321B2 (ja) 2014-03-05

Similar Documents

Publication Publication Date Title
JP5431321B2 (ja) ユーザインタフェース生成装置
JP5406176B2 (ja) ユーザインタフェース生成装置
JP5351165B2 (ja) ユーザインタフェース生成装置
KR101256016B1 (ko) 유저인터페이스 생성장치
US9497313B2 (en) User interface generation apparatus
KR101256014B1 (ko) 유저인터페이스 생성장치
JP5200095B2 (ja) ユーザインタフェース生成装置
US9143588B2 (en) Portable terminal device having an enlarged-display function, method for controlling enlarged display, and computer-read-enabled recording medium
JP2007520000A (ja) オブジェクトの移動方向を表示するディスプレイ装置および方法

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130312

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130513

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20130625

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130924

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20131001

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: 20131203

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20131204

R150 Certificate of patent or registration of utility model

Ref document number: 5431321

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees