[go: up one dir, main page]

JP7159027B2 - User interface providing device, user interface providing method, program and embedded device - Google Patents

User interface providing device, user interface providing method, program and embedded device Download PDF

Info

Publication number
JP7159027B2
JP7159027B2 JP2018230638A JP2018230638A JP7159027B2 JP 7159027 B2 JP7159027 B2 JP 7159027B2 JP 2018230638 A JP2018230638 A JP 2018230638A JP 2018230638 A JP2018230638 A JP 2018230638A JP 7159027 B2 JP7159027 B2 JP 7159027B2
Authority
JP
Japan
Prior art keywords
screen
program
user interface
information
user
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.)
Active
Application number
JP2018230638A
Other languages
Japanese (ja)
Other versions
JP2020095308A (en
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.)
Access Co Ltd
Original Assignee
Access Co Ltd
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 Access Co Ltd filed Critical Access Co Ltd
Priority to JP2018230638A priority Critical patent/JP7159027B2/en
Publication of JP2020095308A publication Critical patent/JP2020095308A/en
Application granted granted Critical
Publication of JP7159027B2 publication Critical patent/JP7159027B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Computer And Data Communications (AREA)
  • User Interface Of Digital Computer (AREA)

Description

本発明は、ユーザーインタフェース提供装置、ユーザーインタフェース提供方法、プログラム及び組み込み機器に関する。 The present invention relates to a user interface providing device, a user interface providing method, a program, and an embedded device.

従来、組み込み機器向けのGUI(Graphical User Interface)として、HTMLファイルなどの構造化文書を表示するブラウザプログラムを利用する技術が知られている。このような組み込み機器では、その内部の情報を取得及び設定可能な、ネイティブコードで記述されたプログラム(以下、「ネイティブプログラム」と記載する)を用意し、ネイティブプログラムとブラウザプログラムとを連係させることで、ブラウザプログラムを利用した組み込み機器の状態表示や各種の設定を実現している(例えば、特許文献1参照)。 2. Description of the Related Art Conventionally, as a GUI (Graphical User Interface) for embedded devices, a technique using a browser program for displaying structured documents such as HTML files is known. For such embedded devices, prepare a program written in native code (hereinafter referred to as "native program") that can acquire and set internal information, and link the native program and the browser program. , the state display and various settings of the embedded device are realized using a browser program (see Patent Document 1, for example).

ブラウザプログラムにGUIを実現させるためには、画面を構成するためにブラウザプログラムが解釈し、描画可能なコンテンツ(以下、「ブラウザ表示可能コンテンツ」と省略する)が必要である。そのため、画面設計に基づき、HTML、CSS及びJavascript(登録商標)などを用いたコーディング(以下、「HTMLコーディング」と記載する)を行う必要がある。 In order to implement a GUI in a browser program, content that can be interpreted and drawn by the browser program (hereinafter abbreviated as "browser displayable content") is required to construct a screen. Therefore, based on the screen design, it is necessary to perform coding using HTML, CSS, Javascript (registered trademark), etc. (hereinafter referred to as "HTML coding").

特開2011-8490号公報Japanese Unexamined Patent Application Publication No. 2011-8490

HTMLコーディングは、C言語などのネイティブ言語を用いたコーディングに比べて、ツールが比較的安く、かつ、コーディングを行う者に求められるスキルも比較的低いという利点がある。 Compared to coding using a native language such as the C language, HTML coding has the advantage that tools are relatively inexpensive and the skills required of coders are relatively low.

しかしながら、コーディングを行う必要があることには変わりがない。また、HTMLコーディングにより作成されたブラウザ表示可能コンテンツが適切であるかどうかテストする必要がある。特に、GUIの表現を動的にするためには、Javascriptのようなスクリプトをブラウザ表示可能コンテンツに組み込む必要がある。この場合、ブラウザプログラムは、スクリプトを解釈及び実行し、HTMLファイルの一部を変更し、変更後のHTMLファイルを解釈及び描画し、画面の一部を更新する。このため、ブラウザ表示可能コンテンツを実際にブラウザプログラムで解釈し、スクリプトを実行し、画面が適切に更新されるか試してみる必要がある。したがって、HTMLコーディングでも、ネイティブ言語を用いたコーディングと同様に、開発の期間が長くなり、コストがかさむおそれがある。 However, you still need to do some coding. There is also a need to test whether browser-viewable content created by HTML coding is appropriate. In particular, to make the presentation of the GUI dynamic, scripts such as Javascript must be incorporated into the browser-viewable content. In this case, the browser program interprets and executes the script, modifies part of the HTML file, interprets and renders the modified HTML file, and updates part of the screen. For this reason, it is necessary to actually interpret the browser-viewable content in the browser program, execute the script, and try to update the screen appropriately. Therefore, even with HTML coding, as with coding using a native language, there is a risk that the development period will be long and the cost will increase.

また、ユーザが望む操作を組み込み機器に実行させるためには、例えば、ブラウザ表示可能コンテンツの中にスクリプトを埋め込む。そして、ブラウザプログラムに当該スクリプトを解釈及び実行させ、ネイティブプログラムと連係させ、ネイティブプログラムに組み込み機器のハードウェアを制御させる。このような制御が適切に行われるか否かを、ブラウザ表示可能コンテンツを実際にブラウザプログラムで解釈し、スクリプトを実行させて、テストする必要がある。 Also, in order to cause the embedded device to execute the operation desired by the user, for example, a script is embedded in the browser-displayable content. Then, the browser program interprets and executes the script, links with the native program, and causes the native program to control the hardware of the embedded device. It is necessary to test whether such control is properly performed by actually interpreting browser-displayable content with a browser program and executing a script.

このように、GUIが正常に動作し、ユーザによる操作を組み込み機器に適切に実行させることができるか否かは、ブラウザプログラムの性能、仕様などに依拠する部分が多い。この結果、テスト項目が多く、開発の期間が長くなり、コストがかさむおそれがある。 In this way, whether or not the GUI operates normally and whether or not the embedded device can appropriately execute the user's operation largely depends on the performance and specifications of the browser program. As a result, the number of test items is large, the development period is lengthened, and the cost may increase.

本発明は、かかる点に鑑みてなされたものであり、組み込み機器のために動的な表現に富んだGUIを短期及び低コストで開発できるユーザーインタフェース提供装置、ユーザーインタフェース提供方法、プログラム及び組み込み機器を提供することを目的の1つとする。 The present invention has been made in view of this point, and provides a user interface providing device, a user interface providing method, a program, and an embedded device that can develop a GUI rich in dynamic expressions for an embedded device in a short period of time and at low cost. One of the purposes is to provide

本発明に係るユーザーインタフェース提供装置の一態様は、イベントに応じ、少なくとも一部が構造化文書ファイルで構成された静的コンテンツを、テンプレート及びユーザーインタフェースのための画面の設計情報に基づいて動的に生成する静的コンテンツ生成手段と、前記静的コンテンツを解釈し、表示部に前記画面を表示させるブラウザプログラムから、前記画面に対して行われたユーザによる操作に関するユーザ操作情報を取得し、組み込み機器の制御を行うネイティブプログラムに対して、前記ユーザ操作情報に対応する前記組み込み機器の制御に関する制御情報を出力する制御要求手段と、を有することを特徴とする。 According to one aspect of the user interface providing apparatus of the present invention, static content , at least a part of which is structured document file, is generated according to an event based on a template and screen design information for the user interface. Acquiring user operation information related to a user's operation on the screen from a dynamically generated static content generating means and a browser program that interprets the static content and displays the screen on a display unit. and control request means for outputting control information relating to control of the embedded device corresponding to the user operation information to a native program that controls the embedded device.

本発明に係るユーザーインタフェース提供方法の一態様は、組み込み機器によって実行され、イベントに応じ、少なくとも一部が構造化文書ファイルで構成された静的コンテンツを、テンプレート及びユーザーインタフェースのための画面の設計情報に基づいて動的に生成するステップと、前記静的コンテンツを解釈し、表示部に前記画面を表示させるブラウザプログラムから、前記画面に対して行われたユーザによる操作に関するユーザ操作情報を取得し、前記組み込み機器の制御を行うネイティブプログラムに対して、前記ユーザ操作情報に対応する前記組み込み機器の制御に関する制御情報を出力するステップと、を有することを特徴とする。 One aspect of the user interface providing method according to the present invention is executed by an embedded device, and according to an event, static content , at least a part of which is structured document file, is transferred to a template and screen for user interface. and a browser program that interprets the static content and displays the screen on a display unit, the user operation information about the user's operation performed on the screen. obtaining and outputting control information related to control of the embedded device corresponding to the user operation information to a native program that controls the embedded device.

本発明に係るプログラムの一態様は、イベントに応じ、少なくとも一部が構造化文書ファイルで構成された静的コンテンツを、テンプレート及びユーザーインタフェースのための画面の設計情報に基づいて動的に生成する手順と、前記静的コンテンツを解釈し、表示部に前記画面を表示させるブラウザプログラムから、前記画面に対して行われたユーザによる操作に関するユーザ操作情報を取得し、前記組み込み機器の制御を行うネイティブプログラムに対して、前記ユーザ操作情報に対応する前記組み込み機器の制御に関する制御情報を出力する手順を実行させることを特徴とする。 One aspect of the program according to the present invention dynamically generates static content , at least a part of which is structured document file, based on template and screen design information for user interface in response to an event. A native device that acquires user operation information related to a user's operation performed on the screen from a browser program that interprets the procedure and the static content and displays the screen on a display unit, and controls the embedded device. The program is characterized by executing a procedure of outputting control information relating to control of the embedded device corresponding to the user operation information.

本発明によれば、組み込み機器のために、動的な表現に富んだGUIを短期及び低コストで開発できる。 According to the present invention, a GUI rich in dynamic expressions can be developed in a short period of time and at a low cost for an embedded device.

本実施の形態に係るユーザーインタフェース提供装置に含まれるGUI提供部の構成を示すブロック図である。2 is a block diagram showing the configuration of a GUI providing unit included in the user interface providing device according to this embodiment; FIG. 本実施の形態に係るブラウザプログラムの構成を示すブロック図である。2 is a block diagram showing the configuration of a browser program according to the embodiment; FIG. 本実施の形態に係るネイティブプログラム300の構成を示すブロック図である。3 is a block diagram showing the configuration of a native program 300 according to this embodiment; FIG. 本実施の形態に係るユーザーインタフェース提供方法の一例を示すフローチャートである。4 is a flow chart showing an example of a user interface providing method according to the present embodiment; 本実施の形態に係るユーザーインタフェース提供方法によって提供される動的なGUIの一例を示す模式図である。FIG. 4 is a schematic diagram showing an example of a dynamic GUI provided by the user interface providing method according to the embodiment; 動的コンテンツを構成する構造化文書の一例を示す説明図である。FIG. 4 is an explanatory diagram showing an example of a structured document that constitutes dynamic content; 本実施の形態に係るユーザーインタフェース提供装置が使用するテンプレートの一例を示す説明図である。FIG. 4 is an explanatory diagram showing an example of a template used by the user interface providing device according to the present embodiment; 本実施の形態に係るユーザーインタフェース提供装置により生成される静的コンテンツの一例を示す説明図である。FIG. 4 is an explanatory diagram showing an example of static content generated by the user interface providing device according to the embodiment; 本実施の形態に係るユーザーインタフェース提供装置により生成される静的コンテンツの一例を示す説明図である。FIG. 4 is an explanatory diagram showing an example of static content generated by the user interface providing device according to the embodiment; 本実施の形態に係るユーザーインタフェース提供装置が適用される組み込み機器の機能構成の一例を示す図である。1 is a diagram showing an example of a functional configuration of an embedded device to which a user interface providing device according to this embodiment is applied; FIG. 本実施の形態に係るユーザーインタフェース提供装置が適用される組み込み機器のハードウェア構成の一例を示す図である。1 is a diagram showing an example of a hardware configuration of an embedded device to which a user interface providing device according to this embodiment is applied; FIG.

