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

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

Info

Publication number
JPWO2009123028A1
JPWO2009123028A1 JP2010505806A JP2010505806A JPWO2009123028A1 JP WO2009123028 A1 JPWO2009123028 A1 JP WO2009123028A1 JP 2010505806 A JP2010505806 A JP 2010505806A JP 2010505806 A JP2010505806 A JP 2010505806A JP WO2009123028 A1 JPWO2009123028 A1 JP WO2009123028A1
Authority
JP
Japan
Prior art keywords
user interface
definition file
composite
unit
application
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
JP2010505806A
Other languages
English (en)
Other versions
JP5680404B2 (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 JP2010505806A priority Critical patent/JP5680404B2/ja
Publication of JPWO2009123028A1 publication Critical patent/JPWO2009123028A1/ja
Application granted granted Critical
Publication of JP5680404B2 publication Critical patent/JP5680404B2/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
    • 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/04817Interaction 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 using icons
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/38Creation or generation of source code for implementing 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
    • 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
    • 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
    • H04M1/72409User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality by interfacing with external accessories
    • H04M1/72415User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality by interfacing with external accessories for remote control of appliances
    • 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/72469User interfaces specially adapted for cordless or mobile telephones for operating the device by selecting functions from two or more displayed items, e.g. menus or icons
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M2250/00Details of telephonic subscriber devices
    • H04M2250/22Details of telephonic subscriber devices including a touch pad, a touch sensor or a touch detector

Landscapes

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

Abstract

携帯電話1は、アプリケーションプログラムに基づく所定の機能の実行を実行部11に指示するためのユーザインタフェースを生成する生成部13と、ユーザインタフェースのオブジェクトを定義する情報を含む定義ファイルを格納する記憶部50と、オブジェクトの選択を受け付ける画面を生成する選択画面生成部14と、を備え、選択画面生成部14は、指示された複数のユーザインタフェースのオブジェクト定義情報に基づき選択画面を生成し、生成部13は、選択されたオブジェクトの定義情報を含む定義ファイルを生成し、これに基づく合成ユーザインタフェースを生成することを特徴とする。

Description

関連出願の相互参照
本出願は、2008年4月1日に出願された日本国特許出願2008−95558号の優先権を主張するものであり、この先の出願の開示全体をここに参照のために取り込む。
本発明は、ユーザインタフェース生成装置に関し、特に、携帯端末のユーザインタフェースを生成するユーザインタフェース生成装置に関するものである。
携帯電話に代表される携帯端末のユーザインタフェース(以下、適宜「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画面上で同時に使用できる。
例えば、図19(A)に示すような、テレビのリモコン端末単独であれば、図19(B)に示すように、例えばタッチパネル200を備える携帯端末100上に、テレビリモコンアプリケーションのUIを、その操作性を維持したまま再現できる。なお、図19(A)のリモコン端末において、テンキーなどのキーやボタンは機械式のキーであるが、図19(B)の携帯端末100においては、テンキーなどを描画して再現したオブジェクトをタッチパネル200に表示している。また、図19(C)に示すような、エアコンディショナーのリモコン端末単独の場合も同様に、図19(D)のように、タッチパネル200を備える携帯端末100上に、エアコンディショナーリモコンアプリケーションのUIを、その操作性を維持したまま再現できる。さらに、それぞれのアプリケーションのUIを、XMLをベースとして記述すれば、他メーカの端末などにアプリケーションを移植しても、UIを記述したXMLのファイルを加工するだけでほとんど同じUIを容易に再現できる。
しかしながら、上述の例において、テレビの視聴中にエアコンディショナーの操作を行う場合に、テレビもエアコンディショナーも頻繁な操作を要する状況も想定される。このような場合、両方のリモコンのアプリケーションを、マルチタスクおよびマルチウィンドウの機能を用いて、表示部の表示領域を分割して同時に表示したとする。この場合、各アプリケーションは単独で使用することを想定したUIしか備えていないため、各UIをそのまま同時表示すると、図20(A)〜(D)に示すような状態になる。
図20(A)〜(D)は、マルチタスクおよびマルチウィンドウの機能を実装した携帯端末100で2つのアプリケーションのUIを同時表示した様子を示す図である。図に示す例においては、タッチパネル200の表示部の表示を上下に分割した各ウィンドウ内で、それぞれのUIをそのまま再現したため、各UIとも一部しか表示されていない。画面上に表示しきれない部分の操作を行うために、各ウィンドウの右端にはスクロールバーを備えている。
例えば図20(A)に示す状態で、テレビの音量を調節したい場合には、ユーザは、テレビリモコンUIのウィンドウのスクロールバーを移動して、図20(B)に示すようにテレビリモコンUIの表示範囲を移動させなくてはならない。同様に、例えば図20(C)に示す状態で、エアコンディショナーの温度を調節したい場合、ユーザは、エアコンディショナーリモコンUIのウィンドウのスクロールバーを移動して、図20(D)に示すようにエアコンディショナーリモコンUIの表示範囲を移動させなくてはならない。このように、UIを構成する各種キーまたはボタンおよび情報表示箇所など(以下、「UIオブジェクト」という)のうち、ユーザが所望するものがUIの表示範囲に表示されていない場合には、絶えずその表示範囲を移動させる操作が必要になる。さらに、マルチウィンドウで複数のアプリケーションを起動する場合、UIを重畳表示する際は、まず入力するウィンドウを選択してアクティブにしてから入力操作を開始しなくてはならない。
特に、携帯端末の場合は、端末本体が非常に小さく設計されるため、タッチパネルで構成するUIの場合も物理的なキーで構成するUIの場合も、UIとして利用できる領域は極めて制限されている。したがって、リモコンなどのアプリケーションのUIを構成する操作部は、もともと最小に近い大きさで設計されるのが一般的である。そのため、複数のアプリケーションのUIを同時表示する際に、各UIをそれぞれ全体的に縮小して同時に表示すると、各UIオブジェクトが小さくなり過ぎて、各UIの操作性が著しく低下する恐れもある。このように一画面用にデザインされたUIをマルチウィンドウで表示した場合、その操作性は悪化してしまう。
また、端末を使用しているユーザにとっては、このように一画面用にデザインされたUIを構成するUIオブジェクトの全てが必要とは限らない。ユーザにとって必要のないUIオブジェクトがUIに含まれていると、そのUIオブジェクトは操作の妨げになり、UI全体としての操作性を低下させる恐れもある。
したがって、かかる事情に鑑みてなされた本発明の目的は、複数のアプリケーションプログラムのユーザインタフェースを同時に実現するに際し、選択されたUIオブジェクトのみによってUIを合成し、かつ各ユーザインタフェースの操作性を維持できるユーザインタフェース生成装置を提供することにある。
上記目的を達成する第1の観点に係るユーザインタフェース生成装置の発明は、
アプリケーションプログラムに基づいて各種の機能を実現するアプリケーションプログラム実行部と、
前記アプリケーションプログラムに基づく所定の機能の実行を前記アプリケーションプログラム実行部に指示するためのユーザインタフェースを生成するユーザインタフェース生成部と、
前記ユーザインタフェースの構成要素であるユーザインタフェースオブジェクトを定義するユーザインタフェースオブジェクト定義情報を含むユーザインタフェース定義ファイルを格納する記憶部と、
前記ユーザインタフェースオブジェクト定義情報に基づき、前記ユーザインタフェースオブジェクトの選択を受け付ける選択画面を生成する選択画面生成部と、を備え、
前記選択画面生成部は、複数のユーザインタフェースの合成が指示された場合、当該指示された複数のユーザインタフェースの各々に対応して前記記憶部に格納されるユーザインタフェース定義ファイルに含まれるユーザインタフェースオブジェクト定義情報に基づき前記選択画面を生成し、
前記ユーザインタフェース生成部は、前記選択画面において選択されたユーザインタフェースオブジェクトのユーザインタフェースオブジェクト定義情報を含む合成ユーザインタフェース定義ファイルを生成し、当該合成ユーザインタフェース定義ファイルに基づく合成ユーザインタフェースを生成することを特徴とするものである。
第2の観点に係る発明は、第1の観点に係るユーザインタフェース生成装置において、
前記ユーザインタフェースオブジェクト定義情報は、当該ユーザインタフェースオブジェクトと、当該ユーザインタフェースオブジェクトを構成要素とするユーザインタフェースを構成する他のユーザインタフェースオブジェクトとの関係を示す情報からなるユーザインタフェースオブジェクト属性情報を含み、
前記ユーザインタフェース生成部は、複数のユーザインタフェースの合成が指示された場合、前記選択画面において選択されたユーザインタフェースオブジェクトのユーザインタフェースオブジェクト属性情報、および当該ユーザインタフェースオブジェクトが所属するユーザインタフェースの識別情報に基づき、前記合成ユーザインタフェースにおける前記ユーザインタフェースオブジェクトの配置を決定することを特徴とするものである。
第3の観点に係る発明は、第2の観点に係るユーザインタフェース生成装置において、
前記選択画面において選択されるユーザインタフェースオブジェクトの前記合成ユーザインタフェースにおける占有率を、前記ユーザインタフェースオブジェクト属性情報に基づいて積算する占有率積算部をさらに備え、
前記選択画面生成部は、前記占有率積算部により積算された合成ユーザインタフェースにおける占有率が所定値を超えた場合、当該所定値を超えた際に前記選択画面において選択されたユーザインタフェースオブジェクトの選択を解除すると共に、当該ユーザインタフェースオブジェクトの選択は困難である旨を報知することを特徴とするものである。
さらに、第4の観点に係る発明は、第1〜第3のいずれか1つの観点に係るユーザインタフェース生成装置において、
前記記憶部は、前記選択画面において選択されたユーザインタフェースオブジェクトに基づいて生成された合成ユーザインタフェース定義ファイルを前記記憶部に格納し、
前記アプリケーションプログラム実行部は、前記記憶部に格納された合成ユーザインタフェース定義ファイルに基づいて合成ユーザインタフェースを起動する際に、当該合成ユーザインタフェースを構成する各ユーザインタフェースオブジェクトに対応するアプリケーションプログラムを特定する関連アプリケーションプログラム情報に基づいて、対応するアプリケーションプログラムをバックグラウンドで起動することを特徴とするものである。
本発明のユーザインタフェース生成装置の概略構成を示すブロック図である。 本発明の関連アプリケーションプログラム情報の例を示す図である。 本発明の合成ユーザインタフェースを生成する処理全体を説明するフローチャートである。 本発明のユーザインタフェース合成の際にユーザインタフェースを選択する条件を説明する図である。 本発明のユーザインタフェース合成の際にユーザインタフェースを選択する条件を説明する図である。 本発明のユーザインタフェース合成の際に表示するユーザインタフェースオブジェクト選択画面の例を示す図である。 本発明のユーザインタフェースオブジェクト選択画面の動作を説明する図である。 本発明のユーザインタフェースオブジェクト選択画面の動作を説明する図である。 本発明のユーザインタフェースオブジェクト選択画面の動作を説明する図である。 本発明のユーザインタフェースオブジェクト選択画面の動作を説明する図である。 本発明のユーザインタフェースオブジェクト選択画面の動作を説明する図である。 本発明のユーザインタフェースオブジェクト選択画面の動作を説明する図である。 本発明のユーザインタフェース定義ファイルの例を示す図である。 本発明のアプリケーションプログラム別ユーザインタフェース管理テーブルの例を説明する図である。 本発明のユーザインタフェース生成装置のユーザインタフェース生成部が行う処理を説明するフローチャートである。 本発明のユーザインタフェース生成装置のユーザインタフェース生成部が行うユーザインタフェース生成処理をさらに説明するフローチャートである。 本発明のユーザインタフェース生成装置にてアプリケーションプログラムを単体で実行する場合の処理全体を説明するフローチャートである。 本発明の合成ユーザインタフェースによりアプリケーションプログラムを実行する際の処理全体を説明するフローチャートである。 従来のリモートコントロール端末を携帯端末のユーザインタフェースで再現した状態を示す図である。 従来の携帯端末にて2つのユーザインタフェースを合成した例を示す図である。
符号の説明
1 携帯電話
10 制御部
11 アプリケーションプログラム実行部
12 ユーザインタフェース取得部
13 ユーザインタフェース生成部
14 ユーザインタフェースオブジェクト選択処理部
15 ユーザインタフェースリソース整形部
16 合成ユーザインタフェース定義ファイル生成部
20 タッチパネル
22 入力部
24 表示部
30 無線通信部
40 赤外線通信部
50 記憶部
51 アプリケーションプログラム記憶領域
52 ユーザインタフェース定義ファイル記憶領域
53 個別ユーザインタフェースリソース記憶領域
54 共通ユーザインタフェースリソース記憶領域
55 関連アプリケーションプログラム情報記憶領域
56 合成ユーザインタフェース定義ファイル記憶領域
以下、本発明の各実施の形態について、図面を参照して説明する。以下の各実施の形態では、本発明のユーザインタフェース(以下、「UI」と記す)生成装置の一例として、各種外部機器の遠隔制御が可能なリモコン機能を実装した携帯電話を想定して説明する。しかしながら、本発明のUI生成装置は携帯電話に限定されるものではなく、例えばノートパソコンやPDAなどの任意の携帯端末などに適用することができる。また、本発明の実装を必要とする装置であれば、携帯端末にも限定されることはない。なお、本発明は、複数のUIを同時に使用できるように合成することを主目的とするものであり、各UIにより指示を受けるアプリケーションはリモコン機能に限定されるものではなく、任意の各種アプリケーションに適用することができる。
図1は、本発明の実施の形態に係るUI生成装置である携帯電話の概略構成を示すブロック図である。
携帯電話1は、全体を制御する制御部10と、ユーザからの入力を受け付けると共に、各アプリケーションに応じて入力結果などの表示を行うタッチパネル20とを備えている。タッチパネル20は、ユーザからの入力を受け付けるマトリクススイッチなどで構成した入力部22を、液晶ディスプレイなどで構成した表示部24の前面に重畳させて構成する。表示部24は、アプリケーションプログラムに関する表示をする他、ユーザの操作入力を受け付ける各種キーやボタンなどのUIを所定のUI表示領域に描画して表示する。
また、携帯電話1は、図示しない基地局と音声通話および電子メールのデータなど各種情報を送受信する無線通信部30と、図示しない各種外部機器と赤外線により通信を行う赤外線通信部40とを備えている。無線通信部30を用いて、携帯電話1は、インターネットや無線等を介して端末外部と各種データの送受信を行う。
さらに、携帯電話1は、入力された情報および各種アプリケーション等を記憶したり、ワークメモリなどとしても機能する記憶部50を有する。記憶部50は、アプリケーション記憶領域51と、UI定義ファイル記憶領域52と、個別UIリソース記憶領域53と、共通UIリソース記憶領域54と、関連アプリケーション情報記憶領域55と、合成UI定義ファイル記憶領域56とを含む。
なお、制御部10は、アプリケーション実行部11と、UI取得部12と、UI生成部13と、UIオブジェクト選択処理部14と、UIリソース整形部15と、合成UI定義ファイル生成部16とを含んでいる。
制御部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オブジェクト選択処理部14は、表示部24に描画するUIオブジェクトを定義するUIオブジェクト定義情報を解析することにより、ユーザによるUIオブジェクトの選択を受け付ける選択画面を生成する処理および制御を行う。以下、UIオブジェクトの情報を表示部24に表示して、ユーザによる選択を受け付ける画面を、「UIオブジェクト選択画面」または単に「選択画面」と記す。したがって、本実施の形態では、UIオブジェクト選択処理部14は選択画面生成部を構成する。さらに、UIオブジェクト選択処理部14は、表示部24の所定の表示領域に複数のUIを合成するよう指示されると、指定された複数のUI定義ファイルに基づいてUIの合成を行う。
なお、UIオブジェクト選択処理部14は、UIオブジェクト選択画面上で、選択されたUIオブジェクトが占める占有率を積算する占有率積算部(図示せず)を含む。この占有率積算部は、各UIオブジェクトのUIオブジェクト定義情報に含まれるUIオブジェクト属性情報に基づいて、UIオブジェクトの占有率を積算する。
UIリソース整形部15は、選択されたUIオブジェクトのプレビュー処理や、UIを合成する際に利用するリソースのデータの拡大または縮小処理などを行う。なお、この場合、個別UIリソース記憶領域53または共通UIリソース記憶領域54に記憶されているリソースのデータを読み出して使用する。合成UI定義ファイル生成部16は、UIオブジェクト選択処理部14によって合成されたUIを合成UI定義ファイルとして生成して出力する。
記憶部50において、アプリケーション記憶領域51には、各種のアプリケーションを記憶する。UI定義ファイル記憶領域52には、各UI全体を生成する際の一連の生成ルールを定義するUI定義ファイルを記憶する。また、個別UIリソース記憶領域53は、各アプリケーション固有のUIの生成に使用する画像データや文字列(テキスト)データなどの個別UIリソースを記憶する。共通UIリソース記憶領域54は、各アプリケーション固有の個別UIリソース以外の、端末にて用いられるUIが共有して使用する画像データやフォントのデータなどの共通UIリソースを記憶する。実際にUIを生成する際には、個別UIリソース記憶領域53および共通UIリソース記憶領域54に記憶された画像データおよびテキストデータなどを、タッチパネル20の表示部24に表示する。
さらに、合成UI定義ファイル記憶領域56は、合成UI定義ファイル生成部16が生成したUI定義ファイルを記憶する。また、関連アプリケーション情報記憶領域55には、各合成UI定義ファイルに関連するアプリケーションに対する起動情報などを含む関連アプリケーション情報を記憶する。なお、図2に、関連アプリケーション情報の一例を示す。図2において、表の左側に示した合成UI定義ファイルに対応する関連アプリケーションを、それぞれ表の右側に示してある。
次に、本実施の形態にて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)の形式に従って説明する。このUIMLファイル形式で記述される定義に従って、UI生成部13は、携帯電話1のタッチパネル20の表示部24にUIを表示し、アプリケーション実行部11は、ユーザによる入力部22に対する入力に応じた処理を行う。
本実施の形態によるUI定義ファイルには、表示部24に描画するUIオブジェクトを定義するUIオブジェクト定義情報を含ませる。UIオブジェクト定義情報は、表示部24に表示するUIを構成する要素であるキーまたはボタンなどのUIオブジェクトを描画するための画像およびテキストを定義する情報、および、そのUIオブジェクトに入力がされた際の(実際にはUIオブジェクトに対応する入力部22の部位に入力がされた際の)動作を定義する情報などで構成される。
また、本実施の形態では、UIオブジェクトの位置に対応する入力部22に入力がされた際の動作を定義する情報として、UIオブジェクト定義情報に、各UIオブジェクトに対するイベント発生時に各アプリケーション実行部が実行すべき動作内容を示すアクション情報を含める。例えば、テレビリモコンUIの「電源」のUIオブジェクトの位置に対応する入力部22に対する入力のイベントが発生した場合、テレビリモコンアプリケーションに対して、外部機器のテレビの電源をONまたはOFFにする赤外線信号を発信する指示を出すようアクション情報で定義する。
上述したように、UIオブジェクト定義情報は、複数のUIを合成する際に用いる各UIオブジェクトに関する情報であるUIオブジェクト属性情報を含む。このUIオブジェクト属性情報は、例えば、UIを構成する他のUIオブジェクトとの関係を示す情報、および、複数のUIを合成する際に各UIオブジェクトと他のUIオブジェクトとの関係に基づいて各オブジェクトが表示される優先度の情報など、各種の情報を付加できる。また、UI定義ファイルは、当該UI定義ファイルに対応するUIの識別情報を含む。UIの識別情報は、例えば当該UIの名称をテキスト情報として付加できる。
次に、図3〜図7を参照しながら、本実施の形態に係る携帯電話1による合成UI生成の一連の動作について説明する。
本実施の形態では、複数のアプリケーションを使い分けて同時に使用することが必要になることをユーザが予め想定して、複数のUIからユーザによって選択されたUIオブジェクトのみを採用して、ユーザが所望するUIオブジェクトのみで構成される合成UIを生成する。このため、記憶部50には、アプリケーション記憶領域51に記憶されている各種のアプリケーションに対応する各UIのUI定義ファイルを、UI定義ファイル記憶領域52に予め記憶する。
図3は、本実施の形態に係る携帯電話1による合成UI生成の一連の動作全体について説明するフローチャートである。
まず、ユーザからの入力部22への操作入力などに基づいて、アプリケーション実行部11は、合成UIを生成する処理を行うためのアプリケーション(合成UI生成アプリケーション)を、アプリケーション記憶領域51から読み出して起動する(ステップS11)。この合成UI生成アプリケーションは、複数のUIから所望のUIオブジェクトだけを選択して合成UIを生成する処理が行えるように構成されたアプリケーションである。
合成UI生成アプリケーションが起動されると、複数のUIからUIオブジェクトを選択するUIをユーザに指定させるために、UIオブジェクト選択処理部14は、選択対象となるUI定義ファイルを絞り込む条件を表示部24に表示して、ユーザによる条件指定を入力部22にて受け付ける(ステップS12)。
すなわち、合成UI生成アプリケーションが起動されると、UIオブジェクト選択処理部14は、例えば図4(A)に示すような画面を表示部24に表示して、合成UIを生成するためのUIを選択する条件の、ユーザによる指定を受け付ける。図4(A)に示すように、入力部22にて例えば「取得時間順」がユーザにより選択されると、UIオブジェクト選択処理部14は、図4(B)に示すように、携帯電話1が取得したUI定義ファイルのUI名称を、画面上側から新しい順に表示する。ユーザは、列挙されたUI名称の中から採用したいUIオブジェクトが含まれるUIを選択することができる。UIオブジェクト選択処理部14が表示部24に表示するUI名称を列挙する際は、各UI定義ファイルが最初にUI定義ファイル記憶領域52に記憶される際に付加(または更新)される日時情報を参照することで、新しく取得した順に並べて表示することができる。
また、図5(A)に示すように、入力部22にて例えば「機能別」がユーザにより選択されると、UIオブジェクト選択処理部14は、図5(B)に示すように、各UI定義ファイルのUI名称を、UIの機能別すなわちアプリケーション別(この例ではリモコンアプリケーションに対応する機器別)に分類して画面上に表示する。
上述したものの他、合成UIを生成するUIを選択する条件としては、各UI(またはUIに対応するアプリケーション)を提供するメーカにより分類する「メーカ別」や、UI取得部12を介する等して携帯端末1がUI定義ファイルを取得した場所(例えば「自分の部屋」や「リビング」など)により分類する「取得場所」など、種々の条件が考えられる。以下の説明においては、図5(B)に示すようにUIの「機能別」の分類においてユーザがUIオブジェクトを選択する場合について説明する。
なお、図5(A)に示すように、与えられた条件からユーザによる選択がされて、図5(B)のように選択された条件に基づいてUI定義ファイルのUI名称を表示する際、UIオブジェクト選択処理部14は、この選択によって絞り込まれた複数のUI定義ファイルの内容を解析し、その中に含まれるUIオブジェクト定義情報を抽出する(ステップS13)。このように、採用される可能性のあるUIオブジェクトのUIオブジェクト定義情報を抽出したら、これに基づいて、UIオブジェクト選択処理部14は、各UIが選択された際に、当該UIを構成する各UIオブジェクトの情報を表示する(ステップS14)。
すなわち、図5(B)にてUI名称が示された各UI(例えば「エアコンディショナー」や「TV」など)が選択されると、各UIに対応するUI定義ファイルにおいて各UIオブジェクトの名称がテキスト情報として与えられている場合には、例えば図6(A)に示すように、当該UIを構成するUIオブジェクトのテキスト情報(各キーの名称)を表示する。この場合、UIオブジェクト選択処理部14は、UIオブジェクトの名称を表示するに際し、各UIオブジェクト定義情報に含まれるUIオブジェクトに関連するテキストデータを抽出して表示する。図6(A)は、図5(B)に示したUIのうち「エアコンディショナー」および「TV」を(チェックボックスを押下して入力する等して)選択し、エアコンディショナーリモコンアプリケーションおよびテレビリモコンアプリケーションのUIを構成する各UIオブジェクトの表示を展開した例を示す。
選択されたUIの各UIオブジェクトの情報を表示したら、UIオブジェクト選択処理部14は、採用するUIオブジェクトのユーザによる選択を受け付ける。したがって、本実施の形態では、このように、UIオブジェクトの情報を表示部24に表示して、ユーザによる選択を受け付ける画面が、UIオブジェクト選択画面を構成する。
図6(A)に示すように各UIを構成するUIオブジェクトの情報を表示する際、例えばエアコンディショナーリモコンアプリケーションのUIにおいて、「温度上」(温度上昇)のキーのみをユーザが選択することはなく、通常は「温度下」(温度下降)のキーと対にして採用するものと想定される。このように、リモコンアプリケーションのような用途に用いるUIには、対として用いるUIオブジェクトが多い。そのため、このような対として意味を成す複数のUIオブジェクトは、対として採用または不採用を決定できるようにするのが好適である。
このためには、UI定義ファイルに含まれるUIオブジェクト定義情報に、複数のUIオブジェクトが対(または同じグループ)であることを示す関連性情報をUIオブジェクト属性情報として付加し、その関連性情報(属性)の値によって、対であるUIオブジェクトを定義する。本明細書の末尾に示すXML形式によるUI定義ファイルの例の中では、このUIオブジェクト関連性情報を、属性(relate_ID)として示す。この属性(relate_ID)に同じ値を付加することにより、複数のUIオブジェクトを同じグループとして扱うことができる。
このように、対になるUIオブジェクトを関連付けて表示することで、例えば図6(B)に示すように、関連するUIオブジェクトを、対として採用または不採用を決定できる。図6(B)に示す例では、エアコンディショナーリモコン用UIの「温度」および「風向」のUIオブジェクト、ならびにTVリモコン用UIの「選局」および「音量」のUIオブジェクトの名称を対として表示し、これらを対として採用または不採用が決定できる。これらのUIオブジェクトの名称をまとめて表示することで、表示スペースを節約し、選択画面の限られた表示領域を有効に活用できる。
また、UI定義ファイルによっては、各UIを構成するUIオブジェクトの名称の全てがテキスト情報として与えられてはいない場合もある。このような場合、すなわち、表示すべきテキストデータが各UIオブジェクト定義情報に含まれていない場合、UIオブジェクト選択処理部14は、各UIに対応して個別UIリソース記憶領域53または共通UIリソース記憶領域54に格納されているリソースデータの中から、UIオブジェクトの画像データを読み出し、これを縮小して表示する。
このようにすることで、UIオブジェクトの名称のテキスト情報がない場合でも、例えば図6(C)に示すように、UIを構成するUIオブジェクトをユーザに対して視覚的に表示することができる。図6(C)では、UIオブジェクト定義情報の中に、「表示ウィンドウ」および「ダイレクト選局キー」のUIオブジェクトに対応するテキスト情報がないため、当該UIオブジェクトの縮小画像を表示した例を示す。
なお、携帯電話1の初期設定により、またはユーザの好みの設定に応じて、図6(D)に示すように、全てのUIオブジェクトに対して、UIオブジェクトの縮小画像を表示することもできる。各UIオブジェクトは、実際に表示部24に表示してUIとして使用する際には必ず画像を使用するため、当該UIオブジェクトが名称のテキスト情報を含んでいるか否かに関わらず、縮小画像を表示することができる。このようにテキスト情報だけでなく画像も表示することにより、ユーザにとっては一層視覚的にUIオブジェクトの選択ができる。図6(D)に示す例においても、UIオブジェクトの関連性情報を用いて、対として扱うべきUIオブジェクトをまとめて表示している。
図6(A)〜(D)のいずれかのようなUIオブジェクト選択画面を表示したら、UIオブジェクト選択処理部14は、ユーザによるUIオブジェクトの選択入力を受け付ける(ステップS15)。入力部22にユーザによる(チェックボックスを押下する入力等の)選択入力がされたら(ステップS15のYes)、UIオブジェクト選択処理部14は、選択されたUIオブジェクトが表示部24の所定のUI表示領域内で占める面積の割合の合計(以下、「積算画面占有率」という)を算出する(ステップS16)。この処理のため、各UIオブジェクトのUIオブジェクト定義情報には、UIオブジェクト属性情報として、各UIオブジェクトのUI表示領域における占有率を予め含ませる。
この時、例えば図7(A)に示すUIオブジェクト選択画面から、図7(B)に示すようにUIオブジェクトが選択される際には、表示部24の最下端のソフトキー領域を除くUIオブジェクト選択画面の下端に、上述した積算画面占有率を棒グラフなどにより表示して示すのが好適である。図7(B)の例では、エアコンディショナーリモコン用UIから「電源」(占有率10%)および「表示ウィンドウ」(占有率30%)のUIオブジェクトを選択し、さらにTVリモコン用UIから「電源」(占有率10%)のUIオブジェクトを選択している。そのため、選択画面下端の棒グラフは、積算画面占有率が50%になることを示している。これは、実際にUIを合成して表示部24に表示した際に、UI表示領域の50%ぶんを占めるUIオブジェクトが現在選択されていることを示す。なお、図7においては、チェックボックスが黒色になっている場合に、そのUIオブジェクトが選択されていることを示している。
図7(C)は、ユーザによる入力部22への更なる入力により、エアコンディショナーリモコン用UIから「温度上/温度下」(占有率15%)のUIオブジェクトが選択され、積算画面占有率が65%になったことを示している。このように、UIオブジェクトを順次追加するユーザによる入力を受け付けるが、積算画面占有率が所定の閾値(例えば100%)を超えると、合成したUIをUI表示領域に表示することができなくなるため、UIオブジェクト選択処理部14は、積算画面占有率が所定の閾値を超えたか否かをチェックする(ステップS17)。
このようにして、積算画面占有率が所定の閾値を超えないうちは(ステップS17のNo)UIオブジェクトをまだ追加できるため、ステップS15に戻り、ユーザによる入力部22への更なる入力を受け付ける。しかしながら、UIオブジェクトが選択された際の積算画面占有率が所定の閾値を超える場合(ステップS17のYes)、当該UIオブジェクトは配置できないため、UIオブジェクト選択処理部14は、例えば図7(D)に示すような警告を表示部24に表示する(ステップS18)。
なお、ステップS18の警告表示の代わりに、またはこの警告表示と合わせて、選択されると積算画面占有率が所定の閾値を超えてしまうUIオブジェクトについては、グレイアウト表示などをすることにより、選択できないようにすることもできる。図7(D)に示した選択画面では、選択すると100%を超えるUIオブジェクトについては、グレイアウト表示をすることにより選択できないことを示し、それでも当該UIオブジェクトを選択するユーザの入力があった場合に警告を表示する様子を示している。
積算画面占有率の所定の閾値を超えて選択されたUIオブジェクトは、UIを合成する際に配置できないため、UIオブジェクト選択処理部14は、閾値を超えて選択したUIオブジェクトの選択を解除してから(ステップS19)、ステップS15に戻って他の(積算画面占有率が所定の閾値を超えない)UIオブジェクトの選択を受け付ける。
このようにして、積算画面占有率の所定の閾値を超えないうちは、ユーザは複数のUIから自由に所望のUIオブジェクトを選択できる。なお、UIオブジェクトを選択する際、積算画面占有率を棒グラフで表示するだけでは実際の配置の様子を把握し難い場合も想定される。このような場合、例えば図8(A)に示す表示部24の右下端にあるソフトキーの「プレビュー」に対するユーザの入力に応じて、UIオブジェクト選択処理部14は、図8(B)に示すように、UIオブジェクトの現在時点での配置の様子を示すプレビュー表示を行うようにもできる。プレビュー表示ができるようにすれば、ユーザは、UIオブジェクトの実際の配置を確認しながら、UIオブジェクトの採用または不採用を決めることができる。
また、ユーザがUIオブジェクトの採用または不採用を選択する際、他のUIオブジェクトをさらに追加したいなどの理由から、現在すでに選択しているUIオブジェクトを若干縮小したい場合も考えられる。このために、本実施の形態では、UIオブジェクト選択画面に例えば図9(A)に示すような表示をして、UIオブジェクトを縮小できるようにする。図9(A)において、例えばエアコンディショナーリモコンUIのUIオブジェクトである「電源」の占有率について、8[5〜15]という表示は、現在の占有率は8%であるが、当該UIオブジェクトの占有率は5%から15%まで調整可能であることを意味する。その他のUIオブジェクトも含め、図9(A)では、図8に示した占有率よりも、各UIオブジェクトを全体的に縮小した様子を示している。図9(A)の状態で、上述したプレビュー表示を行うと、図9(B)に示すように、図8(B)のUIの表示よりも各UIオブジェクトが全体的に縮小されると共に、積算画面占有率を示す棒グラフも減少する。このような縮小は、現在選択されている複数のUIオブジェクト全てをまとめて縮小できるようにしてもよく、また各UIオブジェクト個別に縮小できるようにしてもよい。
このようなUIオブジェクトの拡大および縮小処理は、UIオブジェクト選択処理部14が個別UIリソース記憶領域53または共通UIリソース記憶領域54から各UIオブジェクトを読み出した際に、UIリソース整形部15が行う。
なお、このようにUIオブジェクトの縮小を行う場合、各UIオブジェクトの実用的な大きさを考慮して、占有率の上限値および下限値を設定しておくのが好適である。このような上限および下限の値は、UIオブジェクトの種別や使用するリソースに基づいて設定し、UIオブジェクト毎にUIオブジェクト定義情報として記憶する。これにより、各UIオブジェクトを縮小し過ぎて、かえって使い難いUIが生成されることは防止される。
さらに、UIを配置したプレビュー画面とUIオブジェクト選択画面とをその都度切り替えて使用するのが煩わしい場合も想定される。このため、本実施の形態では、プレビュー表示の画面のままで、さらにUIオブジェクトを追加できるようにする。
すなわち、例えば、図10(A)に示すプレビュー画面の状態で、表示部24の右下端にある「UI追加」のソフトキーに対するユーザの入力に応じて、図10(B)に示すようなUIオブジェクト追加の画面表示を行う。図10(B)に示す例では、まだ選択されていないUIオブジェクトをUIごとに分類して表示し、ユーザによる選択入力を受け付けている。図10の例では、UIオブジェクトを各アプリケーションに対応するUIごとに、タブ表示により分類して示している。なお、図10(B)におけるタブの表示において、「A/C」とは、エアコンディショナーを表している。
この場合、ユーザの指によるタッチパネル20への入力に基づいて各UIオブジェクトをドラッグして移動できるようにし、図10(C)から(D)に連続して示すように、上方にドラッグする入力に基づいて当該UIオブジェクトが選択入力されるようにするのが好適である。このように選択されたUIオブジェクトについても、占有率を棒グラフに反映させる。各UIオブジェクトの配置に必要な領域は、UIオブジェクトの周囲を点線で囲むことで分かるようにする。UIオブジェクトの画像の周囲に少し余裕を持たせることで、多数のUIオブジェクトを隣接して配置する際にも一定の操作性を確保できる。
このUIオブジェクト追加画面では、ユーザが各UIオブジェクトをドラッグすることで、UIオブジェクトの配置を自由に設定できる。図10(D)から図10(E)に示すように、ユーザがUIオブジェクトの位置を決めてタッチパネル20から指を離した時点でUIオブジェクトの位置を確定する。
また、UIオブジェクトの中には、複数のUIオブジェクトの相互関係が対等ではなく、主従関係にあるものもある。例えば、テレビリモコンのUIでは、電源をONにすることなく選局や音量を調整する必要性は乏しいなど、大抵のリモコンでは、まず電源をONにしてから他の操作を行うものである。したがって、この場合、電源のオブジェクトを「主」として、電源ONの後で行う操作に係るオブジェクトを「従」と考えることができる。本実施の形態では、ユーザがUIオブジェクトを選択する際に、「主」となるUIオブジェクトを選択しないうちは、「従」となるUIオブジェクトを選択できなくすることもできる。
例えば図11(A)に示すように、各UIにおいて、「電源」のUIオブジェクトが選択されないうちは、「電源」のUIオブジェクトに従属する関係の他のUIオブジェクトは選択できないようにグレイアウト表示にする。主となるUIオブジェクトである「電源」が選択されると、図11(B)に示すように、当該主となるUIオブジェクトに対して従属関係にある他のUIオブジェクトを選択できるようにする。
このようにUIオブジェクトに主従関係を付けるには、UI定義ファイルに含まれるUIオブジェクト定義情報に、複数のUIオブジェクトが主従関係にあることを示すUIオブジェクト属性情報を付加する。このような処理を行うことで、各UIにおいて、ユーザが必要なUIオブジェクトを選択し忘れたり、また不要なUIオブジェクトを誤操作により選択してしまう恐れを低減できる。
以上のようにしてUIオブジェクトの選択を受け付けている際に、ユーザによるUIオブジェクトの選択がなされない場合(ステップS15のNo)、UIオブジェクト選択処理部14は、UIオブジェクトの選択動作が終了したか否かの判定を行う(ステップS20)。例えば図12(A)に示す選択画面または図12(B)に示すプレビュー表示画面にて、ユーザによるソフトキーの「決定」に対する入力があれば、UIオブジェクトの選択動作が終了したと判定できる。ステップS20にてUIオブジェクトの選択動作が終了しない場合にはステップS15に戻り、ユーザによる入力部22への更なる入力を受け付ける。
ステップS20においてUIオブジェクトの選択動作が終了した場合には、UIオブジェクト選択処理部14は、選択されたUIオブジェクトによる自動レイアウト処理を行う(ステップS21)。UIオブジェクトの配置は、ユーザの指定がない場合は、原則として、選択された順にUI表示領域の許す限り左上から自動的に配置する。例えば、図12(A)に示すように、複数のUIオブジェクトが積算画面占有率100%まで順次選択入力された場合、図12(B)に示すように、原則として選択された順番に従って、各UIオブジェクトを表示部24のUI表示領域に収まるように配置する。なお、各UIオブジェクトは単純に左詰めで配置するのではなく、UIオブジェクト定義情報などに基づき、関連性のあるUIオブジェクトをひとまとまりにして配置するのが好ましい。
また、UIオブジェクトが自動的に配置された後も、UIオブジェクト選択処理部14の制御により、ユーザは、上述したように、プレビュー画面表示により、現在のUIオブジェクトの配置を適宜確認できる。この際にも、入力部22をドラッグするユーザの操作入力に基づいてUIオブジェクトの配置を変更できるようにする。
選択したUIオブジェクトのレイアウトが完成したら、合成UI定義ファイル生成部16は、選択したUIオブジェクトのUIオブジェクト定義情報に基づいて、当該選択したUIオブジェクトで構成される複数の合成されたUIを定義する合成UI定義ファイルを生成する(ステップS22)。生成された合成UI定義ファイルは、XML形式の1つのファイルとして、記憶部50の合成UI定義ファイル記憶領域56に記憶する。そのファイルは、本明細書の末尾に示すXML形式によるUI定義ファイルのようになる。
合成UI定義ファイルが生成されたら、合成UI定義ファイル生成部16は、合成UIとして選択されたUIオブジェクトに基づいて関連するアプリケーションの情報を生成する(ステップS23)。ここで生成する関連アプリケーション情報は、合成UIとして選択された各UIオブジェクトに対して入力があった際に、当該UIオブジェクトに関連するアプリケーションを制御するための情報である。選択されたUIオブジェクトに基づく関連アプリケーションの情報が生成されたら、合成UI定義ファイル生成部16は、当該関連アプリケーション情報を、合成UI定義ファイルと関連付けて関連アプリケーション情報記憶領域55に保存して(ステップS24)、合成UI生成の全体処理を終了する。
この後は、合成UI定義ファイル記憶領域56に保存した合成UI定義ファイルを読み出すことにより、一度生成した合成UIを即座に使用できる。
ここで、選択されたUIオブジェクトにより構成される合成UI定義ファイルに対応する関連アプリケーション情報の生成方法について説明する。
関連アプリケーション情報の第1の生成方法として、各UI定義ファイルに含まれるアプリケーションの情報を収集して利用することにより行う方法がある。すなわち、図13に示すように、UI定義ファイル内には、当該UI定義ファイルにより生成されるUIを使用するアプリケーションの情報(application_used=“tvremoconapp”)が含まれている。制御部10は、合成UIの構成要素として選択されたUIオブジェクトを構成要素とするUIのUI定義ファイルから、当該UI定義ファイルにより生成されるUIを使用するアプリケーションの情報を収集して、図2に示したような、合成UIの関連アプリケーション情報55aを生成する。生成された関連アプリケーション情報55aは、対応する合成UI定義ファイルと対応付けてから、関連アプリケーション情報記憶領域55に記憶する。
関連アプリケーション情報の第2の生成方法として、アプリケーション別にUIを管理するための予め記憶した一覧(テーブル)から、関連アプリケーションの情報を収集して利用することにより行う方法もある。すなわち、図14に示すように、各UI定義ファイルと、当該UI定義ファイルにより生成されるUIを使用するアプリケーションの情報とを対応付けたアプリケーション別UI管理テーブル57を、記憶部50に予め記憶する。制御部10は、アプリケーション別UI管理テーブル57を参照して、合成UIの構成要素として選択されたUIオブジェクトを構成要素とするUIのUI定義ファイルに対応するアプリケーションの情報を収集し、図2に示したような、合成UIの関連アプリケーション情報55aを生成する。この場合も、生成された関連アプリケーション情報55aは、対応する合成UI定義ファイルと対応付けてから、関連アプリケーション情報記憶領域55に記憶する。
なお、1つのアプリケーションが複数のUIを備える場合もある。例えば、「電卓アプリケーション」は、四則演算などの基本的な計算を行うために必要最低限のキー(UIオブジェクト)が割り当てられた通常の電卓用UIと、三角関数やべき乗などの科学技術計算用のキー(UIオブジェクト)が割り当てられた関数電卓用UIとを備えている。この2種類のUIを切り替え可能にして提供することで、ユーザの目的に応じた電卓アプリケーションの機能を実行可能にしている。例えば、図14のアプリケーション別UI管理テーブル57では、アプリケーションの情報(アプリケーション名)に、アプリケーションが備えるUIの種別(UI_code)と当該UIのUI定義ファイル(UI定義ファイル名)とが対応付けられている。ここで、電卓アプリケーション「calculatorapp」には、それぞれ異なるUI定義ファイル(「Simple_calculator_interface.uiml」および「Function_calculator_interface.uiml」)に基づく通常の電卓用UIである「Simple_Cal_UI」と関数電卓用UIである「Function_Cal_UI」とが対応付けられている。
このように、本実施の形態では、複数のUIから選択されたUIオブジェクトだけを採用して1つの合成UIを生成することができるため、ユーザにとって所望のUIオブジェクトのみで構成される合成UIを提供できる。図12(B)は、UI合成のレイアウトが完了した状態の一例を示す図である。この例では、ユーザの選択により、エアコンディショナーリモコン用UIと、テレビリモコン用UIと、照明A用UIとの3種類のUIから、ユーザにとって必要なUIオブジェクトのみを選択して、1つの合成UIを生成している。
以上、合成UI生成の全体処理について説明したが、このように合成UI定義ファイルとして生成(準備)した合成UIを起動して実際に使用する際は、各UIオブジェクトを1つの合成UIとして表示部24に表示して使用できる状態にする必要がある。以下、携帯電話1にて、通常のUIまたは本実施の形態による合成UIを表示して使用できる状態にする際の、UI生成部13の動作全体について説明する。
図15は、UI生成部13により、UI定義ファイルまたは合成UI定義ファイルからUIを生成して使用可能にする処理全体を説明するフローチャートである。まず、入力部22に対するユーザの操作入力などに基づいて、UIを表示する権限を持つアプリケーションからUI定義ファイル(XMLファイル)が指定されると、UIを生成して使用可能にする処理を開始する。なお、UIを表示する権限を持つアプリケーションは、携帯電話1にてバックグラウンド起動するものではなく、アプリケーションの最上位にて動作するものである。
次に、UI生成部13は、指定されたUI定義ファイルをUI定義ファイル記憶領域52または合成UI定義ファイル記憶領域56から読み出して、当該UI定義ファイルが合成UI定義ファイルか否かを判定する(ステップS31)。
指定されたファイルが合成UI定義ファイルであると判定された場合、UI生成部13は、対象となる合成UI定義ファイルと関連付けて保存されている関連アプリケーション情報を、記憶部50の関連アプリケーション情報記憶領域55から取得する(ステップS32)。次に、取得した関連アプリケーション情報に基づいて、UI生成部13は、アプリケーション実行部11に対して、関連するアプリケーションをバックグラウンドで起動するよう指示する(ステップS33)。
この後、UI生成部13は、指定された合成UI定義ファイルに対してXMLパース処理(ステップS34)およびDOM化処理(ステップS35)を行う。さらに、UI生成部13は、パース処理およびDOM化処理を行ったUI定義ファイルに基づいて、UIを生成する処理を行う(ステップS36)。なお、ステップS36のUI生成処理については後述する。次に、UI生成処理により生成されたXMLファイルのUIに基づいて、UI生成部13は、タッチパネル20の表示部24のUI表示領域にUIを表示する処理を行い(ステップS37)、これによりUIは使用可能になる。したがって、本実施の形態では、UI生成部13と合成UI定義ファイル生成部16とを含めて、ユーザインタフェース生成部を構成する。
なお、ステップS31にて、指定されたファイルが合成UI定義ファイルでないと判定された場合は、ステップS34に移行し、これ以降は上述した処理と同じになる。この場合、処理されるUI定義ファイルは、合成UI定義ファイルではなく、UI定義ファイル記憶領域52から読み出された単一のUI用のUI定義ファイルになる。
次に、図16のフローチャートを参照しながら、図15におけるステップS36のUI生成処理についてさらに説明する。
図16に示すUI生成処理の開始時点では、1つのUI定義ファイルに基づくUI、または複数のUI定義ファイルに基づく合成UIのどちらかが、1つのDOMドキュメント(またはDOMノード)になっている。まず、UI生成部13は、DOMドキュメントに対して表示関連の解析を行う(ステップS51)。これは、UIML形式で記述されたUI定義ファイルでは、structureタグやstyleタグを付された属性などを解析する。次に、UI生成部13は、DOMドキュメントの動作関連について解析を行う(ステップS52)。これは、UIML形式で記述されたUI定義ファイルでは、behaviorタグを付された属性などを解析する。
次に、UI生成部13は、DOMドキュメントに含まれる表現を、各端末に依存する表現に変換処理を行う(ステップS53)。さらに、UI生成部13は、ステップS53の変換処理の結果に基づいて、使用するUIオブジェクトのリソースを選定して各属性(プロパティ)を設定する(ステップS54)。この際に必要なUIオブジェクトのリソースは、個別UIリソースとして個別UIリソース記憶領域53に、または共通UIリソースとして共通UIリソース記憶領域54に記憶されている。この後、UI生成部13は、各UIオブジェクトを含むUIのプロット処理を行う(ステップS55)。これによりUIの生成処理は終了し、この後は図15のステップS37に移行して、UIの表示処理を行う。
このようにすることで、UI生成の際に指定されたUI定義ファイルが、複数のUIを合成する合成UI定義ファイルであっても、また複数のUIを合成しない単一UIのUI定義ファイルであっても、それぞれに応じた処理を行うことができる。すなわち、合成UI定義ファイルを処理する場合は、複数のUIを合成するためのアプリケーションの準備と共に合成UIが生成され、また単一UIのUI定義ファイルを処理する場合には、従来式に単一のUIが生成される。
以上、UI生成部13によりUIを生成して使用可能にする処理全体について説明したが、このようにして生成した合成UIを起動して実際に使用する際には、同時に使用するUIにそれぞれ対応した各アプリケーションも同時に使用できる状態にしなくてはならない。このため、XMLファイル形式の合成UI定義ファイルを合成UI定義ファイル記憶領域56から読み出して起動したら、合成されたUIに関連する各アプリケーションをバックグラウンドで起動させておく等の処理が必要になる。
以下、このための処理について説明するために、まず、図17のフローチャートを参照しながら、UIによって指示を受けるアプリケーションが1つであり、指示されたアプリケーションを単体で実行する際の全体処理について説明する。
入力部22に対するユーザの入力により、メニュー画面などから起動したいアプリケーションが指定されると、アプリケーション実行部11は、指定されたアプリケーションをアプリケーション記憶領域51から読み出して起動する(ステップS71)。次に、アプリケーション実行部11は、起動したアプリケーション(以下、適宜「現アプリケーション」という)が最初に使用するUIを定義したUI定義ファイルをUI生成部13に指定する(ステップS72)。UI生成部13は、指定されたUI定義ファイルをUI定義ファイル記憶領域52から読み出し、当該読み出したUI定義ファイルに基づいて、UIを生成して表示部24に表示する(ステップS73)。なお、このUIを生成して使用可能にする処理は、図15および図16で説明した処理に基づいて行う。
その後、アプリケーション実行部11は、表示したUIに対して、入力部22に対するユーザの操作入力などによるイベントが発生したか否かを判定し、当該イベントが発生した場合(ステップS74のYes)、発生したイベントを現在表示中のUIにて処理する(ステップS75)。この処理の後、アプリケーション実行部11は、現在表示中のUIのみにて当該イベントの処理が完結したか否かを判定し(ステップS76)、現在表示中のUIのみで当該イベントの処理が完結した場合、ステップS74に戻って処理を続行する。しかしながら、現在のUIのみで完結しないイベントであった場合(ステップS76のNo)、アプリケーション実行部11は、アプリケーションの機能を用いてイベント処理を行う(ステップS77)。
ステップS77においてアプリケーションの機能を用いて処理する場合、アプリケーション実行部11は、別UIへの切り替えが必要か否かを判定し(ステップS78)、別UIへの切り替えが必要でない場合には、別アプリケーションの起動が必要か否かを判定する(ステップS79)。別アプリケーションの起動が必要ない場合には、アプリケーション実行部11は、現アプリケーションの終了が必要か否かを判定し(ステップS80)、現アプリケーションの終了が必要でない場合、ステップS74に戻って処理を続行する。しかしながら、ステップS80において現アプリケーションの終了が必要と判定された場合、アプリケーション実行部11は、アプリケーションの終了処理を行う(ステップS81)。このアプリケーションの終了処理は、現在表示中のUIを破棄する処理なども含む。
一方、ステップS78にて、別UIへの切り替えが必要と判定された場合には、アプリケーション実行部11は、現在表示中のUIを破棄するとともに、現アプリケーションが次に必要とするUIを決定する。こうして必要なUIが決定されたら、アプリケーション実行部11は、当該必要なUIを定義するUI定義ファイルを、UI定義ファイル記憶領域52から読み出して、UI生成部13に対して指定する(ステップS82)。この指定に基づいて、UI生成部13は、新たなUIを生成して、表示部24に表示する(ステップS83)。なお、このUI生成も、図15および図16で説明した処理に基づいて行い、UIが生成され表示されたら、ステップS74に戻って処理を続行する。
また、ステップS79にて、別アプリケーションの起動が必要と判定された場合、アプリケーション実行部11は、次に起動すべき別のアプリケーションを決定して実行する(ステップS84)。さらに、アプリケーション実行部11は、当該別のアプリケーションの実行と共に、現アプリケーションをサスペンド状態に移行させる(ステップS85)。
このようにすることで、UIによって指示を受けるアプリケーションが1つの場合に、他のUIまたはアプリケーションにまたがるイベントが発生しても適切に処理を移行し、アプリケーションの動作を続行できる。
次に、図18のフローチャートを参照しながら、合成UIによって指示を受けるアプリケーションが複数あり、指定された複数のアプリケーションを実行する際の全体処理について説明する。なお、図18に示す全体処理は、図17に示す全体処理と似た処理を含むため、同じ説明は適宜省略する。
まず、アプリケーション実行部11は、図3で説明した処理により生成された合成UI定義ファイルに基づくUIを実行する為のアプリケーション(合成UI実行用アプリケーション)を起動する(ステップS91)。次に、アプリケーション実行部11は、合成UI実行用アプリケーションが使用する合成UI定義ファイルをUI生成部13に指定する(ステップS92)。UI生成部13は、指定された合成UI定義ファイルを合成UI定義ファイル記憶領域56から読み出し、当該読み出した合成UI定義ファイルに基づいて、合成UIを生成して表示部24に表示する(ステップS93)。この合成UIの表示とともに、アプリケーション実行部11は、関連アプリケーション情報記憶領域55から読み出した関連アプリケーション情報に基づいて、合成UIに関連するアプリケーションをバックグラウンドで起動させる(ステップS94)。
その後、アプリケーション実行部11は、表示した合成UIに対して、入力部22に対するユーザの操作入力などによるイベントが発生したか否かを判定し、当該イベントが発生した場合(ステップS95のYes)、発生したイベントを現在表示中の合成UIにて処理する(ステップS96)。この処理の後、アプリケーション実行部11は、現在表示中の合成UIのみにて当該イベントの処理が完結したか否かを判定し(ステップS97)、現在表示中の合成UIのみで当該イベントの処理が完結した場合、ステップS95に戻って処理を続行する。しかしながら、現在の合成UIのみで完結しないイベントであった場合(ステップS97のNo)、アプリケーション実行部11は、イベントにより動作したUIオブジェクトに関連する、バックグラウンド起動中のアプリケーションを特定する(ステップS98)。この後、アプリケーション実行部11は、特定したアプリケーションの機能を用いてイベント処理を行う(ステップS99)。
ステップS99においてアプリケーションの機能を用いて処理する場合、アプリケーション実行部11は、別UIへの切り替えが必要か否かを判定し(ステップS100)、別UIへの切り替えが必要でない場合には、別アプリケーションの起動が必要か否かを判定する(ステップS101)。別アプリケーションの起動が必要ない場合には、アプリケーション実行部11は、現アプリケーションの終了が必要か否かを判定し(ステップS102)、現アプリケーションの終了が必要でない場合、ステップS95に戻って処理を続行する。しかしながら、ステップS102において現アプリケーションの終了が必要と判定された場合は、アプリケーション実行部11は、表示中の合成UIに関連するバックグラウンド起動中のアプリケーションの終了処理を行い(ステップS103)、その後、現アプリケーションの終了処理を行う(ステップS104)。このアプリケーションの終了処理も、現在表示中のUIを破棄する処理などを含む。その他の処理は、図17にて説明した処理と同様になる。
このようにすることで、合成UIによって指示を受けるアプリケーションが複数の場合であっても、他のUIまたはアプリケーションにまたがるイベントが発生しても適切に処理を移行し、アプリケーションの動作を続行できる。
なお、本発明は、上述した実施の形態にのみ限定されるものではなく、幾多の変更または変形が可能である。例えば、上述した実施の形態では、タッチパネルを備える携帯端末でUIを合成する処理を行う場合について説明した。しかしながら、本発明のUI合成処理においては、タッチパネルは必須の要素ではない。本発明は、例えば機械式のキーを多数備える入力部や、他のポインティングデバイスにより入力を行う入力部など、UIを合成して使用することが想定される任意の入力部を備える端末に適用できる。
また、上述した実施の形態の携帯電話1は、赤外線通信部40により赤外線通信をすることで外部機器を遠隔制御したが、外部機器との通信は赤外線通信に限らず、例えばBluetooth(登録商標)や無線LANなどの近距離無線通信を採用してもよい。
さらに、上述した実施の形態では、各アプリケーションに対応した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オブジェクト属性情報を付加した箇所には下線を付してある。また、本例において、UIオブジェクトは<template>タグにより定義されており、したがって<template>〜</template>の間の記載がUIオブジェクト定義情報に相当する。
まず、テレビリモコンUIを構成するUI定義ファイルとして、TV1_interface.uimlのファイルの例を示す。
Figure 2009123028
Figure 2009123028
Figure 2009123028
次に、エアコンディショナーリモコンUIを構成するUI定義ファイルとして、AIR1_interface.uimlのファイルの例を示す。
Figure 2009123028
Figure 2009123028
Figure 2009123028
次に、照明リモコンUIを構成するUI定義ファイルとして、light1_interface.uimlのファイルの例を示す。
Figure 2009123028
Figure 2009123028
さらに、図3で説明した、複数のUIから選択したUIオブジェクトのUIオブジェクト定義情報に基づいて生成した、選択したUIオブジェクトで構成される合成UIを定義する合成UI定義ファイルとして、comp1.uimlのファイルの例を一部抜粋して示す。
Figure 2009123028
Figure 2009123028
本発明によれば、複数のUIを合成するに際し、選択されたUIオブジェクトのみを採用して、所定のUI表示領域に収まる1つの合成UIを生成できる。したがって、生成された合成UIは、ユーザが所望するUIオブジェクトのみで構成されることになり、不要なUIオブジェクトを全て省いたUIを生成することができる。このようにして生成された合成UIでは、複数のUIを切り替えることなく同時に使用することができる。さらに、マルチウィンドウの場合の様に表示領域(ウィンドウ)を選択する操作や、表示領域内にてスクロールバーを移動させる操作が必要ないため、ユーザの操作負荷を大幅に軽減できる。

Claims (4)

  1. アプリケーションプログラムに基づいて各種の機能を実現するアプリケーションプログラム実行部と、
    前記アプリケーションプログラムに基づく所定の機能の実行を前記アプリケーションプログラム実行部に指示するためのユーザインタフェースを生成するユーザインタフェース生成部と、
    前記ユーザインタフェースの構成要素であるユーザインタフェースオブジェクトを定義するユーザインタフェースオブジェクト定義情報を含むユーザインタフェース定義ファイルを格納する記憶部と、
    前記ユーザインタフェースオブジェクト定義情報に基づき、前記ユーザインタフェースオブジェクトの選択を受け付ける選択画面を生成する選択画面生成部と、を備え、
    前記選択画面生成部は、複数のユーザインタフェースの合成が指示された場合、当該指示された複数のユーザインタフェースの各々に対応して前記記憶部に格納されるユーザインタフェース定義ファイルに含まれるユーザインタフェースオブジェクト定義情報に基づき前記選択画面を生成し、
    前記ユーザインタフェース生成部は、前記選択画面において選択されたユーザインタフェースオブジェクトのユーザインタフェースオブジェクト定義情報を含む合成ユーザインタフェース定義ファイルを生成し、当該合成ユーザインタフェース定義ファイルに基づく合成ユーザインタフェースを生成することを特徴とするユーザインタフェース生成装置。
  2. 前記ユーザインタフェースオブジェクト定義情報は、当該ユーザインタフェースオブジェクトと、当該ユーザインタフェースオブジェクトを構成要素とするユーザインタフェースを構成する他のユーザインタフェースオブジェクトとの関係を示す情報からなるユーザインタフェースオブジェクト属性情報を含み、
    前記ユーザインタフェース生成部は、複数のユーザインタフェースの合成が指示された場合、前記選択画面において選択されたユーザインタフェースオブジェクトのユーザインタフェースオブジェクト属性情報、および当該ユーザインタフェースオブジェクトが所属するユーザインタフェースの識別情報に基づき、前記合成ユーザインタフェースにおける前記ユーザインタフェースオブジェクトの配置を決定することを特徴とする、請求項1に記載のユーザインタフェース生成装置。
  3. 前記選択画面において選択されるユーザインタフェースオブジェクトの前記合成ユーザインタフェースにおける占有率を、前記ユーザインタフェースオブジェクト属性情報に基づいて積算する占有率積算部をさらに備え、
    前記選択画面生成部は、前記占有率積算部により積算された合成ユーザインタフェースにおける占有率が所定値を超えた場合、当該所定値を超えた際に前記選択画面において選択されたユーザインタフェースオブジェクトの選択を解除すると共に、当該ユーザインタフェースオブジェクトの選択は困難である旨を報知することを特徴とする、請求項2に記載のユーザインタフェース生成装置。
  4. 前記記憶部は、前記選択画面において選択されたユーザインタフェースオブジェクトに基づいて生成された合成ユーザインタフェース定義ファイルを前記記憶部に格納し、
    前記アプリケーションプログラム実行部は、前記記憶部に格納された合成ユーザインタフェース定義ファイルに基づいて合成ユーザインタフェースを起動する際に、当該合成ユーザインタフェースを構成する各ユーザインタフェースオブジェクトに対応するアプリケーションプログラムを特定する関連アプリケーションプログラム情報に基づいて、対応するアプリケーションプログラムをバックグラウンドで起動することを特徴とする、請求項1〜3のいずれか1項に記載のユーザインタフェース生成装置。
JP2010505806A 2008-04-01 2009-03-26 ユーザインタフェース生成装置 Expired - Fee Related JP5680404B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010505806A JP5680404B2 (ja) 2008-04-01 2009-03-26 ユーザインタフェース生成装置

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2008095558 2008-04-01
JP2008095558 2008-04-01
JP2010505806A JP5680404B2 (ja) 2008-04-01 2009-03-26 ユーザインタフェース生成装置
PCT/JP2009/056199 WO2009123028A1 (ja) 2008-04-01 2009-03-26 ユーザインタフェース生成装置

Publications (2)

Publication Number Publication Date
JPWO2009123028A1 true JPWO2009123028A1 (ja) 2011-07-28
JP5680404B2 JP5680404B2 (ja) 2015-03-04

Family

ID=41135406

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010505806A Expired - Fee Related JP5680404B2 (ja) 2008-04-01 2009-03-26 ユーザインタフェース生成装置

Country Status (4)

Country Link
US (2) US9497313B2 (ja)
JP (1) JP5680404B2 (ja)
KR (1) KR20100127252A (ja)
WO (1) WO2009123028A1 (ja)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4856268B1 (ja) * 2010-08-02 2012-01-18 株式会社東芝 ユーザ端末及びそのアプリケーション管理方法
CN107066475A (zh) * 2010-10-20 2017-08-18 日本电气株式会社 数据处理终端、数据搜索方法以及非瞬时计算机可读介质
EP2697715A4 (en) * 2011-04-11 2014-04-23 Rakesh Sharrma SYSTEM AND METHOD FOR DEVELOPING MOBILE APPLICATIONS
EP2766801A4 (en) * 2011-10-13 2015-04-22 Lg Electronics Inc INPUT INTERFACE CONTROL APPARATUS AND METHOD THEREOF
JP2012033192A (ja) * 2011-10-20 2012-02-16 Toshiba Corp ユーザ端末及びそのアプリケーション管理方法
CN102541547B (zh) * 2011-12-22 2015-12-02 华为技术有限公司 一种为实现控制目标设备的处理方法和装置
US9749714B2 (en) * 2012-09-28 2017-08-29 Panasonic Intellectual Property Mangement Co., Ltd. Information notification apparatus and information displaying method
JP5860564B2 (ja) * 2013-02-20 2016-02-16 パナソニック インテレクチュアル プロパティ コーポレーション オブアメリカPanasonic Intellectual Property Corporation of America 携帯情報端末の制御方法及びプログラム
US9020568B2 (en) * 2013-04-11 2015-04-28 Panasonic Intellectual Property Management Co., Ltd. Mobile device
WO2015131947A1 (de) * 2014-03-06 2015-09-11 Siemens Aktiengesellschaft System zur erstellung und zum betrieb von softwareapplikationen
KR101594946B1 (ko) * 2014-11-21 2016-02-17 스튜디오씨드코리아 주식회사 프로토타이핑 툴을 제공하기 위한 방법, 시스템 및 비일시성의 컴퓨터 판독 가능한 기록 매체
CN104834515A (zh) * 2015-03-30 2015-08-12 百度在线网络技术(北京)有限公司 目标文件的生成方法
JP2017010481A (ja) * 2015-06-26 2017-01-12 シャープ株式会社 コンテンツ表示装置及びプログラム
US10558436B2 (en) * 2016-01-25 2020-02-11 Adp, Llc Dynamically composing products using capsules
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
JP7286913B2 (ja) * 2018-03-27 2023-06-06 カシオ計算機株式会社 通信機器、通信機器の制御方法、およびプログラム
CN110868471B (zh) * 2019-11-18 2022-09-30 北京小米移动软件有限公司 设备构建方法、装置及存储介质
US11379089B2 (en) 2020-07-02 2022-07-05 Servicenow, Inc. Adaptable user interface layout for applications

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20010013823A1 (en) * 1997-04-14 2001-08-16 Takeshi Hatakeyama Network control system, network terminal and control terminal
US6211870B1 (en) * 1997-07-07 2001-04-03 Combi/Mote Corp. Computer programmable remote control
JP2988911B1 (ja) 1998-07-03 1999-12-13 三菱電機株式会社 プログラム自動生成装置
US7831930B2 (en) * 2001-11-20 2010-11-09 Universal Electronics Inc. System and method for displaying a user interface for a remote control application
JP2001036652A (ja) 1999-07-23 2001-02-09 Nippon Conlux Co Ltd 携帯電話機およびこれを利用した機器遠隔制御方法
JP2002278666A (ja) 2001-03-22 2002-09-27 Toyoda Mach Works Ltd 設備制御用操作盤
KR100506199B1 (ko) * 2002-11-11 2005-08-05 삼성전자주식회사 무선 모바일 단말기에서 인디케이터 표시 제어 방법
JP2007536634A (ja) * 2004-05-04 2007-12-13 フィッシャー−ローズマウント・システムズ・インコーポレーテッド プロセス制御システムのためのサービス指向型アーキテクチャ
JP5121280B2 (ja) 2006-05-31 2013-01-16 株式会社リコー 情報処理装置、プロセス制御方法、及びプロセス制御プログラム
US8542323B2 (en) * 2007-12-21 2013-09-24 Sony Corporation Touch sensitive wireless navigation device for remote control
US9503562B2 (en) 2008-03-19 2016-11-22 Universal Electronics Inc. System and method for appliance control via a personal communication or entertainment device
KR101503493B1 (ko) * 2008-07-16 2015-03-17 삼성전자주식회사 위젯 콘텐츠를 이용한 기기 제어 방법 및 그 방법을수행하는 원격 제어 장치

Also Published As

Publication number Publication date
US20170017377A1 (en) 2017-01-19
WO2009123028A1 (ja) 2009-10-08
US20110035706A1 (en) 2011-02-10
KR20100127252A (ko) 2010-12-03
JP5680404B2 (ja) 2015-03-04
US9497313B2 (en) 2016-11-15

Similar Documents

Publication Publication Date Title
JP5680404B2 (ja) ユーザインタフェース生成装置
JP5406176B2 (ja) ユーザインタフェース生成装置
JP5351165B2 (ja) ユーザインタフェース生成装置
JP5431321B2 (ja) ユーザインタフェース生成装置
JP5200095B2 (ja) ユーザインタフェース生成装置
KR101256014B1 (ko) 유저인터페이스 생성장치
KR101256016B1 (ko) 유저인터페이스 생성장치
US20050184999A1 (en) Portable information apparatus, character display method in portable information apparatus, and program product for implementing the method
JP6003939B2 (ja) 画像処理連携システムと連携方法、携帯端末装置及び画像処理連携プログラム
JP4813561B2 (ja) 携帯端末、表示方法、表示様式決定プログラムおよびコンピュータ読み取り可能な記録媒体
KR20100084037A (ko) Ui 제공 장치 및 방법
JPH1023117A (ja) 携帯電話装置
KR101392321B1 (ko) 네비게이션 기능키를 구비한 이동통신 단말기 및 그제어방법
KR100783111B1 (ko) 휴대용 단말기의 숨김 기능을 이용한 메뉴표시 방법

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130129

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130328

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20131001

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150107

R150 Certificate of patent or registration of utility model

Ref document number: 5680404

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees