(57)【特許請求の範囲】
【請求項１】
コマンド名と機能とを関連付けて記述してなる機能リストを有するコアを起動するコア起動ステップと、
Flash Player（商標）で再生可能なswfファイルであって、ガジェットをパソコンのデスクトップの一部に表示するためのswfファイルと、前記ガジェットに用いられる前記swfファイルの名前を含む定義ファイルとを含むフォルダを前記コアが参照し、前記定義ファイルに基づいて前記swfファイルを特定するswf特定ステップと、
特定された前記swfファイルを前記コアがFlash Playerに再生させて前記ガジェットを表示するガジェット表示ステップと、
前記ガジェットがコマンド名を前記コアへ発行するリクエストステップと、
前記コアが、前記コマンド名に関連付けられた前記機能を前記機能リストの中から探し出して、実行する実行ステップと、
を備えるパソコンのデスクトップ上にユーザーインタフェースを表示するための方法において、
前記ガジェット表示ステップは、
前記swfファイルの画像を再生する再生ステップと、
前記再生ステップで再生された画像の背景を第１色とした第１画像と、前記画像の背景を前記第１色と異なる第２色とした第２画像を作成する画像作成ステップと、
前記第１画像と前記第２画像の差分を求める差分算出ステップと、
前記差分の結果に基づき前記swfファイルに含まれるアルファチャネルの情報を抜き出す情報抽出ステップと、
抜き出した前記アルファチャネルの情報に基づき前記ガジェットに対する透過処理を実行する透過処理ステップと
を備える、方法。
【請求項２】
前記リクエストステップにおいて、前記ガジェットは前記コマンド名をFSCommandとして発行し、
前記実行ステップにおいて、前記コアは前記FSCommandにて示されるコマンド名に基づいて前記機能を探し出す
請求項１記載の方法。
【請求項３】
コマンド名と機能とを関連付けて記述してなる機能リストを有するプログラムであって、
Flash Player（商標）で再生可能なswfファイルであって、ガジェットをパソコンのデスクトップの一部に表示するためのswfファイルと、前記ガジェットに用いられる前記swfファイルの名前を含む定義ファイルとを含むフォルダを参照し、前記定義ファイルに基づいて前記swfファイルを特定するswf特定ステップと、
特定された前記swfファイルをFlash Playerに再生させて前記ガジェットを表示させるガジェット表示ステップと、
表示された前記ガジェットからコマンド名を受けて、前記コマンド名に関連付けられた前記機能を前記機能リストの中から探し出して、実行する実行ステップと
をコンピュータに実行させるためのプログラムにおいて、
前記ガジェット表示ステップは、
前記swfファイルの画像を再生する再生ステップと、
前記再生ステップで再生された画像の背景を第１色とした第１画像と、前記画像の背景を前記第１色と異なる第２色とした第２画像を作成する画像作成ステップと、
前記第１画像と前記第２画像の差分を求める差分算出ステップと、
前記差分の結果に基づき前記swfファイルに含まれるアルファチャネルの情報を抜き出す情報抽出ステップと、
抜き出した前記アルファチャネルの情報に基づき前記ガジェットに対する透過処理を実行する透過処理ステップと
を備える、プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、インターネットに接続可能なパソコン（以下、「PC」）上で、情報提供者である団体等とその利用者である個人がビジュアル表現豊かで、より感覚的な情報コミュニケーションをするための技術に関する。
【背景技術】
【０００２】
・マイクロソフト社Windows（商標）（非特許文献１）
・Macromedia社F1ash（商標）(非特許文献２)
・C++(非特許文献３)
・JAVA（商標）(非特許文献４)
【非特許文献１】マイクロソフト社サイト内ページhttp://www.microsoft.com/japan/windows/defau1t.mspx
【非特許文献２】Macromedia杜サイトhttp://www.macromedia.com/jp/
【非特許文献３】INCITSサイトhttp://www.ncits.org/tc_home/j16.htm
【非特許文献４】JAVA標準化組織サイトhttp://www.jcp.org/ja/home/index
【発明の開示】
【発明が解決しようとする課題】
【０００３】
通常、アプリケーションを制作する場合、その都度その構築を行う必要がある。画面の表示形態を変更したり画像を修正したときは、毎回デザイナーとプログラマーの間で作業が発生する。そのため、従来のやり方は、プログラムのテストや安定性の観点から考えて効率的ではなかった。【０００４】
通常、アプリケーションを制作する場合は、そのアプリケーションにおけるOS機能の呼び出しをプログラムとして制作する必要がある。簡単なビジュアルファイル（例えば、後述の「ガジェット」のようなもの）を制作するだけにもかかわらず、上記機能を備えるアプリケーションの制作をすることは、OS機能関連プログラムに詳しくないビジュアルファイル制作者には困難であった。子となるアプリケーションからOS機能の利用を行う場合、子となるアプリケーション上で起きたアクションをOSの機能を結び付ける必要があり、そのためのプログラムを作成しなければならないためである。【０００５】
本発明は上記課題を解決するためになされたものであり、パソコンのデスクトップ上に、ビジュアル表現豊かで、より感覚的な情報コミュニケーションが可能になり、しかもその制作がOS機能関連プログラムに詳しくないビジュアルファイル制作者にとって困難にならないユーザーインタフェース及びその仕組み（ガジェット）を提供することを目的とする。
【課題を解決するための手段】
【０００６】
本発明に係るパソコンのデスクトップ上にユーザーインタフェースを表示するための方法は、
パソコンのデスクトップの一部に画像（以下、前記画像及びこれに与えられている機能を「ガジェット」と呼ぶ）を表示するためのファイルであって、Flash  Player（商標）で再生可能なファイル（以下、「swfファイル」と呼ぶ）と、前記ガジェットに使用する前記swfファイルの名前及び前記ガジェットを選択する際に使用される名前を含む定義ファイル（以下、「xmlファイル」と呼ぶ）と、前記ガジェットの機能を実行するためのアプリケーションプログラムとを含むフォルダが用意され、
前記フォルダを使用するプログラムを起動する（以下、起動されたプログラムを「コア」と呼ぶ）コア起動ステップと、
前記コアで前記フォルダのswfファイルに基づきFlash  Playerを呼び出すことにより、前記ガジェットを表示するガジェット表示ステップと、
前記コアで前記アプリケーションプログラムを起動して前記ガジェットに関連づけられた処理を開始する（以下、表示されたガジェット及び開始された処理を「子となるアプリ」と呼ぶ）ガジェット起動ステップと、
前記子となるアプリが、あらかじめ用意されたキーワードを、Flashにおいてメッセージを送るために用いられるFSCommandとして前記コアへ発行するリクエストステップと、
前記コアで前記FSCommandを受け、これを前記コア内であらかじめ定義された機能リストの中から探し出す検索ステップと、
前記コアで検索の結果を受け、当該結果の機能を実行するためにFlash  Playerを呼び出し、当該機能を実行させる実行ステップと、を備えるものである。【０００７】
コアとなるアプリケーションは、自分より下層にある特定のフォルダを参照し、その内部にあるフォルダの内、特定の名前を持ったファイルを持つものを子となるアプリケーションとして認識した上で、特定の名を持つファイルには、デスクトップ上でビジュアル表現を行うためのファイル名と、そのファイルを利用した子となるアプリケーションがアプリケーションとしてどのように振る舞うべきかの指定が記載され、コアとなるアプリケーションは、これらの情報を元にデスクトップ上に子となるアプリケーションを出現させ、こうして管理された子となるアプリケーションはタスクトレイに常駐するアイコン上でリスト化される。子となるアプリケーションの元となるビジュアルファイルの中で外部から参照可能なスペースに、あらかじめ定められたキーワードが入った場合、その瞬間コアとなるアプリケーションが定められた内容に従いアクションを起こす。【０００８】
この発明によれば、OSの機能を呼び出すといった基本的な機能は共通のコアとなるアプリケーションに持たせ、制作者はビジュアル部分のファイルを作成するだけですむので、その制作が容易になる。
【発明を実施するための最良の形態】
【０００９】
発明の実施の形態に係る方法／プログラムについて説明を加える。
発明の実施の形態に係る方法／プログラムは、既存の画像処理プログラムFlashをベースとして、デザイン性豊かなアプリケーションを実現するものである。
発明の実施の形態に係る方法／プログラムは、ユーザーのパソコンに常駐し、デジタルガジェットをデスクトップ上に出現させるための「仕組み」である。ガジェット（gadget）は、Macromedia社のFlashをベースに作成され、パソコン画面上に表現豊かに表示されるもので、好適なユーザーインタフェースを提供するものである。【００１０】
ガジェット（gadget）は、気のきいた小物又はちょっとした機械装置という意味である。本明細書において、発明の実施の形態に係る方法／プログラムによりユーザーのパソコン画面上に表示される小さな画像をガジェットと呼ぶことにする。ガジェットをアニメーションで動的に表現したり、文字を書き込んだり、検索などの何らかの処理を実行させることが可能である。なお、画面上に表示される小さな画像としてOSで管理されるアイコンがあるが、アイコンはそれをクリックすることによりリンクされたプログラム／ファイルを起動するものであるが、ガジェットのようにアニメーションで動的に表現したり、上記のような処理はできない。【００１１】
図１にガジェットの例を示す。図１はパソコンのデスクトップ画面の一部を示すものであり、Ｗは他のアプリケーションのウインドウである。
Ａはカーソルの動きを追う目玉のガジェットである。２つの円の愛らしい目玉がデスクトップ上に常に表示され、カーソルの動きを追う。なお、このような「目玉」自体はすでに公知であるが、公知のものはその表現が貧弱であり、それを作成・修正する際に多くの労力を必要とした。以下に説明する発明の実施の形態に係る方法／プログラムによれば、豊かな表現のガジェットを簡単に作成及び修正することができる（他のガジェットについても同様）。
Ｂはデジタル時計である。Ｃはカレンダーである。
Ｄはメモである。当該メモは書き込み可能であり、それをデスクトップ上の任意の位置に配置することができ、それを任意の色（中間色・透明色を含む）で着色することができる。【００１２】
ガジェットは次のような特徴を備える。
（１）パソコンに常駐し、パソコン画面上に表示されるアニメーションである。当該アニメーションは小さく（当該アニメーションを構成する画素数が少ない）、しかも、その位置を自由に設定できる。したがってパソコン画面上に常時表示されていたとしても他のアプリケーションの操作及び表示の妨げになることはない。かわいらしいデザインのガジェットをパソコン画面上に動画表示することで、パソコン作業中の息抜きや楽しみを提供することができる。
（２）ガジェットをクリックすることで特定の処理を実行させることができる。例えば、特定のウエブサイトを閲覧したり、検索を実行させることができる。
（３）画像の表現が豊かである。前述のアニメーションで表現できるばかりでなく、任意の形状としたり、陰影をつけたり、中間色で着色したり、さまざまなことが可能である。Flashをベースとしているので当該画像の作成は容易である。また、その修正も容易である。従来もガジェットのような機能を備える画像は存在したが、その表現は貧弱であった。画像表現を豊かにするためにはその作成に多くの労力を必要としたし、そのような表現手段がパソコンのOSでサポートされていなかったためである。また、当該画像に労力を要するのと同じ理由でそれを修正する際には多くの困難を伴った。これに対して、ガジェットはFlashをベースとしているので、その作成及び修正が容易である。【００１３】
Flashとは、Macromedia社が開発した、音声やベクターグラフィックスのアニメーションを組み合わせてWebコンテンツを作成するソフトウエアである。それによって作成されたコンテンツをFlashと呼ぶこともある。マウスやキーボードの入力により双方向性を持たせる機能もある。
Flashによって作られたファイルを閲覧するには、Webブラウザに専用のプラグイン「Flash Player」をインストールしておく必要がある。Flash自体は有料だが、Flash Playerは無料で配布されている。同社の「Director」に似ているが、Directorよりも操作が容易で、図形をベクター形式(頂点とそれを結ぶ曲線の方程式のパラメータ)で管理しているために、作成されたファイルのサイズも小さい。高度な機能においてはDirectorよりも劣るが、まだ回線速度の遅いインターネット上で、初めて実用に耐えるアニメーションツールとして登場したため、広く普及した。【００１４】
ガジェットを表示させるための手順は次の通りである。
（１）Flashでガジェット用のFlash  Playerファイル(swf)を作成する。これは通常のswfと変わらない。仮に当該ファイルを、IEやFlash  playerで再生すると普通に矩形のウィンドウ内に表示される。発明の実施の形態に係る方法／プログラムでは、後述の透過処理を行っているので、PCのデスクトップ上において任意の形状でガジェットを表示させることができる。
（２）発明の実施の形態に係る方法／プログラムを起動する。当該プログラムの実行中にFlash  Playerを呼び出すようになっている。発明の実施の形態に係るプログラム自身は、Flash  Playerの機能は持っておらず、IE等のブラウザと同様に、自身の中にFlash  Playerを呼び出している。【００１５】
次に、発明の実施の形態に係る方法／プログラムの処理について説明を加える。【００１６】
＜透過技術＞
図２のフローチャート及び図３の透過処理説明図を参照して、発明の実施の形態に係る方法／プログラムにおける透過技術について説明を加える。【００１７】
まず、従来技術について簡単に説明する。
コンピュータのＯＳであるWindows（商標）はWindowという単位で一つ一つのプログラムをディスプレイ上に描画し管理できるようになっている。Windowは矩形で管理され、一般的には、タイトルバーなどをつけた状態でディスプレイ上に表示される。
Windows（商標）ではマウスクリック等のイベントがディスプレイ上で起きるとその下のWindowに対して命令が送られ、アクティブなWindowがあった場合は、そのWindowを管理するプログラムに命令が送られる。
上記に書いたようにWindowは通常矩形で管理されるので、矩形以外の形状にWindowをする為には、マスク処理（元矩形と同じサイズの矩形でくりぬきたい形状で穴が空いている画像を元矩形にかぶせてくりぬいた状態で表示する処理）を行う必要がある。
Windows2000以前では、ディスプレイ上でマスク処理は、1bit単位でしか行えなかった。ドットをそのまま他の色に置き換えるので背景色を見ての中間色の処理ができない。このため、エッジはガタガタしたものになり、表現したい物の透過処理などもできなかった。
Windows2000以降では、GDI+というプログラムがWindowsに標準で搭載されるようになった。これは、1bit以上のマスク処理を可能にする物で、αチャネルと呼ばれる考え方を用いた透過処理がデスクトップ上で可能となった。これによって「元画像」「透過情報画像（αチャネル）」の２つの画像があれば、デスクトップ上でWindowを透過させることが可能になった。【００１８】
この機能を利用して、デスクトップ上で透過アプリを作る場合は、PNGファイルというファイル形式の画像を使うのが一般的である。pngファイルは、ファイルの内部に透過情報を持てるためである。ただ、pngで動的に形状が変化するようなアプリケーションを作りたい場合に、マスクもそのことを意識して準備してやることが必要であり、その実現は実際困難であった。【００１９】
発明の実施の形態に係る方法／プログラムによれば、pngで動的に形状が変化するようなアプリケーションを容易に実現することができる。その理由はFlashをベースとしているからである。Flashはブラウザ上で、制作したアプリケーションを動的に透過させる為に、αチャネル情報をその内部に持っている。これは元々動的であるので、Flash内のαチャネル情報をFlashのフレーム毎に抜き出してWindowsのGDI+が参照可能なαチャネル情報に変換することにより、動的に変化するデスクトップアプリケーションを汎用的に簡単に作れるようなプラットフォームを実現できるのである。Flashをこのように利用するプログラムは、発明者が新規に着想及び開発したものである。【００２０】
発明の実施の形態に係る方法／プログラムにおいて、それを実現する為に、ファイル（swf）の画像（png）を再生する（図２のＳ１０、図３のＰ１）。図３の例は、矩形のウインドウの中央に円が表示されたものである。【００２１】
次に、メモリ空間内で異なる二色の背景色を引いたFlashを再生する（図２のＳ１１、図３のＰ２及びＰ３）。背景色が異なる点を除き、両者は同じものである。Ｐ２とＰ３にどのような背景色を引くかは任意である。実際には処理の点で都合の良いものを固定でプログラムから割り当てるとよい。色が背景に入ると元画像の持っているアルファ情報に基づき色が変化します。（アルファ情報がゼロなら変化なし）【００２２】
ここでいうアルファ情報はアルファチャネル（Alpha Channel）のことである。アルファチャネルとは、イメージグラフィックスにおいて、透過度を表わすためのチャネルのことである。2つの画像を合成するような場合に、アルファチャネルの値に応じて画像の透明度を変え、片方の画像を透かして、もう片方の画像が見えるような効果を作ることができる。アルファ情報は、各点に設定された透過度情報を保存するデータ領域に保存される。透過度情報はアルファ値と呼ばれ、完全な透明(無色)から、完全な不透明(背景の色をまったく通さない)まで設定することができる。コンピュータが画像を扱う場合、色情報として、各点についてR(赤)・G(緑)・B(青)の三原色のデータ領域(チャンネル)をもち、その組み合わせで色を表現する(CMYKモードの場合は4色)。点の透明度を表現する場合にはこれにアルファチャンネルを加え、4つの情報の組み合わせで一つの点を表現する（例えば、Ｒ・Ｇ・Ｂ・アルファチャネル、各８ビット、合計３２ビット）。【００２３】
背景色が異なる２つの画像Ｐ２とＰ３の差分を求める（図２のＳ１２）。【００２４】
差分によって得られた色からFlashファイル内部のαチャネル情報を抜き出す（図２のＳ１３、図３のＰ４）。
画像Ｐ２のビットマップ情報と元画像Ｐ１を全ビット毎に比較すると、元画像Ｐ１が持っていたビット情報がどのように変化したかが分かる（画像Ｐ２について設定した背景色aについてのアルファ情報A）。仮に、画像Ｐ１の背景に赤を入れて、画像Ｐ２で出てきた色が紫なら青に関する情報がある。
同様に、画像Ｐ３のビットマップ情報と元画像Ｐ１を全ビット毎に比較すると、元画像Ｐ１が持っていたビット情報がどのように変化したかが分かる（画像Ｐ３について設定した背景色aについてのアルファ情報B）。
画像Ｐ２のアルファ情報Aと画像Ｐ３のアルファ情報Bを比較することで元画像Ｐ１が持っていたアルファチャネルの情報を導き出すことができる（より正確には3色を入れて比較する)。【００２５】
抜き出したαチャネル情報によって透過の命令を実行する（図２のＳ１４、図３のＰ５）。アルファチャネルの情報があればWindows上で透過の処理を行える。その結果、動的に変化し、透過可能なエッジのきれいなガジェットがデスクトップ上に出現する。【００２６】
上記処理のポイントは、Flash上で扱うアルファチャネルをWindows上で扱うアルファチャネルの情報に変換する部分にある。【００２７】
なお、透過する／透過しないというのは見た目の話で、技術的にはアルファ情報に基づきすべての画素について透過の処理を行うことになる。結果として色変化が起きない場合は透過しないのと同じ状態である。このような画素についても透過処理をするのはCPU負荷が無駄になる。そこで、色変化が無い場合（図２のＳ１５でＮＯ）は、透過処理をしないようにしてもよい。【００２８】
＜フォルダ構成＞
発明の実施の形態に係る方法／プログラムのフォルダ構成は、例えば図４のようになっている。アプリケーションを作成する場合、すべての素材をパッケージ化して１つのexeとして利用するのが一般的である。これに対して、発明の実施の形態に係る方法／プログラムでは、例えば図４に示すようにパッケージ化を行わず、実行ファイルと再生されるビジュアルファイルを分けて存在させている。この理由は下記のような事項を実現する為である。
・ガジェット単位で機能を後から柔軟に追加可能
・ユーザーからも機能の追加削除を可能とする
・ユーザーが操作可能なガジェットと操作の過程で自動的に表示されるガジェットの二種類がある。【００２９】
図５にxmlファイルの例を示す。
・＜gadget＞：
type : ガジェットの型を示す。
version : ガジェットのバージョン番号
・＜gadget＞＜swf＞：
ガジェットに使用するswfのファイル名
＜gadget＞＜title＞：
メニューおよびガジェット選択画面に使用される名前
・＜gadget＞＜list＞：メニューに表示するかどうかの指定
・＜gadget＞＜menu＞＜fix＞：前面固定の設定
・＜gadget＞＜menu＞＜config＞：設定ダイアログの設定
・＜gadget＞＜menu＞＜config_filename＞：設定ダイアログのhtmlファイル名
・＜gadget＞＜menu＞＜help＞：ヘルプの設定
・＜gadget＞＜menu＞＜help_url＞：ヘルプのＵＲＬ
・＜gadget＞＜author＞：作者名【００３０】
発明の実施の形態に係る方法／プログラムでは、exeを起動するとその下層ディレクトリにgadgetフォルダがあることを確認し、gadgetフォルダの下にあるフォルダでgadget.xmlを持っているものがいた場合、gadget.xmlの記述内容に従いデスクトップ上にWindowとして出現させる。【００３１】
これによって、次のような効果を奏する。
・ユーザーに複数のアプリケーションを利用させる為の環境を提供する時に、Windows上におけるスタートメニューとアプリケーションの関係性よりも安全なアプリケーション利用プラットフォームが実現できる（ユーザーの実行権限が著しく制限される為。OSの機能を利用する部分のプログラムはすべて共通となる為、バグが出にくい）。
・Windows上でのサービス提供の為のミドルウェアのような形になる（プラグインの概念に似ている）。
・インターネットブラウザのように矩形に縛られない情報展開が可能である（発明の実施の形態に係る方法／プログラム自身が枠の無いブラウザと言った形で動く為）。【００３２】
＜子とコア間通信＞【００３３】
通常Flashファイルはローカルの環境でも再生可能だが、たとえばファイルの保存や、ディスプレイ全体の中からマウスの座標位置を取ることができない。これは通常Flashファイルがプラグインとして提供されている為でFlashによるウィルスを作りにくくする為の使用となっている。【００３４】
発明の実施の形態に係る方法／プログラムは、Windows上でIEの代わりにFlashを再生するブラウザの形で機能するが、そもそもFlashは外部のプログラムと通信するためのFSCommandというインターフェースを持っている。【００３５】
Scriptとは、機械語への変換作業を省略して簡単に実行できるようにした簡易プログラムのことである。通常、プログラムはプログラマの書いたソースコード(設計図)をもとにコンピュータの理解できる機械語に変換して実行されるが、そのプロセスを自動化して簡単に実行できるようにしたものをスクリプトという。特に、Webページ上で、HTMLだけではできない様々な機能を利用するための簡易的なプログラムをスクリプトと言うことがある。スクリプトを記述するための言語(スクリプト言語)にはPerlやVBScript、JavaScriptなどがある。【００３６】
発明の実施の形態に係る方法／プログラムは、ブラウザとして上位で再生されているFlashの行動を監視し、FlashがFSCommandを発した場合、それを受け取りその内容を確認する。【００３７】
発明の実施の形態に係るプログラム内にはOS機能利用の為の関数が複数設けられていて、FSCommandを通して、その関数の実行が可能となる。コマンドを受け取ると発明の実施の形態に係る方法／プログラムはFlashでは実現不可能な行為をFlashの代行として実行する。【００３８】
これによって通常のブラウザ内部でのFlashを超えて、アプリケーションインターフェースの作成プラットフォームとしてFlashを作成できるようになる。【００３９】
以上のことを図６を参照してさらに説明を加える。図６はsave（ファイル保存）に対応する機能を実行し、何かしらの内容が結果として出てきたとき、発明の実施の形態に係る方法／プログラムはそれを実行し、子となるガジェットを通してデスクトップ上に結果を現出させるという処理の概要を示している。図６において、１０は子となるガジェット、２０は発明の実施の形態に係るプログラム（「コア」と表記することもある）、２１はコア２０内に予め設けられた機能リスト（コマンドの名前とその機能が記述されたもの）である。【００４０】
子となるガジェット１０は、起動された後にFlashPlayer上の動作として発明の実施の形態に係るプログラムがあらかじめ準備しているキーワードをFSCommandとして発行する（Ｓ２０）。図６の場合リクエストというのがFSCommandの発行であり、今回の場合「save」というコマンドが発行されたことを意味する。【００４１】
コア２０である発明の実施の形態に係るプログラムは、「save」をあらかじめ定義された機能リスト２１の中から探し出し（Ｓ２１）、「save」に対応する機能を実行する（Ｓ２２）。【００４２】
図６の場合、当該機能はファイル保存であるが、何かしらの内容が結果として出てきて、発明の実施の形態に係るプログラムはそれを実行し、子となるガジェット１０を通してデスクトップ上に結果を現出させる。【００４３】
＜バージョンアップ＞
発明の実施の形態に係る方法／プログラムでは、常に最新の状態でサービスを実行するべく自動バージョンアップ機能がある（図７）。サーバー３０からファイルのリストをダウンロードし（Ｓ３０）、そのファイルを確認し（Ｓ３１）、ファイルをダウンロードし（Ｓ３２）、指定される状態に合わせて追加変更削除が可能となっている（Ｓ３３）。この機能よって、将来的な拡張性を担保している。【００４４】
＜ブラウザとの通信＞
通常アプリケーションとブラウザが通信を行うためには、ブラウザ内に通信可能なプラグインなどを開発する必要があった。【００４５】
これに対し、発明の実施の形態に係る方法／プログラムでは、Flashなどのプラグインソフトをその内部で再生している為、Flashなどのプラグインソフトの機能（ローカルコネクション）を使ってブラウザとの通信を可能とした。【００４６】
発明の実施の形態に係る方法／プログラムでは次のような処理を行う（図８）。
・子のアプリ２０は、常に信号待ち受けの状態として待機する。
・その状態でユーザーがブラウザ４０の該当ページを表示した場合に、通信が始まる（Ｓ３０）。
・受けた信号に対応する機能を選択する（Ｓ３１）。
・コア１０はその信号を受け取り必要な処理を行い（Ｓ３２）、必要あればブラウザ側に信号を戻す（Ｓ３３）。【００４７】
以上の処理により、ブラウザからの命令によってデスクトップ上で動作が起きたり、PCからの命令によってブラウザ上で変化が起きたりと言ったことが可能になる。【００４８】
従来は、ブラウザ-ブラウザ間の通信のみ注目され、アプリケーション-ブラウザ間の通信に利用する試みはなされていなかった。上記手順によるアプリケーション-ブラウザ間の通信は、発明者により新規に創作されたものである。【００４９】
＜ブラウザとアプリケーション間のドラッグドロップ＞
上記技術すべてを利用して、発明の実施の形態に係る方法／プログラムでブラウザとアプリ間でドラッグドロップのように見えるオブジェクト移動を実現することができる。【００５０】
この処理を図９を参照して説明を加える。
４０はブラウザである。ブラウザ４０内にFlash４１がある。２０−１は通信子アプリである。ブラウザ４０との通信を行うためには、通信の相手となるFlashファイルが常にデスクトップ上にいる必要がある。その為にブラウザとの通信機能を持つ見えないガジェット（前述のようにアルファチャネルによりガジェットを透明にすることが可能）をデスクトップ上で常に立ち上げておくようにする。ドラッグドロップが現出する際には、コア１０によって、通信子アプリ（見えないガジェット）２０−１、目的地子アプリ（パズルの場合はパズルシート）２０−２、ドラッグ子アプリ（パズルの場合はマウスにくっつくピース）２０−３という3つのガジェットが起動している。【００５１】
通信子アプリ用フォルダは、例えば、swfファイル：全部背景、全部透過のアルファ情報を持っている。そのアプリはブラウザから信号を受けてコアへ送る処理を実行するものである。【００５２】
ドラッグ子アプリ用フォルダは、例えば、swfファイル：ポインタ（パズルの場合はマウスにくっつくピース）の画像、そのアプリはポインタの位置をコアへ送る処理を実行するものである。【００５３】
目的地子アプリ用フォルダは、任意（パズルの場合はパズルシート）の画像、そのアプリはコアから座標を受けてそこにオブジェクトを表示するとともに、ブラウザと通信を行うものである。
・ブラウザ４０上のオブジェクトをクリックすると通信が発生する（Ｓ４０）。すなわち、ブラウザ４０内のFlashPlayerにて再生されるswfファイルからローカルコネクションによる通信を発生させる。FlashPlayerによって再生されているswfファイル同士の通信は、Flashの「ローカルコネクション」という機能になる。
・通信を受け取ると通信子アプリ２０は、Flash４１に対してオブジェクトの消去を命令する。マウスの座標位置にドラッグされるようにガジェット２０−３を出現させる命令を出し、出現したガジェット２０−３にマウスをフックさせる命令を出す（Ｓ４１）。
・目的地となる場所でガジェット２０−３を放すと、目的とする通信の開始命令（パズルの場合はパズルシートにピースがくっつく処理の開始命令）、ガジェット２０−３の終了命令（Ｓ４２）、アプリ２０−２内にオブジェクト表示命令を出す（Ｓ４３）。
・目的地となる場所以外でガジェットを放すと、ブラウザ４０内のFlash４１にオブジェクト再表示命令を出し（Ｓ４２）、ガジェット２０−３の終了命令を出す（Ｓ４４）。【００５４】
デスクトップを見た目と連動した流れとしては、ホームページ上のバナーがクリックされ、通信子アプリ２０−１と通信し、状況に応じて目的地子アプリを起動（ドラッグされる物）現状のマウス位置にドラッグ子アプリを表示、ドラッグ子アプリをマウスにフック（ドラッグ状態）、というのがまず起きて、その上でAもしくはBの流れに移動する。【００５５】
上記「目的とする通信」がなんでもよく、したがって本発明の実施の形態に係る方法／プログラムの応用範囲は広い。例えば、つぎのようなことが可能である。
・テキスト情報のコピー
・ファイルのコピー
・プログラムのインストール
・パーミション情報の移動（ポイントサービスなど）
・電子商取引（決済機能のあるガジェットに商材情報を移す）【００５６】
＜スクリーンセーバー＞
発明の実施の形態に係るプログラムにより、スクリーンセーバーを実現できる。
Windowsはディスプレイ保護の為にユーザーの非操作時に自動的にアプリを起動するという機能を持っている。これで起動されるアプリがスクリーンセーバーである。【００５７】
発明の実施の形態に係るプログラムは、そのインストール時にWindowsから選択されるスクリーンセーバーとして、発明の実施の形態に係るプログラムからコントロール可能な汎用的な枠としてのスクリーンセーバープログラムをインストールする。この際スクリーンセーバープログラムは、発明の実施の形態に係るプログラムの実態であるgizmo.exeとは別になる。【００５８】
スクリーンセーバープログラムは、発明の実施の形態に係るプログラムがインストールされたフォルダの中のssフォルダを参照する。ここには何を再生したいかが記されたXMLファイルと、再生対象となるswfファイルが含まれる。【００５９】
図１０を参照して発明の実施の形態に係るスクリーンセーバーの動作を説明する。
発明の実施の形態に係るプログラム２０（ssフォルダ用プログラム）は、xmlファイルに記された内容に基づき、今回再生すべきswfファイルをスクリーンセーバーとして再生する（Ｓ５０）。【００６０】
再生終了時にはもう一度xmlファイルを参照し、次のswfファイルを再生する（Ｓ５２）。【００６１】
こうして複数のスクリーンセーバーや情報を同時に配信した時に、発明の実施の形態では、スクリーンセーバーはユーザーがマウスにさわったら終了するが、終了時に、発明の実施の形態に係るプログラム２０は、スクリーンセーバープログラム５０と通信を行い、表示されていた内容と連動したガジェットを子アプリ１０として起動する（Ｓ５１，Ｓ５３）。子アプリ１０により、例えば、席に戻ってきたユーザーを特定のホームページに誘導するといったことが可能になる。【００６２】
従来のスクリーンセーバーでは、ユーザーに明示的に操作させることでしか、特定の動作（例えば子アプリ１０の動作）を行うことができなかったが、発明の実施の形態によればユーザーの操作無しで特定の動作を実行させることができる。【００６３】
このようなことが実現できるのは、スクリーンセーバープログラム５０と発明の実施の形態に係るプログラムを一体の別プログラムとして扱っているためである。従来は、ポイントキャストに代表されるように、どちらに使うのも同じプログラムとしてのアプローチが主流であった。【００６４】
本発明は、以上の実施の形態に限定されることなく、特許請求の範囲に記載された発明の範囲内で、種々の変更が可能であり、それらも本発明の範囲内に包含されるものであることは言うまでもない。
【図面の簡単な説明】
【００６５】
【図１】発明の実施の形態に係るガジェットの説明図である。
【図２】発明の実施の形態に係る透過処理のフローチャートである。
【図３】発明の実施の形態に係る透過処理の説明図である。
【図４】発明の実施の形態に係るフォルダ構成の例を示す図である。
【図５】発明の実施の形態に係るｘｍｌファイルの例を示す図である。
【図６】発明の実施の形態に係る子とコア間通信の説明図である。
【図７】発明の実施の形態に係るバージョンアップの説明図である。
【図８】発明の実施の形態に係るブラウザとの通信の説明図である。
【図９】発明の実施の形態に係るドラッグドロップの説明図である。
【図１０】発明の実施の形態に係るスクリーンセーバーの説明図である。
【図１】
0004624413.tif 000002
【図２】
0004624413.tif 000003
【図３】
0004624413.tif 000004
【図４】
0004624413.tif 000005
【図５】
0004624413.tif 000006
【図６】
0004624413.tif 000007
【図７】
0004624413.tif 000008
【図８】
0004624413.tif 000009
【図９】
0004624413.tif 000010
【図１０】
0004624413.tif 000011