[発明の概要]
家電製品などの組み込み機器に搭載されるディスプレイの大型化及び高解像度化が進んでいる。このようなディスプレイで提供されるGUIには、ユーザーエクスペリエンス(以下、UXと記載する)をより高めることが求められ、動的な表現がより多く取り入れられる傾向がある。
[Summary of Invention]
The size and resolution of displays mounted in built-in devices such as home electric appliances are increasing. GUIs provided by such displays are required to have a higher user experience (hereinafter referred to as UX), and tend to incorporate more dynamic expressions.

動的な表現を、ブラウザ表示可能コンテンツで実現するには、Javascriptのようなスクリプトをブラウザプログラム上で実行させる動的コンテンツを用いることが一般的である。 In order to implement dynamic expressions in browser-displayable content, it is common to use dynamic content that causes a script such as Javascript to be executed on a browser program.

このような動的コンテンツは、バグを多く含みやすいため、ブラウザプログラムにより適切に表示され、所望の動的な表現が実現されるかどうかを確認するには、静的コンテンツに比べて、テスト項目が多くなる。 Such dynamic content is likely to contain many bugs, so in order to check whether the browser program can properly display it and achieve the desired dynamic presentation, test items are more important than static content. will increase.

また、ブラウザ表示可能コンテンツで実現されたGUIからユーザが望む制御をハードウェアに行わせるには、ブラウザプログラムが、スクリプトを実行し、ネイティブプログラムと連係し、ネイティブプログラムにハードウェアを制御させることが一般的である。 Also, in order for the hardware to perform the control desired by the user from the GUI implemented with the browser-displayable content, the browser program can execute scripts, interact with the native program, and let the native program control the hardware. Common.

このようなスクリプトを用いた組み込み機器のハードウェアへの制御は、ハードウェアを制御するネイティブプログラム(ドライバ等)に制御情報(命令等)を出力することで行われる。そして、スクリプトは、制御情報を出力したことを契機としてGUIを動的に変更し、ネイティブプログラムからのフィードバック(ハードウェアの状態変化等を含む)を反映していない。このため、ハードウェアの動作状態の変化に応じてGUIの変更が適切なタイミングに行われるかどうかを確認するため、テストの手間が増えることを回避しがたい。 Control of the hardware of an embedded device using such a script is performed by outputting control information (commands, etc.) to native programs (drivers, etc.) that control the hardware. Then, the script dynamically changes the GUI when the control information is output, and does not reflect feedback from the native program (including changes in hardware status, etc.). For this reason, it is difficult to avoid increasing the time and effort of testing to confirm whether or not the GUI is changed at appropriate timing in accordance with the change in the operating state of the hardware.

本発明者は、ネイティブ言語ではなく構造化文書を使用したGUIプラットフォームにおいて、UXを低下させることなく、また、GUIを介したハードウェアの制御も実現しながらも、開発コスト及び開発期間をさらに短縮することを目的とし、鋭意検討を重ねた。 In a GUI platform that uses structured documents instead of native languages, the inventors have achieved further reductions in development costs and development periods while realizing hardware control via the GUI without deteriorating UX. With the aim of doing so, we conducted extensive research.

本発明者は、静的コンテンツをイベントに応じて動的に切り替えることで動的な表現を実現すれば、動的コンテンツを用いなくてもUXに優れたGUIを構築できることに着目した。しかしながら、それに実現するには、静的コンテンツを画面内の構成要素の更新が行われる分だけ用意しなければならない。このため、テスト項目を削減できるが、ブラウザ表示可能コンテンツの作成のための工数が膨大になってしまう。 The inventor of the present invention has focused on the fact that a GUI with excellent UX can be constructed without using dynamic contents by realizing dynamic expressions by dynamically switching static contents according to events. However, in order to realize this, static content must be prepared for the number of updates of the constituent elements in the screen. As a result, the number of test items can be reduced, but the number of man-hours required to create browser-displayable content becomes enormous.

そこで、本発明者は、静的コンテンツを、イベントに応じてテンプレート及び画面の設計情報に基づいて動的に生成することにより、静的コンテンツの作成の工数を減らすことができることを見出した。 Accordingly, the inventors of the present invention have found that the number of man-hours for creating static content can be reduced by dynamically generating static content based on template and screen design information according to an event.

一方、静的コンテンツを採用したことに伴い、ブラウザプログラムでスクリプトを実行してハードウェアを制御する代わりに、ネイティブプログラムに組み込み機器のハードウェアに対する制御を行わせることとした。より具体的には、まず、ブラウザプログラムが画面に対して行われたユーザによる操作に関するユーザ操作情報を取得する。そして、ブラウザプログラムが、ユーザ操作情報に対応するハードウェア制御情報をネイティブプログラムに出力する。ネイティブプログラムは、ハードウェア制御情報に従って組み込み機器のハードウェアを制御する。 On the other hand, with the adoption of static content, it was decided to let the native program control the hardware of the embedded device instead of executing the script in the browser program to control the hardware. More specifically, first, the browser program acquires user operation information related to the user's operation on the screen. The browser program then outputs hardware control information corresponding to the user operation information to the native program. The native program controls the hardware of the embedded device according to the hardware control information.

本発明者は、上述のような新しい知見に基づいて本発明を完成した。すなわち、本発明のユーザーインタフェース提供装置は、イベントに応じ、テンプレート及びユーザーインタフェースのための画面の設計情報に基づいて少なくとも一部が構造化文書ファイルで構成された静的コンテンツを動的に生成する静的コンテンツ生成手段と、前記静的コンテンツを解釈し、表示部に前記画面を表示させるブラウザプログラムから、前記画面に対して行われたユーザによる操作に関するユーザ操作情報を取得し、組み込み機器の制御を行うネイティブプログラムに対して、前記ユーザ操作情報に対応する前記組み込み機器の制御に関する制御情報を出力する制御要求手段と、を有することを特徴とする。 The present inventor has completed the present invention based on the above new knowledge. That is, the user interface providing apparatus of the present invention dynamically generates static content, at least a portion of which is composed of a structured document file, based on a template and screen design information for a user interface according to an event. Acquisition of user operation information related to a user's operation performed on the screen from a static content generating means and a browser program that interprets the static content and displays the screen on a display unit, and controls the embedded device. and control request means for outputting control information relating to control of the embedded device corresponding to the user operation information to a native program that performs the processing.

本発明において、イベントとは、例えば、ブラウザプログラム又はネイティブプログラムで発生する事象であって、画面の構成要素のうち少なくとも一部を更新させるアクションを発生させるものを含む。 In the present invention, an event includes, for example, an event that occurs in a browser program or a native program, and that causes an action to update at least part of screen components.

より具体的には、イベントは、例えば、ブラウザプログラムが検出した、ユーザーインタフェースのための画面に対して行われたユーザによる操作を含む。 More specifically, the event includes, for example, an operation by the user performed on the screen for the user interface detected by the browser program.

また、イベントは、ネイティブプログラムからの画面の構成要素のうち少なくとも一部を更新させるアクションを発生させるものを含む。 Events also include those that cause actions to update at least some of the components of the screen from the native program.

また、本発明において、テンプレートとは、画面を構築するためのブラウザ表示可能コンテンツを構成するデータ群であって、例えば、少なくとも一つの構造化文書を含み、外部リソース(画像ファイル、動画ファイル、音声ファイルなど)を含んでいてもよい。外部リソースは、予めテンプレートに含まれていてもよいし、記憶部に別に記憶されていてもよいし、通信部を介してネットワークから取得されてもよい。 In the present invention, a template is a data group that constitutes content that can be displayed in a browser for constructing a screen. files, etc.). The external resource may be included in the template in advance, may be separately stored in the storage unit, or may be acquired from the network via the communication unit.

テンプレートは、そのままではブラウザプログラムで適切に表示できないか、又は、そのままでもブラウザプログラムで表示できるが、一部が仮の表示内容であるコンテンツであると言える。 A template can be said to be content that cannot be properly displayed by a browser program as it is, or that can be displayed by a browser program as it is, but a part of which is provisional display content.

例えば、テンプレートの一例としては、構造化文書の中に、ボタンのためのイメージファイルを埋め込むタグ"img"並びに属性"width"及び属性"height"が記述されているが、属性"src"は記述されていないものが挙げられる。この場合、属性"src"が記述されていないため、テンプレートを構成する構造化文書をブラウザプログラムで解釈し、描画したとき、ボタンが表示されない。このような状態を、「適正に表示できない」という。 For example, as an example of a template, a structured document describes a tag "img" that embeds an image file for a button, an attribute "width" and an attribute "height", but an attribute "src" is described. There are things that have not been done. In this case, since the attribute "src" is not described, the button will not be displayed when the browser program interprets and renders the structured document that constitutes the template. Such a state is referred to as "proper display is not possible".

また、テンプレートの他の一例としては、構造化文書の中に、ボタンに対し、当該ボタンに対応するハードウェア制御を表わす仮の文字列が記述されているものが挙げられる。例えば、ボタンに対し、ハードウェアが備える一機能のアクティベーションを意味する仮の文字列「ON」が記述されているコンテンツが考えられる。この仮の文字列「ON」は、ハードウェアが照明機器であれば、「明かりをつける」のような他の文字列に置き換えることができる。このように仮の文字列は、他の文字列に置き換え可能なようにコンテンツに記述することができる。 Another example of a template is a structured document in which a provisional character string representing hardware control corresponding to a button is described for the button. For example, there may be content in which a provisional character string "ON" is described for a button, which means activation of a function provided by hardware. This temporary character string "ON" can be replaced with another character string such as "Turn on the light" if the hardware is a lighting device. In this way, the temporary character string can be described in the content so as to be replaceable with another character string.

また、本発明において、ユーザーインタフェースのための画面(Screen)とは、GUI画面設計上の単一の画面をいう。GUI画面設計とは、組み込み機器などのGUI開発において、ユーザが操作することになる画面のレイアウト、表示項目などの設計を行うことをいう。GUI画面設計には、個々の画面を構成する画面要素と当該画面要素のレイアウトを決定する単一画面設計と、複数の画面間の関係を決定する画面遷移設計と、画面要素に対するユーザによる操作などのイベントと、当該イベントによって発生するアクションとの関係を定義するアクション設計と、を含む。したがって、画面設計上の単一画面とは、上述の単一画面設計で対象とする個々の画面であると言える。 Also, in the present invention, a screen for user interface means a single screen in GUI screen design. GUI screen design refers to designing the layout of screens operated by users, display items, and the like in GUI development for embedded devices and the like. GUI screen design includes screen elements that make up individual screens and a single screen design that determines the layout of the screen elements, screen transition design that determines the relationship between multiple screens, and user operations on screen elements. and an action design that defines the relationship between the events of the event and the actions that occur due to the event. Therefore, it can be said that the single screen in screen design is the individual screens targeted in the above-described single screen design.

また、本発明において、画面の設計情報とは、画面の設計に関する情報をいう。設計情報には、例えば、画面レイアウト情報、画面遷移情報及びアクション情報が含まれる。 In the present invention, screen design information refers to information relating to screen design. The design information includes, for example, screen layout information, screen transition information, and action information.

画面レイアウト情報は、画面を構成する画面要素及びその配置、画面要素の属性、及び、画面要素に対するユーザの操作によって発生するイベント及びそのタイミングなどを含むが、これら以外の情報が含まれていてもよい。 The screen layout information includes screen elements that make up the screen and their arrangement, attributes of the screen elements, and events that occur due to user operations on screen elements and their timing. good.

画面要素には、テキストボックス、リストボックス、ラジオボタン、ボタン(クリック又はタッチすることによりアクションが発生する)、ラベル(文字列)、画像(静止画像及び動画を含む)などが含まれるが、これらに限定されるものではない。 Screen elements include text boxes, list boxes, radio buttons, buttons (action occurs when clicked or touched), labels (character strings), images (including still images and moving images), etc., and these is not limited to

