説明

図形表示言語およびネイティブUIオブジェクトを用いる表示

【課題】図形表示言語(SVG等)で書込れた命令及びWebフォーム作成言語(XForms等)で書込れた命令を含む1組の命令を提供すること。
【解決手段】図形表示言語に合致する命令に従い図形がデバイスのディスプレイにレンダリングされる。Webフォーム作成言語に従いパラメータが命令から抽出され、パラメータはネイティブユーザインタフェースオブジェクトを作るために利用される。パラメータは、ネイティブユーザインタフェースオブジェクトの作成にも使用されるようWebフォーム作成言語がユーザ入力領域のサイズ及び位置を示すパラメータを含むよう修正される。ネイティブユーザインタフェースオブジェクトはユーザがデバイスのユーザコントロールを介し情報を入力できるよう使用される。図形表示要素の図形要素は入力情報の提出を可能にするようWebフォーム作成言語の提出動作に結合される。

【発明の詳細な説明】
【背景技術】
【0001】
拡張可能マークアップ言語(XML)1.0(第三版)は、2004年2月4日にワールド・ワイド・ウェブ・コンソーシアム(W3C)勧告であり、www.w3.orgにて入手可能であり、その内容は参照により本明細書に援用される。XMLは、情報に構造を付与して、異なるプログラムおよび異なるコンピュータ間で、情報がより簡単に使用できるようにするために、XMLタグ内の情報をラップする。スケーラブルベクターグラフィックス(SVG)バージョン1.1は2003年1月14日のW3C勧告であり、www.w3.orgで入手可能であり、その内容もまた参照により本明細書に援用される。SVGは、XMLにおいて二次元図形(静止画および動画)を表現する言語である。SVGは図形を非常に細かく制御することが可能であるため、Webコンテンツを配信するための言語として次第にSVGの人気が高まっている。
【0002】
SVGの欠点は、ユーザ入力を伴うWebページをサポートするように構成されていないということである。そのため、例えば、SVGはドロップダウンメニューを定義しない。プログラマーがSVGで入手可能な図形プリミティブからドロップダウンメニュー付きのWebページを作成することは可能であるが、その場合は相当量のプログラミングが必要になる。さらに、ドロップダウンメニューがSVGにおいて作成されたとしても、SVGは、Webページのユーザがメニューを用いて入力し得るいかなる情報についても、キャプチャおよび提出をサポートしない。SVGはオープンスタンダードであるため、Webページへのユーザ入力をサポートするようSVG言語は修正され得るが、その場合には相当の努力を要するであろう。
【発明の概要】
【発明が解決しようとする課題】
【0003】
本発明は、SVGの機能性およびWebページにおけるユーザ入力を提供するための、より経済的な方法を提供することを追及する。より一般的には、本発明は図形言語の機能性拡大への適用を有する。
【課題を解決するための手段】
【0004】
1組の命令は、図形表示言語で書き込まれた命令およびWebフォーム作成言語で書き込まれた命令を含む。図形表示言語に従う命令に従って、図形がデバイスのディスプレイにレンダリングされる。Webフォーム作成言語に従ってパラメータが命令から抽出され、これらのパラメータはネイティブユーザインタフェースオブジェクトを作成するために利用される。これらのパラメータは、ネイティブユーザインタフェースオブジェクトの作成にも使用されるように、Webフォーム作成言語がユーザ入力領域のサイズおよび位置を示すパラメータを含むよう修正されてもよい。ネイティブユーザインタフェースオブジェクトは、ユーザがデバイスのユーザコントロールを介して情報を入力できるよう使用されてもよい。図形表示言語の図形要素は、入力された情報の提出を可能にするよう、Webフォーム作成言語の提出動作に結合されてもよい。別の図形要素がWebフォーム作成言語のリセット動作に結合されてもよい。
【0005】
本発明によれば、1組の命令を受け取るステップと、前記1組の命令の図形命令に従って図形を前記デバイスのディスプレイにレンダリングするステップであって、前記図形命令は図形表示言語に従う、ステップと、前記1組の命令のその他の命令からパラメータを抽出するステップであって、前記その他の命令はWebフォーム作成言語に従う命令を含むステップと、ネイティブユーザインタフェースオブジェクトを作成するために前記パラメータを利用するステップとを含むデバイスを動作する方法が、好ましくは提供される。
【0006】
本発明の別の態様によれば、ディスプレイと、少なくとも1つのユーザ入力制御と、1組の命令を保持するメモリであって、前記1組の命令は前記ディスプレイに図形をレンダリングするための図形命令を含み、前記図形命令は図形表示言語に従い、その他の命令はWebフォーム作成言語に従う命令を備え、前記その他の命令はパラメータを備える、メモリと、(i)図形を前記ディスプレイにレンダリングするため、(ii)前記1組の命令のその他の命令からパラメータを抽出するため、(iii)ネイティブユーザインタフェースオブジェクトを作成するために前記パラメータを利用するために、前記1組の命令に従って動作するコントローラと、を備えるデバイスを好ましくは含む。
【0007】
本発明のその他の特徴および利点は、以下の説明および図面から明白となるであろう。
本発明は、例えば、以下を提供する。
(項目1)
デバイスを動作するための方法であって、
1組の命令を受信するステップと、
該1組の命令の図形命令に従って図形を該デバイスのディスプレイにレンダリングするステップであって、該図形命令は図形表示言語に従う、ステップと、
該1組の命令のその他の命令からパラメータを抽出するステップであって、
該その他の命令はWebフォーム作成言語に従う命令を含む、ステップと、
ネイティブユーザインタフェースオブジェクトを作成するために該パラメータを利用するステップと
を含む、方法。
(項目2)
上記パラメータは、上記ディスプレイのユーザ入力領域に位置およびサイズ情報を提供するパラメータを備える、項目1に記載の方法。
(項目3)
上記図形表示言語の図形要素は、上記Webフォーム作成言語の動作に結合している、項目1または2に記載の方法。
(項目4)
上記動作は、提出動作またはリセット動作である、項目3に記載の方法。
(項目5)
上記ネイティブユーザインタフェースオブジェクトを利用するユーザ入力制御を解釈するステップをさらに含む、項目1〜4のいずれかに記載の方法。
(項目6)
上記ネイティブユーザインタフェースオブジェクトを利用するユーザ入力の提出を可能にするステップをさらに含む、項目5に記載の方法。
(項目7)
上記図形命令は、上記ディスプレイの第1領域において図形を画定し、上記パラメータは、該ディスプレイの第2領域を画定するために、該ディスプレイのユーザ入力領域に関する位置およびサイズ情報を提供し、該第2領域は、該第1領域と同空間であるか、または該第1領域に含まれる、項目2に記載の方法。
(項目8)
上記1組の命令は、上記Webフォーム作成言語に従う上記1組の命令の一部分を識別するために識別子を備える、項目1〜7のいずれかに記載の方法。
(項目9)
上記図形表示言語および上記Webフォーム作成言語は、拡張可能マークアップ言語(XML)である、項目1〜8のいずれかに記載の方法。
(項目10)
上記図形表示言語は、スケーラブルベクターグラフィックス(SVG)である、項目1〜8のいずれかに記載の方法。
(項目11)
上記Webフォーム作成言語はXFormsである、項目10に記載の方法。
(項目12)
上記ネイティブユーザインタフェースオブジェクトはJAVA(登録商標)オブジェクトである、項目11に記載の方法。
(項目13)
SVG図形要素はXForms提出動作に結合している、項目11に記載の方法。
(項目14)
ディスプレイと、
少なくとも1つのユーザ入力制御と、
1組の命令を保持するメモリであって、該1組の命令は該ディスプレイに図形をレンダリングするための図形命令を備え、該図形命令は図形表示言語に従い、その他の命令はWebフォーム作成言語に従う命令を備え、該その他の命令はパラメータを備える、メモリと、
(i)図形を該ディスプレイにレンダリングするため、(ii)該1組の命令の該その他の命令からパラメータを抽出するため、(iii)ネイティブユーザインタフェースオブジェクトを作成するために該パラメータを利用するために、該1組の命令に従って動作するコントローラと
を備える、デバイス。
(項目15)
上記ネイティブユーザインタフェースオブジェクトは、上記少なくとも1つのユーザ入力制御を用いてユーザ入力を可能にする、項目14に記載のデバイス。
(項目16)
上記コントローラはJAVA(登録商標)仮想マシンを備え、上記ネイティブユーザインタフェースオブジェクトはJAVA(登録商標)オブジェクトである、項目14または15に記載のデバイス。
(項目17)
上記図形命令は、図形要素を上記その他の命令の提出動作に結合する命令を備える、項目14〜16のいずれかに記載のデバイス。
(項目18)
上記パラメータは、ユーザ入力領域の位置およびサイズを設定するパラメータを備える、項目14〜17のいずれかに記載のデバイス。
(項目19)
上記図形表示言語はスケーラブルベクターグラフィックスであり、上記Webフォーム作成言語はXFormsである、項目14〜18のいずれかに記載のデバイス。
(項目20)
上記1組の命令を受信し、提出動作に応答してデータを送信するための送受信機をさらに備える、項目14〜19のいずれかに記載のデバイス。
(項目21)
上記デバイスはモバイル通信デバイスを備える、項目14〜20のいずれかに記載のデバイス。
(項目22)
項目21に記載の複数のモバイル通信デバイスを備える、無線通信システム。
(項目23)
コンピュータデバイスのディスプレイに図形をレンダリングするためのコンピュータプログラム製品であって、項目1〜13のいずれかの方法を実装するためのコンピュータデバイスのプロセッサによって実行可能な1組の命令を保持するコンピュータ読み取り可能な媒体を備える、コンピュータプログラム製品。
【図面の簡単な説明】
【0008】
図面において本発明の例示的な実施形態を示す。
【図1】図1は、本発明に従ったシステムの概略図を示す。
【図2】図2は、図1の無線通信ネットワークおよびハンドヘルドデバイスの概略図を示す。
【図3A】図3A〜3Cは図1のWebコンテンツサーバのソースコード例を示す。
【図3B】図3A〜3Cは図1のWebコンテンツサーバのソースコード例を示す。
【図3C】図3A〜3Cは図1のWebコンテンツサーバのソースコード例を示す。
【図4】図4は、図3A〜3Cのソースコードによる画面表示例を示す。
【発明を実施するための形態】
【0009】
図1は、本発明に従ったシステム80を示す。システムは、Webコンテンツサーバ84、コンパイラ86、およびリレーサーバ87に接続された、公共のインターネット82を含む。無線通信網88はリレーサーバ87に接続されており、該無線通信網88はハンドヘルドモバイル通信デバイス90に無線で接続している。ハンドヘルドモバイル通信デバイス90は、ハウジング、キーボード92およびサムホイール94などの1つ以上の入力制御、出力デバイス、ディスプレイ96(好ましくはフルグラフィックLCD)を有する。その他の種類の出力デバイスが代わりに利用されてもよい。図1とともに図2を参照すると、処理デバイスであるマイクロプロセッサ98が、キーボード92およびサムホイール94と、ディスプレイ96の間に接続されて概略的に示されている。マイクロプロセッサ98は、ユーザによるキーボード92上のキー、および/またはサムホイール94の操作に反応して、ディスプレイ96の動作、およびモバイル通信デバイス90の全体的な動作を制御する。
【0010】
ハウジングは縦方向に長くてもよく、また、他の大きさおよび形態であってもよい(二つ折り構造のハウジングを含む)。キーボードは、テキスト入力と電話入力とを切り替えるためのモード選択キーまたはその他のハードウェアもしくはソフトウェアを備えていてもよい。
【0011】
マイクロプロセッサ98に加えて、モバイル通信デバイス90のその他の部分を概略的に図2に示す。これらには、通信サブシステム(または送受信機)100、短距離通信サブシステム102、キーボード92、サムホイール94、およびディスプレイ96が含まれるほか、1組の補助I/Oデバイス106、シリアルポート108、スピーカー111、マイクロフォン112を含むその他の入力/出力デバイス、フラッシュメモリ116およびランダムアクセスメモリ(RAM)118を含む記憶デバイス、そして種々の他のデバイスサブシステム120が含まれる。モバイル通信デバイス90は、好ましくは、音声およびデータ通信能力を有する双方向のRF通信デバイスである。また、該モバイル通信デバイス90は、インターネットを介して他のコンピュータシステムと通信する能力を有することが好ましい。
【0012】
マイクロプロセッサ98によって実行されるオペレーティングシステムソフトウェアは、フラッシュメモリ116などの永続的な格納装置に格納されることが好ましいが、読み取り専用メモリ(ROM)もしくは同様の格納装置など、他の種類の記憶デバイスに格納されてもよい。また、システムソフトウェア、特定のデバイスアプリケーション、またそれらの部品は、RAM118などの揮発性の格納場所に一時的にロードされてもよい。モバイル通信デバイスによって受信された通信信号も、RAM118に格納されてもよい。
【0013】
マイクロプロセッサ98は、そのオペレーティングシステム機能に加えて、JAVA(登録商標)仮想マシン128の動作を可能にし、そのJAVA(登録商標)仮想マシンを介して、ソフトウェアアプリケーション130A〜130Nの動作を可能し、これらのアプリケーションのすべては、デバイス90上のフラッシュメモリ116に格納され得る。当業者には理解されるように、JAVA(登録商標)はプラットフォーム非依存言語であり、JAVA(登録商標)仮想マシンは、特定のデバイス上でJAVA(登録商標)プログラムを実行可能にするために作成される。ハンドヘルド90とともに使用することができる特定のJAVA(登録商標)仮想マシンは、JAVA(登録商標)2プラットフォーム、Micro Edition(J2ME)の一部であり、Sun Microsystems,Inc.のウェブサイトwww.sun.comから入手可能である。JAVA(登録商標)の詳細についてはhttp://java.sun.comなど多くのソースから入手可能であり、その内容は参照により本明細書に援用される。データおよび音声通信130Aおよび130Bのような基本的なデバイスの動作を制御する、所定の1組のアプリケーションは、製造時にデバイス90にインストールすることができる。また、個人情報管理(PIM)アプリケーション130Cが、製造時にインストールされ得る。PIMは、好ましくは、e−メール、カレンダーイベント、ボイスメール、アポイントメント、タスクアイテムなどのデータアイテムを整理および管理する能力を有する。また、PIMアプリケーションは、好ましくは、無線ネットワーク88を介してデータアイテムを送信および受信する能力を有する。好ましくは、PIMデータアイテムは、無線ネットワーク88を介して、デバイスユーザ側の対応する格納データアイテムとシームレスに統合、同期化、および更新されるか、または、ホストコンピュータシステムと関連付けられる。工場でインストールされるその他のアプリケーションには、メディアエンジン130DおよびJAVA(登録商標)ユーザインタフェース(UI)オブジェクト130Eが含まれ、双方について後に詳述する。
【0014】
データおよび音声通信を含む通信機能は、通信サブシステム100を介して実行され、場合によっては、短距離通信サブシステム102を介して実行される。該通信サブシステム100には、受信機150、送信機152、1つ以上のアンテナ154および156が含まれる。さらに、該通信サブシステム100には、デジタルシグナルプロセッサ(DSP)158やローカルオシレータ(LO)160のような処理モジュールが含まれる。通信サブシステム100の特定の設計および実装は、モバイル通信デバイス90が動作することが意図される通信ネットワークに依存する。例えば、モバイル通信デバイス90の通信サブシステム100は、MobitexTM、DataTACTMもしくは汎用パケット無線サービス(GPRS)のモバイルデータ通信網を用いて動作するために設計されてもよく、また、AMPS、TDMA、CDMA、PCS、GSM等の、種々の音声通信ネットワークのいずれかを用いて動作するために設計されてもよい。他の種類のデータおよび音声ネットワークは、別個でも統合されていても、モバイル通信デバイス90を用いて利用されてもよい。
【0015】
ネットワークへのアクセス要件は、通信システムの種類により異なる。例えば、MobitexTMおよびDataTACTMネットワークにおいては、モバイル通信デバイスは各デバイスに関係する一意的な個人識別番号(PIN)を用いてネットワーク上で登録される。しかし、GPRSネットワークにおいては、ネットワークアクセスは加入者すなわちデバイスのユーザと関係している。従って、GPRSデバイスがGPRSネットワーク上で動作するためには、一般的にSIMカードと呼ばれる加入者識別モジュールが必要となる。
【0016】
必要なネットワーク登録もしくは起動手順が完了すると、モバイル通信デバイス90は通信網88を介して通信信号を送信および受信することができる。通信網88からアンテナ154を通して受信された信号は、受信機150にルートされ、該受信機は、信号増幅、周波数ダウンコンバージョン、フィルタリング、チャネル選択等を提供し、またさらにはアナログからデジタルへの変換を行うこともできる。受信信号をアナログからデジタルへ変換することで、DSP158は、復調および復号のような、より複雑な通信機能を実行することが可能となる。同様に、ネットワーク88に送信された信号はDSP158により処理され(復調および複合されるなど)、それから送信機152に送られ、デジタルからアナログへの変換、周波数アップコンバージョン、フィルタリング、増幅、そしてアンテナ156を介して通信ネットワーク88(複数の場合もある)への送信が行われる。
【0017】
通信信号の処理に加えて、DSP158は、受信機150および送信機152の制御を提供する。例えば、受信機150および送信機152中の通信信号に与えられた利得は、DSP158に実装された自動利得制御アルゴリズムによって適応制御されることができる。
【0018】
データ通信モードにおいては、ダウンロードされたテキストメッセージもしくはWebページのような受信された信号は、通信サブシステム100によって処理され、マイクロプロセッサ98に入力される。受信された信号はそれからマイクロプロセッサ98によってさらに処理され、ディスプレイ96に出力されるか、または、他の補助I/Oデバイス106に代わりに出力される。デバイスユーザは、キーボード92、サムホイール94、タッチパッドやロッカースイッチ、または別の種類の入力デバイスなどその他の補助I/Oデバイス106のうちの1つ以上を使用して、Eメールメッセージのようなデータアイテムを作成することもできる。作成されたデータアイテムは、それから、通信サブシステム100を介して無線通信ネットワーク88を介して送信される。
【0019】
音声通信モードにおいて、受信信号がスピーカー111に出力されること、そして送信するための信号はマイクロフォン112によって生成されるということを除けば、デバイスの全体的な動作はデータ通信モードと実質的に同様である。代替的なボイスメッセージ録音システムのような、音声または音響I/Oサブシステムも、デバイス90に実装することができる。また、ディスプレイ96も、例えば、発信者のIDもしくはボイスコールの長さ、またはその他のボイスコールに関連した情報を表示するために音声通信モードにおいて利用され得る。
【0020】
短距離通信サブシステム102は、モバイル通信デバイス90とその他の隣接するシステムまたはデバイス間の通信を可能にするが、該デバイスは同様のデバイスでなくともよい。例えば、同様に使用可能なシステムおよびデバイスを通信に提供するための、短距離通信サブシステムには赤外線デバイスや関連する回路およびコンポーネント、あるいはBluetoothTM通信モジュールが含まれてもよい。
【0021】
デバイス90は、デバイスの活性素子に電力を供給するために電池121を有してもよい。
【0022】
コンパイラ86は、入力されたソースコードファイルを受信して解析し、コンピュータ読み取り可能なオブジェクトファイルとして出力するために、ソフトウェア制御で動作するプロセッサを備えてもよい。後にさらに説明されるように、コンパイラは、SVGのような図形表示言語もしくは修正されたWebフォーム作成言語を含むソースコードを解析するように特別に構成される。Webフォーム作成言語はXFormsであってもよい。XForms version 1.0は、2003年10月14日ワールド・ワイド・ウェブ・コンソーシアム(W3C)勧告であり、www.w3.orgにて入手可能であり、その内容は参照により本明細書に援用される。SVG同様、XFormsはXMLの拡張機能である。
【0023】
動作上の概要において、コンテンツプロバイダは、図形表示言語およびWebフォーム作成言語の両方を使用してWebコンテンツを開発し得る。各言語でのステートメントは、ソースコードにおいて別々に識別される。Webフォーム作成言語は、Webフォーム作成言語によって定義されるユーザ入力の位置およびサイズの規格を含むように修正されてもよい。ソースコードは、図形要素をWebフォーム作成言語の提出動作に結合する図形表示言語でのステートメントを含んでもよい。別のステートメントが、図形要素をWebフォーム作成言語のリセット動作に結合してもよい。ソースコードは、Webコンテンツサーバ84にロードされてもよい。デバイス90は、無線通信網88、リレーサーバ87、およびインターネット82を介して、Webコンテンツサーバ84からこのコンテンツを要求できる。コンテンツが戻されると、リレー87において傍受され、コンパイラ86にリダイレクトされる。コンパイラは、コンテンツのソースコードをコンパイルし、オブジェクト(バイナリ)ファイルにしてリレー87に戻し、該ファイルはそこから無線通信ネットワーク88を介してデバイス90に送られる。デバイス90のマイクロプロセッサ98は、JAVA(登録商標)仮想マシン128上で動作するメディアエンジン130Dを使用して、ディスプレイ96上のオブジェクトファイルにある図形要素をレンダリングする。Webフォーム作成ステートメントは、UIクラスからネイティブUIオブジェクトを作成するのに必要なパラメータを抽出するために解析される。これらのパラメータは、その後ネイティブUIオブジェクトを作成するために使用される。それから、ネイティブUIオブジェクトは、ユーザが種々の特定のUI領域にあるデータを入力および表示することを許可する。ユーザが提出動作に結合した図形を選択すると、ユーザ入力データは、コンテンツサーバ84上のアプリケーションのような特定の(ローカルまたは遠隔)アプリケーションに提出され得る(ネットワーク88、リレー87、およびインターネット82を介して)。
【0024】
動作は、図3A〜3Cのソースコード例を用いて、さらによく理解されるであろう。この典型的なコードは、SVGおよびXFormsステートメントの両方を含んでおり、XFormsステートメントには、接頭辞「XForms:」が付与されている。残りのステートメントにはそのような接頭辞が付かないため、SVGステートメントであると予測することができる。これらの図面を参照すると、1行目はコードがXMLコードであることを宣言している。2行目は、SVGステートメントに対する文書型宣言(DTD)ファイルのロケーションを特定している。3行目はSVG図形要素を含み得るディスプレイの領域を設定している。該3行目は、関連するも画定している。具体的には、ネームスペースはXFormsの拡張子である「pz」に対して画定され、ネームスペースはXFormsそのものに対して画定され、また、ネームスペースはSVGに対して画定される。4〜24行目は、フォームモデル「form1」を定義するXFormsモデル定義を設定する。より具体的には、7〜11行目は、ユーザから収集される情報の構造を定義する。12行目は、最初の提出である「form1Submission」がトリガされた時、何を提出するかという命令であり、13行目は、インスタンスデータおよびインスタンスデータの送信先のURLを送信するのに使用されるプロトコルを規定する。14および15行目は、第2の提出である「form1Submission2」がトリガされた時に、同様の情報を提供する。17〜20行目もXFormsであり、各提出が結合されたインスタンスデータの提出を開始する。21〜23行目は、ユーザがXFormsでトリガしたアクション、ここではフォーム内のいかなる情報も削除するためのリセット、を定義する。
【0025】
25行目は、青い境界線を持つ空の矩形を確立するSVGステートメントである。矩形の左上の角は、表示位置(80,0)に設定されており、矩形の幅は100(ピクセル)、高さは20(ピクセル)である。26〜30行目は、「CustomerName」を参照して、「form1」フォームに対するフリーフォームのXForms入力を、そして、「Enter your name」という説明ラベルを定義する。標準XForms入力ステートメントでは、ラベルの表示位置を規定すること、および、関連するテキスト入力ボックスを作成して位置決めすることはWebブラウザに任されている。しかし、標準フォームのフリーフォームで入力したステートメントは、「pz」パラメータを4つ含む27行目によって修正されている。これらのpzパラメータは、矩形を表示位置に画定し、この矩形は25行目のSVGステートメントによる画定とまったく同じであることが分かるであろう。
【0026】
31行目は、ディスプレイに「Description」という単語を配置するためにSVGステートメントを使用し、32行目は、この単語の横に矩形を配置するために、さらにSVGステートメントを使用する。33〜35行目は、「Description」を参照して「form1」フォームに対して、XFormsユーザ入力テキスト領域を画定する。XFormsの標準テキスト領域ステートメントは、33行目に「pz」パラメータを4つ含むことにより修正されており、これらのパラメータは、32行目のSVGで作成された矩形のパラメータとまったく同じである。
【0027】
36および37行目は、「Favourite Ice Cream Flavour」という言葉、およびこのテキスト横の矩形の表示を規定する。38〜55行目は、ユーザが4アイテムのうちひとつを選択できるようにXForms選択メニューを定義する。アイテムが選択されると、各選択の値の属性が、格納される値を規定する。ここでも「pz」パラメータは、37行目で作成された矩形に対するパラメータとまったく同じである。
【0028】
56〜61行目は、17および18行目の「form1Submit」というXFormsの動作をSVG図形、すなわち、「Submit1」という単語を含む輪郭のない色付きの矩形に結合する。同様に、62〜67行目は、19および20行目の「form1Submit2」というXFormsの動作をSVG図形、すなわち、「Submit2」という単語を含む輪郭のない色付きの矩形に結合する。また、同様に、68〜73行目は、21〜23行目の「form1Reset」というXFormsの動作をSVG図形、すなわち、「Reset」という単語を含む輪郭のない色付きの矩形に結合する。
【0029】
図1を参照すると、図3A〜3Cのソースコードはサーバ84上に格納され得る。このソースコードは、ハンドヘルド90によって要求された場合、最初にコンパイラ86によってコンパイルされる。図2を参照すると、コンパイルされたコードは、それからプロセッサ98によって、JAVA(登録商標)仮想マシン128上で動作しているメディアエンジン130Dを通して実行される。メディアエンジンが、図形を規定するSVGオブジェクトコードに遭遇した場合、エンジンはディスプレイ96に図形をレンダリングするために直接コードを適用する。エンジンが、ユーザ入力を可能にするために修正されたXFormsコードに遭遇した場合、エンジンはコードからパラメータを抽出し、それらのパラメータを利用してネイティブUIオブジェクトを規定する。例えば、エンジンが26〜30行目のソースコードに対応するオブジェクトコードに遭遇した場合、エンジンは4つのpzパラメータ、「CustomerName」参照、および「Enter your
name」ラベルを抽出して、これらのパラメータを用いてネイティブUIオブジェクトを規定する。そしてネイティブUIオブジェクトはこれらのパラメータを使用してユーザ入力を可能にする。すなわち、例に従って、ネイティブUIオブジェクトは「Enter your name」という言葉、および、pzパラメータで画定されたテキストボックスの表示を制御する。ハンドヘルド90に適合したネイティブUIオブジェクトは、キーボード92、サムホイール94、および、いかなる補助入力デバイス106をも介してこのボックスへのテキスト入力を可能にし、参照「CustomerName」の元に入力されたテキストを格納する。ネイティブUIオブジェクトは同様に規定され、ユーザインタフェースを表示し、ソースコード33〜35行目のテキストボックス、および、38〜55行目のソースコードの選択メニューに対する入力値の入力および格納を許可する。これについては、「pz」パラメータを選択することにより、ユーザ入力領域は、SVG図形要素と同空間に存在するか、またはその中に含まれて存在するようになり、SVGは、図形枠の種類や塗りつぶしの色などの、ユーザ入力領域を視覚的に定義するために使用され得るということに注目するべきである。SVGはまた、これらユーザ入力領域(点滅している領域など)の動画を定義するために使用され得る。
【0030】
SVG図形をXForms提出動作に結合することにより、ユーザはSVG「submit」図形を選択することで(例えばクリックすることで)提出動作を行うことができる。同様に、SVG図形をXFormsリセット動作に結合することにより、ユーザはSVG「reset」を選択することでリセット動作を行うことができる。従って、エンジンは、この機能性を提供するためのネイティブUIオブジェクトを規定する必要はない。
【0031】
当業者には理解されるように、メディアエンジンはオブジェクトコードからツリー構造を作成し、オブジェクトコードによって規定された命令を実行するためにそのツリーをトラバースする。エンジンは、アクティブな動画およびユーザのアクションに応答してディスプレイを更新するために、必要に応じてツリーをトラバースする。
【0032】
図4は、メディアエンジンがオブジェクトコードによって確立されたツリーをトラバースした後の、ハンドヘルドのディスプレイ96を示す。図形要素210、212および214は、それぞれソースコード25、32および37行目によって定義される。「submit1」の図形216はソースコード56〜61行目によって定義され、「submit2」の図形218は62〜67行目に定義され、「reset」図形220は68〜73行目によって定義される。
【0033】
マイクロプロセッサ98は、フィールドプログラマブルゲートアレー(FPGA)のような、いかなる適切なコントローラとも置き換えられる。
【0034】
ソフトウェアアプリケーション130A〜130N(クラス130Eからインスタンスを作成したメディアエンジン130DおよびネイティブUIオブジェクトを含む)は、JAVA(登録商標)仮想マシン128上で動作していると説明されているが、適切な適応によって、これらのソフトウェアアプリケーションはMicrosoft Windows(登録商標)のような別のプラットフォーム上で動作することができる。あるいは、メディアエンジンは、デバイスのオペレーティング・システムの一部にもなり得る。図形表示言語がSVGとして説明されているが、同じく別の図形表示言語も使用され得る。Webフォーム作成言語はXFormsとして説明され得るが、1999年12月24日のHTML4.01 W3C勧告の一部である、ハイパーテキストマークアップ言語(HTML)フォームなど、別のWebフォーム作成言語を使用することも可能であり得る。
【0035】
ハンドヘルド90のネイティブUIオブジェクトは、ハンドヘルドの特定のユーザインタフェース制御(例えばサムホイール)と相互に作用するように開発されたオブジェクトである。これらのオブジェクトは、ハンドヘルドがJAVA(登録商標)仮想マシンを実行する典型的な実施形態においてJAVA(登録商標)オブジェクトとして説明されてきた。しかし、異なるプラットフォーム上で動作するデバイスにおいては、これらのネイティブUIオブジェクトもまた異なるため、異なるプラットフォーム上で実行するように構成されている。
【0036】
本発明の教示が、典型的な実施形態に記述されている通り、無線デバイスよりもむしろ有線デバイスに応用できることは明白である。さらに、デバイスは、例えば、ハンドヘルドデバイスよりもむしろパーソナルコンピュータまたはラップトップコンピュータであり得る。デバイスの能力によって、デバイスは、コンパイルされた形態のソースコードよりもむしろWebコンテンツサーバ84からソースコードそのものを受け入れる(および実行する)ことが可能であり得る。その場合には、コンパイラ86は必要ではなくなる。
【0037】
他の改良は当業者には明白であり、従って、本発明は特許請求の範囲において定義される。

【特許請求の範囲】
【請求項1】
明細書に記載の発明。

【図1】
image rotate

【図2】
image rotate

【図3A】
image rotate

【図3B】
image rotate

【図3C】
image rotate

【図4】
image rotate


【公開番号】特開2012−133774(P2012−133774A)
【公開日】平成24年7月12日(2012.7.12)
【国際特許分類】
【外国語出願】
【出願番号】特願2011−267928(P2011−267928)
【出願日】平成23年12月7日(2011.12.7)
【分割の表示】特願2008−534833(P2008−534833)の分割
【原出願日】平成18年10月13日(2006.10.13)
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.GSM
【出願人】(500043574)リサーチ イン モーション リミテッド (531)
【氏名又は名称原語表記】Research In Motion Limited
【住所又は居所原語表記】295 Phillip Street, Waterloo, Ontario N2L 3W8 Canada
【Fターム(参考)】