以下に、本発明に係る実施形態を図面に基づいて詳細に説明する。なお、この実施形態によりこの発明が限定されるものではない。また、下記実施形態における構成要素には、当業者が置換可能かつ容易なもの、あるいは実質的に同一のものが含まれる。
[実施形態]
<プログラム管理システムの概要>
図1に示す本実施形態の表示システムSys1は、電子機器10と、外部機器20とを備え、これらが相互に通信し連携する連携システムである。電子機器10と外部機器20とは、典型的には、ネットワークNを介して相互に通信を行う。ネットワークNは、Wi-Fi(登録商標)、4G、5G等を用いた無線通信、通信線を用いた有線通信を問わず任意の通信網によって構成され、外部機器20と電子機器10とを通信可能に接続する。外部機器20は、典型的には、ネットワークN上に実装されるクラウドサービス機器(クラウドサーバ)を構成するものである。電子機器10は、典型的には、外部機器20と相互に通信し連携することで当該外部機器20から様々なクラウドサービスを受けることができる。
本実施形態の表示システムSys1は、典型的には、電子機器10によって作成されたプログラムや他の機器で作成されたプログラムを、外部機器20によって管理する管理システムを構成するものでもある。そして、この表示システムSys1は、電子機器10において、当該表示システムSys1で管理する様々なプログラムから、ユーザの所望のプログラムを選択する画面で種々の画像表示を行うことで当該ユーザの所望のプログラムを選択させ易くしたものである。以下、各図を参照して表示システムSys1の各構成について詳細に説明する。
<管理対象となるプログラム>
ここでまず、表示システムSys1による管理の対象となるソフトウェアプログラム、言い換えれば、電子機器10による表示対象となるソフトウェアプログラムについて説明する。本実施形態において、管理の対象となるソフトウェアプログラムは、一例として、動作対象機器で実行させることで当該動作対象機器を動作させるプログラムである。
ここで、動作対象機器とは、表示システムSys1による管理の対象となるプログラムによって動作する機器である。動作対象機器は、典型的には、ユーザが携帯可能に構成されるものであるがこれに限らない。動作対象機器は、例えば、スマートフォン、タブレット型PC、ノート型PC、デスクトップ型PC、PDA、携帯ゲーム機器、人体に装着可能なウェアラブル機器等によって構成することができる。ウェアラブル機器としては、例えば、リストバンド型、眼鏡型、指輪型、靴型、ペンダント型等の機器が挙げられる。動作対象機器としては、例えば、電子機器10や当該電子機器10と相互に通信可能である電子時計等が含まれていてもよい。
本実施形態において、管理の対象となるソフトウェアプログラムは、典型的には、動作対象機器のブラウザ等の他のアプリケーションプログラムの中に組み込まれて実行される比較的に小さなサイズのプログラムである。ここでは一例として、管理の対象となるソフトウェアプログラムは、ブラウザ上で実行されるアプリケーションプログラムであるアプレットや当該アプレットを構成する各種ブロックプログラムであるものとして説明する。アプレットは、典型的には、シーケンスが決まっているアプリケーションプログラムという位置づけである。
本実施形態のアプレットは、動作対象機器で実行させることで当該動作対象機器を動作させるプログラムである。アプレットは、動作対象機器を単体で所定の動作を行わせるプログラムであってもよいし、複数の動作対象機器を連携させて所定の動作を行わせるプログラムであってもよい。本実施形態のアプレットは、複数のブロックプログラムを含んで構成される。ここでは、アプレットは、ブロックプログラムとして、サービスブロックプログラムと、トリガブロックプログラムと、アクションブロックプログラムとを含み、これら3つの要素を全部、あるいは、いくつかを組み合わせることで1つのアプレットが構築される。つまり、本実施形態のアプレットは、サービスブロックプログラムとトリガブロックプログラムとアクションブロックプログラムとを全部、あるいは、いくつかを組み合わせた「全体プログラム」を構成するものである。全体プログラムを構成する当該アプレットは、複数のブロックプログラム、ここでは、サービスブロックプログラム、トリガブロックプログラム、アクションブロックプログラが連携して動作するプログラムとして以下説明する。「全体プログラム」を構成する各ブロックプログラムは、「piece(ピース)」と呼ばれる場合もある。以下の説明では、サービスブロックプログラムを「サービスブロック」、トリガブロックプログラムを「トリガブロック」、アクションブロックプログラムを「アクションブロック」という場合がある。
サービスブロックとは、ユーザが望む目的に応じたサービス内容に応じて動作対象機器が出力する出力情報を規定するプログラムである。言い換えれば、サービスブロックとは、サービス内容に応じて取得したい出力情報の内容を特定するプログラムである。このサービスブロックは、例えば、外部のwebサイトから出力情報の元となる情報を得て、アクションで示すために当該情報を加工して出力情報を生成するプログラムを含んでいてもよい。
トリガブロックとは、サービス内容に応じた出力情報を出力するためのアクションを発動するトリガの内容と当該トリガを生成するトリガ生成部とを規定しトリガ生成部にトリガを生成させるプログラムである。ここで、トリガとは、サービスの内容に応じたアクションを発動させるためのきっかけである。トリガ生成部とは、動作対象機器に設けられ、トリガを生成するものである。動作対象機器においてトリガ生成部を構成し得るもの(トリガ生成部候補)としては、一例として、動作対象機器の入力部、検出部、計時部等が挙げられる。動作対象機器の入力部は、動作対象機器に対する種々の入力を受け付ける部分であり、例えば、タッチパネル、操作ボタン、音声入力装置、リューズ、プッシュボタン、レジスタリング等を含んで構成されてもよい。動作対象機器の検出部は、種々の情報を検出する検出器であり、例えば、加速度センサ、チルトスイッチ、照度センサ、温度センサ、電圧センサ、測位器等を含んで構成されてもよい。動作対象機器の計時部は、時刻(機器内部時刻)を計時する回路である。当該トリガ生成部によって生成されるトリガとしては、一例として、入力部に対する所定の入力、検出部による所定の情報の検出、計時部による計時結果等が挙げられる。トリガブロックは、当該トリガブロックを含むアプレットが動作対象機器の処理部によって実行されることで、当該トリガブロックによって規定されたトリガ生成部にトリガを生成させる。言い換えれば、このトリガブロックは、サービスが動作するきっかけ(トリガ)となる入力を定めたプログラムということもできる。
アクションブロックとは、サービス内容に応じた出力情報を出力するためのアクションの内容と当該アクションを実行するアクション実行部とを規定しアクション実行部にアクションを実行させるプログラムである。ここで、アクションとは、アプレットによって提供するサービスの内容に応じた動作である。アクション実行部とは、動作対象機器に設けられ、アクションを実行するものである。動作対象機器においてアクション実行部を構成し得るもの(アクション実行部候補)としては、一例として、動作対象機器の通信部、出力部等が挙げられる。動作対象機器の通信部は、動作対象機器の外部と通信可能な通信モジュールである。動作対象機器の出力部は、動作対象機器において種々の出力を行う部分であり、例えば、ディスプレイ、表示灯、スピーカ/アラームブザー、バイブレータ、指針、日板等を含んで構成されてもよい。当該アクション実行部によって実行されるアクションとしては、一例として、通信部による外部への出力情報の出力、出力部による出力情報の出力等が挙げられる。アクションブロックは、当該アクションブロックを含むアプレットが動作対象機器の処理部によって実行されることで、当該アクションブロックによって規定されたアクション実行部に出力情報を出力するためのアクションを実行させる。言い換えれば、アクションブロックは、サービスで得られた出力情報を出力するアクションを定めたプログラムということもできる。
上記のように構成されるアプレットは全体プログラムであり、上述したサービスブロックと、トリガブロックと、アクションブロックとによって構成され、サービスの内容に応じた出力情報とトリガとアクションとを関連付けて規定する。当該アプレットは、例えば、ネットワークNや近距離無線通信を介して動作対象機器の記憶部に記憶される。そして、当該アプレットは、動作対象機器の処理部によって実行されることで、トリガ生成部が生成したトリガによって、サービス内容に応じた出力情報を出力するアクションをアクション実行部に実行させることができる。
例えば、後述する外部機器20の記憶部23、あるいは、他の外部機器の記憶部には、ブロックプログラム記憶領域(不図示)が設けられており、当該ブロックプログラム記憶領域にはサービスブロック、トリガブロック、アクションブロックに用いられるブロックプログラムが数多く記憶されている。後述する電子機器10でアプレットを作成する過程では、例えば、ネットワークNを介してブロックプログラム記憶領域のブロックプログラムを目的別に複数表示し、その中からブロックプログラムを選択することができる。そして、選択された各ブロックプログラムの関連付けと詳細な動作の条件を規定し、アプレットとして後述する電子機器10の記憶部15に保存される。
アプレットは、動作対象機器を単体で所定の動作を行わせる場合には、当該動作対象機器に記憶され、当該動作対象機器に、トリガ生成部によるトリガの生成、出力情報に関する情報の取得、及び、アクション実行部によるアクションの実行を行わせる。この場合、アプレットは、例えば、動作対象機器によるトリガ生成を起点とし、当該動作対象機器に外部の機器からサービス内容に応じた出力情報に関する情報を取得させ、取得した情報に基づいてサービス内容に応じた出力情報を当該動作対象機器に出力させるアクションを実行させる。また、アプレットは、複数の動作対象機器を連携させて所定の動作を行わせる場合には、複数の動作対象機器のいずれかに記憶され、当該複数の動作対象機器を連携させて、トリガ生成部によるトリガの生成、出力情報に関する情報の取得、及び、アクション実行部によるアクションの実行を行わせる。この場合、アプレットは、例えば、第1の動作対象機器のトリガ生成を起点とし、当該トリガに応じて第2の動作対象機器に外部の機器からサービス内容に応じた出力情報に関する情報を取得させると共に当該取得した情報を第1の動作対象機器に送信させ、当該第1の動作対象機器に、取得した情報に基づいてサービス内容に応じた出力情報を出力させるアクションを実行させる。また、アプレットは、サービスブロック、トリガブロック、アクションブロックがそれぞれ複数のブロックプログラムによって構成されてもよい。言い換えれば、1つのアプレットにおいて、サービスブロックによって規定される出力情報、トリガブロックによって規定されるトリガ、アクションブロックによって規定されるアクションが複数規定されていてもよい。
本実施形態において、表示システムSys1による管理の対象となるソフトウェアプログラムは、上述したサービスブロック、トリガブロック、アクションブロック、及び、サービスブロックとトリガブロックとアクションブロックとを全部、あるいは、いくつかを選んで組み合わせて連携させたアプレットである。
<端末機器の基本構成>
電子機器10は、上述したように表示システムSys1による管理の対象となるソフトウェアプログラムを作成可能な電子機器である。電子機器10は、例えば、外部機器20を含む各種機器と連携して各種プログラムを作成可能である。本実施形態の電子機器10は、管理の対象となるソフトウェアプログラムとして、上述したサービスブロック、トリガブロック、アクションブロック、アプレットを作成可能である。電子機器10は、例えば、スマートフォン、タブレット型PC、ノート型PC、デスクトップ型PC等の種々のコンピュータ機器によって構成することができる。図1等の例では、電子機器10は、スマートフォンであるものとして図示している。
電子機器10は、CPU等の中央演算処理装置を含む周知のマイクロコンピュータを主体とする電子回路、半導体メモリ等の各種記憶装置等を含んで構成される。電子機器10は、既知のPCやワークステーションなどのコンピュータシステムに種々の処理を実現させるプログラムをインストールすることで構成することもできる。
具体的には、電子機器10は、図2に示すように、電源部11と、端末側通信部としての通信部12と、入力部13と、出力部14と、端末側記憶部としての記憶部15と、端末側処理部としての処理部16とを有する。
電源部11は、電子機器10の電力源である。電源部11は、リチウムイオン電池等の充放電可能な二次電池等を含んで構成され、電子機器10内の各部に対して電力を供給する。
通信部12は、電子機器10の外部と通信可能な通信モジュールである。通信部12は、少なくとも外部機器20と通信可能である。通信部12は、無線通信、有線通信を問わずネットワークNと通信可能に接続され、当該ネットワークNを介して外部機器20と通信を行う。
入力部13は、電子機器10に対する種々の入力を受け付ける部分である。入力部13は、例えば、電子機器10に対する操作入力を受け付けるタッチパネル13a、電子機器10に対する音声入力を受け付ける音声入力装置13b等を含んで構成される。入力部13は、この他、キーボード、マウスポインタ等の入力装置を含んで構成されてもよい。
出力部14は、電子機器10において種々の出力を行う部分である。出力部14は、例えば、画像情報を出力するディスプレイ14a、音情報を出力するスピーカ14b等を含んで構成される。ディスプレイ14aは、処理部16によって制御され画像を表示可能である端末側表示部を構成するものである。ディスプレイ14aは、例えば、画像を表示する液晶ディスプレイ、プラズマディスプレイ、有機ELディスプレイ等の画像表示装置等によって構成される。上述したタッチパネル13aは、このディスプレイ14aはこの表面に重畳させて設けられている。
記憶部15は、電子機器10に内蔵されるROM、RAM、半導体メモリ等の記憶装置である。記憶部15は、電子機器10での各種処理に必要な条件や情報、電子機器10で実行する各種プログラム、制御データ等が格納されている。記憶部15は、例えば、通信部12によって受信された各種情報、入力部13によって入力された各種情報、出力部14によって出力される各種情報等を記憶することができる。記憶部15は、例えば、通信部12によって受信された各種情報として、当該通信部12を介して外部機器20等からダウンロードしたサービスブロック、トリガブロック、アクションブロック、アプレット等を記憶することができる。記憶部15は、処理部16等によってこれらの情報が必要に応じて読み出される。
処理部16は、電子機器10の各部と電気的に接続され、電子機器10の各部を統括的に制御するものである。処理部16は、CPU等の中央演算処理装置を含む周知のマイクロコンピュータを主体とする電子回路を含んで構成される。処理部16は、電子機器10の各部と通信可能に接続され、各部との間で相互に各種信号を授受可能である。処理部16は、記憶部15に記憶されている各種プログラムを実行し、当該プログラムが動作することにより電子機器10の各部を動作させ各種機能を実現するための種々の処理を実行する。
本実施形態の処理部16は、上記各種処理機能を実現するために、機能概念的に、作成処理部16a、及び、動作処理部16bを含んで構成される。処理部16は、例えば、記憶部15から読み込んだプログラムを実行することにより、これら作成処理部16a、及び、動作処理部16bの各処理機能を実現する。
作成処理部16aは、プログラムを作成する処理を実行可能な機能を有する部分である。作成処理部16aは、入力部13に対する入力等に応じてプログラムを作成する処理を実行可能である。
動作処理部16bは、電子機器10の各部を動作させる処理を実行可能な機能を有する部分である。動作処理部16bは、電源部11、通信部12、入力部13(タッチパネル13a、音声入力装置13b)、出力部14(ディスプレイ14a、スピーカ14b)、記憶部15の動作を制御する処理を実行可能である。動作処理部16bは、例えば、ディスプレイ14aを制御し、当該ディスプレイ14aに画像を表示させる処理を実行可能である。動作処理部16bは、例えば、入力部13への入力に応じて、通信部12を制御し、外部機器20から当該通信部12を介して各種情報を受信しダウンロードし記憶部15に格納する処理を実行可能である。本実施形態の動作処理部16bは、通信部12を制御し、当該通信部12を介して外部機器20からプログラムに関する情報を受信し、当該受信した情報に基づいて、ディスプレイ14aを制御し、当該ディスプレイ14aに画像を表示させる処理を実行可能である。また、動作処理部16bは、例えば、入力部13への入力に応じて、通信部12を制御し、各種情報を当該通信部12を介して外部機器20に送信しアップロードする処理を実行可能である。
<プログラムの作成>
本実施形態の処理部16の作成処理部16aは、入力部13に対する入力に応じて、サービスブロック、トリガブロック、アクションブロック、アプレットを作成する処理を実行可能である。作成処理部16aは、例えば、通信部12を介して外部機器20等の機器から取得した作成情報に基づいて、入力部13に対する入力に応じて、サービスブロック、トリガブロック、アクションブロック、アプレットを作成することができる。ここで、作成情報とは、上述したようにサービスブロック、トリガブロック、アクションブロック、アプレットを作成する際に参照される様々な情報である。作成情報は、例えば、サービスの内容、トリガの内容、アクションの内容、トリガ生成部、アクション実行部等の候補やアプレットを構成するサービスブロック、トリガブロック、アクションブロック等の候補についての情報を含んでいてもよい。また、作成情報は、例えば、サービスブロック、トリガブロック、アクションブロック、アプレットを作成するためのプログラム作成用のプログラムを含んでいてもよい。この場合、作成処理部16aは、当該プログラム作成用のプログラムに従ってサービスブロック、トリガブロック、アクションブロック、アプレットを作成するようにしてもよい。また、作成処理部16aは、例えば、上記のような作成情報にはよらずに、入力部13に対する入力に応じて、サービスブロック、トリガブロック、アクションブロック、アプレットを作成することもできる。記憶部15は、作成処理部16aによって作成されたサービスブロック、トリガブロック、アクションブロック、アプレットを記憶することができる。
なお、サービスブロック、トリガブロック、アクションブロック、アプレットを作成するプログラム作成用のプログラムは、電子機器10のユーザが自由に外部機器20や他の外部機器から電子機器10にインストールして利用することができる。したがって、これらによって作成されたプログラムは、不特定多数の作者が自分の嗜好に基づいて任意に作成可能である。
<プログラムの外部機器へのアップロード>
本実施形態の処理部16の動作処理部16bは、例えば、入力部13への入力に応じて、プログラムを、通信部12を介して外部機器20に送信しアップロードする処理を実行可能である。つまり、本実施形態の通信部12は、作成処理部16aによって作成されたプログラムを外部、ここでは、外部機器20に送信可能である。本実施形態の電子機器10は、上記のようにして作成処理部16aによって作成されたプログラムを当該通信部12を介して外部の外部機器20に送信する。ブロックプログラムは、パソコンなどでプログラミングツールを使って作成し、動作を確認した後に外部機器20に作成したブロックプログラムを送信し、アップロードを実行するようにしても良い。
そして、外部機器20は、電子機器10から送信されたプログラムを記憶する。以下、図3等を外部機器20の詳細について説明する。
<外部機器の基本構成>
外部機器20は、上述したようにネットワークN上に実装されるクラウドサービス機器(クラウドサーバ)を構成するものである。外部機器20は、ネットワークN上において、いわゆるリポジトリを構成する。外部機器20は、電子機器10によって作成されアップロードされたプログラムを管理する。外部機器20によって管理されるプログラムとしては、電子機器10だけでなく、他の機器で作成されアップロードされたプログラムも含む。当該外部機器20によるプログラムの管理には、例えば、当該プログラムの承認審査、当該プログラムのデータベース化、当該プログラムの公開等が含まれる。外部機器20は、CPU等の中央演算処理装置を含む周知のマイクロコンピュータを主体とする電子回路、各種記憶装置等を含んで構成される。外部機器20は、既知のPCやワークステーションなどの種々のコンピュータ機器に種々の処理を実現させるプログラムをインストールすることで構成することもできる。外部機器20は、単体の機器によって構成されてもよいし、複数の機器を相互通信可能に組み合わせることで構成されてもよい。
具体的には、外部機器20は、図3に示すように、電源部21と、外部機器側通信部としての通信部22と、外部機器側記憶部としての記憶部23と、外部機器側処理部としての処理部24とを有する。
電源部21は、外部機器20の電力源である。電源部21は、例えば、商用電源等から外部機器20の各部に対して電力を供給する。
通信部22は、外部機器20の外部と通信可能な通信モジュールである。通信部22は、少なくとも電子機器10と通信可能であり、電子機器10から送信されたプログラムを受信可能である。通信部22は、無線通信、有線通信を問わずネットワークNと通信可能に接続され、当該ネットワークNを介して電子機器10等と通信を行う。
記憶部23は、外部機器20に内蔵されるROM、RAM、半導体メモリ等の記憶装置である。典型的には、記憶部23は、上述した電子機器10の記憶部15等と比較して記憶容量が相対的に大きい。記憶部23は、外部機器20での各種処理に必要な条件や情報、外部機器20で実行する各種プログラム、制御データ等が格納されている。記憶部23は、電子機器10から送信され通信部22によって受信されたプログラムを記憶する。記憶部23は、電子機器10だけでなく、他の機器で作成され、通信部22を介してアップロードされたプログラムも記憶する。本実施形態の記憶部23は、上述したアプレット、及び、当該アプレットを構成するブロックプログラム(サービスブロック、トリガブロック、アクションブロック)を記憶する。
また、本実施形態の記憶部23は、ブロックプログラムについての連携情報も記憶している。ブロックプログラムの連携情報とは、相互に連携可能なブロックプログラムについての情報である。連携情報は、例えば、既に存在しているアプレットを構成し実際に相互に連携しているサービスブロック、トリガブロック、アクションブロックの組み合わせについての情報を含む。また、連携情報は、例えば、未だアプレットとして組み合わせられたことはないが、ブロックプログラム本体に含まれる情報に基づいて相互に連携可能であると判断されるサービスブロック、トリガブロック、アクションブロックの組み合わせについての情報も含む。ここで、ブロックプログラム本体に含まれる情報とは、例えば、プログラムコードに含まれる入出力の形式(例えば、数値(単位を含む)、文字列、ブーリアン(真(true)/偽(false)、配列等)等についての情報である。記憶部23は、各ブロックプログラムと関連付けて当該連携情報を記憶する。
先にも述べたようにアプレットの実行過程は、トリガブロックの実行に伴いサービスブロックが実行され、サービス内容に応じて取得した出力情報をアクションブロックに送り、アクションブロックが実行される。この際、例えば、トリガブロックで選択されたトリガブロックプログラムの出力形式と、サービスブロックで選択されたサービスブロックプログラムの入力形式が同じであるか、サービスブロックプログラムの入力形式がトリガブロックプログラムの出力形式を許容していれば、当該トリガブロックと当該サービスブロックを連携して動作させることができる。同様に、例えば、サービスブロックで選択されたサービスブロックプログラムの出力形式と、アクションブロックで選択されたアクションブロックプログラムの入力形式が同じであるか、アクションブロックプログラムの入力形式がサービスブロックプログラムの出力形式を許容していれば、当該サービスブロックと当該アクションブロックを連携して動作させることができる。従って、トリガブロック、サービスブロック、アクションブロックに選択されるそれぞれのブロックプログラムの組み合わせを表す連携情報は、ユーザが使用を望むブロックプログラム相互が連携可能か否かを示す重要な情報を含むものである。ブロックプログラム、あるいはアプレットなどの検索の際に、上記のように連携情報を利用して検索をすることにより、トリガブロック、サービスブロック、アクションブロックに選択したブロックプログラムを連携して使用可能かを把握しながら検索できるため、何度も検索を繰り返す必要がなく、短手番で所望するプログラムを探すことができる。
記憶部23は、記憶しているこれらのプログラムや情報を処理部24による処理に応じてデータベース化することができる。記憶部23に記憶されているプログラムは、ネットワークN等を介して電子機器10や他の機器にダウンロードされ、利用可能である。また、記憶部23は、表示システムSys1におけるプログラムの管理に必要な種々の情報も記憶する。記憶部23は、処理部24等によってこれらの情報が必要に応じて読み出される。例えば、記憶部23は、これらの情報がプログラムの検索時等に適宜参照される。
処理部24は、外部機器20の各部と電気的に接続され、外部機器20の各部を統括的に制御するものである。処理部24は、CPU等の中央演算処理装置を含む周知のマイクロコンピュータを主体とする電子回路を含んで構成される。処理部24は、外部機器20の各部と通信可能に接続され、各部との間で相互に各種信号を授受可能である。処理部24は、記憶部23に記憶されている各種プログラムを実行し、当該プログラムが動作することにより外部機器20の各部を動作させ各種機能を実現するための種々の処理を実行する。処理部24は、表示システムSys1における様々なサービスに必要な種々の処理を実行する。
本実施形態の処理部24は、上記各種処理機能を実現するために、機能概念的に、管理処理部24a、及び、動作処理部24bを含んで構成される。処理部24は、例えば、記憶部23から読み込んだプログラムを実行することにより、これら管理処理部24a、及び、動作処理部24bの各処理機能を実現する。
管理処理部24aは、記憶部23に記憶されているプログラムを管理する処理を実行可能な機能を有する部分である。管理処理部24aは、記憶部23に記憶されているプログラムのデータベース化、承認審査、公開、検索、情報抽出等の当該プログラムの管理に関わる様々な処理を実行可能である。管理処理部24aは、例えば、電子機器10の入力部13に対するユーザの入力に応じて設定された検索条件に基づいて、記憶部23に記憶されているプログラムにおいて当該検索条件を満たすプログラムを検索する処理を実行可能である。また、管理処理部24aは、例えば、記憶部23に記憶されている情報に基づいて、電子機器10でのプログラムの表示や検索条件の設定、変更等に必要な情報を抽出する処理を実行可能である。
動作処理部24bは、外部機器20の各部を動作させる処理を実行可能な機能を有する部分である。動作処理部24bは、電源部21、通信部22、記憶部23の動作を制御する処理を実行可能である。動作処理部24bは、例えば、電子機器10から通信部22を介して各種情報を受信し記憶部23に格納する処理を実行可能である。また、動作処理部24bは、例えば、各種情報を通信部22を介して電子機器10に送信する処理を実行可能である。動作処理部24bは、例えば、管理処理部24aによって抽出されたプログラムに関する情報を通信部22を介して電子機器10に送信する処理を実行可能である。
<プログラムの検索、表示>
上記のように構成される表示システムSys1は、電子機器10においてプログラムをダウンロードする際やプログラムを作成する際等に、記憶部23に記憶されているアプレットやブロックプログラム(サービスブロック、トリガブロック、アクションブロック)の検索、表示を行うことで、ユーザの所望のプログラムを選択させることができる。ここではまず、図4を参照して、表示システムSys1の各処理部によって行われる処理の流れの一例を説明した後、図5から図18を参照して具体例について説明する。
<プログラムの検索、表示の流れ>
図4を参照して表示システムSys1におけるプログラムの検索、及び、表示を含む処理手順の一例について説明する。
図4に示す表示システムSys1おけるプログラムの検索・表示方法は、検索条件決定ステップ(ST1)、検索ステップ(ST2)、検索結果表示ステップ(ST3)、再検索条件決定ステップ(ST8)等の各ステップを含む。ここでは、上記各ステップに関する処理は、電子機器10の処理部16、及び、外部機器20の処理部24によって実行される。
まず、電子機器10の動作処理部16bは、入力部13に対するユーザの入力に応じてプログラムの検索条件を決定する検索条件決定ステップ(ST1)を実行する。そして、動作処理部16bは、決定した検索条件を、通信部12を介して外部機器20に送信する。
外部機器20の管理処理部24aは、電子機器10から通信部22を介して検索条件を受信すると、記憶部23に記憶されているプログラムにおいて当該受信した検索条件を満たすプログラムを検索する検索ステップ(ST2)を実行する。そして、動作処理部24bは、管理処理部24aによって検索されたプログラムの検索結果を、通信部22を介して電子機器10に送信する。
電子機器10の動作処理部16bは、外部機器20から通信部12を介して検索結果を受信すると、プログラムの検索結果をディスプレイ14aに表示させる検索結果表示ステップ(ST3)を実行する。
次に、動作処理部16bは、入力部13に対するユーザの入力に応じて、ユーザの所望のプログラムを選択させる選択ステップ(ST4)を実行する。そして、動作処理部16bは、ユーザによるプログラムの選択結果を、通信部12を介して外部機器20に送信する。なお、以下の説明では、プログラムの検索結果からユーザによって選択されたプログラムを「選択プログラム」という場合がある。
外部機器20の管理処理部24aは、電子機器10から通信部22を介してユーザによる選択プログラムの選択結果を受信すると、当該受信した選択結果に基づいて記憶部23から当該選択プログラムに関する情報を抽出するプログラム情報抽出ステップ(ST5)を実行する。管理処理部24aは、電子機器10での選択プログラムの表示や検索条件変更に必要な各種情報を記憶部23から抽出する。そして、動作処理部24bは、管理処理部24aによって抽出された情報を、選択プログラムに関する情報として通信部22を介して電子機器10に送信する。
ここで、管理処理部24aは、後述する選択プログラムの表示や検索条件の変更等に必要な情報、言い換えれば、電子機器10に送信する情報として、選択プログラムに関する種々の情報を記憶部23から抽出する。管理処理部24aは、電子機器10に送信する情報として、例えば、記憶部23から選択プログラム自体の情報や当該選択プログラムの付加的な情報を抽出する。選択プログラムの付加的な情報とは、選択プログラムに付随する種々の情報であり、例えば、当該選択プログラムを表すアイコン画像、タイトル、カテゴリ・タグ、説明文等の種々の情報を含んでいてもよい。
また、管理処理部24aは、選択プログラムがアプレットである場合、電子機器10に送信する情報として、例えば、記憶部23に記憶されているプログラムから、当該選択プログラム(アプレット)を構成するブロックプログラムに関する情報を抽出することもできる。また、管理処理部24aは、選択プログラムがアプレットである場合、電子機器10に送信する情報として、例えば、記憶部23に記憶されているプログラムから、当該選択プログラム(アプレット)を構成するブロックプログラムと連携可能なプログラムに関する情報を抽出することもできる。また、管理処理部24aは、選択プログラムがブロックプログラムである場合、電子機器10に送信する情報として、例えば、記憶部23に記憶されているプログラムから、当該選択プログラム(ブロックプログラム)自体と連携可能なプログラムに関する情報を抽出することもできる。管理処理部24aは、例えば、記憶部23に記憶されている連携情報に基づいて、これらの情報を抽出することができる。
また、管理処理部24aは、電子機器10に送信する情報として、例えば、記憶部23に記憶されているプログラムから、選択プログラムと類似するプログラムに関する情報を抽出することもできる。管理処理部24aは、選択プログラムがアプレットである場合、例えば、当該選択プログラム(アプレット)を構成するブロックプログラムの組み合わせに基づいて、選択プログラムと類似するプログラムに関する情報を抽出することができる。管理処理部24aは、選択プログラムがブロックプログラムである場合、例えば、当該選択プログラム(ブロックプログラム)本体に含まれる入出力の形式、アプリケーションプログラミングインターフェース(API:Application Programming Interface)等に関する情報や当該ブロックプログラムに付随するアイコン画像、タイトル、カテゴリ、タグ、説明文等の付加的な情報に基づいて、選択プログラムと類似するプログラムに関する情報を抽出することができる。管理処理部24aは、上記の類似判定項目に基づいて、類似の度合い(類似度)も抽出することができる。
動作処理部24bは、後述する選択プログラムの表示や検索条件の変更に用いる情報として、上記のようにして管理処理部24aによって抽出された選択プログラムに関する種々の情報を、通信部22を介して電子機器10に送信する。
電子機器10の動作処理部16bは、外部機器20から通信部12を介して選択プログラムに関する情報を受信すると、当該受信した選択プログラムに関する情報をディスプレイ14aに表示させるプログラム情報表示ステップ(ST6)を実行する。本実施形態の動作処理部16bは、例えば、図8等に例示する選択プログラムの説明画面300をディスプレイ14aに表示させることで、当該受信した選択プログラムに関する情報を表示させる。
次に、動作処理部16bは、入力部13に対するユーザの入力に応じて、ユーザの所望のプログラムを決定させる決定ステップ(ST7)を実行する。動作処理部16bは、ユーザの所望のプログラムが決定された場合(ST7:Yes)、この処理手順を終了する。
動作処理部16bは、ユーザの所望のプログラムが決定されなかった場合(ST7:No)、入力部13に対するユーザの入力に応じてプログラムの再検索条件を決定する再検索条件決定ステップ(ST8)を実行する。この場合、本実施形態の動作処理部16bは、図8等に例示するように、選択プログラムの説明画面300において、外部機器20から受信した選択プログラムに関する情報に基づいて再検索条件表示領域306をディスプレイ14aに表示させる。この再検索条件表示領域306は、後述するようにプログラムを再検索するための検索条件を変更させる領域である。動作処理部16bは、選択プログラムの説明画面300の当該再検索条件表示領域306を介してユーザによる検索条件の変更操作を受け付ける。そして、動作処理部16bは、決定した再検索条件を、通信部12を介して外部機器20に送信する。そして、表示システムSys1は、検索ステップ(ST2)以降の処理を再度実行する。この処理により、本実施形態の表示システムSys1は、再び検索条件決定ステップ(ST1)の表示画面に戻ることなく、選択プログラムに基づき提示された検索条件に対して変更を行うため、ユーザの所望のプログラムを再検索させ易くすることができ、この結果、ユーザの所望のプログラムを選択させ易くすることができる。
上述したプログラム管理方法は、予め用意された検索・表示プログラムを、表示システムSys1(電子機器10、外部機器20)を構成するコンピュータで実行することによって実現することができる。この検索・表示プログラムは、上述した検索条件決定ステップ(ST1)、検索ステップ(ST2)、検索結果表示ステップ(ST3)、再検索条件決定ステップ(ST8)等、図4に記載した各処理をコンピュータに実行させるプログラムである。
<プログラムの検索、表示の具体例>
次に、図5~図10を参照して、プログラムの検索、表示の具体例について説明する。
この具体例では、図5に示すように、まず、電子機器10の動作処理部16bは、入力部13に対するユーザの入力に応じて検索対象とするプログラムを決定する(ST101)。ここで、検索対象となるプログラムは、アプレット(applet)、又は、ブロックプログラム(piece)である。動作処理部16bは、例えば、検索対象の選択画面をディスプレイ14aに表示させ、タッチパネル13aに対するユーザの操作に応じて検索対象とするプログラムを決定する。
次に、動作処理部16bは、入力部13に対するユーザの入力に応じてプログラムの初回の検索条件を決定する(ST102)。この処理は、図4で上述した検索条件決定ステップ(ST1)に相当する。動作処理部16bは、例えば、カテゴリ選択、キーワード、フィルター選択等によって検索条件を決定させることができる。例えば、動作処理部16bは、図6に例示した検索条件設定画面100をディスプレイ14aに表示させ、タッチパネル13aに対するユーザの操作に応じて初回の検索条件を決定する。
図6に例示した検索条件設定画面100は、検索条件を決定するために操作される画面である。動作処理部16bは、当該検索条件設定画面100を介してユーザに初回の検索条件を決定させることができる。ここでは一例として、図6に例示した検索条件設定画面100は、検索対象をアプレットとし、カテゴリ選択、及び、キーワードによって検索条件を決定させる場合を例示しており、種々の情報と共にキーワード入力領域101、及び、カテゴリ選択領域102が表示される。キーワード入力領域101は、検索条件として指定したいキーワードを入力する場合に操作される領域である。カテゴリ選択領域102は、検索条件として指定したいカテゴリを選択する場合に操作される領域である。
動作処理部16bは、図6に例示した検索条件設定画面100において、タッチパネル13aに対するユーザの操作に応じてキーワード入力領域101が選択されると、例えば、検索条件設定画面100内にいわゆるソフトウェアキーボードを表示しタッチパネル13aを介してユーザによるキーワード(図6の例では「天気」)の入力操作を受け付ける。動作処理部16bは、図6に例示した検索条件設定画面100において、タッチパネル13aに対するユーザの操作に応じてカテゴリ選択領域102が選択されると、例えば、検索条件設定画面100内にいわゆるドラムロール式セレクトボックスを表示しタッチパネル13aを介してユーザによるカテゴリ(図6の例では「Weather & Nature」、「Time & Schedule」等))の選択操作を受け付ける。ここで検索条件の設定は、キーワード入力領域101で入力されたキーワードと、カテゴリ選択領域102で選択されたカテゴリとの両方で検索条件を設定しても良いし、キーワードかカテゴリのいずれか片方で検索条件を設定しても良い。
次に、外部機器20の管理処理部24aは、上記のようにして決定された検索条件に基づいてプログラムの検索を行う(ST103)。この処理は、図4で上述した検索ステップ(ST2)に相当する。管理処理部24aは、記憶部23に記憶されているプログラムにおいて当該検索条件を満たすプログラムを検索する。
次に、電子機器10の動作処理部16bは、プログラムの検索結果をディスプレイ14aに表示させる(ST104)。この処理は、図4で上述した検索結果表示ステップ(ST3)に相当する。例えば、動作処理部16bは、図7に例示した検索結果表示画面200をディスプレイ14aに表示させることで、プログラムの検索結果を表示する。
図7に例示した検索結果表示画面200は、プログラムの検索結果を表示すると共に、ユーザの所望のプログラムを選択するために操作される画面である。動作処理部16bは、当該検索結果表示画面200を介してユーザに所望のプログラムを選択させることができる。ここでは一例として、図7に例示した検索結果表示画面200は、検索対象をアプレットとした場合を例示しており、種々の情報と共に検索ヒットプログラム画像201、文字画像202がリスト表示される。ここで、検索ヒットプログラム画像201は、検索条件に該当するプログラム、言い換えれば、検索でヒットしたプログラムを表すアイコン画像である。文字画像202は、当該プログラムのタイトルを表す文字画像である。
動作処理部16bは、図7に例示した検索結果表示画面200において、タッチパネル13aに対するユーザの操作に応じていずれかの検索ヒットプログラム画像201、文字画像202が選択されると、ユーザによる所望のプログラムの選択操作を受け付ける(ST105)。この処理は、図4で上述した選択ステップ(ST4)に相当する。
次に、動作処理部16bは、上記のようにして選択された選択プログラムに基づいて外部機器20の管理処理部24aによって抽出された当該選択プログラムに関する情報をディスプレイ14aに表示させる(ST106)。この処理は、図4で上述したプログラム情報抽出ステップ(ST5)、プログラム情報表示ステップ(ST6)に相当する。例えば、動作処理部16bは、図8に例示した選択プログラムの説明画面300をディスプレイ14aに表示させる。
図8に例示した選択プログラムの説明画面300は、選択プログラムの内容を説明すると共に、プログラムを再検索するための検索条件を変更するために操作される画面である。動作処理部16bは、当該選択プログラムの説明画面300を介してユーザにプログラムを再検索するための検索条件を変更させることができる。
ここでは一例として、図8に例示した選択プログラムの説明画面300は、検索対象をアプレットとした場合を例示している。この選択プログラム(アプレット)の説明画面300は、当該選択プログラムを表すアイコン画像301、当該選択プログラムのタイトルを表す文字画像302、当該選択プログラムの概要を説明する文字画像303と共に、構成ブロック画像304、選択決定操作領域305、及び、再検索条件表示領域306が表示される。構成ブロック画像304は、当該選択プログラム(アプレット)を構成するブロックプログラムを表す画像であり、ここでは、サービスブロック、トリガブロック、アクションブロックを表すアイコン画像が少なくとも1つずつ表示される。選択決定操作領域305は、当該選択プログラムをユーザの所望のプログラムとして決定する場合に操作される領域であり、ここでは、「ダウンロード」等の文字画像が表示される。動作処理部16bは、図8に例示した選択プログラムの説明画面300において、タッチパネル13aに対するユーザの操作に応じてこの選択決定操作領域305が選択されると(ST106:OK)、当該選択プログラムをユーザの所望のプログラムとして決定する決定操作を受け付ける。
一方、再検索条件表示領域306は、プログラムを再検索するための検索条件を変更させる場合に操作される領域であり、ここでは、指定候補ブロック画像307、及び、再検索決定操作領域308が表示される。
指定候補ブロック画像307は、アプレットを再検索するための検索条件として指定可能なブロックプログラムを表すアイコン画像である。本実施形態の管理処理部24aは、アプレットを再検索する場合、この再検索条件表示領域306に表示された指定候補ブロック画像307を介して指定されたブロックプログラムを含むアプレットを検索する。言い換えれば、本実施形態の管理処理部24aは、指定されたブロックプログラムを利用してアプレットを再検索する。指定候補ブロック画像307は、この管理処理部24aによるアプレットの再検索において、検索条件として指定可能なブロックプログラムの候補を表している。図8の例では、指定候補ブロック画像307は、選択ブロック画像307Aを含んで構成される。選択ブロック画像307Aは、選択プログラム(アプレット)を構成するブロックプログラムを表すアイコン画像である。さらに言えば、この選択ブロック画像307Aは、アプレットの再検索において検索条件として指定可能なブロックプログラムの候補として、現在の選択プログラム(アプレット)を構成するブロックプログラムを表す。
再検索決定操作領域308は、再検索条件表示領域306を介して変更された検索条件でのプログラムの再検索を決定する場合に操作される領域であり、ここでは、「選択したPieceで検索する」等の文字画像が表示される。
動作処理部16bは、図8に例示する選択プログラムの説明画面300において、上記再検索条件表示領域306をディスプレイ14aに表示させる処理を実行する。動作処理部16bは、上記再検索条件表示領域306において、アプレットを再検索するための検索条件として指定可能なブロックプログラムを表す指定候補ブロック画像307をディスプレイ14aに表示させる処理を実行する。ここでは、動作処理部16bは、上記再検索条件表示領域306において、外部機器20の管理処理部24aによって抽出された選択プログラムに関する情報に基づいて、指定候補ブロック画像307として、選択プログラムを構成するブロックプログラムを表す上記選択ブロック画像307Aをディスプレイ14aに表示させる処理を実行する。
そして、動作処理部16bは、図8に例示した選択プログラムの説明画面300において、タッチパネル13aに対するユーザの操作に応じて上記再検索条件表示領域306が操作されると(ST106:NG)、当該操作に応じて、プログラムを再検索するための検索条件を変更する(ST107)。この処理は、図4で上述した再検索条件決定ステップ(ST8)に相当する。
動作処理部16bは、再検索条件表示領域306に表示された指定候補ブロック画像307のいずれかの「×」がタップ操作されることで、当該タップ操作がなされた指定候補ブロック画像307に対応するブロックプログラムを、再検索における検索条件の指定から解除する。一方、動作処理部16bは、指定が解除されなかった指定候補ブロック画像307に対応するブロックプログラムを、再検索における新たな検索条件に指定する。そして、動作処理部16bは、タッチパネル13aに対するユーザの操作に応じて再検索条件表示領域306の再検索決定操作領域308が選択されると、変更された新たな検索条件による再検索操作を受け付ける。
外部機器20の管理処理部24aは、動作処理部16bによって新たな検索条件による再検索操作が受け付けられると、当該新たな検索条件に基づいてプログラムの検索を行う(ST103)。図8の例では、管理処理部24aは、再検索における新たな検索条件として指定されたブロックプログラムを含むアプレットを検索する。そして、動作処理部16bは、改めて当該プログラムの検索結果をディスプレイ14aに表示させる(ST104)。
<再検索条件決定ステップの副次的な効果>
なお、動作処理部16bは、再検索条件表示領域306に表示された指定候補ブロック画像307に対応するいずれのブロックプログラムも再検索における検索条件の指定から解除されなければ、選択プログラムを構成する全てのブロックプログラムを再検索における新たな検索条件に指定することとなる。この場合、管理処理部24aは、プログラムの再検索において、選択プログラム(アプレット)を構成するブロックプログラムと全く同じブロックプログラムによって構成されたアプレットを検索することとなる。ここで、アプレットは、複数のブロックプログラムを組み合わせて構成されたものであることから、全く同じブロックプログラムによって構成されたアプレット同士は、基本的には同じ機能となる。しかしながらこの場合であっても、例えば、アプレットの作成者が異なることにより当該アプレットを表すアイコン画像、タイトル、カテゴリ・タグ、説明文等の付加的な情報が相互に異なる場合があるため、上記の再検索によって同じ機能であってもこれらの付加的な情報が相互に異なるプログラム(アプレット)が複数ヒットする場合がある。このことを利用すれば、この表示システムSys1は、ユーザに対して、同じ機能であってもアイコン画像、タイトル、説明文等が異なるアプレットを選択させることが可能となり、この結果、よりユーザの好みにあったプログラムを選択させ易くすることができる。
<変形例1>
図9に例示するように、指定候補ブロック画像307は、上述した選択ブロック画像307Aに加えて、連携可能ブロック画像307Bを含んで構成されてもよい。連携可能ブロック画像307Bは、管理処理部24aによるアプレットの再検索において検索条件として指定可能なブロックプログラムの候補として、選択プログラムを構成するブロックプログラムと連携可能なブロックプログラムを表すアイコン画像である。つまり、動作処理部16bは、図9に例示するように、上記再検索条件表示領域306において、外部機器20の管理処理部24aによって抽出された選択プログラムに関する情報に基づいて、指定候補ブロック画像307として、選択ブロック画像307A、及び、連携可能ブロック画像307Bをディスプレイ14aに表示させる処理を実行可能である。図9に示す再検索条件表示領域306は、「ボタン押し」のトリガブロックを表す選択ブロック画像307A、「降雨確率」のサービスブロックを表す選択ブロック画像307A、及び、「Yes/No」のアクションブロックを表す選択ブロック画像307Aが表示されるものとして例示されている。また、図9に示す再検索条件表示領域306は、「降雨確率」のサービスブロックと連携可能なブロックプログラムとして、「%」のアクションブロックを表す連携可能ブロック画像307B、及び、「ブザー」のアクションブロックを表す連携可能ブロック画像307Bが表示されるものとして例示されている。図9の例では、例えば、選択ブロック画像307A、あるいは、連携可能ブロック画像307Bがタップ操作されることで、当該タップ操作されたブロック画像に応じたブロックプログラムが再検索条件として選択される。ユーザが選択したブロック画像は、例えば、色が変わるなどして選択結果が分かるようにするとよい。つまりこの場合、例えば、トリガブロック、サービスブロックが現在選択されている選択プログラムのトリガブロック、サービスブロックと同じで、かつ、アクションブロックが当該選択プログラムのアクションブロックとは異なるアプレットを再検索条件として選択できることとなる。例えば、ユーザは、降雨確率により雨が降るかどうか(Yes/No)を時計の秒針で示す(11時か1時を指して結果表示する)よりも、降雨確率の数値(%)を時計の秒針で示す(0時から10時の範囲を0から100%に割り当て結果表示する)方が望みであれば、「ボタン押し」の選択ブロック画像307Aと、「降雨確率」の選択ブロック画像307Aと、「%」の連携可能ブロック画像307Bをタップ操作して再検索条件として決定し、「選択したPieceで検索する」をタップ操作することで、現在の選択プログラムに類似し、かつ、アクションプログラムが異なるアプレットの再検索を簡単に実行できる。
これにより、表示システムSys1は、アプレットの再検索において検索条件として指定可能なブロックプログラムの候補の範囲を、現在の選択プログラム(アプレット)を構成するブロックプログラムに加えて、当該選択プログラムを構成するブロックプログラムと連携可能なブロックプログラムにまで広げることができる。
<変形例2>
図10に例示した選択プログラムの説明画面400は、検索対象をブロックプログラムとした場合を例示している。この選択プログラム(ブロックプログラム)の説明画面400は、当該選択プログラムを表すアイコン画像401、当該選択プログラムの概要を説明する文字画像402と共に、選択決定操作領域403、及び、再検索条件表示領域404が表示される。選択決定操作領域403は、当該選択プログラムをユーザの所望のプログラムとして決定する場合に操作される領域であり、ここでは、「決定」等の文字画像が表示される。動作処理部16bは、図10に例示した選択プログラムの説明画面400において、タッチパネル13aに対するユーザの操作に応じてこの選択決定操作領域403が選択されると(ST106:OK)、当該選択プログラムをユーザの所望のプログラムとして決定する決定操作を受け付ける。
一方、再検索条件表示領域404は、プログラムを再検索するための検索条件を変更する場合に操作される領域であり、ここでは、指定候補ブロック画像405が表示される。
指定候補ブロック画像405は、ブロックプログラムを再検索するための検索条件として指定可能なブロックプログラムを表すアイコン画像である。管理処理部24aは、ブロックプログラムを再検索する場合、この再検索条件表示領域404に表示された指定候補ブロック画像405を介して指定されたブロックプログラムと連携可能であるプログラムを検索する。指定候補ブロック画像405は、この管理処理部24aによるブロックプログラムの再検索において、検索条件として指定可能なブロックプログラムの候補を表している。図10の例では、指定候補ブロック画像405は、連携可能ブロック画像405Aを含んで構成される。連携可能ブロック画像405Aは、選択プログラム(ブロックプログラム)と連携可能なブロックプログラムを表すアイコン画像である。さらに言えば、この連携可能ブロック画像405Aは、管理処理部24aによるブロックプログラムの再検索において検索条件として指定可能なブロックプログラムの候補として、現在の選択プログラム(ブロックプログラム)と連携可能なブロックプログラムを表す。図10に示す選択プログラムの説明画面400は、選択プログラムが「降雨確率」を表すサービスブロックであり、当該サービスブロックと連携可能なトリガブロック、及び、当該サービスブロックと連携可能なアクションブロックをそれぞれ表す連携可能ブロック画像405Aが表示されるものとして例示されている。
動作処理部16bは、図10に例示する選択プログラムの説明画面400において、上記再検索条件表示領域404をディスプレイ14aに表示させる処理を実行する。動作処理部16bは、上記再検索条件表示領域404において、ブロックプログラムを再検索するための検索条件として指定可能なブロックプログラムを表す指定候補ブロック画像405をディスプレイ14aに表示させる処理を実行する。ここでは、動作処理部16bは、上記再検索条件表示領域404において、外部機器20の管理処理部24aによって抽出された選択プログラムに関する情報に基づいて、指定候補ブロック画像405として、選択プログラムと連携可能なブロックプログラムを表す連携可能ブロック画像405Aをディスプレイ14aに表示させる処理を実行する。
動作処理部16bは、図10に例示した選択プログラムの説明画面400において、タッチパネル13aに対するユーザの操作に応じて上記再検索条件表示領域404が操作されると(ST106:NG)、当該操作に応じて、プログラムを再検索するための検索条件を変更する(ST107)。
動作処理部16bは、再検索条件表示領域404に表示された指定候補ブロック画像405のいずれかがタップ操作されることで、当該タップ操作がなされた指定候補ブロック画像405に対応するブロックプログラムを、再検索における新たな検索条件に指定すると共に、変更された新たな検索条件による再検索操作を受け付ける。例えば、連携可能ブロック画像405Aのアクションブロックの中から「時計の指針で表示する」アイコンを表す連携可能ブロック画像405Aをタップ操作すると、「降雨確率」の情報を取得するサービスブロックであって当該「時計の指針で表示する」アクションブロックに連携可能なサービスブロックが、外部機器20の連携情報を基に検索され、その結果が表示される。この場合、上記によれば、例えば、連携可能なブロックプログラムを重視するユーザに対して、使用したいアクションブロックを基点として、連携可能なサービスブロックを再検索可能であり、再び検索条件決定ステップ(ST1)の表示画面に戻ることなく、提示された検索条件に対して変更を行うため、ユーザの所望のプログラムにたどり着くことが容易になる。ここではサービスブロックを検索する例を説明したが、トリガブロック、アクションブロックの検索においても、同様に構成することができ、同様の効果を得ることが可能である。
外部機器20の管理処理部24aは、動作処理部16bによって新たな検索条件による再検索操作が受け付けられると、当該新たな検索条件に基づいてプログラムの検索を行う(ST103)。図10の例では、管理処理部24aは、再検索における新たな検索条件として指定されたブロックプログラムと連携可能であるブロックプログラムを検索する。そして、動作処理部16bは、改めて当該プログラムの検索結果をディスプレイ14aに表示させる(ST104)。検索結果は、例えば、後述する図12で例示するように、検索ヒットプログラム画像501であるアイコン画像を、検索結果表示画面500に表示しても良いし、上述の図10に例示した再検索条件表示領域404等に表示しても良い。
<類似プログラム画像の表示>
なお、動作処理部16bは、図10に例示した選択プログラムの説明画面400において、類似プログラム画像406をディスプレイ14aに表示させる処理も実行可能である。類似プログラム画像406は、選択プログラム(ここでは、ブロックプログラム)と類似するプログラムを表すアイコン画像である。この場合、動作処理部16bは、外部機器20の管理処理部24aによって抽出された選択プログラムに関する情報に基づいて、選択プログラムと類似するプログラムを表す類似プログラム画像406をディスプレイ14aに表示させる。
この場合、動作処理部16bは、さらに、相互に類似する複数のプログラムをそれぞれ表す複数の類似プログラム画像406を重ねてディスプレイ14aに表示させる処理を実行してもよい。例えば、動作処理部16bは、外部機器20の管理処理部24aによって抽出された選択プログラムに関する情報に基づいて、各プログラムの類似度を判断し、相対的に類似度が高い複数のプログラムを表す複数の類似プログラム画像406を重ねてディスプレイ14aに表示させるようにしてもよい。
そして、動作処理部16bは、図10に例示した選択プログラムの説明画面400において、タッチパネル13aに対するユーザのタップ操作に応じていずれかの類似プログラム画像406が選択されると、当該タップ操作がなされた類似プログラム画像406に対応するプログラムを選択プログラムとし、当該選択プログラムの説明画面をディスプレイ14aに表示させる。
<変形例3>
図11、図12に示すように、動作処理部16bは、検索対象をブロックプログラムとした場合、プログラムの検索結果を表す検索結果表示画面500において、検索ヒットプログラム画像501、文字画像502等と共に、連携可能ブロック画像503をディスプレイ14aに表示させる処理を実行可能である。
図12に例示した検索結果表示画面500は、プログラムの検索結果を表示すると共に、ユーザの所望のプログラムを選択するために操作される画面である。動作処理部16bは、当該検索結果表示画面500を介してユーザに所望のプログラムを選択させることができる。ここでは、図12に例示した検索結果表示画面500は、上述したように検索対象をブロックプログラムとした場合を例示しており、種々の情報と共に検索ヒットプログラム画像501、文字画像502、連携可能ブロック画像503がリスト表示される。ここで、検索ヒットプログラム画像501は、検索条件に該当するブロックプログラム、言い換えれば、検索でヒットしたブロックプログラムを表すアイコン画像である。文字画像502は、当該ブロックプログラムのタイトルを表す文字画像である。そして、連携可能ブロック画像503は、検索条件に該当するブロックプログラムと連携可能なブロックプログラムを表すアイコン画像である。
管理処理部24aは、例えば、図11に示すように、プログラムの検索の後(ST103)、記憶部23から抽出した選択プログラムに関する情報に含まれる連携情報に基づいて、検索結果に連携情報を付加する(ST103A)。そして、動作処理部16bは、図12に例示した検索結果表示画面500をディスプレイ14aに表示させることで、各プログラムの連携情報が付加された検索結果をディスプレイ14aに表示させる(ST104)。外部機器20の記憶部23に登録された多くのブロックプログラムは、それぞれのユーザが自分の環境(例えば保有するデバイス)に合わせて作成するため、同じ機能や動作をするものであっても出力形式が異なることも多く、連携可能なブロックプログラムが異なることがある。図12のサービスブロックを検索する場合を例にとると、トリガブロックのトリガ発動により、あらかじめ登録した文章のメールを送るサービスブロックは複数存在し、それぞれ出力形式の違いにより連携可能なアクションブロックが同じではない。従って、検索ヒットプログラム画像501の表示と共に、それに連携可能なアクションブロックを連携可能ブロック画像503として表示することで、ユーザは容易に所望するサービスブロックを探すことができる。トリガブロック、アクションブロックの検索においても、同様に構成にすることで同様の効果を得ることができる。
動作処理部16bは、図12に例示した検索結果表示画面500において、タッチパネル13aに対するユーザの操作に応じていずれかのプログラムの検索ヒットプログラム画像501、文字画像502が選択されると、ユーザによる所望のプログラムの選択操作を受け付け(ST105)、選択された選択プログラムの説明画面(図10の説明画面400等参照)をディスプレイ14aに表示させる。
なお、動作処理部16bは、検索条件に該当するブロックプログラム、言い換えれば、検索でヒットしたブロックプログラムの数が多い場合には、図13の検索結果表示画面600に例示するように、相互に類似する複数のプログラムをそれぞれ表す複数の検索ヒットプログラム画像601を重ねてディスプレイ14aにリスト表示させる処理を実行してもよい。動作処理部16bは、外部機器20の管理処理部24aによって抽出された選択プログラムに関する情報に基づいて、相互に類似する複数のプログラムをそれぞれ表す複数の検索ヒットプログラム画像601を重ねてディスプレイ14aに表示させる。検索でヒットした検索ヒットプログラム画像601をディスプレイ14aの長辺方向に並べて表示する方法では、検索ヒットしたブロックプログラムが多いほど、ユーザがディスプレイ14aをスライドして見る量も多くなることに加えて、類似の検索ヒットプログラム画像601がランダムに表れるため、所望のブロックプログラムを見つけるのに手間がかかる。しかし、上記によれば、検索ヒットプログラム画像601の表示量が少なくなり、類似のブロックプログラムも1か所に集約して表示されるため把握がし易く、短手番で所望のブロックプログラムを探すことが可能になる。なお、図13で示した検索結果表示画面600は、検索でヒットしたブロックプログラムのタイトルを表す文字画像にかえて、当該ブロックプログラムの概要を説明する文字画像602が表示される場合を例示している。
そして、動作処理部16bは、図13に例示した検索結果表示画面600において、タッチパネル13aに対するユーザの操作に応じて、重ね表示されている検索ヒットプログラム画像601が選択された場合、図12で例示したようなリスト式の検索結果表示画面500に移行するようにしてもよい。また、動作処理部16bは、図13に例示した検索結果表示画面600において、タッチパネル13aに対するユーザの操作に応じて、単独で表示されている検索ヒットプログラム画像601が選択された場合、ユーザによる所望のプログラムの選択操作を受け付け、図10で例示したような選択プログラムの説明画面400に移行するようにしてもよい。
<変形例4>
図14~図18に示すように、管理処理部24aは、検索対象をアプレットとした場合、アプレットの再検索の際に限らず、初回の検索の際にも、ユーザによって指定されたブロックプログラムを利用してアプレットを検索する処理を実行可能である。
この場合、図14に示すように、動作処理部16bは、プログラムの初回の検索条件を決定する際に、例えば、カテゴリ選択、キーワード、フィルター選択に加えて、ブロックプログラム(piece)選択によって検索条件を決定させることができる(ST202)。例えば、動作処理部16bは、図15に例示した検索条件設定画面700をディスプレイ14aに表示させ、タッチパネル13aに対するユーザの操作に応じて初回の検索条件を決定する。
図15に例示した検索条件設定画面700は、アプレットの検索条件を決定するために操作される画面である。動作処理部16bは、当該検索条件設定画面700を介してユーザに初回の検索条件を決定させることができる。ここでは一例として、図15に例示した検索条件設定画面700は、検索対象をアプレットとし、カテゴリ選択、キーワードに加えて、ブロックプログラム選択によって検索条件を決定させる場合を例示しており、上述したキーワード入力領域101、カテゴリ選択領域102に加えてブロックプログラム選択領域703が表示される。ブロックプログラム選択領域703は、検索条件として指定したいブロックプログラムを選択する場合に操作される領域である。
動作処理部16bは、図15に例示した検索条件設定画面700において、タッチパネル13aに対するユーザの操作に応じてブロックプログラム選択領域703が選択されると、検索条件として指定したいブロックプログラム自体の検索条件を決定する(ST202A)。動作処理部16bは、例えば、カテゴリ選択、キーワード、フィルター選択等によって検索条件を決定させることができる。例えば、動作処理部16bは、図16に例示した検索条件設定画面800をディスプレイ14aに表示させ、タッチパネル13aに対するユーザの操作に応じて、ブロックプログラムの検索条件を決定する。
図16に例示した検索条件設定画面800は、ブロックプログラムの検索条件を決定するために操作される画面である。動作処理部16bは、当該検索条件設定画面800を介してユーザにブロックプログラムの検索条件を決定させることができる。ここでは一例として、図16に例示した検索条件設定画面800は、キーワード、及び、フィルター選択によって検索条件を決定させる場合を例示しており、種々の情報と共にキーワード入力領域801、及び、フィルター選択領域802が表示される。キーワード入力領域801は、検索条件として指定したいキーワードを入力する場合に操作される領域である。フィルター選択領域802は、検索条件として指定したいフィルターを選択する場合に操作される領域である。
動作処理部16bは、図16に例示した検索条件設定画面800において、タッチパネル13aに対するユーザの操作に応じてキーワード入力領域801が選択されると、例えば、検索条件設定画面800内にいわゆるソフトウェアキーボードを表示しタッチパネル13aを介してユーザによるキーワードの入力操作を受け付ける。動作処理部16bは、図16に例示した検索条件設定画面800において、タッチパネル13aに対するユーザの操作に応じてフィルター選択領域802が選択されると、例えば、図17に例示したフィルター設定画面900をディスプレイ14aに表示させ、タッチパネル13aに対するユーザの操作に応じてフィルターの選択操作を受け付ける。
図17に例示したフィルター設定画面900は、検索条件として指定したいフィルターを選択するために操作される画面である。動作処理部16bは、当該フィルター設定画面900を介してユーザに検索条件として指定したいフィルターを選択させることができる。ここで、サービスブロック、トリガブロック、アクションブロック等のブロックプログラムは、プログラムコードや付加的な情報に基づいて設定可能なフィルター項目に応じてフィルタリングが可能である。外部機器20の管理処理部24aは、このフィルタリングを利用してブロックプログラムを検索することができる。
ここでは一例として、図17に例示したフィルター設定画面900は、種々の情報と共に複数のフィルター項目画像901、及び、フィルター項目設定領域902が表示される。フィルター項目画像901は、設定可能はフィルター項目を表す画像であり、ここでは一例として「pieceタイプ」、「pieceカテゴリ」、「受け取れるデータ形式」、「出力するデータ形式」等の文字画像である。「pieceタイプ」と表記されたフィルター項目は、サービスブロック、トリガブロック、アクションブロック等のブロックプログラムの種類に関する項目である。「pieceカテゴリ」と表記されたフィルター項目は、ブロックプログラムが属するカテゴリに関する項目である。「受け取れるデータ形式」と表記されたフィルター項目は、ブロックプログラムへの入力の形式に関する項目である。「出力するデータ形式」と表記されたフィルター項目は、ブロックプログラムからの出力の形式に関する項目である。表示システムSys1では、この他、例えば、ブロックプログラムが動作させる動作対象機器のデバイスID、ブロックプログラムを作成した作者ID、ブロックプログラムの公開日、ブロックプログラムが使用する機能、ブロックプログラムのバージョン等をフィルター項目とすることもできる。フィルター項目設定領域902は、各フィルター項目画像901に対応して1つずつ表示される領域であり、対応するフィルター項目を設定する場合に操作される領域である。
動作処理部16bは、図17に例示したフィルター設定画面900において、タッチパネル13aに対するユーザの操作に応じて、いずれかのフィルター項目設定領域902が選択されると、例えば、当該フィルター項目設定領域902内に対応するフィルター項目において選択可能な項目を表示し、タッチパネル13aを介してユーザによるフィルター項目の設定操作を受け付ける。
次に、外部機器20の管理処理部24aは、上記のようにして決定された検索条件に基づいてブロックプログラムの検索を行う(ST202B)。そして、電子機器10の動作処理部16bは、ブロックプログラムの検索結果をディスプレイ14aに表示させ、ユーザに所望のブロックプログラムを選択させる(ST202C)。例えば、動作処理部16bは、図12に例示したような検索結果表示画面500をディスプレイ14aに表示させ、当該検索結果表示画面500を介してユーザに所望のブロックプログラムを選択させることができる。
動作処理部16bは、図12に例示した検索結果表示画面500等において、タッチパネル13aに対するユーザの操作に応じていずれかのプログラムの検索ヒットプログラム画像501、文字画像502が選択されると、ユーザによる所望のブロックプログラムの選択操作を受け付け、これを検索条件として設定する。そして、外部機器20の管理処理部24aは、設定された検索条件に基づいてプログラムの検索を行う(ST103)。この場合、管理処理部24aは、ユーザによって検索条件として指定されたブロックプログラムを含むアプレットを検索する。そして、動作処理部16bは、当該アプレットの検索結果をディスプレイ14aに表示させる(ST104)。例えば、動作処理部16bは、図18に例示した検索結果表示画面1000をディスプレイ14aに表示させることで、アプレットの検索結果を表示する。
ここでは一例として、図18に例示した検索結果表示画面1000は、種々の情報と共に検索ヒットプログラム画像1001、文字画像1002がリスト表示される。ここで、検索ヒットプログラム画像1001は、検索条件に該当するプログラム、言い換えれば、検索でヒットしたプログラムを表すアイコン画像である。文字画像1002は、当該プログラムのタイトルを表す文字画像である。この検索結果表示画面1000において、検索ヒットプログラム画像1001は、検索条件として指定されたブロックプログラムを含むアプレットを表すアイコン画像に相当する。つまりこの場合、動作処理部16bは、図18に示すようなアプレットの検索結果を表す検索結果表示画面1000において、検索条件として指定されたブロックプログラムを含むアプレットを表す検索ヒットプログラム画像1001をディスプレイ14aに表示させる処理を実行することとなる。
<実施形態の作用効果>
以上で説明した電子機器10、表示システムSys1、及び、表示プログラムは、プログラムの検索結果から選択された選択プログラムの説明画面300、400において、再検索条件表示領域306、404をディスプレイ14aに表示させる処理を実行する。この処理により、電子機器10、表示システムSys1、及び、表示プログラムは、再検索条件表示領域306、404において、プログラムを再検索するための検索条件を変更させる表示を行うことができる。これにより、電子機器10、表示システムSys1、及び、表示プログラムは、例えば、選択プログラムの説明画面300、400から改めて初期の検索画面に戻らなくても、そのまま、よりユーザのニーズに近い検索条件を再設定させることができるので、手間を抑制した上でユーザが目的とするプログラムに到達させ易くすることができる。この結果、電子機器10、表示システムSys1、及び、表示プログラムは、ユーザの所望のプログラムを選択させ易くすることができる。
ここでは、以上で説明した電子機器10、表示システムSys1、及び、表示プログラムは、検索対象がアプレットである場合、再検索条件表示領域306において、指定候補ブロック画像307をディスプレイ14aに表示させる処理を実行することができる。この処理により、電子機器10、表示システムSys1、及び、表示プログラムは、指定候補ブロック画像307を介してユーザによって指定されたブロックプログラムを利用して、当該ブロックプログラムを含むアプレットを再検索することができる。この結果、電子機器10、表示システムSys1、及び、表示プログラムは、ユーザが目的に応じて指定したブロックプログラムからアプレットを絞り込み、ユーザの所望のアプレットをより選択させ易くすることができる。
この場合、以上で説明した電子機器10、表示システムSys1、及び、表示プログラムは、再検索条件表示領域306において、指定候補ブロック画像307として、選択ブロック画像307A、及び、連携可能ブロック画像307Bをディスプレイ14aに表示させる処理を実行することができる。この処理により、電子機器10、表示システムSys1、及び、表示プログラムは、再検索においてユーザの所望のアプレットを絞り込むためのブロックプログラムを、現在選択されているアプレットを構成するブロックプログラムに加えて、当該ブロックプログラムと連携可能なブロックプログラムのなかから指定させることができる。この結果、電子機器10、表示システムSys1、及び、表示プログラムは、ユーザの所望のアプレットをより選択させ易くすることができる。
また、以上で説明した電子機器10、表示システムSys1、及び、表示プログラムは、アプレットの検索結果表示画面1000において、検索条件として指定されたブロックプログラムを含むアプレットを表す検索ヒットプログラム画像1001をディスプレイ14aに表示させる処理を実行することができる。つまり、この電子機器10、表示システムSys1、及び、表示プログラムは、再検索の際に限らず初回の検索の際にも、ユーザが目的に応じて指定したブロックプログラムからアプレットを絞り込むことができるので、ユーザの所望のアプレットをより選択させ易くすることができる。
一方、以上で説明した電子機器10、表示システムSys1、及び、表示プログラムは、検索対象がブロックプログラムである場合も、再検索条件表示領域404において、指定候補ブロック画像405をディスプレイ14aに表示させる処理を実行することができる。この処理により、電子機器10、表示システムSys1、及び、表示プログラムは、例えば、指定候補ブロック画像405を介してユーザによって指定されたブロックプログラムと連携可能なブロックプログラムを再検索することができる。この結果、電子機器10、表示システムSys1、及び、表示プログラムは、ユーザが目的に応じて指定したブロックプログラムから当該ブロックプログラムと連携可能なブロックプログラムを絞り込むことができ、ユーザの所望のブロックプログラムをより選択させ易くすることができる。
この場合、以上で説明した電子機器10、表示システムSys1、及び、表示プログラムは、再検索条件表示領域404において、指定候補ブロック画像405として、連携可能ブロック画像405Aをディスプレイ14aに表示させる処理を実行することができる。この処理により、電子機器10、表示システムSys1、及び、表示プログラムは、再検索においてユーザの所望のブロックプログラムを絞り込むためのブロックプログラムを、現在選択されているブロックプログラムと連携可能なブロックプログラムのなかから指定させることができる。つまり、電子機器10、表示システムSys1、及び、表示プログラムは、連携可能のブロックプログラム同士を相互にリンクさせて検索させることで、ブロックプログラムの検索性を向上させ、ユーザの所望のブロックプログラムを絞り込み易くすることができる。この結果、電子機器10、表示システムSys1、及び、表示プログラムは、ユーザの所望のブロックプログラムをより選択させ易くすることができる。
また、以上で説明した電子機器10、表示システムSys1、及び、表示プログラムは、ブロックプログラムの検索結果表示画面500において、検索条件に該当するブロックプログラムを表す検索ヒットプログラム画像501と共に、当該ブロックプログラムと連携可能なブロックプログラムを表す連携可能ブロック画像503をディスプレイ14aに表示させる処理を実行することができる。この処理により、電子機器10、表示システムSys1、及び、表示プログラムは、個別のブロックプログラムの説明画面400に移行する前に、検索結果表示画面500において、検索条件に該当するブロックプログラムと連携可能のブロックプログラムをユーザに確認させることができる。この結果、電子機器10、表示システムSys1、及び、表示プログラムは、ユーザが目的とするブロックプログラムにより早く到達させ易くすることができ、ユーザの所望のブロックプログラムをより選択させ易くすることができる。
また、以上で説明した電子機器10、表示システムSys1、及び、表示プログラムは、選択プログラムの説明画面400において、類似プログラム画像406をディスプレイ14aに表示させる処理を実行することができる。この処理により、電子機器10、表示システムSys1、及び、表示プログラムは、選択プログラムの説明画面400において、類似プログラム画像406を介して現在の選択プログラムと類似するプログラムを選択させ易くすることができる。またこのとき、電子機器10、表示システムSys1、及び、表示プログラムは、相互に類似する複数の類似プログラム画像406を重ねてディスプレイ14aに表示させることもできるので、現在の選択プログラムと類似するプログラムが多数ある場合でも、これらをコンパクトに表示することができ、この点でもユーザの所望のブロックプログラムを選択させ易くすることができる。
ここでは、以上で説明した電子機器10、表示システムSys1、及び、表示プログラムは、サービスブロック、トリガブロック、アクションブロック、又は、これらを組み合わせたアプレットを検索対象のプログラムとすることができる。この場合、電子機器10、表示システムSys1、及び、表示プログラムは、検索対象のプログラムがブロックプログラムを組み合わせたアプレット、又は、当該アプレットを構成するブロックプログラムであることから、検索結果として似たようなプログラムが重複し易い傾向にある。これに対して、電子機器10、表示システムSys1、及び、表示プログラムは、上記のように手間を抑制した上でユーザが目的とするプログラムに到達させ易くすることができるので、ユーザの所望のプログラムを選択させ易くすることができるという効果を顕著に発揮することができる。
また、以上で説明した電子機器10、表示システムSys1、及び、表示プログラムは、電子機器10と外部機器20とが連携することで、電子機器10においてユーザの所望のプログラムを選択させ易くすることができる。
なお、上述した本発明の実施形態に係る電子機器、表示システム、及び、表示プログラムは、上述した実施形態に限定されず、特許請求の範囲に記載された範囲で種々の変更が可能である。
以上の説明では、表示システムSys1は、電子機器10と、外部機器20とを備え、これらが相互に通信し連携するものとして説明したがこれに限らない。例えば、電子機器は、外部機器とは連携せずに、自身において、複数のプログラムを記憶し、当該プログラムの検索、表示、選択、決定等の各処理が完結するものであってもよい。つまり、以上の説明では、表示システムSys1は、典型的には、電子機器10によって作成されたプログラムや他の機器で作成されたプログラムを、外部機器20によって管理する管理システムでもあるものとして説明したがこれに限らず、電子機器単体で完結するものであってもよい。
以上の説明では、表示システムSys1において、検索対象となるソフトウェアプログラム、言い換えれば、電子機器10による表示対象となるソフトウェアプログラムは、動作対象機器で実行させることで当該動作対象機器を動作させるプログラムであり、具体的には、サービスブロック、トリガブロック、アクションブロック、又は、これらを組み合わせたアプレットであるものとして説明したがこれに限らない。
以上の説明では、動作処理部16bは、図10に例示したブロックプログラムの説明画面400において、類似プログラム画像406をディスプレイ14aに表示させるものとして説明したが、図8に例示したアプレットの説明画面300においても同様の処理を実行可能である。すなわち、動作処理部16bは、図8に例示したアプレットの説明画面300において、選択されたアプレットと類似するプログラムを表す類似プログラム画像をディスプレイ14aに表示させる処理を実行してもよい。
以上で説明した各プログラムの類似判定は、一例に過ぎず上記の内容に限らない。
動作処理部16bは、例えば、図7で例示した検索結果表示画面200において、検索ヒットプログラム画像201等をリスト表示する場合、例えば、検索されたプログラムのダウンロード数、いいね数、使用回数等に基づいて人気順に表示順を決定してもよい。図12で例示した検索結果表示画面500における検索ヒットプログラム画像501等のリスト表示、図13で例示した検索結果表示画面600における検索ヒットプログラム画像601等のリスト表示、図18で例示した検索結果表示画面1000における検索ヒットプログラム画像1001等のリスト表示についても同様である。
以上の説明では、電子機器10、外部機器20は、それぞれ単体の機器として構成されるものとして説明したがこれに限らない。電子機器10、外部機器20の機能分散の形態は、上記に限られず、同様の効果や機能を奏し得る範囲において、任意の単位で機能的または物理的に分散・統合して構成することができる。
以上で説明した処理部16、24は、それぞれ単一の電子回路によって各処理機能が実現されるものとして説明したがこれに限らない。処理部16、24は、複数の独立した電子回路を組み合わせて各電子回路がプログラムを実行することにより各処理機能が実現されてもよい。処理部16、24が有する処理機能は、単一又は複数の処理回路に適宜に分散又は統合されて実現されてもよい。例えば、処理部16、24が有する各処理機能については、その全部又は任意の一部を、例えば、CPU等及び当該CPU等にて解釈実行されるプログラムにて実現してもよく、また、ワイヤードロジック等によるハードウェアとして実現してもよい。
本実施形態に係る電子機器、表示システム、及び、表示プログラムは、以上で説明した実施形態、変形例の構成要素を適宜組み合わせることで構成してもよい。