(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2025-04-15
(45)【発行日】2025-04-23
(54)【発明の名称】リソースロケータに関連付けられたコンテンツの記憶
(51)【国際特許分類】
G06F 3/0481 20220101AFI20250416BHJP
H04L 67/02 20220101ALI20250416BHJP
【FI】
G06F3/0481
H04L67/02
(21)【出願番号】P 2024532876
(86)(22)【出願日】2022-12-30
(86)【国際出願番号】 US2022082643
(87)【国際公開番号】W WO2023130084
(87)【国際公開日】2023-07-06
【審査請求日】2024-06-26
(32)【優先日】2021-12-31
(33)【優先権主張国・地域又は機関】US
【早期審査対象出願】
(73)【特許権者】
【識別番号】502208397
【氏名又は名称】グーグル エルエルシー
【氏名又は名称原語表記】Google LLC
【住所又は居所原語表記】1600 Amphitheatre Parkway 94043 Mountain View, CA U.S.A.
(74)【代理人】
【識別番号】110001195
【氏名又は名称】弁理士法人深見特許事務所
(72)【発明者】
【氏名】チャン,マーク
(72)【発明者】
【氏名】セギャン-ギャニオン,セバスチャン
(72)【発明者】
【氏名】ボカン,デイビッド
(72)【発明者】
【氏名】ワン,グラント
(72)【発明者】
【氏名】セダガート,ナシム
(72)【発明者】
【氏名】ディシュリップ,ジェイソン・エドワード
(72)【発明者】
【氏名】ボイケルマン,ジョエル・ロジャー
(72)【発明者】
【氏名】ティオ,エブリン
(72)【発明者】
【氏名】バイオ,アリエル
(72)【発明者】
【氏名】リ,シュアンシュアン
【審査官】伊藤 昭治
(56)【参考文献】
【文献】特開2013-037449(JP,A)
【文献】特開2006-338065(JP,A)
【文献】国際公開第2021/252023(WO,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 3/048 - 3/04895
H04L 67/02
H04L 67/00 - 67/75
(57)【特許請求の範囲】
【請求項1】
ブラウザによって実行される方法であって、
ウェブページをブラウザコンテンツウィンドウに提示することとを含み、前記ウェブページは、第1のリソースアドレスに関連付けられており、前記方法はさらに、
注釈領域を提示することを含み、前記注釈領域は、前記ブラウザコンテンツウィンドウの外側にあり、前記方法はさらに、
ユーザアカウントに関連付けて、前記注釈領域内にタブグループのための注釈を受信することを含み、前記タブグループは前記第1のリソースアドレスと、第2のリソースアドレスとを含み、前記方法はさらに、
前記注釈を前記ユーザアカウント及び前記タブグループに関連付けて記憶することを含む、方法。
【請求項2】
前記注釈を記憶することは、前記注釈を前記ユーザアカウント及び前記タブグループに関連付けて長期ストレージにローカルに記憶することを含み、
前記ウェブページは前記長期ストレージにローカルに記憶されない、請求項1に記載の方法。
【請求項3】
前記注釈は、前記ウェブページに含まれるテキストの一部の外観の変更を引き起こす、請求項1に記載の方法。
【請求項4】
前記変更は、前記ウェブページをレンダリングしたレンダリングプロセスとは異なるレンダリングプロセスを使用して行われる、請求項3に記載の方法。
【請求項5】
前記注釈を記憶することは、前記第1のリソースアドレスに関連付けられたサーバに通知することなく行われる、請求項1に記載の方法。
【請求項6】
前記注釈は、前記ブラウザが実行されているローカルコンピューティングデバイス上に記憶される、請求項1に記載の方法。
【請求項7】
前記注釈は、メタデータ部分、ボディ部分、及びターゲット部分を備える注釈レコードに記憶される、請求項1に記載の方法。
【請求項8】
前記ウェブページは、前記タブグループの第1のタブに第1のウェブページを含み、
前記注釈は第1の注釈を含み、
前記タブグループは、前記第1のタブと、第2のタブとを含み、前記第2のタブは、前記第2のリソースアドレスに関連付けられており、前記方法は、
第3のタブの第3のリソースアドレスに対する事前選択動作を検出することと、
前記事前選択動作を検出することに応答して、前記第3のリソースアドレスのプレビュー領域を提示することとをさらに含み、前記プレビュー領域は、前記第3のリソースアドレスの第2の注釈を含む、請求項1に記載の方法。
【請求項9】
前記第1のリソースアドレスに関連付けられた前記ウェブページを表示する要求を受信することと、
前記ウェブページを表示する前記要求を受信したことに応答して、前記注釈を取得することと、
前記注釈を取得したことに応答して、前記タブグループが少なくとも1つの注釈を有することを示す通知をアドレスバー領域に追加することと、
前記通知の選択を受信することと、をさらに含み、
前記注釈領域を提示することは、前記通知の前記選択を受信したことに応じて行われる、請求項1に記載の方法。
【請求項10】
前記注釈の選択を受信することと、
前記注釈の前記選択を受信したことに応答して、前記注釈に関連付けられた前記ウェブページの一部までスクロールすることと、をさらに含み、前記注釈は前記ウェブページ内のテキストに関連付けられている、請求項1に記載の方法。
【請求項11】
前記注釈を受信することは、前記ウェブページに含まれる画像の選択を受信することを含む、請求項1に記載の方法。
【請求項12】
前記ウェブページのコンテンツを分析して、提案された注釈コンテンツを識別することと、
前記提案された注釈コンテンツを選択可能な要素として提示することと、
前記提案された注釈コンテンツの選択を受信することと、をさらに含み、
前記注釈を受信することは、前記提案された注釈コンテンツの前記選択に応じて行われる、請求項1に記載の方法。
【請求項13】
命令を含むコンピュータプログラムであって、前記命令は
、少なくとも1つのプロセッサによって実行されると、コンピューティングシステムに請求項1~12のいずれかに記載の方法を実施させるように構成されている、コンピュータプログラム。
【請求項14】
コンピューティングシステムであって、
少なくとも1つのプロセッサと、
命令を含む非一時的なコンピュータ可読記憶媒体とを備え、前記命令は、前記非一時的なコンピュータ可読記憶媒体に記憶され、前記少なくとも1つのプロセッサによって実行されると、前記コンピューティングシステムに請求項1~12のいずれかに記載の方法を実施させるように構成されている、コンピューティングシステム。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願の相互参照
本出願は、参照によりその開示が本明細書に組み込まれる、2021年12月31日に出願され、「BROWSER-BASED ANNOTATION INTERFACE FOR INTERNET DOCUMENTS」と題する米国仮出願第63/266,291号の利益を主張する。
【背景技術】
【0002】
ウェブサイトはユーザに役立つ情報または機能を提供しており、多くのユーザはインターネットを使用して製品、場所、会社、サービスなどを調べている。ウェブサイトに関連付けられているウェブページは通常、リモートサーバに記憶される。
【発明の概要】
【0003】
ウェブサイトはユーザに役立つ情報または機能を提供しており、多くのユーザはインターネットを使用して製品、場所、会社、サービスなどを調べている。ウェブサイトに関連付けられているウェブページは通常、リモートサーバに記憶される。それらのサイト内の様々なサイト及び様々なウェブページにわたる調査は複雑になる可能性があり、多くの場合、統合、比較、及び意思決定が必要になる。ユーザは、ローカルコンピューティングデバイス上で実行されているブラウザ内でウェブページを表示できる。実施態様では、これらのタスク及びその他のタスクを支援する、ブラウザに統合されたツールが提供される。このツールには、ウェブページ及び/またはウェブサイトに関連付けられた情報の記憶など、斬新なユーザインターフェイスと新しいブラウザ機能が含まれる。ウェブページ及び/またはウェブサイトに関連付けられている記憶情報は、ユーザアカウントにも関連付けられる。ウェブページ及び/またはウェブサイトに関連付けられた記憶情報は、ユーザアカウントを所有及び/または管理するユーザによって生成される。記憶情報は、ユーザが生成した情報が関連付けられているウェブサイトを維持するサーバからはアクセスできない。注釈ユーザインターフェイスと呼ばれる斬新なユーザインターフェイスは、ウェブサイトを維持するサーバ及び/またはエンティティとの調整及び/または通信を行わずに、ユーザがインターネットベースのドキュメントを整理、理解し、及び操作できるように支援する。注釈ユーザインターフェイスは、意思決定ファネルの問題を解決する、高度に統合された情報生成(例えば、メモ作成)エクスペリエンスを提供する。特に、注釈ユーザインターフェイスには、ユーザがウェブサイトまたはウェブサイトのコレクションから最も重要な詳細を抽出し、ウェブサイト間で情報を比較し、コンテンツをブックマークする必要無しに、かつウェブサイトを維持するサーバ及び/またはエンティティに情報を提供したりする必要無しに、元のコンテンツ(ウェブページ)に戻ることを可能にするインテリジェンスを含めることができる。注釈ユーザインターフェイスは、リッチコンテンツを抽出したり、メモ及び/または画像の提案を提供したり、及び/または注釈ターゲットを中心に注釈を整理したりできる。注釈ターゲットは、ウェブページ(ソースドキュメント)、トピック、タブグループなどを表すことができる。注釈ユーザインターフェイスによって、ユーザは、ユーザ作成の注釈を提案されたコンテンツと統合したり、例えば、注釈をトピックまたはタブグループに関連付けることでウェブサイト間で注釈を追跡したり、サイト間及びウェブページ間でメモを比較したりできる。ユーザインターフェイスは、ユーザアカウントに関連して複数の方法で表示でき、様々な詳細レベル(例えば、サイドパネル内、複数のテーブルにまたがって、またはスタンドアロンドキュメントとして)で提示できる。注釈インターフェイスをブラウザに統合すると、ブラウザは注釈データをレンダリングプロセスから分離できるようになる。このような分離により、インターフェイスは統合されているように見えるが、注釈自体がレンダリングプロセスに公開されなくなり、ウェブサイトを維持するサーバ及び/または管理者が注釈に関する情報を取得できなくなる。
【0004】
方法はブラウザで実行できる。この方法は、リソースアドレスの少なくとも一部を提示することと、レンダリングされたウェブページをブラウザコンテンツウィンドウに提示することとを含み、レンダリングされたウェブページは、リソースアドレスに関連付けられており、当該方法はさらに、注釈領域を提示することを含み、注釈領域は、ブラウザコンテンツウィンドウの外側にあり、当該方法はさらに、注釈領域内に注釈をユーザアカウントに関連付けて受信することと、注釈をユーザアカウント及びリソースアドレスに関連付けて記憶することと、を含み得る。
【0005】
命令を含む非一時的なコンピュータ可読記憶媒体であって、命令は、非一時的なコンピュータ可読記憶媒体に記憶され、少なくとも1つのプロセッサによって実行されると、コンピューティングシステムに、リソースアドレスの少なくとも一部を提示することと、レンダリングされたウェブページをブラウザコンテンツウィンドウ内に提示することを行なわせ、レンダリングされたウェブページは、リソースアドレスに関連付けられており、当該命令は、当該少なくとも1つのプロセッサによって実行されると、当該コンピューティングシステムに、注釈領域を提示することを行なわせ、注釈領域は、ブラウザコンテンツウィンドウの外側にあり、当該命令は、当該少なくとも1つのプロセッサによって実行されると、当該コンピューティングシステムにさらに、注釈領域内に注釈をユーザアカウントに関連付けて受信することと、注釈をユーザアカウント及びリソースアドレスに関連付けて記憶することと、を行わせるように構成されている。
【0006】
コンピューティングシステムは、少なくとも1つのプロセッサと、非一時的なコンピュータ可読記憶媒体とを含み得る。この非一時的なコンピュータ可読記憶媒体は、命令を含むことができ、命令は、非一時的なコンピュータ可読記憶媒体に記憶され、少なくとも1つのプロセッサによって実行されると、コンピューティングシステムに、リソースアドレスの少なくとも一部を提示することと、レンダリングされたウェブページをブラウザコンテンツウィンドウに提示することを行なわせ、レンダリングされたウェブページは、リソースアドレスに関連付けられており、当該命令は、当該少なくとも1つのプロセッサによって実行されると、当該コンピューティングシステムに、注釈領域を提示することを行なわせ、注釈領域は、ブラウザコンテンツウィンドウの外側にあり、当該命令は、当該少なくとも1つのプロセッサによって実行されると、当該コンピューティングシステムに、注釈領域内に注釈をユーザアカウントに関連付けて受信することと、注釈をユーザアカウント及びリソースアドレスに関連付けて記憶することと、を行わせるように構成されている。
【0007】
1つ以上の実施態様の詳細は、添付の図面及び下記の説明に記載されている。他の特徴は、説明及び図面から明らかになるであろう。
【図面の簡単な説明】
【0008】
【
図1A】いくつかの態様による、ブラウザ注釈インターフェイスを表示するための例示的な技術を示す図である。
【
図1B】いくつかの態様による、ブラウザ注釈インターフェイスを表示するための例示的な技術を示す図である。
【
図1C】いくつかの態様による、ブラウザ注釈インターフェイスを表示するための例示的な技術を示す図である。
【
図1D】いくつかの態様による、ブラウザ注釈インターフェイスを表示するための例示的な技術を示す図である。
【
図2A】一態様による、ブラウザ注釈インターフェイスを表示するための別の例示的な技術を示す図である。
【
図2B】一態様による、ブラウザ注釈インターフェイスを表示するための別の例示的な技術を示す図である。
【
図3】
図3A及び
図3Bは、一態様による、表示領域が制限されたコンピューティングデバイス用の例示的なブラウザ注釈インターフェイスを示す図である。
【
図4A】いくつかの態様による、提案された注釈コンテンツを備えた例示的なブラウザ注釈インターフェイスを示す図である。
【
図4B】いくつかの態様による、提案された注釈コンテンツを備えた例示的なブラウザ注釈インターフェイスを示す図である。
【
図4C】いくつかの態様による、提案された注釈コンテンツを備えた例示的なブラウザ注釈インターフェイスを示す図である。
【
図4D】いくつかの態様による、提案された注釈コンテンツを備えた例示的なブラウザ注釈インターフェイスを示す図である。
【
図4E】いくつかの態様による、提案された注釈コンテンツを備えた例示的なブラウザ注釈インターフェイスを示す図である。
【
図4F】いくつかの態様による、提案された注釈コンテンツを備えた例示的なブラウザ注釈インターフェイスを示す図である。
【
図5A】いくつかの態様による、グループ化された注釈コンテンツを備えた例示的なブラウザ注釈インターフェイスを示す図である。
【
図5B】いくつかの態様による、グループ化された注釈コンテンツを備えた例示的なブラウザ注釈インターフェイスを示す図である。
【
図5C】いくつかの態様による、グループ化された注釈コンテンツを備えた例示的なブラウザ注釈インターフェイスを示す図である。
【
図5D】いくつかの態様による、グループ化された注釈コンテンツを備えた例示的なブラウザ注釈インターフェイスを示す図である。
【
図6】いくつかの態様による、例示的な注釈レンダリングを示す図である。
【
図7】一態様による、ブラウザ注釈インターフェイスを提供するためのシステムを示す図である。
【
図8】一態様による、ブラウザ注釈インターフェイスを提供するためのシステムを実装するブラウザアプリケーション用のコンポーネントのブロック図である。
【
図9】一態様による、注釈付きのインターネットドキュメントをロードするための例示的な操作を示すタイミング図である。
【
図10】一態様による、注釈を使用してナビゲートするための例示的な操作を示すタイミング図である。
【
図11】一態様による、例示的なコンピューティングデバイスの一例を示す図である。
【発明を実施するための形態】
【0009】
同様の参照番号は、同様の要素を指す。
実施態様は、ウェブサイト、ウェブページなどのインターネットベースのドキュメントに注釈を付け、注釈を記憶するための、ブラウザ統合型の注釈システムを提供することに関する。注釈システムをブラウザに一体化すると、使いやすさが向上し、ウェブページ、タブ、及び検索セッション間での統合が容易になり、注釈をユーザアカウントに関連付けて記憶できるようになる。ブラウザベースの注釈システムはまた、整理とナビゲーションを容易にし、自動生成された注釈の提案などの自動化された支援を提供することができる。いくつかの実施態様では、このような提案は、機械学習モデル、ドキュメント構造、及び/または履歴情報(例えば、匿名化された検索記録の分析)に基づいて行われ得る。注釈インターフェイスはブラウザに統合されているため、実施態様では注釈インターフェイスを表示するための様々な技術を提供でき、ナビゲーション補助として機能し得る。
【0010】
図1Aは、本明細書に記載の実施態様による例示的なブラウザユーザインターフェイス(UI)100を示す。一般に、UI100は、コンピューティングデバイスのオペレーティングシステム(例えば、オペレーティングシステム710)で実行されるブラウザアプリケーション(例えば、
図7のブラウザアプリケーション718)によって生成され、レンダリングされる。UI100は、ブラウザアプリケーションに関連付けられたタブストリップ108を含み得る。この例では、UI100には5つのブラウザタブ105が含まれるが、ブラウザアプリケーションによって任意の数のブラウザタブまたはタブグループを開くことができる。各ブラウザタブ、例えば、ブラウザタブ105は、ブラウザアプリケーションの対応するブラウザコンテンツウィンドウ120に表示されるウェブコンテンツ(ウェブページ)に関連付けられ得る。本明細書で使用される場合、ウェブページとは、ウェブサイトをホストするリモートサーバによって/から少なくとも部分的に生成/提供される任意のコンテンツを指す。ウェブページは、ユニフォームリソースロケータ(URL)またはユニフォームリソースインジケータ(URI)などのリソースアドレスに関連付けることができる。ウェブページには、ハイパーテキストマークアップ言語(HTML)コンテンツを含めることができる。ブラウザアプリケーションは、リソースアドレス(例えば、URL)に基づいて、ウェブサイトをホストしているリモートサーバからウェブページを要求できる。ブラウザアプリケーションは、例えば、ウェブサイトをホストしているリモートサーバにハイパーテキスト転送プロトコル(HTTP)GET要求を送信することによって、ウェブページを要求できる。ウェブページは、従来のウェブページに加えて、プログレッシブウェブアプリケーションを指す場合もある。加えて、本明細書で使用される場合、ソースドキュメントとは、ブラウザコンテンツウィンドウ120に現在レンダリングされているウェブページ、及びドキュメントをレンダリングするために使用されるその他任意のデータ(メタデータ)(例えば、実際には表示されないマークアップ及びスクリプト)を指す。
【0011】
UI100は、アドレスバー領域110も含み得る。ブラウザコンテンツウィンドウ120に表示されるウェブページのアドレスは、アドレスバー領域110(例えば、アドレス入力領域115)に表示することができる。ウェブページのアドレスはリソースアドレスとして表すことができる。アドレスバー領域110に含まれるリソースアドレスは、ブラウザコンテンツウィンドウ120に表示されるウェブページに関連付けることができる。いくつかの例では、アドレスバー領域110は、リソースアドレスの少なくとも一部を表示できる。その他のコントロール、アイコンなどは、アドレスバー領域110に含めることができる。例えば、アドレスバー領域110には、ユーザアイコン125(
図1Bに図示)を含めることができる。ユーザアイコン125は、ブラウザセッションに関連付けられたユーザアカウントの表示を提供する場合がある。このユーザアイコン125は、ユーザアカウントを表す画像、テキスト、またはその他の表現とすることができる。いくつかの例では、ユーザアカウントはユーザに関連付けられ、ユーザは、ユーザアカウントに関連付けられたブラウザセッションに参加するために、一意のユーザ名、ならびにユーザ名に関連付けられたパスコードを入力することが求められる場合がある。いくつかの例では、ブラウザセッションに参加するためにログインは必要なく、ユーザアカウントはブラウザアプリケーションが実行されているローカルコンピューティングデバイスに関連付けられていると考えることができる。アドレスバー領域110に含まれるその他のコントロール/アイコンには、進むコントロール、戻るコントロール、更新コントロール、ホームコントロール、拡張機能コントロール、及び/またはブックマークコントロールが含まれ得る。アドレスバー領域110は、ブラウザ(例えば、ブラウザアプリケーション718)によって制御され、及び/またはブラウザに関連付けることができる。アドレスバー領域110のコンテンツはブラウザアプリケーションによって制御できるが、ブラウザコンテンツウィンドウ120のコンテンツは、表示されているウェブページ及び/またはウェブページのプロバイダーによって制御される。したがって、アドレスバー領域110に表示される外観及びユーザインターフェイス要素は、ブラウザアプリケーションによって制御される。
【0012】
UI100には、注釈領域130として示される注釈ユーザインターフェイスが含まれる。
図1Aの例では、注釈(またはメモ)領域130はブラウザのサイドバー内に配置されているか、またはサイドバーとして実装されている。ブラウザのサイドバーは、連続した領域、例えば、アドレスバー領域110と注釈領域130を表す結合領域であり得る。したがって、サイドバーに表示される(レンダリングされる)コンテンツは、ブラウザコンテンツウィンドウ120に表示される(レンダリングされる)ウェブサイトをホストするサーバによってではなく、ブラウザによってローカルに制御(決定)される。サイドバーは、アドレスバー領域110と連続した領域として示されているが、分割ウィンドウ、ポップアップウィンドウ、またはブラウザUI100のその他いくつかの部分になることもある。注釈領域130に入力された注釈は、ブラウザが実行されているコンピューティングデバイスにローカルに記憶することも、またはユーザアカウントに関連付けてリモートに記憶することもできる。注釈領域130に入力された注釈は、ウェブサイトをホストするサーバからはアクセスできない場合がある。注釈の通知は、ウェブサイトをホストしているサーバに送信されない。言い換えれば、注釈は、ウェブサイトに関連付けられているサーバに通知したり、サーバとやり取りしたりすることなく、ウェブサイトにローカルに関連付けられる。注釈をコンピューティングデバイスにローカルに記憶したり、及び/またはユーザアカウントに関連付けてリモートに記憶したりすることで、ユーザは、ウェブサイトをホストしているサーバ及び/またはウェブサイトの管理者が知ることなしに、注釈をセキュアに生成して記憶させることができる。
【0013】
注釈及び/またはメモには、ユーザが注釈領域130に入力したコンテンツを含めることができる。いくつかの例では、注釈には、ユーザが注釈領域130に入力したテキストを含めることができる。いくつかの例では、注釈には、レンダリングされたウェブページに含まれるテキストの一部の外観及び/またはフォーマット設定の変更を含めることができる。テキストの一部の外観及び/またはフォーマット設定の変更には、強調表示または書体の変更を含めることができる。いくつかの例では、注釈に他のウェブページのリソースアドレス(URLなど)を含めることができる。いくつかの例では、注釈にはユーザがアップロードしたファイルを含めることができる。
【0014】
注釈領域130は、ブラウザユーザインターフェイス100(例えば、アドレスバー領域110)の一部として統合できるため、注釈領域130は、例えば第三者またはブラウザコンテンツウィンドウ120に表示されるコンテンツの所有者によって偽装(模倣)され得ない。注釈領域130はブラウザアプリケーションのアプリケーションの一部であるため、注釈領域130の統合を模倣することは困難である。いくつかの実施態様では、注釈領域130は、メニューオプション(例えば、メニューオプション122)に応じて表示(呼び出し、レンダリング)される場合がある。メニューオプション122は、タブメニューを表示するコマンド(例えば、タブ105を右クリック)に応じて表示されるメニューに提供されるオプションであり得る。
【0015】
図1Aの例では、タブ105には現在メモがない。したがって、注釈領域130には、新しいメモUI要素132が含まれる。新しいメモUI要素132は、ユーザがテキストを入力できる任意のUI要素(例えば、キーボード、音声テキスト変換、スタイラスなど)にすることができる。注釈領域130には、メモが関連付けられているタブ/ウェブサイトの表示が含まれ得る。注釈領域130には、ブラウザコンテンツウィンドウ120に現在表示されているウェブページに関連付けられる注釈(メモ)を追加するためのコントロールが含まれ得る。コントロールは、ユーザによって作動されたときに、事前に決められたタスク/操作を実行するように構成されている。コントロールには、テキストベースのメモを追加するためのテキストコントロール133を含めることができる。テキストコントロール133は、UI要素132などの新しいメモUI要素を開くことができる。コントロールには、すること(to-do)コントロール134を含めることができる。コントロールには、画像コントロール135を含めることができる。画像コントロール135によって、ユーザはメモとして追加する画像をアップロード、撮影、及び/または検索することができる。コントロールにはリンクコントロール136を含めることができる。リンクコントロール136によって、ユーザは別のインターネットベースのドキュメントへのリンク(URLなどのアドレス)を追加できる。コントロールには、自動提案コントロール137を含めることができる。自動提案コントロール137は、ブラウザアプリケーションに注釈ターゲット(例えば、ブラウザコンテンツウィンドウ120の表示されているコンテンツと表示されていないコンテンツの両方)を分析させ、注釈ターゲットのメモに含める情報項目の1つ以上の提案を提供させることができる。自動提案の例を
図4A~4Fに示す。
【0016】
いくつかの実施態様では、注釈領域130は、
図1Bに示すように表示され得る。
図1Bでは、メニューオプション123に応じて注釈領域130が表示されている。メニューオプション123は、選択されたテキストメニューを表示するコマンドに応答して表示されるメニュー内に提供され得る。したがって、例えば、ユーザはブラウザコンテンツウィンドウ120に表示されているコンテンツを選択することができ、選択範囲内で右クリックしてメニューオプション123を含むメニューを表示することができる。
図1B、2A、2B、3A、及び3Bでは、背景が網掛けされたテキストが強調表示されていると考えられ、これはテキストの変更の例である。強調表示されたテキストは、ユーザがマウスを右クリックするか、他の方法ではヒューマンインターフェイスデバイス(HID)に入力してメニューオプション123を含むメニューを表示した際にユーザが選択したコンテンツと見なすことができる。メニューオプション123を選択すると、
図1Bの注釈領域130がブラウザアプリケーションによって、例えばブラウザアプリケーションのレンダリングプロセスによって、レンダリングされ得る。
図1Bの例では、注釈ターゲットにはすでに1つの既存のメモ(ウェブページに関連付けられた第1の注釈と見なすことができる)があるため、注釈領域130にはメモ138(ウェブページに関連付けられた第2の注釈と見なすことができる)が含まれる。加えて、メニューオプション123の選択に応じて、追加の新しいメモUI要素132が注釈領域130に含まれる。
図1Bに示す注釈領域130を表示する技術は、
図1Aに示す注釈領域130を表示する技術と組み合わせることができる。言い換えれば、ブラウザはどちらか一方または両方の技術を使用するように構成できる。
【0017】
図1Cに示す例のようないくつかの実施態様では、注釈領域130には、タブストリップ108を展開するように構成されたコントロール139を含めることができる。拡張されたタブストリップ108’は、各タブのプレビュー領域140を表示することができる。各タブは、異なる注釈ターゲット、つまり、ウェブページ及び/またはウェブサイトなどのリソース(第1のリソース、第2のリソース、及び第3のリソースなど)に関連付けることができる。プレビュー領域140には、タブに関連付けられた注釈ターゲットの任意の既存のメモを含めることができるが、コントロール(例えば、コントロール133~137)が欠けている場合がある。したがって、プレビュー領域140は、タブの注釈領域130の縮小版である。プレビュー領域140には、複数のレンダリングされたウェブページの一部とそれに関連付けられた注釈、例えば、第1のレンダリングされたウェブページの一部と第1のレンダリングされたウェブページに関連付けられた第1の注釈、第2のレンダリングされたウェブページの一部と第2のレンダリングされたウェブページに関連付けられた第2の注釈、及び第3のレンダリングされたウェブページの一部と第3のレンダリングされたウェブページに関連付けられた第3の注釈などを表示することができる。したがって、拡張されたタブストリップ108’は、例えば、URL、ウェブページ及び/またはウェブサイト、タブ、タブグループ間など、様々な注釈ターゲットに関連付けられたメモを迅速かつ便利に比較するための斬新な方法を提供する。拡張されたタブストリップ108’により、ブラウザコンテンツウィンドウ120の領域が縮小され、以前は表示可能だった一部のコンテンツが画面外になったり、及び/またはブラウザで見えないかまたは非表示になったりする場合がある。
図1Cに示すプレビュー領域140を表示する技術は、
図1A及び
図1Bに示す注釈領域130を表示する技術と組み合わせることができる。言い換えれば、ブラウザは1つ、2つ、または3つすべての技術を使用するように構成できる。
【0018】
いくつかの例(図示しない)では、ブラウザは、タブの上にカーソルをホバリングしたり、またはタブの上で指をスライドさせるなど、ユーザがタブの事前選択動作を実行したことに応答して、タブのプレビュー領域140を表示できる。ブラウザは、タブをクリックまたはタップするなど、ユーザがタブに対して第2のタイプの選択を行ったことに応答して、そのタブに関連付けられたウェブページを表示できる。いくつかの実施態様では、プレビュー領域140には、選択された場合にブラウザがリソースアドレス(例えば、URL)に関連付けられたウェブページを表示し、注釈領域130を同時に表示するように構成された、選択可能なコントロールを含めることができる。
【0019】
図1Dに示す例のようないくつかの実施態様では、注釈領域(例えば、注釈領域130)は、メニューオプション124に応じて表示され得る。メニューオプション124は、例えば
図1Dに示すように、ブラウザメニューを表示するコントロールの選択に応じて表示されるメニュー内に提供され得る。
図1Dには示されていないが、メニューオプション124を選択すると、
図1Aまたは1Bの注釈領域130がレンダリングされるようにできる(注釈ターゲット(例えば、現在のタブ)のソースドキュメントに既存のメモ(例えば、1B)があるか、またはないか(例えば、1A)どうかによって異なる)。
図1Dに示す注釈領域130を表示する技術は、
図1A~1Cで説明した技術と組み合わせることができる。言い換えれば、ブラウザは1つ、2つ、3つ、または4つすべての技術を使用するように構成できる。
【0020】
いくつかの実施態様では、注釈領域130は、
図2Aに示すように表示され得る。
図2Aの例では、コントロール126はブラウザアプリケーションによって提供される。いくつかの実施態様では、コントロール126はアドレスバー領域110に提供され得る。いくつかの実施態様(図示しない)では、コントロール126は、アドレス入力領域115の前に配置され得る。いくつかの実施態様では、コントロール126はアドレス入力領域115に配置され得る。いくつかの実施態様(図示しない)では、コントロール126は、アドレス入力領域115の後に配置され得る。コントロール126は、注釈ターゲット(例えば、ブラウザコンテンツウィンドウ120に現在表示されているドキュメント)が関連付けられたメモ(例えば、注釈)を有するときに提供され得る。いくつかの実施態様では、コントロール126は、注釈ターゲットに関連付けられたメモ及び/または注釈があるかどうかに関係なく提供され得る。いくつかの実施態様では、注釈ターゲットに関連付けられたメモ及び/または注釈があるかどうかに応じて、コントロール126の外観が変わり得る。例えば、コントロール126のテキスト、色、シェーディング、またはコントロール126に含まれるアイコンは、注釈ターゲットに関連付けられたメモ及び/または注釈があるかどうかによって異なり得る。いくつかの実施態様では、テキストは注釈ターゲットの既存のメモ及び/または注釈の数(数量)を示すことができる。
図2Aに示す例では、網掛けされた背景は、注釈ターゲットのメモ及び/または注釈に関連付けられたテキスト部分のテキストの強調表示を表している。
【0021】
ユーザがコントロール126をタップ及び/またはクリックするなどしてコントロール126を作動させる(選択する)と、ブラウザは、
図2Bに示すように、注釈ターゲットに関するメモを含む注釈領域130をレンダリングすることができる。既存のメモ及び/または注釈(例えば、238a、238bなど)は、注釈ターゲットに関連付けられたソースドキュメント内をナビゲートするように実行可能に構成され得る。例えば、ユーザが既存のメモ238b及び/または注釈を作動させる(選択する、クリックする)と、ブラウザはソースドキュメントを既存のメモ238b及び/または注釈に関連付けられた位置までスクロールすることができる。
図2Bのインターフェイスは、メモ及び/または注釈のコンテンツが完全な強調表示及び/または部分的な強調表示を持つ可能性があることも示している。例えば、選択されたメモ238a及び/または注釈に対応するコンテンツは、完全な強調表示(背景が網掛けで表示)がされるが、他のメモ及び/または注釈に関連付けられたテキストは、部分的な強調表示がされる(
図2Bでは網掛けは表示されない)。ユーザがメモ238bを選択した場合、ブラウザはメモ238bに関連付けられたコンテンツを完全に強調表示し(背景は網掛けで表示される)、メモ238aに関連付けられたコンテンツ(ブラウザコンテンツウィンドウ120にまだ表示されている場合)を部分的な強調表示に変更することができる。
【0022】
図3A及び
図3Bは、モバイルデバイス、タブレット、ウェアラブルなどの表示領域が制限されたデバイスにおける例示的なプレビュー領域340を示している。プレビュー領域340は、
図1Cのプレビュー領域140と同様である。したがって、プレビュー領域340には、ソースドキュメントに関連付けられた第1のメモ及び/または注釈が表示されるが、
図3Bに示すように、注釈領域330に拡張される場合もある。注釈領域330は、
図1A~2Bの注釈領域130と類似しており、及び/または同様の特徴及び/または機能を備えている。
【0023】
図4A~4Fは、いくつかの態様による、提案された注釈コンテンツを備えた例示的なブラウザ注釈インターフェイスを示す。
図4Aの例では、ユーザは、今はブラウザコンテンツウィンドウ120に少なくとも部分的に表示されているウェブページにナビゲートし、注釈領域130を開いている。いくつかの実施態様では、注釈領域130には注釈ターゲットの説明431を含めることができ、この場合は、ブラウザコンテンツウィンドウ120に表示されているウェブページのタイトルである。いくつかの実施態様では、タイトルは、注釈の注釈レコード(例えば、
図7のローカルメモストレージ726に記憶された注釈レコード)とともにデータ要素として記憶される。
図4Aの例では、ユーザが自動提案コントロール137を作動させている。自動提案コントロール137が作動すると、注釈領域130は、提案されたテキストベースのコンテンツ要素432で更新される。提案されたテキストベースのコンテンツ要素432は、注釈ターゲットのコンテンツから選択されたコンテンツ要素である。自動提案は、注釈ターゲットのスキーママークアップに基づいて行うことができる。自動提案は履歴検索記録に基づいて行われる。自動提案は、注釈ターゲットのドキュメント構造に基づいて行うことができる。ユーザは、提案されたテキストベースのコンテンツ要素432の1つ以上を選択できる。
図4Bの例では、ユーザが選択した4つの提案されたテキストベースのコンテンツ要素432のドットの背景で示されているように、ユーザは提案されたテキストベースのコンテンツ要素432のうちの4つを選択している。ドットの背景は、提案されたテキストベースのコンテンツ要素432の色の変化または強調表示を表すことができる。
図4Bは、4つの提案されたテキストベースのコンテンツ要素432の選択に応じて追加された4つのメモ433を示している。
【0024】
図4Cの例では、ユーザは注釈ターゲットの別の部分までスクロールし、テキスト421の外観を変更した。この例では、テキスト421の外観の変更には、テキスト421の強調表示が含まれる。自動提案コントロール137を選択すると、選択された強調表示されたテキスト421と画像422を含む自動提案された要素434が表示され得る。ユーザが自動提案された要素434の提案されたテキストを選択することに応じて、
図4Dは、ブラウザアプリケーションが注釈領域130に新しいメモ435及び/または注釈を追加したことを示している。この新しいメモ435には、メモ433及び/または注釈と同じ注釈ターゲットがある。図には示されていないが、メモ433及び/または注釈のうちの1つを選択すると、注釈ターゲットがスクロールし、その結果、メモ433及び/または注釈のうちの選択されたメモ及び/または注釈に対応するコンテンツが、例えば
図4Eに示すように、ブラウザコンテンツウィンドウ120に表示される。
【0025】
図4Eの例では、自動提案コントロール137を選択すると、提案された画像要素436が注釈ターゲットの注釈に追加され得る(例えば、ブラウザコンテンツウィンドウ120に表示される)。ユーザは画像のうちの1つ以上を選択することができ、
図4Fに示すように、それらの画像を画像メモ437及び/または画像注釈として注釈ターゲットの注釈に追加することができる。いくつかの実施態様では、提案されたテキストベースのコンテンツ要素432と自動提案された要素434は選択可能な要素である。これらの選択可能な要素は、選択に応じて、上記のように、提案された注釈コンテンツを注釈として追加するように構成できる。
【0026】
図5A~5Dは、いくつかの態様による、グループ化された注釈コンテンツを備えた例示的なブラウザ注釈インターフェイスを示す。
図5Aの例では、ユーザは2つのタブ105(例えば、105aと105b)を開いている。ユーザは注釈領域130を開いており、注釈領域130に含まれる注釈ターゲットの説明531からわかるように、タブ105bに対応するウェブサイトの注釈ターゲットに関する2つのメモが表示されている。ユーザはタブ105aを選択することができ、これによりブラウザアプリケーションに
図5Bのインターフェイスが表示される。ブラウザは、タブ105aの選択に応答して、選択されたタブ105aに関連付けられたリソースアドレス(例えば、URL)に対応する注釈ターゲットの注釈を注釈領域130に表示する。注釈ターゲットはタブ105aに関連付けられたウェブサイトに対応するようになり、注釈領域130は説明531を変更することでこの変更を示す。
図5Bの例では、現在の注釈ターゲットには既存の注釈及び/またはメモはないが、
図5Bの破線矢印で示されているように、ユーザは画像521を新しいメモUI要素132にドラッグすることによって、ウェブページに含まれる画像である注釈及び/またはメモを作成できる。新しいメモUI132は、テキストベースのUI要素(例えば、テキストを受信するように構成されている)であることに加えて、ドロップ位置として構成することができる。したがって、画像、コピーされたテキスト、またはその他いくつかのコンテンツなどのコンテンツが、注釈領域130に含まれる新しいメモUI要素132上(全体または一部)にドラッグされて離されると、ブラウザアプリケーションは、コンテンツのドラッグ及び/またはドロップを、注釈ターゲット(例えば、説明531に対応する注釈ターゲット)の新しい注釈及び/またはメモとしてコンテンツを記憶する要求と見なすことができる。
図5Cは、この要求の結果を示しており、例えば、ブラウザアプリケーションは、注釈ターゲットの注釈として新しい画像を追加している。注釈が画像の場合、その画像はユーザのデバイスにダウンロードされ、ネットワーク接続がなくてもユーザがメモにアクセスできるようになる。
【0027】
いくつかの実施態様では、
図5Dに示すように、ユーザは、2つのタブ105aと105bをタブグループ505にグループ化することによってタブグループを作成することができる。ユーザはタブグループ505に「登山」の説明を付けた可能性がある。タブグループも注釈ターゲットになり得る。いくつかの実施態様では、タブグループ505の作成により、ブラウザアプリケーションは、タブグループに含まれる注釈ターゲットの既存の注釈をグループ化し、注釈ターゲットとしてタブグループにも関連付けることもできる。これは直接的に実行することも(例えば、注釈データをタブグループの識別子に関連付けるインデックスエントリを追加する)、間接的に実行することもできる(例えば、ウェブページをタブグループに関連付けるインデックスエントリを追加する)。注釈領域130は、新しい関連付けを反映するように更新されてもよく、例えば、注釈領域130の説明531がタブグループ505の説明に変更され得る。注釈ターゲットのグループを表す注釈ターゲットには、注釈ターゲットの数(この例では2つのタブ)、及び/または、注釈ターゲットのグループのメモ及び/または注釈の数などの追加情報を含めることができる。いくつかの実施態様では、注釈領域130はグループコントロール535を追加ことができ、これにより、ユーザはコントロール535の作動に応じてグループ内の注釈ターゲットの間で選択できるようになる。複数の注釈ターゲット(例えば、タブグループ505)を表す注釈ターゲットの注釈領域130には、注釈ターゲットのうちの1つ以上に関連付けられた注釈を表示できる。
図5Dの例では、タブ105aとタブ105bの注釈データの両方が注釈領域130に表示(レンダリング)されている。
【0028】
図6は、いくつかの態様による、注釈レンダリングの例示的な変形を示す。これらの例示的な変形は、前述の図のいずれかの注釈領域130に表示される任意のメモ(注釈)に適用できる。網掛けされた背景は、強調表示された領域及び/またはテキストの強調表示を表す。例示的な注釈602にはテキストが含まれるが、タイトルは含まれない。例示的な注釈604には、タイトル(「メモのタイトル」)とテキストが含まれる。例示的な注釈606には、注釈606がユーザによって入力された日時(タイムスタンプ)とテキストが含まれる。例示的な注釈608には、強調表示されたテキスト(「強調表示ヒントテキスト」)及び追加テキストなど、外観が変更されたテキストが含まれる。例示的な注釈610には、強調表示されたテキスト(「強調表示ヒントテキスト」)、タイトル、及び追加テキストなど、外観が変更されたテキストが含まれる。例示的な注釈612には、強調表示されたテキスト(「強調表示ヒントテキスト」)、タイトル、日時(タイムスタンプ)及び追加テキストなど、外観が変更されたテキストが含まれる。例示的な注釈614にはタイトルが含まれる。例示的な注釈616にはタイトルとテキストが含まれる。例示的な注釈618には、日時(タイムスタンプ)及びテキストが含まれる。例示的な注釈620にはタイトルが含まれており、強調表示されたテキストなど外観が変更されたテキストが含まれる。例示的な注釈622にはタイトル、変更されていないテキスト、及び強調表示されたテキストなど外観が変更されたテキストが含まれる。例示的な注釈624には、日時(タイムスタンプ)、テキスト、及び強調表示されたテキストなど外観が変更されたテキストが含まれる。
【0029】
図7は、一態様による、ブラウザ注釈インターフェイスを提供するためのシステム700を示す。ブラウザ注釈インターフェイスは、ブラウザユーザインターフェイス100及び/または注釈領域130を含み得る。
【0030】
システム700はコンピューティングシステム702を含み得る。コンピューティングシステム702には、スマートフォン、タブレット、モバイルコンピューティングシステム、ラップトップまたはノートブックコンピュータ、またはデスクトップコンピュータなどのローカルコンピューティングデバイス及び/またはクライアントデバイスを含めることができるが、これらに限定されるわけではない。
【0031】
コンピューティングシステム702はメモリ704を含み得る。メモリ704には、命令を含む非一時的なコンピュータ可読記憶媒体を含めることができ、命令は、非一時的なコンピュータ可読記憶媒体に記憶され、少なくとも1つのプロセッサ(コンピューティングシステム702に含まれるCPU/GPU732など)によって実行されると、コンピューティングシステム702に本明細書で説明する方法、機能、及び/または技術の任意の組み合わせを実行させるように構成されている。
【0032】
メモリ704には、オペレーティングシステム(O/S)710を実行するための命令を含めることができる。オペレーティングシステム710は、メモリ704、出力デバイス(複数可)724、入力デバイス(複数可)730、CPU/GPU732、及び/またはカメラ(複数可)734など、コンピューティングシステム702の様々なコンポーネントにどのアプリケーションがアクセスするかを制御できる。
【0033】
オペレーティングシステム710は、ブラウザアプリケーション718などの複数のアプリケーション(複数可)712をコンピューティングシステム702上で実行できるようにする。ブラウザアプリケーション718は、本明細書で説明する方法、機能、及び/または技術の任意の組み合わせを実行できる。各アプリケーション712について、オペレーティングシステム710は、アプリケーション情報715及び/またはアプリケーション層を維持及び/または記憶することができ、これにより、アプリケーション712は、コンピューティングシステム702上で実行されている他のアプリケーションと通信できるようになる。各アプリケーション712について、オペレーティングシステム710はセッションデータ717を維持及び/または記憶することができ、これにより、アプリケーションプロセス間のセッションの開始、終了、及び管理が可能になる。
【0034】
メモリ704は、ローカルメモストレージ726を含み得る。ローカルメモストレージ726には、上記で説明し、前の図に示した注釈などのメモ及び/または注釈を記憶できる。ローカルメモストレージ726は、注釈レコードにメモ及び/または注釈を記憶できる。いくつかの実施態様では、注釈レコードにユーザ識別子を含めることができる。いくつかの実施態様では、注釈レコードが記憶される位置(ディレクトリ)は、特定のユーザとの関連付けを反映する。各注釈レコードには、メタデータ部分、ボディ部分、及びターゲット部分を含めることができる。注釈レコードのメタデータ部分には、識別子、作成日、変更日などを含めることができる。識別子により、ブラウザは各注釈レコードを一意に識別できる。IDはユーザごとに一意とすることができる。IDはクライアントデバイスごとに一意とすることができる。いくつかの実施態様では、注釈レコードの本体に、注釈のタイプを示すメモタイプを含めることができる。いくつかの実施態様では、注釈レコードのメタデータ部分にメモタイプを含めることができる。メモタイプは、注釈のタイプ、例えばテキスト、画像、リッチテキスト、手書き、音声、ビデオ、位置、地理位置情報、及び/またはファイルなどのメタデータを識別することができる。ターゲット部分には、注釈ターゲット識別子が含まれる。注釈ターゲット識別子は、注釈が適用されるリソース(例えば、ウェブページ、ウェブサイト、ドキュメント、ファイル、タブグループなど)を識別する。注釈ターゲット識別子は、URLなどのリソースアドレスにすることができる。注釈ターゲット識別子は、タブグループの識別子などのグループ識別子にすることができる。注釈レコードのボディ部分にはテキストを含めることができる。いくつかの例では、注釈レコードのボディ部分には、外部の情報源及び/またはデータ源にリンクしたり、及び/または外部の情報源及び/またはデータ源を識別したりするURLなどのアドレスを含めることができる。テキストは、ユーザが注釈として選択/提供したテキストを表す。注釈レコードのボディ部分には画像識別子を含めることができる。注釈ターゲットの特定の要素(例えば特定のテキスト、特定の画像など)に紐付けられた注釈の場合、注釈レコードのメタデータ部分に注釈ターゲット要素を含めることができる。いくつかの例では、注釈ターゲット要素を注釈レコードに含めることができる。注釈ターゲット要素は、注釈ターゲット内の特定のコンテンツを識別するセレクタ(例えばCSSセレクタ)にすることができる。いくつかの例では、注釈ターゲット要素に、ウェブページに含まれるテキストの一部を含めることができる。いくつかの例では、注釈ターゲットはファイル(画像など)を識別でき、及び/または、注釈ターゲットの識別子には、ファイルに関連付けられたファイル名及び/またはハッシュ値を含めることができる。ハッシュ値は、Message Digest 5(MD5)またはSecure Hash Algorithm(SHA)などの任意のハッシュアルゴリズムに基づいて決定できる。
【0035】
ローカルメモストレージ726は、アドレス及び/またはグループに関連付けてメモ及び/または注釈を記憶できるほか、メモ及び/または注釈を作成したユーザに関連付けられたユーザアカウントなどのユーザアカウントに関連付けて記憶することもできる。いくつかの例では、メモ及び/または注釈が、ユーザがアクセス可能なローカルディレクトリなど、ユーザに関連付けられたディレクトリに記憶されている場合、メモ及び/または注釈はユーザアカウントに関連付けられて記憶されていると見なすことができる。メモ及び/または注釈は、ブラウザアプリケーションが実行されているコンピューティングシステム702のメモリ704にローカルに記憶できる。メモ及び/または注釈は、コンピューティングシステムの電源をオフにして再びオンにした後もアクセス可能な不揮発性メモリなどの長期ストレージにローカルに記憶できる。いくつかの例では、レンダリングされたウェブページは長期メモリに記憶されず、レンダリングされたウェブページがサービス(複数可)/ウェブサイト(複数可)770から再度取得され、ブラウザアプリケーション718でレンダリングされるときに、メモ及び/または注釈を取得して表示することができる。メモ及び/または注釈をローカルに記憶すると、メモ及び/または注釈に関連付けられたウェブサイトをホストするサーバがメモ及び/または注釈を認識することができなくなる。
【0036】
メモリ704はプリファレンス728を記憶できる。プリファレンス728は、ユーザから受信することができ、ウェブブラウザの外観、お気に入りのサイトもしくはブックマーク、及び/または起動する最初のアプリケーションを含むことができるが、これらに限定されるわけではない。
【0037】
コンピューティングシステム702は、1つ以上のカメラ(複数可)734を含み得る。カメラ(複数可)734は、テレビ会議用のユーザの画像などの画像をキャプチャできる。
【0038】
コンピューティングシステム702は、中央処理装置(CPU)及び/またはグラフィックス処理装置(GPU)732などの少なくとも1つのプロセッサを含み得る。CPU/GPUは、メモリ704に記憶された命令などの命令を実行して、本明細書で説明する方法、機能、及び/または技術の任意の組み合わせを実行できる。
【0039】
コンピューティングシステム702は、1つ以上の入力デバイス(複数可)730を含み得る。入力デバイス(複数可)には、キーボード、マウス、マイク、またはタッチスクリーンなどのヒューマンインターフェイスデバイスが含まれ得るが、これらに限定されるわけではない。
【0040】
コンピューティングシステム702は、1つ以上の出力デバイス(複数可)724を含み得る。出力デバイス(複数可)には、ディスプレイ、スピーカ、またはプリンタなどの出力デバイスが含まれ得るが、これらに限定されるわけではない。
【0041】
入力デバイス(複数可)730及び/または出力デバイス(複数可)724は、他のコンピューティングデバイスと通信するためのインターフェイスも含み得る。他のコンピューティングデバイスと通信するためのインターフェイス(複数可)は、サーバとの間でデータを受信及び/または送信することができ、及び/またはユーザからの入力を受信して出力をユーザに提供することもできる。インターフェイス(複数可)の入力機能と出力機能は、単一のノードに結合することも、または別々の入力ノードと出力ノードに分割することもできる。入出力ノードには、他のコンピューティングデバイスと通信するための1つ以上の有線または無線インターフェイスを含めることができる。
【0042】
システム700は、サーバコンピューティングシステム750を含み得る。サーバコンピューティングシステム750は、ユーザアカウント760を記憶及び/または維持できる。サーバコンピューティングシステム750によって記憶及び/または維持されるユーザアカウント760は、ユーザに関連付けられ、及び/またはユーザが所有することができ、電子メールアドレスなどの一意の識別子に関連付けることができる。サーバコンピューティングシステム750は、メモ756及び/または注釈を各ユーザアカウントに関連付けて記憶できる。メモ756及び/または注釈は、上記の機能を持つことができ、ユーザアカウント760及びURLなどの注釈ターゲットと関連付けて記憶できる。サーバコンピューティングシステム750は、サーバ(複数可)/ウェブサイト(複数可)770など、注釈ターゲットに関連付けられたリソースをホスト及び/または維持するサーバが、メモ756及び/または注釈にアクセスするのを防ぐことができる。
【0043】
サーバコンピューティングシステム750は、セッションデータ762をユーザアカウント760と関連付けて記憶することができ、これにより、ユーザがユーザのユーザアカウント760を使用してログインしている間のセッションの開始、終了、及び管理が可能になる。サーバコンピューティングシステム750は、閲覧パターン、ブックマーク、及び/または外観に関するプリファレンスを含むプロファイル766を、ユーザアカウント760と関連付けて記憶できる。
【0044】
サーバコンピューティングシステム750には、少なくとも1つのプロセッサ(複数可)752を含めることができる。少なくとも1つのプロセッサ(複数可)752は、少なくとも1つのメモリデバイス(複数可)754に記憶されている命令などの命令を実行し、サーバコンピューティングシステム750に、本明細書で説明する方法、機能、及び/または技術の任意の組み合わせを実行させることができる。
【0045】
サーバコンピューティングシステム750には、少なくとも1つのメモリデバイス(複数可)754を含めることができる。少なくとも1つのメモリデバイス(複数可)754には、非一時的なコンピュータ可読記憶媒体を含めることができる。少なくとも1つのメモリデバイス(複数可)754には、プロセッサ(複数可)752などの少なくとも1つのプロセッサによって実行されると、サーバコンピューティングシステム750に、本明細書で説明する方法、機能、及び/または技術の任意の組み合わせを実行させるように構成された、データ及び命令を記憶できる。したがって、本明細書で説明するいずれの実施態様においても(特定の実施態様に関連して明示的に言及されていない場合でも)、サーバコンピューティングシステム750に関連付けられている、またはサーバコンピューティングシステム750に含まれるソフトウェア(例えば、処理モジュール、記憶された命令)及び/またはハードウェア(例えば、プロセッサ、メモリデバイスなど)は、本明細書で説明する方法、機能、及び/または技術の任意の組み合わせを、単独で、またはコンピューティングシステム702と組み合わせて実行するように構成できる。
【0046】
システム700には、サービス(複数可)/ウェブサイト(複数可)770を含めることができる。サービス(複数可)/ウェブサイト770は、1つ以上のリモートサーバによって維持及び/またはホストできる。サービス(複数可)/ウェブサイト770は、リソースアドレス(例えば、URL)によってアドレス指定され、及び/またはリソースアドレス(例えば、URL)によってアドレス指定されたファイルを記憶できる。コンピューティングシステム702、サーバコンピューティングシステム750、及び/またはサービス(複数可)/ウェブサイト770は、インターネットなどのネットワーク740を介して相互に通信できる。
【0047】
図8は、一態様による、ブラウザ注釈インターフェイスを提供するためのシステムを実装するブラウザアプリケーション、例えば
図7のブラウザアプリケーション718用のコンポーネントのブロック図である。ブラウザアプリケーション718には、ブラウザプロセス850のプラットフォーム固有のコンポーネントである注釈UIコーディネータ805が含まれる。言い換えれば、注釈UIコーディネータ805は、特定のオペレーティングシステム及びデバイスタイプ用に構成されている。注釈UIコーディネータ805は、メモ作成UI810とメモレンダリングUI815という2つの主要コンポーネントを有し得る。メモ作成UI810には、新しいメモ及び/または注釈837を追加し、新しいメモ及び/または注釈837を注釈ターゲット836(例えば、ソースドキュメントまたはタブグループ)に関連付けるように構成されたコンポーネントが含まれる。例示的なメモ作成UI810のコンポーネントには、
図1Aの132~137、及び/または
図4A~4Fの提案された要素432、434、436などが含まれる。メモレンダリングUI815は、メモ及び/または注釈837が表示される注釈領域(例えば、注釈領域130)及び/またはプレビュー領域(例えば、プレビュー領域140)をレンダリングするように構成されている。いくつかの実施態様では、注釈UIコーディネータ805には、メモ共有コーディネータ820も含めることができる。注釈UIコーディネータ805は、注釈レンダラコーディネータ835と通信し、例えば、注釈837の識別子を注釈レンダラコーディネータ835に送信することができる。注釈UIコーディネータ805から注釈837の識別子を受信すると、注釈レンダラコーディネータ835は、注釈識別子に関連付けられた注釈ソースのコンテンツを識別し、注釈ターゲット836のその部分をブラウザコンテンツウィンドウ120に表示(レンダリング)することができる。いくつかの実施態様では、メッセージは注釈ブラウザコーディネータ825を介して渡され得る。
【0048】
ブラウザアプリケーション718には、注釈ブラウザコーディネータ825を含めることができる。注釈ブラウザコーディネータ825は、アプリケーションのビジネスロジックを含むブラウザプロセス850のクロスプラットフォームコンポーネント(つまり、オペレーティングシステムに依存しないコンポーネント)である。注釈ブラウザコーディネータ825はまた、注釈データをプライベートストレージ(例えば、ブラウザアプリケーション718が実行されているコンピューティングデバイスのローカル)に維持する。いくつかの例では、注釈データ自体はレンダラプロセス855から除外されている場合がある。言い換えれば、注釈データは、レンダラプロセス855とは異なるレンダリングプロセスでレンダリングされ、注釈データは注釈レンダラコーディネータ835または別のレンダラプロセスには提供されない。このようにレンダリングプロセスを分離することで、セキュリティが確保され、プライバシーが保証される。例えば、レンダラプロセス855(例えば、注釈レンダラコーディネータ835)は、注釈のIDと注釈ターゲット836に関する情報(例えば、何を完全に強調表示するか、何を部分的に強調表示するかなど)を受信することができる。これにより、悪用されたレンダラによって注釈自体内の機密のユーザデータが漏洩するリスクが軽減される。いくつかの実施態様では、ユーザが要求すると、注釈837はユーザアカウントと同期されてもよく、例えばその結果、ユーザが複数のコンピューティングデバイスを使用する場合、ユーザがユーザアカウントにログインすると、どのコンピューティングデバイスからでもユーザの注釈データにアクセスできる。ユーザはいつでも同期を停止できる。
【0049】
いくつかの実施態様では、ローカルに記憶された注釈データ(注釈837を表すことができる)は、ウェブ注釈W3C推奨ウェブ注釈データモデルに基づくフォーマットを持つことができる。注釈データは、メタデータ部分、ボディ部分、及びターゲット部分という3つの主要部分で構成され得る。メタデータ部分には、ID、作成日、変更日などの情報が含まれ得る。IDは、注釈UIコーディネータ805、注釈レンダラコーディネータ835、及び注釈ブラウザコーディネータ825間で特定の注釈について通信するために使用できる。注釈837のボディ部分には、注釈837のテキスト、画像、リッチテキスト、リンクなどが含まれる。注釈837のボディ部分はレンダリングプロセスと共有されない。注釈ターゲット836(ターゲット部分)は、注釈837が添付される対象を定義する。注釈ターゲット836は、ウェブページ要素、ウェブページ、タブグループ、トピック(ユーザ定義グループ)などとすることができる。いくつかの実施態様では、注釈ターゲット836としてのウェブページに加えて、注釈ターゲット要素が注釈837に関連付けられる。注釈ターゲット要素はセレクタを介して識別することができる。セレクタは、テキストフラグメントセレクタ及び/またはフラグメントファインダ838にすることができる。セレクタ及び/またはフラグメントファインダ838はCSSセレクタにすることができる。注釈837は変更される可能性のあるウェブページの要素にリンクされ得るため、注釈レンダラコーディネータ835が特定の注釈ターゲット要素を見つけられない可能性がある。いくつかの実施態様では、これらの「孤立した」メモ及び/または注釈は、ウェブページの注釈領域130に引き続き表示され得る。いくつかの実施態様では、このような孤立した注釈は、ターゲット要素が見つからないことを示す追加メッセージとともに表示され得る。ユニフォームリソースロケータ(URL)に関連付けられたウェブページにアクセスできない場合、その注釈ターゲット836の注釈837は、注釈領域130に孤立したメモ及び/または注釈として表示され得る。例えば、メニューオプション124などのメモメニューオプションによって、ユーザは、開いているタブに関連付けられていない注釈ターゲット836のメモ及び/または注釈を選択できるようになる。
【0050】
注釈ブラウザコーディネータ825は、
図9でより詳細に説明されているように、ローカルストレージから現在のページの関連する注釈837を取得できる。注釈ブラウザコーディネータ825は、注釈UIコーディネータ805及び注釈レンダラコーディネータ835と対話して、メモ及び/または注釈を適切に表示できる。注釈ブラウザコーディネータ825は、注釈UIコーディネータ805に送信するタスクと注釈レンダラコーディネータ835に送信するタスクを決定できる。
【0051】
注釈ブラウザコーディネータ825には、プライベートメモコーディネータ830を含めることができる。プライベートメモコーディネータ830は、ローカルストレージ831から注釈データ(メモ及び/または注釈)を保存及び取得するように構成できる。ローカルストレージ831は、ブラウザが実行されているコンピューティングシステム702のメモリ704に含めることができる。プライベートメモコーディネータ830は、メモが紐付けられている注釈ターゲット(例えば、ソースドキュメントまたはタブグループ)に注釈を関連付けることができる。メモコーディネータ830は、注釈データをインデックス化して、例えば注釈ターゲット、タブグループ、トピックなどによって取得できるようにすることができる。また、ユーザがサインインして同期している場合、他のデバイスでアクセスできるように注釈データを同期する832ようにメモコーディネータ830を構成することもできる。
【0052】
注釈ブラウザコーディネータ825には、インラインメモコーディネータ833を含めることができる。インラインメモコーディネータ833は、注釈領域130内ではなく、注釈ターゲット836内及び/またはウェブページ内でメモ及び/または注釈を受信、記憶、取得、及び/または提示できる。
【0053】
注釈ブラウザコーディネータ825には、リモートメモコーディネータ834を含めることができる。リモートメモコーディネータ834は、サーバコンピューティングシステム750のメモ745など、ユーザアカウントに関連付けてリモートで記憶されているメモ及び/または注釈を受信、記憶、取得、及び/または提示することができる。
【0054】
注釈レンダラコーディネータ835は、様々な注釈が添付されているセレクタを検索して強調表示するように構成できる。これを行うために、注釈レンダラコーディネータ835は、ID及びセレクタ情報などの注釈データのサブセットを保持することができる。注釈ブラウザコーディネータ825は、注釈レンダラコーディネータ835と注釈UIコーディネータ805を連携させて動作させ、注釈ID(GUID)を使用して注釈837をそのターゲットセレクタにスムーズにリンクし、操作を同期させることができる。具体的には、注釈UIコーディネータ805は注釈ボディ(すべてのデータを保持)を担当し、注釈レンダラコーディネータ835は注釈ターゲット836(ブラウザコンテンツウィンドウ120にレンダリングされるもの)を担当する。いくつかの実施態様では、注釈837は強調表示されたテキストの隣にレンダリングされない場合がある。いくつかの実施態様では、注釈837は強調表示されたテキストの隣にレンダリングされ得る。いくつかの実施態様では、ユーザがサイドパネル(例えば、注釈領域130)内の注釈837をクリックすると、注釈ブラウザコーディネータ825は、注釈レンダラコーディネータ835に注釈ターゲット836の強調表示を強調させ、注釈ターゲット836の強調表示をスクロールして表示させることができる。しかしながら、ユーザが、軽く強調表示された(部分的に強調表示された)注釈ターゲット836(例えば、ブラウザコンテンツウィンドウ120内)をクリックすると、注釈ブラウザコーディネータ825は、注釈UIコーディネータ805に、サイドパネル(注釈領域130)内の関連する注釈にフォーカスするようにさせることができる。これを実現するには、プロセス間のメッセージに選択した注釈のIDを含め、他のプロセスが適切な注釈をアクティブ化できるようにする。
【0055】
図9は、一態様による、注釈付きのインターネットドキュメントをロードするための例示的な操作を示すタイミング図である。ユーザ900は、アドレス入力領域115にURLなどのリソースアドレスを入力したり、及び/またはブラウザコンテンツウィンドウ120に表示されたハイパーリンクを選択または開いたりして(902)、ウェブページを選択する。ブラウザアプリケーション718は、URL読み込み動作(904)、(906)を実行することによってウェブページの選択に応答する。URL読み込み動作(904)、(906)には、URLによって識別及び/またはアドレス指定されたウェブページに対するHTTP GET要求などの要求を生成し、サービス(複数可)/ウェブサイト(複数可)770を維持するサーバなどのサーバに送信することが含まれ得る。ブラウザアプリケーション718は、レンダラ835と連携して、サーバから受信したウェブページをレンダリングして表示できる。
【0056】
ウェブページの受信及びレンダリングなどのURL読み込み動作(904)、(906)を実行した後、ブラウザアプリケーション718は、URLに関連する、及び/またはURLに関連付けられた注釈837を取得できる(908)。ブラウザアプリケーション718は、例えば、ローカルメモストレージ726、831から、またはユーザ900に関連付けられたユーザアカウントに関連付けてリモートサーバコンピューティングシステムに記憶されているメモ756から、注釈837を取得できる。ブラウザアプリケーション718は、レンダリングされたウェブページの一部を含むことができる現在のページ注釈ターゲット836をレンダラ835に送信できる(910)。
【0057】
ブラウザアプリケーション718は、(908)で取得された注釈837とともに注釈領域130(例えば、サイドパネルまたはオーバーレイ)を表示することができる。例えばウェブページに含まれるテキストの一部を軽く強調表示するなど、注釈837にウェブページ内のテキストの変更が含まれる例(注釈ターゲット836にはURLに関連付けられたウェブページが含まれ得る)では、レンダラ835は注釈ターゲットを軽く強調表示することができる(912)。
【0058】
図10は、一態様による、注釈を使用してナビゲートするための例示的な操作を示すタイミング図である。いくつかの例では、
図10に関して示され説明されている動作は、
図9に関して示され説明されている動作の後に実行できる。
【0059】
ユーザ900は、注釈領域130(例えば、サイドパネルまたはオーバーレイ)上の第1のメモ(例えばメモA)をクリックするなどして選択することができる(1002)。ブラウザアプリケーション718は、注釈領域及び/またはサイドパネルに注釈Aを見えるようにするなど、注釈領域130内の注釈Aにフォーカスすることによって(1004)、メモAの選択に応答することができる。
【0060】
ブラウザアプリケーション718は、レンダラ835に注釈Aを強調表示して注釈Aへスクロールする要求(1006)を送信することによってメモAの選択に応答することもできる。レンダラ835は、注釈ターゲットまでスクロールして強調表示すること(1008)によって、要求(1006)に応答できる。注釈ターゲットには、(912)で強調表示されたウェブページの一部(テキストの第1の部分など)を含めることができ、注釈には、テキストの一部を強調表示することによってテキストの第1の部分を変更することを含めることができる。注釈ターゲットの強調表示(1008)は、ウェブページの変更を含む記憶された注釈に基づいてウェブページ上で動作を実行する例となり得る。
【0061】
ユーザ900はスクロールして、注釈Bと見なすことができる第2の注釈のターゲットをクリックできる(1010)。注釈ターゲットの注釈は、URLに関連付けられたウェブページに含まれるテキストの第2の部分に対する第1の変更であり得る。第1の変更には、テキストの第2の部分を軽く強調表示することが含まれ得る。一例では、注釈ターゲットBの注釈には、テキストの第2の部分の第2の変更を含めることができ、レンダラ835は、注釈Bのターゲットの第2の変更を実行すること(1012)によって、注釈Bのターゲットへのユーザのクリック(1010)に応答できる。第2の変更には、テキストの第2の部分を完全に強調表示すること、及び/または、より暗くする、より透明度を低くする、より太くする、またはより彩度の高い色にするなど、ユーザにとって視覚的にわかりやすい変更を含めることができるが、これらに限定されるわけではない。レンダラ835は、ブラウザアプリケーション718に注釈Bにフォーカスする要求(1014)を送信することができ、及び/または、ブラウザアプリケーション718は、レンダラ835から、注釈Bにフォーカスする要求(1014)を受信することができる。その後、ブラウザアプリケーション718は、サイドパネル及び/または注釈領域130に注釈Bを表示するなどして、注釈領域130及び/またはサイドパネル内の注釈Bにフォーカスすることができる(1016)。
【0062】
図11は、一態様による、例示的なコンピューティングデバイスの一例を示す。いくつかの実施態様では、コンピュータデバイス1500はコンピューティングシステム702の一例である。いくつかの実施態様では、コンピュータデバイス1500はサーバコンピューティングシステム750の一例である。いくつかの実施態様では、モバイルコンピュータデバイス1550はコンピューティングシステム702の一例である。コンピューティングデバイス1500は、ラップトップ、デスクトップ、タブレット、ワークステーション、パーソナルデジタルアシスタント、テレビ、サーバ、ブレードサーバ、メインフレーム、及びその他の適切なコンピューティングデバイスなど、様々な形式のデジタルコンピュータを表すことを意図している。コンピューティングデバイス1550は、パーソナルデジタルアシスタント、携帯電話、スマートフォン、及びその他の同様のコンピューティングデバイスなど、様々な形態のモバイルデバイスを表すことを意図している。ここで示されているコンポーネント、それらの接続と関係、及びそれらの機能は、例示のみを意図しており、本文書で説明及び/または特許請求されている本発明の実施態様の実施態様を制限することを意図してはいない。
【0063】
コンピューティングデバイス1500には、プロセッサ1502、メモリ1504、ストレージデバイス1506、メモリ1504及び高速拡張ポート1510に接続する高速インターフェイス1508、ならびに低速バス1514及びストレージデバイス1506に接続する低速インターフェイス1512が含まれる。プロセッサ1502は半導体ベースのプロセッサとすることができる。メモリ1504は半導体ベースのメモリとすることができる。各コンポーネント1502、1504、1506、1508、1510、及び1512は、様々なバスを使用して相互接続されており、共通のマザーボードに搭載されるか、または必要に応じて他の方法で搭載され得る。プロセッサ1502は、メモリ1504またはストレージデバイス1506に記憶された命令を含む、コンピューティングデバイス1500内で実行するための命令を処理して、高速インターフェイス1508に接続されたディスプレイ1516などの外部入出力デバイスにGUIのグラフィカル情報を表示することができる。他の実施態様では、複数のプロセッサ及び/または複数のバスを使用することができ、適切な場合には、複数のメモリ及び複数の種類のメモリと共に使用することができる。また、複数のコンピューティングデバイス1500が接続され、各デバイスが必要な動作の一部を行うこともできる(例えば、サーババンク、ブレードサーバのグループ、またはマルチプロセッサシステムとして)。
【0064】
メモリ1504は、コンピューティングデバイス1500内の情報を記憶する。一実施態様では、メモリ1504は揮発性メモリユニット(複数可)である。別の実施態様では、メモリ1504は、不揮発性メモリユニット(複数可)である。メモリ1504は、磁気ディスクまたは光ディスクなどの別の形式のコンピュータ可読媒体であり得る。
【0065】
ストレージデバイス1506は、コンピューティングデバイス1500に大容量ストレージを提供することができる。一実施態様では、ストレージデバイス1506は、フロッピー(登録商標)ディスクデバイス、ハードディスクデバイス、光ディスクデバイス、またはテープデバイス、フラッシュメモリもしくはその他の同様のソリッドステートメモリデバイス、またはストレージエリアネットワークもしくはその他の構成内のデバイスを含むデバイスのアレイなどのコンピュータ可読媒体であるか、またはそのような媒体を含むことができる。コンピュータプログラム製品は、情報媒体に有形に具現化されたものとすることができる。コンピュータプログラム製品は、実行されると上述したような1つ以上の方法を実施する命令を含むこともできる。情報キャリアは、メモリ1504、ストレージデバイス1506、またはプロセッサ1502上のメモリなどの、コンピュータ可読媒体または機械可読媒体である。
【0066】
高速コントローラ1508は、コンピューティングデバイス1500の帯域負荷が高い動作を管理するのに対し、低速コントローラ1512は、それより帯域負荷が低い動作を管理する。このような機能の割り当ては単なる例である。いくつかの実施態様では、高速コントローラ1508は、メモリ1504、ディスプレイ1516(例えば、グラフィックプロセッサまたはアクセラレータを介して)、及び様々な拡張カード(図示しない)を受け入れることができる高速拡張ポート1510に結合されている。いくつかの実施態様では、低速コントローラ1512は、ストレージデバイス1506及び低速拡張ポート1514に結合されている。様々な通信ポート(例えばUSB、BLUETOOTH(登録商標)、イーサネット(登録商標)、無線イーサネット(登録商標))を含み得る低速拡張ポートは、キーボード、ポインティングデバイス、スキャナ、またはスイッチもしくはルータなどのネットワークデバイスなどの1つ以上の入出力デバイスに、例えばネットワークアダプタを介して結合することができる。
【0067】
コンピューティングデバイス1500は、図中に示されているように、多数の異なる形態で実装することができる。例えば、それは、標準サーバ1520として実装することも、またはそのようなサーバのグループ内で複数回実装することもできる。それは、ラックサーバシステム1524の一部として実装することもできる。加えて、それは、例えばラップトップコンピュータ1522などのパーソナルコンピュータに実装することもできる。あるいは、コンピューティングデバイス1500からのコンポーネントは、デバイス1550などのモバイルデバイス(図示しない)内の他のコンポーネントと組み合わせることもできる。このようなデバイスのそれぞれには、コンピューティングデバイス1500、1550のうちの1つ以上を含めることができ、システム全体は、互いに通信する複数のコンピューティングデバイス1500、1550から構成することができる。
【0068】
コンピューティングデバイス1550には、他のコンポーネントの中でも、プロセッサ1552、メモリ1564、ディスプレイ1554などの入出力デバイス、通信インターフェイス1566、トランシーバ1568などのコンポーネントが含まれる。デバイス1550には、追加のストレージを提供するために、マイクロドライブまたはその他のデバイスなどのストレージデバイスが提供される場合もある。各コンポーネント1550、1552、1564、1554、1566、及び1568は、様々なバスを使用して相互接続されており、コンポーネントのうちのいくつかは、共通のマザーボードに搭載されるか、または必要に応じて他の方法で搭載され得る。
【0069】
プロセッサ1552は、メモリ1564に記憶された命令を含む、コンピューティングデバイス1550内の命令を実行できる。プロセッサは、別個の複数のアナログプロセッサとデジタルプロセッサを含むチップのチップセットとして実装することができる。プロセッサは、例えば、ユーザインターフェイスの制御、デバイス1550によって実行されるアプリケーション、及びデバイス1550によるワイヤレス通信など、デバイス1550の他のコンポーネントの調整を提供することができる。
【0070】
プロセッサ1552は、制御インターフェイス1558及びディスプレイ1554に接続されたディスプレイインターフェイス1556を介してユーザと通信できる。ディスプレイ1554は、例えば、TFT LCD(薄膜トランジスタ液晶ディスプレイ)またはOLED(有機発光ダイオード)ディスプレイ、またはその他の適切なディスプレイ技術であり得る。ディスプレイインターフェイス1556は、ディスプレイ1554を駆動してグラフィック情報及びその他の情報をユーザに提示するための適切な回路を含み得る。制御インターフェイス1558は、ユーザからのコマンドを受信し、それらをプロセッサ1552に送信するために変換することができる。加えて、プロセッサ1552と通信する外部インターフェイス1562が提供されてもよく、デバイス1550と他のデバイスとの近距離通信が可能になる。外部インターフェイス1562は、例えば、いくつかの実施態様では有線通信を提供し、他の実施態様では無線通信を提供し、複数のインターフェイスを使用することもできる。
【0071】
メモリ1564は、コンピューティングデバイス1550内の情報を記憶する。メモリ1564は、コンピュータ可読媒体(複数可)、揮発性メモリユニット(複数可)、または不揮発性メモリユニット(複数可)の1つ以上として実装できる。拡張メモリ1574も提供され、拡張インターフェイス1572を介してデバイス1550に接続され、拡張インターフェイス1572には、例えばSIMM(シングルインラインメモリモジュール)カードインターフェイスを含めることができる。このような拡張メモリ1574は、デバイス1550に追加の記憶スペースを提供したり、またはデバイス1550のアプリケーションまたはその他の情報を記憶したりすることもできる。具体的には、拡張メモリ1574には、上記のプロセスを実行または補足するための命令を含めることができ、また、セキュアな情報を含めることもできる。したがって、例えば、拡張メモリ1574は、デバイス1550のセキュリティモジュールとして提供することができ、デバイス1550のセキュアな使用を可能にする命令でプログラムすることができる。加えて、SIMMカードにハッキング不可能な方法で識別情報を配置するなどして、追加情報とともに、セキュアなアプリケーションがSIMMカード経由で提供され得る。
【0072】
メモリには、例えば、以下で説明するように、フラッシュメモリ及び/またはNVRAMメモリなどを含めることができる。一実施態様では、コンピュータプログラム製品は情報キャリア内に有形に具体化される。コンピュータプログラム製品は、実行されると上述したような1つ以上の方法を実施する命令を含む。情報キャリアは、メモリ1564、拡張メモリ1574、または、例えばトランシーバ1568または外部インターフェイス1562を介して受信できるプロセッサ1552上のメモリなどの、コンピュータ可読または機械可読媒体である。
【0073】
デバイス1550は、必要に応じてデジタル信号処理回路を含むことができる通信インターフェイス1566を介して、ワイヤレスで通信できる。通信インターフェイス1566は、とりわけGSM(登録商標)音声通話、SMS、EMS、またはMMSメッセージング、CDMA、TDMA、PDC、WCDMA(登録商標)、CDMA2000、またはGPRSなど、様々なモードまたはプロトコルでの通信を提供できる。このような通信は、例えば、無線周波数トランシーバ1568を介して行われ得る。加えて、BLUETOOTH(登録商標)、Wi-Fi(登録商標)、またはその他そのようなトランシーバ(図示しない)などを使用して、近距離通信が行われ得る。加えて、GPS(Global Positioning System、全地球測位システム)受信機モジュール1570は、デバイス1550にナビゲーション及び位置関連の追加の無線データを提供することができ、デバイス1550上で実行されるアプリケーションによって適宜使用することができる。
【0074】
デバイス1550は、オーディオコーデック1560を使用して音声通信を行うこともでき、オーディオコーデック1560は、ユーザからの音声情報を受信して、それを使用可能なデジタル情報に変換する。オーディオコーデック1560も同様に、例えば、デバイス1550のハンドセットなどのスピーカを通じてなど、ユーザに聞こえる音を生成することができる。このような音には、音声電話の通話音を含めることができ、録音された音(例えば、音声メッセージ、音楽ファイルなど)を含めることができ、またデバイス1550上で動作するアプリケーションによって生成された音も含めることができる。
【0075】
コンピューティングデバイス1550は、図中に示されているように、多数の異なる形態で実装することができる。例えば、それは携帯電話機1580として実装することができる。また、スマートフォン1582、パーソナルデジタルアシスタント、タブレット、ウェアラブル1590、または別の同様のモバイルデバイスの一部として実装することもできる。
【0076】
いくつかの実施態様では、図に示されたコンピューティングデバイスには、ウェアラブル(例えば、ARヘッドセット/HMD)デバイス1590とインターフェイスして、物理空間内に挿入されたコンテンツを表示するための拡張環境を生成するセンサを含めることができる。例えば、図に示されているコンピューティングデバイス1550またはその他のコンピューティングデバイスに含まれる1つ以上のセンサは、ARヘッドセット1590に入力を提供したり、または一般的にはAR空間に入力を提供したりできる。センサには、タッチスクリーン、加速度計、ジャイロスコープ、圧力センサ、生体認証センサ、温度センサ、湿度センサ、及び周囲光センサなどが含まれ得るが、これらに限定されるわけではない。コンピューティングデバイス1550は、センサを使用して、AR空間内のコンピューティングデバイスの絶対位置及び/または検出された回転を決定し、それをAR空間への入力として使用することができる。例えば、コンピューティングデバイス1550は、コントローラ、レーザポインタ、キーボード、武器などの仮想オブジェクトとしてAR空間に組み込まれ得る。コンピューティングデバイス/仮想オブジェクトをAR空間に組み込むときにユーザが配置すると、ユーザはコンピューティングデバイスを配置して、AR空間で特定の方法で仮想オブジェクトを表示できるようになる。例えば、仮想オブジェクトがレーザポインタを表す場合、ユーザはコンピューティングデバイスを実際のレーザポインタであるかのように操作できる。ユーザはコンピューティングデバイスを左右、上下、円を描くように動かしたりなど、レーザポインタを使用するのと同様の方法でデバイスを使用したりできる。いくつかの実施態様では、ユーザは仮想レーザポインタを使用してターゲット位置を狙うことができる。
【0077】
いくつかの実施態様では、コンピューティングデバイス1550に含まれるか、またはコンピューティングデバイス1550に接続された1つ以上の入力デバイスをAR空間への入力として使用できる。入力デバイスには、タッチスクリーン、キーボード、1つ以上のボタン、トラックパッド、タッチパッド、ポインティングデバイス、マウス、トラックボール、ジョイスティック、カメラ、マイク、入力機能付きイヤホンもしくは小型イヤホン、ゲームコントローラ、またはその他の接続可能な入力デバイスを含めることができるが、これらに限定されない。コンピューティングデバイスがAR空間に組み込まれている場合、コンピューティングデバイス1550に含まれる入力デバイスを操作するユーザは、AR空間で特定の動作を発生させることができる。
【0078】
いくつかの実施態様では、コンピューティングデバイス1550のタッチスクリーンをAR空間内のタッチパッドとしてレンダリングできる。ユーザはコンピューティングデバイス1550のタッチスクリーンを操作できる。操作は、例えばARヘッドセット1590では、AR空間内のレンダリングされたタッチパッド上の動きとしてレンダリングされる。レンダリングされた動きにより、AR空間内の仮想オブジェクトを制御できる。
【0079】
いくつかの実施態様では、コンピューティングデバイス1550に含まれる1つ以上の出力デバイスが、AR空間内のARヘッドセット1590のユーザに出力及び/またはフィードバックを提供することができる。出力とフィードバックは、視覚的、戦術的、または音声的なものであり得る。出力及び/またはフィードバックには、振動、1つ以上のライトまたはストロボのオン及びオフまたは明滅及び/または点滅、アラームの鳴動、チャイムの再生、歌の再生、及びオーディオファイルの再生などが含まれ得るが、これらに限定されない。出力デバイスには、振動モータ、振動コイル、圧電デバイス、静電デバイス、発光ダイオード(LED)、ストロボ、及びスピーカなどが含まれるが、これらに限定されない。
【0080】
上記の説明に加えて、本明細書に記載のシステム、プログラム、または機能が、ユーザ情報(例えば、ユーザのソーシャルネットワーク、社会的行為、または活動、職業、ユーザのプリファレンス、またはユーザの現在位置に関する情報)の収集を可能にし得るかどうか、及びいつ可能にし得るか、ならびに、サーバからユーザにコンテンツまたは通信が送信されるかどうか、の両方について、ユーザが選択を行うことを可能にする制御がユーザに提供され得る。加えて、特定のデータは、記憶または使用される前に、個人を特定できる情報が削除されるように、1つ以上の方法で処理される場合がある。例えば、ユーザのアイデンティティは、ユーザ個人を特定できる情報を特定できないように処理され得るか、または、位置情報が取得される(市、郵便番号、または州レベルなど)場合、ユーザの特定の場所を特定することができないように、ユーザの地理的位置が一般化され得る。したがって、ユーザは、ユーザについてどのような情報が収集されるか、その情報がどのように使用されるか、及びユーザにどのような情報が提供されるかを制御し得る。
【0081】
本願に記載のシステム及び技術の様々な実施態様は、デジタル電子回路、集積回路、特別に設計されたASIC(特定用途向け集積回路)、コンピュータハードウェア、ファームウェア、ソフトウェア、及び/またはそれらの組み合わせで実現できる。これらの様々な実施態様は、ストレージシステムからのデータ及び命令を受信し、ストレージシステムにデータ及び命令を送信するように結合された、特殊または汎用であり得る、少なくとも1つのプログラム可能プロセッサ、少なくとも1つの入力装置、及び少なくとも1つの出力装置を含んだプログラム可能システムで実行可能及び/または解釈可能な1つ以上のコンピュータプログラムにおける実施態様を含み得る。
【0082】
これらのコンピュータプログラム(プログラム、ソフトウェア、ソフトウェアアプリケーション、またはコードとしても知られる)は、プログラム可能プロセッサのための機械命令を含み、かつ高水準手続型及び/またはオブジェクト指向プログラミング言語、及び/またはアセンブリ/機械言語で実装され得る。本明細書で使用される場合、「機械可読媒体」、「コンピュータ可読媒体」とは、機械命令及び/またはデータを、機械可読信号として機械命令を受け取る機械可読媒体を含むプログラム可能プロセッサに提供するために用いられる、任意のコンピュータプログラム製品、装置及び/またはデバイス(例えば、磁気ディスク、光ディスク、メモリ、プログラム可能論理回路(PLD))を指す。「機械可読信号」という用語は、機械命令及び/またはデータをプログラム可能プロセッサに提供するために用いられる任意の信号を指す。
【0083】
ユーザとの対話を提供するために、本願に記載のシステム及び技術は、ユーザに情報を表示するための表示デバイス(例えばCRT(ブラウン管)またはLCD(液晶画面)モニタ)及びユーザがコンピュータへの入力を提供することができるキーボードならびにポインティングデバイス(例えば、マウスまたはトラックボール)を有するコンピュータ上に実装され得る。他の種類のデバイスもまた、ユーザとの対話を提供するために用いることができる。例えば、ユーザに提供されるフィードバックは、任意の形式の感覚的フィードバック(例えば、視覚フィードバック、聴覚フィードバック、または触覚フィードバック)であることができ、及びユーザからの入力は、音響、音声言語、または触覚入力などの任意の形式で受信され得る。
【0084】
本願に記載のシステム及び技術は、バックエンドコンポーネント(例えば、データサーバとして)を含む、またはミドルウェアコンポーネント(例えば、アプリケーションサーバ)を含む、もしくはフロントエンドコンポーネント(例えば、ユーザがそれを通じて本願に記載のシステム及び技術の実施態様と対話できるグラフィカルユーザインターフェイスまたはウェブブラウザを有するクライアントコンピュータ)を含むコンピューティングシステムに、またはかかるバックエンド、ミドルウェア、またはフロントエンドコンポーネントの組み合わせに実装され得る。システムのコンポーネントは、任意の形式または媒体のデジタルデータ通信(例えば、通信ネットワーク)によって相互接続され得る。通信ネットワークの例は、ローカルエリアネットワーク(「LAN」)、広域ネットワーク(「WAN」)、及びインターネットを含む。
【0085】
コンピューティングシステムは、クライアント及びサーバを含むことができる。クライアント及びサーバは、一般には互いにリモート状態にあり、通常は通信ネットワークによって対話する。クライアントとサーバの関係は、それぞれのコンピュータ上で動作し、互いにクライアント-サーバ関係を有する、コンピュータプログラムによって生じる。
【0086】
本明細書及び添付の特許請求の範囲において、「a」、「an」、及び「the」という単数形は、文脈による別段の明確な指示がない限り、複数形の参照対象を除外しない。さらに、「及び」、「または」、「及び/または」などの接続詞は、文脈による別段の明確な指示がない限り、包括的である。例えば、「A及び/またはB」には、Aのみ、Bのみ、及びAとBが含まれる。さらに示された様々な図に示されている接続線またはコネクタは、様々な要素間の機能的な関係及び/または物理的もしくは論理的な結合の例を示すことを目的としている。実際のデバイスには、多くの代替または追加の機能的な関係、物理接続、または論理接続が存在する場合がある。さらに、要素が「必須」または「重要」と具体的に記載されていない限り、本明細書で開示される実施態様の実施には、いかなる項目またはコンポーネントも必須ではない。
【0087】
限定するものではないが、「およそ」、「実質的に」、「一般的に」などの用語は、本明細書では、正確な値またはその範囲は必要なく、指定する必要がないことを示すために使用される。本明細書で使用されている上記の用語は、当業者にとって即座に理解できる意味を有する。
【0088】
さらに、本明細書で使用される上、下、上部、下部、側面、端部、前面、背面などの用語は、現在考慮されている向きまたは図示されている向きを参照して使用される。これらを別の向きから考慮する場合、そのような用語はそれに応じて変更する必要があることを理解する必要がある。
【0089】
本明細書では、特定の例示的な、コンピュータで実行される方法、装置、及び製造物について説明したが、この特許の範囲はこれに限定されない。本明細書で使用する用語は、特定の態様を説明するためのものであり、限定することを意図するものではないことを理解されたい。逆に、この特許は、この特許の請求の範囲内に公正に含まれるすべての方法、装置、及び製造物をカバーしている。
【0090】
一態様では、非一時的なコンピュータ可読媒体は、受信側コンピューティングデバイス上のプロセッサによって実行されると、受信側コンピューティングデバイスに本明細書に開示された方法のいずれかを実施させる命令を記憶する。
【0091】
一態様では、コンピューティングデバイスは、少なくとも1つのプロセッサと、少なくとも1つのプロセッサによって実行されると本明細書に開示された方法のいずれかを実施する命令を記憶するメモリと、を備えて構成され得る。