画面遷移情報は、複数の画面の流れを表す情報である。画面遷移情報は、例えば、表示される複数の画面とそれらの画面の順序関係、及び、画面から画面への遷移を起こすきっかけとなるイベントを含むが、これら以外の情報が含まれていてもよい。 The screen transition information is information representing the flow of multiple screens. The screen transition information includes, for example, a plurality of screens to be displayed, the order relationship of those screens, and an event that triggers the transition from screen to screen, but may include information other than these. .

アクション情報は、イベントと、当該イベントによって発生するアクションとの関係を示す情報である。 Action information is information that indicates the relationship between an event and an action that occurs due to the event.

また、本発明において、静的コンテンツとは、ブラウザプログラムにより解釈され、描画されるブラウザ表示可能コンテンツであって、当該コンテンツを変更するスクリプトを含まないものをいう。 In the context of the present invention, static content refers to browser-displayable content that is interpreted and rendered by a browser program and does not include scripts that modify the content.

また、本発明において、ユーザ操作情報とは、ユーザが画面を構成する画面要素に対して操作を行ったことを示す情報である。ユーザ操作情報は、ブラウザプログラムで発生したイベントのうち、画面に対するユーザが行った操作に基づくものに関する情報であるとも言える。 Further, in the present invention, user operation information is information indicating that the user has performed an operation on a screen element that configures the screen. The user operation information can also be said to be information related to an event that has occurred in the browser program and that is based on an operation performed by the user on the screen.

本発明のユーザーインタフェース提供装置は、組み込み機器のためのGUIを構築するのに適している。本発明において、組み込み機器とは、広義には、ソフトウェアを用いて制御される機器の総称であるが、狭義には、パーソナルコンピュータのような汎用コンピュータを含まない、特定の用途向けに特化、限定した機能を果たすことを目的とした、ソフトウェアが組み込まれた機器の総称である。 The user interface providing device of the present invention is suitable for constructing a GUI for embedded equipment. In the present invention, embedded equipment is a general term for equipment controlled using software in a broad sense, but in a narrow sense it does not include general-purpose computers such as personal computers. It is a general term for devices with embedded software intended to perform limited functions.

また、組み込み機器とは、ファームウェアにより制御される機器であるということもできる。ファームウェアとは、ハードウェアを制御するためのソフトウェアであって、ROMなどの集積回路に予め書き込まれた状態で機器に組み込まれたものをいう。したがって、本発明の一つの態様においては、ネイティブプログラム及びブラウザプログラムは、このようなファームウェアであることができる。 Also, an embedded device can be said to be a device controlled by firmware. Firmware is software for controlling hardware, which is pre-written in an integrated circuit such as a ROM and incorporated in a device. Thus, in one aspect of the invention, native programs and browser programs can be such firmware.

さらに、本発明のユーザーインタフェース提供装置は、組み込み機器のうち、固有のIPアドレスを持ち、インターネットに接続可能な機器、すなわちIoT(Internet of Things)機器のGUIを構築するのに適している。IoT機器は、インターネットに接続するための通信部を備えた組み込み機器であるとも言える。 Furthermore, the user interface providing apparatus of the present invention is suitable for constructing a GUI of a device that has a unique IP address and can be connected to the Internet, that is, an IoT (Internet of Things) device among built-in devices. An IoT device can also be said to be an embedded device having a communication unit for connecting to the Internet.

以下、本発明の実施の形態について、図面を参照して説明する。なお、本発明は、以下に示す実施の形態に限定されるものではなく、その発明の趣旨の範囲内で種々変形して実施することができる。 BEST MODE FOR CARRYING OUT THE INVENTION Hereinafter, embodiments of the present invention will be described with reference to the drawings. It should be noted that the present invention is not limited to the embodiments described below, and various modifications can be made within the spirit and scope of the invention.

[GUI提供部]
図1は、本実施の形態に係るユーザーインタフェース提供装置に含まれるGUI提供部の構成を示すブロック図である。
[GUI provider]
FIG. 1 is a block diagram showing the configuration of a GUI providing unit included in a user interface providing device according to this embodiment.

ユーザーインタフェース提供装置100において、GUI提供部101は、例えば、後述の制御部11によって実行されるネイティブプログラムによって実現される。GUI提供部101は、静的コンテンツ生成部102及び画面制御部103を備えている。 In the user interface providing device 100, the GUI providing unit 101 is implemented by, for example, a native program executed by the control unit 11, which will be described later. The GUI providing unit 101 has a static content generating unit 102 and a screen control unit 103 .

静的コンテンツ生成部102は、テンプレート104に基づいて、本発明の画面の設計情報の一例である画面設計情報105を参照し、静的コンテンツを動的に生成する。静的コンテンツの生成の詳細については後述する。 Based on the template 104, the static content generation unit 102 refers to the screen design information 105, which is an example of the screen design information of the present invention, and dynamically generates static content. The details of generating static content will be described later.

静的コンテンツ生成部102は、ブラウザプログラム200と連係可能に構成されている。静的コンテンツ生成部102は、ブラウザプログラム200からイベント発生に関する情報を受信し、静的コンテンツを生成することができる。また、静的コンテンツ生成部102は、生成した静的コンテンツを出力し、ブラウザプログラム200に表示部111に表示させることができる。 The static content generator 102 is configured to be able to link with the browser program 200 . The static content generator 102 can receive information about event occurrences from the browser program 200 and generate static content. The static content generation unit 102 can also output the generated static content and cause the browser program 200 to display it on the display unit 111 .

また、静的コンテンツ生成部102は、少なくとも1つのネイティブプログラム300と連係可能に構成されている。静的コンテンツ生成部102は、ネイティブプログラム300からイベント発生に関する情報を受信し、静的コンテンツを生成することができる。 Also, the static content generator 102 is configured to be able to link with at least one native program 300 . The static content generator 102 can receive information about event occurrences from the native program 300 and generate static content.

一方、本発明の制御要求手段の一例である画面制御部103は、ブラウザプログラム200で発生したイベントに応じ、ネイティブプログラム300に対して、イベントに対応する組み込み機器の制御に関する制御情報を出力する。ここでイベントは、ブラウザプログラムが表示部111に表示させた画面に対して、入力部112を介して行われたユーザによる操作を検知したことである。 On the other hand, the screen control unit 103, which is an example of the control request means of the present invention, outputs control information regarding control of the embedded device corresponding to the event to the native program 300 in response to the event generated in the browser program 200. FIG. Here, the event is detection of an operation by the user performed via the input unit 112 on the screen displayed on the display unit 111 by the browser program.

画面制御部103は、ブラウザプログラム200と連係可能に構成されている。画面制御部103は、ブラウザプログラム200からイベント発生に関する情報を受信し、画面設計情報105に基づいて、当該イベントに対応する制御情報を取得することができる。 The screen control unit 103 is configured to be linked with the browser program 200 . The screen control unit 103 can receive information about the occurrence of an event from the browser program 200 and acquire control information corresponding to the event based on the screen design information 105 .

さらに、画面制御部103は、ネイティブプログラム300と連係可能に構成されている。画面制御部103は、取得した制御情報を出力し、ネイティブプログラム300に制御情報に対応するハードウェア121の制御を実行させることができる。 Furthermore, the screen control unit 103 is configured to be able to link with the native program 300 . The screen control unit 103 can output the acquired control information and cause the native program 300 to control the hardware 121 corresponding to the control information.

また、画面制御部103は、ネイティブプログラム300からハードウェア121の動作状態に関する情報(以下、「状態情報」と記載する)を受信する。 The screen control unit 103 also receives information about the operating state of the hardware 121 (hereinafter referred to as “state information”) from the native program 300 .

そして、画面制御部103は、画面設計情報105に含まれる画面遷移情報に基づいて、ハードウェア121の動作状態に応じた静的コンテンツを動的に生成し、ブラウザプログラム200に静的コンテンツを画面に表示させる。 Based on the screen transition information included in the screen design information 105, the screen control unit 103 dynamically generates static content according to the operating state of the hardware 121, and displays the static content on the browser program 200. to display.

上述のようなGUI提供部101の静的コンテンツ生成部102及び画面制御部103と、ブラウザプログラム200及びネイティブプログラム300との連係は、特に限定されないが、例えば、GUI提供部101を実現するプログラム(以下、「GUI提供プログラム」と記載する)と、ブラウザプログラム200及びネイティブプログラム300とを、動的又は静的にリンクすることで実現できる。また、GUI提供プログラムと、ブラウザプログラム200及びネイティブプログラム300の間にソフトウェアインタフェースを設けてデータ交換できるようにすることで実現することができる。 The linkage between the static content generation unit 102 and the screen control unit 103 of the GUI providing unit 101 as described above, and the browser program 200 and the native program 300 is not particularly limited. This can be realized by dynamically or statically linking the browser program 200 and the native program 300 with the browser program 200 and the native program 300, hereinafter referred to as "GUI providing program". Further, it can be realized by providing a software interface between the GUI providing program and the browser program 200 and the native program 300 so that data can be exchanged.

[ブラウザプログラム]
次に、図2を参照して、ブラウザプログラム200について説明する。図2は、本実施の形態に係るブラウザプログラムの構成を示すブロック図である。ブラウザプログラム200は、HTML、XMLなどの構造化文書で記述された構造化文書ファイルを取得し、当該構造化文書ファイルを解析し、解析結果に基づいて、構造化文書ファイルに埋め込まれた、又は、参照された要素を画面に描画する機能を備えている。
[browser program]
Next, the browser program 200 will be described with reference to FIG. FIG. 2 is a block diagram showing the configuration of the browser program according to this embodiment. The browser program 200 acquires a structured document file written in a structured document such as HTML or XML, analyzes the structured document file, and based on the analysis result, embeds in the structured document file or , which has the ability to draw the referenced element to the screen.

ブラウザプログラム200は、ユーザーインタフェース(UI)201、ブラウザエンジン202、レンダリングエンジン203、ネットワーキングモジュール(通信部)204、スクリプトエンジン205、データストレージ(記憶部)206で構成される。 The browser program 200 includes a user interface (UI) 201 , browser engine 202 , rendering engine 203 , networking module (communication section) 204 , script engine 205 and data storage (storage section) 206 .

ユーザーインタフェース201は、一般的なWebブラウジングのためのUI要素(戻るボタン、進むボタン、アドレスバー、ブックマーク、更新ボタン、中止ボタン、ホームボタンなど)を表示部111(図1参照)に表示させ、入力部112(図1参照)を介して当該画面要素へのユーザからの入力を受け付けるように構成されている。ただし、本実施の形態のようにGUIを構築するためにブラウザプログラム200を使用するときは、ユーザーインタフェース201は、一般的なWebブラウジングのためのUI要素を提供する必要は必ずしもない。 The user interface 201 displays UI elements (back button, forward button, address bar, bookmark, update button, stop button, home button, etc.) for general web browsing on the display unit 111 (see FIG. 1), It is configured to receive input from the user to the relevant screen element via the input unit 112 (see FIG. 1). However, when browser program 200 is used to build a GUI as in this embodiment, user interface 201 does not necessarily need to provide UI elements for general web browsing.

ブラウザエンジン202は、ユーザーインタフェース201からの入力をレンダリングエンジン203に伝え、ユーザからの入力にしたがってレンダリングエンジン203を操作することを実現可能に構成されている。 The browser engine 202 is configured to be able to transmit input from the user interface 201 to the rendering engine 203 and operate the rendering engine 203 according to input from the user.

レンダリングエンジン203は、ブラウザ表示可能コンテンツを解釈し、描画して、表示部に表示できるように構成されている。 The rendering engine 203 is configured to interpret, render, and display browser-viewable content on the display.

ネットワーキングモジュール204は、通信部の一例であり、例えばサーバへのHTTPリクエストの送信などを行うように構成されている。 The networking module 204 is an example of a communication unit, and is configured to transmit HTTP requests to servers, for example.

