特許第6148249号(P6148249)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ マイクロソフト テクノロジー ライセンシング,エルエルシーの特許一覧

特許6148249ユーザー・インターフェース・スクリーンの順序およびコンポジションの調整
<>
  • 特許6148249-ユーザー・インターフェース・スクリーンの順序およびコンポジションの調整 図000002
  • 特許6148249-ユーザー・インターフェース・スクリーンの順序およびコンポジションの調整 図000003
  • 特許6148249-ユーザー・インターフェース・スクリーンの順序およびコンポジションの調整 図000004
  • 特許6148249-ユーザー・インターフェース・スクリーンの順序およびコンポジションの調整 図000005
  • 特許6148249-ユーザー・インターフェース・スクリーンの順序およびコンポジションの調整 図000006
  • 特許6148249-ユーザー・インターフェース・スクリーンの順序およびコンポジションの調整 図000007
  • 特許6148249-ユーザー・インターフェース・スクリーンの順序およびコンポジションの調整 図000008
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6148249
(24)【登録日】2017年5月26日
(45)【発行日】2017年6月14日
(54)【発明の名称】ユーザー・インターフェース・スクリーンの順序およびコンポジションの調整
(51)【国際特許分類】
   G06F 3/0482 20130101AFI20170607BHJP
【FI】
   G06F3/0482
