(58)【調査した分野】(Int.Cl.,DB名)
前記1つまたは複数のブレークポイントが、前記ビューポート空間の前記高さ、前記幅、および前記アスペクト比に基づくそれぞれのブレークポイントを含む、請求項1に記載のシステム。
前記ブレークポイントマネージャが、前記1つまたは複数のブレークポイントに基づいて、前記ビューポート空間の2つ以上のインターバルをさらに生成し、前記インターバルの各々が互いに重複とは無関係である、請求項1に記載のシステム。
前記ブレークポイントマネージャが、前記ビューポート空間において新しいブレークポイントを挿入すること、前記ビューポート空間内で以前から存在するブレークポイントを移動させること、または前記ビューポート空間から以前から存在するブレークポイントを削除することによって、前記1つまたは複数のブレークポイントを生成する、請求項1に記載のシステム。
前記ブレークポイントマネージャが、前記デジタルコンテンツアイテムの向きに基づいて、前記ビューポート空間のアスペクト比ブレークポイントを追加すること、または、前記ビューポート空間の以前から存在するアスペクト比ブレークポイントを除去することによって、前記1つまたは複数のブレークポイントを生成する、請求項1に記載のシステム。
前記1つまたは複数のブレークポイントが、前記ビューポート空間の前記高さ、前記幅、および前記アスペクト比に基づくそれぞれのブレークポイントを含む、請求項8に記載のコンピュータ実装方法。
前記1つまたは複数のサーバによって、前記1つまたは複数のブレークポイントに基づいて、前記ビューポート空間の2つ以上のインターバルを生成するステップであって、前記インターバルの各々が互いに重複とは無関係である、ステップをさらに含む、請求項8に記載のコンピュータ実装方法。
前記1つまたは複数のブレークポイントを生成するステップが、前記ビューポート空間において新しいブレークポイントを挿入するステップ、前記ビューポート空間内で以前から存在するブレークポイントを移動させるステップ、または前記ビューポート空間から以前から存在するブレークポイントを削除するステップを含む、請求項8に記載のコンピュータ実装方法。
前記1つまたは複数のブレークポイントを生成するステップが、前記デジタルコンテンツアイテムの向きに基づいて、前記ビューポート空間のアスペクト比ブレークポイントを追加するステップ、または、前記ビューポート空間の以前から存在するアスペクト比ブレークポイントを除去するステップを含む、請求項8に記載のコンピュータ実装方法。
1つまたは複数のコンピュータによって実行可能な命令を備えるソフトウェアを記憶する、コンピュータ可読記録媒体であって、前記命令が、実行時に、前記1つまたは複数のコンピュータに、
1つまたは複数のサーバによって、デジタルコンテンツアイテムのビューポート空間を含む、ユーザインターフェースを生成するステップと、
前記1つまたは複数のサーバによって、前記ユーザインターフェースを通して、ブレークポイントのユーザ入力を受信するステップと、
前記1つまたは複数のサーバによって、前記ユーザ入力に基づく前記ビューポート空間の高さ、幅、またはアスペクト比に基づいて前記ビューポート空間の1つまたは複数のブレークポイントを生成するステップであって、前記ユーザインターフェースに含まれる前記ビューポート空間の表現が、前記1つまたは複数のブレークポイントの各々に割り当てられる前記高さ、幅、またはアスペクト比を視覚的に示す、ステップと、
前記1つまたは複数のブレークポイントに基づいて、前記1つまたは複数のサーバによって、2つ以上のフォーマッティングルールを生成するステップであって、前記2つ以上のフォーマッティングルールは各々は、適用されるとき、前記デジタルコンテンツアイテムの異なるバージョンを作成し、前記2つ以上のフォーマッティングルールのうちの異なるものが、異なるサイズのビューポート空間に適用される、ステップと、
前記1つまたは複数のサーバによって、所与のクライアントデバイスに、電子文書内に表示するために前記デジタルコンテンツアイテムを配信するステップであって、前記配信するステップが、前記所与のクライアントデバイスに、i)前記デジタルコンテンツアイテムのテキストまたは画像コンテンツと、ii)前記2つ以上のフォーマッティングルールとを与えるステップを含み、前記2つ以上のフォーマッティングルールが、前記2つ以上のフォーマッティングルールと、前記デジタルコンテンツアイテムが提示されるディスプレイエリアのサイズとに基づいて、前記デジタルコンテンツアイテムの適切なバージョンを動的にレンダリングおよび表示することをクライアント側アプリケーションに行わせる、ステップと
を含む動作を行わせる、コンピュータ可読記録媒体。
前記1つまたは複数のブレークポイントが、前記ビューポート空間の前記高さ、前記幅、および前記アスペクト比に基づくそれぞれのブレークポイントを含む、請求項15に記載のコンピュータ可読記録媒体。
前記動作が、前記1つまたは複数のサーバによって、前記1つまたは複数のブレークポイントに基づいて、前記ビューポート空間の2つ以上のインターバルを生成するステップであって、前記インターバルの各々が互いに重複とは無関係である、ステップをさらに含む、請求項15に記載のコンピュータ可読記録媒体。
前記1つまたは複数のブレークポイントを生成するステップが、前記ビューポート空間において新しいブレークポイントを挿入するステップ、前記ビューポート空間内で以前から存在するブレークポイントを移動させるステップ、または前記ビューポート空間から以前から存在するブレークポイントを削除するステップを含む、請求項15に記載のコンピュータ可読記録媒体。
【発明を実施するための形態】
【0009】
本文書は、デジタルコンテンツのディスプレイのフォーマッティングを容易にする方法、システム、およびコンピュータ可読媒体について説明する。たとえば、本明細書で説明するシステムは、デジタルコンテンツアイテムのビューポート空間の視覚化を含む、ユーザインターフェースを生成する。ユーザは、ユーザインターフェースと対話して、1つまたは複数のブレークポイント(たとえば、デジタルコンテンツアイテムのためのフォーマッティングが変化することになるアスペクト比)の所望の位置決めを含む、ユーザ入力を与える。システムは、ユーザ入力に基づいて、ブレークポイントを生成する。ブレークポイントは、ビューポート空間の各区分、またはインターバルがフォーマッティングルールに関連付けられるように、ビューポート空間の所望の区分を示す。ブレークポイントは、ビューポート空間の高さ、幅、および/またはアスペクト比に基づき得る。システムは、フォーマッティングルールが適用されるとき、各フォーマッティングルールがデジタルコンテンツアイテムの異なるバージョンを作成するように、ブレークポイントに基づいてフォーマッティングルールを生成する。システムは、デジタルコンテンツアイテムを、クライアントデバイスによって電子文書内で表示するために、クライアントデバイスに配信する。配信は、クライアントデバイスに、デジタルコンテンツアイテムのテキストまたは画像コンテンツと、フォーマッティングルールとを与えることを含む。フォーマッティングルールは、フォーマッティングルールと、デジタルコンテンツアイテムが提示されるべきディスプレイエリアのサイズとに基づいて、デジタルコンテンツアイテムをレンダリングおよび表示することを、クライアント側アプリケーションに行わせる。
【0010】
図1は、デジタルコンテンツアイテムのディスプレイをフォーマットするための環境100を示す。環境100は、サーバコンピューティングシステム102と、クライアントコンピューティングデバイス104と、デジタルコンテンツアイテムリポジトリ106とを含む。サーバコンピューティングシステム102は、ブレークポイントマネージャ108と、フォーマッティングルールジェネレータ110とをさらに含む。クライアントコンピューティングデバイス104は、1つまたは複数のネットワークを介して、サーバコンピューティングシステム102と通信している。サーバコンピューティングシステム102は、1つまたは複数のネットワークを介して、デジタルコンテンツアイテムリポジトリ106と通信している。
【0011】
いくつかの実装形態では、サーバコンピューティングシステム102は、デジタルコンテンツアイテム116のビューポート空間114を含む、ユーザインターフェース112を生成する。具体的には、ビューポート空間114は、たとえば、サーバコンピューティングシステム102および/またはクライアントコンピューティングデバイス104によって、デジタルコンテンツアイテム116の表現が表示のためにレンダリングされるエリアである。デジタルコンテンツアイテム116は、テキスト、画像、および/またはビデオを含む、任意のタイプのデジタルコンテンツを含み得る。サーバコンピューティングシステム102は、デジタルコンテンツアイテムリポジトリ106から、ビューポート空間114内の表示のために、デジタルコンテンツアイテム116を取得する。
【0012】
いくつかの実装形態では、サーバコンピューティングシステム102は、ユーザインターフェース112を通して、ユーザ入力を受信する。具体的には、ユーザインターフェース112に関連付けられたユーザは、ユーザ入力を与えるために、ユーザインターフェース112と対話(たとえば、キーボード、マウス、タッチスクリーン、またはその他を介して入力)する。特に、
図2は、
図1のユーザインターフェース112、および具体的には、デジタルコンテンツアイテム116を含むビューポート空間114のグラフィカル表現を示す。図示の例では、デジタルコンテンツアイテム116は、第1のアイテム118aと第2のアイテム118bと(アイテム118と総称される)を含む。そのために、ユーザは、ユーザ入力を与えるために、ビューポート空間114および/またはデジタルコンテンツアイテム116と対話することができる。いくつかの例では、ユーザ入力は、以下でさらに説明する、ビューポート空間114のブレークポイント、および具体的には、ブレークポイントを挿入すること、以前から存在するブレークポイントを移動させること、またはブレークポイントを削除することに関連付けられる。
【0013】
いくつかの実装形態では、ユーザ入力に基づいて、サーバコンピューティングシステム102、および具体的には、ブレークポイントマネージャ108は、ビューポート空間114の1つまたは複数のブレークポイントを自動的に生成する。具体的には、ブレークポイントマネージャ108は、ユーザ入力に基づいて、ブレークポイント120aを生成する。ブレークポイント120aは、2つ以上のインターバル(または区分)へのビューポート空間114の区分に関連付けられる。
図2の図示の例では、ユーザは、ブレークポイント120aを生成するために、ユーザ入力を与える。具体的には、ビューポート空間114は、ビューポート空間114の第1の幅における、たとえば、620ピクセルにおける、第1のブレークポイント120aを含む。第1のブレークポイント120aは、ビューポート空間114を、620ピクセル未満の第1のインターバル122aと、620ピクセルよりも大きい第2のインターバル122bとに区分する。すなわち、ブレークポイント120aは、ビューポート空間114の幅に基づく。
【0014】
いくつかの実装形態では、ブレークポイントに基づいて、サーバコンピューティングシステム102、および具体的には、フォーマッティングルールジェネレータ110は、それぞれのフォーマッティングルールが適用されるとき、デジタルコンテンツアイテム116の異なるバージョンを各々作成する、フォーマッティングルールを生成する。すなわち、フォーマッティングルールジェネレータ110は、適切な対応するインターバル122a、122bに関連付けられるブレークポイント120aに基づいて、2つのフォーマッティングルールを生成する。
図2の図示の例では、第1のフォーマッティングルールは、第1のインターバル122aに関連付けられ、第2の、異なるフォーマッティングルールは、第2のインターバル122bに関連付けられる。そのために、異なるフォーマッティングルールが、異なるサイズのビューポート空間114に適用される。たとえば、ビューポート空間114の幅がブレークポイント120a未満、たとえば、620ピクセル未満であるとき、第1のフォーマッティングルールがビューポート空間114に適用され、ビューポート空間114の幅がブレークポイント120aよりも大きい、たとえば、620ピクセルよりも大きいとき、第2のフォーマッティングルールがビューポート空間114に適用される。図示の例では、ビューポート空間114は、ブレークポイント120a、たとえば、620ピクセルよりも大きい幅を有するように示されており、第2のフォーマッティングルールがビューポート空間114に適用される。この例では、第2のフォーマッティングルールは、ビューポート空間114内のデジタルコンテンツアイテム116の位置決め、配置、および/またはサイズ、ならびにデジタルコンテンツアイテム116内で与えられたコンテンツのフォーマッティングを含む。具体的には、フォーマッティングの態様の中でも、デジタルコンテンツアイテム116に適用された第2のフォーマッティングルールは、第2のアイテム118bと横並びで位置決めされた第1のアイテム118aを含む。
【0015】
図3は、
図1のユーザインターフェース112、および具体的には、ブレークポイント120a、たとえば、620ピクセル未満の幅を有するビューポート空間114を示す。すなわち、ビューポート空間114は、第1のフォーマッティングルールの適用とともに示されており、すなわち、ビューポート空間114の幅がブレークポイント120a未満、たとえば、620ピクセル未満であるときである。図示の例では、第1のフォーマッティングルールは、ビューポート空間114内のデジタルコンテンツアイテム116の位置決め、配置、およびサイズ、ならびにデジタルコンテンツアイテム116内で与えられたコンテンツのフォーマッティングを含む。具体的には、フォーマッティングの態様の中でも、第1のフォーマッティングルールは、第2のアイテム118bの上に位置決めされた第1のアイテム118aを含む。
【0016】
図4は、第2のブレークポイント120bを含む、ビューポート空間114を示す。具体的には、ユーザは、ブレークポイントマネージャ108が第2のブレークポイント120bを生成するように、追加のユーザ入力を与えるために、ビューポート空間114と対話する。第2のブレークポイント120bは、追加として、ビューポート空間114を、220ピクセル未満の第1のインターバル124aと、220ピクセルよりも大きい第2のインターバル124bとに区分する。すなわち、第2のブレークポイント120bは、ビューポート空間114の高さに基づく。
【0017】
そのために、フォーマッティングルールジェネレータ110は、適切な対応するインターバル124a、124bに関連付けられる第2のブレークポイント120bに基づいて、2つのフォーマッティングルールを生成する。
図4の図示の例では、第3のフォーマッティングルールが第1のインターバル124aに関連付けられ、第4の、異なるフォーマッティングルールが第2のインターバル124bに関連付けられる。すなわち、ビューポート空間114の高さが第2のブレークポイント120b未満、たとえば、220ピクセル未満であるとき、第3のフォーマッティングルールがビューポート空間114に適用され、ビューポート空間114の高さが第2のブレークポイント120bよりも大きい、たとえば、220ピクセルよりも大きいとき、第4のフォーマッティングルールがビューポート空間114に適用される。図示の例では、ビューポート空間114は、第2のブレークポイント120b、たとえば、220ピクセル未満の高さを有するように示されており、第3のフォーマッティングルールがビューポート空間114に適用される。この例では、第3のフォーマッティングルールは、ビューポート空間114内のデジタルコンテンツアイテム116の位置決め、配置、およびサイズ、ならびにデジタルコンテンツアイテム116内で与えられたコンテンツのフォーマッティングを含む。具体的には、フォーマッティングの他の態様の中でも、第3のフォーマッティングルールは、第2のアイテム118bの上に位置決めされた第1のアイテム118aを含み、アイテム118のサイズが調整される。
【0018】
いくつかの例では、ブレークポイントは、ビューポート空間114のアスペクト比に基づく。具体的には、アスペクト比ブレークポイントは、ビューポート空間114のアスペクト比に基づいて、ビューポート空間114をインターバルに区分する。いくつかの例では、アスペクト比は、ビューポート空間114の高さと幅との間の比例関係に関連付けられる。フォーマッティングルールジェネレータ110は、上述のものと同様の、対応するインターバルに関連付けられるアスペクト比ブレークポイントに基づいて、2つ以上のフォーマッティングルールを生成する。たとえば、アスペクト比ブレークポイントは、9/16において確立され得、たとえば、ビューポート空間の高さおよび幅の関係は、9対16である。すなわち、アスペクト比ブレークポイントに対するビューポート空間114のアスペクト比に基づいて、適切なフォーマッティングルールがビューポート空間114に適用される。
【0019】
いくつかの例では、アスペクト比ブレークポイントは、ビューポート空間114の向きに関連付けられる。すなわち、アスペクト比ブレークポイントは、ビューポート空間114を、第1の向き、たとえば、横方向に関連付けられた第1のインターバルと、第2の向き、たとえば、縦方向に関連付けられた第2のインターバルとに区分する。いくつかの例では、アスペクト比ブレークポイントよりも大きいビューポート空間114のアスペクト比では、ビューポート空間114が縦方向の向きに関連付けられ、アスペクト比ブレークポイント未満のビューポート空間114のアスペクト比では、ビューポート空間114が横方向の向きに関連付けられる。いくつかの例では、アスペクト比ブレークポイントは、クライアントコンピューティングデバイス104に基づき、ならびに具体的には、クライアントコンピューティングデバイス104の画面サイズおよび/またはグラフィカルユーザインターフェース(GUI)サイズに基づく。いくつかの例では、ビューポート空間114のブレークポイントは、ビューポート空間の高さ、幅、およびアスペクト比に基づく。
【0020】
図5は、第3のブレークポイント120cと第4のブレークポイント120dとを含む、ビューポート空間114を示す。具体的には、ユーザは、ブレークポイントマネージャ108が第3のブレークポイント120cと第4のブレークポイント120dとを生成するように、追加のユーザ入力を与えるために、ビューポート空間114と対話する。第3のブレークポイント120cは、ビューポート空間114を、220ピクセル未満の第1のインターバル126aと、220ピクセルと620ピクセルとの間の第2のインターバル126bと、620ピクセルよりも大きい第3のインターバル126cとに区分する。第4のブレークポイント120dは、ビューポート空間114を、100ピクセル未満の第1のインターバル128aと、100ピクセルと220ピクセルとの間の第2のインターバル128bと、220ピクセルよりも大きい第3のインターバル128cとに区分する。
【0021】
いくつかの例では、サーバコンピューティングシステム102によって生成されたインターバル、たとえば、インターバル126a、126b、126cの各々は、互いに重複とは無関係である。具体的には、多くとも一度に1つのフォーマッティングルールがビューポート空間114に適用されることを保証するために、これらのインターバルは、互いに重複とは無関係であり、すなわち、独立したインターバルである。たとえば、インターバル126a、126b、126cは、互いに重複とは無関係である。すなわち、各インターバル126a、126b、126cは、互いに別個であり、異なる。
【0022】
フォーマッティングルールジェネレータ110は、適切な対応するインターバル126a、126b、126cに関連付けられる、第1のブレークポイント120aおよび第3のブレークポイント120cに基づいて、3つのフォーマッティングルールを生成する。
図5の図示の例では、第3のブレークポイント120c未満、たとえば、220ピクセル未満であるか、第3のブレークポイント120cよりも大きく、たとえば、220ピクセルよりも大きく、かつ第1のブレークポイント120a、たとえば、620ピクセル未満であるか、または、第1のブレークポイント120a、たとえば、620ピクセルよりも大きい、ビューポート空間114の幅に基づいて、それぞれのフォーマッティングルールが、対応するインターバル126a、126b、126cに関連付けられるビューポート空間114に適用される。さらに、フォーマッティングルールジェネレータ110は、適切な対応するインターバル128a、128b、128cに関連付けられる、第2のブレークポイント120bおよび第4のブレークポイント120dに基づいて、3つのフォーマッティングルールを生成する。
図5の図示の例では、第4のブレークポイント120d未満、たとえば、100ピクセル未満であるか、第4のブレークポイント120dよりも大きく、たとえば、100ピクセルよりも大きく、かつ第2のブレークポイント120b、たとえば、220ピクセル未満であるか、または、第2のブレークポイント120b、たとえば、220ピクセルよりも大きい、ビューポート空間114の高さに基づいて、それぞれのフォーマッティングルールが、対応するインターバル128a、128b、128cに関連付けられるビューポート空間114に適用される。
【0023】
3つの高さベースのブレークポイント、および3つの幅ベースのブレークポイントに関連付けられる、
図5のビューポート空間114に基づいて、9つの異なるインターバルが、ビューポート空間114に関連付けられる。具体的には、
図6は、ビューポート空間114の例示的な2次元表現600を示す。具体的には、ビューポート空間114は、それぞれのフォーマッティングルールに関連付けられたインターバルの各々をもつ、4つのブレークポイント120a、120b、120c、120dに基づく、(1、2、...、9と標示された)9つのインターバルを含む。さらに、ビューポート空間114のサイズ(たとえば、高さおよび幅)に基づいて、インターバルに関連付けられたフォーマッティングルールのうちの1つが、ビューポート空間114、および具体的には、デジタルコンテンツアイテム116に適用される。
【0024】
いくつかの例では、ブレークポイントは、それぞれのブレークポイントによって確立された境界を含む。具体的には、図示の例では、インターバル126aは、220ピクセルにおける境界を含む。すなわち、ビューポート空間114が220ピクセルにおける幅を含むとき、インターバル126aに関連付けられたフォーマッティングルールが、ビューポート空間114に適用される。さらに、図示の例では、インターバル126bは、221ピクセル〜620ピクセルの幅から確立され、620ピクセルにおける境界を含む。すなわち、ビューポート空間114が620ピクセルにおける幅を含むとき、インターバル126bに関連付けられたフォーマッティングルールが、ビューポート空間114に適用される。
【0025】
図1を参照すると、いくつかの実装形態では、サーバコンピューティングシステム102は、クライアントコンピューティングデバイス104によって電子文書内で表示するために、デジタルコンテンツアイテム116をクライアントコンピューティングデバイス104に配信する。いくつかの例では、サーバコンピューティングシステム102によるデジタルコンテンツアイテム116の配信は、サーバコンピューティングシステム102が、クライアントコンピューティングデバイス104に、デジタルコンテンツアイテム116のテキストまたは画像コンテンツ130と、フォーマッティングルール132、たとえばインターバル126a、126b、126c、128a、128b、128cに関連付けられたフォーマッティングルールとを与えることを含む。いくつかの例では、サーバコンピューティングシステム102によって、クライアントコンピューティングデバイス104にフォーマッティングルール132を与えることによって、フォーマッティングルール132は、デジタルコンテンツアイテム116の適切なバージョンを動的にレンダリングおよび表示することを、(たとえば、クライアントコンピューティングデバイス104上で実行している)クライアント側アプリケーションに行わせる。すなわち、デジタルコンテンツアイテム116の適切なバージョンは、そのためにデジタルコンテンツアイテム116が表示されるべきであるディスプレイエリアと、フォーマッティングルールとに基づく。
【0026】
たとえば、クライアントコンピューティングデバイス104は、デジタルコンテンツアイテム116を、たとえば、電子文書内で提示するためのディスプレイエリアを識別し、フォーマッティングルール132およびディスプレイエリアに基づいて、デジタルコンテンツアイテム116の適切なバージョンを表示するために、デジタルコンテンツアイテム116を動的にレンダリングする。いくつかの例では、クライアント側アプリケーションは、ウェブブラウジングアプリケーションを含み得、電子文書は、ウェブページを含み得る。したがって、ウェブページのディスプレイエリア、および/または、ウェブページ内のデジタルコンテンツアイテム116のディスプレイに関連付けられたディスプレイエリアに基づいて、ウェブブラウジングアプリケーションは、フォーマッティングルール132に基づいて適切に、デジタルコンテンツアイテム116を動的にレンダリングすることができる。いくつかの例では、ウェブページのディスプレイエリア、および/または、ウェブページ内のデジタルコンテンツアイテム116のディスプレイに関連付けられたディスプレイエリアは、たとえば、ウェブページを提示するブラウザのディスプレイエリアの最大化に応答して、動的に変化し得る。結果として、新たなサイズのウェブページ内に表示するために、デジタルコンテンツアイテム116に適用されたフォーマッティングルールは、デジタルコンテンツアイテム116が新たなサイズのウェブページ内に適切に表示されるように、クライアントコンピューティングデバイス104によって、およびフォーマッティングルール132に基づいて、動的に更新され得る。
【0027】
図7は、ビューポート空間114の例示的な2次元表現700を示す。具体的には、ビューポート空間114は、ビューポート空間114の高さ、幅、および/またはアスペクト比に基づくブレークポイントを含み得る。特に、ビューポート空間114は、それぞれのフォーマッティングルールに関連付けられた各インターバルをもつ、5つのブレークポイント702a、702b、702c、702d、702e(ブレークポイント702と総称される)に基づく、(1、2、...、7と標示された)7つのインターバルを含む。そのために、ビューポート空間114のサイズ(たとえば、高さおよび幅)および向きに基づいて、インターバルに関連付けられたフォーマッティングルールのうちの1つが、ビューポート空間114、および具体的には、デジタルコンテンツアイテム116に適用される。ブレークポイント702aは、ブレークポイント702aよりも大きいビューポート空間114のアスペクト比が、縦方向の向きに関連付けられること、およびブレークポイント702a未満のビューポート空間114のアスペクト比が、横方向の向きに関連付けられることにおいて、アスペクト比ブレークポイントに関連付けられる。ブレークポイント702bおよび702cは、ビューポート空間114の高さ(たとえば、それぞれ、400ピクセルおよび600ピクセル)に関連付けられ、ブレークポイント702dおよび702eは、ビューポート空間114の幅(たとえば、それぞれ、200ピクセルおよび400ピクセル)に関連付けられる。追加として、インターバルの各々が、それぞれのフォーマッティングルールに関連付けられる。したがって、ビューポート空間114のサイズ(たとえば、高さおよび幅)およびアスペクト比に基づいて、適切なインターバルに関連付けられたフォーマッティングルールのうちの1つが、ビューポート空間114、および具体的には、デジタルコンテンツアイテム116に適用される。
【0028】
図示の例では、インターバル1は、ブレークポイント702aよりも大きいビューポート空間114のアスペクト比(たとえば、縦方向の向き)、およびブレークポイント702c未満(たとえば、600ピクセル未満)のビューポート空間114の高さに関連付けられる。インターバル2は、ブレークポイント702aよりも大きいビューポート空間114のアスペクト比(たとえば、縦方向の向き)、およびブレークポイント702cよりも大きい(たとえば、600ピクセルよりも大きい)ビューポート空間114の高さに関連付けられる。インターバル3は、ブレークポイント702a未満のビューポート空間114のアスペクト比(たとえば、横方向の向き)、およびブレークポイント702d未満(たとえば、200ピクセル未満)のビューポート空間114の幅に関連付けられる。インターバル4は、ブレークポイント702a未満のビューポート空間114のアスペクト比(たとえば、横方向の向き)、ブレークポイント702d(たとえば、200ピクセル)よりも大きく、ブレークポイント702e(たとえば、400ピクセル)未満のビューポート空間の幅、およびブレークポイント702b(たとえば、400ピクセル)未満のビューポート空間の高さに関連付けられる。インターバル5は、ブレークポイント702a未満のビューポート空間114のアスペクト比(たとえば、横方向の向き)、ブレークポイント702e(たとえば、400ピクセル)未満のビューポート空間114の幅、およびブレークポイント702b(たとえば、400ピクセル)よりも大きいビューポート空間114の高さに関連付けられる。インターバル6は、ブレークポイント702a未満のビューポート空間114のアスペクト比(たとえば、横方向の向き)、ブレークポイント702e(たとえば、400ピクセル)よりも大きいビューポート空間114の幅、およびブレークポイント702b(たとえば、400ピクセル)未満のビューポート空間114の高さに関連付けられる。インターバル7は、ブレークポイント702a未満のビューポート空間114のアスペクト比(たとえば、横方向の向き)、ブレークポイント702e(たとえば、400ピクセル)よりも大きいビューポート空間114の幅、およびブレークポイント702b(たとえば、400ピクセル)よりも大きいビューポート空間114の高さに関連付けられる。
【0029】
いくつかの例では、ブレークポイントマネージャ108によって、およびユーザ入力に基づいて、ブレークポイントを生成することは、ビューポート空間114において新しいブレークポイントを挿入することを含み得る。
図8は、ビューポート空間114における新しいブレークポイントの挿入を含む、ビューポート空間114の例示的な2次元表現800を示す。具体的には、ブレークポイントマネージャ108は、ユーザ入力に基づいて、ブレークポイント802を生成し、ブレークポイント802は、インターバル3をインターバル3a、3bに、インターバル5をインターバル5a、5bに、およびインターバル7をインターバル7a、7bに区分する。追加として、インターバル3a、3b、5a、5b、7a、7bの各々が、それぞれのフォーマッティングルールに関連付けられる。いくつかの例では、新たに作成されたインターバルのうちの1つ(たとえば、インターバル3a)は、以前のインターバル(たとえば、インターバル3)のフォーマッティングルールに関連付けられ、他の新たに作成されたインターバル(たとえば、インターバル3b)は、新しいフォーマッティングルールに関連付けられる。したがって、ビューポート空間114のサイズ(たとえば、高さおよび幅)およびアスペクト比に基づいて、適切なインターバルに関連付けられたフォーマッティングルールのうちの1つが、ビューポート空間114、および具体的には、デジタルコンテンツアイテム116に適用される。
【0030】
いくつかの例では、ブレークポイントマネージャ108によって、およびユーザ入力に基づいて、ブレークポイントを生成することは、デジタルコンテンツアイテム116の向きに基づいて、ビューポート空間114のアスペクト比分割を追加することを含み得る。
図9は、ビューポート空間114における新しいアスペクト比ブレークポイントの挿入を含む、ビューポート空間114の例示的な2次元表現900を示す。具体的には、ブレークポイントマネージャ108は、ユーザ入力に基づいて、ブレークポイント902を生成し、ブレークポイント902は、インターバル1をインターバル1a、1bに、インターバル2をインターバル2a、2bに、およびインターバル6をインターバル6a、6bに区分する。追加として、インターバル1a、1b、2a、2b、6a、6bの各々が、それぞれのフォーマッティングルールに関連付けられる。いくつかの例では、新たに作成されたインターバルのうちの1つ(たとえば、インターバル1a)は、以前のインターバル(たとえば、インターバル1)のフォーマッティングルールに関連付けられ、他の新たに作成されたインターバル(たとえば、インターバル1b)は、新しいフォーマッティングルールに関連付けられる。したがって、ビューポート空間114のサイズ(たとえば、高さおよび幅)およびアスペクト比に基づいて、それらのインターバルに関連付けられたフォーマッティングルールのうちの1つが、ビューポート空間114、および具体的には、デジタルコンテンツアイテム116に適用される。そのために、インターバル1a、2a、3、および6aは、ブレークポイント902よりも大きいビューポート空間114のアスペクト比(たとえば、縦方向の向き)に関連付けられ、インターバル1b、2b、4、5、および6bは、ブレークポイント902未満のビューポート空間114のアスペクト比(たとえば、横方向の向き)に関連付けられる。いくつかの例では、ブレークポイントマネージャ108によるブレークポイント902の挿入は、インターバル2a、2b、6a、6bのうちの1つが、たとえば、領域904によって示されているように、ピクセル密度未満の、小さい部分を含むことを含み得る。そのために、ブレークポイント902に関連付けられた値は、無視できる値の範囲を含むインターバルのうちの1つのそのような包含を、防止しない場合、最小化するように調整され得る。
【0031】
いくつかの例では、ブレークポイントマネージャ108によって、およびユーザ入力に基づいて、ブレークポイントを生成することは、ビューポート空間114内で以前から存在するブレークポイントを移動させることを含み得る。
図10は、ビューポート空間114内で以前から存在するブレークポイントを移動させることを含む、ビューポート空間114の例示的な2次元表現1000を示す。具体的には、ブレークポイントマネージャ108は、ユーザ入力に基づいて、以前から存在するブレークポイント1002を移動させる。したがって、1つまたは複数のインターバルに関連付けられた境界、およびしたがって、インターバルに関連付けられた各フォーマッティングルールが調整される。いくつかの例では、ビューポート空間114内で以前から存在するブレークポイントを移動させることは、1つまたは複数のインターバルを除去することを含む。図示の例では、ブレークポイント1002が移動され、すなわち、ブレークポイント1002に関連付けられたアスペクト比が調整される。したがって、インターバル3、4、7、10が、ビューポート空間114から除去される。さらに、インターバル1、2、5、6、9に関連付けられた境界が調整される。いくつかの例では、ビューポート空間114内で以前から存在するブレークポイントを移動させることは、1つまたは複数のインターバルを追加することを含む。具体的には、
図11の図示の例では、ブレークポイント1102が移動され、すなわち、ブレークポイント1102に関連付けられたアスペクト比が調整される。したがって、インターバル7がビューポート空間114に追加される。さらに、インターバル1、2、3、4、6に関連付けられた境界が調整される。
【0032】
いくつかの例では、ブレークポイントマネージャ108によって、およびユーザ入力に基づいて、ブレークポイントを生成することは、ビューポート空間114から以前から存在するブレークポイントを削除することを含み得る。
図12は、ビューポート空間114から以前から存在するブレークポイントを除去することを含む、ビューポート空間114の例示的な2次元表現1200を示す。具体的には、ブレークポイントマネージャ108は、ユーザ入力に基づいて、以前から存在するブレークポイント1202を除去し、インターバル4および6は、4'と標示された単一のインターバルにマージし、インターバル3および5は、3'と標示された単一のインターバルにマージする。そのために、新たにマージされたインターバル(たとえば、インターバル4')は、以前のインターバル(たとえば、インターバル4、6)のうちの1つのフォーマッティングルールを含む。したがって、ビューポート空間114のサイズ(たとえば、高さおよび幅)およびアスペクト比に基づいて、適切なインターバルに関連付けられたフォーマッティングルールのうちの1つが、ビューポート空間114、および具体的には、デジタルコンテンツアイテム116に適用される。
【0033】
いくつかの例では、ブレークポイントマネージャ108によって、およびユーザ入力に基づいて、ブレークポイントを生成することは、ビューポート空間114の以前から存在するアスペクト比ブレークポイントを除去することを含み得る。
図13は、ビューポート空間114の以前から存在するアスペクト比ブレークポイントを除去することを含む、ビューポート空間114の例示的な2次元表現1300を示す。具体的には、ブレークポイントマネージャ108は、ユーザ入力に基づいて、以前から存在するアスペクト比ブレークポイント1302を除去する。結果として、1つまたは複数のインターバル(または、インターバルの部分)が、1つまたは複数の他のインターバル(または、インターバルの部分)とマージされ、かつ/あるいは、1つまたは複数のインターバルが作成される。図示の例では、インターバル1の部分がインターバル3、4、6とマージされ、インターバル2の部分がインターバル4、6、8、9とマージされる。その上、アスペクト比ブレークポイント1302が除去されるとき、ブレークポイント1302によって定義されるような、ビューポート空間114に関連付けられた向きのうちの1つ(たとえば、横方向または縦方向)が除去され、残りの向き(たとえば、横方向または縦方向)が維持される。さらに、インターバル11および12が作成される。したがって、ビューポート空間114のサイズ(たとえば、高さおよび幅)およびアスペクト比に基づいて、適切なインターバルに関連付けられたフォーマッティングルールのうちの1つが、ビューポート空間114、および具体的には、デジタルコンテンツアイテム116に適用される。
【0034】
図14は、デジタルコンテンツアイテムのディスプレイをフォーマットするための例示的なプロセス1400を示す。プロセス1400は、たとえば、サーバコンピューティングシステム102および/またはクライアントコンピューティングデバイス104、あるいは別のデータ処理装置によって行われ得る。プロセス1400はまた、コンピュータ記憶媒体上に記憶された命令としても実装され得、1つまたは複数のデータ処理装置による命令の実行は、1つまたは複数のデータ処理装置に、プロセス1400の動作のうちの一部または全部を行わせる。
【0035】
デジタルコンテンツアイテムのビューポート空間を含む、ユーザインターフェースが生成される(1402)。たとえば、
図1を参照すると、ビューポート空間114は、それにおいてデジタルコンテンツアイテム116が、たとえば、サーバコンピューティングシステム102および/またはクライアントコンピューティングデバイス104によって、表示のためにレンダリングされるエリアである。ユーザ入力が、ユーザインターフェースを通して受信される(1404)。たとえば、
図1および
図2を参照すると、ユーザインターフェース112に関連付けられたユーザは、ユーザ入力を与えるために、ユーザインターフェース112と対話(たとえば、キーボード、マウス、タッチスクリーン、またはその他を介して入力)し、具体的には、ユーザは、ユーザ入力を与えるために、ビューポート空間114および/またはデジタルコンテンツアイテム116と対話することができる。
【0036】
ユーザ入力に基づいて、ビューポート空間の1つまたは複数のブレークポイントが生成される(1406)。たとえば、
図1および
図2を参照すると、ブレークポイントマネージャ108は、ユーザ入力に基づいて、ブレークポイント120aを生成する。ブレークポイント120aは、2つ以上のインターバル(または区分)へのビューポート空間114の区分に関連付けられる。いくつかの例では、ブレークポイントは、ビューポート空間の高さ、幅、および/またはアスペクト比に基づく。
【0037】
1つまたは複数のブレークポイントに基づいて、2つ以上のフォーマッティングルールが生成される(1408)。たとえば、
図1および
図2を参照すると、ブレークポイントに基づいて、フォーマッティングルールジェネレータ110は、フォーマッティングルールが適用されるとき、デジタルコンテンツアイテム116の異なるバージョンを各々作成する、フォーマッティングルールを生成する。いくつかの例では、フォーマッティングルールの各々は、フォーマッティングルールが適用されるとき、デジタルコンテンツアイテム116の異なるバージョンを作成する。いくつかの例では、異なるフォーマッティングルールが、異なるサイズの(different sized)ビューポート空間に適用される。
【0038】
デジタルコンテンツアイテムが、電子文書内に表示するために、クライアントデバイスに配信される(1410)。たとえば、
図1を参照すると、サーバコンピューティングシステム102は、クライアントコンピューティングデバイス104によって電子文書内で表示するために、デジタルコンテンツアイテム116をクライアントコンピューティングデバイス104に配信する。いくつかの例では、サーバコンピューティングシステム102によるデジタルコンテンツアイテム116の配信は、サーバコンピューティングシステム102が、クライアントコンピューティングデバイス104に、デジタルコンテンツアイテム116のテキストまたは画像コンテンツと、フォーマッティングルール、たとえばインターバル126a、126b、126c、128a、128b、128cに関連付けられたフォーマッティングルールとを与えることを含む。いくつかの例では、サーバコンピューティングシステム102によって、クライアントコンピューティングデバイス104にフォーマッティングルールを与えることによって、フォーマッティングルールは、デジタルコンテンツアイテム116の適切なバージョンを動的にレンダリングおよび表示することを、(たとえば、クライアントコンピューティングデバイス104上で実行している)クライアント側アプリケーションに行わせる。すなわち、デジタルコンテンツアイテム116の適切なバージョンは、そのためにデジタルコンテンツアイテム116が表示されるべきであるディスプレイエリアと、フォーマッティングルールとに基づく。
【0039】
図15は、本明細書で説明する技法とともに使用され得る、汎用コンピュータデバイス1500および汎用モバイルコンピュータデバイス1550の一例を示す。コンピューティングデバイス1500は、ラップトップ、デスクトップ、ワークステーション、携帯情報端末、サーバ、ブレードサーバ、メインフレーム、および他の適切なコンピュータなど、様々な形態のデジタルコンピュータを表すものである。コンピューティングデバイス1550は、携帯情報端末、セルラー電話、スマートフォン、および他の同様のコンピューティングデバイスなど、様々な形態のモバイルデバイスを表すものである。ここで示す構成要素、それらの接続および関係、ならびにそれらの機能は、例示的なものにすぎないように意図され、本文書で説明および/または特許請求する本発明の実装形態を限定するように意図されない。
【0040】
コンピューティングデバイス1500は、プロセッサ1502と、メモリ1504と、記憶デバイス1506と、メモリ1504および高速拡張ポート1510に接続する高速インターフェース1508と、低速バス1514および記憶デバイス1506に接続する低速インターフェース1512とを含む。構成要素1502、1504、1506、1508、1510、および1512の各々は、様々なバスを使用して相互接続され、共通マザーボード上に、または適宜に他の方法で搭載され得る。プロセッサ1502は、高速インターフェース1508に結合されたディスプレイ1516など、外部入出力デバイス上のGUIのためのグラフィカル情報を表示するための、メモリ1504内または記憶デバイス1506上に記憶された命令を含む、コンピューティングデバイス1500内の実行のための命令を処理し得る。他の実装形態では、複数のプロセッサおよび/または複数のバスが、適宜に、複数のメモリおよび複数のタイプのメモリとともに使用され得る。また、複数のコンピューティングデバイス1500が接続され得、各デバイスは、(たとえば、サーババンク、ブレードサーバのグループ、またはマルチプロセッサシステムとして)必要な動作の部分を提供する。
【0041】
メモリ1504は、コンピューティングデバイス1500内に情報を記憶する。一実装形態では、メモリ1504は、1つまたは複数の揮発性メモリユニットである。別の実装形態では、メモリ1504は、1つまたは複数の不揮発性メモリユニットである。メモリ1504はまた、磁気または光ディスクなど、別の形態のコンピュータ可読媒体でもあり得る。
【0042】
記憶デバイス1506は、コンピューティングデバイス1500のための大容量記憶装置を提供することが可能である。一実装形態では、記憶デバイス1506は、フロッピーディスクデバイス、ハードディスクデバイス、光ディスクデバイス、もしくはテープデバイス、フラッシュメモリもしくは他の同様のソリッドステートメモリデバイス、または、ストレージエリアネットワークもしくは他の構成におけるデバイスを含む、デバイスのアレイなど、コンピュータ可読媒体であり得るか、またはそれを含み得る。コンピュータプログラム製品は、情報キャリアにおいて有形に具現化され得る。コンピュータプログラム製品はまた、実行されるとき、上記で説明したものなど、1つまたは複数の方法を行う命令を含み得る。情報キャリアは、メモリ1504、記憶デバイス1506、またはプロセッサ1502上のメモリなど、コンピュータまたは機械可読媒体である。
【0043】
高速コントローラ1508は、コンピューティングデバイス1500のための帯域幅集中的な動作を管理するが、低速コントローラ1512は、より低い帯域幅集中的な動作を管理する。そのような機能の割振りは、例示的なものにすぎない。一実装形態では、高速コントローラ1508は、メモリ1504、ディスプレイ1516(たとえば、グラフィックスプロセッサまたはアクセラレータを通して)、および高速拡張ポート1510に結合され、高速拡張ポート1510は、様々な拡張カード(図示せず)を受け入れ得る。この実装形態では、低速コントローラ1512は、記憶デバイス1506および低速拡張ポート1514に結合される。低速拡張ポートには、様々な通信ポート(たとえば、USB、Bluetooth(登録商標)、イーサネット(登録商標)、ワイヤレスイーサネット)が含まれることがあり、キーボード、ポインティングデバイス、スキャナなどの1つもしくは複数の入出力デバイスに、または、たとえば、ネットワークアダプタを通して、スイッチもしくはルータなどのネットワーキングデバイスに結合され得る。
【0044】
コンピューティングデバイス1500は、図に示されているように、いくつかの異なる形態で実装され得る。たとえば、コンピューティングデバイス1500は、標準的なサーバ1520として、またはそのようなサーバのグループにおいて複数回、実装され得る。コンピューティングデバイス1500はまた、ラックサーバシステム1524の一部としても実装され得る。加えて、コンピューティングデバイス1500は、ラップトップコンピュータ1522など、パーソナルコンピュータにおいて実装され得る。代替的に、コンピューティングデバイス1500からの構成要素は、デバイス1550など、モバイルデバイス(図示せず)における他の構成要素と組み合わせられ得る。そのようなデバイスの各々は、コンピューティングデバイス1500、1550のうちの1つまたは複数を含み得、システム全体が、互いに通信する複数のコンピューティングデバイス1500、1550から構成され得る。
【0045】
コンピューティングデバイス1550は、構成要素の中でも、プロセッサ1552と、メモリ1564と、ディスプレイ1554などの入出力デバイスと、通信インターフェース1566と、トランシーバ1568とを含む。デバイス1550はまた、追加のストレージを提供するために、マイクロドライブまたは他のデバイスなど、記憶デバイスを備え得る。構成要素1550、1552、1564、1554、1566、および1568の各々は、様々なバスを使用して相互接続され、構成要素のうちのいくつかは、共通マザーボード上に、または適宜に他の方法で搭載され得る。
【0046】
プロセッサ1552は、メモリ1564において記憶された命令を含む、コンピューティングデバイス1550内の命令を実行し得る。プロセッサは、別個および複数のアナログおよびデジタルプロセッサを含む、チップのチップセットとして実装され得る。プロセッサは、たとえば、ユーザインターフェース、デバイス1550によって実行されたアプリケーション、および、デバイス1550によるワイヤレス通信の制御など、デバイス1550の他の構成要素の協調を提供し得る。
【0047】
プロセッサ1552は、ディスプレイ1554に結合された制御インターフェース1558およびディスプレイインターフェース1556を通して、ユーザと通信し得る。ディスプレイ1554は、たとえば、TFT LCD(薄膜トランジスタ液晶ディスプレイ)もしくはOLED(有機発光ダイオード)ディスプレイ、または他の適切なディスプレイ技術であり得る。ディスプレイインターフェース1556は、ディスプレイ1554を駆動して、グラフィカルおよび他の情報をユーザに提示するための、適切な回路を備え得る。制御インターフェース1558は、ユーザからコマンドを受信し、プロセッサ1552へのサブミッションのために、それらのコマンドを変換し得る。加えて、外部インターフェース1562は、デバイス1550の他のデバイスとの近いエリアの通信を可能にするために、プロセッサ1552と通信するように設けられ得る。外部インターフェース1562は、たとえば、いくつかの実装形態ではワイヤード通信、または、他の実装形態ではワイヤレス通信を提供し得、複数のインターフェースもまた使用され得る。
【0048】
メモリ1564は、コンピューティングデバイス1550内で情報を記憶する。メモリ1564は、1つまたは複数のコンピュータ可読媒体、1つまたは複数の揮発性メモリユニット、あるいは1つまたは複数の不揮発性メモリユニットのうちの1つまたは複数として実装され得る。拡張メモリ1554もまた設けられ、たとえば、SIMM(シングルインラインメモリモジュール)カードインターフェースを含み得る、拡張インターフェース1552を通して、デバイス1550に接続され得る。そのような拡張メモリ1554は、デバイス1550のために余分の記憶空間を提供し得、または、デバイス1550のためのアプリケーションもしくは他の情報をも記憶し得る。具体的には、拡張メモリ1554は、上記で説明したプロセスを実行するかまたは補うために命令を含み得、また、セキュアな情報をも含み得る。したがって、たとえば、拡張メモリ1554は、デバイス1550のためのセキュリティモジュールとして設けられ得、デバイス1550のセキュアな使用を可能にする命令とともにプログラムされ得る。加えて、セキュアアプリケーションは、ハッキング不可能な方法でSIMMカード上に識別情報を配置するなど、追加の情報とともに、SIMMカードを介して提供され得る。
【0049】
メモリは、たとえば、以下で説明するように、フラッシュメモリおよび/またはNVRAMメモリを含み得る。一実装形態では、コンピュータプログラム製品は、情報キャリアにおいて有形に具現化される。コンピュータプログラム製品は、実行されるとき、上記で説明したものなど、1つまたは複数の方法を行う命令を含む。情報キャリアは、メモリ1564、拡張メモリ1554、プロセッサ1552上のメモリなどのコンピュータもしくは機械可読媒体、または、たとえば、トランシーバ1568もしくは外部インターフェース1562を介して受信され得る伝搬信号である。
【0050】
デバイス1550は、必要な場合、デジタル信号処理回路を含み得る通信インターフェース1566を通して、ワイヤレス通信し得る。通信インターフェース1566は、とりわけ、GSM(登録商標)音声呼出し、SMSメッセージング、EMSメッセージング、もしくはMMSメッセージング、CDMA、TDMA、PDC、WCDMA(登録商標)、CDMA2000、またはGPRSなど、様々なモードまたはプロトコルの下で通信を提供し得る。そのような通信は、たとえば、無線周波数トランシーバ1568を通して発生し得る。加えて、短距離通信は、Bluetooth(登録商標)、WiFi、または他のそのようなトランシーバ(図示せず)などを使用して発生し得る。加えて、GPS(全地球測位システム)受信機モジュール1550は、デバイス1550上で実行しているアプリケーションによって適宜に使用され得る、追加のナビゲーションおよびロケーション関連ワイヤレスデータを、デバイス1550に与え得る。
【0051】
デバイス1550はまた、オーディオコーデック1560を使用して、可聴的に通信し得、オーディオコーデック1560は、ユーザから話された情報を受信し、それを使用可能なデジタル情報に変換し得る。オーディオコーデック1560は、同様に、たとえば、デバイス1550のハンドセットにおいて、スピーカーを通してなど、ユーザのための可聴音を生成し得る。そのような音は、音声電話通話からの音を含み得、記録された音(たとえば、音声メッセージ、音楽ファイルなど)を含み得、また、デバイス1550上で動作するアプリケーションによって生成された音をも含み得る。
【0052】
コンピューティングデバイス1550は、図に示されているように、いくつかの異なる形態で実装され得る。たとえば、コンピューティングデバイス1550は、セルラー電話1580として実装され得る。コンピューティングデバイス1550はまた、スマートフォン1582、携帯情報端末、または他の同様のモバイルデバイスの一部としても実装され得る。
【0053】
本明細書で説明するシステムおよび技法の様々な実装形態は、デジタル電子回路、集積回路、特別に設計されたASIC(特定用途向け集積回路)、コンピュータハードウェア、ファームウェア、ソフトウェア、および/またはそれらの組合せにおいて実現され得る。これらの様々な実装形態は、少なくとも1つのプログラマブルプロセッサを含む、プログラマブルシステム上で実行可能および/または解釈可能である1つまたは複数のコンピュータプログラムにおける実装形態を含み得、プログラマブルプロセッサは、専用であっても汎用であってもよく、記憶システム、少なくとも1つの入力デバイス、および、少なくとも1つの出力デバイスから、データおよび命令を受信し、それらにデータおよび命令を送信するために結合され得る。
【0054】
これらのコンピュータプログラム(プログラム、ソフトウェア、ソフトウェアアプリケーションまたはコードとしても知られる)は、プログラマブルプロセッサのための機械命令を含み、高水準の手続き型および/もしくはオブジェクト指向プログラミング言語において、かつ/またはアセンブリ/機械言語において実装され得る。本明細書で使用するとき「機械可読媒体」、「コンピュータ可読媒体」という用語は、機械命令を機械可読信号として受信する機械可読媒体を含む、機械命令および/またはデータをプログラマブルプロセッサに与えるために使用される、任意のコンピュータプログラム製品、装置および/またはデバイス(たとえば、磁気ディスク、光ディスク、メモリ、プログラマブル論理デバイス(PLD))を指す。「機械可読信号」という用語は、機械命令および/またはデータをプログラマブルプロセッサに与えるために使用される、任意の信号を指す。
【0055】
ユーザとの対話を提供するために、本明細書で説明するシステムおよび技法は、ユーザに情報を表示するためのディスプレイデバイス(たとえば、CRT(陰極線管)またはLCD(液晶ディスプレイ)モニタ)と、それによってユーザがコンピュータに入力を与え得るキーボードおよびポインティングデバイス(たとえば、マウスまたはトラックボール)とを有する、コンピュータ上で実装され得る。他の種類のデバイスが、ユーザとの対話を与えるために同様に使用され得、たとえば、ユーザに与えられるフィードバックは、任意の形態の感覚フィードバック(たとえば、視覚フィードバック、聴覚フィードバック、または触覚フィードバック)であり得、ユーザからの入力は、音響入力、音声入力、または触覚入力を含む、任意の形態で受信され得る。
【0056】
本明細書で説明するシステムおよび技法は、(たとえば、データサーバとして)バックエンド構成要素を含むか、あるいは、ミドルウェア構成要素(たとえば、アプリケーションサーバ)を含むか、あるいは、フロントエンド構成要素(たとえば、それを通してユーザが、本明細書で説明するシステムおよび技法の実装形態と対話し得る、グラフィカルユーザインターフェースまたはウェブブラウザを有する、クライアントコンピュータ)、または、そのようなバックエンド構成要素、ミドルウェア構成要素、もしくはフロントエンド構成要素の任意の組合せを含む、コンピューティングシステムにおいて実装され得る。システムの構成要素は、任意の形態または任意の媒体のデジタルデータ通信(たとえば、通信ネットワーク)によって相互接続され得る。通信ネットワークの例には、ローカルエリアネットワーク(「LAN」)、ワイドエリアネットワーク(「WAN」)、およびインターネットが含まれる。
【0057】
コンピューティングシステムは、クライアントおよびサーバを含み得る。クライアントおよびサーバは、一般に互いから遠隔であり、典型的には、通信ネットワークを通して対話する。クライアントおよびサーバの関係は、それぞれのコンピュータ上で実行しており、互いにクライアントサーバ関係を有する、コンピュータプログラムによって生じる。
【0058】
本開示は、いくつかの詳細を含むが、これらは、本開示の範囲における、または特許請求され得るものの限定として解釈されるべきではなく、むしろ、本開示の例示的な実装形態の特徴の説明として解釈されるべきである。別個の実装形態との関連において本開示で説明するいくつかの特徴はまた、単一の実装形態において組み合わせて提供され得る。逆に、単一の実装形態との関連において説明する様々な特徴はまた、複数の実装形態において別個に、または任意の好適な部分組合せにおいても提供され得る。その上、特徴について、いくつかの組合せにおいて作用するとして上記で説明することがあり、したがって、最初に特許請求されることさえあるが、特許請求される組合せからの1つまたは複数の特徴は、場合によっては、その組合せから削除され得、特許請求される組合せは、部分組合せ、または部分組合せの変形形態を対象とし得る。
【0059】
同様に、動作は、図面において特定の順序で図示されるが、これは、そのような動作が、図示された特定の順序で、もしくは連続した順序で行われること、または、望ましい結果を達成するために、すべての図示された動作が行われることを必要とするものとして理解されるべきではない。いくつかの状況では、マルチタスキングおよび並列処理が有利であり得る。その上、上記で説明した実装形態における様々なシステム構成要素の分離は、すべての実装形態におけるそのような分離を必要とするものとして理解されるべきではなく、説明したプログラム構成要素およびシステムは、一般に、単一のソフトウェア製品において一緒に統合され得るか、または複数のソフトウェア製品にパッケージ化され得ることを理解されたい。
【0060】
以上、本開示の特定の実装形態について説明した。他の実装形態は、以下の特許請求の範囲内である。たとえば、特許請求の範囲に記載されたアクションは、異なる順序で行われ、なお、望ましい結果を達成することが可能である。いくつかの実装形態について説明した。それにもかかわらず、様々な修正が、本開示の趣旨および範囲を逸脱することなく行われ得ることは理解されよう。たとえば、上記で示された様々な形態のフローが使用され得、ステップが並べ替え、追加、または除去され得る。したがって、他の実装形態は、以下の特許請求の範囲内である。
【符号の説明】
【0061】
100 環境
102 サーバコンピューティングシステム
104 クライアントコンピューティングデバイス
106 デジタルコンテンツアイテムリポジトリ
108 ブレークポイントマネージャ
110 フォーマッティングルールジェネレータ
112 ユーザインターフェース
114 ビューポート空間
116 デジタルコンテンツアイテム
118 アイテム
118a 第1のアイテム
118b 第2のアイテム
120a ブレークポイント、第1のブレークポイント
120b 第2のブレークポイント
120c 第3のブレークポイント
120d 第4のブレークポイント
122a、124a、126a、128a 第1のインターバル、インターバル
122b、124b、126b、128b 第2のインターバル、インターバル
126c、128c 第3のインターバル、インターバル
130 テキストまたは画像コンテンツ
132 フォーマッティングルール
600、700、800、900、1000、1200、1300 2次元表現
702、702a、702b、702c、702d、702e、802、902、1002、1102、1202 ブレークポイント
904 領域
1302 アスペクト比ブレークポイント、ブレークポイント
1500 汎用コンピュータデバイス、コンピューティングデバイス
1502 プロセッサ、構成要素
1504、1564 メモリ、構成要素
1506 記憶デバイス、構成要素
1508 高速インターフェース、構成要素、高速コントローラ
1510 高速拡張ポート、構成要素
1512 低速インターフェース、構成要素、低速コントローラ
1514 低速バス、低速拡張ポート
1516 ディスプレイ
1520 標準的なサーバ
1522 ラップトップコンピュータ
1524 ラックサーバシステム
1550 汎用モバイルコンピュータデバイス、コンピューティングデバイス、デバイス、構成要素
1552 プロセッサ、構成要素、拡張インターフェース
1554 ディスプレイ、構成要素、拡張メモリ
1556 ディスプレイインターフェース
1558 制御インターフェース
1560 オーディオコーデック
1562 外部インターフェース
1566 通信インターフェース、構成要素
1568 トランシーバ、構成要素、無線周波数トランシーバ
1580 セルラー電話
1582 スマートフォン