スクリプトエンジン205は、例えば、ブラウザ表示可能コンテンツに含まれるスクリプトファイルを解釈し、実行するように構成されている。本実施の形態では、スクリプトは、Javascriptであるが特に限定されない。ただし、本実施の形態では、ブラウザプログラム200は、後述の静的コンテンツを解釈し、描画して、UI画面を表示部に表示させるだけであれば、スクリプトエンジン205は必ずしも必要ない。 Script engine 205 is configured, for example, to interpret and execute script files contained in browser-viewable content. In this embodiment, the script is Javascript, but is not particularly limited. However, in the present embodiment, the script engine 205 is not necessarily required if the browser program 200 only interprets and draws static content, which will be described later, and displays a UI screen on the display unit.

データストレージ206は、Cookieなどのデータを保存するように構成されている。 Data storage 206 is configured to store data such as cookies.

さらに、ブラウザプログラム200は、上述のようにGUI提供部101と連係可能に構成されている。 Furthermore, the browser program 200 is configured to be able to cooperate with the GUI providing section 101 as described above.

以下、レンダリングエンジン203での処理について説明する。レンダリングエンジン203は、HTMLファイルを解析し、DOMツリーを生成する。レンダリングエンジン203は、HTMLファイルに記述されたタグをツリー上のDOMノードに変換し、DOMツリーを生成する。DOMツリーは、HTMLファイルに含まれる全ての要素のツリー状の集合である。DOMノードとは、DOMツリーに含まれる一つ一つの要素である。 Processing in the rendering engine 203 will be described below. Rendering engine 203 parses the HTML file and generates a DOM tree. The rendering engine 203 converts tags described in the HTML file into DOM nodes on the tree to generate a DOM tree. A DOM tree is a tree-like collection of all elements contained in an HTML file. A DOM node is each element contained in the DOM tree.

また、レンダリングエンジン203は、HTMLファイルにCSS(Cascading Style Sheet)が含まれている、又は、外部のCSSファイルにリンクされている場合、当該CSSを、styleエレメントからなるスタイルデータを解析し、描画ツリーに変換する。 If the HTML file contains CSS (Cascading Style Sheet) or is linked to an external CSS file, the rendering engine 203 analyzes the style data consisting of style elements and renders the CSS. Convert to tree.

このようなHTMLファイル及びCSSファイルを解析する処理を、解析(パース)処理と呼ぶ。 Processing for analyzing such HTML files and CSS files is called analysis (parsing) processing.

また、レンダリングエンジン203は、DOMツリー及び描画ツリーを組み合わせ、レンダリングツリーを構築する。 The rendering engine 203 also builds a rendering tree by combining the DOM tree and the rendering tree.

また、レンダリングエンジン203は、レンダリングツリーに格納されたDOMノードの位置を決定する。この処理はレイアウト処理と呼ばれる。より具体的には、レンダリングエンジン203は、レンダリングツリーに追加されたレンダラーに「位置」と「サイズ」の情報を加える。 The rendering engine 203 also determines the locations of DOM nodes stored in the rendering tree. This processing is called layout processing. More specifically, the rendering engine 203 adds "position" and "size" information to renderers added to the rendering tree.

また、レンダリングエンジン203は、レンダリングツリーに格納されたDOMノードを「位置」と「サイズ」に従って、表示部111に表示する。この処理はペイント処理と呼ばれる。 Also, the rendering engine 203 displays the DOM nodes stored in the rendering tree on the display unit 111 according to "position" and "size". This process is called painting process.

このようなレンダリングツリーの構築、レイアウト処理及びペイント処理を合わせて、描画処理と呼ぶ。 Such rendering tree construction, layout processing, and painting processing are collectively referred to as drawing processing.

[ネイティブプログラム]
次に、図3を参照して、ネイティブプログラム300について説明する。図3は、本実施の形態に係るネイティブプログラム300の構成を示すブロック図である。図3Aに示すように、ネイティブプログラム300は、ミドルウェア301及びオペレーションシステム(OS)302を介してハードウェア121を制御してもよいし、図3Bに示すように、ネイティブプログラム300が、ミドルウェア及びオペレーションシステム(OS)なしで、ハードウェア121を直接制御してもよい。ここでは、説明の便宜上、一つのネイティブプログラム300だけを図示しているが、ネイティブプログラム300が複数同時に存在していても構わない。
[Native program]
Next, the native program 300 will be described with reference to FIG. FIG. 3 is a block diagram showing the configuration of the native program 300 according to this embodiment. As shown in FIG. 3A, native program 300 may control hardware 121 via middleware 301 and operating system (OS) 302, and as shown in FIG. The hardware 121 may be directly controlled without a system (OS). For convenience of explanation, only one native program 300 is shown here, but a plurality of native programs 300 may exist at the same time.

[ユーザーインタフェース提供方法]
本実施の形態に係るユーザーインタフェース提供方法について、以下で説明する。図4は、本実施の形態に係るユーザーインタフェース提供方法の一例を示すフローチャートである。
[User interface provision method]
A method for providing a user interface according to this embodiment will be described below. FIG. 4 is a flow chart showing an example of a user interface providing method according to this embodiment.

まず、GUI提供部101(図1参照)の静的コンテンツ生成部102は、イベントに応じ、テンプレート104及び画面設計情報105に基づいて、静的コンテンツを動的に生成する(ST101)。 First, static content generation section 102 of GUI providing section 101 (see FIG. 1) dynamically generates static content based on template 104 and screen design information 105 according to an event (ST101).

次に、ブラウザプログラム200は、静的コンテンツを解釈し、表示部111に画面を表示させる(ST102)。 Next, browser program 200 interprets the static content and causes display unit 111 to display a screen (ST102).

次いで、画面制御部103は、ブラウザプログラム200からイベント発生に関する情報を受信する(ST103)。 Next, screen control section 103 receives information about event occurrence from browser program 200 (ST103).

その後、画面制御部103は、ネイティブプログラム300に対して、イベントに対応する組み込み機器のハードウェア121の制御に関する制御情報を出力する(ST104)。 After that, the screen control unit 103 outputs control information regarding control of the hardware 121 of the embedded device corresponding to the event to the native program 300 (ST104).

図5は、本実施の形態に係るユーザーインタフェース提供方法によって提供される動的なGUIの一例を示す模式図である。 FIG. 5 is a schematic diagram showing an example of a dynamic GUI provided by the user interface providing method according to this embodiment.

ここで説明するGUIの一例は、照明コントロール装置のための動的なGUIである。図5に示すように、まず、制御対象を、2つの照明機器であるLight A又はBから選択するためのメニュー画面410を表示する。 One example of a GUI described herein is a dynamic GUI for a lighting control device. As shown in FIG. 5, first, a menu screen 410 is displayed for selecting an object to be controlled from Light A or Light B, which are two lighting devices.

メニュー画面410に表示された2つのメニューボタン411、412のうち1つ目のメニューボタン411を選択すると、Light Aを制御するためのコントロール画面420が表示される。コントロール画面420には、ONボタン421及びOFFボタン422が含まれている。コントロール画面420が最初に表示されたときには、ONボタン421がイネーブル(操作可能な状態)であり、かつ、OFFボタン422がディセイブル(操作不可能な状態)であることが一見してわかるように、OFFボタン422がグレーアウトされている。 When the first menu button 411 of the two menu buttons 411 and 412 displayed on the menu screen 410 is selected, a control screen 420 for controlling Light A is displayed. The control screen 420 includes an ON button 421 and an OFF button 422 . When the control screen 420 is first displayed, it can be seen at a glance that the ON button 421 is enabled (operable state) and the OFF button 422 is disabled (unoperable state). The OFF button 422 is grayed out.

コントロール画面420に対してユーザがONボタン421をタッチし、Light Aを点灯させると、コントロール画面420のONボタン421がディセイブルに、OFFボタン422がイネーブルに変わり、ONボタン421がディセイブルであることが一見してわかるように、ONボタン421がグレーアウトされる。一方、OFFボタン422がイネーブルであることが一見してわかるように、OFFボタン422が標準の表示状態に変わる。このように、コントロール画面420において、ユーザの操作により、ONボタン421がタッチされるというイベントが発生したことに応じ、コントロール画面のONボタン421及びOFFボタン422の表示状態が更新される。 When the user touches the ON button 421 on the control screen 420 to turn on Light A, the ON button 421 of the control screen 420 is disabled, the OFF button 422 is enabled, and the ON button 421 is disabled. As can be seen at a glance, the ON button 421 is grayed out. On the other hand, the OFF button 422 changes to its standard display state so that it can be seen at a glance that the OFF button 422 is enabled. In this manner, the display states of the ON button 421 and the OFF button 422 on the control screen are updated in response to the occurrence of an event in which the ON button 421 is touched by the user's operation on the control screen 420 .

以下、このような動的なGUIを本実施の形態に係るユーザーインタフェース提供装置100により実現する場合について説明する。 A case in which such a dynamic GUI is realized by the user interface providing apparatus 100 according to this embodiment will be described below.

まず、従来のユーザーインタフェース提供装置において、動的コンテンツにより動的GUIを実現する場合について説明する。図6は、動的コンテンツを構成する構造化文書の一例を示す説明図である。構造化文書600は、スタイルシートパート601、コンテンツパート602及びスクリプトパート603で構成される。 First, a case where a dynamic GUI is realized by dynamic contents in a conventional user interface providing device will be described. FIG. 6 is an explanatory diagram showing an example of a structured document forming dynamic content. A structured document 600 is composed of a style sheet part 601 , a content part 602 and a script part 603 .

スタイルシートパート601は、構造化文書600の表示形式(体裁、見た目等)を制御するスタイルシートを含む。スタイルシートは、例えば、CSSのようなスタイルシート言語を用いて記述される。 The stylesheet part 601 includes a stylesheet that controls the display format (appearance, appearance, etc.) of the structured document 600 . A stylesheet is described using a stylesheet language such as CSS, for example.

コンテンツパート602は、構造化文書600の本体であり、ここに記述された内容が画面に表示される。本実施の形態において、コンテンツパート602は、例えば、少なくとも1つのブロックを含む。ここでブロックとは、例えば、div要素を用いて、コンテンツパート602に記述された内容を複数の部分に分割したとき、その一つ一つをいう。 The content part 602 is the main body of the structured document 600, and the content described here is displayed on the screen. In this embodiment, content part 602 includes, for example, at least one block. Here, a block refers to each of a plurality of parts when the content described in the content part 602 is divided into a plurality of parts using div elements, for example.

コンテンツパート602において、div要素やタグ"button"に、例えば、属性"class"を併用して、ブロックに含まれる表示内容に表示形式を個別に指定することができる。 In the content part 602, for example, the attribute "class" can be used together with the div element and the tag "button" to individually specify the display format for the display content included in the block.

例えば、本実施の形態では、まずブロックにクラス(class)名を付与する。そして、スタイルシートパート601において、属性"class"でスタイルにクラス名を指定し、そのクラス名が付けられたブロックにのみ、当該スタイルを適用させることができる。 For example, in this embodiment, first, a class name is given to a block. Then, in the style sheet part 601, a class name can be specified for the style with the attribute "class", and the style can be applied only to the blocks to which the class name is assigned.

スクリプトパート603は、構造化文書に動的な処理を加えるスクリプトを含む。スクリプトは、例えば、Javascriptのようなスクリプト言語で記述される。 A script part 603 contains a script that dynamically processes the structured document. A script is written in a scripting language such as Javascript, for example.

なお、ここでの説明では、構造化文書は一つのファイルで構成されているが、複数のファイルで構成されていてもよい。例えば、スタイルシートパート601を別のファイル(外部スタイルシート)としてもよいし、スクリプトパート603を別のファイル(外部スクリプト)にしても構わない。 Note that the structured document is composed of one file in the description here, but may be composed of a plurality of files. For example, the stylesheet part 601 may be a separate file (external stylesheet), and the script part 603 may be a separate file (external script).

ブラウザプログラムは、上述のような動的コンテンツのための構造化文書600を解釈し、コンテンツパート602に記述された内容に、スタイルシートパート601に記述されたスタイルシートを適用し、GUIを画面に表示させると共に、スクリプトパート603に記述されたスクリプトを実行し、GUIに動的な処理を加えることができる。 The browser program interprets the structured document 600 for dynamic content as described above, applies the style sheet described in the style sheet part 601 to the content described in the content part 602, and displays the GUI on the screen. Along with displaying, the script described in the script part 603 can be executed to add dynamic processing to the GUI.

