(58)【調査した分野】(Int.Cl.,DB名)
前記提供する工程は、前記コンテンツ管理システムへの前記コンテンツアイテムのアップロード中に、コンテンツアイテムの前記コレクション内で分類された前記コンテンツアイテムを前記ユーザインタフェース内で提示する工程を更に含む
ことを特徴とする請求項1に記載の方法。
インタラクティビティ機能の前記セットは、共有、注釈付け、メッセージング、変更、コレクションへの追加、又は、コンテンツアイテムの第1コレクションからコンテンツアイテムの第2コレクションへの移動、のうちの1つ以上を含む
ことを特徴とする請求項1に記載の方法。
前記提供する手段は、前記コンテンツ管理システムへの前記コンテンツアイテムのアップロード中に、コンテンツアイテムの前記コレクション内で分類された前記コンテンツアイテムを前記ユーザインタフェース内で提示する手段を更に含む
ことを特徴とする請求項10に記載のシステム。
ユーザインタフェース内で前記コンテンツアイテムを提示する前記手段は、前記ユーザインタフェース内の複数のコンテンツアイテムのギャラリー内で前記コンテンツアイテムを提示する手段を含む
ことを特徴とする請求項10に記載のシステム。
ギャラリー内で前記コンテンツアイテムを提示する前記手段は、前記複数のコンテンツアイテムを表す複数のサムネイル画像の集合グリッドを提示する手段を含み、前記複数のコンテンツアイテムは、以前にアップロードされた1つ以上のコンテンツアイテム、及びアップロード用にキューイングされた1つ以上のコンテンツアイテムを含む
ことを特徴とする請求項13に記載のシステム。
【発明を実施するための形態】
【0014】
ユーザデバイスにおいてローカルでインタラクティビティ機能のセットをサポートする方法、システム、及びコンピュータ可読媒体が提供される。ユーザが、彼らのデバイスが接続性が制限されている場合でさえ十分にインタラクティブであると感じることを可能にすることで、ユーザに提供されるユーザエクスペリエンス及び機能が大幅に強化されうる。
【0015】
なお、「デバイス」及び「コンテンツ管理システム」との用語は、本明細書中で、多種多様のストレージプロバイダ及びデータ管理サービスプロバイダと、電子デバイスとユーザデバイスとを広く指すものとして用いられる。また、「コンテンツアイテム」との用語は、本明細書中で、多種多様のデジタルデータ、ドキュメント、テキストコンテンツアイテム、音声コンテンツアイテム、ビデオコンテンツアイテム、コンテンツアイテムの一部、及び/又は他の種類のデータを広く指すものである。コンテンツアイテムはまた、ファイル、フォルダ、又は、コンテンツアイテムのコレクション、プレイリスト、アルバム等のような、異なる性質を有するコンテンツアイテムをグループ化する他のメカニズムを含んでもよい。「ユーザ」との用語もまた、本明細書中で広く用いられ、単一ユーザ、複数ユーザ、承認済アカウント、人の代わりに若しくは人からの命令により自動的に動作するアプリケーション若しくはプログラム、任意の他のユーザタイプ、又はこれらの任意の組み合わせに相当しうる。「ジェスチャ」及び「複数のジェスチャ」との用語はまた、本明細書中で広く用いられ、1以上の運動、動き、ホバリング、推定、サイン、若しくは1つ以上のセンサとの任意の他の物理的なインタラクション、又は、これらの任意の組み合わせに相当し、音声コマンドや網膜追跡に基づく目の動きの解釈を含む。「連続的なリアルタイム画像」との用語はまた、本明細書中で広く用いられ、1以上の撮影コンポーネントにより撮影されたライブ画像、撮影された連続画像、記録された画像、若しくは撮影コンポーネントにより撮影されうる任意の他の種類の画像、又はこれらの任意の組み合わせに相当してもよい。
【0016】
本発明は、様々なコンポーネント及びコンポーネントの配置、様々な技術、方法、又はステップの手順と配置を具体化しうる。参照される図面は、実施形態を説明する目的ためだけのものであり、本発明を限定するものとして解釈されるべきではない。それぞれが互いに独立して又は他の特徴との組み合わせにおいて用いることができる、様々な発明の特徴が以下に記載される。
【0017】
図1は、種々の実施形態に係る例示的なシステムを示す。システム100は、ネットワーク106を介してコンテンツ管理システム104と通信しうるユーザデバイス102a及び102bを含むことができる。2つのユーザデバイスのみがシステム100内に示されているが、当業者であれば、任意の数のユーザデバイスがコンテンツ管理システム104及び/又はネットワーク106とインタラクションを行いうること、及び上述の説明は例示にすぎないことを理解するであろう。
【0018】
ネットワーク106は、任意の数のプロトコルをサポートしてもよく、当該プロトコルには、伝送制御プロトコル、インターネットプロトコル(「TCP/IP」)、ハイパーテキスト・トランスファー・プロトコル(「HTTP」)及び/又はワイヤレス・アプリケーション・プロトコル(「WAP」)が含まれるが、これらに限定されるものではない。例えば、ユーザデバイス102aとユーザデバイス102b(まとめて102)は、TCP/IPを用いてコンテンツ管理システム104と通信してもよく、また、より上位のレベルでは、HTTPを用いてコンテンツ管理システム104におけるウェブサーバと通信するためにブラウザを使用してもよい。
【0019】
様々なユーザ・デバイス102が、コンテンツ管理システム104と通信してもよく、当該ユーザ・デバイスには、デスクトップ・コンピュータ、モバイル・コンピュータ、モバイル通信デバイス(例えば携帯電話機、スマートフォン、タブレット)、テレビ、セットトップボックス、及び/又は、任意の他のネットワーク利用可能デバイスが含まれるが、これらに限定されるものではない。様々なタイプのユーザデバイスは、スマートフォン、携帯電話機、タブレット・コンピュータ、パーソナル・デジタル・アシスタント(PDA)、ラップトップ・コンピュータ、デジタル音楽プレイヤ、及び/又は、タッチ感知式表示インタフェースを含む任意の他の種類のユーザデバイスを含んでもよいが、これらに限定されるものではない。様々なタッチ感知式表示インタフェースは、液晶ディスプレイ(LCD)、モノクロ・ディスプレイ、カラー・グラフィックス・アダプタ(CGA)ディスプレイ、エンハンスト・グラフィックス・アダプタ(EGA)ディスプレイ、可変グラフィックス・アレイ(VGA)ディスプレイ、任意の他のディスプレイ、又は、これらの任意の組み合わせを含んでもよいが、これらに限定されるものではない。ある実施形態では、タッチ感知式表示インタフェースは、ジェスチャを受け付けて検出するために、1以上のプロセッサと接続されたマルチタッチパネルを含んでもよい。マルチタッチパネルは、例えば、1つ以上の行トレース及び/又は駆動用ライントレースを有し、かつ、1つ以上の列トレース及び/又は検知ラインを有する、容量性の検知媒体であってもよい。マルチタッチパネルは、本明細書中でタッチ感知式表示インターフェースの一例として記載されるが、当業者であれば、任意のタッチ感応式表示インターフェースを使用してもよいことを理解するであろう。更に、様々な種類のユーザデバイスは、ある実施形態では、1つ以上の撮影コンポーネントを含んでいてもよい。例えば、ユーザデバイス102は、フロントカメラ及び/又はリアカメラを含んでいてもよい。
【0020】
コンテンツ管理システム100は、承認済アカウントを有するユーザに、コンテンツの蓄積を許可すると共に、検索、変更、ブラウジング、同期、及び/又は他のアカウントとのコンテンツ共有といった管理タスクの実行を許可してもよい。ある実施形態では、ユーザデバイス102上の対応ユーザインタフェース(例えば、スタンドアロン・アプリケーション、クライアント・アプリケーション等)は、ユーザがコンテンツ管理システム104のモジュールによって提供される機能を実行できるように、コンテンツ管理インターフェース・モジュールを用いて実装されてもよい。システム100の更なる詳細な説明を、
図13を参照して以下に示す。
【0021】
図2は、種々の実施形態に係る、コンテンツアイテムを表示するユーザインタフェースの概略図を示す。ある実施形態では、表示されるコンテンツアイテムは、ユーザデバイス(例えば、ユーザデバイス102)上に、及び/又は、コンテンツ管理システム(例えば、コンテンツ管理システム100)上のユーザ・アカウント内に蓄積されうる。ユーザインタフェース200は、コンテンツアイテムのコレクション202及び204を含み、それぞれが、画像、写真、及び/又はビデオ等の、1つ以上のコンテンツアイテムを含みうる。例えば、ある実施形態では、コレクション202及び204は、高品質(「HQ」)画像、低品質(「LQ」)画像、高解像度画像、低解像度画像、サムネイル解像度またはサムネイル画像、高精細(「HD」)画像、パノラマ画像、モザイク画像、ショート・ビデオ、ショート・ルーピング・ビデオ、映画、ビデオクリップ、若しくは他の任意のタイプの画像、又はそれらの任意の組み合わせを含むが、それらに限定されない、任意のタイプの画像及び/又はビデオに相当しうる。ある実施形態では、コレクション202及び204内に含まれるコンテンツアイテムは、テキストアイテム、コンテンツアイテムのフォルダ、ディレクトリ、音楽アイテム、ビデオアイテム、若しくは他の任意のタイプのコンテンツアイテム、又はそれらの任意の組み合わせに相当しうる。ある実施形態では、アプリケーションタイトル256がユーザインタフェース200上に表示されてもよい。例えば、アプリケーションタイトル256は、ユーザインタフェースの現在のプログラム及び/又はモードをユーザに示してもよい。
【0022】
ある実施形態では、ユーザインタフェース200は、サービスキャリア及び強度インジケータ250、時刻インジケータ252、及び/又はバッテリ充電インジケータ254を含んでもよい。サービスキャリア及び強度インジケータは、現在のセルラサービス又はネットワーク接続強度、及びサービスを提供しているソース又はキャリアを、ユーザに対して表示しうる。ある実施形態では、インジケータ250に隣接してWi−Fiインジケータが提示されてもよいが、Wi−Fiが存在しない場合にはこの機能を表示されなくてもよい。時刻インジケータ252は、任意の適切な手段を使用して現在の時間及び/又は日付を表示しうる。例えば、インジケータ252は、日/月/年及び時間を単位として、又は他の任意の適切な手段を介して、日時を表示しうる。インジケータ252はまた、「24時間表示」時間(例えば、13:00)を表示してもよい。バッテリ充電インジケータ254は、デバイスの現在のバッテリ充電を、ユーザに対して表示しうる。例えば、インジケータ254は、デバイス上に残っている充電量のグラフィカル表現及び/又は数値表現(例えば、百分率、使用可能な時間等)を有するバッテリを表示しうる。当業者であれば、インジケータ250,252及び/又は254が、ユーザインタフェース200内で任意の方法で表示されてよく、また、それぞれの使用、又はユーザインタフェースの上部におけるそれぞれの使用が例示にすぎないことを理解しよう。
【0023】
コレクション202及び/又は204は、任意の適切なソースから取得されうる。ある実施形態では、ユーザは、写真及び/又はビデオ等のコンテンツアイテムを、ユーザデバイス上にある1つ以上の画像撮影コンポーネントによって取得しうる。例えば、1つ以上の画像及び/又はビデオは、カメラ138を使用して撮影されてもよい。ある実施形態では、1つ以上のコンテンツアイテムは、受信されたメッセージまたは電子メールから取得されてもよい。例えば、ユーザは、コンタクトから、画像を含むMMSメッセージを受信しうる。ユーザは、当該画像を当該ユーザのデバイスに保存してもよく、その後、当該画像はユーザインタフェース200内に表示されてもよい。更に他の実施形態では、ユーザは、1つ以上のコンテンツアイテムを、ソーシャルメディアネットワーク、ウェブサイト、フォトストリーミングサービス、及び/又はコンテンツ管理システムから取得してもよい。
【0024】
ある実施形態では、ユーザは、共有ボタン206及び208のうちの1つをそれぞれ選択することによって、コレクション202及び/又は204内でコンテンツアイテムの1つ以上を共有してもよい。例えば、ユーザが、コレクション202内の画像の一部又は全てを共有することを決めた場合、ユーザは、共有ボタン208を選択しうる。共有ボタン208の呼び出しによって、ユーザは、コレクション202からの任意の選択画像を共有することが可能になりうる。例えば、ユーザは、ユーザ・コンタクトの1つ以上、1つ以上のソーシャルメディアネットワーク、及び/又はコンテンツ管理システムと、選択画像を共有しうる。
【0025】
ある実施形態では、コレクション202及び/又は204から1つ以上の画像が選択されうる。画像の選択は、画像のクリック、画像のタップ、画像の素ワイプ、音声コマンドの提供、若しくは他の任意の選択手段、又はそれらの任意の組み合わせを含むがそれらに限定されない、任意の適切なプロセスを使用して行われうる。ある実施形態では、コレクション内に含まれる全ての画像をユーザが選択可能になる、「全て選択」オプションが存在しうる。
【0026】
図3は、種々の実施形態に係る、コンテンツ管理システムへのアップロードのために選択されたコンテンツアイテムを表示するユーザインタフェースの概略図を示す。ユーザインタフェース300は、コンテンツアイテムのコレクション302及び304を含み、それぞれが、1つ以上のコンテンツアイテムを含みうる。ある実施形態では、コレクション302及び304は、
図2のコレクション202及び204とほぼ同様であってもよく、後者についてのこれまでの説明が前者に適用できる。更に、ユーザインタフェース300は、サービスキャリア及び強度インジケータ350、時刻インジケータ352、バッテリ充電インジケータ354、及び/又はアプリケーションタイトル356を含んでもよく、ある実施形態では、これらは
図2のサービスキャリア及び強度インジケータ250、時刻インジケータ252、バッテリ充電インジケータ254、及び/又はアプリケーションタイトル256とほぼ同様であってもよく、後者についてのこれまでの説明が前者に適用できる。
【0027】
ユーザは、前述した任意の適切な手段を使用して、コレクション302及び304から1つ以上のコンテンツアイテムを選択しうる。コレクション表示モードから選択モードへのユーザによる切り替えに応じて、ユーザインタフェースの1つ以上の機能が変化しうる。例えば、ユーザインタフェース200は、コレクション内からのアイテムが表示されうるコレクション表示モードに対応しうる。ユーザは、「選択」ボタン及び/又は「共有」ボタン(例えば、共有ボタン206)を押下でき、ユーザインタフェース300が提示されうる。ユーザインタフェース300は、特定のコレクション内に含まれるコンテンツアイテムの1つ以上をユーザが選択することを可能にするオプションを含みうる。選択モードである間には、ユーザインタフェース300はまた、2つのモード間の区別に役立つように、コレクション表示モードとは異なるバックグラウンド及び/又は色の配置を含みうる。
【0028】
選択モードでは、コレクション内からの各アイテムは、ユーザがその特定のアイテム又は複数のアイテムを選択した場合の選択マーカーを含みうる。例えば、選択マーカー302a及び302bは、ユーザが、対応する画像をコレクション302から選択した場合に現れうる。同様に、選択マーカー304a及び304bは、ユーザが、対応する画像をコレクション304から選択した場合に現れうる。ある実施形態では、ユーザは、全選択マーカーを選択することによって、特定のコレクションからコンテンツアイテムの全てを選択しうる。例えば、選択マーカー308の選択によって、コレクション302内に含まれる各画像が選択されうる。同様に、選択マーカー306の選択によって、コレクション304内に含まれる各画像が選択されうる。ある実施形態では、ユーザは、対応する選択マーカーを再び押すことによって、任意の画像、コンテンツアイテム、またはコンテンツアイテムのコレクションの選択を解除し、それにより選択を無効化しうる。
【0029】
ある実施形態では、ユーザインタフェース300は、選択されているコンテンツアイテムの数を表すインジケータ358を含みうる。例えば、全選択マーカー308が押下されている場合、コレクション302から各コンテンツアイテムが選択されうる。このシナリオでは、インジケータ308は、コレクション302内に含まれる8個の選択された画像に対応する数字「8」を表示しうる。他の例では、両方の選択マーカー306及び308が選択されている場合、インジケータ358は、両方のコレクション302及び304内に含まれる11個の画像に対応する数字「11」を表示しうる。ある実施形態では、コレクションごとの複数のインジケータが存在しうる。例えば、コレクション302及びコレクション304は、それぞれ独自のインジケータを有しうる。これにより、ユーザが、各コレクション内の選択されているコンテンツアイテムの数を確かめることが可能になる。ある実施形態では、コレクションごとの個別のインジケータは、個別のコレクションインジケータの集合に対応する全選択インジケータとともに存在しうる。
【0030】
図4は、種々の実施形態に係る、画像/コンテンツのアップロードと、コンテンツ管理システムにおける当該アップロードの対応する結果とを表示するユーザインタフェースの概略図を示す。
図4は、クライアント側のユーザインタフェースと、コンテンツ管理システム側のユーザインタフェースとを含みうる。クライアント側及びコンテンツ管理システム側は、画像/コンテンツのアップロードプロセスを表現するために連携し、それ故に、両方を一緒に説明する。
【0031】
クライアント側のユーザインタフェース400は、コレクション402等の、コンテンツアイテムについての1つ以上のコレクションを含みうる。ある実施形態では、コレクション402は、1つ以上の画像及び/又はビデオを含みうる。ユーザは、1つ以上のコンタクト、1つ以上のソーシャルメディアネットワーク及び/又はコンテンツ管理システムとの共有のために、1つ以上の画像を選択しうる。例えば、ユーザは、コンテンツ管理システム100等のコンテンツ管理システムによる共有のために画像402aを選択しうる。ある実施形態では、選択されたコンテンツアイテムは、当該コンテンツアイテムが選択されていることを示す選択マーカーを含みうる。例えば、選択された画像についての選択マーカーが、ユーザがその特定の画像を選んでいることを示すために画像上に表示されうる。ある実施形態では、画像402aが選択された後に、ユーザは、画像402aをアップロードするためにアップロードボタン406を押してもよい。
【0032】
ある実施形態では、アップロードのために選択されたコンテンツアイテムは、ユーザデバイス上にある通信回路を用いてネットワークを介してコンテンツ管理システムへ送信されうる。例えば、伝送ライン420を通じて、1つ以上のネットワークを介してコンテンツ管理システムへ画像402aを送信することが試みられうる。ある実施形態では、試みられる送信が実質的にバックグラウンドで行われることで、ユーザに対してプロセスをシームレスにしうる。例えば、コンテンツ管理システム100への画像402aの送信が試みられている間に、ユーザは、そのユーザデバイスを用いて画像402aに対する編集を行いうる。
【0033】
ある実施形態では、画像402aのコピーがコンテンツ管理システムへ送信されうる。画像のコピーは、画像402aの選択及び/又はアップロードボタン406の有効化とほぼ同時に作成されうる。画像のコピーを送信することによって、オリジナル画像は、持続性のためにユーザデバイス上に蓄積され続けられうる。ある実施形態では、画像のコピーは、デバイス上の画像へのポインタ、画像の圧縮バージョン、及び/又は画像の小型化バージョンに相当しうる。例えば、コンテンツ管理システムへ送信される画像のコピーは、デバイス上に蓄積されているバージョンよりも画像の解像度が低いバージョンであってもよい。当業者であれば、任意のタイプのコンテンツアイテムが上述のシナリオに置いて使用されうること、及び画像の使用が例示にすぎないことを理解しよう。
【0034】
ユーザインタフェース450は、コンテンツ管理システムのユーザインタフェースに相当しうる。ある実施形態では、ユーザインタフェース450は、それを見ている対応するユーザがいない可能性があるため、仮想的である。例えば、ユーザインタフェース450は、バックグラウンド・インタフェースとして参照されうる。当業者であれば、ユーザインタフェース450が、ユーザインタフェース400の機能の一部若しくは全て、又は他の任意のタイプのユーザインタフェースを含みうること、及び、ユーザが当該インタフェースを見るか否かは、本明細書中で提示されうる任意の特徴を含めることからそれを除外することがないことを理解しよう。画像の送信が完了するにつれて、画像452は、ユーザインタフェース450内に現れうる。前述のように、コンテンツ管理システムへアップロードされる画像は、ユーザインタフェース400上でアップロード用に選択された画像のコピーであってもよい。このため、ある実施形態では、画像452a及び画像402aは、ほぼ同じでありうる。
【0035】
コンテンツ管理システムへの画像402aのアップロードが試みられるのに先立って、又は試みられている間に、ユーザは、当該ユーザに提供されるインタラクティビティ機能のセットを有してもよい。インタラクティビティ機能のセットは、コンテンツ管理システムによってユーザへ提供されるインタラクティビティ機能のセットと実質的に同様であってもよい。例えば、ユーザは、コンテンツ管理システム上の画像の共有、編集、注釈付け、及び/又は変更ができてもよく、それ故に、これらのオプションの一部又は全てが、当該ユーザのユーザデバイス上で当該ユーザへ提供されてもよい。ある実施形態では、提供されるインタラクティビティ機能のセットは、画像402aのようなコンテンツアイテムが、コンテンツ管理システムへのアップロードのために選択されるか、アップロードが試みられるのとほぼ同時に提供されてもよい。このため、それが、ユーザに対して、あたかもコンテンツ管理システムへ画像が既にアップロードされており、かつ、そのインタラクションが同期されているかコンテンツ管理システム上で生じているかのように見えうる。こうして、画像の実際のアップロード状態にかかわらず、ユーザは、画像402aがコンテンツ管理システムへアップロード中であるエクスペリエンスを有しうる。例えば、ユーザは、あたかもコンテンツ管理システムへ既にアップロードされたかのように、画像402aとのインタラクションを行うことが可能である。したがって、選択されたコンテンツアイテムをコンテンツ管理システムへ完全にアップロードする前であっても、ユーザデバイスによって実際に提供されている機能を除いて、コンテンツ管理システムから典型的に提供される機能の一部又は全てがユーザへ提供されうる。例えば、ユーザデバイスとコンテンツ管理システムとの間の接続性が、利用不可能になるか又は制限されると、アップロードが完了できなくなりうる。しかし、ユーザはそれでも画像402とのインタラクションを行うことができ、これは、ユーザデバイスが、画像の変更、メッセージング、注釈付け、又は共有のリクエスト又は試みの提供をユーザに可能にしうるためである。例えば、ユーザは、コンテンツ管理システムへアップロードする前に、画像402aの共有を試みてもよい。画像の共有のリクエストは、共有リクエストが発生していなくともあたかも共有リクエストが送信されたかのように、ユーザに対して表示されうる。アクセスが利用可能になると、ユーザが何らの追加の動作を行う必要なしで、当該共有リクエストが発生しうる。
【0036】
ある実施形態では、アップロードボタン406をユーザが押下又は有効化した後に、フルスクリーン・ビュー又は実質的にフルスクリーン・ビューで、選択された画像402aを含むユーザインタフェース400がユーザへ提示されうる。ユーザには、フルスクリーン・モードで画像402aとのインタラクションをユーザが行うことを可能にするインタラクティビティ機能のセットが提供されうる。例えば、ユーザは、画像402aに対してメッセージ408を提供できてもよい。メッセージ408は、テキスト、画像、ビデオ、ハイパーリンク、添付ファイル、又は画像402aと関連付けられることができる他の任意の形式のコンテンツを含みうる。ある実施形態では、画像402aは、蓄積されたこと及び/又はコンテンツ管理システムと共有されたことに応じて、デバイスによって識別タグが割り当てられうる。識別タグは、デバイス及び/又はコンテンツ管理システムによって作成された文字列又は識別子であってもよい。例えば、コンテンツ管理システム100との画像402aの共有に応じて、ユーザデバイスは、画像が共有されていることを表す識別タグを画像データ402aに割り当ててもよい。ある実施形態では、メッセージ408の作成に応じて、別の識別タグが作成されてメッセージ408へ割り当てられうる。メッセージ408用に作成された識別タグは、メッセージ408を画像402aと関連付けるための、1つ以上の類似の特性を含んでもよい。例えば、画像402a用の識別タグが、英数字の文字から成る16ビットの文字列である場合、第1部分が、画像402aと関連付けられうる任意の作成されたメッセージによって共有されてもよい。このシナリオでは、メッセージ408は、当該第1部分を、その識別タグの一部として含むであろう。
【0037】
ある実施形態では、メッセージ408の作成に応じて、当該メッセージ及び当該メッセージ内に含まれる任意のコンテンツが、コンテンツ管理システムへ送信されてCMS上で画像452aとともに蓄積されうる。例えば、当該メッセージは、その関連付けられた画像とともにアップロードされてもよい。ある実施形態では、当該メッセージのコピーがコンテンツ管理システムへ送信されうる。メッセージ及び/又はその複製が、ユーザによる対応するアップロードボタンの起動に応じて送信されてもよい。ある実施形態では、メッセージのコピーの送信は、前述したような、画像のコピーの送信とほぼ同様であってもよい。メッセージ408は、伝送ライン430を介してコンテンツ管理システムへの送信が試みられうる。ある実施形態では、伝送ラインは、画像402の送信を試みた時間とメッセージ408の送信を試みた時間との間で、接続において何らかの変化が発生したか否かに依存した、異なるレベルの接続性を有しうる点を除き、伝送ライン420と実質的に同じであってもよい。
【0038】
図5は、種々の実施形態に係る、コンテンツアイテムの第1バージョンをユーザインタフェース内に表示しながら、コンテンツ管理システムからのコンテンツアイテムの第1バージョンのダウンロード及びコンテンツ管理システムからのコンテンツアイテムの第2バージョンのダウンロードを表示するユーザインタフェースの概略図を示す。ある実施形態では、コンテンツ管理システムは、ユーザインタフェース550を含みうる。ユーザインタフェース550は、コンテンツ管理システム上のユーザアカウント内に蓄積された1つ以上の画像及び/又はビデオを含みうる、コンテンツアイテム552を表示しうる。例えば、ユーザインタフェース550は、画像552a−d及びビデオ552e−hを表示しうる。ユーザインタフェース550内には4つの画像及び4つのビデオのみが表示されているが、当業者であれば、任意の数の画像、ビデオ、又は他のコンテンツアイテムがユーザインタフェース550内に表示されうることを理解しよう。
【0039】
ある実施形態では、この画像及び/又はビデオは、当初は第1バージョンで蓄積、アップロード又は共有されうる。例えば、画像552a−dは、HD(1080p)画像等の高品質画像であってもよいが、任意画像タイプがコンテンツ管理システム上のユーザアカウント内に蓄積されうる。ある実施形態では、画像及び/又はビデオの複数のバージョンが、コンテンツ管理システムに蓄積されうる。例えば、ユーザは、最初に画像の低解像度バージョンをアップロードし、その後に当該画像のより高解像度のバージョンをアップロードしてもよい。ある実施形態では、最初に画像の高解像度バージョンがコンテンツ管理システム上に蓄積された場合、コンテンツ管理システムは、より高速な伝送のために、当該高解像度画像についてのより低解像度の画像を作成してもよい。例えば、画像の低解像度バージョンのサイズが小さいほど、例えばデバイスとコンテンツ管理システムとの間の接続性のレベルが弱い場合に、当該画像の送信は、より高速に及び/又はより効率的にでありうる。これにより、より高いレベルの信頼性が、画像がダウンロードされることになるユーザに対して提供されうる。
【0040】
ある実施形態では、ユーザは、ユーザインタフェース500を介してコンテンツ管理システムにアクセスしうる。アクセスが許可された後に、ユーザは、コンテンツ管理システム上のユーザアカウントから、ユーザインタフェース500を表示するユーザデバイスへダウンロードされるべき1つ以上のコンテンツアイテムを選択しうる。例えば、ユーザは、コンテンツ管理システム上のユーザアカウント内に蓄積された高品質画像552aを、ユーザデバイスへのダウンロード対象として選択しうる。ある実施形態では、高品質画像5522aの選択に応じて、当該画像の低品質バージョンが作成され、ユーザデバイスへのダウンロードのために最初に使用されうる。例えば、ユーザデバイスとコンテンツ管理システムとの間の接続性のレベルが低い(例えば、接続性についての所定の閾値未満である)場合、低品質画像502aが、ユーザデバイスへのダウンロードのために最初に使用されうる。低品質画像502aが、サイズが小さい、圧縮されている、高品質画像552aよりも低い画素値を有する、及び/又は、高品質画像552aよりも低いアスペクト比を有する点を除き、低品質画像502aは高品質画像552a画像とほぼ同様でありうる。低品質画像502aは、ある実施形態では、ユーザデバイスとコンテンツ管理システムとの間の接続性のレベルに起因して、高品質画像552aよりも高速にダウンロードされる。これにより、接続性のレベルにかかわらず、実質的に短時間に、画像のバージョンを見ることができる。
【0041】
ある実施形態では、ユーザインタフェース500は、低品質画像502aのダウンロード状態を示すためのダウンロード・バー512を含みうる。ダウンロード・バー512は、画像502aの種々のダウンロード特性をユーザに対して表示しうる。例えば、ダウンロード・バー512は、ダウンロードされた画像の割合、画像のダウンロードの残り時間、及び/又は他の任意のダウンロード統計値を表示しうる。
【0042】
低品質画像502aがユーザデバイスへダウンロードされた後に、当該画像がユーザインタフェース500内に表示されうる。ある実施形態では、画像502aは、実質的にフルスクリーン・モードで表示されうる。ある実施形態では、画像の高品質バージョン(例えば、高品質画像552a)がバックグラウンドでのダウンロードされている間に、ユーザは、低品質画像502aとのインタラクションを行うことができてもよい。例えば、高品質画像552aがバックグラウンドでダウンロードされている間に低品質画像502aとのインタラクションを行うために、インタラクティビティ機能のセットをユーザが利用可能でありうる。インタラクティビティ機能のセットは、共有、変更、フォルダ若しくはコレクションへのコピー、共有仮想空間への追加、及び/又はメッセージの提供といった機能を含んでもよいが、それらに限定されない。これらの機能は、画像の高品質バージョンがバックグラウンドでダウンロードされている間に、当該画像の低品質バージョン用にユーザが利用可能でありうる。これにより、ユーザは、利用可能な画像の最高品質バージョンの取得中に、短時間にローカルで当該画像とのインタラクションを行うことが可能になりうる。
【0043】
画像502aへのインタラクティビティ機能のセットの提供中にバックグラウンドで画像552aのダウンロードを行うことで、ユーザデバイス上で最大解像度の画像は現在利用可能でないとしても、ユーザがローカルの感覚を持つことが可能になりうる。例えば、ユーザデバイスとコンテンツ管理システムとの間の接続性のレベルが低い場合、高品質画像552aよりも速く低品質画像502aがユーザデバイスへダウンロードされうる。低品質画像502aのダウンロードに応じて、ユーザは、高品質画像552aがバックグラウンドでダウンロードされる間に、当該低品質バージョンとのインタラクションを行いうる。ある実施形態では、ユーザが低品質画像とのインタラクションを行っている間に、高品質画像のダウンロード状態をユーザに知らせるためにユーザインタフェース500内にダウンロード・バー514が表示されうる。
【0044】
高品質画像552aのダウンロードの完了に応じて、低品質画像502aに代えて高品質画像552aがユーザインタフェース500内に表示されうる。ある実施形態では、高品質画像552aが完全にダウンロードされた後に、ストレージ空間の節約のために低品質画像502aがユーザデバイスから削除されうる。例えば、低品質画像502aのサイズが1MBである一方で、高品質画像552aのサイズが8MBである場合がある。高品質画像552aのダウンロード後に、それまでに低品質画像502aによって占有されていた1MBのストレージ空間が、当該低品質画像をユーザデバイスから削除することによって回復されうる。ある実施形態では、低品質画像502aは、ユーザデバイス上で保持されてもよく、それにより、他の用途に使用されうる。例えば、画像502aのサムネイル・バージョンが、ギャラリー・ビューにおける閲覧のためにユーザデバイス上に保持されうる。
【0045】
ある実施形態では、ユーザデバイスへの高品質画像552aのダウンロード後に、当該高品質画像は、ユーザインタフェース500内に表示されてもよく、また、低品質画像502aにそれまでに関連付けられていた任意のインタラクション及び/又は変更を含んでもよい。例えば、バックグラウンドで高品質画像552aがダウンロードされる間にユーザが低品質画像502aに対してメッセージを付加した場合、それらのインタラクションが、ダウンロードに応じて高品質画像552aへ移行されてもよい。こうして、低品質画像に関連付けられたあらゆる情報が、高品質画像へすぐに関連付けられうる。これにより、ユーザデバイスとコンテンツ管理システムとの間の接続性のレベルを問わず、ユーザが画像とのインタラクションを十分に行うことを可能にすることによってシームレスなユーザエクスペリエンスをユーザに提供できる。更に、ユーザデバイス上で現在、画像の最大解像度バージョンとのインタラクションを行えなくとも、ユーザはそれでも、当該画像の高解像度バージョンをユーザデバイスへダウンロードさせている間に当該画像の第1バージョンとのインタラクションを行うというローカルの感覚を与えられうる。
【0046】
図6は、種々の実施形態に係る、コンテンツ管理システムへのアップロードのために選択されたコンテンツアイテムの、中断されたアップロードを表示するユーザインタフェースの概略図を示す。ユーザインタフェース600は、コレクション602及び604を含みうる。ある実施形態では、コレクション602及び604は、
図3のコレクション302及び304とほぼ同様であってもよく、後者についてのこれまでの説明が前者に適用できる。ある実施形態では、コレクション602及び604は、
図1のコンテンツ管理システム100等のコンテンツ管理システムへのアップロードのために選択されうる。アップロードを行うことを試みてもよいが、1つ以上のファクタに起因して、当該アップロードを完了できないか又は遅れることがある。
【0047】
ユーザインタフェース600はまた、共有ボタン606及び608を含んでもよく、これらは、
図2の共有ボタン206及び208とほぼ同様であってもよく、後者についてのこれまでの説明が前者に適用できる。ある実施形態では、ユーザインタフェース600は、サービスキャリア及び強度インジケータ650、時刻インジケータ652、バッテリ充電インジケータ654、及び/又はアプリケーションタイトル656を含んでもよく、ある実施形態では、これらは
図2のサービスキャリア及び強度インジケータ250、時刻インジケータ252、バッテリ充電インジケータ254、及び/又はアプリケーションタイトル256とほぼ同様であってもよく、後者についてのこれまでの説明が前者に適用できる。
【0048】
ある実施形態では、アップロードが完了しえないとの判定、又はアップロードが止まっている可能性があるとの判定に応じて、アップロードの進捗状態が、ユーザデバイス上、及び/又はコンテンツ管理システムに保存されうる。例えば、コレクション602及び/又は604のアップロードを試みているユーザは、アップロードの進行中に予期せず接続性を失う可能性がある。アップロードを最初からやり直さなければならない代わりに、アップロードの進捗状態が、ユーザデバイスへ一時メモリに保存されうるか、キャッシュメモリに保存されうるか、及び/又はコンテンツ管理システムへ保存されうる。例えば、ユーザは、コンテンツ管理システム上の当該ユーザのユーザアカウントへコレクション602のアップロードを試みてもよい。しかし、アップロード中に、ユーザデバイスとコンテンツ管理システムとの間の接続性が予期せず失われることがある。このシナリオでは、接続性が回復した場合又は回復した際に、アップロードの残りの部分のみが再開しうるように、進捗状態がユーザデバイス上のキャッシュメモリに保存されうる。他の例としては、コンテンツ管理システムが、アップロードに成功したコレクションの一部に対応する部分ファイルを蓄積してもよい。コレクション全体がアップロードされる前に接続性が失われた場合、コンテンツ管理システムは、それまでにアップロードされた量及びアップロードされうる残りの部分を、接続性が回復した際にコンテンツ管理システムがユーザデバイスに知らせうるように、部分ファイルを蓄積してもよい。
【0049】
ある実施形態では、アップロードの状態をユーザに知らせるために、ユーザインタフェース600内にアップロード・インジケータ616が表示されうる。例えば、アップロードが行われている場合に、動く円、らせん状のバー、又は他の任意のインジケータが表示されうることで、アップロードが行われていることがユーザに知らされる。他の例としては、アップロードを行うことを試みているが進んでいない場合に、アップロードが中断していることをユーザに知らせるインジケータが表示されうる。ある実施形態では、アップロード・インジケータ616がユーザインタフェース上に表示される時に、メッセージ658のような、対応するメッセージがユーザインタフェース上に表示されうる。例えば、メッセージ658には「あなたの思い出を保存中」と書いてあってもよく、選択された画像をユーザがコンテンツ管理システムへアップロードすることを現在試みていることを示している。メッセージ658には現在のユーザの動作又はモードに対応する任意のメッセージが書かれうるが、上述の説明は例示にすぎない。ある実施形態では、メッセージ658は存在しなくてもよいし、又はユーザインタフェース600の任意の部分内に位置付けられてもよい。
【0050】
ある実施形態では、アップロードが進行中であるか、完了したか、中断したかにかかわらず、アップロードが行われている間にコレクション602及び/又は604内に含まれる任意の画像とのインタラクションを行うことが可能であってもよい。例えば、コレクション602及び604が、コンテンツ管理システムへのアップロードのために選択されてもよいが、アップロード中にネットワークの接続性が自然に失われることがある。このシナリオでは、ユーザは、それでもなお、あたかもアップロードが既に完了したかのように、コレクション602及び/又は604内に含まれる任意の画像とのインタラクションを行うことが可能でありうる。これにより、ユーザデバイスとコンテンツ管理システムとの間の接続性のレベルにかかわらず、あたかも画像とのインタラクションがシームレスであるかのようなローカルの感覚がユーザに与えられうる。例えば、ユーザは、アップロードを行うことを試みられている間に、1つ以上のコンタクトとの画像の共有、又は画像へのメッセージの付加を試みることが可能であってもよい。
【0051】
図7A−Eは、種々の実施形態に係る、種々の接続性ファクタに基づいて中断した、コンテンツ管理システムへの画像のアップロードを表示するユーザインタフェースについて種々の概略図を示す。ユーザインタフェース700,720,740,760及び780はそれぞれ、コレクション702及び704、並びに共有ボタン706及び708を含んでもよく、これらは、
図2のコレクション202及び204、並びに共有ボタン206及び208とほぼ同様であってもよく、後者についてのこれまでの説明が前者に適用できる。ユーザインタフェース700,720,740,760及び780のそれぞれは、コンテンツ管理システムへのアップロードのために選択されたコレクション702及び704を表示しうる。しかし、1つ以上のファクタに起因して、アップロードが完了していない、及び/又は中断している。ある実施形態では、アップロードが完了するのを妨げている1つ以上のファクタが解決するまで、アップロードが中断され続けられうる。更に、ユーザインタフェースのそれぞれは、サービスキャリア及び強度インジケータ750、時刻インジケータ752、バッテリ充電インジケータ754、及び/又はアプリケーションタイトル756を含んでもよく、ある実施形態では、これらは
図2のサービスキャリア及び強度インジケータ250、時刻インジケータ252、バッテリ充電インジケータ254、及び/又はアプリケーションタイトル256とほぼ同様であってもよく、後者についてのこれまでの説明が前者に適用できる。
【0052】
ユーザインタフェース700は、コレクション702及び704のアップロードが中断されうるシナリオに対応しうる。ある実施形態では、ユーザインタフェース700内にメッセージ・バー710を表示することで、アップロードが中断していることをユーザに知らせうる。例えば、メッセージ・バー710は、アップロードの中断に対応するアイコン710c、及び/又は、アップロードが中断されているコンテンツアイテム(例えば、写真)の数を示すアイコン710bを含んでもよい。メッセージ・バー710はまた、アップロードの進捗状態が保存されていることを、メッセージ710aによって示してもよい。例えば、メッセージ710aには、選択されたコンテンツアイテムのアップロードが中断されていることを示す「保存中断」と書いてあってもよい。
【0053】
ユーザインタフェース720は、コレクション702及び704のアップロードが、ユーザデバイスとコンテンツ管理システムとの間のネットワーク接続性の欠如に起因して遅延させられうる又は中断されうるシナリオに対応しうる。例えば、ユーザインタフェース720は、インターネット接続が検出されていないことをユーザに知らせるメッセージ730aを含むメッセージ・バー730を含みうる。メッセージ・バー730はまた、アイコン730b及び730cを含んでもよく、これらは、アイコン710b及び710cとほぼ同様であってもよく、後者についてのこれまでの説明が前者に適用できる。画像のコレクション702及び704のアップロードは中断され続けうるとともに、インターネット接続が検出及び/又は回復されるまで、メッセージ・バー730がユーザインタフェース720内に表示され続けうる。ある実施形態では、アップロードが再開するためには特定のレベルの接続性が必要とされうる。例えば、5つの利用可能なサービス・バーのうちで1つのサービス・バーのみが存在する場合に、コレクション702及び704のアップロードは、接続性のレベルが所要の閾値(例えば、3つのバー)を上回るまで中断され続けうる。当業者であれば、任意のレベルの接続性が利用可能でありうるとともに任意の閾値が使用されうること、及び利用可能な5つのサービス・バーのうちの1つのサービス・バーの使用は例示にすぎないことを理解しよう。
【0054】
ユーザインタフェース740は、コレクション702及び704のアップロードが、Wi−Fi接続の欠如に起因して遅延させられうる又は中断されうるシナリオに対応しうる。例えば、ユーザインタフェース740は、Wi−Fi接続が現在利用可能でないことをユーザに知らせるメッセージ758aを含むメッセージ・バー750を含みうる。メッセージ・バー750はまた、アイコン758b及び758cを含んでもよく、これらは、アイコン710b及び710cとほぼ同様であってもよく、後者についてのこれまでの説明が前者に適用できる。ある実施形態では、ユーザデバイスは、Wi−Fi機能(例えば、セルラ通信回路が無いデバイス)であり、このため、検出可能なWi−Fi接続なしではコンテンツ管理システムへのコンテンツのアップロードができない。ある実施形態では、コレクション702及び704のアップロードは、Wi−Fi接続が回復するまで、及び/又は所定の閾値を上回るまで、中断され続けうる。
【0055】
ユーザインタフェース760は、コレクション702及び704のアップロードが、ユーザデバイスの低バッテリレベルに起因して遅延させられうる又は中断されうるシナリオに対応しうる。例えば、ユーザインタフェース760は、ユーザに、ユーザインタフェース760を表示している当該ユーザのデバイスが低バッテリでありうることを知らせうるメッセージ・バー770を含みうる。例えば、メッセージ・バー770は、デバイス上の低バッテリ充電に起因してアップロードが中断されていることを知らせるメッセージ770aを含みうる。メッセージ・バー770はまた、アイコン770b及び770cを含んでもよく、これらは、アイコン710b及び710cとほぼ同様であってもよく、後者についてのこれまでの説明が前者に適用できる。ある実施形態では、デバイスのバッテリレベルは、デバイスのオペレーティングシステム診断から確かめられうる。例えば、デバイス及び/又はコンテンツ管理システムは、バッテリ寿命を含む、デバイスの種々の性能特徴量を判定するために、当該デバイスの診断の、ランダムな、周期的な、又は連続したポーリングを実行しうる。ある実施形態では、コレクション702及び704のアップロードは、バッテリ寿命がアップロードに必要となる所定の閾値に達するまで、及び/又は、デバイスが充電ユニットに接続されるまで、中断され続けうる。これは、利用可能なバッテリ充電の不足に起因してユーザデバイスが予期せず停止することを防ぐのに役立ちうるか、又は、アップロードを完了するためにユーザが更にバッテリを消耗させることを防ぐのに役立ちうる。これは、緊急通話(例えば、ダイヤル911又は他の緊急医療提供者)を行うためにユーザがデバイスの残りの充電を使用する必要がありうる緊急の状態に対して、デバイスがある程度の充電を保持するようにするために特に有益でありうる。
【0056】
ユーザインタフェース780は、コンテンツ管理システム上のユーザアカウントが、満杯(例えば、ユーザが当該ユーザのストレージ枠に達した又はストレージ枠を超えた)でありうること、及び/又はアップロードのために選択されたコンテンツの全てを完全にアップロードするのに十分なストレージ空間を有しえないことを理由として、コレクション702及び704のアップロードが遅延させられうる又は中断されうるシナリオに対応しうる。例えば、ユーザインタフェース780は、メッセージ790aを含むメッセージ・バー790を含みうる。メッセージ790aは、ある実施形態では、ユーザに、コンテンツ管理システム上の当該ユーザのアカウントが空き容量不足であることを知らせうる。ある実施形態では、ユーザは、追加のストレージ空間を取得するよう、及び/又は、追加のスペースを取り戻すために1つ以上のコンテンツアイテムを当該ユーザのアカウントから削除するよう、コンテンツ管理システムによって促されうる。メッセージ・バー790はまた、アイコン790b及び790cを含んでもよく、これらは、アイコン710b及び710cとほぼ同様であってもよく、後者についてのこれまでの説明が前者に適用できる。
【0057】
図8は、種々の実施形態に係る、ユーザデバイス上でインタラクティビティ機能のセットをサポートするためのプロセスの例示的なフローチャートを示す。プロセス800は、ステップ802で始まりうる。ステップ802で、ユーザデバイス上に蓄積された画像等のコンテンツアイテムが選択されうる。ある実施形態では、選択された画像は、ユーザデバイス上にある1つ以上の画像撮影コンポーネント(例えば、カメラ138)を使用して撮影された画像に相当しうる。種々のタイプの画像には、高精細(「HD」)写真、HDビデオ、標準画質写真、標準画質ビデオ、ショートクリップビデオ、スライドショー、若しくは他の任意のタイプの画像、又はそれらの組み合わせが含まれうるが、それらに限定されない。ステップ802は、ユーザが1つの画像を選択することに対応しているが、当業者であれば、
【0058】
任意の数のコンテンツアイテム及び画像が選択されうること、及び1つの画像の使用が例示にすぎないことを理解しよう。例えば、ユーザは、1つ以上の画像、1つ以上のビデオ、及び/又は、1つ以上の画像及びビデオの組み合わせを選択しうる。
【0059】
ある実施形態では、ユーザは、1つ以上のジェスチャを用いてコンテンツアイテムを選択しうる。例えば、ユーザは、音声コマンドや網膜追跡に基づく目の動きの解釈を含む、1以上の物理的な運動、動き、ホバリング、推定、サイン、若しくは1つ以上のセンサとの任意の他の物理的なインタラクション、又は、これらの任意の組み合わせに相当する、1つ以上のジェスチャを実行しうる。ある実施形態では、選択されたコンテンツアイテムは、ユーザデバイス上のストレージ/メモリ内に蓄積されうる。コンテンツアイテムはまた、SMSメッセージ、MMSメッセージ、及び/又は電子メールメッセージの添付ファイルによって受信されうる。更に別の実施形態では、コンテンツアイテムは、1つ以上のソーシャルメディアネットワークを介して受信、及び/又は、コンテンツ管理システム(例えば、コンテンツ管理システム100)を介してユーザと共有されうる。
【0060】
ステップ804で、コンテンツアイテムは、コンテンツ管理システムへのアップロードののためにキューイングされうる。ある実施形態では、当該アップロードは、1つ以上のトリガに応じて行われうる。例えば、ユーザデバイスとコンテンツ管理システムとの間のネットワーク接続性が所定の閾値を上回っていることを検出したことに応じて、画像402aがコンテンツ管理システムへアップロードされうる。ユーザはまた、アップロードをキューイングするためにユーザインタフェース上のアップロードボタンを選択、押下、及び/又は起動することが可能でありうる。例えば、ユーザは、コンテンツ管理システムへ画像402aへアップロードするために、
図4のアップロードボタン406を起動しうる。ある実施形態では、ユーザは、コンテンツ管理システム上にユーザアカウントを有してもよく、アップロードは、選択されたコンテンツアイテムを当該ユーザアカウント内に入れることを試みてもよい。ある実施形態では、コンテンツアイテムのアップロードの選択及びキューイングは、ほぼ同時に、及び/又は1つのステップで、行われうる。
【0061】
ステップ806で、コンテンツアイテムは、ユーザデバイス上に表示されたユーザインタフェース内でローカルにユーザへ提示されうる。例えば、ユーザインタフェースは、フルスクリーンモードで、又は実質的にフルスクリーンモードで画像を表示しうる。ある実施形態では、コンテンツアイテムを提示することは、当該コンテンツアイテムを、コンテンツ管理システム上のユーザアカウント内に現在蓄積されている、及び/又は、ユーザデバイスに既知である、任意の又は全てのコンテンツアイテムとともに分類することを含みうる。例えば、ユーザデバイス及び/又はコンテンツ管理システムにある1つ以上の分類アルゴリズムによって、選択された画像が、ユーザアカウントに蓄積された1つ以上の追加の画像であって、それまでに提示された、分類された、共有された、及び/又はユーザとのインタラクションが行われた追加の画像と一緒に分類されうる。(複数の)分類アルゴリズムは、コンテンツアイテムに関連付けられた1つ以上のファクタに基づいて、コンテンツアイテムを、コンテンツ管理システム上のユーザアカウント内に蓄積されたコンテンツアイテムの1つ以上と一緒に配置しうる。例えば、画像に関連付けられた地理データ、時間データ、共有データ、最近の閲覧データ、及び/又はコンテンツデータ(例えば、顔認識)が、当該画像を、ユーザアカウントに既に蓄積された1つ以上の画像とグループ化するために、(複数の)分類アルゴリズムによって使用されうる。
【0062】
ある実施形態では、分類アルゴリズムは、コンテンツアイテムを、コンテンツ管理システムへのアップロードのために選択されうる他の任意のコンテンツアイテムとともにユーザに提示しうる。他のコンテンツアイテムは、コンテンツアイテムと一緒に分類されるためにコンテンツ管理システムへ完全にアップロードされる必要はない。例えば、
図3のコレクション302は、複数の画像を含みうる。画像302aは、画像302bがコンテンツ管理システムへアップロードされているか否かにかかわらず、様々な分類ファクタに基づいて画像302bとともに分類されうる。ある実施形態では、両方の画像302a及び302bが一緒に分類されて、同時にアップロードのために選択及びキューイングされうる。
【0063】
ステップ808で、ユーザデバイスは、コンテンツアイテムがコンテンツ管理システムへアップロードされるのに先立ってユーザインタフェース内に提示されたコンテンツアイテムとのインタラクションを行うためのインタラクティビティ機能のセットを提供しうる。ある実施形態では、インタラクティビティ機能のセットをサポートすることは、あたかもコンテンツ管理システムへのアップロードが既に完了しているかのように、ユーザインタフェース内でユーザにコンテンツアイテムを提示することを含みうる。画像がアップロードの最中であってもよく、又はアップロードが中断していてもよく、ユーザは、あたかもアップロードが既に完了しているかのようにコンテンツアイテムとのインタラクションを行うことができてもよい。ある実施形態では、インタラクティビティ機能のセットは、コンテンツアイテムの共有の提供、コンテンツアイテムへの注釈付け、コンテンツアイテムへのメッセージの提供/付加、コンテンツアイテムの変更、コンテンツアイテムの1つ以上のコレクションへのコンテンツアイテムの追加、及び/又は、第1コレクションから第2コレクションへの画像の移動を含みうるが、それらに限定されない。例えば、ユーザは、メッセージ408を画像402aに付加してもよく、当該メッセージは、あたかも当該メッセージ及び当該画像が既にコンテンツ管理システムへアップロードされているかのようにユーザインタフェース内に表示されうる。
【0064】
ある実施形態では、ステップ802−808の1つ以上は、ほぼ同時に行われてもよい。例えば、アップロード用のコンテンツアイテムのキューイングと、ユーザインタフェース内でのコンテンツアイテムの提示と、インタラクティビティ機能のセットの提供とは、ほぼ同時に行われてもよい。これにより、コンテンツアイテムがコンテンツ管理システムへ完全にアップロードされたか否かにかかわらず、ユーザがコンテンツアイテムとのインタラクションを行うことが可能になりうる。
【0065】
ある実施形態では、アップロードに先立って、コンテンツアイテムと関連付けられた1つ以上のメタデータ・ファイルがコンテンツ管理システムへアップロードされてもよい。例えば、画像は、画像ファイル自体よりも実質的にサイズが小さい可能性がある、ヘッダーファイル等のメタデータ部分を含みうる。メタデータ・ファイルが小さいほど、サイズに起因して、画像よりも高速にアップロードされうる。画像ファイルに先立ってメタデータ・ファイルがアップロードされることで、メタデータは、コンテンツ管理システム上の1つ以上のコレクション内の画像を分類するために使用されうる。ある実施形態では、画像のアップロードに先立って1つ以上のコレクション内の画像を分類するために、分類データがユーザデバイスへ返送されうる。
【0066】
ある実施形態では、ユーザデバイスとコンテンツ管理システムとの間の接続性のレベルが判定されてもよい。接続性のレベルは、ユーザデバイスが利用可能なインターネット接続の強度及び/又はWi−Fi信号の強度に相当しうる。接続性レベルには、更に、ユーザデバイスの利用可能なバッテリ寿命、サービスプロバイダの制約(例えば、セルラデータプラン)、及び/又は、コンテンツ管理システム上のユーザアカウント内の占有されているストレージ空間、若しくは、他の任意の接続性測度、又はそれらの任意の組み合わせが含まれうるが、それらに限定されない。ある実施形態では、ステップ802より前に接続性レベルが判定されうる、及び/又は接続性の現在の状態を解析するために繰り返し実行されうる。例えば、定期的に及び/又は連続的に、診断チェックが、デバイス上で実行されうる、及び/又は、デバイスのオペレーティングシステムから手動で受信されうる。当業者であれば、当該判定がプロセス800の間のどの時点で行われてもよいことを理解しよう。
【0067】
ある実施形態では、接続性レベルが所定の閾値を上回っているとの判定に応じて、ユーザデバイスからコンテンツ管理システムへコンテンツアイテムがアップロードされうるか、又はアップロードが開始されうる。しかし、ある実施形態では、接続性レベルが所定の閾値を上回っていないとの判定に応じて、ユーザデバイスからコンテンツ管理システムへのコンテンツアイテムのアップロードが中断しうる。当該アップロードは、接続性レベルが所定の閾値を上回っているとの判定に応じて、再開及び/又は継続を行おうと試みうる。所定の閾値は、ネットワーク接続性、Wi−Fi強度、バッテリ充電、利用可能なストレージ空間、及び/又はデータプラン制約の任意のレベルでありうる。例えば、ユーザデバイスが10%のバッテリ残量のみを有し、所定の閾値が20%である場合には、バッテリ充電が20%閾値を上回るまでアップロードが中断しうる。しかし、これは例示にすぎず、任意の充電レベル又は他の閾値が実装されてもよい。
【0068】
図9は、種々の実施形態に係る、ユーザインタフェース内にインタラクションの結果を提示しながらユーザ・インタラクションに対応するデータをコンテンツ管理システムへ送信するためのプロセスの例示的なフローチャートを示す。プロセス900は、ステップ902で始まりうる。ステップ902で、ユーザは、ユーザデバイスを用いて通信ネットワークを介してコンテンツ管理システムへアクセスしようと試みうる。例えば、
図1のユーザデバイス102は、ネットワーク106を通じてコンテンツ管理システム100へアクセスしようと試みうる。ある実施形態では、ユーザは、当該ユーザに対応するコンテンツ管理システム上の空かううとにログインすることが求められうる。ある実施形態では、ユーザデバイスは、ユーザのログイン用認証情報を記憶しておくことができ、そのため、ユーザが、コンテンツ管理システムへのアクセスの許可を連続的に求められることがなくてもよい。ある実施形態では、コンテンツ管理システムは、アクセスを得る試みによってユーザデバイスを認識し、当該デバイスに関連する認証情報を、当該デバイスにコンテンツ管理システムへのアクセスを許可するために蓄積しうる。例えば、ユーザデバイスは、固有でありうる、関連するIPアドレス及び/又はシリアル番号を有していてもよく、コンテンツ管理システムは、これらの番号をデータベースに蓄積してもよい。デバイスがコンテンツ管理システムへのアクセスを試みると、当該デバイスのIPアドレス及び/又はシリアル番号と、蓄積したIPアドレス及び/又はシリアル番号との一致が判定され、アクセスが許可されうる。
【0069】
ステップ904で、画像の第1バージョンが、コンテンツ管理システムからユーザデバイスへダウンロードされうる。コンテンツ管理システムへのアクセスが許可された後に、ユーザは、
図5の画像552aのような画像のユーザデバイスへのダウンロードを試みうる。例えば、ユーザは、コンテンツ管理システムに蓄積されている画像のダウンロード・リクエストを行いうる。ダウンロード・リクエスト/試行に応じて、低品質画像502aのような画像の第1バージョンがデバイスへダウンロードされうる。ある実施形態では、画像の第1バージョンは、ダウンロードを容易にするのに役立つようにて解像度のものであってもよい。例えば、インターネット接続及び/又はWi−Fi信号が弱い場合、低解像度のファイルは一般的に高解像度のバージョンよりもサイズが小さいという事実に起因して、低解像度画像は高解像度画像よりも高速にダウンロードされうる。このように、低解像度ファイルはより小さいため、より大きく高い解像度の画像よりも高速に、完全にデバイスへダウンロードされうる。
【0070】
ステップ906で、画像の第1バージョンが、ユーザインタフェース内に表示されうる。ある実施形態では、ユーザインタフェースは、コンテンツ管理システムに関連付けられた専用アプリケーションに対応しうる。例えば、
図1のコンテンツ管理アプリケーション114は、ユーザデバイスの表示スクリーン内にユーザインタフェースを表示しうる。ある実施形態では、画像の第1バージョンは、実質的にフルスクリーンモードでユーザデバイスの表示スクリーン内に表示されうる。画像502aがユーザデバイスへダウンロードされた後に、実質的にフルスクリーンモードで、当該画像がユーザインタフェース500内に表示されうる。
【0071】
ステップ908で、ユーザとユーザインタフェースとの間の任意のインタラクションに対応するデータが、デバイス上のストレージ内に蓄積されうる。種々のタイプのインタラクションには、画像の共有、画像への注釈付け、画像に対するメッセージの提供、画像の変更、画像のコレクションへの画像の追加、及び/又は、第1コレクションから第2コレクションへの画像の移動、他の任意の適切なインタラクション、又はそれらの組み合わせが含まれうるが、それらに限定されない。ある実施形態では、ユーザは、ユーザインタフェースとインタラクションを行うことができ、それにより、任意の適切な手段を使用して、画像の第1バージョンが当該ユーザインタフェース上に表示される。例えば、表示スクリーンは、種々のジェスチャを検出し、検出したジェスチャに基づいてデバイスへの入力を提供することができるッチ感知式表示インタフェースであってもよい。当業者であれば、任意のタイプのタッチ感知式表示インタフェースが表示スクリーンとして使用されうること、及びジェスチャを検出して入力を提供できる表示スクリーンが例示にすぎないことを、理解しよう。
【0072】
ステップ910で、蓄積されたデータのコンテンツ管理システムへの送信が試みられうる。ある実施形態では、ユーザデバイス上にある通信回路を用いてネットワークを介して、蓄積されたデータの送信が試みられうる。ある実施形態では、検出されたユーザ・インタラクションに対応するデータは、データの送信後にコンテンツ管理システムへのアクセスのためにユーザが使用しうる1つ以上の追加のユーザデバイスと同期化されうる。例えば、インタラクションに対応するデータは、コンテンツ管理システム100を介して、ユーザデバイス102a及びユーザデバイス102bのような種々のユーザデバイスと同期化されうる。1つのデバイス上のインタラクションがコンテンツ管理システムへ送信され、その後、ユーザがコンテンツ管理システム上のユーザアカウントと以前に同期化するのに用いられた他のデバイスと同期化されうる。
【0073】
ある実施形態では、蓄積されたデータは、検出及び蓄積されるのに従ってデータパケットで送信が試みられうる。ある実施形態では、蓄積されたデータのコピーのコンテンツ管理システムへの送信が試みられ、オリジナルの情報はユーザデバイスによってローカルで保持されうる。ある実施形態では、蓄積されたデータは、1つ以上の画像及び/又は他のコンテンツアイテムの分類に役立つように一旦送信されると、コンテンツ管理システムによって使用されうる。例えば、蓄積されたデータは、画像を有するユーザの共有ヒストリに対応する情報を含みうる。以前に同様にして例えば、同じコンタクト、ソーシャルメディアネットワーク等)共有された1つ以上の追加の画像又はコンテンツアイテムと一緒に画像を分類するのに使用されるように、コンテンツ管理システムへの共有ヒストリの送信が試みられうる。
【0074】
ステップ912で、ユーザとユーザインタフェースとの間のインタラクションの結果が、あたかもデータが既に送信されたかのようにユーザインタフェース内で提示されうる。例えば、ユーザは、画像の第1バージョンに対してメッセージを付加してもよく、当該メッセージは、コンテンツ管理システムへのアップロードが成功したか否かにかかわらず、画像とともにユーザインタフェース内で提示されうる。ある実施形態では、インタラクションの結果には、ユーザデバイスに蓄積された、及び/又はコンテンツ管理システム上のユーザアカウント内に蓄積された1つ以上の追加の画像との、画像の第1バージョンの分類に対応する情報が含まれうる。例えば、ユーザが1つ以上のコンタクトと画像を共有する場合、当該画像を、同じ1つ以上のコンタクトと共有されたことがある他の画像とグループ化するために共有情報が使用されうる。このシナリオでは、データがコンテンツ管理システムへ送信される前に分類が実行されるように、分類データがユーザデバイス上でローカルに蓄積されうる。他の例として、コンテンツ管理システムは、画像の分類に使用されるように、分類データをユーザデバイスへ周期的に送信しうる。ある実施形態では、蓄積されたデータの送信の試みと結果の提示とが、ほぼ同時に行われてもよい。しかし、当業者であれば、本プロセスの精神及び範囲から逸脱せずに、ステップ902−912の1つ以上が一緒に及び/又は異なる順序で行われてもよいことを理解しよう。
【0075】
ある実施形態では、画像の第1バージョンがユーザインタフェース内に表示されている間に、コンテンツ管理システムからの画像の第2バージョンのバックグラウンド・ダウンロードが実行されてもよい。例えば、
図5の画像502aをユーザインタフェース500内で提示している間に、画像552aがバックグラウンドでダウンロードされてもよい。ユーザは、ユーザインタフェースとのインタラクションを行うことができ、それ故に、画像の第2バージョンのバックグラウンド・ダウンロードが行われている間であっても、画像の第1バージョンとのインタラクションを行うことができてもよい。これにより、最高品質の画像及び/又は最初にリクエストされた画像がその時点でダウンロードされていない可能性があっても、ユーザが画像と直ちにインタラクションを行うことが可能になりうる。ある実施形態では、画像の第1バージョンは、低解像度画像に相当し、画像の第2バージョンは、高解像度画像に相当しうる。例えば、画像552aが、高品質画像及び/又はHD画像に相当しうる一方で、画像502aは、低品質画像及び/又は標準画質画像に相当しうる。
【0076】
ある実施形態では、画像の第2バージョンのバックグラウンド・ダウンロードは、動的優先リストに基づいて実行されてもよい。動的優先リストは、1つ以上のファクタに基づいて順序付けされうる1つ以上の画像のリストに相当しうる。種々のタイプのファクタは、ネットワーク接続性、利用可能なストレージ空間、ダウンロード対象のコンテンツ/画像の量、ユーザデバイスの利用可能なバッテリ充電、最近の閲覧ヒストリ、現在閲覧/表示されている画像、若しくは他の任意のファクタ、又は他の任意の組み合わせを含むがそれらに限定されない、動的優先リストの基礎を形成しうる。動的優先リストは、ユーザデバイスとコンテンツ管理システムとの間のネットワーク接続性強度を考慮し、接続性強度に基づいて、ユーザデバイスへのバックグラウンド・ダウンロードのために1つ以上の画像を選択しうる。例えば、ユーザデバイスとコンテンツ管理システムとの間の接続性のレベルが低い又は弱い場合、高品質画像552aは合理的な時間内にダウンロードされない可能性があると判定されうる。このシナリオでは、低品質画像502aが直近にダウンロードされていてもよく、そのために、低い送信レートでのダウンロード又はより強い接続となるその後の時点におけるダウンロードのために、高品質画像のリストから高品質画像552aが選択されうる。これにより、ネットワーク接続性にかかわらず、利用可能な高品質画像の取得中に、ユーザが直ちにコンテンツにアクセスしてインタラクションを行うことが可能になりうるため、著しい利益がユーザにもたらされうる。他の例として、ユーザデバイスが制限された量のストレージ空間のみしか有していない場合、当該デバイスは、高品質画像552aを蓄えるkとができない可能性がある。このシナリオでは、画像のサムネイル解像度バージョンが最初にダウンロードされ、追加のストレージ空間の獲得に応じて、画像の高解像度バージョンがダウンロード用に選択されうる。このように、ユーザは、ストレージ空間が制限されていても、利用可能な最高品質画像を取得している間でも、画像のバージョンにアクセスしてインタラクションを行うことが可能でありうる。
【0077】
ある実施形態では、画像の第1バージョンを含む1つ以上のコレクション内で、画像の第1バージョンが、ダウンロードされた画像の第2バージョンに置き換えられうる。例えば、高品質画像552aのダウンロードに応じて、低品質画像502aは余分であるためもはや必要なくなり、それ故に、置き換えられるかユーザデバイスから削除されうる。ある実施形態では、画像の第1バージョンは、画像の第2バージョンがダウンロードされるまで、又は当該第2バージョンがダウンロードされた後のある期間、ユーザデバイス上の一時メモリ又はキャッシュメモリ内に留まりうる。ある実施形態では、画像の第2バージョンが現在存在しうる1つ以上のコレクションが、蓄積されたデータに応じて作成されうる。例えば、ユーザは、低品質画像502aを1つ以上のコンタクトと共有しうる。画像502aは、その後、同様に同じ1つ以上のコンタクトと共有されたことがある1つ以上の画像を有するコレクション内に配置されうる。高品質画像552aのダウンロードに応じて、低品質画像502aが、コレクション内で、
【0078】
以前に低品質画像502aと関連付けられた情報又はインタラクション・データの一部又は全てを含む高品質画像552aに置き換えられうる。ある実施形態では、低品質画像は、高品質画像がダウンロードされた後であっても、ユーザデバイス上に蓄積され続けうる。
【0079】
図10は、種々の実施形態に係る、表示された画像の第1バージョンの変更を、当該画像の第1バージョンとともに提示するためのプロセスの例示的なフローチャートを示す。プロセス1000は、ステップ1002で始まりうる。ステップ1002で、コンテンツ管理システムからダウンロードされた画像の第1バージョンが、ユーザインタフェース内に表示されうる。ある実施形態では、ユーザインタフェースは、ユーザデバイス上にある表示スクリーンに表示されうる。例えば、
図4のユーザインタフェース400が、
図1のユーザデバイス102上に配置されたタッチ感知式表示インタフェースに表示されうる。ある実施形態では、画像の第1バージョンは、低品質画像に相当しうる。低品質画像は、低品質画像のダウロードの、ユーザのリクエストに応じて、又は高品質画像のダウンロードのリクエストに応じて、コンテンツ管理システムからダウンロードされうる。例えば、低品質画像は高品質画像よりも実質的にサイズが小さい場合があるため、ユーザデバイスとコンテンツ管理システムとの間の接続性レベルに依存して、低品質画像がダウンロードされうる。これにより、ダウンロードの可能性を実質的に高くすることが可能になりうるか、ダウンロードに要する時間が、高品質画像のサイズに起因して高品質画像が代わりにダウンロードされるよりも早くなりうるか、又はその両方である。
【0080】
ステップ1004で、ユーザからの画像の第1バージョンの変更が検出されうる。ある実施形態では、タッチ感知式表示インタフェースに画像が表示され、画像に対する任意のインタラクション(例えば、変更)が、タッチ感知式表示インタフェースによって検出されることができる。種々のタイプの変更には、画像の共有のリクエスト、注釈付け、画像に対して提供されるメッセージ、画像の変更、コレクションへの画像の追加のリクエスト又は選択、現在閲覧されている画像又は画像閲覧ヒストリの変更、及び/又は、第1コレクションから第2コレクションへの画像の移動、他の任意の変更、又はそれらの組み合わせが含まれうるが、それらに限定されない。例えば、ユーザは、画像の第1バージョンへメッセージを付加することを望む場合があり、また、メッセージが提供されるように、ユーザインタフェース内に表示さえれたメッセージボタンを選択するか、画像自体をタップするか、又は他の適切な入力を提供しうる。
【0081】
ステップ1006で、検出された変更のコンテンツ管理システムへの送信が試みられうる。例えば、ユーザは、画像402aに対してメッセージ408を付加しうる。メッセージ408の付加に応じて、当該メッセージは、伝送ライン430を介してコンテンツ管理システムへの送信が試みられうる。ある実施形態では、メッセージは、送信の完了後に、画像402とともにコンテンツ管理システムに蓄積されうる。当該メッセージ及び対応する画像は、当該メッセージ及び当該画像を互いに関連付ける1つ以上の類似の識別タグ又はビット文字列を含みうる。
【0082】
ある実施形態では、検出された変更の送信は、ユーザデバイスとコンテンツ管理システムとの間の接続性レベルに基づきうる。例えば、接続性レベルが弱い又は低い場合、メッセージ408は、低い送信レートでの送信が試みられうるか、接続性レベルが所定の閾値に達する若しくは閾値を超えるまで中断されるか、及び/又は、ブロック若しくはデータパケットでの送信が試みられうる。ある実施形態では、検出された変更は、ユーザが画像とのインタラクションを行い続けている間、送信がバックグラウンドで試みられうる。例えば、ユーザは、メッセージ408を画像402aに付加しうるとともに、当該メッセージのコンテンツ管理システムへの送信が試みられている間、ユーザは、当該メッセージを含む画像の共有をリクエストしうる。このシナリオでは、試みられるメッセージの送信は、ユーザが共有をリクエストする前に完了している必要はなく、当該共有のコンテンツ管理システムへの送信も、メッセージ408の後又はそれと並行して試みられうる。
【0083】
ステップ1008で、変更が、ユーザインタフェース内で、表示された画像の第1バージョンと一緒に提示されうる。ある実施形態では、検出された変更は、当該変更のコンテンツ管理システムへの送信が完了しているか否かにかかわらず、画像とともにユーザインタフェース内に現れうる。例えば、メッセージ408は、コンテンツ管理システムへ当該メッセージが完全に送信される前に、ユーザインタフェース400内に現れうる。これにより、送信の状態にかかわらず、インタラクティビティ機能のセットをユーザが体験することができるため、ユーザインタフェースについてのシームレスなローカルの感覚がユーザにもたらされうる。ある実施形態では、ステップ1006及び1008は、ほぼ同時に行われうる。ある実施形態では、ステップ1008は、ステップ1006に先立って行われうる。しかし、当業者であれば、プロセス1000の任意のステップ又は部分が、任意の時点又は他の任意のステップとともに行われうること、及びプロセス1000の順序が例示にすぎないことを理解しよう。
【0084】
ある実施形態では、画像の第2バージョンは、検出された変更についての試みられた送信が行われている間に、バックグラウンドでダウンロードが試みられうる。例えば、メッセージ408が伝送ライン430を通じて送信を試みられている間に、画像402aの第2バージョン(例えば、高品質バージョン)が、バックグラウンドでダウンロードされることが試みられうる。ある実施形態では、画像の第1バージョンが画像の第2バージョンに置き換えられてもよく、当該第1バージョンについて検出された任意の変更が、画像の第2バージョンに対して移行及び/又はコピーされてもよい。ある実施形態では、画像の第1及び/又は第2バージョンは、検出された変更に基づいて、1つ以上のコレクション内で分類されてもよい。例えば、ユーザは、コンタクトを画像の第1バージョンにリンク付けしてもよい。リンク付けがコンテンツ管理システムへ送信を試みられるときに、コンタクトにリンク付けされた画像は、当該画像を、同様に同一のコンタクトを含む1つ以上の追加の画像と関連付けるためにユーザデバイスによって使用されてもよい。
【0085】
図11は、種々の実施形態に係る、画像の第1バージョンを表示している間にコンテンツ管理システムからの画像の第2バージョンのバックグラウンド・ダウンロードを実行するためのプロセスの例示的なフローチャートを示す。プロセス1100は、ステップ1102で始まりうる。ステップ1102で、画像の第1バージョンが、コンテンツ管理システムからダウンロードされうる。ステップ1104で、画像の第1バージョンが、ユーザデバイス上のユーザインタフェース内に表示されうる。ある実施形態では、
図11のコレクション1102及び1104は、
図9のステップ904及び906とほぼ同様であってもよく、後者についてのこれまでの説明が前者に適用できる。
【0086】
ステップ1106で、ユーザとユーザインタフェースとの間の任意のインタラクションに対応するデータが、コンテンツ管理システムの送信を試みられうる。例えば、インタラクション・データは発生時に蓄積されうるが、1つ以上の理由により、送信が可能ではないことがあり、その結果、インタラクションの送信がキューイングされることがある。ある実施形態では、ユーザデバイスとコンテンツ管理システムとの間の接続性のレベルが判定されてもよく、判定されたレベルに基づいて、送信が試みられてもよい。例えば、接続性レベルが弱い又は低い場合に、接続性レベルが強い又は高い場合よりも実質的に低いレートで送信を行うことが試みられてもよい。他の例として、接続性レベルが低い又は弱い場合に、当該レベルが送信用の所定の閾値を上回るまで送信が中断してもよい。
【0087】
ステップ1108で、送信の試みが行われている間に、画像の第2バージョンが、コンテンツ管理システムからバックグラウンドでダウンロードされうる。例えば、ユーザは、画像402aに対してメッセージ408を提供しうる。メッセージ408が伝送ライン430を通じてコンテンツ管理システムへの送信を試みられているときに、画像402aの第2バージョン(例えば、高品質バージョン)が、バックグラウンドでダウンロードされることを試みられうる。これにより、ユーザは、バックグラウンドで第2バージョンのダウンロードを試みる間に、画像の第1バージョンとローカルでインタラクションを行うことが可能でありうる。これは、例えば、接続性レベルが最初は弱いがその後に増加する場合に、ユーザにとって有益でありうる。このように、ユーザは、低い接続性レベルにおいて低品質画像を最初にダウンロードすることができ、その後、接続性が良好になるにつれて、低品質画像とのインタラクションをユーザが行っている間に、高品質画像がバックグラウンドでダウンロードされうる。
【0088】
図12は、種々の実施形態に係る、コンテンツアイテムのコレクションに含まれる1つ以上のコンテンツアイテムを、ユーザインタフェース内でローカルで提示するためのプロセスの例示的なフローチャートを示す。プロセス1200は、ステップ1202で始まりうる。ステップ1202で、画像等の1つ以上のコンテンツアイテムが、複数のコンテンツアイテムから選択されうる。当該1つ以上のコンテンツアイテムは、ユーザデバイスからコンテンツ管理システムへのアップロードのために選択されうる。ある実施形態では、ユーザは、コンテンツ管理システム上にアカウントを有してもよく、1つ以上のコンテンツアイテムのアップロードによって、1つ以上の選択されたコンテンツアイテムが当該ユーザのアカウント内に入れられてもよい。当該1つ以上の選択されたコンテンツアイテムは、ユーザが任意の適切な選択技術を使用することによって選択されうる。ある実施形態では、ユーザは、コンテンツアイテムを選択するために1つ以上のジェスチャを行いうる。例えば、ユーザは、
図3の選択マーカー302aを、その画像を選択するためにタップしうる。
【0089】
ステップ1204で、1つ以上の選択されたコンテンツアイテムは、1つ以上の分類ファクタに基づいて、コレクション内で分類されうる。ある実施形態では、当該コレクションは、1つ以上の類似の分類ファクタを同様に有する、コンテンツ管理システムに既に蓄積された1つ以上の追加のコンテンツアイテムを含みうる。例えば、1つ以上の画像は特定のイベントに対応してもよく、分類によって、当該画像は、コンテンツ管理システム上に既に蓄積されているイベントからの追加の画像とグループ化されうる。ある実施形態では、分類によって、1つ以上のコレクション内の1つ以上のコンテンツアイテムがグループ化されうる。例えば、1つ以上の画像をイベントからの追加画像とまとめることに加えて、分類によって、1つ以上の画像が、1つ以上の画像内にあると判定された類似のコンタクト又は複数のコンタクトを含む、コンテンツ管理システムに蓄積された1つ以上の追加画像とグループ化されうる。種々のタイプの分類ファクタには、地理ファクタ、時間ファクタ、1つ以上のコンテンツアイテム内にあると判定されたコンテンツ、及び/又は1つ以上のコンテンツアイテムの共有が含まれうるが、それらに限定されない。ある実施形態では、分類データは、1つ以上のコンテンツアイテムがコンテンツ管理システムに蓄積される前に、ユーザデバイスへ送信されうるか、又は送信を試みられうる。これにより、ユーザデバイスが、当該1つ以上のコンテンツアイテムを、アップロードが行われる前に、適切なコレクション内に表示することが可能になりうる。
【0090】
ステップ1206で、分類された1つ以上のコンテンツアイテム及び1つ以上の追加のコンテンツアイテムが、ユーザデバイス上で表示されたユーザインタフェース内でローカルで提示されうる。例えば、コレクション202及び204が、ユーザデバイス上のユーザインタフェース200内に表示されうる。ある実施形態では、表示されたユーザインタフェースは、分類とほぼ同時にユーザへ提示されてもよい。例えば、1つ以上のコンテンツアイテムが、コレクション内で分類されてもよいし、また、並行してユーザへ表示されてもよい。
【0091】
ある実施形態では、選択された1つ以上のコンテンツアイテムは、1つ以上の追加のコンテンツアイテムとともにユーザインタフェース内で提示されている間に、コンテンツ管理システムへのアップロードを試みられてもよい。例えば、当該アップロードはバックグラウンドで行われてもよく、ユーザは、当該アップロードの試みが行われている間に、1つ以上の提示あれた画像の視覚化及び/又は当該画像とのンタラクションを行うことが可能であってもよい。
【0092】
図13は、種々の実施形態に係る例示的なシステムを示す。ある実施形態では、
図13のシステム1300は、
図1のシステム100と実質的に類似していてもよい。但し、前者では、システム100の要素をより細かいレベル(例えばモジュール、アプリケーション等)で表している。
【0093】
ある実施形態では、ユーザデバイス102は、ユーザデバイス102上のコンテンツアイテムシステム108a及び108b(纏めると108)内にローカルに蓄積された、及び/又は、コンテンツ管理システム104上(例えばデータストア118内)にリモートで蓄積された、コンテンツアイテム110a及び110b(纏めると110)を、生成し、アクセスし、変更し、及び管理するために使用されてもよい。例えば、ユーザデバイス102aは、コンテンツ管理システム104のデータストア118にリモートで蓄積されているコンテンツアイテム110bにアクセスしてもよく、また、ユーザデバイス102a上のコンテンツアイテムシステム108a内でコンテンツアイテム110bをローカルに蓄積してもよいし、蓄積しなくてもよい。引き続きこの例では、ユーザデバイス102aは、コンテンツアイテム110bを、ユーザデバイス102a上のキャッシュ内にローカルに一時的に蓄積し、コンテンツアイテム110bを変更してもよい。また、コンテンツアイテム110bに対する変更は、コンテンツ管理システム104のデータストア118に通知され、蓄積されてもよい。オプションとして、コンテンツアイテム110aのローカルコピーはユーザデバイス102aに蓄積されてもよい。ある実施形態では、データストア118は、コンテンツアイテムの1つ以上のコレクション132を含んでもよい。例えば、コレクション132は、類似する特性(例えばメタデータ)を有する、及び/又は類似のコンテンツを含む、1つ以上のコンテンツアイテムを含んでもよい。
【0094】
ある実施形態では、ユーザデバイス102は、デジタル画像及び/又はビデオを撮影し記録するためのカメラ138(例えば138a及び138b)を含んでもよい。ユーザデバイス102は、カメラ138を利用して画像のようなコンテンツアイテムを撮影し、記録し、及び/又は蓄積してもよい。例えば、カメラ138は画像を撮影及び記録し、画像をメタデータと共に蓄積してもよい。メタデータは、生成時のタイムスタンプ、地理的位置、方向、回転、タイトル及び/又は任意の他の属性や、撮影画像に関連するデータを含んでもよいが、これらに限定されない。メタデータの値は、メタデータをコンテンツアイテムと関連付け、メタデータの種類を容易に特定するために、属性112として、名前と値の組、タグと値の組、及び/又は任意の他の方法、または、これらの任意の組み合わせが蓄積されてもよい。ある実施形態では、属性112は、特定の規格により規定されるタグと値の組であってもよい。当該規格には、Exif(Exchangeable Image File Format)、Jfif(JPEG File Interchange Format)及び/又は他の標準が含まれるが、これらに限定されない。
【0095】
ある実施形態では、ユーザデバイス102が時刻標準化モジュール146を含んでもよく、コンテンツ管理システム104が時刻標準化モジュール148を含んでもよい。時刻標準化モジュール146(例えば146aと146b)は、コンテンツアイテムと共に蓄積される日時を標準化するために用いられてもよい。時刻標準化モジュール146、対応する時刻標準化モジュール148及び/又はそれらの任意の組合せは、コンテンツアイテムについて蓄積された日時を標準化するために用いられてもよい。標準化された日時は、コンテンツアイテムを、ソート、グループ化、比較の実行、基本的な計算の実行、及び/又はクラスタリングするために用いられてもよい。
【0096】
ある実施形態では、ユーザデバイス102は、体系化モジュール136を含んでもよく、コンテンツ管理システム104は体系化モジュール140を含んでもよい。体系化モジュール136(例えば136aと136b)は、コンテンツアイテムをコンテンツアイテムのクラスタやコレクションに体系化するため、コンテンツアイテムを体系化して、ユーザインタフェース内での表示のためのコンテンツアイテムのサンプリングを提供するため、及び/又は提示目的で体系化されたコンテンツアイテムを取得するために使用されてもよい。体系化モジュール136は、任意のクラスタリングアルゴリズムを用いてよい。体系化モジュール136は、ユーザデバイス102及びコンテンツ管理システム104上のユーザインタフェース内での提示のためにコンテンツアイテムを体系化すべく、クラスタのために類似コンテンツアイテムを識別するために用いられてもよい。様々な類似性の規則に従う各コンテンツアイテム間の類似性の情報を具体化する1つ以上の数値的表現を生成するために、類似性の規則が定義されてもよい。体系化モジュール136は、コンテンツアイテムをクラスタ化するために、コンテンツアイテム間の類似性のリファレンスとして数値的表現を用いてもよい。
【0097】
ある実施形態では、検索リクエストに応じて類似コンテンツアイテムの取得を支援するために、コンテンツアイテムがクラスタに体系化されてもよい。例えば、体系化モジュール136aは、2つの画像が類似すると識別して、これらの画像を共に1つのクラスタにグループ化してもよい。体系化モジュール136aは、対応する体系化モジュール(例えば140及び/又は136b)とは独立に、及び/又は、共同して、クラスタを決定するためにコンテンツアイテムを処理してもよい。他の実施形態では、体系化モジュール136aは、対応する体系化モジュール(例えば140及び/又は136b)に、識別したクラスタのみを表示のために提供してもよい。この例を続けると、クラスタを決定するためのコンテンツアイテムの処理は、新たなコンテンツアイテム及び/又は新たな類似性規則を受けつけると実行される、反復処理であってもよい。
【0098】
ある実施形態では、ユーザデバイス102aが分類モジュール150aを含む一方、ユーザデバイス102bが分類モジュール150b(纏めて150)を含んでいてもよい。これらは、独立に、コンテンツ管理システム104の体系化モジュール152とともに、及び/又は、コンテンツアイテムを分類するため、コンテンツアイテムを変更するため、及び/又は画像を分類するために、それらの任意の組み合わせにおいて、利用されてもよい。例えば、分類モジュール150及び/又は152は、画像がドキュメントを含むかを判定し、含む場合に蓄積されるドキュメントの種類を判定するために用いられてもよい。コンテンツアイテムの変更は、コンテンツアイテムの表示を改善(例えば、画像内のドキュメントの表示を訂正)すべく、コンテンツアイテムを訂正するため、更なる変換を実行するため、及び/又はコンテンツアイテムをクロップするために実行されてもよい。
【0099】
ある実施形態では、ユーザデバイス102aは、検索モジュール142aを含んでもよく、その一方でユーザデバイス102bは検索モジュール142bを含んでもよい。これらは纏めて検索モジュール142として参照されてもよい。コンテンツ管理システム104には、対応する検索モジュール144が提供されてもよい。検索モジュール142及び144のそれぞれは、ユーザデバイス102及び/又はコンテンツ管理システム104の両方に置かれたコンテンツアイテムの検索をサポート可能であってもよい。1つ以上のコンテンツアイテムをリクエストする検索リクエストが、検索モジュール142及び/又は144によって受け付けられてもよい。ある実施形態では、検索は、管理サービスの提供の際にコンテンツアイテムに割り当てられるメタデータ及び/又は属性を検索することによって処理されうる。例えば、コンテンツアイテムと共に蓄積されたクラスタマーカーは、日付によりコンテンツアイテムを発見するために用いられてもよい。この特定のシナリオでは、クラスタマーカーは、クラスタマーカーと共に蓄積されたコンテンツアイテムの概算時刻または平均時刻を示してもよい。また、このマーカーは、検索を高速化すること、及び/又は、検索結果に特定のクラスタマーカーを有するクラスタのコンテンツを付与するために利用されてもよい。
【0100】
コンテンツ管理システム104によって管理されているコンテンツアイテム110は、各ユーザデバイス102のコンテンツアイテムシステム108にローカルに、及び/又は、コンテンツ管理システム104のデータストア118にリモートに(例えばデータストア118内のコンテンツアイテム134)に蓄積されていてもよい。コンテンツ管理システム104は、そこで管理されているコンテンツアイテムの同期をとってもよい。属性112a及び112b(纏めて112)、または他のメタデータが、コンテンツアイテム110と共に蓄積されていてもよい。例えば、特定の属性は、コンテンツ管理システム104によって管理及び/又は同期される、ユーザデバイス102にローカルに蓄積されたコンテンツアイテムを追跡するために、コンテンツアイテムと共に蓄積されうる。ある実施形態では、属性112は、拡張属性、リソースフォーク、又は、コンテンツアイテムシステム108等のコンテンツアイテムシステムによって解釈されないコンテンツアイテムと共にメタデータを蓄積可能な任意の他の実装を用いて実装されてもよい。特に、属性112a及び112bは、コンテンツアイテムのためのコンテンツ識別子であってもよい。例えば、コンテンツ識別子は、コンテンツアイテムを識別する、ユニーク又はほぼユニークな識別子(例えば番号や文字列)であってもよい。コンテンツアイテムと共にコンテンツ識別子を蓄積することにより、コンテンツアイテムを追跡してもよい。例えば、ユーザがコンテンツアイテムをコンテンツアイテムシステム108内の階層的に別の場所に移動し、及び/又は、当該コンテンツを変更しても、コンテンツアイテムはユーザデバイス102のコンテンツアイテムシステム108内で依然として識別されてもよい。コンテンツ識別子で識別されたコンテンツアイテムに対する任意の変更又は修正は、コンテンツ管理システム104が提供する同期及び/又はバージョン管理サービスのためにアップロード又は提供されてもよい。
【0101】
スタンドアローンのコンテンツ管理アプリケーション114aと114b(纏めて114)、クライアントアプリケーション、及び/又はサードパーティアプリケーションが、ユーザデバイス102a及び102b上でそれぞれ実行されてもよく、ユーザがコンテンツ管理システム104とインタラクトするためのユーザインタフェースが提供される。コンテンツ管理アプリケーション114は、コンテンツ管理インターフェースモジュール154に提供される機能と、ユーザデバイス102のためにアクセス可能なモジュールを示してもよい。ウェブブラウザ116aと116b(纏めて116)は、クライアントアプリケーションのためにウェブページフロントエンドを表示するのに利用されてもよい。クライアントアプリケーションは、コンテンツ管理インターフェースモジュール154により提示、或いは、提供されるコンテンツ管理104の機能を提供してもよい。
【0102】
コンテンツ管理システム104は、認証されたアカウントを有するユーザがコンテンツを蓄積することを許容し、また、取得、変更、ブラウズ、同期及び/又は他のアカウントとのコンテンツ共有のような管理タスクを実行する。コンテンツ管理システム104の様々な実施形態は、以下の要素を含むことができるが、これらに限定されるものではない。コンテンツ管理インターフェースモジュール154、アカウント管理モジュール120、同期モジュール122、コレクションモジュール124、共有モジュール126、ファイルシステム抽象化128、データストア118、及び体系化モジュール140。コンテンツ管理インターフェースモジュール154は、コンテンツ管理システム104のサーバサイド又はバックエンドの機能/性能を提示してもよい。例えば、ユーザがコンテンツ管理システム104が提供する機能を実行できるようにするために、ユーザデバイス102上の対応ユーザインタフェース(例えばスタンドアローンのアプリケーション、クライアントアプリケーション等)は、コンテンツ管理インターフェースモジュール154を利用して実装されてもよい。
【0103】
ユーザデバイス102に表示されるユーザインタフェースは、アカウント管理モジュール120を利用して、ユーザがアカウントを生成し、及び/又はユーザの当該アカウントの利用を認証するために利用されてもよい。アカウント管理モジュール120は、ユーザ及び/又はユーザデバイス102によるアカウントの利用を、ユーザ名/パスワード、デバイス識別子、及び/又は任意の他の認証方法を用いて認証する機能を提供してもよい。アカウント情報130は、データストア118内でアカウントのために保持されてもよい。アカウント情報は、以下を含むことができるが、それに限定されるものではない。個人情報(例えば、電子メールアドレス又はユーザ名)、アカウント管理情報(例えば、「無料」や「有料」等のアカウントの種類)、利用情報(コンテンツアイテムの編集履歴)、最大許容ストレージ空間、使用済みストレージ空間、コンテンツの蓄積場所、セキュリティ設定、個人構成設定、コンテンツ共有データ等。また、コンテンツ管理システム104上のストレージ空間の量は、予約され、分配され、確保され、蓄積され、及び/又は認証済アカウントによりアクセスされてもよい。アカウントは、データストア118内のそのアカウント用のコンテンツアイテム134及び/又はコンテンツアイテム110にアクセスするために、及び/又は、コンテンツアイテム134及び/又はコンテンツアイテム110を、他のアカウントと共有されたアカウントからアクセス可能にするために利用されてもよい。ある実施形態では、アカウント管理モジュール120は、コンテンツ管理システム104の任意の数の他のモジュールとインタラクトしてもよい。
【0104】
ある実施形態では、コンテンツ管理システム104上のアカウントは、アカウントにより承認された1つ以上のユーザデバイス102からのドキュメント、テキストアイテム、音声アイテム、ビデオアイテム等のコンテンツを蓄積するために利用されてもよい。コンテンツはまた、振る舞いの異なる様々な種類のコンテンツのコレクション、又は、複数のコンテンツアイテムを一緒にグループ化する他のメカニズムに基づく様々な種類のコンテンツのコレクションを含んでもよい。例えば、アカウントは、任意のユーザがアクセス可能であってもよいところの公開コレクションを含んでもよい。ある実施形態では、公開コレクションにはウェブでアクセスが可能なアドレスが割り当てられてもよい。ウェブでアクセス可能な当該アドレスへのリンクは、公開フォルダのコンテンツにアクセスするために利用されてもよい。他の例では、アカウントは、写真及び/又はビデオを蓄積しうる写真コレクションを含んでいてもよく、また、写真及び/又はビデオ用の特定の属性及び行為を提供してもよい。アカウントはまた、音声アイテムを再生し、他の音声関連の行為を実行する性能を提供する、音声コレクションを含んでもよい。アカウントはさらに、特定目的のコレクションを含んでもよい。アカウントはまた、複数のユーザアカウントにリンクされ、これらのアカウントから利用可能な共有コレクション又はグループコレクションを含んでもよい。ある実施形態では、共有コレクションへのアクセスは、共有コレクションにアクセス可能な個々のユーザごとに異なっていてもよい。
【0105】
コンテンツアイテム110及び/又はコンテンツアイテム134は、データストア118に蓄積されてもよい。ある実施形態では、データストア118は、ストレージデバイス、複数のストレージデバイス、又はサーバであってもよい。また、データストア118は、1つ以上の通信ネットワークを介してアクセス可能な、クラウドストレージプロバイダ又はネットワークストレージであってもよい。コンテンツ管理システム104は、コンテンツアイテムがコンテンツ管理システム104によってどこに蓄積されているのかをユーザデバイス102が正確に知る必要がないように、コンテンツアイテムのシステム抽象化128(例えば、コンテンツアイテムのシステムデータベース抽象化レイヤ)を用いて、複雑さや詳細をユーザデバイス102から秘密にしてもよい。実施形態では、コレクションアイテムがユーザデバイス102上に現れるように、それらを同一コレクション階層に蓄積してもよい。また、コンテンツ管理システム104は、様々な順番、配置、及び/又は階層においてコンテンツアイテムを蓄積してもよい。コンテンツ管理システム140は、コンテンツアイテムを、ネットワークアクセス可能ストレージ(SAN)デバイス、RAID(redundant array of inexpensive disks)等に蓄積してもよい。コンテンツ管理システム104は、コンテンツアイテムを、FAT、FAT32、NTFS、EXT2、EXT3、EXT4、ReiserFS、BTRFS等の1つ以上のパーティションタイプを用いて蓄積してもよい。
【0106】
データストア118はまた、コンテンツアイテム、コンテンツアイテムの種類、及び様々なアカウント、フォルダ、コレクション、又はグループとのコンテンツアイテムの関係を表すメタデータを蓄積してもよい。このコンテンツアイテムのためのメタデータは、コンテンツアイテムの一部として、及び/又は別々に蓄積されてもよい。メタデータは、オブジェクト指向データベース、リレーショナルデータベース、コンテンツアイテムシステム、又は任意の他のデータのコレクションに蓄積されてもよい。ある実施形態では、データストア118に蓄積された各コンテンツアイテムは、システム全体にわたってユニークな識別子が割り当てられてもよい。
【0107】
ある実施形態では、データストア118は、コンテンツアイテムの複製やコンテンツアイテムのチャンクを特定することにより、リクエストされるストレージ空間の量を削減してもよい。複数のコピーを蓄積する代わりに、データストア118は、コンテンツアイテム134の1つのコピーを蓄積し、かつ、ポインタや1つのコピーと複製をつなぐための他のメカニズムを利用してもよい。同様に、データストア118は、より効率的にコンテンツアイテム134を蓄積すると共に、コンテンツアイテムに対する変更、コンテンツアイテムの異なるバージョン(バージョンツリーの分岐を含む)、及び変更履歴を追跡するコンテンツアイテムバージョン管理を利用することによって、アンドゥ(Undo)操作の機能を提供してもよい。変更履歴は、いつ元のコンテンツアイテムのバージョンに変更が適用され、変更されたコンテンツアイテムのバージョンを生成したかの、変更のセットを含んでもよい。
【0108】
コンテンツ管理システム104は、1つ以上のユーザデバイス102からのコンテンツの自動同期処理をサポートするように構成されてもよい。同期処理は、プラットフォーム非依存であってもよい。すなわち、コンテンツは、種類、性能、オペレーティングシステム等が様々な複数のユーザデバイス102にわたって同期されてもよい。例えば、ユーザデバイス102aは、コンテンツ管理システム104の同期モジュール122を介して、ユーザデバイス102のコンテンツアイテムシステム108内のコンテンツを、関連ユーザアカウントのコンテンツと同期させるクライアントソフトウェアを含んでもよい。場合によっては、クライアントソフトウェアは、コンテンツアイテムやフォルダ等の新規作成、削除、変更、コピー又は移動といった、指定されたコレクション及びそのサブコレクション内のコンテンツに対する任意の変更の同期を取ってもよい。既存のコンテンツ管理アプリケーションと統合されるクライアントソフトウェアの一例では、ユーザはローカルフォルダ内でコンテンツを直接に操作してもよく、その一方でバックグラウンドプロセスがローカルコンテンツの変更を監視し、コンテンツ管理システム104と変更を同期する。ある実施形態では、バックグラウンドプロセスは、コンテンツ管理システム104において更新されたコンテンツを特定し、ローカルコレクションと当該変更の同期を取る。クライアントソフトウエアは同期操作の通知を提供してもよく、コンテンツ管理アプリケーション内で直接、コンテンツ状態の表示を提供してもよい。ある実施形態では、ユーザデバイス102は利用可能なネットワーク接続を有さない場合がある。このシナリオでは、クライアントソフトウエアはコンテンツアイテムの変更がないかリンクされたコレクションを監視し、後にネットワーク接続が利用可能となったときにコンテンツ管理システム104に対して同期を実行するべくそのような変更を待ち行列に入れてもよい。同様に、ユーザは、コンテンツ管理システム104との同期を手動で止めるか一時停止してもよい。
【0109】
ユーザはまた、コンテンツ管理インターフェースモジュール154によって生成され提供されるウェブインターフェースを介してコンテンツを見たり操作したりしてもよい。例えば、ユーザはウェブブラウザ内でコンテンツ管理システム104によって提供されたウェブアドレスへ、辿り着いてもよい。コンテンツアイテムの新バージョンをアップロードするといったウェブインターフェースを介したデータストア118内のコンテンツに対する変更や更新は、ユーザアカウントと関連付けられた他のユーザデバイス102へ伝搬されてもよい。例えば、それぞれが自身のクライアントソフトウェアを有する複数のユーザデバイス102が1つのアカウントと関連付けられてもよく、アカウント内のコンテンツアイテムは複数のユーザデバイス102のそれぞれの間で同期されてもよい。
【0110】
コンテンツ管理システム104は、コンテンツ及び/またはコンテンツのコレクションの公的又は私的な共有を管理するための共有モジュール126を含んでもよい。共有モジュール126は、共有の管理を独立に行ってもよいし、あるいは、ユーザデバイス102aに配置された対応共有モジュール152a及びユーザデバイス102bに配置された対応共有モジュール152b(纏めて、共有モジュール152)と共同で行ってもよい。コンテンツの公的共有は、コンテンツアイテム及び/又はそのコレクションを、コンテンツ管理システム104を利用したネットワーク通信における任意のデバイスからアクセス可能にすることを含んでもよい。コンテンツの私的共有は、データストア118内のコンテンツアイテム及び/又はそのコレクションを、2以上のユーザアカウントとリンクして、各ユーザアカウントがコンテンツへアクセス可能にすることを含んでもよい。この共有は、プラットフォーム非依存形態で実行されてもよい。すなわち、コンテンツは、種類、性能、オペレーティングシステム等が様々の複数のユーザデバイス102にわたって共有されてもよい。例えば、共有コンテンツアイテムにアクセスするために、1つ以上の共有リンクがユーザ又はユーザのコンタクトに提供されてもよい。コンテンツはまた、様々な種類のユーザアカウントにわたって共有されてもよい。特に、仮想コレクションを他のユーザ又は他のユーザアカウントと共有することを可能にために、共有モジュール126がコレクションモジュール124と共に用いられてもよい。仮想コレクションは、コンテンツ識別子のコレクションであってもよく、それらは、ユーザデバイス102のコンテンツアイテムシステム108内の様々な場所に、及び/又は、リモートでコンテンツ管理システム104に、蓄積されてもよい。
【0111】
ある実施形態では、コンテンツ管理システムのアカウントのための仮想コレクションは、(例えば、ストレージ内のコンテンツアイテムを識別する)コンテンツアイテムの1つ以上の識別子のコレクションに対応してもよい。仮想コレクションは、コレクションモジュール124を用いて、コンテンツ管理システムによって蓄積され及び/又は管理された既存のコンテンツアイテムから選択し、データストレージにある既存のコンテンツアイテムを仮想コレクションと関連付ける(例えば、蓄積場所、コンテンツ識別子、又は蓄積されたコンテンツアイテムのアドレスと関連付ける)ことにより生成されてもよい。既存のコンテンツアイテムを仮想コレクションと関連付けることにより、コンテンツアイテムを仮想コレクションの一部に指定してもよい。その際、コンテンツアイテムをコレクション内に置くために、データストレージ内の他の場所にコンテンツアイテムを蓄積する(例えばコンテンツアイテムをディレクトリにコピー及びペーストする)必要がない。
【0112】
ある実施形態では、コンテンツ管理システム104は、コンテンツアイテムのためのコンテンツディレクトリ又はデータベーステーブル/エントリを保持するように構成されてもよい。ここで、各エントリや行は、データストア118内の各コンテンツアイテムの場所を特定する。ある実施形態では、データストア118内に蓄積される各コンテンツアイテムのために、ユニーク又はほぼユニークな識別子が蓄積されてもよい。
【0113】
ある実施形態では、メタデータが各コンテンツアイテムのために蓄積されてもよい。例えば、メタデータは、コンテンツアイテムを識別するために用いられるコンテンツのパスを含んでいてもよい。コンテンツのパスは、コンテンツアイテムの名前と、コンテンツアイテムと関連付けられたコンテンツアイテムの階層(例えば、ユーザデバイス102内のローカルな蓄積に対するパス)とを含んでもよい。コンテンツ管理システム104は、従来的な階層ビューを有するユーザインタフェースにおいて適切なコンテンツアイテムの階層でコンテンツアイテムを表示するために、コンテンツのパスを使用してもよい。データストア118内のコンテンツアイテムの場所を識別するコンテンツのポインタもまた、コンテンツ識別子と共に蓄積されてもよい。例えば、コンテンツのポインタは、メモリ内のコンテンツアイテムの正確な蓄積アドレスを含んでもよい。ある実施形態では、コンテンツのポインタは、それぞれがコンテンツアイテムの一部を含む複数の場所を指し示してもよい。
【0114】
コンテンツのパス及びコンテンツのポインタに加えて、コンテンツアイテムのエントリ/コンテンツアイテムデータベースエンティティのデータベーステーブル行は、コンテンツアイテムへのアクセス権を有するユーザアカウントを識別するユーザアカウント識別子を含んでもよい。ある実施形態では、複数のユーザアカウント識別子は、コンテンツアイテムのアクセス権が複数のユーザアカウントにより共有されていることを示す単一コンテンツエントリと関連付けられてもよい。
【0115】
コンテンツアイテムを私的に共有するために、共有モジュール126は、コンテンツアイテムと関連付けられたコンテンツエントリ又はデータベーステーブル行にユーザアカウント識別子を追加するように構成されてもよく、これにより、追加されたユーザアカウントによるコンテンツアイテムへのアクセスを許可する。共有モジュール126はまた、コンテンツアイテムへのユーザアカウントのアクセスを制限するために、コンテンツエントリ又はデータベーステーブル行からユーザアカウント識別子を削除するように構成されてもよい。仮想コレクションについて、データベーステーブルへユーザアカウントを追加又は削除するために、共有モジュール126が利用されてもよい。
【0116】
コンテンツを公的に共有する場合、共有モジュール126は、URL(uniform resource locator)のようなカスタムネットワークアドレスを生成するように構成されてもよい。これにより、認証無しで任意のブラウザからコンテンツ管理システム104内のコンテンツにアクセスすることが可能となる。これを実現するために共有モジュール126は、生成されたURLにコンテンツ識別データを含めるように構成されてもよく、当該コンテンツ識別データは、リクエストされたコンテンツアイテムを適切に識別し、返信するために後に用いられてもよい。例えば、共有モジュール126は、ユーザアカウント識別子とコンテンツのパスとを生成されたURLに含めるように構成されてもよい。URLが選択されると、URLに含まれるコンテンツ識別データはコンテンツ管理システム104に送信されてもよい。コンテンツ管理システム104は受信したコンテンツ識別データを使用して適切なコンテンツエントリを識別し、そのコンテンツエントリに関連付けられたコンテンツアイテムを返信してもよい。
【0117】
仮想コレクションを公的に共有する場合、共有モジュール126は、URL(uniform resource locator)のようなカスタムネットワークアドレスを生成するように構成されてもよい。これにより、認証無しで任意のブラウザからコンテンツ管理システム104内のコンテンツにアクセスすることが可能となる。これを実現するために共有モジュール126は、生成されたURLにコレクション識別データを含めるように構成されてもよく、当該コンテンツ識別データは、リクエストされたコンテンツアイテムを適切に識別し、返信するために後に用いられてもよい。例えば、共有モジュール126は、ユーザアカウント識別子とコレクション識別子とを生成されたURLに含めるように構成されてもよい。URLが選択されると、URLに含まれるコンテンツ識別データはコンテンツ管理システム104に送信されてもよい。コンテンツ管理システム104は受信したコンテンツ識別データを使用して適切なコンテンツエントリまたはデータベース行を識別し、そのコンテンツエントリまたはデータベース行に関連付けられたコンテンツアイテムを返信してもよい。
【0118】
URLの生成に加えて、共有モジュール126はまた、コンテンツアイテムへのURLが生成されたことを記録するように構成されてもよい。ある実施形態では、コンテンツアイテムに関連付けられたコンテンツエントリは、コンテンツアイテムへのURLが生成されたかどうかを示すURLフラグを含んでもよい。例えば、URLフラグは、コンテンツアイテムへのURLがまだ生成されていないことを示すために最初に0またはfalseに設定されるブール値であってもよい。共有モジュール126は、コンテンツアイテムへのURLを生成した後は、フラグの値を1またはtrueに変更するよう構成されてもよい。
【0119】
ある実施形態では、共有モジュール126は生成されたURLを非アクティブ化するように構成されてもよい。例えば、各コンテンツエントリは、生成されたURLからのリクエストに応じてコンテンツが返信されるべきかどうかを示すURLアクティブフラグを含んでもよい。例えば、共有モジュール126は、URLアクティブフラグが1又は「true」に設定されている場合、生成されたリンクによりリクエストされたコンテンツアイテムのみを返信するように構成されてもよい。URLアクティブフラグ値又はブール値を変更することで、URLが生成されたコンテンツアイテム又はコレクションへのアクセスを容易に制限してもよい。これにより、ユーザは、コンテンツアイテムを移動したり生成されたURLを削除したりする必要なく、共有コンテンツに対するアクセスを制限することができる。同様に、共有モジュール126は、URLアクティブフラグの値を1又は「true」に再び変更することによりURLを再アクティブ化してもよい。従って、ユーザは、新たなURLを生成する必要なしに、コンテンツアイテムへのアクセスを容易に回復してもよい。
【0120】
<例示的システム>
本発明の例示的な実施形態では、特定の実施形態のルーチンを実装するために任意の適切なプログラミング言語を用いてもよい。当該プログラミング言語には、C、C++、Java(登録商標)、JavaScript(登録商標)、Python、Ruby、CoffeeScript、アセンブリ言語等を含む。また、手続型又はオブジェクト指向等の異なるプログラミング技術を採用してもよい。ルーチンは、1つの処理デバイス又は複数のプロセッサ上で実行しうる。ステップ、操作、コンピュータ処理は特定の順番で表されうるが、この順番は異なる特定の実施形態において変更されうる。ある特定の実施形態では、本明細書において連続的に示された複数のステップは、同時に実行されうる。
【0121】
特定の実施形態は、命令実行システム、装置、システム又はデバイスと共に使用するためのコンピュータ可読ストレージデバイス又は非一時的なコンピュータ可読媒体に実装されうる。特定の実施形態は、ソフトウェア又はハードウェア又は両方の組み合わせの制御ロジックの形式で実装されうる。この制御ロジックは、1つ以上のプロセッサで実行されたときに、特定の実施形態に記載されたものを実行するために動作可能でありうる。
【0122】
特定の実施形態が、プログラムされた汎用デジタルコンピュータ、特定用途向け集積回路(ASIC)、プログラマブルロジックデバイス、FPGA(field programmable gate arrays)、光学的、化学的、生物学的、量子又はナノ加工のシステム、コンポーネント及び機構を利用して実装されてもよい。一般に、特定の実施形態の機能は、この分野で知られている任意の手段により実現されてもよい。分散化され、ネットワーク化されたシステム、コンポーネント、及び/又は回路が用いられてもよい。データの通信又は伝送は有線、無線又は任意の他の手段により実施されてもよい。
【0123】
図/図面に示された要素の1つ以上は、より分割された又は統合された方法で実装されてもよく、また、特定のアプリケーションに従って有用なものであっても、削除され又はある場合には動作しないものとみなされてもよいことは理解されるであろう。ストレージデバイス等のマシン可読媒体に蓄積されてもよいところのプログラムやコードを実装して、上述した任意の方法をコンピュータに実行させることは、精神及び範囲の内である。
【0124】
本明細書中及び以下の特許請求の範囲において使われるように、「a」、「an」及び「the」は文脈において明示的に述べない限り複数の参照を含む。また、本明細書中の記載及び以下の特許請求の範囲において使われるように、「中で(in)」の意味はコンテキストが明示的に述べない限り「中で(in)」及び「上で(on)」を含む。
【0125】
種々の動作モードにおいてインタラクティビティ機能のセットをユーザが利用できるユーザインタフェースを提供するための方法について記載してきたが、本発明の精神及び範囲から乖離することなく多くの変更がなされうることが理解されるべきである。技術分野の当業者から見てクレームされた主題に対して実質的でない変更や、知られていない、或いは、後に発明されたものも、同等に請求項の範囲内に含まれるものである。従って、技術分野の当業者にとって、現在または後に知られることになる明白な代替物は、定義された要素の範囲内であると定義される。本発明の記述した実施形態は、説明の目的のために提示されたものであって、限定目的で提示されてものではない。