(57)【特許請求の範囲】
【請求項１】
複数のコンテンツの各々に対応する複数のＵＩ画面を制作するＵＩ制作手段であって、前記複数のコンテンツの各々は、それぞれ異なる機器に対応するコンテンツであり、かつ前記複数のＵＩ画面の各々は、それぞれ異なる機器に備えられた表示画面に表示される、ＵＩ制作手段と、
前記ＵＩ制作手段により制作された前記複数のＵＩ画面の各々を制御するコンテキストを作成し、作成したコンテキスト及び前記複数のＵＩ画面の各々のフレームレートに基づいて、前記複数のＵＩ画面の各々のプレビューを１つの画面に同時に表示するマルチプレビュー実行手段と、
前記マルチプレビュー実行手段によりプレビュー表示された前記複数のＵＩ画面のうち、少なくとも１つのＵＩ画面で発生したイベントの情報を含むメッセージを、他のＵＩ画面に対応するコンテキストに発行することで、前記複数のＵＩ画面の各々の間の連携を行う連携手段と、
前記連携手段により発行されたメッセージに応じてコンテキストを変更することによって、前記複数のＵＩ画面を生成する画面生成手段とを有することを特徴とするＵＩ制作装置。
【請求項２】
前記ＵＩ制作手段は、
複数のプラグインを結合することでＵＩ画面を制作することを特徴とする請求項１に記載のＵＩ制作装置。
【請求項３】
前記連携手段は、
外部機器からの入力に基づいて前記イベントの情報を作成し、作成したイベントを含むメッセージを、前記複数のＵＩ画面に対応するコンテキストに発行して、画面間の連携を行うことを特徴とする請求項１又は２に記載のＵＩ制作装置。
【請求項４】
コンピュータが、
複数のコンテンツの各々に対応する複数のＵＩ画面を制作するＵＩ制作ステップであって、前記複数のコンテンツの各々は、それぞれ異なる機器に対応するコンテンツであり、かつ前記複数のＵＩ画面の各々は、それぞれ異なる機器に備えられた表示画面に表示される、ＵＩ制作ステップと、
前記ＵＩ制作ステップにより制作された前記複数のＵＩ画面の各々を制御するコンテキストを作成し、作成したコンテキスト及び前記複数のＵＩ画面の各々のフレームレートに基づいて、前記複数のＵＩ画面の各々のプレビューを１つの画面に同時に表示するマルチプレビュー実行ステップと、
前記マルチプレビュー実行ステップによりプレビュー表示された前記複数のＵＩ画面のうち、少なくとも１つのＵＩ画面で発生したイベントの情報を含むメッセージを、他のＵＩ画面に対応するコンテキストに発行することで、前記複数のＵＩ画面の各々の間の連携を行う連携ステップと、
前記連携ステップにより発行されたメッセージに応じてコンテキストを変更することによって、前記複数のＵＩ画面を生成する画面生成ステップとを有することを特徴とするＵＩ制作方法。
【請求項５】
コンピュータを、
請求項１乃至３の何れか一項に記載のＵＩ制作装置が有する各手段として機能させるためのＵＩ制作プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＵＩ制作装置、ＵＩ制作方法、及びＵＩ制作プログラムに関する。
【背景技術】
【０００２】
従来から各種機器（デバイス）を操作するための複数のＵＩ（Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ）が存在している。また、複数のＵＩ画面上で同一の内容が表示されるように同期制御する仕組みが知られている（例えば、特許文献１〜３参照）。
【０００３】
特許文献１では、第１のＧＵＩ（Ｇｒａｐｈｉｃａｌ  Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ）表示装置のＧＵＩ画面を操作した場合に、該ＧＵＩ画面上の表示情報との整合性を維持した状態で、同期して操作され異なる操作手法、レイアウト、デザインを有するＧＵＩ画面を有する第２のＧＵＩ表示装置用の第２のＧＵＩ操作情報を生成し、第２のＧＵＩ表示装置へ送信する手法が示されている。
【０００４】
また、特許文献２では、オブジェクトの間の実行の連携であるリンクを示すリンク情報を記憶し、編集領域における視覚情報が示すオブジェクトの位置の順序に基づいて、オブジェクト間の実行順序を判断し、その実行順序に基づいてリンク情報を更新し、更新したリンク情報に従って、オブジェクトの仮実行を行い、その結果を表示する手法が示されている。
【０００５】
また、引用文献３には、異なる種類のＵＩデバイスの出力情報に互換性を持たせるとともに、異なる種類のソフトウェア設計ツールの入出力情報に互換性を持たせるために、デバイス間の連携動作を規定する設計情報を生成する複数の設計ツールとを備える手法が示されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特許第５２５８８６１号公報
【特許文献２】特許第５２１７９８９号公報
【特許文献３】特開２０１５−１７９４８１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、例えばＵＩの開発環境において、複数の表示装置のそれぞれが別々のハードウェア（デバイス）で提供されており、それぞれのデバイスが個々の仕様に依存して画面表示を行うため、複数の表示装置（マルチディスプレイ）に対するＵＩを制作するには、試行錯誤を繰り返すことが必要とされることも多く、困難を伴うことが多かった。そのため、従来手法では、連携して動作するような複数のＵＩを制作しながら仕様を早期に固めることに困難を伴っていた。
【０００８】
本発明の一つの態様では、ＵＩ制作の効率化を実現することを目的とする。
【課題を解決するための手段】
【０００９】
本発明の一つの態様において、ＵＩ制作装置は、複数のコンテンツの各々に対応する複数のＵＩ画面を制作するＵＩ制作手段と、前記ＵＩ制作手段により制作された各ＵＩ画面の各々を制御するコンテキストを作成し、作成したコンテキストに基づいて、前記複数のＵＩ画面の各々のプレビューを同時に表示するマルチプレビュー実行手段と、前記マルチプレビュー実行手段によりプレビュー表示された前記複数のＵＩ画面のうち、少なくとも１つのＵＩ画面で発生したイベントの情報を含むメッセージを、他のＵＩ画面に対応するコンテキストを発行することで、前記複数のＵＩ画面の各々の間の連携を行う連携手段と、前記連携手段により発行されたメッセージに応じてコンテキストを変更することによって、前記複数のＵＩ画面を生成する画面生成手段とを有する。
【発明の効果】
【００１０】
本発明の一つの態様によれば、ＵＩ制作の効率化を実現することができる。
【図面の簡単な説明】
【００１１】
【図１】本実施形態におけるＵＩ制作装置の機能構成の一例を示している。
【図２】本実施形態におけるＵＩ制作装置のハードウェア構成の一例を示す図である。
【図３】本実施形態におけるＵＩ制作処理の一例を示すフローチャートである。
【図４】本実施形態におけるＵＩ制作画面の一例を示す図である。
【図５】本実施形態におけるプラグインアーキテクチャの一例を示す図である。
【図６】本実施形態におけるマルチプレビュー画面の一例を示す図である。
【図７】ＵＩ画面間の連携を説明するための図である。
【図８】外部デバイスからの入力情報を用いた連携動作を説明するための図である。
【発明を実施するための形態】
【００１２】
以下、本発明の実施の形態について詳細に説明する。
【００１３】
＜ＵＩ制作装置の機能構成例＞
図１は、本実施形態におけるＵＩ制作装置の機能構成の一例を示している。図１に示すように、ＵＩ制作装置１０は、入力手段１１と、出力手段１２と、記憶手段１３と、ＵＩ制作手段１４と、設定手段１５と、マルチプレビュー実行手段１６と、連携手段１７と、画面生成手段１８と、通信手段１９と、制御手段２０とを有する。
【００１４】
入力手段１１は、本実施形態におけるＵＩ制作処理に関する各種指示の開始／終了、設定等の入力等を受け付ける。入力手段１１は、例えばＵＩ制作装置１０がＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）等の汎用のコンピュータであれば、キーボードやマウス等のポインティングデバイスである。また、ＵＩ制作装置１０が、タブレット端末やスマートフォン等であれば、タッチパネル等である。また、入力手段１１は、例えば音声等により上述した入力が可能なマイク等の音声入力デバイスであってもよい。
【００１５】
出力手段１２は、入力手段１１により入力された内容や、入力内容に基づいて実行された内容等を出力する。出力手段１２は、例えばディスプレイやスピーカ等である。出力手段１２は、入力手段１１と一体型のタッチパネルであってもよい。また、出力手段１２は、処理結果等を紙等の印刷媒体に印刷するプリンタ等の印刷デバイスであってもよい。
【００１６】
記憶手段１３は、本実施形態において必要な各種情報を記憶する。例えば、記憶手段１３は、本実施形態におけるＵＩ制作処理を実行するための各種プログラム（アプリケーション、ソフトウェア等）や、各種設定情報等を記憶する。また、記憶手段１３は、実行経過や実行結果（履歴情報）、エラー情報、ユーザ情報等を記憶してもよい。
【００１７】
ここで、記憶手段１３は、上述したような多種の情報の集合物であり、例えばキーワード等を用いて検索し、抽出可能に体系的に構成されているデータベースとしての機能を有していてもよい。更に、記憶手段１３に記憶される情報は、例えばインターネットやＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）に代表される通信ネットワークを介して接続される外部装置等から取得してもよい。
【００１８】
ＵＩ制作手段１４は、複数のコンテンツ（例えば映像、画像、音楽、メール、地図表示、速度表示等の多種のコンテンツ）の各々に対応する複数のＵＩ画面を制作する。本実施形態では、ＵＩを開発するための統合的なソフトウェア群が記憶手段１３に記憶されている。ＵＩ制作手段１４は、これらのソフトウェア群を用いて、各機器に対応したＵＩを制作することができる。また、ＵＩ制作手段１４は、複数のプラグインを結合することでＵＩ画面を制作してもよい。
【００１９】
なお、対象の機器は、例えばユーザが操作したり、参照するための画面（表示手段）を備えた機器であり、例えばＰＣや、サーバ、タブレット端末、スマートフォン、ウェアラブル端末等であるが、これに限定されるものではなく、例えばカーナビゲーション画面や車両のインストルメントパネル（以下、「インパネ」と略称する）、ゲーム機器等の表示手段であってもよい。
【００２０】
設定手段１５は、設定ダイアログ画面等により、複数のＵＩの動作を確認するためのマルチプレビュー実行時における処理内容の設定を行う。設定内容としては、例えば同期制御を行う複数のＵＩコンテンツの設定や、開始スクリーンの設定、受信イベントの設定、連携させる各ＵＩに対応するコンテキストを識別するコンテキストＩＤの設定、ＵＩのプレビュー時の表示速度を設定するＦＰＳ（Ｆｒａｍｅｓ  Ｐｅｒ  Ｓｅｃｏｎｄ）設定等を行う。なお、コンテキストとは、例えばプログラムの内部状態や状況、条件等の情報であり、コンテキストの内容に対応させてＵＩ画面が作成され、画面に表示される。
【００２１】
本実施形態では、上述した設定情報に基づき、１つのＵＩ制作装置１０で複数の機器（デバイス）に対応する複数のＵＩを作成したり、プレビューすることができる。なお、設定内容については、これに限定されるものではなく、例えば、マルチプレビューを実行できるユーザの権限を設定し、ＵＩの制作者を限定したり、複数の制作者のうち、選択された制作者のみが、マルチプレビューを実行できるような仕組みを設けてもよい。
【００２２】
マルチプレビュー実行手段１６は、予め複数のＵＩコンテンツを用意し、プレビュー毎に独立したコンテキストを作成する。つまり、マルチプレビュー実行手段１６は、複数のＵＩ画面の各々をプレビューするようにシミュレート（制御）するためのコンテキストを作成する。なお、複数のＵＩコンテンツは、異なる機器に対応するコンテンツであるが、これに限定されるものではなく、例えば同一機器を含む複数の機器に対応するコンテンツであってもよい。
【００２３】
また、マルチプレビュー実行手段１６は、コンテキストにＵＩコンテンツの情報を適用して、プレビュー毎にウィンドウを作成して、画面表示する。これにより、複数のディスプレイ（デバイス）のＵＩの動きを同期させて確認できる。なお、本実施形態では、プレビュー毎にウィンドウを作成して、それぞれの別画面にしなくてもよく、１つのウィンドウ内に複数のプレビューを表示させてもよい。
【００２４】
また、マルチプレビュー実行手段１６は、プレビューでユーザ操作により何らかのイベント（例えば、画面上のアイコンのタッチ等）が発生すると、そのイベント情報と共に、送り先のコンテキストＩＤを含むメッセージを発行する。また、マルチプレビュー実行手段１６は、発行されたメッセージを、指定されたコンテキストＩＤのコンテキストに送信する。
【００２５】
連携手段１７は、マルチプレビュー実行手段１６によりプレビュー表示された複数のＵＩ画面のうち、少なくとも１つのＵＩ画面で発生したイベント情報を含むメッセージを、他のＵＩ画面に対応するコンテキストに発行することで、複数のＵＩ画面の各々の間の連携を行う。例えば、連携手段１７は、対象の機器用のコンテキストがメッセージを受け取り、受け取ったメッセージの内容に応じて対象のＵＩコンテンツを変化させる。ＵＩ画面が変更され、ディスプレイ間で連動するＵＩを確認することができる。
【００２６】
画面生成手段１８は、本実施形態における各種画面の生成を行い、生成した画面の内容を出力手段１２に表示する。例えば、画面生成手段１８は、連携手段１７により発行されたメッセージに含まれるイベント情報に応じて、既存のコンテキストの内容を変更することによって、１又は複数のＵＩ画面を生成する。
【００２７】
なお、画面生成手段１８は、例えば、ＵＩ制作手段１４により制作されたＵＩ画面や、設定手段１５により設定されるマルチプレビューの設定ダイアログ画面、マルチプレビュー実行手段１６により実行されたマルチプレビュー画面、連携手段１７による同期処理結果の画面等を生成することができる。なお、画面生成手段１８が生成する画面例については、これに限定されるものではない。
【００２８】
通信手段１９は、インターネットやＬＡＮ等に代表される通信ネットワークを介して、他の装置とデータの送受信等を行う。例えば、ＵＩ制作装置１０は、通信手段１９を介して記憶手段１３に記憶されたデータや、ＵＩ制作手段１４により制作されたＵＩを対象機器に導入（例えば、インストール）するためのＵＩ情報（実行プログラム）、各種設定情報等を他の装置に送信したり、他の装置に記憶された各種データを取得して、記憶手段１３に記憶させる等の処理を行う。
【００２９】
制御手段２０は、ＵＩ制作装置１０の各構成部の動作等を制御する。制御手段２０は、例えばＵＩ制作手段１４によるＵＩ制作、設定手段１５による各種情報設定、マルチプレビュー実行手段１６によるマルチプレビュー画面、連携手段１７による各種連携、画面生成手段１８による画面生成、通信手段１９による各種データの送受信等の処理を行う。
【００３０】
また、制御手段２０は、処理の開始や終了、エラー発生時の処理等を行うことができる。なお、制御手段２０により制御される内容としては、これに限定されるものではない。
【００３１】
ＵＩ制作装置１０は、例えばＰＣやサーバ等であるが、これに限定されるものではなく、例えば一以上の情報処理装置を有するクラウドコンピューティングで構成されたクラウドサーバ等でもよい。
【００３２】
＜ＵＩ制作装置１０のハードウェア構成例＞
次に、ＵＩ制作装置１０のハードウェア構成例について、図を用いて説明する。図２は、本実施形態におけるＵＩ制作装置のハードウェア構成の一例を示す図である。図２の例において、ＵＩ制作装置（コンピュータ）１０は、入力装置３１と、出力装置３２と、ドライブ装置３３と、補助記憶装置３４と、主記憶装置３５と、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）３６と、通信制御装置３７とを有し、これらはシステムバス３８で相互に接続されている。
【００３３】
入力装置３１は、例えばユーザ等が操作するキーボード及びマウス等のポインティングデバイスや、マイクロフォン等の音声入力デバイス、コントローラ等の操作デバイスを有しており、ユーザ等からのプログラムの実行指示、各種操作情報、ソフトウェア等を起動するための情報等の入力を受け付ける。
【００３４】
出力装置３２は、本実施形態における処理を行うためのコンピュータ本体（ＵＩ制作装置１０）を操作するのに必要な各種ウィンドウやデータ等を表示するディスプレイ等を有する。出力装置３２は、ＣＰＵ３６が有する制御プログラムによりプログラムの実行経過や結果等を表示することができる。
【００３５】
ここで、本実施形態において、例えばコンピュータ本体にインストールされる実行プログラムは、記録媒体３９等により提供される。記録媒体３９は、ドライブ装置３３にセット可能である。ＣＰＵ３６からの制御信号に基づき、記録媒体３９に格納された実行プログラムが、記録媒体３９からドライブ装置３３を介して補助記憶装置３４にインストールされる。
【００３６】
補助記憶装置３４は、例えばＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）やＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）等のストレージ手段等である。補助記憶装置３４は、ＣＰＵ３６からの制御信号に基づき、本実施形態における実行プログラム（ＵＩ制作プログラム）や、コンピュータに設けられた制御プログラム等を記憶し、必要に応じて入出力を行う。補助記憶装置３４は、ＣＰＵ３６からの制御信号等に基づいて、記憶された各情報から必要な情報を読み出したり、書き込むことができる。
【００３７】
主記憶装置３５は、ＣＰＵ３６により補助記憶装置３４から読み出された実行プログラム等を格納する。主記憶装置３５は、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）やＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）等である。
【００３８】
ＣＰＵ３６は、ＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）等の制御プログラム、及び主記憶装置３５に格納されている実行プログラムに基づいて、各種演算や各ハードウェア構成部とのデータの入出力等、コンピュータ全体の処理を制御して各処理を実現する。プログラムの実行中に必要な各種情報等は、補助記憶装置３４から取得することができ、また実行結果等を格納することもできる。
【００３９】
具体的には、ＣＰＵ３６は、例えば入力装置３１から得られるプログラムの実行指示等に基づき、補助記憶装置３４にインストールされたプログラムを実行させることにより、主記憶装置３５上でプログラムに対応する処理を行う。例えば、ＣＰＵ３６は、ＵＩ制作プログラムを実行させることで、ＵＩ制作手段１４によるＵＩ制作、設定手段１５による各種情報設定、マルチプレビュー実行手段１６によるマルチプレビュー画面、連携手段１７による各種連携、画面生成手段１８による画面生成、通信手段１９による各種データの送受信等を制御する。ＣＰＵ３６における処理内容は、これに限定されるものではない。ＣＰＵ３６により実行された内容は、必要に応じて補助記憶装置３４等に記憶される。
【００４０】
通信制御装置３７は、上述した通信ネットワークを介して、他の外部装置との通信を行う。通信制御装置３７は、ＣＰＵ３６からの制御信号に基づき、通信ネットワーク等と接続することにより、実行プログラムやソフトウェア、設定情報等を外部装置等から取得する。また、通信制御装置３７は、プログラムを実行することで得られた実行結果を外部装置等に提供したり、本実施形態における実行プログラム自体を外部装置等に提供してもよい。
【００４１】
記録媒体３９は、上述したように実行プログラム等が格納されたコンピュータで読み取り可能な記録媒体である。記録媒体３９は、例えばフラッシュメモリ等の半導体メモリやＣＤ−ＲＯＭ、ＤＶＤ等の可搬型の記録媒体であるが、これに限定されるものではない。
【００４２】
図２に示すハードウェア構成に実行プログラム（例えば、ＵＩ制作プログラム等）をインストールすることで、ハードウェア資源とソフトウェアとが協働して本実施形態におけるＵＩ制作等の各種情報処理を実現することができる。
【００４３】
＜ＵＩ制作処理＞
次に、本実施形態におけるＵＩ制作処理の一例について、フローチャートを用いて説明する。図３は、本実施形態におけるＵＩ制作処理の一例を示すフローチャートである。図３の例において、ＵＩ制作装置１０で、ＵＩ制作が開始される（Ｓ０１）。ユーザは、マルチプレビュー用の設定を行う（Ｓ０２）。Ｓ０２の処理では、例えば複数のＵＩコンテンツの設定や、開始スクリーンの設定、受信イベントの設定、コンテキストＩＤ設定、ＦＰＳ設定等を行うが、これに限定されるものではない。これらの各設定情報は、記憶手段１３に記憶される。
【００４４】
次に、マルチプレビュー実行手段１６は、マルチプレビュー開始コマンドを実行すると（Ｓ０３）、記憶手段１３に記憶された設定情報を読み出し（Ｓ０４）、設定したコンテンツ毎に独立したＵＩコンテキストを作成する（Ｓ０５）。また、作成したＵＩコンテキストにＵＩコンテンツを適用し（Ｓ０６）、ＵＩのプレビュー毎にウィンドウを作成する（Ｓ０７）。
【００４５】
また、マルチプレビュー実行手段１６は、ユーザ指示等により、プレビューからのイベントを発生させ（Ｓ０８）、送り先のコンテテキストＩＤを含むメッセージを発行する（Ｓ０９）。
【００４６】
次に、ＵＩのプレビューを作成し、連携している各機器に対応するコンテキストがメッセージを受け取るとＵＩコンテンツが変化するように、連携手段１７が、ＵＩの同期制御処理を行う（Ｓ１０）。これによって、画面間で連動するＵＩが画面に表示される（Ｓ１１）。
【００４７】
次に、制御手段２０は、ユーザ指示等によりマルチプレビューによる同期制御等の処理を終了するか否かを判断し（Ｓ１２）、処理を終了しない場合（Ｓ１２において、ＮＯ）、Ｓ０８の処理に戻る。また、処理を終了する場合（Ｓ１２において、ＹＥＳ）、制御手段２０は、ユーザ指示等によりＵＩ制作を終了するか否かを判断する（Ｓ１３）。ＵＩ制作を終了しない場合（Ｓ１３において、ＮＯ）、Ｓ０２の処理に戻る。また、ＵＩ制作を終了する場合（Ｓ１３において、ＹＥＳ）、制御手段２０は、ＵＩ制作処理を終了する。
【００４８】
＜本実施形態におけるＵＩ制作について＞
次に、本実施形態におけるＵＩ制作の具体例について、図を用いて説明する。図４は、本実施形態におけるＵＩ制作画面の一例を示す図である。図４の例は、ＵＩ制作装置１０の出力手段１２のディスプレイに表示されるＵＩ制作画面４０を示している。
【００４９】
ＵＩ制作画面４０は、画面生成手段１８で生成される画面であり、コンポーネント設定領域４１、ＵＩ表示領域４２、ツール領域４３とを有する。
【００５０】
コンポーネント設定領域４１は、制作する対象のＵＩに対する各種コンポーネント、アクション、オブジェクト等の設定を行う。コンポーネントの一例としては、グラフィック用のコンポーネントやイベント用のコンポーネント、イベントに対応した処理を行うアクションコンポーネント、レイアウトを生成するためのレイアウトコンポーネント、画面の所定領域を設定するためのピックエリアコンポーネント、基本構成等を設定するベースコンポーネント等があるが、これに限定されるものではない。また、ＵＩ表示領域４２は、制作する対象のＵＩ画面が表示される。ＵＩ制作手段１４は、ユーザ指示により、コンポーネント設定領域４１内の各項目、及びツール領域４３に表示される各アイコン情報等を、ＵＩ表示領域４２に移動（例えば、ドラッグ＆ドロップ操作）することで、ＵＩ画面を制作することができる。
【００５１】
ツール領域４３には、アイコンに対応させて各ファイルやソフトウェアを実行するための各種ツールの一覧が表示されている。ＵＩ制作手段１４は、ユーザ指示により、選択された何れかのツールをＵＩ表示領域４２に移動させることで、ＵＩ画面を制作することができる。ツールの一例としては、動画（ｍｏｖｉｅ）、音楽（ｍｕｓｉｃ）、画像（ｉｍａｇｅ）、Ｗｅｂ（ブラウザ）、テキストファイル（ｔｅｘｔ）等があるが、これに限定されるものではない。これらのツールを用いることで、ＵＩのデザイン、ＵＩによる対話機能の設定、アニメーションの作成、画面遷移の設定、プレビュー画面の表示、データベースへの接続設定、ローカライゼーションの指定、ドキュメントの出力の機能等の多種の処理を実現することができる。
【００５２】
本実施形態では、図４に示すように、ＵＩ制作において、使い易いツールで高い生産性を実現することができる。また、本実施形態では、ドラッグ＆ドロップ操作でＵＩを作成していくことができるため、専門知識を有していない人でも容易にＵＩ画面を制作することができる。
【００５３】
なお、本実施形態では、ＵＩ制作においてプラグインアーキテクチャを用いている。図５は、本実施形態におけるプラグインアーキテクチャの一例を示す図である。図５に示すように、ＵＩ制作手段１４は、ＵＩ制作における基本のソフトウェア群５０に対して、グラフィックプラグイン（例えば、テキスト表示、画面表示、矩形・楕円描画等）５１、イベントプラグイン（例えば、タッチ入力の機能、キー入力の機能、タイマー設定の機能等）５２、画面上のボタンの押下等に対するアクションの機能であるアクションプラグイン５３、リソース設定の機能等であるリソースプラグイン５４等を追加することができる。また、本実施形態では、各機器毎に設定される独自の機能５５等もプラグインとして追加することができる。これにより、ツールとして、又はランタイムとして、各プラグインを追加することで、新たな機能を利用することができる。これにより、高い拡張性を実現することができる。
【００５４】
＜連携手段１７について＞
次に、上述した連携手段１７の処理について、マルチプレビュー画面を例に図を用いて説明する。図６は、本実施形態におけるマルチプレビュー画面の一例を示す図である。なお、図６の例では、連携させる複数のＵＩコンテンツの一例として、車両のインパネ用画面６０と、スマートフォンのコンテンツ選択用画面６１とを示している。インパネ用画面６０と、コンテンツ選択用画面６１とは、それぞれＵＩ制作手段１４で制作されたＵＩ画面（例えば、ＧＵＩ画面）である。各ＵＩ画面は、連携させる対象のＵＩ画面である。
【００５５】
例えば、図６に示すように、コンテンツ選択用画面６１において、画面の複数のアイコンからミュージックのツール（アプリケーション）を起動させるアイコン６２を選択すると、スマートフォンが音楽再生用の画面に切り替わると共に、画面間でイベントの送受が行われ、インパネ用画面６０の連携表示領域６３にも、スマートフォンが音楽（Ｍｕｓｉｃ）のアプリを実行している旨が表示される。
【００５６】
なお、マルチプレビューの画面数は、２つに限定されるものではなく、３以上の画面間で同期制御を行うことができる。また、図６に示す例では、１つのウィンドウに１つのプレビュー画面を表示したが、これに限定されるものではなく、１つのウィンドウに複数のプレビュー画面を表示してもよい。
【００５７】
このように、本実施形態では、開発段階において、複数の機器の表示画面間で連動するＵＩを作成し、プレビューすることができる。これにより、早い段階でＵＩ画面の連携した動作も含めたプロトタイプを作成することができ、正確な仕様を早期に固めることができ、開発コストも削減することができる。
【００５８】
なお、本実施形態において、マルチプレビュー実行手段１６は、各画面を表示する対象機器の性能等に合わせてＦＰＳの上限を固定にしたり、ＦＰＳを表示する機能を設けてもよい。
【００５９】
図７は、ＵＩ画面間の連携を説明するための図である。本実施形態では、２つのＵＩコンテンツ７１Ａ，７１Ｂを、それぞれ独立したコンテキスト７２Ａ，７２Ｂに読み込み、同時に複数ディスプレイのＵＩプレビュー（プレビュー画面）７３Ａ，７３Ｂの表示を行う。コンテキスト間でメッセージを送受信し、その送受信した結果を反映した画面をディスプレイに表示することで、画面間の連携を開発段階で確認することができる。
【００６０】
また、このとき、設定手段１５において、プレビュー時のＦＰＳをデバイスに対応付けて設定することで、異なるデバイスの描画性能をＰＣ等の１つの端末上で高精度にシミュレーションすることができる。プレビュー画面７３Ａ，７３Ｂでは、ＵＩ画面をプレビュー表示している場合のＦＰＳが表示されているが、ＵＩプレビューの表示内容については、これに限定されるものではない。なお、図７の処理は、プレビューのＵＩ間のシミュレーションであり、実機での通信の方法（プロトコル等）は、上述したメッセージの送受信の方法とは別に自由に規定することができる。
【００６１】
また、本実施形態では、ＵＩ制作手段１４において、制作した画面間において、連携動作を示したが、例えば外部デバイス（外部機器）等からの入力情報を用いて連携動作の確認を行ってもよい。
【００６２】
図８は、外部デバイスからの入力情報を用いた連携動作を説明するための図である。図８の例では、外部デバイス８１Ａ〜８１Ｃ等の入力をイベントとして送信し、それらのイベントを処理するためのツールをプレビューするためのプラグイン８２Ａ〜８２Ｃを作成する。なお、図８の例では、外部デバイスからのイベントを受け取りを処理するためのプラグインが設けられていてもよい。連携手段１７は、その各イベントを取得し、取得したイベントに対する処理を各画面に対応させて実行し、図８に示すようなマルチプレビュー８３による画面間の連携（同期制御）を実現することができる。
【００６３】
＜本実施形態の具体例＞
上述した本実施形態におけるＵＩ制作処理は、例えば車両におけるカーナビゲーションシステムの画面と、その車両のインパネ画面と、その車両の搭乗者の携帯端末（例えばスマートフォン）の画面との間で、表示内容を連動させた開発を迅速に行うことができる。
【００６４】
また、本実施形態におけるＵＩ制作処理は、例えばゲームセンター等にあるアーケードゲームやパチンコ等の遊戯機器等の分野においては、遊技者がプレイするために各遊技機器に設置された個々の画面（メイン画面）と、その画面の内容を複数の人が見れるようにゲームセンター側で設置したスクリーン画面とがある場合に、それらを画面間で連動させたＵＩ制作を行うことができる。
【００６５】
また、本実施形態におけるＵＩ制作処理は、例えば医療システムの分野においては、患者が個人の情報にアクセスできる端末の個別画面と、巡回する医師や看護師が所持し、その場で患者の状況を入力できる電子カルテ用力タブレット端末の画面と、データ化された情報をリアルタイムで管理する統合管理端末の画面との間で、患者の情報を連携させるような場合のＵＩ画面の制作にも適用することができる。
【００６６】
上述したように、本実施形態によれば、ＵＩ制作の効率化を実現することができる。例えば、本実施形態によれば、複数の表示装置（マルチディスプレイ）に対するＵＩをまとめてオーサリング（制作）することができる。なお、上述した実施形態では、ＵＩ制作における複数の画面間の連携動作について説明したが、これに限定されるものではなく、１つのＵＩ画面の中で機能の連携を設計する際にも適用することができる。
【００６７】
以上、実施例について詳述したが、特定の実施例に限定されるものではなく、特許請求の範囲に記載された範囲において、種々の変形及び変更が可能である。また、上述した各実施例の一部又は全部を組み合わせることも可能である。
【符号の説明】
【００６８】
１０  ＵＩ制作装置
１１  入力手段１１
１２  出力手段
１３  記憶手段
１４  ＵＩ制作手段
１５  設定手段
１６  マルチプレビュー実行手段
１７  連携手段
１８  画面生成手段
１９  通信手段
２０  制御手段
３１  入力装置
３２  出力装置
３３  ドライブ装置
３４  補助記憶装置
３５  主記憶装置
３６  ＣＰＵ
３７  通信制御装置
３８  システムバス
３９  記録媒体
４０  ＵＩ制作画面
４１  コンポーネント設定領域
４２  ＵＩ表示領域
４３  ツール領域
５０  ソフトウェア群
５１  グラフィックプラグイン
５２  イベントプラグイン
５３  アクションプラグイン
５４  リソースプラグイン
５５  独自の機能
６０  インパネ用画面
６１  コンテンツ選択用画面
６２  アイコン
６３  連携表示領域
７１  ＵＩコンテンツ
７２  コンテキスト
７３  ＵＩプレビュー（プレビュー画面）
８１  外部デバイス
８２  プラグイン
８３  マルチプレビュー
【要約】
【課題】ＵＩ制作の効率化を実現する。
【解決手段】ＵＩ制作装置において、複数のコンテンツの各々に対応する複数のＵＩ画面を制作するＵＩ制作手段と、前記ＵＩ制作手段により制作された各ＵＩ画面の各々を制御するコンテキストを作成し、作成したコンテキストに基づいて、前記複数のＵＩ画面の各々のプレビューを同時に表示するマルチプレビュー実行手段と、前記マルチプレビュー実行手段によりプレビュー表示された前記複数のＵＩ画面のうち、少なくとも１つのＵＩ画面で発生したイベントの情報を含むメッセージを、他のＵＩ画面に対応するコンテキストを発行することで、前記複数のＵＩ画面の各々の間の連携を行う連携手段と、前記連携手段により発行されたメッセージに応じてコンテキストを変更することによって、前記複数のＵＩ画面を生成する画面生成手段とを有することにより、上記課題を解決する。
【選択図】図１【図１】
0006019210.tif 000002
【図２】
0006019210.tif 000003
【図３】
0006019210.tif 000004
【図４】
0006019210.tif 000005
【図５】
0006019210.tif 000006
【図６】
0006019210.tif 000007
【図７】
0006019210.tif 000008
【図８】
0006019210.tif 000009