一方、本実施の形態に係るユーザーインタフェース提供装置100においては、静的コンテンツ生成部102が、テンプレート及びユーザーインタフェースのための画面の設計情報に基づいて少なくとも一部が構造化文書ファイルで構成された静的コンテンツを動的に生成する。 On the other hand, in the user interface providing apparatus 100 according to the present embodiment, the static content generation unit 102 is configured such that at least a portion of the static content generation unit 102 is composed of a structured document file based on the template and screen design information for the user interface. Generate static content dynamically.

図7は、本実施の形態に係るユーザーインタフェース提供装置100が使用するテンプレートの一例を示す説明図である。図7に示すテンプレート700は、構造化文書で構成されている。 FIG. 7 is an explanatory diagram showing an example of a template used by the user interface providing apparatus 100 according to this embodiment. A template 700 shown in FIG. 7 is composed of a structured document.

テンプレート700は、スタイルシートパート701及びコンテンツパート702で構成される。スタイルシートパート701及びコンテンツパート702は、図5を参照して説明した動的コンテンツのための構造化文書600のスタイルシートパート601及びコンテンツパート602と同様である。この例では、テンプレート700は、スクリプトパートを含まない。 A template 700 is composed of a style sheet part 701 and a content part 702 . Stylesheet part 701 and content part 702 are similar to stylesheet part 601 and content part 602 of structured document 600 for dynamic content described with reference to FIG. In this example, template 700 does not contain a script part.

テンプレート700のスタイルシートパート701のセレクタ"container"において、動的コンテンツと同様にコントロール画面420(図5参照)の大きさ、コンテンツパート702に含まれる要素の配置及び背景色が定義されている。より具体的には、テンプレート700では、例えば、背景色を指定するプロパティ"background-color"の引数(値)を変数名"bgc1"と設定し、これにより、コントロール画面420の背景色を変更可能な表示形式にしている。 In the selector "container" of the style sheet part 701 of the template 700, the size of the control screen 420 (see FIG. 5), the layout of the elements included in the content part 702, and the background color are defined in the same manner as the dynamic content. More specifically, in the template 700, for example, the argument (value) of the property "background-color" that specifies the background color is set to the variable name "bgc1", thereby changing the background color of the control screen 420. display format.

また、セレクタ"btn"において、ONボタン421及びOFFボタン422の大きさ、フォントサイズ及び色、並びに、背景色が定義されている。より具体的には、テンプレート700では、例えば、フォントの色を指定するプロパティ"color"の引数を変数名"fontc1"、及び、背景色を指定するプロパティ"background-color"の引数を変数名"bgc2"と定義し、これらにより、ONボタン421及びOFFボタン422のフォントの色及び背景色を変更可能な表示形式にしている。 Also, the size, font size and color of the ON button 421 and the OFF button 422, and the background color are defined in the selector "btn". More specifically, in the template 700, for example, the argument of the property "color" that specifies the font color is the variable name "fontc1", and the argument of the property "background-color" that specifies the background color is the variable name " bgc2", by which the font color and background color of the ON button 421 and the OFF button 422 can be changed.

また、セレクタ"btn-on-active"において、ONボタン421及びOFFボタン422がアクティブな状態における背景色が定義されている。テンプレート700では、背景色を指定するプロパティ"background-color"の引数を変数名"bgc3"と設定し、これらにより、ONボタン421及びOFFボタン422がイネーブルであり、操作可能であることが認識しやすいように背景色を変更可能な表示形式にしている。 Also, in the selector "btn-on-active", a background color is defined when the ON button 421 and the OFF button 422 are active. In the template 700, the variable name "bgc3" is set as the argument of the property "background-color" that specifies the background color, and the ON button 421 and the OFF button 422 are enabled and operable. The display format is such that the background color can be changed for ease of viewing.

また、セレクタ"btn-off-active"において、ONボタン421及びOFFボタン422がアクティブでない状態における背景色が定義されている。テンプレート700では、背景色を指定するプロパティ"background-color"の引数を変数名"bgc4"と設定し、ONボタン421及びOFFボタン422がディセイブルであり、操作可能でないことが認識しやすいように背景色を変更可能な表示形式にしている。 In the selector "btn-off-active", a background color is defined when the ON button 421 and the OFF button 422 are not active. In the template 700, the argument of the property "background-color" that specifies the background color is set to the variable name "bgc4". It has a color changeable display format.

コンテンツパート702のクラス名"container"のブロックにおいて、2つの要素、すなわちONボタン421及びOFFボタン422(図5参照)をタグ"button"を用いて定義している。まず、タグ"button"において、<button>~</button>で囲まれた部分にONボタン421及びOFFボタン422上に表示される文字列"ON"及び"OFF"が定義されている。 In the block with the class name "container" of the content part 702, two elements, that is, the ON button 421 and the OFF button 422 (see FIG. 5) are defined using the tag "button". First, in the tag "button", character strings "ON" and "OFF" to be displayed on the ON button 421 and the OFF button 422 are defined in the portions enclosed by <button> and </button>.

また、タグ"button"において、属性"class"を用いてスタイルシートパート701でセレクタにより指定されたクラス名が付与されるが、ここでは、ONボタン421及びOFFボタン422のそれぞれについて、属性"class"の変数を変数名"class1"及び"class2"とそれぞれ設定し、これにより、ONボタン421及びOFFボタン422が適用される表示形式を変更できるようにしている。 Also, in the tag "button", the class name specified by the selector in the style sheet part 701 is given using the attribute "class". " are set to variable names "class1" and "class2", respectively, so that the display format to which the ON button 421 and the OFF button 422 are applied can be changed.

なお、ここで引数を変数名で定義したプロパティ及び属性の一例にすぎず、これらの一部を変数名で定義せずに固定としてもよいし、これら以外のプロパティ及び属性の引数を変数名で設定し、表示形式を変更可能なようにしてもよい。 Note that this is just an example of properties and attributes whose arguments are defined with variable names. It may be set so that the display format can be changed.

また、タグ"button"において、<button>~</button>で囲まれた部分を変数名で設定し、ONボタン421及びOFFボタン422上に表示される文字列を変更可能なようにしてもよい。 Also, in the tag "button", the part enclosed by <button> and </button> is set with a variable name so that the character strings displayed on the ON button 421 and the OFF button 422 can be changed. good.

本実施の形態に係るユーザーインタフェース提供装置100において、GUI提供部101の静的コンテンツ生成部102(図1参照)は、上述のようなテンプレート700に基づいて、画面設計情報105を参照し、静的コンテンツを生成する。 In user interface providing apparatus 100 according to the present embodiment, static content generating section 102 (see FIG. 1) of GUI providing section 101 refers to screen design information 105 based on template 700 as described above, and generates static content. Generate targeted content.

図8及び図9は、本実施の形態に係るユーザーインタフェース提供装置により生成される静的コンテンツの一例を示す説明図である。図8は、図5に示すコントロール画面420において、ONボタン421がイネーブルであるときの静的コンテンツAを示し、図9は、コントロール画面420において、OFFボタン422がイネーブルであるときの静的コンテンツBを示す。 8 and 9 are explanatory diagrams showing an example of static content generated by the user interface providing device according to this embodiment. 8 shows static content A when the ON button 421 is enabled on the control screen 420 shown in FIG. 5, and FIG. 9 shows static content A when the OFF button 422 is enabled on the control screen 420. B.

まず、静的コンテンツA、Bに共通する点として、スタイルシートパート801、901において、背景色及びフォントの色を指定するプロパティ"color"及び"background-color"に設定されていた変数名"bgc1"、"bgc2"、"bgc3"、"bgc4"、"fontc1"に、カラーコードが設定される。 First, as a point common to the static contents A and B, in the style sheet parts 801 and 901, the variable name "bgc1 ", "bgc2", "bgc3", "bgc4", and "fontc1" are set with color codes.

また、図8に示すように、静的コンテンツAのコンテンツパート802において、1つめのタグ"button"(ONボタン421に対応)の属性"class"の変数名"class1"に、クラス名"btn"、"btn-on-active"が設定される。 Also, as shown in FIG. 8, in the content part 802 of the static content A, the variable name "class1" of the attribute "class" of the first tag "button" (corresponding to the ON button 421) has the class name "btn". ", "btn-on-active" is set.

また、静的コンテンツAのコンテンツパート802において、2つめのタグ"button"(OFFボタン422に対応)の属性"class"の変数名"class2"に、クラス名"btn"が設定されると共に、属性"disable"が設定され、OFFボタン422が無効化される。 Also, in the content part 802 of the static content A, the class name "btn" is set to the variable name "class2" of the attribute "class" of the second tag "button" (corresponding to the OFF button 422), The attribute "disable" is set and the OFF button 422 is disabled.

一方、図9に示すように、静的コンテンツBのコンテンツパート902において、1つめのタグ"button"(ONボタン421に対応)の属性"class"の変数名"class1"に、クラス名"btn"が設定されると共に、属性"disable"が設定され、ONボタン421が無効化される。 On the other hand, as shown in FIG. 9, in the content part 902 of the static content B, the variable name "class1" of the attribute "class" of the first tag "button" (corresponding to the ON button 421) has the class name "btn". " is set, the attribute "disable" is set, and the ON button 421 is disabled.

また、静的コンテンツBのコンテンツパート902において、2つめのタグ"button"(OFFボタン422に対応)の属性"class"の変数名"class2"に、クラス名"btn"、"btn-on-active"が設定される。 In the content part 902 of the static content B, the class names "btn", "btn-on- active" is set.

本実施の形態では、GUI提供部101(図1参照)の画面制御部103が、画面設計情報105に含まれる画面遷移情報に基づいて、照明機器の動作状況に応じて静的コンテンツA、Bを、ブラウザブラグラム200により処理させ、表示部111に表示させる。 In this embodiment, the screen control unit 103 of the GUI providing unit 101 (see FIG. 1) controls the static content A, B based on the screen transition information included in the screen design information 105 according to the operation status of the lighting equipment. is processed by the browser program 200 and displayed on the display unit 111 .

例えば、照明装置が点灯していない状態では、画面制御部103は、画面遷移情報に基づいて、静的コンテンツAを、ブラウザプログラム200に処理させ、表示部111にONボタン421がイネーブルであるコントロール画面420を表示させる。 For example, when the lighting device is not turned on, the screen control unit 103 causes the browser program 200 to process the static content A based on the screen transition information, and controls the display unit 111 so that the ON button 421 is enabled. Display screen 420 .

コントロール画面420のONボタン421に対し、ユーザにより入力部112を介した操作が行なれると、画面制御部103は、ブラウザプログラム200から、ONボタン421に対して操作イベント発生に関する情報を受信する。画面制御部103は、操作イベントに対応する制御情報を画面設計情報105に基づいて取得し、当該制御情報をネイティブプログラム300に出力し、照明装置をONにする制御を実行させる。 When the ON button 421 of the control screen 420 is operated by the user via the input unit 112 , the screen control unit 103 receives information regarding the occurrence of an operation event for the ON button 421 from the browser program 200 . The screen control unit 103 acquires control information corresponding to the operation event based on the screen design information 105, outputs the control information to the native program 300, and executes control to turn on the lighting device.

制御が実行され成功すると、ネイティブプログラム300から照明装置がONになったことを示す状態情報を送信する。これに応じて、画面制御部103は、画面遷移情報に基づいて、静的コンテンツBを、ブラウザプログラム200に処理させ、表示部111にONボタン421がディセイブルであるコントロール画面420を表示させる。 When the control is successfully executed, the native program 300 sends status information indicating that the lighting device is turned on. In response, the screen control unit 103 causes the browser program 200 to process the static content B based on the screen transition information, and causes the display unit 111 to display the control screen 420 with the ON button 421 disabled.

