(58)【調査した分野】(Int.Cl.,DB名)
前記策定された調整に従って前記スクリーン・フローを調整するステップは、新しいユーザー・インターフェース・スクリーンを、前記スクリーン・フローの前記相互接続されたユーザー・インターフェース・スクリーンへ接続するステップを含む、請求項1に記載の方法。
前記特定されたユーザー・インターフェース・エレメントへのより適切なアクセスのために前記策定された調整に従って前記スクリーン・フローを調整するステップは、ユーザー・インターフェース・エレメントを前記相互接続されたユーザー・インターフェース・スクリーンの1つへ付加するステップを含む、請求項1に記載の方法。
前記特定されたユーザー・インターフェース・エレメントへのより適切なアクセスのために前記策定された調整に従って前記スクリーン・フローを調整するステップは、前記相互接続されたユーザー・インターフェース・スクリーンの1つからユーザー・インターフェース・エレメントを除去するステップを含む、請求項1に記載の方法。
前記特定されたユーザー・インターフェース・エレメントへのより適切なアクセスのために前記策定された調整に従って前記スクリーン・フローを調整するステップは、ユーザー・インターフェース・スクリーンを、前記スクリーン・フローの前記相互接続されたユーザー・インターフェース・スクリーンから除去するステップを含む、請求項1に記載の方法。
前記特定されたユーザー・インターフェース・エレメントへのより適切なアクセスのために前記策定された調整に従って前記スクリーン・フローを調整するステップは、前記スクリーン・フローの前記相互接続されたユーザー・インターフェース・スクリーンを再構成するステップを含む、請求項1に記載の方法。
前記アクセスされた使用情報に基づいて、前記ユーザーが他のユーザーよりも前記ユーザー・インターフェース内のより複雑なフィーチャー・セットを扱う予想される能力を有することを決定するステップ
をさらに含み、
前記策定された複数の調整に従って、前記スクリーン・フローを調整するステップは、より複雑なフィーチャー・セットを表す1以上のユーザー・インターフェース・エレメントを、前記相互接続されたユーザー・インターフェース・スクリーンの少なくとも1つへ付加することによって、前記ユーザー・インターフェースへ前記より複雑なフィーチャー・セットを付加するステップをさらに含む、請求項1に記載の方法。
前記アクセスされた使用情報に基づいて、前記ユーザーが他のユーザーよりも前記ユーザー・インターフェース内のより複雑なフィーチャー・セットを扱う予想される能力を有することを決定するステップをまた含み、
策定された前記複数の調整に従って、前記スクリーン・フローを調整するステップは、より複雑なフィーチャー・セットを表すユーザー・インターフェース・エレメントを、前記相互接続されたユーザー・インターフェース・スクリーンの少なくとも1つへ付加することによって、前記ユーザー・インターフェースへ前記より複雑なフィーチャー・セットを付加するステップをさらに含む、請求項11に記載のコンピューター・プログラム。
前記ユーザー・インターフェース調整モジュールは、また、前記アクセスされた使用情報に基づいて、前記ユーザーが前記ユーザー・インターフェース内で他のユーザーよりもより複雑なフィーチャー・セットを扱う予想される能力を有することを決定するよう構成され、
前記策定された複数の調整に従って、前記スクリーン・フローを調整するステップは、より複雑なフィーチャー・セットを表すユーザー・インターフェース・エレメントを、前記相互接続されたユーザー・インターフェース・スクリーンの少なくとも1つへ付加することによって、前記ユーザー・インターフェースへ前記より複雑なフィーチャー・セットを付加するステップを含む、請求項10に記載のコンピューター・システム。
【発明を実施するための形態】
【0011】
[0017] 本発明は、ユーザー・インターフェース・スクリーンの順序およびコンポジションを調整する方法、システム、およびコンピューター・プログラム製品に及ぶ。ユーザー・インターフェースと関連する使用情報がアクセスされる。使用情報は、相互接続されたユーザー・インターフェース・スクリーンのスクリーン・フローにおけるユーザー・インターフェース・エレメントとの、1以上のユーザーのインタラクションを記述する。各ユーザー・インターフェース・スクリーンは少なくとも1つのユーザー・インターフェース・エレメントを含む。
【0012】
[0018] アクセスされた使用情報に基づいて、対象となる1以上のユーザー・インターフェース・エレメントが、スクリーン・フロー内から識別される。スクリーン・フローに対する調整が策定される。識別された対象となる1以上のユーザー・インターフェース・エレメントの点から見て、策定された調整は、スクリーン・フロー内の指定されたユーザー・インターフェース・エレメントに対してのより適切なアクセスを容易にする。スクリーン・フローは、指定されたユーザー・インターフェース・エレメントへのより適切なアクセスのために策定された調整に従って、調整される。
【0013】
[0019] 幾つかの実施形態では、代替的には、または組み合わせとして、スクリーン・フローの調整を策定するときに、コンテキスト情報を用いる。コンテキスト情報は、アプリケーションに関するオペレーティング・コンテキストを表すことができる。オペレーティング・コンテキストに基づいて、調整されるものである対象とする1以上のユーザー・インターフェース・エレメントが、スクリーン・フローから内から識別される。スクリーン・フローに対する調整は、オペレーティング・コンテキストの点から見て、スクリーン・フローをより適切に呈示するように策定される。スクリーン・フローは、ディスプレイ・デバイスのユーザー・インターフェース・エレメントへより適切にアクセスするように策定された調整に従って、調整される。
【0014】
[0020] 本発明の実施形態は、後に詳細に説明するように、例えば、1以上のプロセッサーおよびシステム・メモリなどのようなハードウェアを含む特定用途向けまたは汎用のコンピューターを含む又は用いることができる。本発明の範囲内にある実施形態はまた、コンピューター読取可能命令および/またはデータ構造を搬送または格納するための物理的および他のコンピューター読取可能媒体を含む。そのようなコンピューター読取可能媒体は、汎用または特定用途向けのコンピューター・システムによりアクセスできる任意の入手可能な媒体とすることができる。コンピューター実行可能命令を格納するコンピューター読取可能媒体は、コンピューター・ストレージ媒体(デバイス)である。コンピューター実行可能命令を搬送するコンピューター読取可能媒体は伝送媒体である。即ち、限定ではなく例として、本発明の実施形態は、コンピューター・ストレージ媒体(デバイス)および伝送媒体という少なくとも2つの明らかに異なる種類のコンピューター読取可能媒体を含む。
【0015】
[0021] コンピューター・ストレージ媒体(デバイス)は、望まれるプログラム・コード手段をコンピューター実行可能命令またはデータ構造の形で格納するために用いることができ、且つ汎用または特定用途向けのコンピューターによりアクセスすることができるRAM、ROM、EEPROM、CD−ROM、ソリッド・ステート・デバイス(SSD)(例えば、RAMを基にする)、フラッシュ・メモリ、相変化メモリ(PCM)、他のタイプのメモリ、他の光ディスク・ストレージ、磁気ディスク・ストレージや他の磁気ストレージ・デバイス、または任意の他の媒体を含む。
【0016】
[0022] 「ネットワーク」は、コンピューター・システムおよび/またはモジュールおよび/または他の電子デバイスの間での電子データのトランスポートを可能にする1以上のデータ・リンクと定義される。情報が、ネットワークまたは別の通信接続(有線、ワイヤレス、または有線とワイヤレスとの組み合わせ)を介してコンピューターへ転送または提供されるとき、コンピューターは、その接続を伝送媒体として適切に見る。伝送媒体は、望まれるプログラム・コード手段をコンピューター実行可能命令またはデータ構造の形で搬送するために使用でき、且つ汎用または特定用途向けのコンピューターによりアクセスできるネットワークおよび/またはデータ・リンクを含むことができる。上記のものの組み合わせもまた、コンピューター読取可能媒体の範囲内に含まれるべきである。
【0017】
[0023] 更に、様々なコンピューター・システム・コンポーネントへ到達すると、コンピューター実行可能命令またはデータ構造の形であるプログラム・コード手段は、伝送媒体からコンピューター・ストレージ媒体(デバイス)へ(またはその逆に)、自動的に転送され得る。例えば、ネットワークまたはデータ・リンクを介して受け取られたコンピューター実行可能命令またはデータ構造は、ネットワーク・インターフェース・モジュール(例えば、「NIC」)内のRAMにバッファされ、その後、最終的にコンピューター・システムのRAMへ、および/またはコンピューター・システムにおける揮発性の低いコンピューター・ストレージ媒体(デバイス)へ送られる。従って、コンピューター・ストレージ媒体(デバイス)は、伝送媒体を用いる(主に用いる場合さえある)コンピューター・システム・コンポーネントに含まれ得ることを、理解すべきである。
【0018】
[0024] コンピューター実行可能命令は、例えば、命令およびデータを含み、これらは、プロセッサーで実行されたときに、汎用コンピューター、特定用途向けコンピューター、または特定用途向け処理デバイスに、特定の機能または機能のグループを行わせる。コンピューター実行可能命令は、例えば、バイナリー、またはアセンブリ言語などのような中間フォーマット命令、更にはソース・コードとすることができる。主題事項を、構造的な特徴や方法論的な動作(methodological acts)に対して特定的な言語で記載したが、添付の特許請求の範囲において定める主題事項が必ずしも上記の説明した特徴や動作に限定されるものではないことは、理解される。むしろ、説明した特定の特徴や動作は、特許請求の範囲を実施するための例示的な形として開示されたものである。
【0019】
[0025] 当業者は、多くのタイプのコンピューター・システム構成を持つネットワーク計算環境において本発明を実施でき得ることを理解するであろう。コンピューター・システム構成は、パーソナル・コンピューター、デスクトップ・コンピューター、ラップトップ・コンピューター、メッセージ・プロセッサー、手持ち型デバイス、マルチプロセッサー・システム、マイクロプロセッサー・ベースまたはプログラマブルの消費者向け電子製品、ネットワークPC、マイクロコンピューター、メインフレーム・コンピューター、モバイル電話、PDA、タブレット、ページャー、ルーター、スイッチなどを含む。本発明はまた、ネットワークを通じてリンク(有線データ・リンク、ワイヤレス・データ・リンク、または有線とワイヤレスのデータ・リンクの組み合わせの何れかによる)されるローカルとリモートとのコンピューター・システムの双方がタスクを行う分散型のシステム環境で実施することもできる。分散型のシステム環境では、プログラム・モジュールは、ローカルとリモートとの双方のメモリ・ストレージ・デバイスに配することができる。
【0020】
[0026] この説明および後続の特許請求の範囲では、「スクリーン・フロー」は、デバイスがアクセスできる複数のスクリーンと定義される。スクリーン・フローは、ボタンが選択されたとき、オプションが取られたとき、またはシステムが変更を開始するときにポップアップする新たなスクリーンまたはウィンドゥを有することができる。
【0021】
[0027] 本発明の実施形態は、メニュー・オプションへのより適切なアクセスを容易にするために、ユーザー・インターフェース・スクリーンの順序およびコンポジションを調整する。デバイスとのユーザー・インタラクションを、学習して、ディスプレイ・デバイスでのユーザー・インターフェース・スクリーンの順序およびコンポジションをどのように調節するかを決定するためのデータとして使用することができる。ユーザー・インターフェース・スクリーンの順序およびコンポジションを調整するときに、使用設定、デバイス設定、OEM設定、グループ使用などについての、コンテキスト対応(または非対応)の履歴のユーザー・インタラクションを含む、ユーザー・インタラクションの複数の様相を、考慮することができる。
【0022】
[0028] ユーザー・インターフェース・スクリーンの順序およびコンポジションの調整は、増加、再配置、および再構成のメニューおよび/またはスクリーン・フローを含むことができる。メニューまたはグラフィカル・システムにおける履歴的に関連するオブジェクトまたは新たなオプションおよびエレメントは、集めて表示することができる。メニューおよびスクリーンは、優位なオプションをより見やすく配置するように(ホーム・スクリーン、新たなスクリーン、再順序付けスクリーン、新たなウィジェットなどにかかわらず)、順序を変えることができる。これらの新たなフローおよびオプションは、次に、ユーザーが使用する見込みの高いオプションへユーザーがアクセスするための、より効率的な方法を提供する。メニューおよびスクリーンはまた、スクリーン・フローへ付加することもスクリーン・フローから除去することもできる。
【0023】
[0029]
図1は、スクリーン・フローの調整を容易にする例示のコンピューター・アーキテクチャー100を示す。
図1を参照すると、コンピューター・アーキテクチャー100は、UI調整モジュール101、アプリケーション102、ディスプレイ・デバイス105、および他のデバイス106を含む。示されたコンポーネントのそれぞれは、例えば、ローカル・エリア・ネットワーク(LAN)、ワイド・エリア・ネットワーク(WAN)、更にはインターネットなどのようなネットワークを介して互いに接続される(またはネットワークの一部である)。従って、示されたコンポーネントのそれぞれと、任意の他の接続されたコンピューター・システムおよびそれらのコンポーネントとは、ネットワークを介して、メッセージ関連のデータおよび交換メッセージ関連のデータ(例えば、インターネット・プロトコル(「IP」)・データグラムおよびIPデータグラムを用いる他の高位の層のプロトコル、例えば、トランスミッション・コントロール・プロトコル(「TCP」)、ハイパーテキスト・トランスファー・プロトコル(「HTTP」)、シンプル・メール・トランスファー・プロトコル(「SMTP」)など)を作成することができる。
【0024】
[0030] 一般に、UI調整モジュール101は、アプリケーションに対するユーザー・インターフェース・データを変更するように構成される。ユーザー・インターフェース・データは、アプリケーションとの以前、現在、および予想される1以上のユーザー・インタラクションに基づいて変更することができる。例えば、UI調整モジュール101は、アプリケーションの1以上のユーザーに関して、対応する1以上のデバイスにおいて集められたUI使用情報へ、アクセスすることができる。UI調整モジュール101は、UI使用情報に基づいて、アプリケーションのユーザー・インターフェースに対するUI調整を策定することができる。UI調整モジュール101は、UI調整に従って、アプリケーションに対するユーザー・インターフェース・データを変更することができる。
【0025】
[0031] 代替的には、または組み合わせとして、ユーザー・インターフェース・データは、コンテキスト情報(例えば、デバイス/製造者設定、ユーザーの嗜好、動作環境、天気、時間、日付など)に基づいて変更することができる。例えば、UI調整モジュール101は、アプリケーションに対するコンテキスト情報へアクセスすることができる。UI調整モジュール101は、コンテキスト情報に基づいて、アプリケーションのユーザー・インターフェースに対するUI調整を策定することができる。UI調整モジュール101は、UI調整に従って、アプリケーションに対するユーザー・インターフェース・データを変更することができる。
【0026】
[0032] 示されているように、アプリケーション102は、UIプレゼンテーション・モジュール103と使用追跡モジュール104とを含む。一般に、UIプレゼンテーション・モジュール103は、アプリケーション102に対するユーザー・インターフェース・データへアクセスし、対応するUIスクリーン(UIエレメントを含む)を、呈示のためにディスプレイ・デバイスへ送る。ユーザーがアプリケーション102とインタラクションすると、使用追跡モジュール104は、アプリケーション102に対してのUI使用情報を集める。追跡されたUI使用情報は、格納すること、および/またはアプリケーション102を使用する他のユーザーおよび/または他のデバイスに関して集められたUI使用情報と組み合わせることができる。
【0027】
[0033] ディスプレイ・デバイス105は、ユーザー・インターフェースのためのUIスクリーンを受け取って呈示するように構成される。ディスプレイ・デバイス105はまた、例えば、ディスプレイ・デバイス105がタッチ・スクリーン機能を含むときなどに、ユーザー入力を受け取る。代替的には、または組み合わせとして、入力は、他の物理的入力デバイス、例えば、ノブ、ダイヤル、押しボタン、キーボード、マウスなどから受け取られる。例えば、車両の内部やモバイル・デバイスにおいて、ユーザー・インターフェースのコントロール(物理的またはタッチ・スクリーンの何れか)は、UIスクリーン間での移動のメニュー・オプションを選択するために、用いることができる。
【0028】
[0034] 物理的および仮想のコントロールはリンクすることができる。例えば、デバイスは、次のメニューへ移動するための物理的ボタンとタッチ・スクリーン・プレイとを有することができる。物理的ボタンとタッチ・スクリーン・ボタンとの双方とも、ユーザー・データ・ストレージへ同じ形で影響を与える。従って、ユーザーが物理的ボタンを押すと、スクリーン上の仮想ボタンは、その仮想ボタンが選択されたかのように、作動させられる。
【0029】
[0035] 示したデバイスでのユーザー・インターフェースに関する説明した機能は単なる例であり、説明した機能はまた、様々な他のデバイスでもインプリメントすることができる。更に、示したデバイスおよび/またはアプリケーションに関してのユーザー・インターフェースの機能は、他のデバイスおよび/またはアプリケーションと重なることができる。従って、別のデバイスが、アプリケーションを実行して、別のスクリーン・フローと、別のユーザー・インターフェース・スクリーンと、別のメニュー・オプション(物理的またはタッチ・スクリーンの何れか)とのうちの1以上のものを用いて、そのアプリケーションに対するユーザー・インターフェースとインタラクションすることができる。
【0030】
[0036] 例えば、アプリケーション102、または類似のアプリケーション、または似ていないアプリケーションさえも、他のデバイス106の様々なデバイスで実行することができる。デバイス106は、UIプレゼンテーション・モジュール103および使用追跡モジュール104と似たモジュールを含むことができる。従って、アプリケーション102、類似のアプリケーション、または似ていないアプリケーションに対するUI使用情報も、他のデバイス106で集めることができる。幾つかの実施形態では、ユーザー・インターフェース・スクリーンの順序およびコンポジションを調整するときに、複数のデバイスからの使用情報が考慮される。
【0031】
[0037] 従って、幾つかの実施形態では、1つのアプリケーションにおけるユーザー・インターフェース・スクリーンの順序およびコンポジションは、別のアプリケーション(同じデバイスにおいて又は異なるデバイスにおいての何れか)におけるユーザー・インターフェースに関する使用情報に基づいて調整される。例えば、自動車内のエンターテイメント・システムに関するユーザー・インターフェース・スクリーンの順序およびコンポジションは、デスクトップ・コンピューター・システムにおけるホーム・エンターテイメント・コントロール・センターからの使用情報に基づいて調整することができる。
【0032】
[0038] 更に、幾つかの実施形態では、履歴データが、別のデバイスから、おそらくは別のフローを用いて集められて組み合わされる。例えば、ユーザーが、そのユーザーの電話におけるチェックインを用いない場合、チェックイン機能をユーザーの自動車インフォテインメント・システムから除去することができる。
【0033】
[0039]
図2は、スクリーン・フローを調整するための例示の方法200のフロー・チャートを示す。方法200は、コンピューター・アーキテクチャー100のコンポーネントおよびデータと関連して説明される。
【0034】
[0040] 方法200は、ユーザー・インターフェースと関連する使用情報へアクセスする行動を含み、使用情報は、相互接続されたユーザー・インターフェース・スクリーンのスクリーン・フローにおけるユーザー・インターフェース・エレメントとのインタラクションを記述し、各ユーザー・インターフェース・スクリーンは、少なくとも1つのユーザー・インターフェース・エレメントを含む(201において)。例えば、UI調整モジュール101は、UI使用情報111およびユーザー・インターフェース・データ112へアクセスすることができる。ユーザー・インターフェース・データ112は、アプリケーション102のユーザー・インターフェースに対しての、相互接続されたユーザー・インターフェース・スクリーン(それぞれが、少なくとも1つのユーザー・インターフェース・エレメント、例えば、メニュー・アイテムなどを含む)のスクリーン・フローを定義することができる。UI使用情報111は、相互接続されたユーザー・インターフェース・スクリーンのスクリーン・フローとのインタラクションを記述することができる。
【0035】
[0041] 使用情報111は、履歴データとリアルタイム・データとを含むことができる。履歴データは、デバイスに対するユーザー特定的データ、別のデバイス(1以上)に対するユーザー特定的データ、人口統計学データ(年齢、性別、国)、他の社会的データ、デバイスとのユーザー・インタラクション、デバイス・タイプに対する使用特定的データ、デバイス・タイプに対する全ユーザー・インタラクション、製造者のプリセットおよび限定、1以上のユーザーに対する製造者の履歴データを含むことができる。
【0036】
[0042] 従って、UI使用情報111は、ユーザー・インターフェース・データ112におけるユーザー・インターフェース・スクリーンおよびメニュー・オプションとの1以上のユーザー・インタラクションを記述することができる。UI使用情報111は、ユーザー・インターフェース・スクリーンおよびメニュー・オプションとの以前のインタラクションの間に集められた履歴情報を含むことができる。代替的には、または組み合わせとして、UI情報111は、ユーザー・インターフェース・スクリーンおよびメニュー・オプションとの現在のインタラクションの間に集められたフィードバックを含むことができる。
【0037】
[0043] 幾つかの実施形態では、UI使用情報111は、単一のユーザー(例えば、ユーザー121)のインタラクションを記述する。別の実施形態では、UI使用情報111は、複数のユーザー(例えば、ユーザー121と、他のデバイス106の1以上のユーザー)のインタラクションを記述する。例えば、UI使用情報111は、他のデバイス106からのUI使用情報117を含むことができる。
【0038】
[0044] ユーザー・インターフェース・データ112は、ユーザー・インターフェース・スクリーンおよびメニュー・オプションを組み立てるために用いられる様々な異なるタイプの構造的ユーザー・インターフェース・エレメントおよび/またはインタラクション・ユーザー・インターフェース・エレメントのうちの任意のものを、含むことができる。構造的ユーザー・インターフェース・エレメントは、ウィンドゥ、メニュー、アイコン、コントロール(ウィジェット)、およびタブを含むことができる。インタラクション・ユーザー・インターフェース・エレメントは、カーソル、ポインター、調整ハンドル(例えば、ドラッグ・アンド・ドロップに用いられる)、およびセレクションを含むことができる。
【0039】
[0045] ウィンドゥは、コンテナ・ウィンドゥ、ブラウザー・ウィンドゥ、テキスト・ターミナル・ウィンドゥ、子ウィンドゥ、およびダイアログ・ボックスを含むことができる。メニューは、コンテキスト・メニュー(例えば、右のマウス・ボタンを押すことにより現れる)を含むことができ、メニュー・バーおよび/またはメニュー・エクストラを有することができる。コントロールは、ポインター、テキスト・ボックス、ボタン、ハイパーリンク、ドロップダウン・メニュー、リスト・ボックス、コンボ・ボックス、チェック・ボックス、ラジオ・ボタン、サイクル・ボタン、グリッド、およびスライダーを含むことができる。
【0040】
[0046] 方法200は、アクセスされた使用情報に基づいて、スクリーン・フロー内から、対象とされる1以上のユーザー・インターフェース・エレメントを識別する行動を含む(202において)。例えば、UI調整モジュール101は、ユーザー・インターフェース・データ112において定義されたスクリーン・フロー内から、対象とするユーザー・インターフェース・エレメント(例えば、メニュー・オプション)を識別することができる。ユーザー・インターフェース・エレメントは、UI使用情報111に基づいて識別され得る。
【0041】
[0047] 方法200は、対象とされる識別された1以上のユーザー・インターフェース・エレメントの点から見て、スクリーン・フロー内の指定されたユーザー・インターフェース・エレメントに対してのより適切なアクセスを容易にするために、スクリーン・フローに対する調整を策定する行動を含む(203において)。例えば、UI調整モジュール101は、ユーザー・インターフェース・データ112において定義されたスクリーン・フローに対してUI調整113を策定することができる。UI調整113は、スクリーン・フローにおける指定されたユーザー・インターフェース・エレメントに対してのより適切なアクセスを容易にすることができる。対象とされる識別された1以上のユーザー・インターフェース・エレメントの点から見て、UI調整113を行うことができる。スクリーン・フローに対する調整の策定は、スクリーン・フローからスクリーンを除去すること、スクリーンのスクリーンを再配置すること、スクリーン・フローに対して新たなスクリーンを生成すること、スクリーンからグラフィカル・エレメント(例えば、メニュー・オプション)を除去すること、スクリーン内のグラフィカル・エレメント(例えば、メニュー・オプション)を再配置すること、スクリーンへグラフィカル・エレメント(例えば、メニュー・オプション)を付加すること、スクリーン・フローのスクリーン間でグラフィカル・エレメント(例えば、メニュー・オプション)を移動させることなどのために、調整を策定することを含むことができる。
【0042】
[0048] 幾つかの実施形態では、指定されたユーザー・インターフェース・エレメントは、対象とされる1以上のユーザー・インターフェース・エレメントと交差する。例えば、指定された複数のユーザー・インターフェース・エレメントと、対象とされる1以上のユーザー・インターフェース・エレメントとは、少なくとも1つの共通するユーザー・インターフェース・エレメントを有することができる。これらの実施形態では、スクリーン・フローに対する調整は、同じユーザー・インターフェース・エレメントの使用という点から見て、ユーザー・インターフェース・エレメントへのより適切なアクセスを容易にすることができる。
【0043】
[0049] 別の実施形態では、指定されたユーザー・インターフェース・エレメントは、対象とされる1以上のユーザー・インターフェース・エレメントとは異なる。それらの実施形態では、スクリーン・フローに対する調整は、別の1つのユーザー・インターフェース・エレメントの使用という点から見て、1つのユーザー・インターフェース・エレメントへのより適切なアクセスを容易にすることができる。
【0044】
方法200は、指定されたユーザー・インターフェース・エレメントへのより適切なアクセスのために策定された調整に従って、スクリーン・フローを調整する行動を含む(204において)。例えば、UI調整モジュール101は、UI調整113に従ってユーザー・インターフェース・データ112において定義されたスクリーン・フローを調整するために、UI調整113をユーザー・インターフェース・データ112へ統合することができる。スクリーン・フローに対する調整は、指定されたユーザー・インターフェース・エレメントへのより適切なアクセスのためのものであり得る。
【0045】
[0050] より適切なアクセスは、指定されたユーザー・インターフェース・エレメントをより優位に呈示することを、含むことができる。例えば、より頻繁にスクリーン・フローから選択されるメニュー・アイテムを、開始のUIスクリーンに近い別のUIスクリーンへ、または現存のUIスクリーン上のより優位な位置へ、移動させることができる。逆に、および/または補うために、それほど頻繁には選択されないメニュー・アイテムを、開始のUIスクリーンから遠い別のUIスクリーンへ、または現存のUIスクリーン上の優位性の低い位置へ、移動させることができる。
【0046】
[0051] UI調整モジュール101は、ユーザー・インターフェース・データ112をアプリケーション102へ送ることができる。UIプレゼンテーション・モジュール103は、UI調整モジュール101からユーザー・インターフェース・データ112を受け取ることができる。UIプレゼンテーション・モジュール103は、UIスクリーン/メニュー・アイテム114を、呈示のためにディスプレイ・デバイス105へ送ることができる。ディスプレイ・デバイス105は、UIスクリーン/メニュー・アイテム114を受け取り、UIスクリーン/メニュー・アイテム114に基づく(およびUI調整113を反映する)ユーザー・インターフェース・スクリーン・フローを呈示することができる。
【0047】
[0052] ユーザー121は、ユーザー・インターフェース・スクリーン・フローとインタラクションすることができる。ユーザー121がユーザー・インターフェース・スクリーン・フローとインタラクションすると、使用追跡モジュール104は、ユーザー121に対してのUI使用情報116を集めることができる。使用追跡モジュール104は、UI使用情報をUI調整モジュール101に対して戻すように提供することができ、かつ/またはUI使用情報116をUI使用情報111へ戻すように統合することができる。UI調整モジュール101は次に、UI使用情報116を考慮して、更なるスクリーン・フロー調整を決定することができる。
【0048】
[0053] 幾つかの実施形態では、より複雑なフィーチャー・セットを扱う能力をユーザーは有する、という決定に基づいて、ユーザー・インターフェース・スクリーンおよび/またはメニュー・アイテムがスクリーン・フローへ付加される。
【0049】
[0054] 別の実施形態では、ユーザー・エクスペリエンスが、グループ使用情報に基づいて調整される。
[0055] ここで
図3を参照すると、
図3は、スクリーン・フローの調整の例を示す。示されているように、
図3は、スクリーン・フロー300とスクリーン・フロー300Aとを含む。スクリーン・フロー300は、ユーザー・インターフェース開始スクリーン301と、ユーザー・インターフェース・スクリーン302、303、および304とを含む。ユーザー・インターフェース開始スクリーン301は、メニュー・アイテム311、312、および313を含む。メニュー・アイテム313の選択により、スクリーン・フロー300は、ユーザー・インターフェース・スクリーン302へと移行する。ユーザー・インターフェース・スクリーン302は、メニュー・アイテム321、322、および323を含む。メニュー・アイテム323の選択により、スクリーン・フロー300は、ユーザー・インターフェース・スクリーン303へと移行する。ユーザー・インターフェース・スクリーン303は、メニュー・アイテム331、332、333、および334を含む。メニュー・アイテム334の選択により、スクリーン・フロー300は、ユーザー・インターフェース・スクリーン304へと移行する。ユーザー・インターフェース・スクリーン304は、メニュー・アイテム341および342を含む。各ユーザー・インターフェース・スクリーンはまた、スクリーン・フロー300をユーザー・インターフェース開始スクリーン301へ向けて移行させる「戻る」メニュー・アイテム(示さず)を含むことができる。
【0050】
[0056] スクリーン・フロー300Aは、ユーザー・インターフェース開始スクリーン301とユーザー・インターフェース・スクリーン302および303とを含む。ユーザー・インターフェース開始スクリーン301は、メニュー・アイテム312、321、342、および313を含む。メニュー・アイテム313の選択により、スクリーン・フロー300は、ユーザー・インターフェース・スクリーン302へと移行する。ユーザー・インターフェース・スクリーン302は、メニュー・アイテム322、341、および323を含む。メニュー・アイテム323の選択により、スクリーン・フロー300は、ユーザー・インターフェース・スクリーン303へと移行する。ユーザー・インターフェース・スクリーン303は、メニュー・アイテム331、332、および335を含む。各ユーザー・インターフェース・スクリーンはまた、スクリーン・フロー300をユーザー・インターフェース開始スクリーン301へ向けて移行させる「戻る」メニュー・アイテム(示さず)を含むことができる。
【0051】
[0057] スクリーン・フロー300に対するUI使用情報に基づいて、スクリーン・フロー300をスクリーン・フロー300Aに対して調整するために、調整を、策定し、ユーザー・インターフェース・データへ統合することができる。示されているように、メニュー・アイテム321および342が、ユーザー・インターフェース開始スクリーン301へ移動させられている。メニュー・アイテム321および342は、例えば、使用が増加した結果として、優位性を高くするためにユーザー・インターフェース開始スクリーン301へ移動させることができる。メニュー・アイテム311、321、および333は、ユーザー・インターフェース・スクリーン301、302、および303のそれぞれから除去されている。メニュー・アイテム311、321、および333は、例えば、使用が減少した結果として、除去することができる。
【0052】
[0058] メニュー・アイテム322は、ユーザー・インターフェース・スクリーン302の上部へ移動させられている。メニュー・アイテム323および342は、例えば、使用が増加した結果として、優位性を高くするためにユーザー・インターフェース・スクリーンの上部へ移動させることができる。メニュー・アイテム341は、ユーザー・インターフェース開始スクリーン302へ移動させられている。メニュー・アイテム341は、例えば、使用が増加した結果として(しかし、メニュー・アイテム342よりも使用が少ない可能性がある)、優位性を高くするためにユーザー・インターフェース・スクリーン302へ移動させることができる。メニュー・アイテム335は、ユーザー・インターフェース・スクリーン303へ付加される。メニュー・アイテム335は、スクリーン・フロー300および/またはスクリーン・フロー300Aにおける他のメニュー・アイテムの使用に基づいて、ユーザー・インターフェース・スクリーン303へ付加することができる。
【0053】
[0059] 幾つかの実施形態では、代替的に、または組み合わせとして、スクリーン・フロー調整を策定するときにコンテキスト情報を用いる。コンテキスト情報は、デバイス/製造者設定、ユーザーの嗜好、動作環境、天気、時間、日付などを含むことができる。
図4は、アプリケーションに対するスクリーン・フローを調整するための例示の方法400のフロー・チャートを示す。方法400は、コンピューター・アーキテクチャー100のコンポーネントおよびデータと関連して説明する。
【0054】
[0060] 方法400は、コンピューター・システムに関するコンテキスト情報へアクセスする行動を含み、コンテキスト情報は、アプリケーションに関するオペレーティング・コンテキストを表す(401において)。例えば、UI調整モジュール101はコンテキスト情報118へアクセスすることができる。コンテキスト情報118は、アプリケーション102に対するオペレーティング・コンテキストを定義することができる。
【0055】
[0061] 方法400は、アプリケーションに関しての相互接続されたユーザー・インターフェース・スクリーンのスクリーン・フローへアクセスする行動を含み、各ユーザー・インターフェース・スクリーンは、ユーザー・インターフェースで呈示される少なくとも1つのユーザー・インターフェース・エレメントを含む(402において)。例えば、UI調整モジュール101は、ユーザー・インターフェース・データ112へアクセスすることができる。ユーザー・インターフェース・データ112は、アプリケーション102のユーザー・インターフェースに関しての相互接続されたユーザー・インターフェース・スクリーン(それぞれが、例えばメニュー・アイテムなどのような、少なくとも1つのユーザー・インターフェース・エレメントを含む)のスクリーン・フローを定義することができる。
【0056】
[0062] 方法400は、アプリケーションに関するオペレーティング・コンテキストに基づいて調整されるスクリーン・フロー内からの1以上のユーザー・インターフェース・エレメントを識別する行動を含む(403において)。例えば、UI調整モジュール101は、ユーザー・インターフェース・データ112において定義されたスクリーン・フロー内から、調整されるユーザー・インターフェース・エレメント(例えば、メニュー・オプション)を識別することができる。識別されたユーザー・インターフェース・エレメントは、コンテキスト情報118において定義されたオペレーティング・コンテキストに基づいて識別することができる。
【0057】
[0063] 方法400は、識別された1以上のユーザー・インターフェース・エレメントの点から見て、およびアプリケーションに関するオペレーティング・コンテキストの点から見て、スクリーン・フローをより適切に呈示するために、スクリーン・フローに対する調整を策定する行動を含む(404において)。例えば、UI調整モジュール101は、ユーザー・インターフェース・データ112において定義されたスクリーン・フローに対してUI調整113を策定することができる。UI調整113は、スクリーン・フローにおける指定されたユーザー・インターフェース・エレメントに対しての、より適切なアクセスを容易にすることができる。識別された1以上のユーザー・インターフェース・エレメントの点から見て、およびコンテキスト情報118の点から見て、UI調整113を行うことができる。スクリーン・フローに対しての調整を策定することは、スクリーンの除去、スクリーンの再配置、新たなスクリーンの生成、メニュー・オプションの除去、メニュー・オプションの再配置、メニュー・オプションの付加などのために調整を策定することを含む。
【0058】
[0064] 方法400は、ディスプレイ・デバイスでユーザー・インターフェース・エレメントをより適切に呈示するために、策定された調整に従ってスクリーン・フローを調整する行動を含む(405において)。例えば、UI調整モジュール101は、UI調整113に従ってユーザー・インターフェース・データ112において定義されたスクリーン・フローを調整するために、UI調整113をユーザー・インターフェース・データ112へ統合することができる。スクリーン・フローに対する調整は、ディスプレイ・デバイス105においてユーザー・インターフェース・エレメントをより適切に呈示するためのものとすることができる。
【0059】
[0065] 幾つかの実施形態では、スクリーン・フロー調整は、ポリシーに従って管理される。ポリシーは、使用情報に基づいてスクリーン・フロー調整を許可または阻止することができる。幾つかのスクリーン・フロー調整を阻止するために、限定ポリシーを用いることができる。例えば、ユーザーが特定のサービスに対する支払いを行っていない場合には、たとえ使用情報に基づいてメニュー・アイテムまたはUIスクリーンが付加されるであろう場合であっても、ポリシーは、メニュー・アイテムがUIスクリーンへ付加されることを阻止すること、またはUIスクリーンがスクリーン・フローへ付加されることを阻止することができる。ポリシーは、例えば、コンテキスト情報118などのような、コンテキスト情報に基づいてインプリメントすることができる。
【0060】
[0066]
図5は、スクリーン・フローの調整の例を示す・示されているように、
図5は、スクリーン・フロー500とスクリーン・フロー500Aとを含む。スクリーン・フローは、ユーザー・インターフェース開始スクリーン501とユーザー・インターフェース・スクリーン502〜514とを含む。ユーザー・インターフェース・スクリーン間の矢印は、ユーザー・インターフェース・スクリーン(例えば、モバイル・フォンや自動車用スクリーンのスクリーン)間の流れを示す。
【0061】
[0067] スクリーン・フロー500に対するUI使用情報および/またはコンテキスト情報に基づいて、スクリーン・フロー500をスクリーン・フロー500Aに対して調整するために、調整を、策定して、ユーザー・インターフェース・データへ統合することができる。スクリーン・フロー500Aに示されるように、新たなユーザー・インターフェース開始スクリーン516が付加される。新たなユーザー・インターフェース開始スクリーン516は、例えば、ユーザー・インターフェース・スクリーン503、505、および510などのような、共通に使用されるユーザー・インターフェース・スクリーンへのより効率的なアクセスを許すために、生成することができる。破線は、新たなユーザー・インターフェース開始スクリーン516がユーザー・インターフェース開始スクリーン501(以前のもの)へのリンクを有する場合も有さない場合もあり得ることを示す。×印が示されているスクリーン507、508、512、513、および514は、除去されている(例えば、使用不足のため)。孤立したスクリーンは、アクセシビリティのために再リンクや再順序付けすることができる。
【0062】
[0068]
図6は、スクリーン・フローの調整の例を示す。示されているように、
図6は、スクリーン601、602、および603を含む。UI使用情報は、ユーザー・インターフェース・エレメント611、612、および613が頻繁にアクセスされることを、示すことができる。それに応じて、スクリーン604が生成され、ユーザー・インターフェース・エレメント611、612、および613がスクリーン604へ移動させられる。ユーザー・インターフェース・エレメント611、612、および613はまた、スクリーン604でのより適した編成を容易にするために、位置の変更、サイズの変更、配列の変更などがなされる。また、スクリーン604における編成は、ユーザーがデバイスとインタラクションするとそれに合わせて変更するという点で、動的とすることができる。このダイナミックスは、とりわけ、何れのスクリーンがリンクされるかや、何れのエリアが複製されるかや、それらのエリアのサイズ、形状、位置、ボタンなどを、変更することができる。
【0063】
[0069]
図7は、スクリーン・フローの調整の例を示す。示されているように、
図7は、スクリーン・フロー700とスクリーン・フロー700Aとを含む。スクリーン・フロー700は、埋め込み型システムのためのナビゲーション・スクリーンと、交通ボタンのための構成メニューとを表すことができる。スクリーン・フロー700は、メイン・メニュー711と交通メニュー713とを含む。メイン・メニューは、住所701、ガソリン702、交通703、サーチ704、およびマップ表示731を含む。交通703は、交通メニュー713へアクセスするために選択することができる。交通メニュー713は、リアル・タイム714、天気715、およびアニメーション716を含む。交通メニュー713は、交通が表示される様式をユーザーが変更することを、可能にできる。スクリーン・フロー700は、最初にロードされるデフォールト・メニュー編成を表すことができる。
【0064】
[0070] スクリーン・フロー700Aは、メイン・メニュー711と交通メニュー713とを含む。メイン・メニューは、住所701、ガソリン702、交通703、サーチ704、チェックイン706、およびマップ表示731を含む。交通703は、交通メニュー713へアクセスするために選択することができる。交通メニュー713は、リアル・タイム714と天気715とを含む。スクリーン・フロー700Aは、システムを使用後のメニュー編成を表すことができる。ユーザーがアニメーション716を全く使用しなかったので、そのオプションが除去されたのであろう(例えば、スクリーン・フロー700Aを簡素であるように維持するため)。他方、ユーザーは、レストランをサーチしてシステムへ入力するように、システムを使用しているのであろう。それに応じて、システムは、「チェックイン」ボタン706を付加しており、それにより、ユーザーは、より高度なナビゲーション・オプションを使用することができ、それは、ソーシャル・ネットワーキング・サービスやチェックイン・アプリケーションへのポスティングを含む。
【0065】
[0071] 従って、本発明の実施形態は、履歴データを用いて、メニューおよび/またはスクリーン・フローを増大、再配置、再構成し、ユーザーに対してのコンテンツおよび機能の付加/除去/非表示/公開を行う。コンテンツおよび/または機能の変更は、アイテムやページやメニューの削除または付加を通じて、更には、アイテムやページやメニューがユーザーまたはコンテキストにとっての対象ではないと決定された場合に、行うことができる。共通に使用される又は重要なUIエレメントは、別のページ、例えば、サマリー・ページやクイック・リスト・ページなどへ、引き抜くことができる。
【0066】
[0072] UIエレメントは、プログラムやシステムから除去することができる。例えば、節約して使用されているユーザー・インターフェースまたはシステムのエリアを、除去することができる。また、除去は、それらのUIエレメントと関連するコード、データ、およびプログラムの除去を含むことができる。例えば、或るページが、5つの概念またはUIエレメント・クラスターを有し、履歴データが、ユーザーが5つのうちの1つのみを今までに使用していることを示す場合、システムは、その1つのクラスターを取り、それを別のエリアへ移動させるか、又はそのクラスターのために別のスクリーンに新たなエリアを作り、次にそのページを完全に除去することができる。
【0067】
[0073] また、UIエレメントを、履歴データに基づいて、プログラムまたはシステムへ付加することができる。システムの或る面においてユーザーが上級ユーザーであることを推論するために履歴データを用いることにより、UIエレメントの付加を容易にすることができる。これは、UIエレメントを通じてユーザーに対してより多くのオプションを付加し得る。
【0068】
[0074] 本発明は、本発明の精神および本質的特徴から離れずに、他の特定の形態で実施することができる。説明した実施形態は、全ての点に関して単なる例示であり限定ではないと考慮される。従って、本発明の範囲は、前記の説明ではなく、添付の特許請求の範囲により示される。特許請求の範囲と等価の意味および範囲の中にある全ての変更は、特許請求の範囲に含まれる。