(57)【要約】【課題】従来、第一アプリに第二アプリの機能を仮想的に付加できなかった。【解決手段】第一サイズの第一ウィンドウを表示する第一アプリ、第二サイズの第二ウィンドウを表示する第二アプリを含む複数のアプリケーションを実現する複数のプログラムが格納される格納部と、第一アプリに対する第一起動指示をユーザから受け付けるユーザ指示受付部と、第一アプリが起動される場合または起動中に、第二アプリに対する第二起動指示を受け付ける第二起動指示受付部と、第二起動指示の受け付けに応じて、第一ウィンドウにオーバーレイして第二ウィンドウを表示する表示部と、第二ウィンドウに対して、ユーザ指示を受け付けるユーザ指示受付部と、ユーザ指示の受け付けに応じた処理を行う実行部とを具備する情報処理装置により、第一アプリに第二アプリの機能を仮想的に付加することができる。【選択図】図１
2020074084.tif 000002
【特許請求の範囲】
【請求項１】
第一サイズの第一ウィンドウを表示する第一アプリ、一部に透明の領域を含む第二サイズの第二ウィンドウを表示する第二アプリを含む複数のアプリケーションを実現する複数のプログラムが格納される格納部と、
前記第一アプリに対する第一起動指示をユーザから受け付けるユーザ指示受付部と、
前記第一アプリが起動される場合または起動中に、前記第二アプリに対する第二起動指示を受け付ける第二起動指示受付部と、
前記第二起動指示の受け付けに応じて、前記第一ウィンドウにオーバーレイして前記第二ウィンドウを表示する表示部と、
前記第二ウィンドウに対して、ユーザ指示を受け付けるユーザ指示受付部と、
前記ユーザ指示の受け付けに応じた処理を行う実行部と、
前記ユーザ指示受付部が、前記第二ウィンドウの前記透明の領域に前記ユーザ指示を受け付けた場合に、当該ユーザ指示を前記第一アプリに渡すユーザ指示引渡部とを具備し、
前記ユーザ指示引渡部が前記ユーザ指示を前記第一アプリに渡した場合には前記第一アプリが前記ユーザ指示に対応する動作を行い、かつ前記第一ウィンドウと前記第二ウィンドウとの上限関係には変化がなく、
前記ユーザ指示受付部が前記第二ウィンドウの前記透明でない領域に前記ユーザ指示を受け付けた場合には前記前記第二アプリが前記ユーザ指示に対応する動作を行う情報処理装置。
【請求項２】
前記第二起動指示受付部は、
予め決められた条件を満たした場合に前記第二起動指示を受け付ける請求項１記載の情報処理装置。
【請求項３】
前記予め決められた条件は、
前記第一アプリから送付された操作イベントが予め決められた条件を満たすことである請求項２記載の情報処理装置。
【請求項４】
前記第二サイズと前記第一サイズとは同じであり、
前記表示部において、
前記第一ウィンドウに完全に重ねて第二ウィンドウを表示する請求項１から請求項３いずれか一項に記載の情報処理装置。
【請求項５】
前記第二アプリは、
チャット機能を実現するアプリ、アンケート機能を実現するアプリ、またはポップアップで情報を表示する機能を実現するアプリのいずれか１以上のアプリである、請求項１から請求項４いずれか一項に記載の情報処理装置。
【請求項６】
前記格納部は、
第一アプリを識別する第一アプリ識別子を有する２以上の協調アプリ情報が格納される協調アプリ情報格納部を具備し、
前記協調アプリ情報が有する第一アプリ識別子で識別される第一アプリが起動される場合または起動中に、前記第二アプリに対して第二起動指示を発行する第二起動指示発行部をさらに具備し、
前記第二起動指示受付部は、前記第二起動指示発行部が発行した第二起動指示を受け付ける請求項１から請求項５いずれか一項に記載の情報処理装置。
【請求項７】
第一サイズの第一ウィンドウを表示する第一アプリ、一部に透明の領域を含む第二サイズの第二ウィンドウを表示する第二アプリを含む複数のアプリケーションを実現する複数のプログラムが格納される格納部にアクセス可能なコンピュータを、
前記第一アプリに対する第一起動指示をユーザから受け付けるユーザ指示受付部と、
前記第一アプリが起動される場合または起動中に、前記第二アプリに対する第二起動指示を受け付ける第二起動指示受付部と、
前記第二起動指示の受け付けに応じて、前記第一ウィンドウにオーバーレイして前記第二ウィンドウを表示する表示部と、
前記第二ウィンドウに対して、ユーザ指示を受け付けるユーザ指示受付部と、
前記ユーザ指示の受け付けに応じた処理を行う実行部と、
前記ユーザ指示受付部が、前記第二ウィンドウの前記透明の領域に前記ユーザ指示を受け付けた場合に、当該ユーザ指示を前記第一アプリに渡すユーザ指示引渡部として機能させるプログラムであって、
前記ユーザ指示引渡部が前記ユーザ指示を前記第一アプリに渡した場合には前記第一アプリが前記ユーザ指示に対応する動作を行い、かつ前記第一ウィンドウと前記第二ウィンドウとの上限関係には変化がなく、
前記ユーザ指示受付部が前記第二ウィンドウの前記透明でない領域に前記ユーザ指示を受け付けた場合には前記前記第二アプリが前記ユーザ指示に対応する動作を行う、プログラム。
【請求項８】
前記第二起動指示受付部は、
予め決められた条件を満たした場合に前記第二起動指示を受け付けるものとして、前記コンピュータを機能させるための請求項７記載のプログラム。
【請求項９】
前記予め決められた条件は、
前記第一アプリから送付された操作イベントが予め決められた条件を満たすことである請求項８記載のプログラム。
【請求項１０】
前記第二ウィンドウは前記第一ウィンドウと同じ大きさであり、
前記表示部において、
前記第一ウィンドウに完全に重ねて第二ウィンドウを表示するものとして、前記コンピュータを機能させるための請求項７から請求項９いずれか一項に記載のプログラム。
【請求項１１】
前記第二アプリは、
チャット機能を実現するアプリ、アンケート機能を実現するアプリ、またはポップアップで情報を表示する機能を実現するアプリのいずれか１以上のアプリである、請求項７から請求項１０いずれか一項に記載のプログラム。
【請求項１２】
前記格納部は、
第一アプリを識別する第一アプリ識別子を有する２以上の協調アプリ情報が格納される協調アプリ情報格納部を具備し、
前記コンピュータを、
前記協調アプリ情報が有する第一アプリ識別子で識別される第一アプリが起動される場合または起動中に、前記第二アプリに対して第二起動指示を発行する第二起動指示発行部としてさらに機能させ、
前記第二起動指示受付部は、前記第二起動指示発行部が発行した第二起動指示を受け付けるものとして、前記コンピュータを機能させるための請求項７から請求項１１いずれか一項に記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、第一のアプリケーションに第二のプリケーションがオーバーレイして表示される情報処理装置等に関するものである。
【背景技術】
【０００２】
従来、スマートフォンやタブレット端末等の情報処理装置において、種々のアプリケーションを動作させることができた（例えば、非特許文献１参照）。
【先行技術文献】
【非特許文献】
【０００３】
【非特許文献１】“［保存版］おすすめiPhone（登録商標）アプリ100選”、［online］、平成２９年１２月１７日、インターネット［URL：http://appllio.com/the-best-iphone-apps-100］
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、従来技術においては、複数のアプリケーション（以下、適宜「アプリ」と言う。）は独立に動作するのみで、第一アプリに、当該第一アプリとは異なるアプリである第二アプリの機能を仮想的に付加することができなかった。
【課題を解決するための手段】
【０００５】
本第一の発明の情報処理装置は、第一サイズの第一ウィンドウを表示する第一アプリ、第二サイズの第二ウィンドウを表示する第二アプリを含む複数のアプリケーションを実現する複数のプログラムが格納される格納部と、第一アプリに対する第一起動指示をユーザから受け付けるユーザ指示受付部と、第一アプリが起動される場合または起動中に、第二アプリに対する第二起動指示を受け付ける第二起動指示受付部と、第二起動指示の受け付けに応じて、第一ウィンドウにオーバーレイして第二ウィンドウを表示する表示部と、第二ウィンドウに対して、ユーザ指示を受け付けるユーザ指示受付部と、ユーザ指示の受け付けに応じた処理を行う実行部とを具備する情報処理装置である。
【０００６】
かかる構成により、第一アプリに第二アプリの機能を仮想的に付加することができる。
【０００７】
また、本第二の発明の情報処理装置は、第一の発明に対して、第二起動指示受付部は、予め決められた条件を満たした場合に第二起動指示を受け付ける情報処理装置である。
【０００８】
かかる構成により、適切な場合に、第一アプリに第二アプリの機能を仮想的に付加することができる。
【０００９】
また、本第三の発明の情報処理装置は、第二の発明に対して、予め決められた条件は、第一アプリから送付された操作イベントが予め決められた条件を満たすことである情報処理装置である。
【００１０】
かかる構成により、適切な場合に、第一アプリに第二アプリの機能を仮想的に付加することができる。
【００１１】
また、本第四の発明の情報処理装置は、第一から第三いずれか１つの発明に対して、第二サイズと第一サイズとは同じであり、表示ステップにおいて、第一ウィンドウに完全に重ねて第二ウィンドウを表示する情報処理装置である。
【００１２】
かかる構成により、第一アプリに第二アプリの機能を仮想的に付加することができる。
【００１３】
また、本第五の発明の情報処理装置は、第一から第四いずれか１つの発明に対して、第二ウィンドウは、一部に透明の領域を含む情報処理装置である。
【００１４】
かかる構成により、第一アプリに第二アプリの機能を仮想的に付加することができる。
【００１５】
また、本第六の発明の情報処理装置は、第五の発明に対して、ユーザ指示受付部において、透明の領域にユーザ指示を受け付けた場合に、ユーザ指示を第一アプリに渡すユーザ指示引渡部をさらに具備し、実行部において、透明の領域以外の領域にユーザ指示を受け付けた場合に、ユーザ指示の受け付けに応じた処理を行うアプリケーションを実現する情報処理装置である。
【００１６】
かかる構成により、第一アプリの機能と第二アプリの機能との両方を、ユーザは容易に利用できる。
【００１７】
また、本第七の発明の情報処理装置は、第一から第六いずれか１つの発明に対して、実行部は、チャット機能を実現するための処理、アンケート機能を実現するための処理、またはポップアップで情報を表示する機能のいずれか１以上の処理を行う情報処理装置である。
【００１８】
かかる構成により、第一アプリに第二アプリのチャット機能を仮想的に付加することができる。
【００１９】
また、本第八の発明の情報処理装置は、第一から第七いずれか１つの発明に対して、格納部は、第一アプリを識別する第一アプリ識別子を有する２以上の協調アプリ情報が格納される協調アプリ情報格納部を具備し、協調アプリ情報が有する第一アプリ識別子で識別される第一アプリが起動される場合または起動中に、第二アプリに対して第二起動指示を発行する第二起動指示発行部をさらに具備し、第二起動指示受付部は、第二起動指示発行部が発行した第二起動指示を受け付ける情報処理装置である。
【００２０】
かかる構成により、第一アプリに第二アプリの機能を仮想的に付加することができる。
【発明の効果】
【００２１】
本発明による情報処理装置によれば、第一アプリに第二アプリの機能を仮想的に付加することができる。
【図面の簡単な説明】
【００２２】
【図１】実施の形態１における情報処理装置Ａのブロック図
【図２】同情報処理装置Ａの動作例について説明するフローチャート
【図３】同協調アプリ情報管理表を示す図
【図４】同画面例を示す図
【図５】同画面例を示す図
【図６】同画面例を示す図
【図７】同第二ウィンドウの例を示す図
【図８】同画面例を示す図
【図９】同ユーザ毎協調アプリ管理表を示す図
【図１０】同コンピュータシステムのブロック図
【発明を実施するための形態】
【００２３】
以下、情報処理装置等の実施形態について図面を参照して説明する。なお、実施の形態において同じ符号を付した構成要素は同様の動作を行うので、再度の説明を省略する場合がある。
【００２４】
（実施の形態１）
【００２５】
本実施の形態において、第一アプリに第二アプリがオーバーレイして表示される情報処理装置Ａについて説明する。情報処理装置Ａは、例えば、スマートフォン、タブレット端末、いわゆるパーソナルコンピュータ等であるが、その種類は問わない。
【００２６】
また、本実施の形態において、例えば、第二アプリは一部に透明の領域を含むウィンドウを表示し、当該ウィンドウが第一アプリのウィンドウに重畳して表示される。
【００２７】
さらに、本実施の形態において、例えば、第二アプリは、チャットの機能を実現するアプリである。
【００２８】
図１は、本実施の形態における情報処理装置Ａのブロック図である。情報処理装置Ａは、格納部１、受付部２、処理部３、および出力部４を備える。
【００２９】
格納部１は、アプリ格納部１１、および協調アプリ情報格納部１２を備える。受付部２は、ユーザ指示受付部２１、および第二起動指示受付部２２を備える。処理部３は、実行部３１、第二起動指示発行部３２、およびユーザ指示引渡部３３を備える。出力部４は、表示部４１を備える。
【００３０】
格納部１には、各種の情報が格納される。各種の情報は、例えば、複数のプログラム、後述する協調アプリ情報等である。各種の情報は、例えば、第一ウィンドウ情報、第二ウィンドウ情報（まとめて、適宜、「ウィンドウ情報」と言う。）である。ウィンドウ情報は、ウィンドウの管理のために使用される情報である。ウィンドウ情報は、公知の技術である。第一ウィンドウ情報とは、後述する第一ウィンドウに関する情報である。第一ウィンドウ情報は、例えば、起動中の第一アプリの第一ウィンドウのサイズ、形状、色彩、ウィンドウの画像情報、位置情報のうちの１以上の情報を含む。第二ウィンドウ情報とは、後述する第二ウィンドウに関する情報である。第二ウィンドウ情報は、例えば、起動中の第二アプリの第二ウィンドウのサイズ、形状、色彩、ウィンドウの画像情報、位置情報のうちの１以上の情報を含む。
【００３１】
アプリ格納部１１には、複数のプログラムが格納される。プログラムは、例えば、アプリを実現するプログラムである。複数のプログラムは、１または２以上の第一アプリを実現するプログラム、第二アプリを実現するプログラムを含む。なお、第一アプリは、第一のアプリケーションである。第一アプリは、第一サイズの第一ウィンドウを表示するアプリである。第一アプリは、第一のアプリケーションと言っても良い。第二アプリは、第二サイズの第二ウィンドウを表示するアプリである。第二アプリは、第二のアプリケーションと言っても良い。なお、アプリ格納部１１のアプリはプラットフォーム非依存であることは好適である。つまり、第二アプリは、第一アプリのプラットフォームの依存せずに、第一アプリに第二アプリのウィンドウをオーバーレイして表示できることは好適である。例えば、第一アプリが第一のＯＳ(例えば、ｉＯＳ（登録商標）)上で動作し、第二アプリが第一のＯＳではない第二のＯＳ（例えば、Ａｎｄｒｏｉｄ（登録商標）やＬｉｎｕｘ（登録商標）等）上で動作する場合もあり得る。また、複数の各アプリの記述言語は問わないことは言うまでもない。複数の各アプリは、例えば、ＨＴＭＬ、ＪａｖａＳｃｒｉｐｔ（登録商標）、ＣＳＳ等も実行可能であっても良い。
【００３２】
また、１または２以上の第一アプリと、第二アプリとは、一つのアプリの中の機能であっても良い。つまり、第一アプリと第二アプリは、通常、実行形式のプログラムであるが、関数やメソッド等でも良い。
【００３３】
第一サイズは、固定でも良いし、動的に変化しても良い。第一サイズは、例えば、情報処理装置Ａの画面サイズと同一のサイズである。第一サイズは、例えば、情報処理装置Ａの画面サイズから固定領域を除いた領域のサイズである。第二サイズも、固定でも良いし、動的に変化しても良い。第二サイズは、例えば、情報処理装置Ａの画面サイズと同一のサイズである。第二サイズは、例えば、情報処理装置Ａの画面サイズから固定領域を除いた領域のサイズである。なお、第一サイズと第二サイズとは、同一のサイズであることは好適である。だたし、第一サイズと第二サイズとは、同一でなくても良い。
【００３４】
また、第二ウィンドウは、一部に透明の領域を含むウィンドウであることは好適である。
【００３５】
協調アプリ情報格納部１２は、１または２以上の協調アプリ情報が格納される。協調アプリ情報は、第二アプリと協調する第一アプリに関する情報である。ここで、協調とは、第一アプリと第二アプリとが同時に起動されている状態である。協調とは、第一アプリの第一ウィンドウにオーバーレイして第二アプリの第二ウィンドウが表示されることである、と言っても良い。協調アプリ情報は、第一アプリを識別する第一アプリ識別子を有する。協調アプリ情報は、例えば、第一アプリ識別子、条件情報を有する。
【００３６】
条件情報は、第二アプリが起動されるための条件である。条件情報は、例えば、第二アプリが起動されるタイミングを特定する情報である。
【００３７】
条件情報は、例えば、第一アプリの起動に関する条件を示す起動条件情報、第一アプリに対して与えられるイベントに関する条件を示すイベント条件情報、自動的に発生するトリガーに関する条件を示すトリガー条件情報のいずれかである。
【００３８】
起動条件情報、例えば、「起動直後」、「起動直前」、「起動処理中」である。条件情報「起動直後」は第一アプリの起動の直後である、という条件である。条件情報「起動直前」は第一アプリの起動の直前である、という条件である。条件情報「起動処理中」は第一アプリの起動の処理中である、という条件である。
【００３９】
イベント条件情報は、例えば、「ボタンＡ押下時」、「画面Ｘ表示時」である。条件情報「ボタンＡ押下時」は、第一アプリの「ボタンＡ」が押下されたイベントが発生した場合に、第二アプリが起動されることを示す。条件情報「画面Ｘ表示時」は、第一アプリの「画面Ｘ」が表示されるイベントが発生した場合に、第二アプリが起動されることを示す。
【００４０】
トリガー条件情報は、ユーザからの何らかの入力に対応する条件ではなく、例えば、ユーザからの入力がＸ秒以上受け付けられないという条件、予め決められた時刻になったという条件等である。
【００４１】
受付部２は、各種の指示や情報を受け付ける。各種の指示や情報とは、例えば、後述するユーザ指示、後述する第二起動指示等である。
【００４２】
ユーザ指示受付部２１は、第一アプリに対する第一起動指示をユーザから受け付ける。第一起動指示は、第一アプリを起動する指示である。第一起動指示は、例えば、第一アプリのアイコンの選択（例えば、クリック、またはダブルクリック）により入力される。第一起動指示は、後述するユーザ指示の一例と考えても良い。
【００４３】
また、ここで、第一起動指示の入力手段は、例えば、タッチパネルやキーボードやマウスやメニュー画面によるもの等、何でも良い。
【００４４】
ここで、受け付けとは、通常、キーボードやマウス、タッチパネルなどの入力デバイスから入力された情報の受け付けであるが、有線もしくは無線の通信回線を介して送信された情報の受信、光ディスクや磁気ディスク、半導体メモリなどの記録媒体から読み出された情報の受け付けなどを含む概念である考えても良い。
【００４５】
ユーザ指示受付部２１は、第二ウィンドウに対して、ユーザ指示を受け付ける。ユーザ指示とは、ユーザによる操作に基づく指示である。ユーザ指示は、例えば、ウィンドウ（画面と言っても良い）に対する指示（例えば、クリック、ダブルクリック、メニュー項目の選択等）である。
【００４６】
ユーザ指示受付部２１は、通常、第一ウィンドウに対して、ユーザ指示を受け付ける。つまり、ユーザ指示受付部２１は、通常、情報処理装置Ａの画面に対するユーザ指示を受け付ける。
【００４７】
また、ここで、ユーザ指示の入力手段は、例えば、タッチパネルやキーボードやマウスやメニュー画面によるもの等、何でも良い。
【００４８】
ここで、受け付けとは、通常、キーボードやマウス、タッチパネルなどの入力デバイスから入力された情報の受け付けであるが、有線もしくは無線の通信回線を介して送信された情報の受信、光ディスクや磁気ディスク、半導体メモリなどの記録媒体から読み出された情報の受け付けなどを含む概念である考えても良い。
【００４９】
第二起動指示受付部２２は、第一アプリが起動される場合または起動中に、第二アプリに対する第二起動指示を受け付ける。第二起動指示は、第二アプリを起動する指示である。第二起動指示は、第二アプリが起動するイベントと考えても良い。第二起動指示の受け付けにより、第二アプリが起動すれば良い。第二起動指示の受け付けは、通常、ユーザの操作に基づくものではない。第二起動指示の受け付けは、例えば、第一アプリからの第二起動指示の受け付けである。第二起動指示の受け付けは、例えば、ＯＳからの第二起動指示の受け付けである。言い換えれば、第二起動指示受付部２２は、例えば、第一アプリ等の第二アプリではないソフトウェアからの、第二アプリの起動の指示である。
【００５０】
第二起動指示受付部２２は、例えば、後述する第二起動指示発行部３２が発行した第二起動指示を受け付ける。
【００５１】
また、第一アプリが起動される場合とは、第一アプリの起動直前、第一アプリの起動処理の最中、第一アプリの起動直後のいずれかである。起動中とは、第一アプリの起動中である。
【００５２】
第二起動指示受付部２２は、予め決められた条件を満たした場合に第二起動指示を受け付けることは好適である。
【００５３】
ここで、予め決められた条件は、例えば、協調アプリ情報格納部１２が有する１または２以上のいずれかの協調アプリ情報が有する条件情報が示す条件である。予め決められた条件は、例えば、第一アプリの起動処理が完了した場合である。また、予め決められた条件とは、例えば、第一アプリから送付された操作イベントが予め決められた条件を満たすことである。操作イベントが予め決められた条件を満たすこととは、操作イベントが、予め決められた特定のイベントであることである。予め決められた特定のイベントは、例えば、予め決められたボタンが指示（例えば、クリック、またはダブルクリック等）されたことにより発生するイベントである。かかるイベントは、例えば、「特定のボタン識別子  click」、「特定のボタン識別子  DoubleClick」等である。
【００５４】
処理部３は、各種の処理を行う。各種の処理とは、例えば、実行部３１、第二起動指示発行部３２、ユーザ指示引渡部３３等が行う処理である。
【００５５】
実行部３１は、ユーザ指示の受け付けに応じた処理を行う。実行部３１は、受け付けられたユーザ指示に対応する処理を行う。処理は、チャット機能を実現するための処理、情報の表示処理など、何でも良い。実行部３１は、例えば、チャット機能を実現するための処理を行う。実行部３１は、例えば、アンケート機能を実現するための処理を行う。アンケート機能は、通常、アンケートを実施し、アンケートの回答を集計する機能を有する。アンケート機能は、例えば、情報処理装置Ａまたは他の装置からアンケートの回答を示す回答情報を受け付け、蓄積するまたは外部の装置に送信する機能を有する。そして、アンケート機能は、例えば、複数人の回答情報を統計処理し、統計処理結果を取得する機能を有する。実行部３１は、例えば、ポップアップで情報を表示する機能を実現するための処理を行う。実行部３１は、チャット機能を実現するための処理、アンケート機能を実現するための処理、またはポップアップで情報を表示する機能のいずれか１または２以上の処理を行うことは好適である。実行部３１は、例えば、第一起動指示の受け付けに応じて、アプリ格納部１１の第一アプリを起動する。実行部３１は、例えば、後述する第二起動指示の発行に応じて、第二アプリを起動する。
【００５６】
第二起動指示発行部３２は、協調アプリ情報が有する第一アプリ識別子で識別される第一アプリが起動される場合または起動中に、第二アプリに対して第二起動指示を発行する。第二起動指示の発行とは、第二起動指示を第二アプリに与えることである。第二起動指示の発行とは、第二起動指示の送付と言っても良い。第二起動指示の発行とは、第二アプリが起動されることが結果的に起これば良い。
【００５７】
ユーザ指示引渡部３３は、ユーザ指示受付部２１において、透明の領域にユーザ指示を受け付けた場合に、ユーザ指示を第一アプリに渡す。
【００５８】
具体的には、ユーザ指示引渡部３３は、例えば、以下のように動作する。つまり、ユーザ指示引渡部３３は、ユーザ指示を受け付けた場合、例えば、当該ユーザ指示の位置を示す位置情報（ｘ，ｙ）を取得する。なお、位置情報（ｘ，ｙ）は、例えば、ユーザにより指示された点の座標値（画面上の座標値）である。次に、ユーザ指示引渡部３３は、例えば、格納部１の第二ウィンドウ情報が有する各位置の点の色を示す情報（例えば、画像情報）を用いて、当該位置情報（ｘ，ｙ）に対応する第二ウィンドウの位置の点の色が透明であるか否かを判断する。そして、透明である場合は、ユーザ指示引渡部３３は、当該ユーザ指示を起動中の第一アプリに渡す。また、透明でなければ、ユーザ指示引渡部３３は、当該ユーザ指示を第二アプリに渡す。なお、ユーザ指示を第一アプリに渡す処理は、結果として、第一アプリが、ユーザ指示に基づく処理を行えば良い。また、ユーザ指示を第二アプリに渡す処理は、結果として、第二アプリが、ユーザ指示に基づく処理を行えば良い。
【００５９】
出力部４は、各種の情報を出力する。各種の情報とは、例えば、第一アプリの画面である第一ウィンドウ、第二アプリの画面である第二ウィンドウ等である。
【００６０】
ここで、出力とは、通常、ディスプレイへの表示であるが、プロジェクターを用いた投影、プリンタでの印字、音出力、外部の装置への送信、記録媒体への蓄積、他の処理装置や他のプログラムなどへの処理結果の引渡しなどを含む概念であると考えても良い。
【００６１】
表示部４１は、第二起動指示の受け付けに応じて、第一ウィンドウにオーバーレイして第二ウィンドウを表示する。オーバーレイとは、ここでは、通常、完全に重なることを言うが、一部の領域が重なることを含めて考えても良い。オーバーレイは、重畳と言っても良い。なお、第二ウィンドウの表示は、通常、第二アプリの起動の結果である。
【００６２】
表示部４１は、第一起動指示の受け付けに応じて、第一ウィンドウを表示する。なお、第一ウィンドウの表示は、通常、第一アプリの起動の結果である。
【００６３】
格納部１、アプリ格納部１１、および協調アプリ情報格納部１２は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。
【００６４】
格納部１等に情報が記憶される過程は問わない。例えば、記録媒体を介して情報が格納部１等で記憶されるようになってもよく、通信回線等を介して送信された情報が格納部１等で記憶されるようになってもよく、あるいは、入力デバイスを介して入力された情報が格納部１等で記憶されるようになってもよい。
【００６５】
受付部２、およびユーザ指示受付部２１は、タッチパネルやキーボード等の入力手段のデバイスドライバーや、メニュー画面の制御ソフトウェア等で実現され得る。
【００６６】
第二起動指示受付部２２、処理部３、実行部３１、第二起動指示発行部３２、およびユーザ指示引渡部３３は、通常、ＭＰＵやメモリ等から実現され得る。処理部３等の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはＲＯＭ等の記録媒体に記録されている。但し、ハードウェア（専用回路）で実現しても良い。
【００６７】
出力部４は、ディスプレイやスピーカー等の出力デバイスを含むと考えても含まないと考えても良い。出力部４は、出力デバイスのドライバーソフトまたは、出力デバイスのドライバーソフトと出力デバイス等で実現され得る。
【００６８】
表示部４１は、ディスプレイデバイスを含むと考えても含まないと考えても良い。表示部４１は、ディスプレイデバイスのドライバーソフトまたは、ディスプレイデバイスのドライバーソフトとディスプレイデバイス等で実現され得る。
【００６９】
次に、情報処理装置Ａの動作例について、図２のフローチャートを用いて説明する。
【００７０】
（ステップＳ２０１）ユーザ指示受付部２１は、第一アプリに対する第一起動指示をユーザから受け付けたか否かを判断する。第一起動指示を受け付けた場合はステップＳ２０２に行き、第一起動指示を受け付けなかった場合はステップＳ２０７に行く。
【００７１】
（ステップＳ２０２）実行部３１は、アプリ格納部１１の第一アプリを起動する。
【００７２】
（ステップＳ２０３）表示部４１は、第一ウィンドウを表示する。なお、第一ウィンドウの表示は、第一アプリの起動の結果である。
【００７３】
（ステップＳ２０４）処理部３または実行部３１は、第一アプリ等が協調アプリ情報格納部１２の１以上の各協調アプリ情報が有する条件情報が示す条件に合致するか否かを判断する。条件に合致すると判断した場合はステップＳ２０５に行き、条件に合致しないと判断した場合はステップＳ２０１に戻る。
【００７４】
（ステップＳ２０５）実行部３１は、アプリ格納部１１の第二アプリを起動する。
【００７５】
（ステップＳ２０６）表示部４１は、第一ウィンドウにオーバーレイして第二ウィンドウを表示する。ステップＳ２０１に戻る。なお、第二ウィンドウの表示は、第二アプリの起動の結果である。
【００７６】
（ステップＳ２０７）ユーザ指示受付部２１は、ユーザ指示を受け付けたか否かを判断する。ユーザ指示を受け付けた場合はステップＳ２０８に行き、ユーザ指示を受け付けなかった場合はステップＳ２１５に行く。
【００７７】
（ステップＳ２０８）ユーザ指示引渡部３３は、ステップＳ２０７で受け付けられたユーザ指示が第二ウィンドウに対する指示であるか否かを判断する。第二ウィンドウに対する指示である場合はステップＳ２０９に行き、第二ウィンドウに対する指示でない場合はステップＳ２１４に行く。なお、オブジェクト指向のプログラムで情報処理装置Ａのソフトウェアが実現されている場合等、かかる判断なしで、各ウィンドウであるオブジェクトがユーザ指示を受け付けても良い。
【００７８】
（ステップＳ２０９）ユーザ指示引渡部３３は、ステップＳ２０７で受け付けられたユーザ指示が第二ウィンドウの透明の領域への指示であるか否かを判断する。透明の領域への指示である場合はステップＳ２１０に行き、透明の領域への指示でない場合はステップＳ２１２に行く。
【００７９】
（ステップＳ２１０）ユーザ指示引渡部３３は、ステップＳ２０７で受け付けられたユーザ指示を第一アプリに渡す。
【００８０】
（ステップＳ２１１）実行部３１は、第一アプリによるユーザ指示に応じた動作を行う。ステップＳ２０１に戻る。
【００８１】
（ステップＳ２１２）ユーザ指示引渡部３３は、ステップＳ２０７で受け付けられたユーザ指示を第二アプリに渡す。
【００８２】
（ステップＳ２１３）実行部３１は、第二アプリによるユーザ指示に応じた動作を行う。ステップＳ２０１に戻る。
【００８３】
（ステップＳ２１４）処理部３または実行部３１は、第一アプリおよびステップＳ２０７で受け付けられたユーザ指示等が、協調アプリ情報格納部１２の１以上の各協調アプリ情報が有する条件情報が示す条件に合致するか否かを判断する。条件に合致すると判断した場合はステップＳ２０５に行き、条件に合致しないと判断した場合はステップＳ２１０に行く。
【００８４】
（ステップＳ２１５）処理部３または実行部３１は、第一アプリ等が、協調アプリ情報格納部１２の１以上の各協調アプリ情報が有する条件情報が示す条件に合致するか否かを判断する。条件に合致すると判断した場合はステップＳ２０５に行き、条件に合致しないと判断した場合はステップＳ２０１に戻る。
【００８５】
なお、図２のフローチャートにおいて、電源オフや処理終了の割り込みにより処理は終了する。
【００８６】
以下、本実施の形態における情報処理装置Ａの具体的な動作について説明する。情報処理装置Ａの外観図は図４である。
【００８７】
今、協調アプリ情報格納部１２には、図３に示す協調アプリ情報管理表が格納されている。協調アプリ情報管理表には、複数の協調アプリ情報が管理されている。協調アプリ情報管理表は、「ＩＤ」「協調アプリ情報」を有する複数のレコードを含む。「協調アプリ情報」は、「アプリ識別子」「条件情報」を有する。「アプリ識別子」は、ここではアプリのファイル名である。「条件情報」は、第二アプリが起動されるための条件に関する情報である。協調アプリ情報管理表の「Ａ１．ｅｘｅ」「Ａ２．ｅｘｅ」は、第一アプリの例である、とする。
【００８８】
また、ここで第二アプリは、チャット機能を実現するアプリである、とする。つまり、本具体例は条件情報が示す条件に合致した場合に、アプリ識別子で識別される第一アプリにチャット機能を付加できる場合である。
【００８９】
かかる状況において、以下の２つの具体例について説明する。具体例１は、第一アプリから送付された操作イベントが予め決められた条件を満たす場合に第二アプリを起動する場合である。具体例２は、第一アプリの起動直後に第二アプリを起動する場合である。
（具体例１）
【００９０】
今、情報処理装置Ａの画面が図４の状態において、アプリ「Ａ２．ｅｘｅ」のアイコン４０１をユーザがクリックした、とする。すると、情報処理装置Ａのユーザ指示受付部２１は、アイコン４０１のユーザ指示を受け付ける。
【００９１】
次に、ユーザ指示引渡部３３は、受け付けられたユーザ指示が第二ウィンドウに対する指示でない、と判断する。次に、処理部３は、ユーザ指示が、協調アプリ情報管理表の１以上の各協調アプリ情報が有する条件情報が示す条件に合致しない、と判断する。
【００９２】
次に、ユーザ指示引渡部３３は、当該ユーザ指示をアプリ「Ａ２．ｅｘｅ」に渡す。そして、実行部３１は、アプリ「Ａ２．ｅｘｅ」を起動する。そして、表示部４１はアプリ「Ａ２．ｅｘｅ」の画面である第一ウィンドウを表示する。かかる第一ウィンドウの例は、図５である。図５は、ユーザ登録のための画面である。なお、現在、アプリ「Ａ２．ｅｘｅ」の起動直後である。
【００９３】
次に、処理部３は、アプリ識別子「Ａ２．ｅｘｅ」と「起動直後」が、協調アプリ情報管理表の１以上の各協調アプリ情報が有する条件情報が示す条件に合致するか否かを判断する。ここで、処理部３は、アプリ識別子「Ａ２．ｅｘｅ」と「起動直後」が、いずれの協調アプリ情報が有する条件情報が示す条件にも合致しない、と判断する。
【００９４】
次に、ユーザは、図５の画面の５０１のボタン”Send View”を指示した、とする。すると、ユーザ指示受付部２１は、かかるユーザ指示を受け付ける。このユーザ指示は、「”Send View”Button ON」である、とする。
【００９５】
次に、ユーザ指示引渡部３３は、受け付けられたユーザ指示「”Send View”Button ON」が第二ウィンドウに対する指示ではない、と判断する。第二アプリが起動されておらず、第二ウィンドウが表示されていないからである。
【００９６】
次に、処理部３は、第一アプリ「Ａ２．ｅｘｅ」および受け付けられたユーザ指示「”Send View”Button ON」が、協調アプリ情報管理表の１以上の各協調アプリ情報が有する条件情報が示す条件に合致するか否かを判断する。ここで、第一アプリ「Ａ２．ｅｘｅ」および受け付けられたユーザ指示「”Send View”Button ON」が、協調アプリ情報管理表の「ＩＤ＝２」のレコードに合致するので、処理部３は、「ＩＤ＝２」の条件情報が示す条件に合致する、と判断する。
【００９７】
次に、実行部３１は、アプリ格納部１１の第二アプリを起動する。そして、表示部４１は、第一ウィンドウにオーバーレイして第二ウィンドウを表示する。かかる表示例は、図６である。図６は、図７の第二ウィンドウを、図５の第一ウィンドウにオーバーレイして表示した例である。図７の７０１の領域は透明な領域である。また、図７の７０２は、チャット機能を呼び出すためのボタンである。
【００９８】
そして、ユーザは、図６の６０１を指示した、とする。すると、ユーザ指示受付部２１は、ユーザ指示を受け付ける。かかる指示は、第二ウィンドウに対する指示である。
【００９９】
次に、ユーザ指示引渡部３３は、受け付けられたユーザ指示が第二ウィンドウに対する指示である、と判断する。
【０１００】
次に、ユーザ指示引渡部３３は、格納部１の第二ウィンドウ情報の画像情報（例えば、図７）を用いて、受け付けられた当該ユーザ指示が第二ウィンドウの透明の領域への指示でない、と判断する。なお、格納部１の第二ウィンドウ情報は、第二アプリの起動により、実行部３１により蓄積される。第二ウィンドウ情報は、例えば、図７の画像情報、第二ウィンドウの始点を示す位置情報（０，０）、サイズ（画面の幅ｗ,画面の高さｈ）を有する。つまり、第二ウィンドウは、画面全体を覆うウィンドウである。なお、第一ウィンドウも、画面全体を覆うウィンドウである、とする。
【０１０１】
次に、ユーザ指示引渡部３３は、受け付けられたユーザ指示を第二アプリに渡す。そして、実行部３１は、第二アプリによるユーザ指示に応じた動作を行う。つまり、チャット機能の実現の画面が表示される。かかる画面例は、図８である。チャット機能は公知技術であるので詳細な説明を省略する。
【０１０２】
なお、図６の画面が表示されている状況において、ユーザがボタン６０２を指示した、とする。すると、ユーザ指示受付部２１は、当該ユーザ指示を受け付ける。
【０１０３】
次に、ユーザ指示引渡部３３は、受け付けられたユーザ指示が第二ウィンドウに対する指示である、と判断する。
【０１０４】
次に、ユーザ指示引渡部３３は、格納部１の第二ウィンドウ情報を参照し、受け付けられたユーザ指示が第二ウィンドウの透明の領域への指示であると、判断する。
【０１０５】
次に、ユーザ指示引渡部３３は、受け付けられたユーザ指示を第一アプリに渡す。なお、かかるユーザ指示は、例えば、指示された位置を示す位置情報（ｘ１，ｙ１）を有する。
【０１０６】
次に、実行部３１は、第一アプリによるユーザ指示に応じた動作を行う。つまり、第一アプリにおいて、位置情報（ｘ１，ｙ１）が押下された場合と同様の処理（ボタン６０２が押下された時の処理）が行われる。
【０１０７】
以上、本具体例において、第一アプリから送付された操作イベントが予め決められた条件を満たす場合に第二アプリを起動することにより、適切な場合に、第一アプリに第二アプリの機能（ここではチャット機能）を仮想的に付加することができる。
（具体例２）
【０１０８】
今、情報処理装置Ａの画面が図４の状態において、アプリ「Ａ１．ｅｘｅ」のアイコン４０２をユーザがクリックした、とする。すると、情報処理装置Ａのユーザ指示受付部２１は、アイコン４０１のユーザ指示を受け付ける。そして、実行部３１は、アプリ「Ａ１．ｅｘｅ」を起動する。そして、表示部４１はアプリ「Ａ１．ｅｘｅ」の画面である第一ウィンドウを表示する。かかる第一ウィンドウの例は、図５である。図５は、ユーザ登録のための画面である。なお、現在、アプリ「Ａ１．ｅｘｅ」の起動直後である。なお、具体例１のアプリ「Ａ２．ｅｘｅ」と具体例２のアプリ「Ａ１．ｅｘｅ」とは、通常、異なるが、説明の便宜上、第一ウィンドウの画面は同じ画面を採用している。
【０１０９】
次に処理部３は、第一アプリ「Ａ１．ｅｘｅ」、状態「起動直後」が協調アプリ情報管理表のいずれかの協調アプリ情報が有する条件情報が示す条件に合致するか否かを判断する。ここで、処理部３は、協調アプリ情報管理表の「ＩＤ＝１」の条件情報が示す条件に合致する、と判断する。
【０１１０】
次に、実行部３１は、アプリ格納部１１の第二アプリを起動する。そして、表示部４１は、第一ウィンドウにオーバーレイして第二ウィンドウを表示する。かかる表示例は、図６である。図６は、図７の第二ウィンドウを、図５の第一ウィンドウにオーバーレイして表示した例である。
【０１１１】
以後の処理は、具体例１で説明した内容と同様である。
【０１１２】
以上、本具体例において、第一アプリの起動直後に第二アプリを起動することにより、適切な場合に、第一アプリに第二アプリの機能（ここではチャット機能）を仮想的に付加することができる。
【０１１３】
以上、本実施の形態によれば、第一アプリに第二アプリの機能を仮想的に付加することができる。
【０１１４】
また、本実施の形態によれば、適切な場合に、第一アプリに第二アプリの機能を仮想的に付加することができる。
【０１１５】
なお、本実施の形態において、第一アプリの機能、および第二アプリの機能は問わない。
【０１１６】
また、本実施の形態において、ユーザごとに第二アプリを起動する機能を管理しても良い。例えば、本実施の形態において、ユーザごとに、協調アプリ情報を管理しても良い。かかるユーザ毎協調アプリ管理表を図９に示す。ユーザ毎協調アプリ管理表は、格納部１に格納される。ユーザ毎協調アプリ管理表は、「ＩＤ」「ユーザ識別子」「協調アプリ情報識別子」を有する。「ＩＤ」はレコードを識別する情報である。「ユーザ識別子」はユーザを識別する情報である。「ユーザ識別子」は、例えば、ユーザＩＤ、氏名、メールアドレス、電話番号、ＩＰアドレス等である。「ユーザ識別子」は、ユーザが使用する情報処理装置を識別する情報でも良い。「協調アプリ情報識別子」は、協調アプリ情報管理表のＩＤである。図９において、ユーザ「Ｕ０１」は、アプリ「Ａ１．ｅｘｅ」の起動直後から第二アプリの利用が可能である。また、ユーザ「Ｕ０１」は、アプリ「Ａ２．ｅｘｅ」の“Send View”Buttonを指示した場合に第二アプリの利用が可能である。さらに、ユーザ「Ｕ０２」は、アプリ「Ａ１．ｅｘｅ」の起動直後から第二アプリの利用が可能である。ただし、ユーザ「Ｕ０２」は、アプリ「Ａ２．ｅｘｅ」の“Send View”Buttonを指示した場合でも第二アプリの利用が可能とならない。
【０１１７】
さらに、本実施の形態における処理は、ソフトウェアで実現しても良い。そして、このソフトウェアをソフトウェアダウンロード等により配布しても良い。また、このソフトウェアをＣＤ−ＲＯＭなどの記録媒体に記録して流布しても良い。なお、このことは、本明細書における他の実施の形態においても該当する。なお、本実施の形態における情報処理装置Ａを実現するソフトウェアは、以下のようなプログラムである。つまり、このプログラムは、例えば、コンピュータに、第一サイズの第一ウィンドウを表示する第一アプリが起動される場合または起動中に、第二アプリに対する第二起動指示を受け付ける第二起動指示受付ステップと、前記第二起動指示の受け付けに応じて、前記第一ウィンドウにオーバーレイして第二ウィンドウを表示する表示ステップと、前記第二ウィンドウに対して、ユーザ指示を受け付けるユーザ指示受付ステップと、前記ユーザ指示の受け付けに応じた処理を行う実行ステップとを実行させるためのプログラムである。
【０１１８】
また、上記プログラムにおいて、前記第二起動指示受付ステップにおいて、予め決められた条件を満たした場合に前記第二起動指示を受け付けるプログラムであることは好適である。
【０１１９】
また、上記プログラムにおいて、前記予め決められた条件は、前記第一アプリから送付された操作イベントが予め決められた条件を満たすことであるプログラムであることは好適である。
【０１２０】
また、上記プログラムにおいて、前記第二ウィンドウは前記第一ウィンドウと同じ大きさであり、前記表示ステップにおいて、前記第一ウィンドウに完全に重ねて第二ウィンドウを表示するプログラムであることは好適である。
【０１２１】
また、上記プログラムにおいて、前記第二ウィンドウは、一部に透明の領域を含むプログラムであることは好適である。
【０１２２】
また、上記プログラムにおいて、前記ユーザ指示受付ステップにおいて前記透明の領域にユーザ指示を受け付けた場合に、当該ユーザ指示を前記第一アプリに渡すユーザ指示引渡ステップをさらに実行させ、前記実行ステップにおいて、前記透明の領域以外の領域にユーザ指示を受け付けた場合に、前記ユーザ指示の受け付けに応じた処理を行うプログラムであることは好適である。
【０１２３】
また、上記プログラムにおいて、前記実行ステップにおいて、チャット機能を実現するための処理を行うプログラムであることは好適である。
【０１２４】
また、上記プログラムにおいて、第一アプリを識別する第一アプリ識別子を有する２以上の協調アプリ情報が格納される協調アプリ情報格納部にアクセス可能なコンピュータに、前記協調アプリ情報が有する第一アプリ識別子で識別される第一アプリが起動される場合または起動中に、前記第二アプリに対して第二起動指示を発行する第二起動指示発行ステップをさらに実行させ、前記第二起動指示受付ステップにおいて、前記第二起動指示発行ステップで発行された第二起動指示を受け付けるプログラムであることは好適である。
【０１２５】
また、例えば、コンピュータに、ユーザから起動指示を受け付けるユーザ起動指示受付ステップと、前記ユーザ起動指示の受け付けに応じて、起動される起動ステップと、前記ユーザ起動指示の受け付けに応じて、上記のプログラムにより実現される第二アプリを起動するアプリ起動ステップとを具備する第一アプリを実現するプログラムである。
【０１２６】
また、本明細書で述べたプログラムを実行して、上述した種々の実施の形態の情報処理装置Ａを実現するコンピュータの外観を示す図は、例えば、図４である。上述の実施の形態は、コンピュータハードウェア及びその上で実行されるコンピュータプログラムで実現され得る。図１０は、情報処理装置Ａを実現するシステム３００のブロック図である。システム３００は、コンピュータ３０１、ディスプレイ３０４を有する。
【０１２７】
図１０において、コンピュータ３０１は、ＭＰＵ３０１３等に接続されたバス３０１４と、ブートアッププログラム等のプログラムを記憶するためのＲＯＭ３０１５と、アプリケーションプログラムの命令を一時的に記憶するとともに一時記憶空間を提供するためのＲＡＭ３０１６と、アプリケーションプログラム、システムプログラム、及びデータを記憶するためのハードディスク３０１７とを含む。
【０１２８】
コンピュータシステム３００に、上述した実施の形態の情報処理装置Ａの機能を実行させるプログラムは、例えば、ハードディスク３０１７に記録されている。プログラムは、図示しないネットワークを介してコンピュータ３０１に送信され、ハードディスク３０１７に記憶されても良い。プログラムは実行の際にＲＡＭ３０１６にロードされる。プログラムは、ネットワークから直接、ロードされても良い。
【０１２９】
プログラムは、コンピュータ３０１に、上述した実施の形態の情報処理装置Ａの機能を実行させるオペレーティングシステム（ＯＳ）、またはサードパーティープログラム等は、必ずしも含まなくても良い。プログラムは、制御された態様で適切な機能（モジュール）を呼び出し、所望の結果が得られるようにする命令の部分のみを含んでいれば良い。コンピュータシステム３００がどのように動作するかは周知であり、詳細な説明は省略する。
【０１３０】
また、上記プログラムを実行するコンピュータは、単数であってもよく、複数であってもよい。すなわち、集中処理を行ってもよく、あるいは分散処理を行ってもよい。  また、上記各実施の形態において、各処理は、単一の装置によって集中処理されることによって実現されてもよく、あるいは、複数の装置によって分散処理されることによって実現されてもよい。つまり、情報処理装置Ａの機能の一部または全部を図示しないサーバ装置が行っても良い。かかるサーバ装置は、いわゆるクラウドサーバ、ＡＳＰサーバ等、その種類は問わない。情報処理装置Ａがサーバ装置である場合、受付部２は、図示しない端末装置から指示または情報等を受信する。また、出力部４は、図示しない端末装置に情報等を送信する。
【０１３１】
本発明は、以上の実施の形態に限定されることなく、種々の変更が可能であり、それらも本発明の範囲内に包含されるものであることは言うまでもない。
【産業上の利用可能性】
【０１３２】
以上のように、本発明にかかる情報処理装置は、第一アプリに第二アプリの機能を仮想的に付加することができるという効果を有し、情報処理装置等として有用である。
【符号の説明】
【０１３３】
１  格納部
２  受付部
３  処理部
４  出力部
１１  アプリ格納部
１２  協調アプリ情報格納部
２１  ユーザ指示受付部
２２  第二起動指示受付部
３１  実行部
３２  第二起動指示発行部
３３  ユーザ指示引渡部
４１  表示部
【図１】
2020074084.tif 000003
【図２】
2020074084.tif 000004
【図３】
2020074084.tif 000005
【図４】
2020074084.tif 000006
【図５】
2020074084.tif 000007
【図６】
2020074084.tif 000008
【図７】
2020074084.tif 000009
【図８】
2020074084.tif 000010
【図９】
2020074084.tif 000011
【図１０】
2020074084.tif 000012