このように、照明装置がONになったことに応じて、図5に示すように、コントロール画面420が切り替えられるので、ネイティブプログラム300からのフィードバックを反映している。 As described above, the control screen 420 is switched as shown in FIG.

以上説明したように、本実施の形態に係るユーザーインタフェース提供装置100によれば、静的コンテンツを用いて動的なGUIを実現できるので、動的コンテンツを用いた場合に比べてバグが少なくなり、テスト項目を少なくすることができる。 As described above, according to the user interface providing apparatus 100 according to the present embodiment, a dynamic GUI can be realized using static content. , test items can be reduced.

また、GUI提供部101の画面制御部103が、ネイティブプログラム300からのフィードバックを反映して、画面の切り替えを行うため、組み込み機器の動作状態の変化に応じてGUIの変更が適切なタイミングに行われるかどうかを確認するためのテストの手間を省くことができる。 In addition, since the screen control unit 103 of the GUI providing unit 101 switches screens by reflecting feedback from the native program 300, the GUI can be changed at an appropriate timing according to changes in the operating state of the embedded device. You can save the trouble of testing to see if it is

以上説明した本実施の形態によれば、組み込み機器のために、動的な表現に富んだGUIを短期及び低コストで開発できる。 According to the present embodiment described above, a GUI rich in dynamic expressions can be developed in a short period of time and at low cost for an embedded device.

[組み込み機器の構成]
図10は、本実施の形態に係るユーザーインタフェース提供装置が適用される組み込み機器の機能構成の一例を示す図である。図10に示すように、組み込み機器10は、制御部11と、記憶部12と、通信部13と、入力部14と、出力部15と、を有する。なお、図10では、本実施の形態における特徴部分の機能ブロックを主に示しており、組み込み機器10は、他の処理に必要な他の機能ブロックも有してもよい。また、一部の機能ブロックを含まない構成としてもよい。
[Configuration of embedded device]
FIG. 10 is a diagram showing an example of the functional configuration of an embedded device to which the user interface providing device according to this embodiment is applied. As shown in FIG. 10 , the embedded device 10 has a control section 11 , a storage section 12 , a communication section 13 , an input section 14 and an output section 15 . It should be noted that FIG. 10 mainly shows the functional blocks characteristic of the present embodiment, and the embedded device 10 may also have other functional blocks necessary for other processing. Moreover, it is good also as a structure which does not include some functional blocks.

制御部11は、組み込み機器10の制御を実施する。制御部11は、本発明に係る技術分野での共通認識に基づいて説明されるコントローラ、制御回路又は制御装置により構成することができる。 The control unit 11 controls the embedded device 10 . The control unit 11 can be configured by a controller, a control circuit, or a control device, which will be explained based on common recognition in the technical field related to the present invention.

例えば、制御部11は、組み込み機器10の特定の用途に必要な制御を実施してもよい。制御部11は、通信部13の通信を介してデータを受信したり、データを送信したり、行ってもよい。 For example, the control unit 11 may perform controls necessary for a specific application of the embedded device 10 . The control unit 11 may receive data or transmit data through communication of the communication unit 13 .

また、例えば、組み込み機器10が照明機器のコントローラである場合、制御部11は、照明機器の点灯、消灯、明暗、色調などを制御する機能を含んでもよい。 Further, for example, if the embedded device 10 is a controller for lighting equipment, the control unit 11 may include functions for controlling lighting, turning off, brightness, color tone, and the like of the lighting equipment.

また、例えば、組み込み機器10が自動洗濯機のコントローラである場合、制御部11は、自動洗濯機の洗浄時間、すすぎ時間、脱水時間などを制御する機能を含んでもよい。 Further, for example, when the embedded device 10 is a controller of an automatic washing machine, the control unit 11 may include a function of controlling washing time, rinsing time, spin-drying time, etc. of the automatic washing machine.

記憶部12は、組み込み機器10において利用する情報を記憶(保持)する。例えば、記憶部12は、テンプレート104及び画面設計情報105(図1参照)を記憶してもよい。記憶部12は、例えば、本発明に係る技術分野での共通認識に基づいて説明されるメモリ、ストレージ、記憶装置などにより構成することができる。 The storage unit 12 stores (holds) information used in the embedded device 10 . For example, the storage unit 12 may store the template 104 and screen design information 105 (see FIG. 1). The storage unit 12 can be configured by, for example, a memory, a storage, a storage device, and the like, which are explained based on common recognition in the technical field of the present invention.

通信部13は、インターネットを介して他の通信デバイス(組み込み機器、サーバなど)と通信を行ってもよい。また、通信部13は、受信した種々の情報を制御部11に出力してもよい。 The communication unit 13 may communicate with other communication devices (embedded devices, servers, etc.) via the Internet. Further, the communication unit 13 may output various received information to the control unit 11 .

通信部13は、本発明に係る技術分野での共通認識に基づいて説明されるトランスミッター/レシーバー、送受信回路又は送受信装置により構成することができる。なお、通信部13は、送信部及び受信部から構成されてもよい。 The communication unit 13 can be configured by a transmitter/receiver, a transmitting/receiving circuit, or a transmitting/receiving device described based on common recognition in the technical field related to the present invention. Note that the communication unit 13 may be composed of a transmission unit and a reception unit.

入力部14は、ユーザからの操作により入力を受け付ける。また、入力部14は、所定の機器、記憶媒体などと接続され、データの入力を受け付けてもよい。入力部14は、入力結果を例えば制御部11に出力してもよい。 The input unit 14 receives an input by a user's operation. Also, the input unit 14 may be connected to a predetermined device, storage medium, or the like, and receive input of data. The input unit 14 may output the input result to the control unit 11, for example.

入力部14は、本発明に係る技術分野での共通認識に基づいて説明されるキーボード、マウス、ボタンなどの入力装置、入出力端子、入出力回路などにより構成することができる。また、入力部14は、表示部と一体となった構成(例えば、タッチパネルディスプレイ)としてもよい。 The input unit 14 can be composed of input devices such as a keyboard, mouse, and buttons, input/output terminals, input/output circuits, and the like, which will be explained based on common recognition in the technical field of the present invention. Also, the input unit 14 may be integrated with the display unit (for example, a touch panel display).

出力部15は、コンテンツの描画を行って、出力する。例えば、出力部15は、テキスト、画像などを表示する表示部、音声を出力する音声出力部などを含んで構成されてもよい。 The output unit 15 draws and outputs content. For example, the output unit 15 may include a display unit that displays text, images, and the like, an audio output unit that outputs audio, and the like.

表示部111(図1参照)は、例えば、本発明に係る技術分野での共通認識に基づいて説明されるディスプレイ、モニタなどの表示装置により構成することができる。また、音声出力部は、本発明に係る技術分野での共通認識に基づいて説明されるスピーカーなどの出力装置により構成することができる。 The display unit 111 (see FIG. 1) can be configured by, for example, a display device such as a display or a monitor, which are explained based on common recognition in the technical field of the present invention. Also, the audio output unit can be configured by an output device such as a speaker, which is explained based on the common recognition in the technical field related to the present invention.

出力部15は、例えば、本発明に係る技術分野での共通認識に基づいて説明される演算器、演算回路、演算装置、プレイヤー、画像/映像/音声処理回路、画像/映像/音声処理装置、アンプなどを含んで構成することができる。 The output unit 15 includes, for example, an arithmetic unit, an arithmetic circuit, an arithmetic device, a player, an image/video/audio processing circuit, an image/video/audio processing device, It can be configured to include an amplifier or the like.

[ハードウェア構成]
なお、上記実施の形態の説明に用いたブロック図は、機能単位のブロックを示している。これらの機能ブロック(構成部)は、ハードウェア及び/又はソフトウェアの任意の組み合わせによって実現される。また、各機能ブロックの実現手段は特に限定されない。すなわち、各機能ブロックは、物理的に結合した1つの装置により実現されてもよいし、物理的に分離した2つ以上の装置を有線又は無線によって接続し、これら複数の装置により実現されてもよい。
[Hardware configuration]
It should be noted that the block diagrams used in the description of the above embodiments show blocks in units of functions. These functional blocks (components) are implemented by any combination of hardware and/or software. Further, means for realizing each functional block is not particularly limited. In other words, each functional block may be realized by one physically connected device, or may be realized by two or more physically separated devices connected by wire or wirelessly. good.

図11は、本実施の形態に係るユーザーインタフェース提供装置が適用される組み込み機器のハードウェア構成の一例を示す図である。上述の組み込み機器10は、物理的には、プロセッサ1001、メモリ1002、ストレージ1003、通信装置1004、入力装置1005、出力装置1006、バス1008などを含むコンピュータ装置として構成されてもよい。 FIG. 11 is a diagram showing an example of the hardware configuration of an embedded device to which the user interface providing device according to this embodiment is applied. The embedded device 10 described above may be physically configured as a computer device including a processor 1001, a memory 1002, a storage 1003, a communication device 1004, an input device 1005, an output device 1006, a bus 1008, and the like.

なお、以下の説明では、「装置」という文言は、回路、デバイス、ユニットなどに読み替えることができる。組み込み機器10のハードウェア構成は、図に示した各装置を1つ又は複数含むように構成されてもよいし、一部の装置を含まずに構成されてもよい。 Note that in the following description, the term "apparatus" can be read as a circuit, device, unit, or the like. The hardware configuration of the embedded device 10 may be configured to include one or more of each device shown in the figure, or may be configured without some of the devices.

例えば、プロセッサ1001は1つだけ図示されているが、複数のプロセッサがあってもよい。また、処理は、1つのプロセッサによって実行されてもよいし、処理が同時に、逐次に、又はその他の手法を用いて、1以上のプロセッサによって実行されてもよい。 For example, although only one processor 1001 is shown, there may be multiple processors. Also, processing may be performed by one processor, or processing may be performed by one or more processors concurrently, serially, or otherwise.

組み込み機器10における各機能は、プロセッサ1001、メモリ1002などのハードウェア上に所定のソフトウェア(プログラム)を読み込ませることによって、プロセッサ1001が演算を行い、通信装置1004による通信、メモリ1002及びストレージ1003におけるデータの読み出し及び/又は書き込みなどを制御することによって実現される。 Each function in the embedded device 10 is performed by the processor 1001 performing calculations by loading predetermined software (programs) on hardware such as the processor 1001 and the memory 1002, communication by the communication device 1004, and communication in the memory 1002 and the storage 1003. It is realized by controlling reading and/or writing of data.

プロセッサ1001は、例えば、オペレーティングシステムを動作させてコンピュータ全体を制御する。プロセッサ1001は、周辺装置とのインタフェース、制御装置、演算装置、レジスタなどを含む中央処理装置(CPU:Central Processing Unit)によって構成されてもよい。なお、上述の制御部11などの各部は、プロセッサ1001によって実現されてもよい。プロセッサ1001は、1以上のチップによって実装されてもよい。 The processor 1001, for example, operates an operating system to control the entire computer. The processor 1001 may be configured by a central processing unit (CPU) including an interface with peripheral devices, a control device, an arithmetic device, registers, and the like. Note that each unit such as the control unit 11 described above may be implemented by the processor 1001 . Processor 1001 may be implemented by one or more chips.

また、プロセッサ1001は、プログラム(プログラムコード)、ソフトウェアモジュール、データなどを、ストレージ1003及び/又は通信装置1004からメモリ1002に読み出し、これらに従って各種の処理を実行する。プログラムとしては、上述の実施の形態において説明した動作の少なくとも一部をコンピュータに実行させるプログラムが用いられる。例えば、制御部11は、メモリ1002に格納され、プロセッサ1001において動作する制御プログラムによって実現されてもよく、他の機能ブロックについても同様に実現されてもよい。 The processor 1001 also reads programs (program codes), software modules, data, etc. from the storage 1003 and/or the communication device 1004 to the memory 1002, and executes various processes according to them. As the program, a program that causes a computer to execute at least part of the operations described in the above embodiments is used. For example, the control unit 11 may be implemented by a control program stored in the memory 1002 and running on the processor 1001, and other functional blocks may be similarly implemented.

