JP4624413B2 - パソコンのデスクトップ上にユーザーインタフェースを表示するための方法及びプログラム - Google Patents

パソコンのデスクトップ上にユーザーインタフェースを表示するための方法及びプログラム Download PDF

Info

Publication number
JP4624413B2
JP4624413B2 JP2007518980A JP2007518980A JP4624413B2 JP 4624413 B2 JP4624413 B2 JP 4624413B2 JP 2007518980 A JP2007518980 A JP 2007518980A JP 2007518980 A JP2007518980 A JP 2007518980A JP 4624413 B2 JP4624413 B2 JP 4624413B2
Authority
JP
Japan
Prior art keywords
gadget
image
file
swf file
program
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.)
Expired - Fee Related
Application number
JP2007518980A
Other languages
English (en)
Other versions
JPWO2006129621A1 (ja
Inventor
博周 松尾
Original Assignee
株式会社ants
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 株式会社ants filed Critical 株式会社ants
Publication of JPWO2006129621A1 publication Critical patent/JPWO2006129621A1/ja
Application granted granted Critical
Publication of JP4624413B2 publication Critical patent/JP4624413B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/34Graphical or visual programming

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • User Interface Of Digital Computer (AREA)
  • Digital Computer Display Output (AREA)

Description

本発明は、インターネットに接続可能なパソコン(以下、「PC」)上で、情報提供者である団体等とその利用者である個人がビジュアル表現豊かで、より感覚的な情報コミュニケーションをするための技術に関する。
・マイクロソフト社Windows(商標)(非特許文献1)
・Macromedia社F1ash(商標)(非特許文献2)
・C++(非特許文献3)
・JAVA(商標)(非特許文献4)
マイクロソフト社サイト内ページ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で管理されるアイコンがあるが、アイコンはそれをクリックすることによりリンクされたプログラム/ファイルを起動するものであるが、ガジェットのようにアニメーションで動的に表現したり、上記のような処理はできない。
図1にガジェットの例を示す。図1はパソコンのデスクトップ画面の一部を示すものであり、Wは他のアプリケーションのウインドウである。
Aはカーソルの動きを追う目玉のガジェットである。2つの円の愛らしい目玉がデスクトップ上に常に表示され、カーソルの動きを追う。なお、このような「目玉」自体はすでに公知であるが、公知のものはその表現が貧弱であり、それを作成・修正する際に多くの労力を必要とした。以下に説明する発明の実施の形態に係る方法/プログラムによれば、豊かな表現のガジェットを簡単に作成及び修正することができる(他のガジェットについても同様)。
Bはデジタル時計である。Cはカレンダーである。
Dはメモである。当該メモは書き込み可能であり、それをデスクトップ上の任意の位置に配置することができ、それを任意の色(中間色・透明色を含む)で着色することができる。
ガジェットは次のような特徴を備える。
(1)パソコンに常駐し、パソコン画面上に表示されるアニメーションである。当該アニメーションは小さく(当該アニメーションを構成する画素数が少ない)、しかも、その位置を自由に設定できる。したがってパソコン画面上に常時表示されていたとしても他のアプリケーションの操作及び表示の妨げになることはない。かわいらしいデザインのガジェットをパソコン画面上に動画表示することで、パソコン作業中の息抜きや楽しみを提供することができる。
(2)ガジェットをクリックすることで特定の処理を実行させることができる。例えば、特定のウエブサイトを閲覧したり、検索を実行させることができる。
(3)画像の表現が豊かである。前述のアニメーションで表現できるばかりでなく、任意の形状としたり、陰影をつけたり、中間色で着色したり、さまざまなことが可能である。Flashをベースとしているので当該画像の作成は容易である。また、その修正も容易である。従来もガジェットのような機能を備える画像は存在したが、その表現は貧弱であった。画像表現を豊かにするためにはその作成に多くの労力を必要としたし、そのような表現手段がパソコンのOSでサポートされていなかったためである。また、当該画像に労力を要するのと同じ理由でそれを修正する際には多くの困難を伴った。これに対して、ガジェットはFlashをベースとしているので、その作成及び修正が容易である。
Flashとは、Macromedia社が開発した、音声やベクターグラフィックスのアニメーションを組み合わせてWebコンテンツを作成するソフトウエアである。それによって作成されたコンテンツをFlashと呼ぶこともある。マウスやキーボードの入力により双方向性を持たせる機能もある。
Flashによって作られたファイルを閲覧するには、Webブラウザに専用のプラグイン「Flash Player」をインストールしておく必要がある。Flash自体は有料だが、Flash Playerは無料で配布されている。同社の「Director」に似ているが、Directorよりも操作が容易で、図形をベクター形式(頂点とそれを結ぶ曲線の方程式のパラメータ)で管理しているために、作成されたファイルのサイズも小さい。高度な機能においてはDirectorよりも劣るが、まだ回線速度の遅いインターネット上で、初めて実用に耐えるアニメーションツールとして登場したため、広く普及した。
ガジェットを表示させるための手順は次の通りである。
(1)Flashでガジェット用のFlash Playerファイル(swf)を作成する。これは通常のswfと変わらない。仮に当該ファイルを、IEやFlash playerで再生すると普通に矩形のウィンドウ内に表示される。発明の実施の形態に係る方法/プログラムでは、後述の透過処理を行っているので、PCのデスクトップ上において任意の形状でガジェットを表示させることができる。
(2)発明の実施の形態に係る方法/プログラムを起動する。当該プログラムの実行中にFlash Playerを呼び出すようになっている。発明の実施の形態に係るプログラム自身は、Flash Playerの機能は持っておらず、IE等のブラウザと同様に、自身の中にFlash Playerを呼び出している。
次に、発明の実施の形態に係る方法/プログラムの処理について説明を加える。
<透過技術>
図2のフローチャート及び図3の透過処理説明図を参照して、発明の実施の形態に係る方法/プログラムにおける透過技術について説明を加える。
まず、従来技術について簡単に説明する。
コンピュータのOSであるWindows(商標)はWindowという単位で一つ一つのプログラムをディスプレイ上に描画し管理できるようになっている。Windowは矩形で管理され、一般的には、タイトルバーなどをつけた状態でディスプレイ上に表示される。
Windows(商標)ではマウスクリック等のイベントがディスプレイ上で起きるとその下のWindowに対して命令が送られ、アクティブなWindowがあった場合は、そのWindowを管理するプログラムに命令が送られる。
上記に書いたようにWindowは通常矩形で管理されるので、矩形以外の形状にWindowをする為には、マスク処理(元矩形と同じサイズの矩形でくりぬきたい形状で穴が空いている画像を元矩形にかぶせてくりぬいた状態で表示する処理)を行う必要がある。
Windows2000以前では、ディスプレイ上でマスク処理は、1bit単位でしか行えなかった。ドットをそのまま他の色に置き換えるので背景色を見ての中間色の処理ができない。このため、エッジはガタガタしたものになり、表現したい物の透過処理などもできなかった。
Windows2000以降では、GDI+というプログラムがWindowsに標準で搭載されるようになった。これは、1bit以上のマスク処理を可能にする物で、αチャネルと呼ばれる考え方を用いた透過処理がデスクトップ上で可能となった。これによって「元画像」「透過情報画像(αチャネル)」の2つの画像があれば、デスクトップ上でWindowを透過させることが可能になった。
この機能を利用して、デスクトップ上で透過アプリを作る場合は、PNGファイルというファイル形式の画像を使うのが一般的である。pngファイルは、ファイルの内部に透過情報を持てるためである。ただ、pngで動的に形状が変化するようなアプリケーションを作りたい場合に、マスクもそのことを意識して準備してやることが必要であり、その実現は実際困難であった。
発明の実施の形態に係る方法/プログラムによれば、pngで動的に形状が変化するようなアプリケーションを容易に実現することができる。その理由はFlashをベースとしているからである。Flashはブラウザ上で、制作したアプリケーションを動的に透過させる為に、αチャネル情報をその内部に持っている。これは元々動的であるので、Flash内のαチャネル情報をFlashのフレーム毎に抜き出してWindowsのGDI+が参照可能なαチャネル情報に変換することにより、動的に変化するデスクトップアプリケーションを汎用的に簡単に作れるようなプラットフォームを実現できるのである。Flashをこのように利用するプログラムは、発明者が新規に着想及び開発したものである。
発明の実施の形態に係る方法/プログラムにおいて、それを実現する為に、ファイル(swf)の画像(png)を再生する(図2のS10、図3のP1)。図3の例は、矩形のウインドウの中央に円が表示されたものである。
次に、メモリ空間内で異なる二色の背景色を引いたFlashを再生する(図2のS11、図3のP2及びP3)。背景色が異なる点を除き、両者は同じものである。P2とP3にどのような背景色を引くかは任意である。実際には処理の点で都合の良いものを固定でプログラムから割り当てるとよい。色が背景に入ると元画像の持っているアルファ情報に基づき色が変化します。(アルファ情報がゼロなら変化なし)
ここでいうアルファ情報はアルファチャネル(Alpha Channel)のことである。アルファチャネルとは、イメージグラフィックスにおいて、透過度を表わすためのチャネルのことである。2つの画像を合成するような場合に、アルファチャネルの値に応じて画像の透明度を変え、片方の画像を透かして、もう片方の画像が見えるような効果を作ることができる。アルファ情報は、各点に設定された透過度情報を保存するデータ領域に保存される。透過度情報はアルファ値と呼ばれ、完全な透明(無色)から、完全な不透明(背景の色をまったく通さない)まで設定することができる。コンピュータが画像を扱う場合、色情報として、各点についてR(赤)・G(緑)・B(青)の三原色のデータ領域(チャンネル)をもち、その組み合わせで色を表現する(CMYKモードの場合は4色)。点の透明度を表現する場合にはこれにアルファチャンネルを加え、4つの情報の組み合わせで一つの点を表現する(例えば、R・G・B・アルファチャネル、各8ビット、合計32ビット)。
背景色が異なる2つの画像P2とP3の差分を求める(図2のS12)。
差分によって得られた色からFlashファイル内部のαチャネル情報を抜き出す(図2のS13、図3のP4)。
画像P2のビットマップ情報と元画像P1を全ビット毎に比較すると、元画像P1が持っていたビット情報がどのように変化したかが分かる(画像P2について設定した背景色aについてのアルファ情報A)。仮に、画像P1の背景に赤を入れて、画像P2で出てきた色が紫なら青に関する情報がある。
同様に、画像P3のビットマップ情報と元画像P1を全ビット毎に比較すると、元画像P1が持っていたビット情報がどのように変化したかが分かる(画像P3について設定した背景色aについてのアルファ情報B)。
画像P2のアルファ情報Aと画像P3のアルファ情報Bを比較することで元画像P1が持っていたアルファチャネルの情報を導き出すことができる(より正確には3色を入れて比較する)。
抜き出したαチャネル情報によって透過の命令を実行する(図2のS14、図3のP5)。アルファチャネルの情報があればWindows上で透過の処理を行える。その結果、動的に変化し、透過可能なエッジのきれいなガジェットがデスクトップ上に出現する。
上記処理のポイントは、Flash上で扱うアルファチャネルをWindows上で扱うアルファチャネルの情報に変換する部分にある。
なお、透過する/透過しないというのは見た目の話で、技術的にはアルファ情報に基づきすべての画素について透過の処理を行うことになる。結果として色変化が起きない場合は透過しないのと同じ状態である。このような画素についても透過処理をするのはCPU負荷が無駄になる。そこで、色変化が無い場合(図2のS15でNO)は、透過処理をしないようにしてもよい。
<フォルダ構成>
発明の実施の形態に係る方法/プログラムのフォルダ構成は、例えば図4のようになっている。アプリケーションを作成する場合、すべての素材をパッケージ化して1つのexeとして利用するのが一般的である。これに対して、発明の実施の形態に係る方法/プログラムでは、例えば図4に示すようにパッケージ化を行わず、実行ファイルと再生されるビジュアルファイルを分けて存在させている。この理由は下記のような事項を実現する為である。
・ガジェット単位で機能を後から柔軟に追加可能
・ユーザーからも機能の追加削除を可能とする
・ユーザーが操作可能なガジェットと操作の過程で自動的に表示されるガジェットの二種類がある。
図5に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>:ヘルプの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を作成できるようになる。
以上のことを図6を参照してさらに説明を加える。図6はsave(ファイル保存)に対応する機能を実行し、何かしらの内容が結果として出てきたとき、発明の実施の形態に係る方法/プログラムはそれを実行し、子となるガジェットを通してデスクトップ上に結果を現出させるという処理の概要を示している。図6において、10は子となるガジェット、20は発明の実施の形態に係るプログラム(「コア」と表記することもある)、21はコア20内に予め設けられた機能リスト(コマンドの名前とその機能が記述されたもの)である。
子となるガジェット10は、起動された後にFlashPlayer上の動作として発明の実施の形態に係るプログラムがあらかじめ準備しているキーワードをFSCommandとして発行する(S20)。図6の場合リクエストというのがFSCommandの発行であり、今回の場合「save」というコマンドが発行されたことを意味する。
コア20である発明の実施の形態に係るプログラムは、「save」をあらかじめ定義された機能リスト21の中から探し出し(S21)、「save」に対応する機能を実行する(S22)。
図6の場合、当該機能はファイル保存であるが、何かしらの内容が結果として出てきて、発明の実施の形態に係るプログラムはそれを実行し、子となるガジェット10を通してデスクトップ上に結果を現出させる。
<バージョンアップ>
発明の実施の形態に係る方法/プログラムでは、常に最新の状態でサービスを実行するべく自動バージョンアップ機能がある(図7)。サーバー30からファイルのリストをダウンロードし(S30)、そのファイルを確認し(S31)、ファイルをダウンロードし(S32)、指定される状態に合わせて追加変更削除が可能となっている(S33)。この機能よって、将来的な拡張性を担保している。
<ブラウザとの通信>
通常アプリケーションとブラウザが通信を行うためには、ブラウザ内に通信可能なプラグインなどを開発する必要があった。
これに対し、発明の実施の形態に係る方法/プログラムでは、Flashなどのプラグインソフトをその内部で再生している為、Flashなどのプラグインソフトの機能(ローカルコネクション)を使ってブラウザとの通信を可能とした。
発明の実施の形態に係る方法/プログラムでは次のような処理を行う(図8)。
・子のアプリ20は、常に信号待ち受けの状態として待機する。
・その状態でユーザーがブラウザ40の該当ページを表示した場合に、通信が始まる(S30)。
・受けた信号に対応する機能を選択する(S31)。
・コア10はその信号を受け取り必要な処理を行い(S32)、必要あればブラウザ側に信号を戻す(S33)。
以上の処理により、ブラウザからの命令によってデスクトップ上で動作が起きたり、PCからの命令によってブラウザ上で変化が起きたりと言ったことが可能になる。
従来は、ブラウザ-ブラウザ間の通信のみ注目され、アプリケーション-ブラウザ間の通信に利用する試みはなされていなかった。上記手順によるアプリケーション-ブラウザ間の通信は、発明者により新規に創作されたものである。
<ブラウザとアプリケーション間のドラッグドロップ>
上記技術すべてを利用して、発明の実施の形態に係る方法/プログラムでブラウザとアプリ間でドラッグドロップのように見えるオブジェクト移動を実現することができる。
この処理を図9を参照して説明を加える。
40はブラウザである。ブラウザ40内にFlash41がある。20−1は通信子アプリである。ブラウザ40との通信を行うためには、通信の相手となるFlashファイルが常にデスクトップ上にいる必要がある。その為にブラウザとの通信機能を持つ見えないガジェット(前述のようにアルファチャネルによりガジェットを透明にすることが可能)をデスクトップ上で常に立ち上げておくようにする。ドラッグドロップが現出する際には、コア10によって、通信子アプリ(見えないガジェット)20−1、目的地子アプリ(パズルの場合はパズルシート)20−2、ドラッグ子アプリ(パズルの場合はマウスにくっつくピース)20−3という3つのガジェットが起動している。
通信子アプリ用フォルダは、例えば、swfファイル:全部背景、全部透過のアルファ情報を持っている。そのアプリはブラウザから信号を受けてコアへ送る処理を実行するものである。
ドラッグ子アプリ用フォルダは、例えば、swfファイル:ポインタ(パズルの場合はマウスにくっつくピース)の画像、そのアプリはポインタの位置をコアへ送る処理を実行するものである。
目的地子アプリ用フォルダは、任意(パズルの場合はパズルシート)の画像、そのアプリはコアから座標を受けてそこにオブジェクトを表示するとともに、ブラウザと通信を行うものである。
・ブラウザ40上のオブジェクトをクリックすると通信が発生する(S40)。すなわち、ブラウザ40内のFlashPlayerにて再生されるswfファイルからローカルコネクションによる通信を発生させる。FlashPlayerによって再生されているswfファイル同士の通信は、Flashの「ローカルコネクション」という機能になる。
・通信を受け取ると通信子アプリ20は、Flash41に対してオブジェクトの消去を命令する。マウスの座標位置にドラッグされるようにガジェット20−3を出現させる命令を出し、出現したガジェット20−3にマウスをフックさせる命令を出す(S41)。
・目的地となる場所でガジェット20−3を放すと、目的とする通信の開始命令(パズルの場合はパズルシートにピースがくっつく処理の開始命令)、ガジェット20−3の終了命令(S42)、アプリ20−2内にオブジェクト表示命令を出す(S43)。
・目的地となる場所以外でガジェットを放すと、ブラウザ40内のFlash41にオブジェクト再表示命令を出し(S42)、ガジェット20−3の終了命令を出す(S44)。
デスクトップを見た目と連動した流れとしては、ホームページ上のバナーがクリックされ、通信子アプリ20−1と通信し、状況に応じて目的地子アプリを起動(ドラッグされる物)現状のマウス位置にドラッグ子アプリを表示、ドラッグ子アプリをマウスにフック(ドラッグ状態)、というのがまず起きて、その上でAもしくはBの流れに移動する。
上記「目的とする通信」がなんでもよく、したがって本発明の実施の形態に係る方法/プログラムの応用範囲は広い。例えば、つぎのようなことが可能である。
・テキスト情報のコピー
・ファイルのコピー
・プログラムのインストール
・パーミション情報の移動(ポイントサービスなど)
・電子商取引(決済機能のあるガジェットに商材情報を移す)
<スクリーンセーバー>
発明の実施の形態に係るプログラムにより、スクリーンセーバーを実現できる。
Windowsはディスプレイ保護の為にユーザーの非操作時に自動的にアプリを起動するという機能を持っている。これで起動されるアプリがスクリーンセーバーである。
発明の実施の形態に係るプログラムは、そのインストール時にWindowsから選択されるスクリーンセーバーとして、発明の実施の形態に係るプログラムからコントロール可能な汎用的な枠としてのスクリーンセーバープログラムをインストールする。この際スクリーンセーバープログラムは、発明の実施の形態に係るプログラムの実態であるgizmo.exeとは別になる。
スクリーンセーバープログラムは、発明の実施の形態に係るプログラムがインストールされたフォルダの中のssフォルダを参照する。ここには何を再生したいかが記されたXMLファイルと、再生対象となるswfファイルが含まれる。
図10を参照して発明の実施の形態に係るスクリーンセーバーの動作を説明する。
発明の実施の形態に係るプログラム20(ssフォルダ用プログラム)は、xmlファイルに記された内容に基づき、今回再生すべきswfファイルをスクリーンセーバーとして再生する(S50)。
再生終了時にはもう一度xmlファイルを参照し、次のswfファイルを再生する(S52)。
こうして複数のスクリーンセーバーや情報を同時に配信した時に、発明の実施の形態では、スクリーンセーバーはユーザーがマウスにさわったら終了するが、終了時に、発明の実施の形態に係るプログラム20は、スクリーンセーバープログラム50と通信を行い、表示されていた内容と連動したガジェットを子アプリ10として起動する(S51,S53)。子アプリ10により、例えば、席に戻ってきたユーザーを特定のホームページに誘導するといったことが可能になる。
従来のスクリーンセーバーでは、ユーザーに明示的に操作させることでしか、特定の動作(例えば子アプリ10の動作)を行うことができなかったが、発明の実施の形態によればユーザーの操作無しで特定の動作を実行させることができる。
このようなことが実現できるのは、スクリーンセーバープログラム50と発明の実施の形態に係るプログラムを一体の別プログラムとして扱っているためである。従来は、ポイントキャストに代表されるように、どちらに使うのも同じプログラムとしてのアプローチが主流であった。
本発明は、以上の実施の形態に限定されることなく、特許請求の範囲に記載された発明の範囲内で、種々の変更が可能であり、それらも本発明の範囲内に包含されるものであることは言うまでもない。
発明の実施の形態に係るガジェットの説明図である。 発明の実施の形態に係る透過処理のフローチャートである。 発明の実施の形態に係る透過処理の説明図である。 発明の実施の形態に係るフォルダ構成の例を示す図である。 発明の実施の形態に係るxmlファイルの例を示す図である。 発明の実施の形態に係る子とコア間通信の説明図である。 発明の実施の形態に係るバージョンアップの説明図である。 発明の実施の形態に係るブラウザとの通信の説明図である。 発明の実施の形態に係るドラッグドロップの説明図である。 発明の実施の形態に係るスクリーンセーバーの説明図である。

Claims (3)

  1. コマンド名と機能とを関連付けて記述してなる機能リストを有するコアを起動するコア起動ステップと、
    Flash Player(商標)で再生可能なswfファイルであって、ガジェットをパソコンのデスクトップの一部に表示するためのswfファイルと、前記ガジェットに用いられる前記swfファイルの名前を含む定義ファイルとを含むフォルダを前記コアが参照し、前記定義ファイルに基づいて前記swfファイルを特定するswf特定ステップと、
    特定された前記swfファイルを前記コアがFlash Playerに再生させて前記ガジェットを表示するガジェット表示ステップと、
    前記ガジェットがコマンド名を前記コアへ発行するリクエストステップと、
    前記コアが、前記コマンド名に関連付けられた前記機能を前記機能リストの中から探し出して、実行する実行ステップと、
    を備えるパソコンのデスクトップ上にユーザーインタフェースを表示するための方法において、
    前記ガジェット表示ステップは、
    前記swfファイルの画像を再生する再生ステップと、
    前記再生ステップで再生された画像の背景を第1色とした第1画像と、前記画像の背景を前記第1色と異なる第2色とした第2画像を作成する画像作成ステップと、
    前記第1画像と前記第2画像の差分を求める差分算出ステップと、
    前記差分の結果に基づき前記swfファイルに含まれるアルファチャネルの情報を抜き出す情報抽出ステップと、
    抜き出した前記アルファチャネルの情報に基づき前記ガジェットに対する透過処理を実行する透過処理ステップと
    を備える、方法
  2. 前記リクエストステップにおいて、前記ガジェットは前記コマンド名をFSCommandとして発行し、
    前記実行ステップにおいて、前記コアは前記FSCommandにて示されるコマンド名に基づいて前記機能を探し出す
    請求項1記載の方法。
  3. コマンド名と機能とを関連付けて記述してなる機能リストを有するプログラムであって、
    Flash Player(商標)で再生可能なswfファイルであって、ガジェットをパソコンのデスクトップの一部に表示するためのswfファイルと、前記ガジェットに用いられる前記swfファイルの名前を含む定義ファイルとを含むフォルダを参照し、前記定義ファイルに基づいて前記swfファイルを特定するswf特定ステップと、
    特定された前記swfファイルをFlash Playerに再生させて前記ガジェットを表示させるガジェット表示ステップと、
    表示された前記ガジェットからコマンド名を受けて、前記コマンド名に関連付けられた前記機能を前記機能リストの中から探し出して、実行する実行ステップと
    をコンピュータに実行させるためのプログラムにおいて、
    前記ガジェット表示ステップは、
    前記swfファイルの画像を再生する再生ステップと、
    前記再生ステップで再生された画像の背景を第1色とした第1画像と、前記画像の背景を前記第1色と異なる第2色とした第2画像を作成する画像作成ステップと、
    前記第1画像と前記第2画像の差分を求める差分算出ステップと、
    前記差分の結果に基づき前記swfファイルに含まれるアルファチャネルの情報を抜き出す情報抽出ステップと、
    抜き出した前記アルファチャネルの情報に基づき前記ガジェットに対する透過処理を実行する透過処理ステップと
    を備える、プログラム。
JP2007518980A 2005-06-02 2006-05-29 パソコンのデスクトップ上にユーザーインタフェースを表示するための方法及びプログラム Expired - Fee Related JP4624413B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2005163097 2005-06-02
JP2005163097 2005-06-02
PCT/JP2006/310704 WO2006129621A1 (ja) 2005-06-02 2006-05-29 パソコンのデスクトップ上にユーザーインタフェースを表示するための方法及びプログラム

Publications (2)

Publication Number Publication Date
JPWO2006129621A1 JPWO2006129621A1 (ja) 2009-01-08
JP4624413B2 true JP4624413B2 (ja) 2011-02-02

Family

ID=37481550

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007518980A Expired - Fee Related JP4624413B2 (ja) 2005-06-02 2006-05-29 パソコンのデスクトップ上にユーザーインタフェースを表示するための方法及びプログラム

Country Status (2)

Country Link
JP (1) JP4624413B2 (ja)
WO (1) WO2006129621A1 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4943166B2 (ja) * 2007-01-05 2012-05-30 株式会社ants Webブラウザ上に表示されたオブジェクトをWebブラウザから取り出したように見せる方法及びプログラム
TWI381305B (zh) * 2008-12-25 2013-01-01 Compal Electronics Inc 使用者介面的顯示與操作方法以及電子裝置
JP5029673B2 (ja) * 2009-10-30 2012-09-19 株式会社デンソー 車載機

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004015163A (ja) * 2002-06-04 2004-01-15 Emaki:Kk 画像表示システムおよびそのコンピュータプログラム

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004015163A (ja) * 2002-06-04 2004-01-15 Emaki:Kk 画像表示システムおよびそのコンピュータプログラム

Also Published As

Publication number Publication date
WO2006129621A1 (ja) 2006-12-07
JPWO2006129621A1 (ja) 2009-01-08

Similar Documents

Publication Publication Date Title
US20210141523A1 (en) Platform-independent user interface system
CN102918540B (zh) 利用凭证创建并启动万维网应用
JP4767828B2 (ja) コンピュータ用アプリケーション・プログラムの作成システム、方法、及びプログラム
US20140096014A1 (en) Method for enabling dynamic client user interfaces on multiple platforms from a common server application via metadata
JP2015534145A (ja) 宣言テンプレートを使用してコントロールをスタンプアウトするためのユーザインターフェイスコントロールフレームワーク
CN102918486A (zh) Web应用导航域
KR101456505B1 (ko) 웹 어플리케이션 개발을 위한 사용자 인터페이스 프레임워크
Panigrahy Xamarin Mobile Application Development for Android
JP4624413B2 (ja) パソコンのデスクトップ上にユーザーインタフェースを表示するための方法及びプログラム
Boyer et al. Android application development cookbook
KR20150099318A (ko) 애플리케이션 개발 환경 제공 프로그램을 기록한 컴퓨터로 판독 가능한 기록매체
JPWO2007004371A1 (ja) 次世代テレビジョン受像機
Chau Vue. js 2 Web Development Projects: Learn Vue. js by building 6 web apps
KR20150099345A (ko) 애플리케이션 개발 환경 제공 프로그램을 기록한 컴퓨터로 판독 가능한 기록매체
Verma Developing Your First Extensions
Moroney Foundations of WPF: an introduction to Windows Presentation Foundation
Strazzullo Frameworkless Front-End Development
Wildermuth Essential Windows Phone 8
Allana ASP. NET jQuery Cookbook
Nair et al. Building Mobile Applications Using Kendo UI Mobile and ASP. NET Web API
Millas Microsoft. Net Framework 4. 5 Quickstart Cookbook
Ramanujam et al. PhoneGap: Beginner's Guide
KR20150098962A (ko) 애플리케이션 개발 환경 제공 프로그램을 기록한 컴퓨터로 판독 가능한 기록매체
KR20150099261A (ko) 애플리케이션 개발 환경 제공 프로그램을 기록한 컴퓨터로 판독 가능한 기록매체
JP2009087071A (ja) 情報処理装置、情報処理方法

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100624

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100818

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100909

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100930

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20101102

R150 Certificate of patent or registration of utility model

Ref document number: 4624413

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131112

Year of fee payment: 3

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees
S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R360 Written notification for declining of transfer of rights

Free format text: JAPANESE INTERMEDIATE CODE: R360

R370 Written measure of declining of transfer procedure

Free format text: JAPANESE INTERMEDIATE CODE: R370