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

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

▶ フェイスブック,インク.の特許一覧

特許6612312ユーザ・インターフェース内のコンポーネントの位置調整
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6612312
(24)【登録日】2019年11月8日
(45)【発行日】2019年11月27日
(54)【発明の名称】ユーザ・インターフェース内のコンポーネントの位置調整
(51)【国際特許分類】
   G06F 3/0481 20130101AFI20191118BHJP
【FI】
   G06F3/0481
【請求項の数】14
【全頁数】33
(21)【出願番号】特願2017-243999(P2017-243999)
(22)【出願日】2017年12月20日
(62)【分割の表示】特願2016-521725(P2016-521725)の分割
【原出願日】2014年10月9日
(65)【公開番号】特開2018-45721(P2018-45721A)
(43)【公開日】2018年3月22日
【審査請求日】2017年12月20日
(31)【優先権主張番号】14/051,326
(32)【優先日】2013年10月10日
(33)【優先権主張国】US
(73)【特許権者】
【識別番号】508178054
【氏名又は名称】フェイスブック,インク.
(74)【代理人】
【識別番号】110002974
【氏名又は名称】特許業務法人World IP
(74)【代理人】
【識別番号】100105957
【弁理士】
【氏名又は名称】恩田 誠
(74)【代理人】
【識別番号】100068755
【弁理士】
【氏名又は名称】恩田 博宣
(72)【発明者】
【氏名】マタス、マイケル
(72)【発明者】
【氏名】ウォーキン、ブランドン マーシャル
【審査官】 池田 聡史
(56)【参考文献】
【文献】 特開2011−199450(JP,A)
【文献】 国際公開第2013/043345(WO,A1)
【文献】 特開2012−058838(JP,A)
【文献】 特開2007−272565(JP,A)
【文献】 特表2009−514080(JP,A)
【文献】 特開2010−231630(JP,A)
【文献】 米国特許出願公開第2013/0198661(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 3/048
(57)【特許請求の範囲】
【請求項1】
方法であって、
ユーザのクライアント・コンピューティング装置が、複数のコンポーネントを備えるユーザ・インターフェースを提示のために提供する工程であって、各コンポーネントは1つまたは複数のインタラクティブ要素を含む、前記提供する工程と、
該クライアント・コンピューティング装置が、該ユーザへのメッセージの表示を受信する工程であって、前記表示がインタラクティブ要素によって視覚化される、前記受信する工程と、
該クライアント・コンピューティング装置が、前記ユーザ・インターフェースのディスプレイ内の前記インタラクティブ要素の現在の位置またはターゲット位置によって所定の割合よりも多くの前記ユーザ・インターフェースの1つまたは複数のコンポーネントが覆い隠される場合にコンポーネントを自動的に修正することによって、該メッセージに関連するインタラクティブ要素の提示に対応するために該ユーザ・インターフェースを自動的に修正する工程と、前記コンポーネントを修正することは、イメージのサブコンポーネントをサイズ変更すること、および前記コンポーネントのテキストまたはコメントのサブコンポーネントを提示から除去することを含み、
該クライアント・コンピューティング装置が、修正された該ユーザ・インターフェースと、該メッセージに関連する該インタラクティブ要素とを提示のために自動的に提供する工程とを含む、方法。
【請求項2】
前記コンポーネントが、
ニュース・フィード・ストーリ、
イメージ、
テキスト、
インタラクティブ要素、または
サブコンポーネント
のうちの1つまたは複数を含む、請求項1に記載の方法。
【請求項3】
コンポーネントを修正する工程が、前記コンポーネントのサブコンポーネントを修正することを含む、請求項1に記載の方法。
【請求項4】
前記コンポーネントの前記サブコンポーネントを修正する工程が、
前記サブコンポーネントのイメージコンポーネントをサイズ変更し、前記サブコンポーネントのテキストまたはコメントコンポーネントを提示から除去すること、
前記サブコンポーネントを提示のために提供すること、
前記サブコンポーネントを再配置すること、または
前記サブコンポーネントを再構成すること
を含む、請求項3に記載の方法。
【請求項5】
1つまたは複数のコンポーネントの自動修正が非一様である、請求項1に記載の方法。
【請求項6】
ソフトウェアを実装する1つまたは複数のコンピュータ可読非一時的記憶媒体であって、該ソフトウェアが、実行されるとき、
複数のコンポーネントを含むユーザ・インターフェースを、ユーザのクライアント・コンピューティング装置での提示のために提供し、ここで、各コンポーネントは1つまたは複数のインタラクティブ要素を含み、
該ユーザへのメッセージの表示を受信し、ここで、前記表示がインタラクティブ要素によって視覚化され、
前記ユーザ・インターフェースのディスプレイ内の前記インタラクティブ要素の現在の位置またはターゲット位置によって所定の割合よりも多くの前記ユーザ・インターフェースの1つまたは複数の複数のコンポーネントが覆い隠される場合にコンポーネントを自動的に修正することによって、該メッセージに関連するインタラクティブ要素の提示に対応するために該ユーザ・インターフェースを自動的に修正し、前記コンポーネントを修正することは、イメージのサブコンポーネントをサイズ変更すること、および前記コンポーネントのテキストまたはコメントのサブコンポーネントを提示から除去することを含み、
修正された該ユーザ・インターフェースと、該メッセージに関連する該インタラクティブ要素とを提示のために自動的に提供する
ように動作可能である、媒体。
【請求項7】
前記コンポーネントが、
ニュース・フィード・ストーリ、
イメージ、
テキスト、
インタラクティブ要素、または
サブコンポーネント
のうちの1つまたは複数を含む、請求項6に記載の媒体。
【請求項8】
コンポーネントを修正することが、前記コンポーネントのサブコンポーネントを修正することを含む、請求項6に記載の媒体。
【請求項9】
前記コンポーネントの前記サブコンポーネントを修正することが、
前記サブコンポーネントのイメージコンポーネントをサイズ変更し、前記サブコンポーネントのテキストまたはコメントコンポーネントを提示から除去すること、
前記サブコンポーネントを提示のために提供すること、
前記サブコンポーネントを再配置すること、または
前記サブコンポーネントを再構成すること
を含む、請求項8に記載の媒体。
【請求項10】
1つまたは複数のコンポーネントの自動修正が非一様である、請求項6に記載の媒体。
【請求項11】
システムであって、
1つまたは複数のプロセッサと、
該プロセッサに接続され、該プロセッサによって実行可能な命令を含むメモリと
を備え、該プロセッサが、該命令を実行するとき、
複数のコンポーネントを含むユーザ・インターフェースを、ユーザのクライアント・コンピューティング装置での提示のために提供し、ここで、各コンポーネントは1つまたは複数のインタラクティブ要素を含み、
該ユーザへのメッセージの表示を受信し、ここで、前記表示がインタラクティブ要素によって視覚化され、
前記ユーザ・インターフェースのディスプレイ内の前記インタラクティブ要素の現在の位置またはターゲット位置によって所定の割合よりも多くの前記ユーザ・インターフェースの1つまたは複数のコンポーネントが覆い隠される場合にコンポーネントを自動的に修正することによって、該メッセージに関連するインタラクティブ要素の提示に対応するために該ユーザ・インターフェースを自動的に修正し、前記コンポーネントを修正することは、イメージのサブコンポーネントをサイズ変更すること、および前記コンポーネントのテキストまたはコメントのサブコンポーネントを提示から除去することを含み、
修正された該ユーザ・インターフェースと、該メッセージに関連する該インタラクティブ要素とを提示のために自動的に提供する
ように動作可能である、システム。
【請求項12】
前記コンポーネントが、
ニュース・フィード・ストーリ、
イメージ、
テキスト、
インタラクティブ要素、または
サブコンポーネント
のうちの1つまたは複数からなる請求項11に記載のシステム。
【請求項13】
コンポーネントを修正することが、前記コンポーネントのサブコンポーネントを修正することを含む、請求項11に記載のシステム。
【請求項14】
1つまたは複数のコンポーネントの自動修正が非一様である、請求項11に記載のシステム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、一般にはユーザ・インターフェースに関する。
【背景技術】
【0002】
ヒューマン・マシン対話の工業デザイン分野でのユーザ・インターフェース(user interface:UI)は、人間とマシンとの間の対話が行われるスペースである。しばしば「ユーザ」と呼ばれる人間と、マシンとの間のユーザ・インターフェースでの対話の目標は、(例えば、ユーザ入力を介する)マシンおよびマシンの動作のユーザによる制御、ならびに(例えば、プログラム出力を介する)マシン・フィードバックである。グラフィカル・ユーザ・インターフェース(graphical user interface:GUI)は、純粋にテキストのコマンドではなく、マルチメディア・オブジェクト(例えば、イメージ、ビデオ、オーディオなど)を通じてユーザが電子装置またはコンピューティング装置上で実行中のソフトウェア・アプリケーションと対話することを可能にするユーザ・インターフェースの1タイプである。
【発明の概要】
【課題を解決するための手段】
【0003】
特定の実施形態では、ユーザのクライアント・コンピューティング装置が、複数のコンポーネントを含むユーザ・インターフェースを提示する。コンポーネントは、例えば、ニュース・フィード・ストーリ、イメージ、テキスト、インタラクティブ要素、またはサブコンポーネントを含む。クライアント・コンピューティング装置は、ユーザに対するメッセージの表示を受信する。インタラクティブ要素は、例えば、ユーザがメッセージを有することを示すためにユーザに提示され、ユーザ・インターフェース内で永続的にユーザに提示される。
【0004】
クライアント・コンピューティング装置は、例えばコンポーネントのうちの1つまたは複数を自動的に修正することによって、ユーザ・インターフェースを自動的に修正し、メッセージに関連するインタラクティブ要素の提示に対処することができる。特定の実施形態では、コンポーネントを修正することは、コンポーネントをサイズ変更すること、提示からコンポーネントを除去すること、提示のためにコンポーネントを提供すること、コンポーネントを再配置すること、またはコンポーネントを再構成することを含む。
【図面の簡単な説明】
【0005】
図1】ソーシャル・ネットワーキング・システムに関連する例示的ネットワーク環境を示す図。
図2A】例示的モバイル電子装置を示す図。
図2B】例示的モバイル電子装置を示す図。
図3】例示的ソーシャル・グラフを示す図。
図4】例示的オブジェクト階層を示す図。
図5A-B】A、Bは、例示的インタラクティブ要素およびユーザ・インターフェースを示す図。
図6A-B】A、Bは、例示的インタラクティブ要素およびユーザ・インターフェースを示す図。
図6C】例示的インタラクティブ要素およびユーザ・インターフェースを示す図。
図7A-B】A、Bは、例示的インタラクティブ要素およびユーザ・インターフェースを示す図。
図7C】例示的インタラクティブ要素およびユーザ・インターフェースを示す図。
図8A-B】A、Bは、例示的インタラクティブ要素およびユーザ・インターフェースを示す図。
図8C】例示的インタラクティブ要素およびユーザ・インターフェースを示す図。
図9A-B】A、Bは、例示的インタラクティブ要素およびユーザ・インターフェースを示す図。
図9C】例示的インタラクティブ要素およびユーザ・インターフェースを示す図。
図10】ユーザ・インターフェース内にコンポーネントの位置調整をするための例示的方法を示す図。
図11】例示的コンピュータ・システムを示す図。
【発明を実施するための形態】
【0006】
ユーザがアプリケーションと対話することおよび制御することを可能にするために、例えば、デスクトップ・アプリケーション、モバイル・アプリケーション、またはウェブ・ベースのアプリケーションを含む任意のタイプのソフトウェア・アプリケーションにユーザ・インターフェース(user interface:UI)を組み込むことができる。グラフィカル・ユーザ・インターフェース(graphical user interface:GUI)は、例えば、アイコン、ボタン、メニュー、イメージ、ビデオ、またはオーディオを含むマルチメディア・オブジェクトを通じてユーザがソフトウェア・アプリケーションと対話することを可能にするユーザ・インターフェースの1タイプである。
【0007】
特定の実施形態では、ソフトウェア・アプリケーションをソーシャル・ネットワーキング・システムに関連付けることができる。図1は、ソーシャル・ネットワーキング・システムに関連する例示的なネットワーク環境100を示す。ネットワーク環境100は、ネットワーク110によって互いに接続されたユーザ101、クライアント・システム130、ソーシャル・ネットワーキング・システム160、およびサード・パーティ・システム170を含む。図1はユーザ101、クライアント・システム130、ソーシャル・ネットワーキング・システム160、サード・パーティ・システム(third-party system)170、およびネットワーク110の特定の構成を示すが、本開示は、ユーザ101、クライアント・システム130、ソーシャル・ネットワーキング・システム160、サード・パーティ・システム170、およびネットワーク110の任意の適切な構成を企図する。限定ではなく例として、ネットワーク110を迂回して、クライアント・システム130、ソーシャル・ネットワーキング・システム160、およびサード・パーティ・システム170のうちの2つ以上を互いに直接的に接続することができる。別の例として、クライアント・システム130、ソーシャル・ネットワーキング・システム160、およびサード・パーティ・システム170のうちの2つ以上を、物理的または論理的に、全体的または部分的に共に配置することができる。さらに、図1は特定の数のユーザ101、クライアント・システム130、ソーシャル・ネットワーキング・システム160、サード・パーティ・システム170、およびネットワーク110を示すが、本開示は、任意の適切な数のユーザ101、クライアント・システム130、ソーシャル・ネットワーキング・システム160、サード・パーティ・システム170、およびネットワーク110を企図する。限定ではなく例として、ネットワーク環境100は、複数のユーザ101、クライアント・システム130、ソーシャル・ネットワーキング・システム160、サード・パーティ・システム170、およびネットワーク110を含むことができる。
【0008】
特定の実施形態では、ユーザ101は、ソーシャル・ネットワーキング・システム160と、またはソーシャル・ネットワーキング・システム160を介して対話または通信する個人(人間のユーザ)、エンティティ(例えば、企業、ビジネス、またはサード・パーティ・アプリケーション)、または(例えば、個人またはエンティティの)グループでよい。特定の実施形態では、ソーシャル・ネットワーキング・システム160は、オンライン・ソーシャル・ネットワークをホストするネットワーク・アドレス指定可能コンピューティング・システム(network-addressable computing system)でよい。ソーシャル・ネットワーキング・システム160は、例えば、ユーザ・プロファイル・データ、概念プロファイル・データ、ソーシャル・グラフ情報、またはオンライン・ソーシャル・ネットワークに関する他の適切なデータなどのソーシャル・ネットワーキング・データを生成、格納、受信、および送信することができる。ネットワーク環境100の他の構成要素により、直接的に、またはネットワーク110を介して、ソーシャル・ネットワーキング・システム160にアクセスすることができる。特定の実施形態では、ソーシャル・ネットワーキング・システム160は、例えば、適切なプライバシー設定を設定することなどにより、ユーザ101がそのアクションをソーシャル・ネットワーキング・システム160によって記録させること、または他のシステム(例えば、サード・パーティ・システム170)と共有させることを選択するか、または選択しないことを可能にする許可サーバを含むことができる。特定の実施形態では、サード・パーティ・システム170は、様々なサード・パーティ・ソフトウェア・アプリケーション(例えば、ウェブ・ベースのアプリケーション)をホストすることができるネットワーク・アドレス指定可能コンピューティング・システムでよい。サード・パーティ・システム170は、例えば、テキスト、イメージ、ビデオ、またはオーディオなどの様々なタイプのデータを生成、格納、受信、および送信することができる。ネットワーク環境100の他の構成要素により、直接的に、またはネットワーク110を介して、サード・パーティ・システム170にアクセスすることができる。特定の実施形態では、1人または複数のユーザ101は、1つまたは複数のクライアント・システム130を使用して、ソーシャル・ネットワーキング・システム160またはサード・パーティ・システム170にアクセスしてデータを送り、ソーシャル・ネットワーキング・システム160またはサード・パーティ・システム170からデータを受信することができる。クライアント・システム130は、直接的に、ネットワーク110を介して、またはサード・パーティ・システムを介して、ソーシャル・ネットワーキング・システム160またはサード・パーティ・システム170にアクセスすることができる。限定ではなく例として、クライアント・システム130は、ソーシャル・ネットワーキング・システム160を介してサード・パーティ・システム170にアクセスすることができる。クライアント・システム130は、例えば、パーソナル・コンピュータ、ラップトップ・コンピュータ、携帯電話、スマートフォン、テレビジョン、またはタブレット・コンピュータなどの任意の適切なコンピューティング装置でよい。
【0009】
本開示は任意の適切なネットワーク110を企図する。限定ではなく例として、ネットワーク110のうちの1つまたは複数の部分は、アドホック・ネットワーク(ad hoc network)、イントラネット、エクストラネット、仮想プライベート・ネットワーク(virtual private network:VPN)、ローカル・エリア・ネットワーク(local area network:LAN)、ワイヤレスLAN(wireless LAN:WLAN)、広域ネットワーク(wide area network:WAN)、ワイヤレスWAN(wireless WAN:WWAN)、大都市圏ネットワーク(metropolitan area network:MAN)、インターネットの一部、公衆交換電話網(Public Switched Telephone Network:PSTN)の一部、携帯電話網、またはこれらの2つ以上の組合せを含むことができる。ネットワーク110は1つまたは複数のネットワーク110を含むことができる。
【0010】
リンク150は、クライアント・システム130、ソーシャル・ネットワーキング・システム160、およびサード・パーティ・システム170を通信ネットワーク110に接続するか、または互いに接続することができる。本開示は任意の適切なリンク150を企図する。特定の実施形態では、1つまたは複数のリンク150は、1つまたは複数のワイヤーライン(wireline)(例えば、デジタル加入者線(Digital Subscriber Line:DSL)またはData Over Cable Service Interface Specification(DOCSIS)など)、ワイヤレス(例えば、Wi−FiまたはWorldwide Interoperability for Microwave Access(WiMAX)など)、または光(例えば、同期光ネットワーク(Synchronous Optical Network:SONET)または同期デジタル階層(Synchronous Digital Hierarchy:SDH)など)リンクを含む。特定の実施形態では、1つまたは複数のリンク150はそれぞれ、アドホック・ネットワーク、イントラネット、エクストラネット、VPN、LAN、WLAN、WAN、WWAN、MAN、インターネットの一部、PSTNの一部、セルラ技術ベースのネットワーク、衛星通信技術ベースのネットワーク、別のリンク150、または2つ以上のそのようなリンク150の組合せを含む。リンク150は、必ずしもネットワーク環境100全体を通じて同一である必要はない。1つまたは複数の第1のリンク150は、1つまたは複数の点で1つまたは複数の第2のリンク150と異なることがある。
【0011】
特定の実施形態では、ソーシャル・ネットワーキング・システム160に関連するサーバと、個々のクライアント・システム130との間で、ネットワーク110を介してデータ(例えば、様々なタイプの情報またはコンテンツを表すデータ)を送ることができる。2つの電子装置(例えば、サーバおよびクライアント)がネットワーク(例えば、ネットワーク110などのコンピュータまたは通信ネットワーク)に接続されるとき、1つまたは複数の適切なネットワーク・プロトコルを使用して、2つの装置間でネットワークを介してデータを送信することができる。ネットワークは、任意の数のサブネットワークを含むことができる。2つの装置間でデータを送信することにより、2つの装置は互いに通信することができる。
【0012】
ネットワーク通信では、ある装置から別の装置に通信(すなわち、データ)を送るのに、プッシュ(push)およびプル(pull)という2つの方式がある。プッシュ技術では、通信トランザクションを求める要求が、送信装置によって開始される。すなわち、送信装置が、受信装置に、通信を所謂「プッシュ」し、この場合、トランザクションで送信装置を能動側とみなすことができ、受信装置を受動側とみなすことができる。一方、プル技術では、通信トランザクションを求める要求が、受信装置によって開始される。すなわち、受信装置が、送信装置から、通信を所謂「プル」する。この場合、トランザクションで送信装置を受動側とみなすことができ、受信装置を能動側とみなすことができる。特定の実施形態では、ソーシャル・ネットワーキング・システム160に関連するサーバが、クライアント・システム130にデータをプッシュすることができる。サーバからクライアントにプッシュされる通信は、「プッシュ通知」と呼ばれることがある。同様に、クライアント・システム130は、ソーシャル・ネットワーキング・システム160に関連するサーバにデータをプッシュすることができる。
【0013】
特定の実施形態では、クライアント・システム130は、モバイル電子装置またはコンピューティング装置でよい。スマートフォン、タブレット・コンピュータ、ラップトップ・コンピュータなどのモバイル電子装置は、その位置、方向、または向きを判定する、GPS受信機、コンパス、ジャイロスコープなどの機能を含むことができる。そのようなモバイル装置はまた、BLUETOOTH(登録商標)通信、近距離場通信(near-field communication:NFC)、赤外線(infrared:IR)通信、ワイヤレス・ローカル・エリア・ネットワーク(WLAN)もしくは携帯電話網との通信などの、ワイヤレス通信のための機能をも含むことができる。そのようなモバイル装置はまた、1つまたは複数のカメラ、スキャナ、タッチ・スクリーン、マイクロフォン、あるいはスピーカをも含むことができる。モバイル電子装置はまた、ゲーム、ウェブ・ブラウザ、ソーシャル・ネットワーキング・アプリケーションなどのソフトウェア・アプリケーションを実行することができる。ソーシャル・ネットワーキング・アプリケーションを用いて、ユーザは、ユーザのソーシャル・ネットワーク内の他のユーザと接続し、通信し、情報を共有することができる。
【0014】
特定の実施形態では、モバイル電子装置(例えば、スマートフォンまたはタブレット・コンピュータ)は、タッチ入力を受け取ることのできるタッチ・スクリーンを含むことができる。図2Aは、タッチ・スクリーン215を有する例示的なモバイル電子装置210(例えば、スマートフォン)を示す。タッチ・スクリーン215は、(例えば、ユーザの指からの)タッチまたは物体(例えば、スタイラス(stylus))の近接の存在および位置を検出する1つまたは複数のタッチ・センサおよびタッチ・センサ・コントローラを組み込むことができる。特定の実施形態では、タッチ・スクリーン215を介して検出される特定のタッチの結果、タッチ入力イベントを生じさせることができる。
【0015】
異なるモバイル電子装置は、異なる構成を有してもよい。その結果、異なるモバイル装置のタッチ・スクリーンのサイズ、形状、およびアスペクト比は異なることがある。図2Bは、タッチ・スクリーン225を有する別の例示的なモバイル電子装置220(例えば、タブレット・コンピュータ)を示す。同様に、タッチ・スクリーン225は、(例えば、ユーザの指からの)タッチまたは物体(例えば、スタイラス)の近接の存在および位置を検出する1つまたは複数のタッチ・センサおよびタッチ・センサ・コントローラを組み込むことができる。タッチ・スクリーン225を介して検出される特定のタッチの結果、タッチ入力イベントを生じさせることができる。しかし、モバイル電子装置210および220は2つの異なるタイプの装置であるので、それぞれのタッチ・スクリーン215および225は、異なるサイズおよびアスペクト比を有する。
【0016】
様々なタイプのタッチ入力イベントに対応する、シングル・タップ、ダブル・タップ、ショート・プレス、ロング・プレス、スライド、スワイプ、フリップ、パン、ドラッグ、ピンチ・オープン、またはピンチ・クローズなどの様々なタイプのタッチまたはジェスチャが存在することができる。異なるタッチ入力イベントの結果、異なる応答を得ることができ、本開示は、任意の適用可能なジェスチャを企図する。
【0017】
ソーシャル・ネットワーキング・システム160は、例えば、ユーザ・データ、アプリケーション・データ、またはソーシャル・データを含む様々なタイプのデータを格納することができる。特定の実施形態では、任意の数のノードおよびエッジを有し、各エッジが2つのノードを接続するグラフ内にそのようなデータを格納することができる。グラフはとりわけソーシャル情報を含むので、グラフはしばしば、「ソーシャル・グラフ(social graph)」または「オープン・グラフ(open graph)」と呼ばれる。
【0018】
図3は、例示的なソーシャル・グラフ300を示す。特定の実施形態では、ソーシャル・ネットワーキング・システム160は、1つまたは複数のデータ・ストア(data store)内に1つまたは複数のソーシャル・グラフ300を格納することができる。特定の実施形態では、ソーシャル・グラフ300は、複数のノード(これは複数のユーザ・ノード302または複数の概念ノード(concept node)304を含むことができる)と、ノードを接続する複数のエッジ(edge)306とを含むことができる。図3に示される例示的なソーシャル・グラフ300は、説明のために、2次元視覚マップ表現で示されている。特定の実施形態では、ソーシャル・ネットワーキング・システム160、クライアント・システム130、またはサード・パーティ・システム170は、ソーシャル・グラフ300および適切なアプリケーションについての関連するソーシャル・グラフ情報にアクセスすることができる。ソーシャル・グラフ300のノードおよびエッジを、データ・オブジェクトとして、例えばデータ・ストア(ソーシャル・グラフ・データベースなど)内に格納することができる。そのようなデータ・ストアは、ソーシャル・グラフ300のノードまたはエッジの1つまたは複数の検索可能または照会可能な索引を含むことができる。
【0019】
特定の実施形態では、ユーザ・ノード302は、ソーシャル・ネットワーキング・システム160のユーザに対応することができる。限定ではなく例として、ユーザは、ソーシャル・ネットワーキング・システム160と、またはソーシャル・ネットワーキング・システム160を介して対話または通信する個人(人間のユーザ)、エンティティ(例えば、企業、ビジネス、またはサード・パーティ・アプリケーション)、または(例えば、個人またはエンティティの)グループでよい。特定の実施形態では、ユーザがソーシャル・ネットワーキング・システム160にアカウントを登録するとき、ソーシャル・ネットワーキング・システム160は、ユーザに対応するユーザ・ノード302を作成し、1つまたは複数のデータ・ストア内にユーザ・ノード302を格納することができる。本明細書で説明するユーザおよびユーザ・ノード302は、適切な場合、登録されたユーザおよび登録されたユーザに関連するユーザ・ノード302を指す。追加または代替として、本明細書で説明するユーザおよびユーザ・ノード302は、適切な場合、ソーシャル・ネットワーキング・システム160に登録していないユーザを指す。特定の実施形態では、ユーザによって提供される情報、またはソーシャル・ネットワーキング・システム160を含む様々なシステムによって収集される情報に、ユーザ・ノード302を関連付けることができる。限定ではなく例として、ユーザは、ユーザの名前、プロファイル写真、連絡先情報、誕生日、性別、結婚状況、家族状況、職業、学歴、好み、関心、または他の人口統計情報を提供することができる。特定の実施形態では、ユーザに関連する情報に対応する1つまたは複数のデータ・オブジェクトにユーザ・ノード302を関連付けることができる。特定の実施形態では、ユーザ・ノード302は、1つまたは複数のウェブ・ページに対応することができる。
【0020】
特定の実施形態では、概念ノード304は概念(concept)に対応することができる。限定ではなく例として、概念は、場所(例えば、映画館、レストラン、ランドマーク、または都市など)、ウェブサイト(例えば、ソーシャル・ネットワーク・システム160に関連するウェブサイトまたはウェブ・アプリケーション・サーバに関連するサード・パーティ・ウェブサイトなど)、エンティティ(例えば、人、会社、グループ、スポーツ・チーム、または有名人など)、ソーシャル・ネットワーキング・システム160内またはウェブ・アプリケーション・サーバなどの外部サーバ上に位置することのできるリソース(例えば、オーディオ・ファイル、ビデオ・ファイル、デジタル・フォト、テキスト・ファイル、構造化された文書、またはアプリケーションなど)、物的または知的財産(例えば、彫刻、絵画、映画、ゲーム、歌、アイデア、写真、または著作物など)、ゲーム、活動、アイデアまたは理論、他の適切な概念、あるいは2つ以上のそのような概念に対応することができる。ユーザによって提供される概念の情報、またはソーシャル・ネットワーキング・システム160を含む様々なシステムによって収集される情報に概念ノード304を関連付けることができる。限定ではなく例として、概念の情報は、名前またはタイトル、1つまたは複数のイメージ(例えば、本のカバー・ページのイメージ)、位置(例えば、住所または地理的位置)、ウェブサイト(それをURLに関連付けることができる)、連絡先情報(例えば、電話番号またはeメール・アドレス)、他の適切な概念情報、またはそのような情報の任意の適切な組合せを含むことができる。特定の実施形態では、概念ノード304に関連する情報に対応する1つまたは複数のデータ・オブジェクトに概念ノード304を関連付けることができる。特定の実施形態では、概念ノード304は1つまたは複数のウェブ・ページに対応することができる。
【0021】
特定の実施形態では、ソーシャル・グラフ300内のノードは、ウェブ・ページ(「プロファイル・ページ」と呼ばれることがある)を表すこと、またはウェブ・ページによって表すことができる。プロファイル・ページは、ソーシャル・ネットワーキング・システム160によってホストすること、またはソーシャル・ネットワーキング・システム160にとってアクセス可能にすることができる。プロファイル・ページはまた、サード・パーティ・サーバ170に関連するサード・パーティ・ウェブサイト上でホストすることもできる。限定ではなく例として、特定の外部ウェブ・ページに対応するプロファイル・ページは、特定の外部ウェブ・ページでよく、プロファイル・ページは、特定の概念ノード304に対応することができる。プロファイル・ページは、他のユーザのすべてまたは選択された一部分によって閲覧可能とすることができる。限定ではなく例として、ユーザ・ノード302は、対応するユーザがその中でコンテンツを追加し、宣言を行い、あるいはユーザ自身を表現することのできる、対応するユーザ・プロファイル・ページを有することができる。限定ではなく別の例として、概念ノード304は、特に概念ノード304に対応する概念に関連して、1人または複数のユーザがその中でコンテンツを追加し、宣言を行い、またはユーザ自身を表現することのできる、対応する概念プロファイル・ページを有することができる。
【0022】
特定の実施形態では、概念ノード304は、サード・パーティ・システム170によってホストされるサード・パーティ・ウェブページまたはリソースを表すことができる。サード・パーティ・ウェブページまたはリソースは、他の要素において、コンテンツ、選択可能な、もしくは他のアイコン、またはアクションもしくは活動を表す(例えば、JAVA(登録商標)Script、AJAX、またはPHPコードで実装することのできる)他の対話型オブジェクトを含むことができる。限定ではなく例として、サード・パーティ・ウェブページは、「いいね」、「チェックイン(check in)」、「食べる(eat)」、「レコメンド(recommend)」、または別の適切なアクションもしくは活動などの、選択可能なアイコンを含むことができる。サード・パーティ・ウェブページを閲覧するユーザは、アイコンのうちの1つ(例えば、「食べる」)を選択し、クライアント・システム130に、ユーザのアクションを示すメッセージをソーシャル・ネットワーキング・システム160に送信させることによってアクションを実施することができる。メッセージに応答して、ソーシャル・ネットワーキング・システム160は、ユーザに対応するユーザ・ノード302と、サード・パーティ・ウェブページまたはリソースに対応する概念ノード304との間のエッジ(例えば、「食べる」エッジ)を作成し、1つまたは複数のデータ・ストア内にエッジ306を格納することができる。
【0023】
特定の実施形態では、1つまたは複数のエッジ306によってソーシャル・グラフ300内の1対のノードを互いに接続することができる。1対のノードを接続するエッジ306は、その1対のノード間の関係を表すことができる。特定の実施形態では、エッジ306は、1対のノード間の関係に対応する1つまたは複数のデータ・オブジェクトまたは属性を含むか、または表すことができる。限定ではなく例として、第1のユーザは、第2のユーザが第1のユーザの「友人」であることを示すことができる。この表示に応答して、ソーシャル・ネットワーキング・システム160は、第2のユーザに「友人要求」を送信することができる。第2のユーザが「友人要求」を確認した場合、ソーシャル・ネットワーキング・システム160は、第1のユーザのユーザ・ノード302をソーシャル・グラフ300内の第2のユーザのユーザ・ノード302に接続するエッジ306を作成し、データ・ストアのうちの1つまたは複数(例えば、ソーシャル・ネットワーキング・システム160に関連するデータ・ストア)の中にエッジ306をソーシャル・グラフ情報として格納することができる。図3の例では、ソーシャル・グラフ300は、ユーザ「A」とユーザ「B」のユーザ・ノード302間の友人関係を示すエッジ306と、ユーザ「C」とユーザ「B」のユーザ・ノード302間の友人関係を示すエッジとを含む。本開示は、特定のユーザ・ノード302を接続する特定の属性を有する特定のエッジ306を説明するかまたは図示するが、本開示は、ユーザ・ノード302を接続する任意の適切な属性を有する任意の適切なエッジ306を企図する。限定ではなく例として、エッジ306は、友人関係、家族関係、ビジネスまたは雇用関係、ファン関係(fan relationship)、フォロワ関係、ビジター関係(visitor relationship)、加入者関係、上位/従属関係、相互関係、非相互関係、別の適切なタイプの関係、または2つ以上のそのような関係を表すことができる。さらに、本開示は一般にノードが接続されているものとして説明するが、本開示はまた、ユーザまたは概念が接続されているものとして説明する。本明細書では、接続されているユーザまたは概念に対する参照は、適切な場合、1つまたは複数のエッジ306によってソーシャル・グラフ300内で接続されているユーザまたは概念に対応するノードを指すことがある。
【0024】
特定の実施形態では、ユーザ・ノード302と概念ノード304との間のエッジ306は、概念ノード304に関連する概念に対する、ユーザ・ノード302に関連するユーザによって実施される特定のアクションまたは活動を表すことができる。限定ではなく例として、図3に示されるように、ユーザは、概念に対して「いいね」を表明し、概念に「出席し」、概念を「再生し」、概念を「聴取し」、概念を「調理し」、概念に「取り組み」、または概念を「視聴する」ことができ、そのそれぞれは、エッジ・タイプまたはサブタイプに対応することができる。概念ノード304に対応する概念プロファイル・ページは、例えば、選択可能な「チェックイン」アイコン(例えば、クリッカブル(clickable)「チェックイン」アイコンなど)または選択可能な「お気に入りに追加」アイコンを含むことができる。同様に、ユーザがこれらのアイコンをクリックした後、ソーシャル・ネットワーキング・システム160は、それぞれのアクションに対応するユーザのアクションに応答して、「お気に入り」エッジまたは「チェックイン」エッジを作成することができる。限定ではなく別の例として、ユーザ(ユーザ「C」)が、特定のアプリケーション(オンライン音楽アプリケーションであるSPOTIFY)を使用して、特定の歌を聴取することができる(「Ramble On」)。この場合、ソーシャル・ネットワーキング・システム160は、(図3に示すように)ユーザに対応するユーザ・ノード302と、歌およびアプリケーションに対応する概念ノード304との間の「聴取済み(listened)」エッジ306および「使用済み(used)」エッジを作成し、ユーザが歌を聴取し、アプリケーションを使用したことを示すことができる。さらに、ソーシャル・ネットワーキング・システム160は、(図3に示すように)歌およびアプリケーションに対応する概念ノード304間の「再生済み(played)」エッジ306を作成し、特定の歌が特定のアプリケーションによって再生されたことを示すことができる。この場合、「再生済み」エッジ306は、外部アプリケーション(SPOTIFY)によって外部オーディオ・ファイル(歌「イマジン」)に対して実施されたアクションに対応する。本開示は、ユーザ・ノード302および概念ノード304を接続する特定の属性を有する特定のエッジ306を説明するが、本開示は、ユーザ・ノード302および概念ノード304を接続する任意の適切な属性を有する任意の適切なエッジ306を企図する。さらに、本開示は単一の関係を表すユーザ・ノード302と概念ノード304との間のエッジを説明するが、本開示は、1つまたは複数の関係を表すユーザ・ノード302と概念ノード304との間のエッジを企図する。限定ではなく例として、エッジ306は、ユーザが特定の概念を好むこと、および特定の概念を使用したことの両方を表すことができる。あるいは、別のエッジ306は、(図3の、ユーザ「E」に関するユーザ・ノード302と、「SPOTIFY」に関する概念ノード304との間で示されるように)ユーザ・ノード302と概念ノード304との間の各タイプの関係(または複数の単一の関係)を表すことができる。
【0025】
特定の実施形態では、ソーシャル・ネットワーキング・システム160は、ソーシャル・グラフ300内のユーザ・ノード302と概念ノード304との間のエッジ306を作成することができる。限定ではなく例として、(例えば、ユーザのクライアント・システム130によってホストされるウェブ・ブラウザまたは専用アプリケーションを使用することによって)概念プロファイル・ページを閲覧するユーザは、「いいね」アイコンをクリックまたは選択することにより、ユーザが概念ノード304によって表される概念を好むことを示すことができ、それによって、ユーザのクライアント・システム130に、ユーザが概念プロファイル・ページに関連する概念を好むことを示すメッセージをソーシャル・ネットワーキング・システム160に送信させることができる。メッセージに応答して、ソーシャル・ネットワーキング・システム160は、ユーザと概念ノード304との間の「いいね」エッジ306で示されるように、ユーザに関連するユーザ・ノード302と、概念ノード304との間のエッジ306を作成することができる。特定の実施形態では、ソーシャル・ネットワーキング・システム160は、1つまたは複数のデータ・ストア内にエッジ306を格納することができる。特定の実施形態では、特定のユーザ・アクションに応答して、エッジ306をソーシャル・ネットワーキング・システム160によって自動的に形成することができる。限定ではなく例として、第1のユーザが写真をアップロードし、映画を視聴し、または歌を聴取する場合、第1のユーザに対応するユーザ・ノード302と、これらの概念に対応する概念ノード304との間のエッジ306を形成することができる。本開示は、特定の方式で特定のエッジ306を形成することを説明するが、本開示は、任意の適切な方式で任意の適切なエッジ306を形成することを企図する。
【0026】
特定の実施形態では、例えば、個々のオブジェクトがどのように互いに関係するかに基づいて、オブジェクトのセットを階層として編成することができる。オブジェクト階層は、任意の数のレベルを有することができ、各レベルに、任意の数のオブジェクトが存在することができる。階層内の特定のオブジェクト間に親子関係(parent-child relationship)または兄弟関係(sibling relationship)が存在することができる。オブジェクト階層内で、親オブジェクトは、その子オブジェクトのレベルより1レベル上にある。2つの兄弟オブジェクトは同一レベルにあり、同一の親オブジェクトを共有する。さらに、階層の任意の部分を、それ自体の中の1階層とみなすこともできる。
【0027】
図4は、いくつかのオブジェクト410を含む例示的なオブジェクト階層400の一部を示す。図4は、実際にはオブジェクト階層の視覚表現である。各ノードは、階層内の特定のオブジェクトを表し、2つのノードを接続する各エッジは、2つの対応するオブジェクト間の親子関係を表す。
【0028】
特定の実施形態では、階層内のオブジェクトは親を有することがあり、または有さないことがある。オブジェクトが親を有さない場合、「ルート」オブジェクトと呼ばれることがある(例えば、オブジェクト410A)。通常、ルート・オブジェクトは、階層の第1のレベルまたは最上端のレベルに配置される。特定の実施形態では、階層内のオブジェクトは、子を有することがあり、またはどんな子も有さないことがある。オブジェクトがどんな子も有さない場合、「リーフ」または「終端」オブジェクトと呼ばれることがある(例えば、オブジェクト410B)。オブジェクトが子を有する場合(例えば、オブジェクト410C)、オブジェクトは任意の数の子を有することができる。さらに、同じ親を共有するオブジェクトは、互いの「兄弟」と呼ばれることがある。例えば、図4では、オブジェクト410Cは、オブジェクト410Dおよび410Bの親である。オブジェクト410Dおよび410Bは、オブジェクト410Cの子であり、互いに対する兄弟である。したがって、オブジェクトの階層(例えば、オブジェクト階層400)は、個々のオブジェクト(例えば、オブジェクト410)自体を含むだけではなく、特定のオブジェクト間の関係も示す。さらに、階層内の特定のオブジェクトの位置は、階層内の他のオブジェクトとの関係を示すことができる。
【0029】
オブジェクト410は様々なタイプでよく、本開示は任意の適用可能なオブジェクト・タイプを企図する。限定はしないが例えば、「オブジェクト」という用語は、限定はしないが、イメージ、ビデオ、キャプション、テキスト・ブロックまたはボックス、ユーザ・インターフェース要素、クリッカブル・リンク、ニュース・フィード・ストーリ、他のオブジェクトに対する参照、広告、カレンダ・イベント、グラフィカルにレンダリングすることのできるオープン・グラフ解析を表示する単位、アプリケーション、ウェブサイト、ウェブ・ページ、ブック、章を含む、任意のタイプのコンテンツを指す。特定の実施形態では、オブジェクトの別のより大きい階層の一部であるオブジェクトの階層が与えられると、特定のオブジェクト間の階層関係(例えば、親子または兄弟関係、階層内のオブジェクトの位置)が、これらのオブジェクトがユーザ・インターフェースのコンテキスト(context)でどのように振る舞うか、またはどのようにオブジェクトがユーザに提示されるかについてのいくつかの側面を指示することができる。
【0030】
1例を挙げると、コンピューティング装置のデスクトップのコンテキストでは、デスクトップは親オブジェクト、時には階層のルート・オブジェクトでよく、その子オブジェクトは、デスクトップ上で利用可能な個々のソフトウェア・アプリケーションである。ソフトウェア・アプリケーションは、それ自体がデスクトップの子オブジェクトのうちの1つであるが、そのソフトウェア・アプリケーションの個々のコンポーネントの親オブジェクトでもある。異なるソフトウェア・アプリケーションは異なるコンポーネントを含むことができる。例えば、デジタル・ブックを管理するソフトウェア・アプリケーション(例えば、ブック・リーダー・アプリケーション(book reader application))について、そのコンポーネントは、利用可能なデジタル・ブック、各ブックの個々の章、各章のページ、および各ページ上のテキスト、イメージ、ビデオ、オーディオ、または他のコンテンツもしくはメディア要素を含むことができる。これらのそれぞれはまた、階層内のオブジェクト(例えば、ユーザ・インターフェース・コンポーネント)に対応する。より具体的には、階層内で、デジタル・ブック・アプリケーションはデジタル・ブックの親オブジェクトでよい。デジタル・ブックは、そのブックの個々の章の親オブジェクトでよい。章は、それ自体がブックの子オブジェクトのうちの1つであるが、章内のページの親オブジェクトでもある。ページは、そのページ上のテキスト、イメージ、ビデオ、オーディオ、または他のコンテンツもしくはメディア要素の親オブジェクトである。テキスト・ブロック、イメージ、ビデオ、オーディオ、または他のコンテンツもしくはメディア要素は、それが属するページの子オブジェクトのうちの1つである。同様に、ニュース・フィードを管理するソフトウェア・アプリケーションでは、そのコンポーネントは、各チャネル内の個々のニュース・チャネルおよびニュース・ストーリを含むことができる。これらのそれぞれはオブジェクトに対応することができる。階層内で、ニュース・フィード・アプリケーションは、それ自体がデスクトップの子オブジェクトのうちの1つであるが、ニュース・チャネルの親オブジェクトでもある。ニュース・チャネルは、そのチャネル内に含まれるニュース・ストーリの親オブジェクトである。
【0031】
別の例として、インターネットまたはワールド・ワイド・ウェブのコンテキストでは、インターネットは、その子オブジェクトが個々のウェブサイトである親オブジェクトである。ウェブサイトは、それ自体がインターネットの子オブジェクトのうちの1つであるが、そのウェブサイトの個々のウェブ・ページの親オブジェクトでもある。ウェブ・ページは、それ自体がそのウェブ・ページが属するウェブサイトの子オブジェクトのうちの1つであるが、ウェブ・ページ内に含まれるテキスト、イメージ、ビデオ、オーディオ、またはリンク(例えば、ユニフォーム・リソース・ロケータ(URL))の親オブジェクトである。各テキスト・ブロック、イメージ、ビデオ、オーディオ、またはリンクはまた、階層内の特定のオブジェクトに対応する。
【0032】
第3の例として、ソーシャル・ネットワーキング・システム160によって実装されるソーシャル・ネットワーキング・ウェブサイトなどのウェブサイトを、ソーシャル・ネットワーキング・ウェブサイトのコンテンツをナビゲートするための階層構造として構成することもできる。このコンテキストでは、ソーシャル・ネットワーキング・ウェブサイトは、その子オブジェクトがウェブサイトのコンポーネント(例えば、フォト・アルバム、ユーザ・プロファイル・ページなど)である親オブジェクトでよい。例えば、フォト・アルバムは、それ自体がソーシャル・ネットワーキング・ウェブサイトの子オブジェクトであるが、親オブジェクトであり、アルバム内の個々のフォトは、フォト・アルバムの子オブジェクトでよい。ユーザのプロファイル・ページをそのような階層式に構築することもできる。プロファイル・ページ自体を親オブジェクトとみなすことができ、プロファイル・ページ上の個々のオブジェクトは、プロファイル・ページの子オブジェクトでよい。特定の実施形態では、(例えば、ユーザへの提示(presentation)のために)プロファイル・ページを、限定はしないが例えば、フォト、フォト・アルバム、チェックイン、他のユーザからのコメント、出席したイベント、タグ、ユーザがプロファイル・ページに追加したアプリケーション、ストーリ、ユーザが聴取した歌、プレイリストなどのオブジェクトのリニア・タイムライン(linear timeline)とみなすことができ、リニア・タイムラインとしてレンダリングすることができる。これらの様々なタイプのオブジェクトはすべて、プロファイル・ページの子でよく、または複数のレベルとしてさらに構成することができる。いくつかの形態では、ユーザのプロファイル・ページは、ユーザの教育情報および職業情報、ユーザのパブリック「ウォール(wall)」、ユーザのソーシャル接続などの任意の数のセクションを含むことができる。次いで、上記の様々なタイプのオブジェクトを特定のセクションに分割することができる。
【0033】
特定の実施形態では、オブジェクト410は、ユーザ・インターフェースのコンポーネントでもよい。この場合、オブジェクト階層400はユーザ・インターフェースに対応することができ、各オブジェクト410は、ユーザ・インターフェースの特定のコンポーネントに対応することができる。ユーザ・インターフェースは、様々なタイプのコンポーネントを有することができ、本開示は、任意の適用可能なユーザ・インターフェース・コンポーネントタイプを企図する。例えば、ユーザ・インターフェース・コンポーネント(すなわち、オブジェクト410)は、ウィンドウ、セクション、タブ、イメージ、ビデオ、オーディオ、テキスト・ブロック、メニュー、アイコン、ボタン、チェックボックス、ウェブサイト、ウェブ・ページ、フレーム、クリッカブル・リンク、メッセージ、ポスト、または入力フィールドである。特定の実施形態では、ユーザが、限定はしないが例えば、オブジェクト410と対話し、オブジェクト410を閲覧し、読み、聴取し、操作し、または処理することができる場合、ユーザはオブジェクト410を消費することができる。例えば、いくつかのユーザによる消費可能オブジェクト(user-consumable object)410は、テキスト、イメージ、ビデオ、オーディオ、フィード(feed)、実行可能ファイル(executable)(例えば、アプリケーション・プログラムまたはゲーム)、ウェブサイト、ウェブ・ページ、デジタル・ブック、フォト・アルバム、ポスト、またはメッセージである。
【0034】
特定の実施形態では、オブジェクト階層400に対応するユーザ・インターフェースが(例えば、クライアント・システム130上に)表示されるとき、対応するオブジェクト階層400の構造が、ユーザ・インターフェースの構造を反映することができる。オブジェクト階層400内に反映される、ユーザ・インターフェース内の個々のコンポーネント間の関係は、これらのコンポーネントがどのように編成され、ユーザに提示されるかに影響を及ぼす。ユーザ・インターフェースは、オブジェクト階層400の個々のレベルにそれぞれ対応する任意の数のレイヤを有することができる。オブジェクト階層400の特定のレベルのオブジェクト410(例えば、ユーザ・インターフェース・コンポーネント)が、ユーザ・インターフェースの対応するレイヤ内に表示される。いくつかの形態では、ユーザ・インターフェースの最低または最下端のレイヤが、オブジェクト階層400の第1または最上端のレベルに対応する。したがって、ルート・オブジェクト410Aが、ユーザ・インターフェースの最低のレイヤ内に表示される。さらに、ユーザ・インターフェースでは、各オブジェクト410(例えば、ユーザ・インターフェース・コンポーネント)が、親が存在する場合にその親が表示されるレイヤのすぐ上、かつ子が存在する場合にその子が表示されるレイヤのすぐ下のレイヤ内に表示される。兄弟オブジェクト410が同一のレイヤに表示される。したがって、ユーザ・インターフェースのコンポーネントの位置は、ユーザ・インターフェース内の他のコンポーネントとの関係(例えば、親子または兄弟)を示す。
【0035】
特定の実施形態では、ユーザ・インターフェースおよびユーザ・インターフェースの何らかのコンポーネントが、オブジェクト階層に関連付けられないことがある。さらに別の実施形態では、ユーザ・インターフェースおよびユーザ・インターフェースのコンポーネントをオブジェクト階層400に関連付けてもよく、インタラクティブ要素(本明細書でさらに説明する)は、例えば、ユーザ・インターフェースの他のオブジェクトまたはコンポーネントと同一のレイヤ内(例えば、オブジェクト階層400の同一レベル内)、またはユーザ・インターフェースの他のオブジェクトまたはコンポーネントとは異なるレイヤ内(例えば、オブジェクト階層400の異なるレベル内)でよい。
【0036】
特定の実施形態では、ユーザ・インターフェース・コンポーネント(例えば、イメージ、ビデオ、フォルダなど)を様々なディスプレイ・モードで表示することができる。1例を挙げると、ユーザ・インターフェース・コンポーネントが表示エリア(例えば、電子装置の画面)全体またはほぼ全体を占有する「全画面」モードでユーザ・インターフェース・コンポーネントを表示することができる。別の例として、ユーザ・インターフェース・コンポーネントが別のユーザ・インターフェース・コンポーネント内に含まれ、その別のユーザ・インターフェース・コンポーネントの一部として表示される(例えば、イメージがウェブ・ページの一部として表示される)「オン・ページ」モードでユーザ・インターフェース・コンポーネントを表示することができる。第3の例として、ユーザ・インターフェース・コンポーネントが一連のユーザ・インターフェース・コンポーネントの一部である(例えば、イメージが、同一のアルバムの別のイメージと共に表示され、またはブックの章が、同一のブックの別の章と共にブックの目次内に表示される)「索引」モードでユーザ・インターフェース・コンポーネントを表示することができる。
【0037】
特定の実施形態では、階層ユーザ・インターフェースを使用して、ユーザにコンテンツを提示することができる。そのようなユーザ・インターフェースは、「コンテンツ・フィード」または「ニュース・フィード」ユーザ・インターフェースと呼ばれることがある。コンテンツは、限定はしないが例えば、テキスト、アイコン、イメージ、ビデオ、オーディオ、ウェブ・ページ、ポスト、またはメッセージなどの任意のタイプおよびフォーマットである。本開示は、任意の適用可能なコンテンツ・タイプおよびフォーマットを企図する。特定の実施形態では、個々のコンテンツ・アイテム(例えば、テキスト、イメージ、ビデオ、オーディオ、ウェブ・ページ、ポスト、メッセージ、ニュース・ピースなど)を、コンテンツ・セクションと呼ばれる様々なカテゴリに編成することができる。例えば、関連するコンテンツ・アイテムを同一のコンテンツ・セクションに分類することができる。ユーザ・インターフェースは、任意の数のコンテンツ・セクションを含むことができ、各コンテンツ・セクションは、任意の数のコンテンツ・アイテムを含むことができる。階層的に、コンテンツ・セクションは、そのセクションに属するコンテンツ・アイテムの親である。例えば、休日旅行中に撮られた様々なフォトを同一のアルバムとして編成することができ、様々なフォト・アルバムをユーザ・インターフェースのフォト・セクションとして編成することができる。
【0038】
特定の実施形態では、ユーザは、特定のコンテンツ・アイテムを消費するか、または特定のコンテンツ・アイテムと対話することができる。例えば、ユーザがコンテンツ・アイテムをスクロールし、オープンし、閲覧し、聴取し、選択し、検討し、コンテンツ・アイテムに対してコメントし、コンテンツ・アイテムをクリックし、コンテンツ・アイテムをタップするとき、ユーザはコンテンツ・アイテムを消費するか、またはコンテンツ・アイテムと対話する。本開示は、ユーザがコンテンツ・アイテムを消費するか、またはコンテンツ・アイテムと対話するための任意の適用可能な手段を企図する。
【0039】
前述のように、ユーザは、コンピューティング装置上で実行中のアプリケーションを通じてコンピューティング装置(例えば、モバイル装置、テレビジョン、パーソナル・コンピュータ、スマートフォン、タブレット・コンピュータなど)と対話し得る。アプリケーションは、例えば、ソーシャル・ネットワーキング・ウェブサイトに関連するニュース・フィード・アプリケーション、ゲーム、ウェブ・ブラウザ、電話もしくはテキスト・メッセージング・アプリケーション、または任意の他の適切なタイプのアプリケーションでよい。特定の実施形態では、ユーザがコンピューティング装置上のアプリケーションと対話する間、ユーザに任意の適切な情報を示す(例えば、タッチ・スクリーン215または225などのコンピューティング装置の画面上の)インタラクティブ要素をユーザに提示する。1例として、インタラクティブ要素は、(例えば、ユーザと第2のユーザがどちらも参加するソーシャル・ネットワーキング・ウェブサイト上の第2のユーザから、ソーシャル・ネットワーキング・ウェブサイト上のエンティティから、ソーシャル・ネットワーキング・ウェブサイト上のグループから、ソーシャル・ネットワーキング・ウェブサイトの概念ノードから、または任意の他の適切なソースから)ユーザがメッセージを受信したことを示す。インタラクティブ要素は、特定の実施形態では、メッセージのテキストの一部またはすべてを含み、別の実施形態では、メッセージのテキストなしにインタラクティブ要素を表示する。別の例として、インタラクティブ要素は、ユーザが電話呼出し、eメール、ショート・メッセージ・サービス(SMS)メッセージ、インスタント・メッセージ、または任意の他のタイプのメッセージを含むメッセージを(ソーシャル・ネットワーキング・ウェブサイト上であるか否かに関わらず)任意の適切なソースから受信したことを示す。例えば、速報ニュース、流行のトピックス、あるいはソーシャル・ネットワーキング・ウェブサイトの他のユーザ、エンティティ、グループ、またはノードに関連するアクションを含む任意の適切なタイプの情報をインタラクティブ要素によって示す。例えば、インタラクティブ要素は、ポスト内のユーザにタグ付けする第2のユーザまたはソーシャル・ネットワーキング・ウェブサイト内のユーザのポストに対して「いいね」を表明する第2のユーザなどの、ソーシャル・ネットワーキング・ウェブサイトの第2のユーザに関連するアクションを示すテキストを含む。インタラクティブ要素は、特定の実施形態では、情報またはイベントの特定のアイテムに関連付けられないことがあり、例えば、インタラクティブ要素は、ユーザ・インターフェースの開始のみに対応することがある(以下でさらに説明する)。特定の実施形態では、インタラクティブ要素は、複数のタイプの情報を示す。1例として、インタラクティブ要素は、ユーザがソーシャル・ネットワーキング・ウェブサイトの第2のユーザからメッセージを受信したことを示し、第2のユーザが(例えば、ソーシャル・ネットワーキング・ウェブサイトに関連する)1つまたは複数のアクションを実施していることも示す。例えば、第2のユーザに対応するインタラクティブ要素は、第2のユーザが現在音楽を(例えば、音符と共に)聴いていること、コンピューティング装置のユーザに別のメッセージをタイプしていること、または記事を(例えば、本のシンボルと共に)読んでいるか、もしくは共有していることを視覚的に示す。ユーザ、エンティティ、グループ、またはノードに対応するインタラクティブ要素によって、ユーザ、エンティティ、グループ、またはノードの任意の適切なステータスまたはアクションを視覚的に示す。コンピューティング装置は、特定の実施形態では、コンピューティング装置がユーザに情報を示すインタラクティブ要素を表示する前に、情報の表示を受信する。1例として、コンピューティング装置は、ユーザがソーシャル・ネットワーキング・ウェブサイト上の第2のユーザからメッセージを受信したという表示を(例えば、ソーシャル・ネットワーキング・システム160のサーバからの通信を介して)受信する。次いでコンピューティング装置は、ユーザにインタラクティブ要素を表示して、ユーザにこの情報を示す。特定の実施形態では、インタラクティブ要素は、コンピューティング装置の画面上に徐々に出現する(例えば、フェードインする)。コンピューティング装置が情報の表示を受信した後の所定の時間量以内に(例えば、10分、5分、1分、30秒、10秒以内、またはリアル・タイムに)、ユーザにインタラクティブ要素を表示し、この所定の時間量は、例えば、示される情報のタイプ(例えば、受信したメッセージのタイプ)、またはコンピューティング装置のステータス(例えば、オンラインまたはスリープ・モード)に依存することがある。特定の実施形態では、ユーザ・インターフェースのディスプレイの特定のエリア内に(例えば、ディスプレイの上端右側に)インタラクティブ要素を自動的に配置または構成する。ユーザ・インターフェースのディスプレイの特定のエリアは、ディスプレイ内のデフォルト・エリアでよく、またはユーザが1つまたは複数のインタラクティブ要素(または、本明細書で説明する、インタラクティブ要素のスタック)を以前に配置した位置に関連付けることができる。
【0040】
特定の実施形態では、インタラクティブ要素は、コンピューティング装置上で実行中のアプリケーションとは無関係に機能することができる。1例として、ユーザがコンピューティング装置上でゲームをプレイしており、(例えば、ユーザがソーシャル・ネットワーキング・ウェブサイト上の第2のユーザからのメッセージを有することを示す)インタラクティブ要素がユーザに表示される場合、ゲーム・アプリケーションとは無関係にインタラクティブ要素を表示することができる(例えば、インタラクティブ要素はゲームのディスプレイの上端に「浮遊」することができる)。特定の実施形態では、インタラクティブ要素を永続的に表示することができ、例えば、その結果、基礎となるアプリケーション(例えば、ゲーム)が休止、停止、または終了される場合であってもインタラクティブ要素を引き続き表示することができる。特定の実施形態では、インタラクティブ要素は、コンピューティング装置上で実行中のアプリケーションの活動を変更しない形で機能することができる。例えば、ゲームは、インタラクティブ要素の表示中に、中断なしに引き続き動作することができる。別の例として、インタラクティブ要素がユーザによって棄却される場合、ゲームは、中断なしに引き続き動作することができる。以下でさらに説明する、さらに別の例として、ユーザがインタラクティブ要素と対話する場合、ゲームは終了するのではなく休止することができ、さもなければ、その状態情報を失う。
【0041】
前述のように、インタラクティブ要素を永続的に表示することができる。特定の実施形態では、コンピューティング装置が、インタラクティブ要素を選択するユーザ入力、またはインタラクティブ要素を棄却するユーザ入力のどちらかを受信するまで、インタラクティブ要素を表示する。例として、インタラクティブ要素を選択するユーザ入力は、(例えば、マウスやトラックパッドなどの入力/出力装置を使用して)インタラクティブ要素をクリックすること、(例えば、スタイラスまたはユーザの指を使用して)インタラクティブ要素をタップすること、インタラクティブ要素をドラッグすること、または任意の他の適切なタッチもしくはジェスチャ(例えば、シングル・タップ、ダブル・タップ、ショート・プレス、ロング・プレス、スライド、スワイプ、フリップ、ピンチ・オープン、またはピンチ・クローズ)を含むことができる。様々なユーザ入力の結果として、インタラクティブ要素を選択することができ、本開示は、選択のための任意の適用可能なユーザ入力を企図する。さらに、コンピューティング装置によって、異なるタイプのユーザ入力を異なるタイプの挙動にマッピングすることができる。例えば、ユーザは、コンピューティング装置の画面上の要素を押すことによってインタラクティブ要素を選択することができる。ユーザは、インタラクティブ要素を選択し(例えば、インタラクティブ要素を押し)、インタラクティブ要素を画面上の所望の位置にドラッグすることにより、インタラクティブ要素を画面上に引き続き表示するために再配置することができる。ユーザはまた、インタラクティブ要素をタップし、以下でさらに説明するユーザ・インターフェースを開くことによってインタラクティブ要素を選択することもできる。ユーザはまた、インタラクティブ要素を選択し、画面の特定のエリア(例えば、右端)にドラッグすることによってユーザ・インターフェースを開くこともできる。さらに別の例として、ユーザは、(例えば、適宜、ニュース・フィード・アプリケーション、写真、アルバム、リンク、または任意の他のオープン・グラフ・エッジまたはノードの場合に)コンピューティング装置上で実行中のアプリケーションからインタラクティブ要素にコンテンツ・アイテムをドラッグ・アンド・ドロップして、ユーザ・インターフェースを開くことができる。ユーザ・インターフェースが開かれる特定の実施形態では、ユーザ・インターフェースがユーザによって閉じられ、あるいは棄却されるとき、ユーザ・インターフェースを開くために選択されるインタラクティブ要素をユーザに再び永続的に表示することができる。インタラクティブ要素は、ユーザ・インターフェースが開かれたという視覚的インジケータを含むことができる。インタラクティブ要素を棄却するユーザ入力は、前述のような任意の適切なタッチまたはジェスチャを含むことができる。ユーザは、例えば、インタラクティブ要素を押して、コンピューティング装置の画面の「外に」(例えば、コンピューティング装置の画面の端に向かって)ドラッグすることにより、インタラクティブ要素を棄却するための入力を与えることができる。コンピューティング装置がインタラクティブ要素を棄却するためのユーザ入力を受信する場合、インタラクティブ要素をユーザに対する表示から除去する(例えば、コンピューティング装置の画面ディスプレイから除去する)ことができる。インタラクティブ要素は、棄却されるとき、モバイル装置の画面から徐々に消滅する(例えば、フェードアウトする)ことができる。ユーザ・インターフェースが開かれる特定の実施形態では、ユーザ・インターフェースがユーザによって閉じられ、あるいは棄却されるとき、ユーザ・インターフェースを開くために選択されるインタラクティブ要素は、ユーザにもはや表示されないことがある。
【0042】
特定の実施形態では、コンピューティング装置が(例えば、前述のジェスチャまたはアクションのいずれかによって)インタラクティブ要素を選択するユーザ入力を受信するとき、ユーザ・インターフェースがコンピューティング装置によって開かれる。ユーザ・インターフェースは、例えば、メッセージまたはチャットを送ること、コンテンツ・アイテム(例えば、写真、アルバム、リンク、または任意の他のオープン・グラフ・エッジ)を共有すること、または特定のユーザのプロファイルを閲覧することを含む様々なオプションをユーザに提供するコンテキスト・メニューでよい。ユーザ・インターフェースは、ユーザ・インターフェースを開くために選択されたインタラクティブ要素の表示を含むことができる。別の例として、ユーザ・インターフェースは、ユーザが(インタラクティブ要素によって示される)第2のユーザから受信した1つまたは複数のメッセージと対話し(例えば、メッセージを読み、またはそれに応答し)、(インタラクティブ要素によって示されないことのある)別のユーザに対するメッセージまたはチャットを作成し、または(何らかのインタラクティブ要素によって示されることがあり、または示されないことのある)別のユーザとコンテンツ・アイテムを共有することを可能にするメッセージングまたはチャット・アプリケーションでよい。コンピューティング装置によって開かれるユーザ・インターフェースは、コンピューティング装置上で実行中のアプリケーションとは無関係に機能することができる。1例として、ユーザがウェブ・ブラウザ・アプリケーションでブラウジングしており、インタラクティブ要素がユーザに表示され、ユーザがインタラクティブ要素を選択する場合、ユーザ・インターフェース(例えば、メッセージング・アプリケーション)を開くことができ、ユーザ・インターフェースは、ウェブ・ブラウザ・アプリケーションにウェブ・ブラウザ・アプリケーションの活動を終了させることなく、あるいは変更させることなく、ウェブ・ブラウザ・アプリケーションとは無関係に機能することができる。例えば、(例えば、ビデオを再生中の)ブラウザ・アプリケーションは、ユーザ・インターフェースの表示中に、中断なしに引き続き動作することができる。別の例として、ユーザ・インターフェースがユーザによって閉じられ、あるいは棄却される場合、ブラウザ・アプリケーションは、中断なしに引き続き動作することができる。特定の実施形態では、アプリケーションは、ユーザ・インターフェースを開くときに休止する(あるいはアプリケーションの状態を保存する)ことができ、アプリケーションは、ユーザ・インターフェースを閉じるとき、または棄却するときに再開する(例えば、ユーザ・インターフェースが開かれる直前の状態に戻る)ことができる。ユーザ・インターフェースをブラウザ・アプリケーションとは無関係に表示することもできる(例えば、メッセージング・アプリケーションは、ブラウザ・アプリケーションのディスプレイの上端に「浮遊」することができる)。特定の実施形態では、基礎となるアプリケーション(例えば、ビデオを再生するブラウザ・アプリケーション)が休止、停止、または終了される場合であってもユーザ・インターフェースを表示することができる。前述のジェスチャのいずれかを介して、ユーザによってユーザ・インターフェースを閉じるか、または棄却することができる。例えば、ユーザ・インターフェースによって表示されるインタラクティブ要素上のタップにより、ユーザ・インターフェースを閉じるか、または棄却することができる。
【0043】
特定の実施形態では、ユーザに情報を示すことのできる複数のインタラクティブ要素をユーザに提示することができる。1例として、2つの異なるインタラクティブ要素が、ソーシャル・ネットワーキング・ウェブサイト上の第1のユーザからのメッセージと、第2のユーザからのメッセージという2つの異なるメッセージをユーザが受信したことを示してもよい。別の例として、第1のインタラクティブ要素が、ユーザが第1のユーザから電話呼出し(または任意の他のタイプのメッセージ)を受信したことを示し、第2のインタラクティブ要素が、ユーザが(ソーシャル・ネットワーキング・ウェブサイト上であるか否かに関わらず)第2のユーザからeメール(または任意の他のタイプのメッセージ)を受信したことを示してもよい。ユーザに表示される1つまたは複数のインタラクティブ要素によって任意の適切なタイプの情報を示してもよい。特定の実施形態では、複数のインタラクティブ要素のそれぞれの表示および機能は独立したものである。例えば、第2のインタラクティブ要素とは無関係に第1のインタラクティブ要素を選択し、棄却し、あるいはそれと対話することができる。さらに別の実施形態では、1つまたは複数のインタラクティブ要素の移動または棄却により、残りのインタラクティブ要素が自動再配置される。特定の実施形態では、コンピューティング装置の画面上に複数のインタラクティブ要素をスタックまたはパイルでユーザに表示するように構成することができる。1例として、ユーザが(例えば、所定の期間内に)複数のメッセージを受信する場合、関連するインタラクティブ要素をスタックでユーザに表示することができる。特定の実施形態では、インタラクティブ要素がスタックまたはパイルで表示される場合、かつユーザが(例えば、スタックの最上端の要素をタップすることによって)スタックを選択する場合、前述のように、ユーザ・インターフェースを開くことができる。ユーザ・インターフェースでは、スタックからのインタラクティブ要素をシリーズ(例えば、水平シリーズまたは垂直シリーズ)で表示することができる。例えば、ユーザ・インターフェースがメッセージング・アプリケーションであり、インタラクティブ要素が、ユーザが受信したメッセージに関連付けられる場合、メッセージング・アプリケーション内で様々なインタラクティブ要素をシリーズで表示することができ、ユーザは、シリーズ中のインタラクティブ要素のうちの1つを選択することにより、どのメッセージと対話するかを選択することができる。さらに、メッセージング・アプリケーションの例では、ユーザが(例えば、メッセージング・アプリケーション・ディスプレイの特定のエリアで特定のジェスチャを実施することによって)メッセージに応答することを選ぶ場合、キーボードを出現させることができ、このキーボードは、ユーザがメッセージング・アプリケーション内のインタラクティブ要素間を切り換えるときに(例えば、ユーザがキーボードを棄却するためのジェスチャを実施するまで)持続することができる。別の例として、インタラクティブ要素がスタックまたはパイルで表示される場合、ユーザは、スタックまたはパイルを押して保持し、コンピューティング装置の画面の「外に」(例えば、コンピューティング装置の画面の端に向かって)ドラッグすることにより、インタラクティブ要素のスタックまたはパイルを棄却することができる。本開示は、例えばスタックまたはパイル、垂直シリーズ、水平シリーズ、またはファンアウト・ディスプレイを含む、コンピューティング装置のユーザに対するディスプレイ内のインタラクティブ要素の任意の適切な構成を企図する。1例として、コンピューティング装置のホーム画面上にインタラクティブ要素をダイジェスト形式(例えば、他のユーザのアクションの最近のメッセージまたは通知を含む)で表示することができる。スタックまたはパイル・ディスプレイの例では、ディスプレイは、スタックが複数のインタラクティブ要素を含むことの視覚的インジケータを含むことができる。さらに、スタックの「上端」に関するインタラクティブ要素の選択は他の情報に依存することができ、例えば、上端の要素は、ユーザに送られた最新のメッセージ、またはユーザがまだ読んでいないメッセージに対応することができる。特定の実施形態では、コンピューティング装置のユーザに対するディスプレイ内のインタラクティブ要素の構成は、自動的に行うことができる。例えば、構成は、コンピューティング装置のディスプレイ画面のサイズに依存することができる。例えば、コンピューティング装置が電話である場合、画面は小型であり、(例えば、画面領域を節約するために)複数のインタラクティブ要素を自動的にスタックまたはパイルで表示することができる。例えば、コンピューティング装置がタブレット・コンピュータである場合、画面は大型であり、垂直シリーズまたは水平シリーズで複数のインタラクティブ要素を自動的に表示することができ、追加の情報(例えば、インタラクティブ要素に関連する第2のユーザの現ステータス)を表示することが可能となる。どちらの例でも、またはインタラクティブ要素の構成が自動的に行われる任意のときに、ユーザは、例えば、インタラクティブ要素を選択し、パイル/シリーズまたは特定の位置(または任意の他の自動もしくはデフォルト構成)からコンピューティング装置の画面上の所望の位置にドラッグ・アンド・ドロップすることにより、インタラクティブ要素のデフォルト・ディスプレイを上書きすることができる。特定の実施形態では、ユーザは、インタラクティブ要素がコンピューティング装置の画面上のどこに出現するかを指定することができる。特定の実施形態では、グラフィカル・ユーザ・インターフェースはテンション境界を含むことができ、それによって、ユーザは、1つまたは複数のインタラクティブ要素(または任意のユーザ・インターフェース・コンポーネント)をテンション境界に移動することができ、その地点で、ユーザのインタラクティブ要素の移動速度を(例えば、半分に)低減することができ、かつ/またはインタラクティブ要素がテンション境界内の位置まで「跳ね返る」ことができる。
【0044】
特定の実施形態では、ユーザは、それについてインタラクティブ要素がユーザに対して表示される特定のタイプの情報またはイベントを制御することができる。例えば、ユーザは、ソーシャル・ネットワーキング・システムとの間のユーザのアカウント設定で、ユーザがそれについてインタラクティブ要素を受信することを望む情報のまたはイベントのタイプ(例えば、友人が行ったアクション、友人の友人が行ったアクション、友人に関するアクション、速報ニュースなど)を指定することができる。その後で、ユーザによって選択されたタイプのイベントまたは情報アイテムが発生したときにはいつでも、または発生するとすぐに、ソーシャル・ネットワーキング・システムは(例えば、そのサーバを通じて)、ユーザのコンピューティング装置にイベントの通知を送ることができ、次いでユーザのコンピューティング装置は、ユーザにインタラクティブ要素を表示する。
【0045】
特定の実施形態では、ユーザが、アプリケーションが現在開かれておらず、またはアクティブではないコンピューティング装置と対話する間、上記で詳細に説明したように、ユーザに情報を示す1つまたは複数のインタラクティブ要素を(例えば、タッチ・スクリーン215または225などのコンピューティング装置の画面上で)ユーザに提示することができる。インタラクティブ要素または要素を永続的に表示することができ、特定の実施形態では、コンピューティング装置が(例えば、前述のジェスチャまたはアクションのいずれかによって)インタラクティブ要素を選択するユーザ入力を受信するとき、上記で詳細に説明したように、ユーザ・インターフェースがコンピューティング装置によって開かれる。
【0046】
図5A図5Bは、インタラクティブ要素の例示的スタック510を示す。この場合、スマートフォンのユーザがソーシャル・ネットワーキング・アプリケーション(ニュース・フィード・アプリケーション)を実行ており、それと対話している間、インタラクティブ要素のスタック510がスマートフォンの画面上に表示される。インタラクティブ要素スタック510の例では、スタックのディスプレイが、スタックが複数のインタラクティブ要素を含むという視覚的インジケータを含む。さらに、スタックの「上端」に関するインタラクティブ要素が、スマートフォン・ユーザにメッセージ520を最近送ったソーシャル・ネットワーキング・システムのユーザに関連するピクチャを含むアイコンとして出現する。図5Aの例では、スマートフォンのユーザに送られる、「タホー(Tahoe)は先週どうだった?」というメッセージ520が受信されると、それが(例えば、所定の期間に)表示される。図5Bによって示されるように、その後のいつか(例えば、所定の時間量の後)に、メッセージ520がビューから消滅し、インタラクティブ要素510のスタックだけが残る。この例では、インタラクティブ要素のスタック510はまた、視覚的インジケータ(赤色の円内の数字「2」)をも含み、視覚的インジケータは、スタック510内のインタラクティブ要素に関連するユーザからの未読メッセージ(この場合、2つの未読メッセージ)があることを示す。図5Bでは、スマートフォンのユーザは、ニュース・フィード・アプリケーションと引き続き対話し、インタラクティブ要素スタック510は画面上で持続する。
【0047】
特定の実施形態では、ユーザ・インターフェースは1つまたは複数のコンポーネントを含むことができる。ユーザ・インターフェース・コンポーネントは、例えば、ウィンドウ、セクション、タブ、イメージ、ビデオ、オーディオ・クリップ、テキスト・ブロック、メニュー、アイコン、ボタン、チェックボックス、ウェブサイト、ウェブ・ページ、フレーム、クリッカブル・リンク、メッセージ、ポスト、入力フィールド、サブコンポーネント、またはインタラクティブ要素を含むことができる。特定の実施形態では、ユーザ・インターフェースで1つまたは複数のインタラクティブ要素をユーザに提示することができ、ユーザ・インターフェースを自動的に修正して、これらのインタラクティブ要素の提示に対処することができる。1例として、ユーザ・インターフェースの1つまたは複数のコンポーネントを修正して、1つまたは複数のインタラクティブ要素の提示に対処することができる。さらに、特定の実施形態では、一定の場合(例えば、コンポーネントが一定のサイズのイメージであるとき)にのみユーザ・インターフェースの1つまたは複数のコンポーネントを覆い隠すように、または一定の場合(例えば、コンポーネントがユーザ・インターフェースのジュエル・アイコンまたはボタン/アフォーダンスであるとき)にユーザ・インターフェースの1つまたは複数のコンポーネントを覆い隠さないようにインタラクティブ要素または要素を表示することができる。特定の実施形態では、インタラクティブ要素の現在位置またはターゲット状態がユーザ・インターフェース(例えば、アイコン、ボタン、アフォーダンス、テキスト、またはイメージ)の一定の(例えば、所定の)量または割合よりも多くのコンポーネントを覆い隠し、または隠す場合、インタラクティブ要素自体の位置を修正することができる。1例として、現在位置またはターゲット位置に近い(例えば、一定の半径以内)が、インタラクティブ要素または要素がその一定の量または割合を超えてユーザ・インターフェースのコンポーネントを覆い隠し、または隠すことがない位置に、インタラクティブ要素または要素を移動することができる。特定の実施形態では、この自動調節は、(例えば、あるモードから別のモードへのユーザ・インターフェース内のコンポーネントの変換中に)アニメーションと共に(例えば、同期して)行うことができる。
【0048】
図6A図6Cは例示的ユーザ・インターフェースを示す。図6A図6Cの例では、ニュース・フィード・ストーリ・コンポーネント600が、ユーザ・インターフェース内に全画面モードで表示される。コンポーネント600は、サブコンポーネント610(ニュース・フィード・ストーリに関連するテキスト)およびサブコンポーネント620(ニュース・フィード・ストーリに関連するソーシャル・ネットワーキング・システム160のユーザに関連するイメージ)をさらに含む。図6Bでは、インタラクティブ要素630がユーザ・インターフェースのディスプレイに進入する。インタラクティブ要素630は、例えば、第2のユーザ、エンティティ、グループ、ノード、または(例えば、ソーシャル・ネットワーキング・システム160に関連する)任意の他の適切なソースからユーザ(例えば、ユーザ・インターフェースを表示する装置のユーザ)へのメッセージに関連付けることができる。この例では、インタラクティブ要素630の提示に対処するために、サブコンポーネント620が自動的に修正される(例えば、切り捨てられる)。図6Bでは、サブコンポーネント620内の1つのイメージ(例えば、ニュース・フィード・ストーリに関連するソーシャル・ネットワーキング・システム160のユーザに関連するイメージ)が「締め出され」、サブコンポーネント620内の数値インジケータ(例えば、図6Aの「+2」インジケータ)が(例えば、「+3」インジケータに)変化する。図6Cでは、インタラクティブ要素630に応じたユーザ・インターフェースの修正が完了する。この例ではサブコンポーネント610は同じままであるが、サブコンポーネント620は、インタラクティブ要素630のディスプレイのために修正されている。
【0049】
図7A図7Cは、例示的ユーザ・インターフェースを示す。図7A図7Cの例では、ニュース・フィード700が索引モードでユーザに表示される。さらに、複数のアイコン710がユーザ・インターフェースの右上エリア内に表示され、各アイコンは、ユーザに対する異なる情報(例えば、通知)またはボタン/アフォーダンスを提供する。図7Bでは、ユーザ・インターフェースでインタラクティブ要素720がユーザに提示される。インタラクティブ要素720は(例えば、インタラクティブ要素に関連するユーザから、ユーザ・インターフェースを表示する装置のユーザへの)メッセージを含む。この例では、インタラクティブ要素720が、ニュース・フィード・コンポーネント700も、ジュエル・アイコン・コンポーネント710のいずれも覆い隠さないように、ユーザ・インターフェース内の位置に自動的に表示される。図7Cでは、ユーザ・インターフェースで第2のインタラクティブ要素730がユーザに提示される。第2のインタラクティブ要素730も(例えば、第2のユーザから、ユーザ・インターフェースを表示する装置のユーザへの)メッセージを含む。この例では、インタラクティブ要素720が自動的にシフトされ、ニュース・フィード・コンポーネント700も、ジュエル・アイコン・コンポーネント710のいずれも依然として覆い隠さない、ユーザ・インターフェース内の新しい位置に表示される。さらに、ニュース・フィード・コンポーネント700も、ジュエル・アイコン・コンポーネント710のいずれも覆い隠さないように、インタラクティブ要素730もユーザ・インターフェース内の位置に自動的に表示されるが、この例では、インタラクティブ要素730はインタラクティブ要素720の一部を覆い隠す。
【0050】
特定の実施形態では、ユーザは、ユーザ・インターフェースのコンポーネントを消費し、またはそれと対話することができる。例えば、ユーザがユーザ・インターフェースのコンポーネントまたはそのサブコンポーネントのいずれか(例えば、構成するコンポーネント)を選択し、クリックし、タップし、ピンチし、ズームインし、ズームアウトし、サイズ変更し、レビューし、それにコメントし、またはそれに対して任意の他のジェスチャを実施するとき、ユーザは、ユーザ・インターフェースのコンポーネントと対話することができる。特定の実施形態では、ユーザがユーザ・インターフェースのコンポーネントと対話するとき、ユーザ・インターフェースの1つまたは複数のコンポーネント(例えば、ユーザが対話するコンポーネント、このコンポーネントのサブコンポーネント、またはユーザ・インターフェースの他のコンポーネント)が、ユーザ対話によって影響を受ける(例えば、ユーザ対話に応答して修正される)ことがある。ユーザ・インターフェースのコンポーネントは、ユーザ対話によって非一様に、または互いに独立に影響を受けることがある。1例として、ユーザがコンポーネントをスケーリング因子X分の1だけ小さくなるようにサイズ変更する場合、コンポーネントの1つまたは複数のサブコンポーネント(またはユーザ・インターフェースの他のコンポーネント)もスケーリング因子X分の1だけ小さくなるようにサイズ変更することができ、コンポーネントの他のサブコンポーネント(またはユーザ・インターフェースの他のコンポーネント)をスケーリング因子1.5Xだけ小さくなるようにサイズ変更することができる。コンポーネントのサブコンポーネントまたはユーザ・インターフェースの他のコンポーネントは、ユーザ対話とは異なる方式で、ユーザ対話によって影響を受けることがある。ユーザがコンポーネントを小さくなるようにサイズ変更する例では、コンポーネントのいくつかのサブコンポーネント(またはユーザ・インターフェースの他のコンポーネント)は全くサイズ変更されないことがあり、コンポーネントがサイズ変更された後、コンポーネントの別のサブコンポーネント(またはユーザ・インターフェースの他のコンポーネント)が、ユーザ・インターフェース内でもはや見えないことがあり、コンポーネントのさらに別のサブコンポーネント(またはユーザ・インターフェースの他のコンポーネント)が、シフトされ、再構成され、リオーダーされ、あるいは修正されることがある。コンポーネントの修正の別の例は、カラーを変更すること、(例えば、ソーシャル・グラフ300から収集される情報から決定される)コンポーネントの重要性に基づいて修正すること、またはコンポーネントのタイプに基づいて修正すること(例えば、イメージ・コンポーネントをスケーリングするが、すべてのテキスト・コンポーネントを除去すること、または「いいね」もしくはタグ・コンポーネントを保持するが、コメント・コンポーネントを除去すること)を含む。本開示は、ユーザ・インターフェースのサブコンポーネントまたはユーザ・インターフェースの他のコンポーネントのいずれかを含む、ユーザ・インターフェースのコンポーネントをユーザが消費し、またはそれと対話するための任意の適切な手段を企図する。
【0051】
図8A図8Cは、ユーザ・インターフェースのコンポーネント800(ニュース・フィード・ストーリ)とのユーザ対話の1例を示す。図8A図8Cの例では、ユーザが、(図8Aでは索引モードで、図8Cでは全画面モードで表示される)コンポーネント800を大きくなるようにサイズ変更している。インタラクティブ要素820および830を含むユーザ・インターフェースの他のコンポーネントが、ユーザがコンポーネント800をサイズ変更することによって影響を受ける。この例では、コンポーネント800がユーザ・インターフェースのディスプレイを埋めるようにサイズ変更されるとき、インタラクティブ要素820および830は、a)その関連するテキスト(例えば、ユーザ・インターフェースを表示するコンピューティング装置のユーザへのメッセージからのテキスト)が除去されること、b)スタック840内に構成されること、およびc)スタック840内でディスプレイの右上隅に配置されることによって修正される。別の例(図示せず)では、インタラクティブ要素830および820に関連するテキストが除去されないか、インタラクティブ要素830および820がスタックされないか、または(スタックされるか否かに関わらず)インタラクティブ要素の位置がユーザ・インターフェースのディスプレイ内の任意の適切な場所であってもよい。例えば、インタラクティブ要素830および820に関連するテキストが保持される場合、インタラクティブ要素はスタックされないことがあり、(例えば、ユーザ・インターフェース内に表示されるコンポーネントに応じて)ユーザ・インターフェースのディスプレイの左側に沿って位置するように再配置されることがある。特定の実施形態では、ユーザ・インターフェースの1つまたは複数のコンポーネントが、あるモード(例えば、索引モード)から別のモード(例えば、全画面モード)に遷移するとき、インタラクティブ要素820および830のためのデフォルト位置があり得る。1例として、コンポーネント800が索引モードにあるとき、インタラクティブ要素820および830のデフォルト位置が、ユーザ・インターフェースのディスプレイの左側に沿って整列されることがあるが、コンポーネント800が全画面モードにあるとき、インタラクティブ要素820および830のデフォルト位置が、右上隅(または、例えば、全画面モードのときにユーザがインタラクティブ要素を以前に配置した前の位置)にあり得る。
【0052】
図9A図9Cは、ユーザ・インターフェースのコンポーネント900(ニュース・フィード・ストーリ)とのユーザ対話の1例を示す。図9A図9Cの例では、ユーザが、(図9Aでは全画面モードで、図9Cでは索引モードで表示される)コンポーネント900を小さくなるようにサイズ変更している。インタラクティブ要素スタック920を含むユーザ・インターフェースの他のコンポーネントが、ユーザがコンポーネント900をサイズ変更することによって影響を受ける。この例では、コンポーネント900が、ユーザ・インターフェースのディスプレイの一部だけを占有するようにサイズ変更されるとき、インタラクティブ要素スタック920が、ディスプレイの右上エリア内のより低い位置に配置されることによって修正される。インタラクティブ要素スタック920は、コンポーネント900が索引モードにあるときにユーザ・インターフェース内に出現するアフォーダンス/ボタンまたはアイコン930を覆い隠さないように、この位置に自動的に再配置される。
【0053】
図10は、ユーザ・インターフェース内のコンポーネントの位置調整をするための例示的方法を示す。方法はステップ1010から始まり、ユーザのクライアント・コンピューティング装置が、複数のコンポーネント(例えば、インタラクティブ要素、ニュース・フィード・ストーリ、イメージ、テキスト、サブコンポーネント)を備えるユーザ・インターフェースを提示のために提供する。ステップ1020で、クライアント・コンピューティング装置は、ユーザへのメッセージ(例えば、SMSメッセージ、eメール、電話呼出し、別のユーザの活動またはステータス)の表示を受信する。ステップ1030で、クライアント・コンピューティング装置は、コンポーネントのうちの1つまたは複数を自動的に修正する(例えば、コンポーネントをサイズ変更、追加、除去、再構成、または再配置する)ことにより、メッセージに関連するインタラクティブ要素の提示に対処するためにユーザ・インターフェースを自動的に修正する。ステップ1040で、クライアント・コンピューティング装置は、修正したユーザ・インターフェースを、メッセージに関連するインタラクティブ要素と共に提示のために自動的に提供する。特定の実施形態は、適切な場合に、図10の方法の1つまたは複数のステップを反復することができる。本開示は、図10の方法の特定のステップが特定の順序で行われるものとして説明し、図示するが、本開示は、任意の適切な順序で行われる図10の方法の任意の適切なステップを企図する。さらに、本開示は、図10の方法の特定のステップを含む、ユーザ・インターフェース内のコンポーネントの位置調整をするための例示的方法を説明し、図示するが、本開示は、適切な場合に、図10の方法のステップのすべて、一部を含むことがあり、または全く含まないことがある任意の適切なステップを含む、ユーザ・インターフェース内のコンポーネントの位置調整をするための任意の適切な方法を企図する。さらに、本開示は、図10の方法の特定のステップを実施する特定の構成要素、装置、またはシステムを説明し、図示するが、本開示は、図10の方法の任意の適切なステップを実施する任意の適切な構成要素、装置、またはシステムの任意の適切な組合せを企図する。
【0054】
本明細書に記載されたユーザ・インターフェースの機能は、コンピュータ・ソフトウェアとして実装され、かつコンピュータ・システム上で実行され得る。図11は、例示的なコンピュータ・システム1100を示す。特定の実施形態では、1つまたは複数のコンピュータ・システム1100は、本明細書で説明または図示される1つまたは複数の方法の1つまたは複数のステップを実施する。特定の実施形態では、1つまたは複数のコンピュータ・システム1100は、本明細書で説明または図示される機能を提供する。特定の実施形態では、1つまたは複数のコンピュータ・システム1100上で実行中のソフトウェアが、本明細書で説明または図示される1つまたは複数の方法の1つまたは複数のステップを実施しまたは本明細書で説明または図示される機能を提供する。特定の実施形態は、1つまたは複数のコンピュータ・システム1100の1つまたは複数の部分を含む。本明細書では、適切な場合、コンピュータ・システムに対する参照はコンピューティング装置を包含し、逆も同様である。さらに、適切な場合、コンピュータ・システムに対する参照は、1つまたは複数のコンピュータ・システムを包含する。
【0055】
本開示は、任意の適切な数のコンピュータ・システム1100を企図する。本開示は、任意の適切な物理的形態を取るコンピュータ・システム1100を企図する。限定ではなく例として、コンピュータ・システム1100は、組込みコンピュータ・システム、システム・オン・チップ(SOC)、シングル・ボード・コンピュータ・システム(SBC)(例えば、コンピュータ・オン・モジュール(COM)やシステム・オン・モジュール(SOM)など)、デスクトップ・コンピュータ・システム、ラップトップもしくはノートブック・コンピュータ・システム、対話型キオスク、メインフレーム、コンピュータ・システムのメッシュ、携帯電話、携帯情報端末(PDA)、サーバ、タブレット・コンピュータ・システム、またはこれらの2つ以上の組合せでよい。適切な場合、コンピュータ・システム1100は、1つまたは複数のコンピュータ・システム1100を含むことができ、一体型または分散型でよく、複数の場所にわたるものでよく、複数のマシンにわたるものでよく、複数のデータセンタにわたるものでよく、またはクラウド内に常駐することができ、クラウドは、1つまたは複数のネットワーク内の1つまたは複数のクラウド・コンポーネントを含むことができる。適切な場合、1つまたは複数のコンピュータ・システム1100は、実質的な空間的または時間的な限定なしに、本明細書で説明または図示される1つまたは複数の方法の1つまたは複数のステップを実施することができる。限定ではなく例として、1つまたは複数のコンピュータ・システム1100は、本明細書で説明または図示される1つまたは複数の方法の1つまたは複数のステップをリアル・タイムに、またはバッチ・モードで実施することができる。適切な場合、1つまたは複数のコンピュータ・システム1100は、本明細書で説明または図示される1つまたは複数の方法の1つまたは複数のステップを異なる時刻または異なる場所で実施することができる。
【0056】
特定の実施形態では、コンピュータ・システム1100は、プロセッサ1102、メモリ1104、ストレージ1106、入力/出力(I/O)インターフェース1108、通信インターフェース1110、およびバス1112を含む。本開示は、特定の構成の、特定の数の特定の構成要素を有する特定のコンピュータ・システムを説明および図示するが、本開示は、任意の適切な構成の、任意の適切な数の任意の適切な構成要素を有する任意の適切なコンピュータ・システムを企図する。
【0057】
特定の実施形態では、プロセッサ1102は、コンピュータ・プログラムを構成するような命令を実行するハードウェアを含む。限定ではなく例として、命令を実行するために、プロセッサ1102は、内部レジスタ、内部キャッシュ、メモリ1104、またはストレージ1106から命令を取り出し(またはフェッチし)、その命令を復号化および実行し、次いで内部レジスタ、内部キャッシュ、メモリ1104、またはストレージ1106に1つまたは複数の結果を書き込むことができる。特定の実施形態では、プロセッサ1102は、データ、命令、またはアドレスのための1つまたは複数の内部キャッシュを含むことができる。本開示は、適切な場合、任意の適切な数の任意の適切な内部キャッシュを含むプロセッサ1102を企図する。限定ではなく例として、プロセッサ1102は、1つまたは複数の命令キャッシュ、1つまたは複数のデータ・キャッシュ、および1つまたは複数の変換ルックアサイド・バッファ(translation lookaside buffer:TLB)を含むことができる。命令キャッシュ内の命令は、メモリ1104またはストレージ1106内の命令のコピーでよく、命令キャッシュは、プロセッサ1102によるそうした命令の検索を加速することができる。データ・キャッシュ内のデータは、プロセッサ1102で実行中の命令が演算するためのメモリ1104またはストレージ1106内のデータ、プロセッサ1102で実行中の後続の命令によるアクセスのために、またはメモリ1104もしくはストレージ1106に書き込むために、プロセッサ1102で実行された以前の命令の結果、あるいは他の適切なデータのコピーでもよい。データ・キャッシュは、プロセッサ1102による読取りまたは書込み演算を加速することができる。TLBはプロセッサ1102のための仮想アドレス変換(virtual-address translation)を加速することができる。特定の実施形態では、プロセッサ1102は、データ、命令、またはアドレス用の1つまたは複数の内部レジスタを含むことができる。本開示は、適切な場合、任意の適切な数の任意の適切な内部レジスタを含むプロセッサ1102を企図する。適切な場合、プロセッサ1102は、1つまたは複数の演算論理装置(arithmetic logic unit:ALU)を含むことができ、マルチコア・プロセッサでよく、または1つまたは複数のプロセッサ1102を含むことができる。本開示は特定のプロセッサを説明および図示するが、本開示は任意の適切なプロセッサを企図する。
【0058】
特定の実施形態では、メモリ1104は、プロセッサ1102が実行するための命令、またはプロセッサ1102が演算するためのデータを格納するメイン・メモリを含む。限定ではなく例として、コンピュータ・システム1100は、ストレージ1106または別のソース(例えば、別のコンピュータ・システム1100など)からメモリ1104に命令をロードすることができる。次いでプロセッサ1102は、メモリ1104から内部レジスタまたは内部キャッシュに命令をロードすることができる。命令を実行するために、プロセッサ1102は、内部レジスタまたは内部キャッシュから命令を取り出し、その命令を復号化することができる。命令の実行中または実行後に、プロセッサ1102は、1つまたは複数の結果(これは中間結果または最終結果でよい)を内部レジスタまたは内部キャッシュに書き込むことができる。次いでプロセッサ1102は、そうした結果の1つまたは複数をメモリ1104に書き込むことができる。特定の実施形態では、プロセッサ1102は、(ストレージ1106または他の場所ではなく)1つまたは複数の内部レジスタもしくは内部キャッシュ内、またはメモリ1104内の命令のみを実行し、(ストレージ1106または他の場所ではなく)1つまたは複数の内部レジスタもしくは内部キャッシュ内、またはメモリ1104内のデータのみに対して演算する。1つまたは複数のメモリ・バス(これはそれぞれアドレス・バスおよびデータ・バスを含むことができる)が、プロセッサ1102をメモリ1104に結合することができる。バス1112は、以下で説明するように、1つまたは複数のメモリ・バスを含むことができる。特定の実施形態では、1つまたは複数のメモリ管理ユニット(memory management unit:MMU)が、プロセッサ1102とメモリ1104との間に常駐し、プロセッサ1102によって要求されたメモリ1104へのアクセスを可能にする。特定の実施形態では、メモリ1104はランダム・アクセス・メモリ(RAM)を含む。適切な場合、このRAMは揮発性メモリでよい。適切な場合、このRAMはダイナミックRAM(DRAM)またはスタティックRAM(SRAM)でよい。さらに、適切な場合、このRAMは、単一ポートまたはマルチポートRAMでよい。本開示は任意の適切なRAMを企図する。適切な場合、メモリ1104は、1つまたは複数のメモリ1104を含むことができる。本開示は特定のメモリを説明および図示するが、本開示は任意の適切なメモリを企図する。
【0059】
特定の実施形態では、ストレージ1106は、データまたは命令用のマス・ストレージを含む。限定ではなく例として、ストレージ1106は、ハード・ディスク・ドライブ(HDD)、フロッピー(登録商標)・ディスク・ドライブ、フラッシュ・メモリ、光ディスク、光磁気ディスク、磁気テープ、またはユニバーサル・シリアル・バス(USB)ドライブ、あるいはこれらのうちの2つ以上の組合せを含むことができる。ストレージ1106は、適切な場合、取外し可能または取外し不能(または固定)媒体を含むことができる。ストレージ1106は、適切な場合、コンピュータ・システム1100の内部または外部でよい。特定の実施形態では、ストレージ1106は不揮発性固体メモリである。特定の実施形態では、ストレージ1106は読取り専用メモリ(ROM)を含む。適切な場合、このROMは、マスクプログラムされたROM、プログラマブルROM(PROM)、消去可能PROM(EPROM)、電気消去可能PROM(EEPROM)、電気書換え可能ROM(EAROM)、またはフラッシュ・メモリ、あるいはこれらのうちの2つ以上の組合せでよい。本開示は、任意の適切な物理的形態を有するマス・ストレージ1106を企図する。適切な場合、ストレージ1106は、プロセッサ1102とストレージ1106との間の通信を可能にする1つまたは複数のストレージ制御ユニットを含むことができる。適切な場合、ストレージ1106は、1つまたは複数のストレージ1106を含むことができる。本開示は特定のストレージを説明および図示するが、本開示は任意の適切なストレージを企図する。
【0060】
特定の実施形態では、I/Oインターフェース1108は、コンピュータ・システム1100と1つまたは複数のI/O装置との間の通信のための1つまたは複数のインターフェースを提供するハードウェア、ソフトウェア、またはその両方を含む。コンピュータ・システム1100は、適切な場合、これらのI/O装置のうちの1つまたは複数を含むことができる。これらのI/O装置のうちの1つまたは複数は、人とコンピュータ・システム1100との間の通信を可能にすることができる。限定ではなく例として、I/O装置は、キーボード、キーパッド、マイクロフォン、モニタ、マウス、プリンタ、スキャナ、スピーカ、スチル・カメラ、スタイラス、タブレット、タッチ・スクリーン、トラックボール、ビデオ・カメラ、別の適切なI/O装置、またはこれらのうちの2つ以上の組合せを含むことができる。I/O装置は1つまたは複数のセンサを含むことができる。本開示は、任意の適切なI/O装置およびそのための任意の適切なI/Oインターフェース1108を企図する。適切な場合、I/Oインターフェース1108は、プロセッサ1102がこれらのI/O装置のうちの1つまたは複数を駆動することを可能にする1つまたは複数のデバイス・ドライバまたはソフトウェア・ドライバを含むことができる。I/Oインターフェース1108は、適切な場合、1つまたは複数のI/Oインターフェース1108を含むことができる。本開示は特定のI/Oインターフェースを説明および図示するが、本開示は任意の適切なI/Oインターフェースを企図する。
【0061】
特定の実施形態では、通信インターフェース1110は、コンピュータ・システム1100と、1つまたは複数の別のコンピュータ・システム1100あるいは1つまたは複数のネットワークとの間の通信(例えば、パケット・ベースの通信など)用の1つまたは複数のインターフェースを提供するハードウェア、ソフトウェア、またはその両方を含む。限定ではなく例として、通信インターフェース1110は、イーサネット(登録商標)または他のワイヤ・ベースのネットワークと通信するネットワーク・インターフェース・コントローラ(network interface controller:NIC)またはネットワーク・アダプタ、あるいはWi−Fiネットワークなどのワイヤレス・ネットワークと通信するワイヤレスNIC(wire-based network or a wireless:WNIC)またはワイヤレス・アダプタを含むことができる。本開示は、任意の適切なネットワークおよびそのための任意の適切な通信インターフェース1110を企図する。限定ではなく例として、コンピュータ・システム1100は、アドホック・ネットワーク、パーソナル・エリア・ネットワーク(PAN)、ローカル・エリア・ネットワーク(LAN)、広域ネットワーク(WAN)、大都市圏ネットワーク(metropolitan area network:MAN)、またはインターネットの1つもしくは複数の部分、あるいはこれらのうちの2つ以上の組合せと通信することができる。これらのネットワークのうちの1つまたは複数の1つまたは複数の部分は、ワイヤードまたはワイヤレスでよい。1例を挙げると、コンピュータ・システム1100は、ワイヤレスPAN(WPAN)(例えば、BLUETOOTH WPANなど)、Wi−Fiネットワーク、WI−MAXネットワーク、携帯電話網(例えば、Global System for Mobile Communication(GSM(登録商標))ネットワークなど)、または他の適切なワイヤレス・ネットワーク、あるいはこれらのうちの2つ以上の組合せと通信することができる。コンピュータ・システム1100は、適切な場合、これらのネットワークのいずれかに関する任意の適切な通信インターフェース1110を含むことができる。通信インターフェース1110は、適切な場合、1つまたは複数の通信インターフェース1110を含むことができる。本開示は特定の通信インターフェースを説明および図示するが、本開示は任意の適切な通信インターフェースを企図する。
【0062】
特定の実施形態では、バス1112は、コンピュータ・システム1100の構成要素を互いに結合するハードウェア、ソフトウェア、またはその両方を含む。限定ではなく例として、バス1112は、アクセラレーテッド・グラフィックス・ポート(Accelerated Graphics Port:AGP)または他のグラフィックス・バス、Enhanced Industry Standard Architecture(EISA)バス、フロント・サイド・バス(FSB)、HYPERTRANSPORT(HT)相互接続、Industry Standard Architecture(ISA)バス、INFINIBAND相互接続、低ピン・カウント(low-pin-count:LPC)バス、メモリ・バス、Micro Channel Architecture(MCA)バス、Peripheral Component Interconnect(PCI)バス、PCI−Express(PCIe)バス、serial advanced technology attachment(SATA)バス、Video Electronics Standards Association local(VLB)バス、または別の適切なバス、あるいはこれらのうちの2つ以上の組合せを含むことができる。バス1112は、適切な場合、1つまたは複数のバス1112を含むことができる。本開示は特定のバスを説明および図示するが、本開示は、任意の適切なバスまたは相互接続を企図する。
【0063】
本明細書では、コンピュータ可読非一時的記憶媒体は、適切な場合、1つまたは複数の半導体ベースの、または他の集積回路(IC)(例えば、フィールド・プログラマブル・ゲート・アレイ(FPGA)または特定用途向けIC(ASIC)など)、ハード・ディスク・ドライブ(HDD)、ハイブリッド・ハード・ドライブ(HHD)、光ディスク、光ディスク・ドライブ(ODD)、光磁気ディスク、光磁気ドライブ、フロッピィ・ディスケット、フロッピィ・ディスク・ドライブ(FDD)、磁気テープ、固体ドライブ(SSD)、RAMドライブ、セキュア・デジタル・カードもしくはドライブ、任意の他の適切なコンピュータ可読非一時的記憶媒体、またはこれらの2つ以上の適切な組合せを含むことができる。コンピュータ可読非一時的記憶媒体は、適切な場合、揮発性、不揮発性、または揮発性と不揮発性の組合せでよい。
【0064】
本明細書では、別段に明記されていない限り、または文脈によって示されていない限り、「または」は排他的ではなく包含的である。したがって、本明細書では、別段に明記されていない限り、または文脈によって示されていない限り、「AまたはB」は「A、B、またはその両方」を意味する。さらに、別段に明記されていない限り、または文脈によって示されていない限り、「および」は協同および個々の両方である。したがって、本明細書では、別段に明記されていない限り、または文脈によって示されていない限り、「AおよびB」は、「AおよびBが一緒に、または個別に」を意味する。
【0065】
本開示の範囲は、当業者なら理解するはずである、本明細書で説明または図示される例示的実施形態に対するすべての変更、置換、変形、改変、および修正を包含する。本開示の範囲は、本明細書で説明または図示される例示的実施形態に限定されない。さらに、本開示は、本明細書のそれぞれの実施形態が特定の構成要素、要素、機能、動作、またはステップを含むものとして説明および図示するが、これらの実施形態のいずれも、当業者なら理解するはずである、本明細書のどこかで説明または図示される構成要素、要素、機能、動作、またはステップのいずれかの任意の組合せまたは置換を含むことができる。さらに、特定の機能を実施するように適合され、配置され、実施することが可能であり、実施するように構成され、実施することが可能にされ、実施するように動作可能である装置またはシステムあるいは装置またはシステムの構成要素に対する添付の特許請求の範囲での参照は、その装置、システム、または構成要素がそのように適合され、配置され、可能であり、構成され、可能にされ、動作可能にされる限り、その装置、システム、構成要素またはその特定の機能が活動化され、オンにされ、またはロック解除されるか否かに関わらず、その装置、システム、構成要素を包含する。
図1
図2A
図2B
図3
図4
図5A-B】
図6A-B】
図6C
図7A-B】
図7C
図8A-B】
図8C
図9A-B】
図9C
図10
図11