メモリ1002は、コンピュータ読み取り可能な記録媒体であり、例えば、ROM(Read Only Memory)、EPROM(Erasable Programmable ROM)、EEPROM(Electrically EPROM)、RAM(Random Access Memory)、その他の適切な記憶媒体の少なくとも1つによって構成されてもよい。メモリ1002は、レジスタ、キャッシュ、メインメモリ(主記憶装置)などと呼ばれてもよい。メモリ1002は、本実施の形態に係る広告配信方法を実施するために実行可能なプログラム(プログラムコード)、ソフトウェアモジュールなどを保存することができる。 The memory 1002 is a computer-readable recording medium, for example, ROM (Read Only Memory), EPROM (Erasable Programmable ROM), EEPROM (Electrically EPROM), RAM (Random Access Memory), and at least other appropriate storage media. may be configured by one. The memory 1002 may also be called a register, cache, main memory (main storage device), or the like. The memory 1002 can store executable programs (program codes), software modules, etc. for implementing the advertisement distribution method according to the present embodiment.

ストレージ1003は、コンピュータ読み取り可能な記録媒体であり、例えば、フレキシブルディスク、フロッピー(登録商標)ディスク、光磁気ディスク(例えば、コンパクトディスク(CD-ROM(Compact Disc ROM)など)、デジタル多用途ディスク、Blu-ray(登録商標)ディスク)、リムーバブルディスク、ハードディスクドライブ、スマートカード、フラッシュメモリデバイス(例えば、カード、スティック、キードライブ)、磁気ストライプ、データベース、サーバ、その他の適切な記憶媒体の少なくとも1つによって構成されてもよい。ストレージ1003は、補助記憶装置と呼ばれてもよい。なお、上述の記憶部12は、メモリ1002及び/又はストレージ1003によって実現されてもよい。 The storage 1003 is a computer-readable recording medium, for example, a flexible disk, a floppy (registered trademark) disk, a magneto-optical disk (for example, a compact disk (CD-ROM (Compact Disc ROM), etc.), a digital versatile disk, Blu-ray disc), removable disc, hard disk drive, smart card, flash memory device (e.g., card, stick, key drive), magnetic stripe, database, server, or other suitable storage medium may be configured by Storage 1003 may also be called an auxiliary storage device. Note that the storage unit 12 described above may be implemented by the memory 1002 and/or the storage 1003 .

通信装置1004は、有線及び/又は無線ネットワークを介してコンピュータ間の通信を行うためのハードウェア(送受信デバイス)であり、例えばネットワークデバイス、ネットワークコントローラ、ネットワークカード、通信モジュールなどともいう。なお、上述の通信部13は、通信装置1004によって実現されてもよい。 The communication device 1004 is hardware (transmitting/receiving device) for communicating between computers via a wired and/or wireless network, and is also called a network device, network controller, network card, communication module, or the like. Note that the communication unit 13 described above may be implemented by the communication device 1004 .

入力装置1005は、外部からの入力を受け付ける入力デバイス(例えば、キーボード、マウスなど)である。出力装置1006は、外部への出力を実施する出力デバイス(例えば、ディスプレイ、スピーカーなど)である。なお、入力装置1005及び出力装置1006は、一体となった構成(例えば、タッチパネル)であってもよい。なお、上述の入力部14及び出力部15は、それぞれ入力装置1005及び出力装置1006によって実現されてもよい。 The input device 1005 is an input device (for example, keyboard, mouse, etc.) that receives input from the outside. The output device 1006 is an output device (eg, display, speaker, etc.) that outputs to the outside. Note that the input device 1005 and the output device 1006 may be integrated (for example, a touch panel). The input unit 14 and the output unit 15 described above may be realized by the input device 1005 and the output device 1006, respectively.

また、プロセッサ1001、メモリ1002などの各装置は、情報を通信するためのバス1008によって接続される。バス1008は、単一のバスによって構成されてもよいし、装置間で異なるバスで構成されてもよい。 Devices such as the processor 1001 and the memory 1002 are connected by a bus 1008 for communicating information. The bus 1008 may be configured with a single bus, or may be configured with different buses between devices.

また、組み込み機器10は、マイクロプロセッサ、デジタル信号プロセッサ(DSP:Digital Signal Processor)、ASIC(Application Specific Integrated Circuit)、PLD(Programmable Logic Device)、FPGA(Field Programmable Gate Array)などのハードウェアを含んで構成されてもよく、当該ハードウェアにより、各機能ブロックの一部又は全てが実現されてもよい。例えば、プロセッサ1001は、これらのハードウェアの少なくとも1つで実装されてもよい。 The embedded device 10 includes hardware such as a microprocessor, a digital signal processor (DSP), an ASIC (Application Specific Integrated Circuit), a PLD (Programmable Logic Device), and an FPGA (Field Programmable Gate Array). may be configured, and a part or all of each functional block may be realized by the hardware. For example, processor 1001 may be implemented with at least one of these hardware.

[プログラム構成]
本実施の形態に係るユーザーインタフェース提供方法を実現するプログラムは、例えば、図1を参照して説明したように、GUI提供プログラムと、ブラウザプログラム200と、ネイティブプログラム300と、で構成されるが、これに限定されるものではない。例えば、GUI提供プログラム、ブラウザプログラム200及びネイティブプログラム300が、一つのプログラムになっていてもよい。また、GUI提供プログラム及びブラウザプログラム200が一つのプログラムになっていてもよい。
[Program structure]
A program that implements the user interface providing method according to the present embodiment includes, for example, a GUI providing program, a browser program 200, and a native program 300, as described with reference to FIG. It is not limited to this. For example, the GUI providing program, browser program 200 and native program 300 may be one program. Also, the GUI providing program and the browser program 200 may be one program.

また、ブラウザプログラム200は、一般的なインターネットブラウザプログラムと同様にインターネットコンテンツを解釈及び描画可能な構成であってもよいし、本発明の実現のために、GUI提供プログラムが出力するブラウザ表示可能コンテンツのみを解釈及び描画可能な構成であってもよい。 In addition, the browser program 200 may be configured to interpret and draw Internet content in the same manner as a general Internet browser program. It may be a configuration that can interpret and draw only.

また、GUI提供プログラムは、ライブラリの形式であってもよい。ライブラリとは、汎用性の高い複数のプログラムを再利用可能な形でひとまとまりにしたものであり、それ単体ではプログラムとして作動させることはできない、つまり実行ファイルの形式でなくてもよい。つまり、ライブラリは、他のプログラムに何らかの機能を提供するコードの集まりであってもよい。 Also, the GUI providing program may be in the form of a library. A library is a collection of highly versatile programs in a reusable form, and cannot be operated as a single program, that is, does not have to be in the form of an executable file. In other words, a library may be a collection of code that provides some functionality to other programs.

[変形例]
なお、上述の実施の形態では、例を示したが、これに限られない。上述の実施の形態では、ユーザーインタフェース提供装置が組み込み機器自体である場合を例に挙げて説明したが、組み込み機器の表示部に、外部のユーザーインタフェース提供装置が出力したGUIを表示させるようにしても構わない。
[Modification]
In addition, although an example was shown in the above-described embodiment, the present invention is not limited to this. In the above-described embodiments, the case where the user interface providing device is the embedded device itself has been described as an example. I don't mind.

また、本明細書において説明した用語及び/又は本明細書の理解に必要な用語については、同一の又は類似する意味を有する用語と置き換えてもよい。 Also, the terms described in this specification and/or terms necessary for understanding this specification may be replaced with terms having the same or similar meanings.

本明細書において説明した情報、パラメータなどは、絶対値によって表されてもよいし、所定の値からの相対値によって表されてもよいし、対応する別の情報によって表されてもよい。また、本明細書においてパラメータなどに使用する名称は、いかなる点においても限定的なものではない。 The information, parameters, etc. described herein may be represented by absolute values, by relative values from a predetermined value, or by corresponding other information. Also, the names used for parameters and the like in this specification are not restrictive in any respect.

本明細書において説明した情報、信号などは、様々な異なる技術のいずれかを使用して表されてもよい。例えば、上記の説明全体に渡って言及され得るデータ、命令、コマンド、情報、信号、ビット、シンボル、チップなどは、電圧、電流、電磁波、磁界若しくは磁性粒子、光場若しくは光子、又はこれらの任意の組み合わせによって表されてもよい。 Information, signals, etc. described herein may be represented using any of a variety of different technologies. For example, data, instructions, commands, information, signals, bits, symbols, chips, etc. that may be referred to throughout the above description may refer to voltages, currents, electromagnetic waves, magnetic fields or magnetic particles, light fields or photons, or any of these. may be represented by a combination of

情報、信号などは、複数のネットワークノードを介して入出力されてもよい。入出力された情報、信号などは、特定の場所(例えば、メモリ)に保存されてもよいし、テーブルを用いて管理してもよい。入出力される情報、信号などは、上書き、更新又は追記をされ得る。出力された情報、信号などは、削除されてもよい。入力された情報、信号などは、他の装置へ送信されてもよい。 Information, signals, etc. may be input and output through multiple network nodes. Input/output information, signals, and the like may be stored in a specific location (for example, memory), or may be managed using a table. Input and output information, signals, etc. may be overwritten, updated or appended. Output information, signals, etc. may be deleted. Input information, signals, etc. may be transmitted to other devices.

また、所定の情報の通知(例えば、「Xであること」の通知)は、明示的に行うものに限られず、暗示的に(例えば、当該所定の情報の通知を行わないことによって)行われてもよい。 In addition, the notification of the predetermined information (for example, the notification of "being X") is not limited to being performed explicitly, but may be performed implicitly (for example, by not notifying the predetermined information). may

ソフトウェアは、ソフトウェア、ファームウェア、ミドルウェア、マイクロコード、ハードウェア記述言語と呼ばれるか、他の名称で呼ばれるかを問わず、命令、命令セット、コード、コードセグメント、プログラムコード、プログラム、サブプログラム、ソフトウェアモジュール、アプリケーション、ソフトウェアアプリケーション、ソフトウェアパッケージ、ルーチン、サブルーチン、オブジェクト、実行可能ファイル、実行スレッド、手順、機能などを意味するよう広く解釈されるべきである。 Software, whether referred to as software, firmware, middleware, microcode, hardware description language or otherwise, includes instructions, instruction sets, code, code segments, program code, programs, subprograms, and software modules. , applications, software applications, software packages, routines, subroutines, objects, executables, threads of execution, procedures, functions, and the like.

また、ソフトウェア、命令、情報などは、伝送媒体を介して送受信されてもよい。例えば、ソフトウェアが、有線技術(同軸ケーブル、光ファイバケーブル、ツイストペア及びデジタル加入者回線(DSL)など)及び/又は無線技術(赤外線、マイクロ波など)を使用してウェブサイト、サーバ、又は他のリモートソースから送信される場合、これらの有線技術及び/又は無線技術は、伝送媒体の定義内に含まれる。 Software, instructions, information, etc. may also be sent and received over a transmission medium. For example, the software uses wired technology (coaxial cable, fiber optic cable, twisted pair and digital subscriber line (DSL), etc.) and/or wireless technology (infrared, microwave, etc.) to access websites, servers, or other When transmitted from a remote source, these wired and/or wireless technologies are included within the definition of transmission media.

本明細書において使用する「システム」及び「ネットワーク」という用語は、互換的に使用される。 As used herein, the terms "system" and "network" are used interchangeably.

本明細書において説明した各態様/実施の形態は単独で用いてもよいし、組み合わせて用いてもよいし、実行に伴って切り替えて用いてもよい。また、本明細書で説明した各態様/実施の形態の処理手順、シーケンス、フローチャートなどは、矛盾の無い限り、順序を入れ替えてもよい。例えば、本明細書において説明した方法については、例示的な順序で様々なステップの要素を提示しており、提示した特定の順序に限定されない。 Each aspect/embodiment described in this specification may be used alone, may be used in combination, or may be used by switching according to execution. Also, the processing procedures, sequences, flowcharts, etc. of each aspect/embodiment described in this specification may be rearranged in order as long as there is no contradiction. For example, the methods described herein present elements of the various steps in a sample order, and are not limited to the specific order presented.