【請求項の数】17
【全頁数】22
(21)【出願番号】特願2014-545946(P2014-545946)
(86)(22)【出願日】2012年11月29日
(65)【公表番号】特表2015-500533(P2015-500533A)
(43)【公表日】2015年1月5日
(86)【国際出願番号】US2012066917
(87)【国際公開番号】WO2013085780
(87)【国際公開日】20130613
【審査請求日】2015年11月30日
(31)【優先権主張番号】13/316,211
(32)【優先日】2011年12月9日
(33)【優先権主張国】US
(73)【特許権者】
【識別番号】314015767
【氏名又は名称】マイクロソフト テクノロジー ライセンシング,エルエルシー
(74)【代理人】
【識別番号】100140109
【弁理士】
【氏名又は名称】小野 新次郎
(74)【代理人】
【識別番号】100075270
【弁理士】
【氏名又は名称】小林 泰
(74)【代理人】
【識別番号】100101373
【弁理士】
【氏名又は名称】竹内 茂雄
(74)【代理人】
【識別番号】100118902
【弁理士】
【氏名又は名称】山本 修
(74)【代理人】
【識別番号】100153028
【弁理士】
【氏名又は名称】上田 忠
(74)【代理人】
【識別番号】100120112
【弁理士】
【氏名又は名称】中西 基晴
(74)【代理人】
【識別番号】100196508
【弁理士】
【氏名又は名称】松尾 淳一
(74)【代理人】
【識別番号】100147991
【弁理士】
【氏名又は名称】鳥居 健一
(74)【代理人】
【識別番号】100119781
【弁理士】
【氏名又は名称】中村 彰吾
(74)【代理人】
【識別番号】100162846
【弁理士】
【氏名又は名称】大牧 綾子
(74)【代理人】
【識別番号】100173565
【弁理士】
【氏名又は名称】末松 亮太
(74)【代理人】
【識別番号】100138759
【弁理士】
【氏名又は名称】大房 直樹
(72)【発明者】
【氏名】ロヴィット,アンドリュー・ウィリアム
(72)【発明者】
【氏名】ホール,マイケル
【審査官】 菊池 智紀
(56)【参考文献】
【文献】 特開2010−041238(JP,A)
【文献】 特開2007−087256(JP,A)
【文献】 特開平09−114625(JP,A)
【文献】 特開2006−164074(JP,A)
【文献】 特開2010−223695(JP,A)
【文献】 特開2009−230192(JP,A)
【文献】 特開2008−059465(JP,A)
【文献】 特開2004−178363(JP,A)
【文献】 国際公開第2007/063714(WO,A1)
【文献】 米国特許出願公開第2009/0158167(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 3/048 − 3/0489
G01C 21/00 −21/36
G08G 1/0968− 1/0969
(57)【特許請求の範囲】
【請求項1】
ンピューター・システムにおいてアプリケーションのためのスクリーン・フローを調節する方法であって、
前記コンピューター・システムにおいて実行しているアプリケーションのユーザー・インターフェースに対応するスクリーン・フローにアクセスするステップであって、前記スクリーン・フローは前記スクリーン・フローの複数のユーザー・インターフェース・エレメントのサブセットをそれぞれ含む複数の相互接続されたユーザー・インターフェース・スクリーンを含む、ステップと、
前記コンピューター・システムにおけるアプリケーションとのユーザーの現在のインタラクションに関連して、前記複数のユーザー・インターフェース・エレメントとの1以上のユーザー履歴のインタラクションを記述する使用情報へアクセスするステップ
記使用情報に基づいて、前記ユーザーにとっての対象である前記複数のユーザー・インターフェース・エレメントの第1のセットを識別するステップと、
別された前記第1のセットを考慮して、前記スクリーン・フロー内の特定されたユーザー・インターフェース・エレメントに対するより適切なアクセスを容易にするために前記スクリーン・フローに対する複数の調整を策定するステップであって前記複数の調整を策定するステップは、(i)前記相互接続されたユーザー・インターフェース・スクリーンのうちの1つにユーザー・インターフェース・エレメントを付加するステップと、(ii)前記相互接続されたユーザー・インターフェース・スクリーンのうちの1つからユーザー・インターフェース・エレメントを除去するステップと、(iii)前記相互接続されたユーザー・インターフェース・スクリーンのうちの1つの内でユーザー・インターフェース・エレメントを再配置するステップと、(iv)相互接続された1つのユーザー・インターフェース・スクリーンから、相互接続された他のユーザー・インターフェース・スクリーンへ前記複数のユーザー・インターフェース・エレメントを移動させるステップと、(v)前記スクリーン・フローから前記相互接続されたユーザー・インターフェース・スクリーンの1つを除去するステップと、(vi)新しいユーザー・インターフェース・スクリーンを、前記スクリーン・フローの前記相互接続されたユーザー・インターフェース・スクリーンへ接続するステップと、(vii)前記スクリーン・フローの前記相互接続されたユーザー・インタ-フェース・スクリーンを再配置するステップと、からなる群から選択される、ステップと、
前記特定されたユーザー・インターフェース・エレメントへのより適切なアクセスのために策定された複数の調整に従って、前記スクリーン・フローを調整するステップと
を含む、方法。
【請求項2】
請求項1に記載の方法であって、前記使用情報へアクセスするステップは、前記ユーザー・インターフェースの使用中に集められたユーザー・フィードバック情報へアクセスするステップを含む、方法。
【請求項3】
前記策定された調整に従って前記スクリーン・フローを調整するステップは、新しいユーザー・インターフェース・スクリーンを、前記スクリーン・フローの前記相互接続されたユーザー・インターフェース・スクリーンへ接続するステップを含む、請求項1に記載の方法。
【請求項4】
前記特定されたユーザー・インターフェース・エレメントへのより適切なアクセスのために前記策定された調整に従って前記スクリーン・フローを調整するステップは、ユーザー・インターフェース・エレメントを前記相互接続されたユーザー・インターフェース・スクリーンの1つへ付加するステップを含む、請求項1に記載の方法。
【請求項5】
前記特定されたユーザー・インターフェース・エレメントへのより適切なアクセスのために前記策定された調整に従って前記スクリーン・フローを調整するステップは、前記相互接続されたユーザー・インターフェース・スクリーンの1つからユーザー・インターフェース・エレメントを除去するステップを含む、請求項1に記載の方法。
【請求項6】
前記特定されたユーザー・インターフェース・エレメントへのより適切なアクセスのために前記策定された調整に従って前記スクリーン・フローを調整するステップは、ユーザー・インターフェース・スクリーンを、前記スクリーン・フローの前記相互接続されたユーザー・インターフェース・スクリーンから除去するステップを含む、請求項1に記載の方法。
【請求項7】
前記特定されたユーザー・インターフェース・エレメントへのより適切なアクセスのために前記策定された調整に従って前記スクリーン・フローを調整するステップは、前記スクリーン・フローの前記相互接続されたユーザー・インターフェース・スクリーンを再構成するステップを含む、請求項1に記載の方法。
【請求項8】
前記アクセスされた使用情報に基づいて、前記ユーザーが他のユーザーよりも前記ユーザー・インターフェース内のより複雑なフィーチャー・セットを扱う予想される能力を有することを決定するステップ
をさらに含み、
前記策定された複数の調整に従って、前記スクリーン・フローを調整するステップは、より複雑なフィーチャー・セットを表す1以上のユーザー・インターフェース・エレメントを、前記相互接続されたユーザー・インターフェース・スクリーンの少なくとも1つへ付加することによって、前記ユーザー・インターフェースへ前記より複雑なフィーチャー・セットを付加するステップをさらに含む、請求項1に記載の方法。
【請求項9】
前記使用情報へアクセスするステップは、前記ユーザー・インターフェースに関連するグループ使用情報にアクセスするステップを含み、
前記グループ使用情報は、前記スクリーン・フローの前記複数のユーザー・インターフェース・エレメントとのユーザー・グループの履歴的インタラクションを記述しており、
前記策定された複数の調整に従って前記スクリーン・フローを調整するステップは、前記スクリーン・フローにより与えられるユーザー・エクスペリエンスを前記グループ使用情報に基づいて調整するステップを含む、請求項1に記載の方法。
【請求項10】
コンピューター・システムであって、
1以上のプロセッサーと、
コンピューター実行可能な命令を格納する1以上のハードウェア・ストレージ・デバイスと、を含み
前記命令は前記1以上のプロセッサーにより実行されると、前記コンピューター・システムにユーザー・インターフェース調整モジュールを実行させ、前記ユーザー・インターフェース調整モジュールは、
前記コンピューター・システムにおいて実行されるアプリケーションのユーザー・インターフェースに対応するスクリーン・フローへアクセスするステップであって、前記スクリーン・フローは前記スクリーン・フローの複数のユーザー・インターフェース・エレメントのサブセットをそれぞれ含む複数の相互接続されたユーザー・インターフェース・スクリーンを含む、ステップと、
前記コンピューター・システムにおけるアプリケーションとのユーザーの現在のインタラクションに関連して、前記複数のユーザー・インターフェース・エレメントとの1以上のユーザー履歴のインタラクションを記述する使用情報へアクセスするステップと
記使用情報に基づいて、前記ユーザーにとっての対象である前記複数のユーザー・インターフェース・エレメントの第1のセットを識別するステップと、
識別された前記第1のセットを考慮して、前記スクリーン・フロー内の特定されたユーザー・インターフェース・エレメントに対するより適切なアクセスを容易にするために、前記スクリーン・フローに対する複数の調整を策定するステップであって、前記複数の調整を策定するステップは、(i)前記相互接続されたユーザー・インターフェース・スクリーンのうちの1つにユーザー・インターフェース・エレメントを付加するステップと、(ii)前記相互接続されたユーザー・インターフェース・スクリーンのうちの1つからユーザー・インターフェース・エレメントを除去するステップと、(iii)前記相互接続されたユーザー・インターフェース・スクリーンのうちの1つの内でユーザー・インターフェース・エレメントを再配置するステップと、(iv)相互接続された1つのユーザー・インターフェース・スクリーンから、相互接続された他のユーザー・インターフェース・スクリーンへ前記複数のユーザー・インターフェース・エレメントを移動させるステップと、(v)前記スクリーン・フローから前記相互接続されたユーザー・インターフェース・スクリーンの1つを除去するステップと、(vi)新しいユーザー・インターフェース・スクリーンを、前記スクリーン・フローの前記相互接続されたユーザー・インターフェース・スクリーンへ接続するステップと、(vii)前記スクリーン・フローの前記相互接続されたユーザー・インタ-フェース・スクリーンを再配置するステップと
からなる群から選択される、ステップと、
ディスプレイ・デバイスへユーザー・インターフェース・エレメントをより適切に表示するために、前記策定された複数の調整に従って、前記スクリーン・フローを調整するステップと、
を少なくとも実行するよう構成されている、コンピューター・システム。
【請求項11】
コンピューター・システムにおける使用のためのコンピューター・プログラムであって、前記コンピューター・プログラムはコンピューター実装可能な命令を格納し、該命令はプロセッサーにより実行されると、前記コンピューター・システムに、
前記コンピューター・システムにおいて実行しているアプリケーションのユーザー・インターフェースに対応するスクリーン・フローにアクセスするステップであって、前記スクリーン・フローは前記スクリーン・フローの複数のユーザー・インターフェース・エレメントのサブセットをそれぞれ含む複数の相互接続されたユーザー・インターフェース・スクリーンを含む、ステップと、
前記コンピューター・システムにおけるアプリケーションとのユーザーの現在のインタラクションに関連して、前記複数のユーザー・インターフェース・エレメントとの1以上のユーザー履歴のインタラクションを記述する使用情報へアクセスするステップと
記使用情報に基づいて、前記ユーザーにとっての対象である前記複数のユーザー・インターフェース・エレメントのうち1以上の第1のセットを識別するステップと、
識別された前記第1のセットを考慮して、前記スクリーン・フロー内の特定されたユーザー・インターフェース・エレメントに対するより適切なアクセスを容易にするために前記スクリーン・フローに対する複数の調整を策定するステップであって、前記複数の調整を策定するステップは、(i)前記相互接続されたユーザー・インターフェース・スクリーンのうちの1つにユーザー・インターフェース・エレメントを付加するステップと、(ii)前記相互接続されたユーザー・インターフェース・スクリーンのうちの1つからユーザー・インターフェース・エレメントを除去するステップと、(iii)前記相互接続されたユーザー・インターフェース・スクリーンのうちの1つの内でユーザー・インターフェース・エレメントを再配置するステップと、(iv)相互接続された1つのユーザー・インターフェース・スクリーンから、相互接続された他のユーザー・インターフェース・スクリーンへ前記複数のユーザー・インターフェース・エレメントを移動させるステップと、(v)前記スクリーン・フローから前記相互接続されたユーザー・インターフェース・スクリーンの1つを除去するステップと、(vi)新しいユーザー・インターフェース・スクリーンを、前記スクリーン・フローの前記相互接続されたユーザー・インターフェース・スクリーンへ接続するステップと、(vii)前記スクリーン・フローの前記相互接続されたユーザー・インタ-フェース・スクリーンを再配置するステップと
からなる群から選択される、ステップと、
前記特定されたユーザー・インターフェース・エレメントへのより適切なアクセスのために策定された前記複数の調整に従って、前記スクリーン・フローを調整するステップと
を少なくとも実行させる、コンピューター・プログラム。
【請求項12】
前記アクセスされた使用情報に基づいて、前記ユーザーが他のユーザーよりも前記ユーザー・インターフェース内のより複雑なフィーチャー・セットを扱う予想される能力を有することを決定するステップをまた含み、
策定された前記複数の調整に従って、前記スクリーン・フローを調整するステップは、より複雑なフィーチャー・セットを表すユーザー・インターフェース・エレメントを、前記相互接続されたユーザー・インターフェース・スクリーンの少なくとも1つへ付加することによって、前記ユーザー・インターフェースへ前記より複雑なフィーチャー・セットを付加するステップをさらに含む、請求項1に記載のコンピューター・プログラム。
【請求項13】
前記使用情報にアクセスするステップは、前記ユーザー・インターフェースに関連するグループ使用情報にアクセスするステップを含み、
前記グループ使用情報は、前記スクリーン・フローの前記複数のユーザー・インターフェース・エレメントとユーザー・グループ履歴的インタラクションを記述しており、
前記策定された複数の調整に従って前記スクリーン・フローを調整するステップは、前記スクリーン・フローにより与えられるユーザー・エクスペリエンスを前記グループ使用情報に基づいて調整するステップを含む、請求項11に記載のコンピューター・プログラム。
【請求項14】
請求項1に記載の方法であって、
前記アプリケーションに関するオペレーティング・コンテキストを記述するコンテキスト情報に基づいて、前記アプリケーションに関する前記オペレーティング・コンテキストに基づいて調整されるべき前記複数のユーザー・インターフェース・エレメントの第2のセットを識別するステップと、
前記第2のセットを考慮して、前記スクリーン・フローに対する複数の調整を策定するステップと、
をさらに含み、
記第1のセットと、前記第2のセットは、少なくとも1つの特定のユーザー・インターフェース・エレメントを共有し、
前記策定された複数の調整に従って前記スクリーン・フローを調整するステップは、前記第1のセットと、前記第2のセットにより共有されることに基づいて、少なくとも1つの特定のユーザー・インターフェース・エレメントを調整するステップを含む、方法。
【請求項15】
請求項10に記載のコンピューター・システムであって、前記ユーザー・インターフェース調整モジュールは、
前記アプリケーションに関するオペレーティング・コンテキストを記述するコンテキスト情報に基づいて、前記アプリケーションに関する前記オペレーティング・コンテキストに基づいて調整されるべき前記複数のユーザー・インターフェース・エレメントの第2のセットを識別するステップと
前記第2のセットを考慮して、前記スクリーン・フローに対する複数の調整を策定するステップと、
をさらに実行するよう構成されており、
記第1のセットと、前記第2のセットは、少なくとも1つの特定のユーザー・インターフェース・エレメントを共有し、
前記策定された複数の調整に従って前記スクリーン・フローを調整するステップは、前記第1のセットと、前記第2のセットにより共有されることに基づいて、少なくとも1つの特定のユーザー・インターフェース・エレメントを調整するステップを含む、コンピューター・システム。
【請求項16】
前記ユーザー・インターフェース調整モジュールは、また、前記アクセスされた使用情報に基づいて、前記ユーザーが前記ユーザー・インターフェース内で他のユーザーよりもより複雑なフィーチャー・セットを扱う予想される能力を有することを決定するよう構成され、
前記策定された複数の調整に従って、前記スクリーン・フローを調整するステップは、より複雑なフィーチャー・セットを表すユーザー・インターフェース・エレメントを、前記相互接続されたユーザー・インターフェース・スクリーンの少なくとも1つへ付加することによって、前記ユーザー・インターフェースへ前記より複雑なフィーチャー・セットを付加するステップを含む、請求項10に記載のコンピューター・システム。
【請求項17】
請求項11に記載のコンピューター・プログラムであって、前記命令は、コンピューター・システムに
前記アプリケーションに関するオペレーティング・コンテキストを記述するコンテキスト情報に基づいて、前記アプリケーションに関する前記オペレーティング・コンテキストに基づいて調整されるべき前記複数のユーザー・インターフェース・エレメントの第2のセットを識別するステップと
前記第2のセットを考慮して、前記スクリーン・フローに対する複数の調整を策定するステップと、
をさらに実行させ、
記第1のセットと、前記第2のセットは、少なくとも1つの特定のユーザー・インターフェース・エレメントを共有し、
前記スクリーン・フローを調整するステップは、前記第1のセットと、前記第2のセットにより共有されることに基づいて、少なくとも1つの特定のユーザー・インターフェース・エレメントを調整するステップを含む、コンピューター・プログラム。
【発明の詳細な説明】
【背景技術】
【0001】
1.背景および関連技術
[0001] コンピューター・システムおよび関連する技術は、社会の多くの面で影響を及ぼしている。実際、情報を処理するコンピューター・システムの能力は、我々の生活や仕事の様式を変えた。現在のコンピューター・システムは、一般に、コンピューター・システムの出現前には手作業で行っていたタスク(例えば、ワード・プロセッシング、スケジュール作成、会計など)のホストを行う。最近では、コンピューター・システムは、互いに結合され他の電子デバイスと結合され、有線およびワイヤレスの双方のコンピューター・ネットワークを形成し、このコンピューター・ネットワークを介して、コンピューター・システムおよび他の電子デバイスは電子データを送ることができる。従って、多くの計算タスクの性能は、多くの異なるコンピューター・システムおよび/または多くの異なる計算環境にわたって分散している。
【0002】
[0002] 例えば、モバイルの自動車用の埋め込み型のシステムなどのような多くのコンピューター・デバイスでは、ユーザー・インターフェースは、コンテキストに特定的なボタンおよびアニメーションを含む多数のメニューおよびスクリーンを含む。しかし、ユーザーは、ユーザーとデバイスとのインタラクションに関して、スクリーンおよびメニューのサブセットを使用することを必要とするのみ又は望むのみであり得る。それらのインタラクションは、ユーザーに特定的、コンテキストに特定的、デバイスに特定的、または製造者に特定的な組み合わせであり得る。
【0003】
[0003] しかし、スクリーンおよびメニューの望まれるサブセットへは、多数の他のスクリーンおよびメニューのオプションを通ることによってのみ、アクセス可能である。即ち、ユーザーは、望んでいるスクリーンおよびメニューのサブセットへアクセスしたい何れの時も、他のスクリーンおよびメニューのオプションを通ることを要求される。これは非効率的であり、ユーザーにとっていらだたしいものであり得る。
【発明の概要】
【0004】
[0004] 本発明は、ユーザー・インターフェース・スクリーンの順序およびコンポジションを調整する方法、システム、およびコンピューター・プログラム製品に及ぶ。ユーザー・インターフェースと関連する使用情報がアクセスされる。使用情報は、相互接続されたユーザー・インターフェース・スクリーンのスクリーン・フローにおけるユーザー・インターフェース・エレメントとの、1以上のユーザーのインタラクションを記述する。各ユーザー・インターフェース・スクリーンは少なくとも1つのユーザー・インターフェース・エレメントを含む。
【0005】
[0005] アクセスされた使用情報に基づいて、対象となる1以上のユーザー・インターフェース・エレメントが、スクリーン・フロー内から識別される。スクリーン・フローに対する調整が策定(formulate)される。識別された対象となる1以上のユーザー・インターフェース・エレメントの点から見て、策定された調整は、スクリーン・フロー内の指定されたユーザー・インターフェース・エレメントに対してのより適切なアクセスを容易にする。スクリーン・フローは、指定されたユーザー・インターフェース・エレメントへのより適切なアクセスのために策定された調整に従って、調整される。
【0006】
[0006] 幾つかの実施形態では、代替的には、または組み合わせとして、スクリーン・フローの調整を策定するときに、コンテキスト情報を用いる。コンテキスト情報は、アプリケーションに関するオペレーティング・コンテキストを表すことができる。調整されるものである対象とする1以上のユーザー・インターフェース・エレメントが、オペレーティング・コンテキストに基づいてスクリーン・フロー内から識別される。スクリーン・フローに対する調整は、オペレーティング・コンテキストの点から見て、スクリーン・フローをより適切に呈示するように策定される。スクリーン・フローは、ディスプレイ・デバイスのユーザー・インターフェース・エレメントへより適切にアクセスするように策定された調整に従って、調整される。
【0007】
[0007] この概要は、以下の詳細な説明で更に説明する概念のうちの選択したものを、簡素化した形で紹介するものである。この概要は、特許請求の範囲に記載の主題事項の鍵となる特徴や本質的な特徴を特定することを意図しておらず、また、特許請求の範囲に記載の主題事項の範囲を決定する際の支援として用いることを意図していない。
【0008】
[0008] 本発明の追加の特徴および利点は、後続の説明に記載されており、また、部分的に、記載から明らかであり、また、本発明の実施により学ぶことができる。本発明の特徴および利点は、添付の特許請求の範囲で特に指摘している機器および組み合わせにより実現して得ることができる。本発明のこれら及び他の特徴は、後続の説明および添付の特許請求の範囲からより完全に明らかになり、また、以下で述べる本発明の実施により学ぶことができる。
【0009】
[0009] 本発明の上記および他の利点及び特徴が得られる様式を説明するために、上記で簡単に説明した本発明のより特定的な説明を、添付の図面に例示する特定の実施形態を参照して行う。これらの図面は、本発明の単なる典型的な実施形態を示すものであり、従って、本発明の範囲を限定するものと考慮されないということが理解された上で、添付の図面を使用して、本発明を、追加の特定性および詳細を伴って記載および説明する。
【図面の簡単な説明】
【0010】
図1図1は、スクリーン・フローの調整を容易にする例示のコンピューター・アーキテクチャーを示す。
図2図2は、スクリーン・フローを調整するための例示の方法のフロー・チャートを示す。
図3図3は、スクリーン・フローの調整の例を示す。
図4図4は、アプリケーションに対してスクリーン・フローを調整するための例示の方法のフロー・チャートを示す・
図5図5は、スクリーン・フローの調整の例を示す。
図6図6は、スクリーン・フローの調整の例を示す。
図7図7は、スクリーン・フローの調整の例を示す。
【発明を実施するための形態】
【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] 本発明は、本発明の精神および本質的特徴から離れずに、他の特定の形態で実施することができる。説明した実施形態は、全ての点に関して単なる例示であり限定ではないと考慮される。従って、本発明の範囲は、前記の説明ではなく、添付の特許請求の範囲により示される。特許請求の範囲と等価の意味および範囲の中にある全ての変更は、特許請求の範囲に含まれる。
図1
図2
図3
図4
図5
図6
図7