(57)【要約】  対話型コンピューティング・デバイスは、複数のＵＩコンフィグレーションをサポートすることができ、通常のオペレーション中に、１つのＵＩコンフィグレーションから他のＵＩコンフィグレーションにダイナミックに切り替えることができる。サポートされたＵＩコンフィグレーションは、異なった個々のハードウエアとデバイス用のソフトウエアの設定から得られる可能な並び替えのサブセットである。そのようなデバイス用に記述されたソフトウエアは、複数のコンフィグレーションをサポートすることができ、新たなＵＩコンフィグレーションの要求に対して、自身のユーザ・インタフェースを適応させることによって、ＵＩコンフィグレーションにおけるダイナミックな切り替えに応答することができる。デバイス自身もまた、ソフトウエア・アプリケーションからのリクエストに応じてＵＩコンフィグレーションを切り替えることができる。【特許請求の範囲】
【請求項１】
対話型コンピューティング・デバイスであって、
複数のサポートされたユーザ・インタフェース・コンフィグレーションにおいて動作する手段と、
動作中に、１つのユーザ・インタフェース・コンフィグレーションから他のユーザ・インタフェース・コンフィグレーションに動的に切り替える手段とを備え、
サポートされたユーザ・インタフェース・コンフィグレーションのセットが、複数の異なった個々のハードウエアとソフトウエア・アプリケーションの設定とを組み合わせることによって得られる、可能性のあるユーザ・インタフェース・コンフィグレーションから選択されることを特徴とする対話型コンピューティング・デバイス。
【請求項２】
サポートされたユーザ・インタフェース・コンフィグレーションの前記セットが、権限のない改竄から保護された読出専用ファイルに格納されていることを特徴とする請求項１に記載の対話型コンピューティング・デバイス。
【請求項３】
前記デバイス上のソフトウエア・アプリケーションからのリクエストに応じて、前記ユーザ・インタフェース・コンフィグレーションを切り替えることを特徴とする請求項１又は２に記載の対話型コンピューティング・デバイス。
【請求項４】
前記ソフトウエア・アプリケーションが前記デバイス上の現状のユーザ・インタフェース・コンフィグレーションをサポートしている場合に、該ユーザ・インタフェース・コンフィグレーションにおける変更が発生しないように構成されることを特徴とする請求項３に記載の対話型コンピューティング・デバイス。
【請求項５】
優先順に前記ユーザ・インタフェース・コンフィグレーションをリスト化し、前記ソフトウエア・アプリケーションがユーザ・インタフェース・コンフィグレーションにおける切り替えを要求した場合に、前記ソフトウエア・アプリケーションによってサポートされた前記ユーザ・インタフェース・コンフィグレーション間での最適な組み合わせが、前記デバイスによってサポートされる前記ユーザ・インタフェース・コンフィグレーションから選択される請求項３又は４に記載の対話型コンピューティング・デバイス。
【請求項６】
前記設定が、画面モードと、前記デバイスの方向と、ズームレベルと、タッチ画面と、前記ユーザ・インタフェースのスタイルとの内、少なくとも１つを含む請求項１乃至５のいずれか１項に記載の対話型コンピューティング・デバイス。
【請求項７】
対話型コンピューティング・デバイスの動作方法であって、
複数のサポートされたユーザ・インタフェース・コンフィグレーションにおいて前記デバイスを動作させる工程と、
前記デバイスの動作中に、１つのユーザ・インタフェース・コンフィグレーションから他のユーザ・インタフェース・コンフィグレーションに動的に切り替える工程とを備え、
サポートされたユーザ・インタフェース・コンフィグレーションのセットが、複数の異なった個々のハードウエアとソフトウエアの設定とを組み合わせることによって得られる、可能性のあるユーザ・インタフェース・コンフィグレーションから選択されることを特徴とする対話型コンピューティング・デバイスの動作方法。
【請求項８】
サポートされたユーザ・インタフェース・コンフィグレーションの前記セットが、権限のない改竄から保護された読出専用ファイルに格納されていることを特徴とする請求項７に記載の対話型コンピューティング・デバイスの動作方法。
【請求項９】
前記デバイス上のソフトウエア・アプリケーションからのリクエストに応じて、前記１つのユーザ・インタフェース・コンフィグレーションから前記他のユーザ・インタフェース・コンフィグレーションへの切り替えが行われることを特徴とする請求項７又は８に記載の対話型コンピューティング・デバイスの動作方法。
【請求項１０】
前記デバイス上の現状の前記ユーザ・インタフェース・コンフィグレーションが、該デバイス上で動作しているソフトウエア・アプリケーションによってサポートされている場合に、該ユーザ・インタフェース・コンフィグレーションにおける変更が発生しないように構成されることを特徴とする請求項９に記載の対話型コンピューティング・デバイスの動作方法。
【請求項１１】
前記ソフトウエア・アプリケーションの優先順に前記ユーザ・インタフェース・コンフィグレーションをリスト化する工程と、
前記ユーザ・インタフェース・コンフィグレーションにおける切り替えが発生した場合に、前記アプリケーションによってサポートされた前記ユーザ・インタフェース・コンフィグレーションと、前記デバイスによってサポートされた前記ユーザ・インタフェース・コンフィグレーションとの間で最適の組み合わせを選択する工程と
を備えることを特徴とする請求項７乃至１０のいずれか１項に記載の対話型コンピューティング・デバイスの動作方法。
【請求項１２】
前記設定が、画面モードと、前記デバイスの方向と、ズームレベルと、タッチ画面と、前記ユーザ・インタフェースのスタイルとの内、少なくとも１つを含むことを特徴とする請求項７乃至１１のいずれか１項に記載の対話型コンピューティング・デバイスの動作方法。
【請求項１３】
請求項７乃至１２のいずれか１項に記載の方法に従って、コンピューティング・デバイスを動作させるオペレーティングシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、対話型コンピューティング・デバイスに関し、特に、多数の異なる個々のハードウエアとソフトウエア・アプリケーションの設定とを組み合わせることによって得られる複数のユーザ・インタフェース・コンフィグレーション間で、オペレーション中に、動的に切り替えることができる多様なハードウエア・コンフィグレーションを有する対話型コンピューティング・デバイスに関する。
【背景技術】
【０００２】
アプリケーション・プログラミング・インタフェース（ＡＰＩ）の提供が提案されてきている。このＡＰＩは、開発者がアプリケーションを一度作成すれば、異なるタイプの多くの対話型コンピューティング・デバイス上で当該アプリケーションが実行可能となるようにすることを目的としている。
【０００３】
対話型コンピューティング・デバイスという語は、情報を表示する画面や他の方法と、情報を選択する等の入力として用いられるキーボード、キーパッド、ボタンアレイ、タッチ画面や他の方法との両方を有するデバイスを含むものとして解釈されるべきである。今日において、それは、デスクトップ・コンピュータ、ラップトップ・コンピュータ、ＰＤＡ、携帯電話、スマートフォン、ディジタル・カメラ、ディジタル・ミュージック・プレーヤのようなパーソナルデバイスを含んでいる。また、他の多くの工業製品や家電製品も同様に含まれ、それらには、ＡＴＭから家庭用電気器具（例えば、洗濯機やテレビ）、自動車（あらゆる型を含む）、鉄道、ボートや飛行機といった輸送機構までが含まれている。
【０００４】
従来技術における最も顕著な例は、Ｊａｖａ（登録商標）についての例である。プラットフォームの多様性を限定することなく、クロス・プラットフォーム・オペレーションを提供する技術として以下のように記載されている（http:java.sun.com/features/1997/aug/wora.htmlより）
「実際には、最初のメインフレームにおける最初のオペレーティングシステムがアップグレードされた瞬間から、コンピュータは、フラグメンテーションと非互換性とを増加させる経路を減速してきている。２年前に、そのような傾向を逆転し、今日の細分化されたコンピューティング環境に、切望されていた統一性をもたらす希望を提供する技術が出現した。その技術とはＪａｖａ（登録商標）であり、基礎となるシステムにおいて、差異を超越する共通のコンピューティングアーキテクチャを定義している。また、その技術は、「一度書けば、どの環境でも動く（Write Once, Run Anywhere）」と呼ばれる、コンピューティングの新しいモデルを促進している。」
Ｊａｖａ（登録商標）プログラムは、物理的なコンピュータの代わりにＪａｖａ（登録商標）バーチャルマシン上において動作するように記述されている。つまり、実際のコンピュータ上で動作するのは、バーチャルマシンである。従って、プログラマは、プログラマが好む種類のコンピュータ上、又は、顧客が好む種類のコンピュータ上で動作するプログラムを開発することができる。なぜならば、プログラムは、それらのコンピュータ上におけるＪａｖａ（登録商標）バーチャルマシン内部において動作するからである。このことは、消費者がアプリケーションを購入する際に、「Mac（登録商標） version」又は「Microsoft Windows（登録商標） version」を購入する必要がないことを意味している。消費者は、「Java（登録商標） technology version」を購入することができる。また、消費者が、Ｊａｖａ（登録商標）バーチャルマシン（Ｊａｖａ（登録商標）バーチャルマシンは無料であり、多くのベンダから入手可能である）を有している限り、消費者は、特定のコンピュータ上で動作するのか否かを懸念することなく、プログラムを購入することができる。
【０００５】
上記に記述したような従来技術における課題点として、一度書けば、どのようなプラットフォームにおいても動作が可能という機能を実現する仕組みは、Ｊａｖａ（登録商標）バーチャルマシン（ＪＶＭ）の存在に依存していることである。ＪＶＭは、静的なエンティティであり、（専用の）ハードウエアから（汎用の）ソフトウエアを分離するように記述される。ＪＶＭは、その性能がビルドされた際に固定されるので静的である。コンパイル時や、ビルド時や、インストール時に固定化される性能に依存する類似のソリューションは、全て同様に静的である。
【０００６】
静的な性能が問題とされるのは、デバイス上のハードウエアが不変であることはもはや真実でないという理由からである。短時間で再コンフィグレーションできるハードウエアで構成されているコンピューティング・デバイスのクラスが出現してきている。例えば、Sony Ericsson社製のスマートフォンP800とP900は、フリップ・オープン・モード（大画面）又は、フリップ・クローズド・モード（小画面）を駆動することができる。この分野では、更に進んで開発が行われ得る。例えば、両手タッチスクリーンモード、又は、片手ボタンモードで駆動するデバイスや、横向き又は縦向きのいずれかで駆動するデバイスや、表示用の異なるレベルのズームで駆動するデバイスの開発が行われ得る。
【０００７】
このようなデバイスに最も近いのは、おそらくは現在のデスクトップＰＣである。デスクトップＰＣは、多くの異なる解像度と色の深みを含んだ、多くの異なるタイプの画面を接続することができる。全てのＰＣユーザは、画面の解像度がランタイム中に変化しても、ユーザ・インタフェース（ＵＩ）が、ユーザ・インタフェース自身を自動的に再コンフィグレーションしないことを知っている。時には、リブートが必要な場合があり、アプリケーションが終了し、リスタートされる必要がある。しかしながら、リブートとリスタートは、携帯電話の機能を含むデバイスにとって実用的なオプションとはみなされない。携帯電話の機能を含むデバイスには、例えば、現在のスマートフォンやＰＤＡがあり、常にオン状態で有効とされていることがユーザから要求されている。
【０００８】
今までの全てのオペレーティングシステム（ＯＳ）とユーザ・インタフェースは、単一のデバイス上におけるハードウエアは、基本的に不変であり、それゆえ、ＯＳは、ランタイム時におけるハードウエアの変更に対処する必要があるＵＩを提供することはないと仮定できた。
【０００９】
ソフトウエア・アーキテクチャの新しいクラスは、ランタイム時に再コンフィグレーション可能なハードウエアの新しいクラスに対処することが求められる。しかしながら、既存のソフトウエアプラットフォームに、異なるユーザ・インタフェース・コンフィグレーション用のネイティブなランタイムサポートを加えることは、容易なことではない。事実、これは高価で、時間がかかり、実行にリスクが伴うような大きなアーキテクチャの変更を要することになるであろう。
【発明の開示】
【発明が解決しようとする課題】
【００１０】
そこで、上記の点に鑑み、本発明は、通常のオペレーション中において、１つのＵＩコンフィグレーションから他のＵＩコンフィグレーションにダイナミックに切り替えることができる１以上のＵＩコンフィグレーションをサポートすることができる対話型コンピューティング・デバイスを提供することを目的とする。
【課題を解決するための手段】
【００１１】
上記課題を解決するため、本発明の第１の観点に係るコンピューティング・デバイスは、対話型コンピューティング・デバイスであって、
ａ．複数のサポートされたユーザ・インタフェース（ＵＩ）コンフィグレーションにおいて動作する手段と、
ｂ．動作中において、１つのＵＩコンフィグレーションから他のＵＩコンフィグレーションに動的に切り替える手段とを備え、サポートされたＵＩコンフィグレーションのセットが、複数の異なった個々のハードウエアとソフトウエア・アプリケーションの設定とを組み合わせることによって得られる、可能性のあるＵＩコンフィグレーションから選択されることを特徴とする。
【００１２】
本発明の第２の観点に係る動作方法は、対話型コンピューティング・デバイスの動作方法であって、
ａ．複数のサポートされたユーザ・インタフェース（ＵＩ）コンフィグレーションにおいてデバイスを動作させる工程と、
ｂ．デバイスの動作中に、１つのＵＩコンフィグレーションから他のＵＩコンフィグレーションに動的に切り替える工程とを備え、サポートされたＵＩコンフィグレーションのセットが、複数の異なった個々のハードウエアとソフトウエアの設定とを組み合わせることによって得られる、可能性のあるＵＩコンフィグレーションから選択されることを特徴とする。
【００１３】
本発明の第３の観点に係るオペレーティングシステムは、第１の観点に係る対話型コンピューティング・デバイスを第２の観点に係る方法に従って動作させることを特徴とする
【発明を実施するための最良の形態】
【００１４】
本発明は、新しい方法により、変化するＵＩコンフィグレーションにおいて動作するアプリケーションの問題に対処する。ランタイム時におけるコンフィグレーションの変更を処理するために、アプリケーションが、動的に再コンフィグレーションすることを可能にすると同様に、本発明においてはまた、再コンフィグレーション無しに動作することができない場合に、アプリケーションが、ランタイム時のハードウエアの動的な再コンフィグレーションを要求することができる。更に、基礎から既存のプラットフォームを再エンジニアリングすることは高価でありリスクを伴うのが、本発明は、ＵＩレベルにおいて、ほぼ完全に実施される。
【００１５】
本発明の基本コンセプトは、以下の通りである。
［システムレベルビュー］
ＵＩコンフィグレーションは、ユーザに対してのコンピューティング・デバイスのルック＆フィール（look and feel）を決定するグローバルな設定／プロパティのような高いレベルにおいての設定である。設定のセットは、多くの異なる個々の設定を組み合わせることによって構成されている。それは、とりわけ以下を含んでいても良い。
・画面モード（縦向き、横向き；画面が時計方向又は反時計方向に回転するかを定義することは、横向きモードにおいて、特に重要なことであることに注意する。）
・方向（通常、反転）
・ズームレベル（イン、アウト）
・タッチ画面（イエス、ノー）
・ＵＩスタイル（メニューバー、ソフトキー）
これらの提案は実例にすぎず、正確な実現性とそれらがとる値は、ＵＩ設計者によって定義され、制御される。また、本発明の文脈上では、それらは上記の設定に限られない。しかしながら、設定と値との様々な並び替えが、ＵＩコンフィグレーションを構築している。従って、いかなる特定のデバイスにとっても、様々な方法で相互に異なる設定を組み合わせることによって、比較的多数のＵＩコンフィグレーションが可能となる。
【００１６】
この複数のＵＩコンフィグレーションをサポートするデバイスの多次元的な複雑さは、設定と値との可能な並び替えから生じており、単一の設定のみ（例えば、パーソナルコンピュータの表示の解像度）が考慮される必要があるデバイスや、又は、バーチャルマシンが動作しているデバイスの単純さとは異なる。
【００１７】
本発明が実施されるデバイスは、１以上のＵＩコンフィグレーションをサポートしていても良い。単一のデバイス上における複数のＵＩコンフィグレーションのサポートは、デバイスが、ランタイム時に、異なるＵＩコンフィグレーション間で切り替えることができることを要している。デバイスによってサポートされるＵＩコンフィグレーションのセットは、本発明の文脈上において、システムＵＩコンフィグレーションと呼ばれている。
【００１８】
デバイス上に、許可されるシステムＵＩコンフィグレーションは多数存在しており、それら全てが、ハードウエア製造業者によって常にセットアップされるコンフィグレーション・ファイルに格納されていても良い。その場合には、権限のない改竄行為から保護される必要がある。読出し専用メモリにコンフィグレーション・ファイルを格納する方法が提案される。又は、英国特許出願第0312191.0号、又は、同第0312190.2号に開示されているようなプラットフォームセキュリティモデルを導入する方法が提案される。しかしながら、利用可能なシステム・ＵＩコンフィグレーションのリストは、デバイス上で動作しているアプリケーション・フレームワークにとってアクセス可能である。
【００１９】
どのような時でも、利用可能なシステム・ＵＩコンフィグレーションの内、活性化されたシステム・コンフィグレーションが１つ存在する。そのようなコンフィグレーションは、カレント（現状の）ＵＩコンフィグレーションと呼ばれる。
【００２０】
［アプリケーションレベルビュー］
複数のＵＩコンフィグレーション用に記載されるか、最適化されるかのいずれかがなされたアプリケーションは、デバイスによってサポートされたＵＩコンフィグレーションでのみ動作する。従って、全てのＵＩコンフィグレーションをサポートするということがアプリケーションに要求される必要はない。
【００２１】
それぞれのアプリケーションは、複数のＵＩコンフィグレーション（潜在的に、デバイスによってサポートされないのであっても）をサポートすることができ、また、ＵＩコンフィグレーションＩＤによって、それらを識別することができる。
【００２２】
アプリケーションがスタートした場合に、アプリケーションがサポートすることができるＵＩコンフィグレーションと、デバイスによってサポートされるシステム・ＵＩコンフィグレーションとの間で、最適な組み合わせが見出される。可能な組み合わせの１つが、カレント・ＵＩコンフィグレーションである場合には、特定のコンフィグレーションが選択される。
【００２３】
しかしながら、アプリケーションがカレント・ＵＩコンフィグレーションにおいて動作できず、他の可能なシステム・ＵＩコンフィグレーションと組み合わせることができる場合には、アプリケーション・フレームワークがサポート可能なＵＩコンフィグレーションに変更するように要求することができる。
【００２４】
例えば、アプリケーションにおけるビューが、縦向きから横向きに自動的に切り替わろうとする場合に、ビューは、異なる画面モードを望ましい画面モードとして要求することができる。ビューが活性化される前に、フレームワークは、望ましい画面モードを要求する。ここで、特定されたモードが存在する場合に、システムは、自動的に適切なＵＩコンフィグレーションに切り替える。
【００２５】
以下は、ＵＩＱユーザ・インタフェース用に開発された望ましい実施形態を示している。Symbian OS（登録商標）に用いられているＵＩＱユーザ・インタフェースは、スウェーデン・ロネビーのUIQ Technologies社によって記述されている。Symbian OSとは、英国・ロンドンのSymbian Software社製の高度なオペレーティングシステムである。これは、本発明の背景となる原理を説明するために提供されるものであり、その適用が、特定のオペレーティングシステムとユーザ・インタフェースに限定されることを示しているとして解釈されるべきではない。
【００２６】
Symbian OSとUIQに幾らか精通していることが、特定の実施形態を完全に理解するために必要である一方で、開示された本発明の背景となる原理は、どのようなＯＳにも適用することができる。また、ここで、開示される洞察は、ユーザ・インタフェースとオペレーティングシステムを設計する当業者であれば容易に理解されるであろう。
【００２７】
模範となるUIQ/Symbian OSの実施において、それぞれのアプリケーション用のＵＩコンフィグレーションは、リソースファイル（.rss）に格納され、ui_config_id'sによって識別される。このファイルは、各コンフィグレーション用の.ra filesにリンクしている。全ての.ra filesにおいて、共通設定を格納する必要を回避するために、デフォルトの.ra fileは、個々の.ra filesに格納されている偏差で示されている。
【００２８】
デバイスのスタートアップ時において、デバイスによってサポートされているシステム・コンフィグレーションの設定が生成される。
【００２９】
片手縦向き
・EQikUiConfigPortrait
・EQikUiConfigOrientationNormal
・EQikUiConfigSoftKey
・EQikUiConfigTouchScreenNo
【００３０】
クラシック（両手）縦向き
・EQikUiConfigPortrait
・EQikUiConfigOrientationNormal
・EQikUiConfigMenu
・EQikUiConfigTouchScreenYes
【００３１】
片手横向き
・EQikUiConfigLandscape
・EQikUiConfigOrientationNormal
・EQikUiConfigSoftKey
・EQikUiConfigTouchScreenNo
【００３２】
クラシック（両手）横向き
・EQikUiConfigLandscape
・EQikUiConfigOrientationNormal
・EQikUiConfigMenu
・EQikUiConfigTouchScreenYes
【００３３】
片手フリップ・クローズド
・EQikUiConfigFlipClosed
・EQikUiConfigOrientationNormal
・EQikUiConfigSoftKey
・EQikUiConfigTouchScreenNo
【００３４】
クラシック（両手）フリップ・クローズド
・EQikUiConfigFlipClosed
・EQikUiConfigOrientationNormal
・EQikUiConfigMenu
・EQikUiConfigTouchScreenYes
【００３５】
しかしながら、uiconfig.datファイルが、c:＼system＼dataに存在する場合には、デフォルトのコンフィグレーションの設定は生成されない。コンフィグレーションは、代わりにファイルから読み出される。uniconfig.datファイルは、特定の画面モードにおいてデバイスをブートするために用いられる一時的な解決策である。
【００３６】
Ctrlキー＋Altキー＋Shiftキー＋Uキーで、可能なＵＩコンフィグレーション間で切り替えることが可能である。可能な画面モードは、wsini.iniにおけるリストからWindows（登録商標） Serverによって決定されても良い。以下に、一例を示す。
【００３７】
AUTOCLEAR 0
STARTUP ＼SYSTEM＼PROGRAMS＼QStart
REMOVEFADINGONFOCUSGAIN
WINDOWMODE COLOR64K
TRANSPARENCY
FLICKERFREEREDRAW
SIZE_MODE 0
SCR_WIDTH1 240
SCR_HEIGHT1 320
SCR_ROTATION1 0 180
SCR_WIDTH2 320
SCR_HEIGHT2 240
SCR_ROTATION2 90 270
SCR_WIDTH3 240
SCR_HEIGHT3 208
SCR_ROTATION3 0 180
【００３８】
異なった画面モードがリストされている順番は、QikUiConfigManager.hにおいて見出されるべきTQikScreenModeにおける宣言の順番と整合している必要がある。
【００３９】
2008516358.tif 000002
【００４０】
［ビューの活性化］
QIK_UI_CONFIG structにおけるサポートされたどのデバイスコンフィグレーションも特定していないアプリケーションに切り替えようとすると、デバイスは、現在の画面モード用のシステムデフォルトビューに切り替えようとする。
【００４１】
［QikScreenDeviceChangeHandler］
ＵＩコンフィグレーションにおける変更を申し込むことが可能な場合には、screendevice-change-handlerは、CCoeStaticとなる。変更は、MQikScreenDeviceChangeObserverインタフェースを通して広められる。
【００４２】
2008516358.tif 000003
【００４３】
［QikUiConfigManager］
UI-config managaerは、CCoeStaticであり、そこで、情報が、現在のＵＩコンフィグレーションについて取り出される。以下に、ＡＰＩの一部分を示す。
【００４４】
2008516358.tif 000004
2008516358.tif 000005
【００４５】
［rss files用の命名規則］
ビューが、リソースファイルで実施された場合に、ファイルのサイズが、急速に大きくなりすぎてしまう。そのような場合に、例えば、ビューが各ＵＩコンフィグレーションに１つの.ra fileを用いるべきであるということを指示するという命名規則が導入される。開発者は、通常、１度に１つのコンフィグレーションしか関心を示さない。また、通常、他のコンフィグレーション内の変更について懸念を示さない。異なるコンフィグレーションを異なるファイルに物理的に分離することは、ある変更について気にかける必要があるか否かの問題を簡易化する。
【００４６】
提案としては、レイアウトとコントロールとビューとコマンドリソースとを、別のＵＩコンフィグレーション固有の.ra files（.rss fileに含まれる）に、分離する。幾つかのリソース（レイアウトとコマンドリスト）は、複数のＵＩコンフィグレーション間で共有され、また、リソースは、複製されてはならない。従って、共有されたリソースを有する別個の.ra fileが、用いられるべきである。
【００４７】
従って、本発明は、一度作成すれば、どのようなプラットフォームにおいても動作が可能なソフトウエアをデバイス用に生成することができる。複数のＵＩコンフィグレーションをサポートできる対話型コンピューティング・デバイスの提供によって、デバイスは、ランタイム時に再コンフィグレーションできる能力を有する。また、そのデバイスは、通常のオペレーション中に、１つのＵＩコンフィグレーションから他のＵＩコンフィグレーションにダイナミックに切り替えることができる。サポートされたＵＩコンフィグレーションは、異なった全ての個々のハードウエアとソフトウエアの設定から得られる可能な並び替えのサブセットである。そのようなデバイス用に記述されたソフトウエアは、複数のコンフィグレーションをサポートするようにしても良い。また、自身のユーザ・インタフェースを新たなＵＩコンフィグレーションの要求に適応させることによって、ＵＩコンフィグレーションにおけるダイナミックな切り替えに対応するようにしても良い。また、デバイス自身が、ソフトウエア・アプリケーションの１つからのリクエストに応えてＵＩコンフィグレーションを切り替えるようにしても良い。
【００４８】
本発明は、特定に実施形態に関連して記述されているが、付加された請求項によって定義された本発明の範囲であるならば、適宜変更されても良い。
【国際調査報告】
2008516358.tif 000006
2008516358.tif 000007
2008516358.tif 000008