本明細書において使用する「に基づいて」という記載は、別段に明記されていない限り、「のみに基づいて」を意味しない。言い換えれば、「に基づいて」という記載は、「のみに基づいて」と「に少なくとも基づいて」の両方を意味する。 As used herein, the phrase "based on" does not mean "based only on," unless expressly specified otherwise. In other words, the phrase "based on" means both "based only on" and "based at least on."

本明細書において使用する「第1の」、「第2の」などの呼称を使用した要素へのいかなる参照も、それらの要素の量又は順序を全般的に限定するものではない。これらの呼称は、2つ以上の要素間を区別する便利な方法として本明細書において使用され得る。したがって、第1及び第2の要素の参照は、2つの要素のみが採用され得ること、又は何らかの形で第1の要素が第2の要素に先行しなければならないことを意味しない。 Any reference to elements using the "first," "second," etc. designations used herein does not generally limit the quantity or order of those elements. These designations may be used herein as a convenient method of distinguishing between two or more elements. Thus, references to first and second elements do not imply that only two elements may be employed or that the first element must precede the second element in any way.

以上、本発明に係る発明について詳細に説明したが、当業者にとっては、本発明に係る発明が本明細書中に説明した実施の形態に限定されないということは明らかである。本発明に係る発明は、請求の範囲の記載に基づいて定まる発明の趣旨及び範囲を逸脱することなく修正及び変更態様として実施することができる。したがって、本明細書の記載は、例示説明を目的とし、本発明に係る発明に対して何ら制限的な意味をもたらさない。 Although the invention according to the present invention has been described in detail above, it will be apparent to those skilled in the art that the invention according to the present invention is not limited to the embodiments described herein. The invention according to the present invention can be implemented as modifications and changes without departing from the spirit and scope of the invention determined based on the description of the claims. Therefore, the descriptions in this specification are for the purpose of illustration, and do not impose any limitation on the invention according to the present invention.

以上説明したように、組み込み機器のために、動的な表現に富んだGUIを短期及び低コストで開発できるという効果を有し、特に、IoT機器に有用である。 As described above, there is an effect that a GUI rich in dynamic expressions can be developed in a short period of time and at a low cost for embedded devices, and it is particularly useful for IoT devices.

10 組み込み機器
11 制御部
12 記憶部
13 通信部
14 入力部
15 出力部
100 ユーザーインタフェース提供装置
101 GUI提供部
102 静的コンテンツ生成部(静的コンテンツ生成手段)
103 画面制御部(制御要求手段)
104 テンプレート
105 画面設計情報(画面の設計情報)
111 表示部
112 入力部
121 ハードウェア
200 ブラウザプログラム
201 ユーザーインタフェース
202 ブラウザエンジン
203 レンダリングエンジン
204 ネットワーキングモジュール
205 スクリプトエンジン
206 データストレージ
300 ネイティブプログラム
301 ミドルウェア
410 メニュー画面
411 メニューボタン
412 メニューボタン
420 コントロール画面
421 ONボタン
422 OFFボタン
600 構造化文書
601、701、801、901 スタイルシートパート
602、702、802、902 コンテンツパート
603 スクリプトパート
700 テンプレート
10 embedded device 11 control unit 12 storage unit 13 communication unit 14 input unit 15 output unit 100 user interface providing device 101 GUI providing unit 102 static content generation unit (static content generation means)
103 Screen control unit (control request means)
104 template 105 screen design information (screen design information)
111 display unit 112 input unit 121 hardware 200 browser program 201 user interface 202 browser engine 203 rendering engine 204 networking module 205 script engine 206 data storage 300 native program 301 middleware 410 menu screen 411 menu button 412 menu button 420 control screen 421 ON button 422 OFF Button 600 Structured Document 601, 701, 801, 901 Style Sheet Part 602, 702, 802, 902 Content Part 603 Script Part 700 Template

Claims (5)

イベントに応じ、少なくとも一部が構造化文書ファイルで構成された静的コンテンツを、テンプレート及びユーザーインタフェースのための画面の設計情報に基づいて動的に生成する静的コンテンツ生成手段と、
前記静的コンテンツを解釈し、表示部に前記画面を表示させるブラウザプログラムから、前記画面に対して行われたユーザによる操作に関するユーザ操作情報を取得し、組み込み機器の制御を行うネイティブプログラムに対して、前記ユーザ操作情報に対応する前記組み込み機器の制御に関する制御情報を出力する制御要求手段と、を有することを特徴とするユーザーインタフェース提供装置。
static content generation means for dynamically generating static content , at least a portion of which is composed of a structured document file, according to an event based on template and screen design information for the user interface ;
To the native program that interprets the static content, acquires user operation information regarding the user's operation on the screen from the browser program that displays the screen on the display unit, and controls the embedded device and control request means for outputting control information relating to control of the embedded device corresponding to the user operation information.
前記イベントは、前記ブラウザプログラムが検出した前記画面に対して行われたユーザによる操作であり、前記画面の構成要素のうち少なくとも一部を更新させることを特徴とする請求項1記載のユーザーインタフェース提供装置。 2. The user interface according to claim 1, wherein the event is a user's operation performed on the screen detected by the browser program, and updates at least a part of the components of the screen. Device. 請求項1又は請求項2に記載のユーザーインタフェース提供装置を含む組み込み機器。 An embedded device comprising the user interface providing device according to claim 1 or 2. 組み込み機器によって実行され、
イベントに応じ、少なくとも一部が構造化文書ファイルで構成された静的コンテンツを、テンプレート及びユーザーインタフェースのための画面の設計情報に基づいて動的に生成するステップと、
前記静的コンテンツを解釈し、表示部に前記画面を表示させるブラウザプログラムから、前記画面に対して行われたユーザによる操作に関するユーザ操作情報を取得し、前記組み込み機器の制御を行うネイティブプログラムに対して、前記ユーザ操作情報に対応する前記組み込み機器の制御に関する制御情報を出力するステップと、
を有することを特徴とするユーザーインタフェース提供方法。
executed by an embedded device,
dynamically generating, in response to an event, static content , at least a portion of which is a structured document file, based on template and screen design information for the user interface ;
To the native program that interprets the static content, acquires user operation information about the user's operation on the screen from the browser program that displays the screen on the display unit, and controls the embedded device a step of outputting control information related to control of the embedded device corresponding to the user operation information;
A method for providing a user interface, comprising:
組み込み機器に、
イベントに応じ、少なくとも一部が構造化文書ファイルで構成された静的コンテンツを、テンプレート及びユーザーインタフェースのための画面の設計情報に基づいて動的に生成する手順と、
前記静的コンテンツを解釈し、表示部に前記画面を表示させるブラウザプログラムから、前記画面に対して行われたユーザによる操作に関するユーザ操作情報を取得し、前記組み込み機器の制御を行うネイティブプログラムに対して、前記ユーザ操作情報に対応する前記組み込み機器の制御に関する制御情報を出力する手順と、
を実行させることを特徴とするプログラム。
embedded devices,
a procedure for dynamically generating static content , at least a portion of which is composed of a structured document file, according to an event, based on a template and screen design information for a user interface ;
To the native program that interprets the static content, acquires user operation information about the user's operation on the screen from the browser program that displays the screen on the display unit, and controls the embedded device a step of outputting control information related to control of the embedded device corresponding to the user operation information;
A program characterized by causing the execution of
JP2018230638A 2018-12-10 2018-12-10 User interface providing device, user interface providing method, program and embedded device Active JP7159027B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2018230638A JP7159027B2 (en) 2018-12-10 2018-12-10 User interface providing device, user interface providing method, program and embedded device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018230638A JP7159027B2 (en) 2018-12-10 2018-12-10 User interface providing device, user interface providing method, program and embedded device

Publications (2)

Publication Number Publication Date
JP2020095308A JP2020095308A (en) 2020-06-18
JP7159027B2 true JP7159027B2 (en) 2022-10-24

Family

ID=71085700

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018230638A Active JP7159027B2 (en) 2018-12-10 2018-12-10 User interface providing device, user interface providing method, program and embedded device

Country Status (1)

Country Link
JP (1) JP7159027B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20230014542A (en) 2021-07-21 2023-01-30 현대자동차주식회사 System and method for providing graphical user interface thereof

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000250841A (en) 1999-03-02 2000-09-14 Hitachi Ltd Page generation method and apparatus, storage medium storing page generation program, and electronic mall system
JP2004078341A (en) 2002-08-12 2004-03-11 Sony Corp Data processor, its method and its program
JP2006323610A (en) 2005-05-18 2006-11-30 Canon Inc Image processing apparatus, its control method and program
JP2011008490A (en) 2009-06-25 2011-01-13 Internatl Business Mach Corp <Ibm> Incorporated equipment and its state display control method
JP2013077279A (en) 2011-09-16 2013-04-25 Ricoh Co Ltd Information processing system, equipment, information processor, information processing method, information notification method, and program
JP2016218705A (en) 2015-05-20 2016-12-22 株式会社リコー Information processing device, apparatus, information processing system, information processing method, and program

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1188965A (en) * 1997-09-12 1999-03-30 Matsushita Electric Ind Co Ltd Equipment control device

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000250841A (en) 1999-03-02 2000-09-14 Hitachi Ltd Page generation method and apparatus, storage medium storing page generation program, and electronic mall system
JP2004078341A (en) 2002-08-12 2004-03-11 Sony Corp Data processor, its method and its program
JP2006323610A (en) 2005-05-18 2006-11-30 Canon Inc Image processing apparatus, its control method and program
JP2011008490A (en) 2009-06-25 2011-01-13 Internatl Business Mach Corp <Ibm> Incorporated equipment and its state display control method
JP2013077279A (en) 2011-09-16 2013-04-25 Ricoh Co Ltd Information processing system, equipment, information processor, information processing method, information notification method, and program
JP2016218705A (en) 2015-05-20 2016-12-22 株式会社リコー Information processing device, apparatus, information processing system, information processing method, and program

Also Published As

Publication number Publication date
JP2020095308A (en) 2020-06-18

Similar Documents

Publication Publication Date Title
CN106569900B (en) Applied program processing method and device
CN104636139B (en) One kind visualizes cross-platform mobile application exploitation and generation system
US10643023B2 (en) Programmatic native rendering of structured content
WO2018095261A1 (en) Page rendering method, device, and data storage medium
US8732588B2 (en) Method and apparatus for remotely displaying screen files and efficiently handling remote operator input
CN112800370B (en) Processing method and device of business document, computer equipment and storage medium
US8930824B2 (en) Facilitating propagation of user interface patterns or themes
CN110673847A (en) Configuration page generation method and device, electronic equipment and readable storage medium
US9122763B2 (en) Consistent web application presentation
CN112100550A (en) Page construction method and device
CN110221899B (en) User interface adjusting method, device and system
JP4893108B2 (en) Information processing apparatus, information processing method, and computer program
CN112395027B (en) Widget interface generation method and device, storage medium and electronic equipment
CN107092589B (en) Web server system, screen control display method, and presentation application generation method
CN112269576A (en) Component display method and device, server and storage medium
CN105359104A (en) Synchronization points for state information
JP7159027B2 (en) User interface providing device, user interface providing method, program and embedded device
CN109857503B (en) Page interaction effect self-adaption method and device and electronic equipment
JP7014960B2 (en) Information processing equipment, servers, their processing methods and programs
KR100755253B1 (en) System and method for interactive wireless applications with conditional ui controls and screen navigation
CN112130888B (en) Method, device, equipment and computer storage medium for updating application program
CN113157270A (en) Page adaptation method and device
CN110083407B (en) Method and device for realizing step bar in applet, electronic equipment and storage medium
US20120304120A1 (en) Data-driven menuing system for providing a flexible user interface on an electronic device
JP2010262548A (en) Data providing method and server

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210830

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20220527

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220531

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220715

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20221012

R150 Certificate of patent or registration of utility model

Ref document number: 7159027

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150