JP2018538643A - モバイル・ユーザ・インタフェース - Google Patents

モバイル・ユーザ・インタフェース Download PDF

Info

Publication number
JP2018538643A
JP2018538643A JP2018542672A JP2018542672A JP2018538643A JP 2018538643 A JP2018538643 A JP 2018538643A JP 2018542672 A JP2018542672 A JP 2018542672A JP 2018542672 A JP2018542672 A JP 2018542672A JP 2018538643 A JP2018538643 A JP 2018538643A
Authority
JP
Japan
Prior art keywords
level
data
area
selection
display area
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2018542672A
Other languages
English (en)
Other versions
JP6596594B2 (ja
Inventor
アリ・アディル・ハセイン
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Google LLC
Original Assignee
Google LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Google LLC filed Critical Google LLC
Publication of JP2018538643A publication Critical patent/JP2018538643A/ja
Application granted granted Critical
Publication of JP6596594B2 publication Critical patent/JP6596594B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/04842Selection of displayed objects or displayed text elements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/904Browsing; Visualisation therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/0482Interaction with lists of selectable items, e.g. menus

Abstract

コンピューティング・デバイス上のデータの高速なナビゲーションを効率的に提供し可能とするための方法が、前記コンピューティング・デバイスで静的レイアウトを含むグラフィカル・ユーザ・インタフェースを生成するステップであって、前記静的レイアウトは表示領域および第1のレベルに対する第1のレベル対話領域を含み、前記表示領域は、第2のレベルのサブグループおよび第3のレベルのアイテムのうち1つを表すデータを表示するように構成され、前記第1のレベル対話領域は複数のサブ領域を有する、ステップと、ユーザ入力を受信するステップと、前記受信されたユーザ入力が、前記第1のレベル対話領域の前記複数のサブ領域のうち1つの選択であるかどうかを判定するステップと、前記受信されたユーザ入力が記複数のサブ領域のうち1つの前記選択であるとの判定に応答して、前記複数のサブ領域のうち前記1つの前記選択に対応する前記第2のレベルのサブグループを含むように前記表示領域を更新するステップと、前記受信されたユーザ入力が前記表示領域の選択であるかどうかを判定するステップと、前記ユーザ入力が前記表示領域の前記選択であるとの前記判定に応答して、前記第2のレベルのサブグループに対応する前記第3のレベルのアイテムを含むように前記表示領域を更新するステップとを含んでもよい。本開示はまた、上述の方法のアクションを実施するための対応するシステム、装置、およびコンピュータ・プログラムを含んでもよい。

Description

本開示はコンピュータ生成されたユーザ・インタフェースに関する。さらに、本開示は、複数の階層レベルを有するデータを効率的に編成し、提示し、それとの対話を提供するための方法およびシステムに関する。さらに、幾つかの実装は、ニュースをモバイル・デバイスで提供するためのユーザ・インタフェースに関する。
コンピュータアプリケーションはときどき、データ、特に、階層的に、例えば、複数のレベルまたはデータツリーに編成できるデータを提供するために使用される。階層データは、カテゴリ、ニュース・イベント、および特定の記事にソートされるニュース記事を含んでもよい。例えば、頻繁に、ニュース・ソースは、カテゴリおよびこれらのカテゴリ内のニュース記事のリストを含む、リストまたはアウトライン・フォーマットで大量のテキストおよびグラフィカル情報を提示する。
階層データ(例えば、ニュース記事)を提示するためのこれらの既存のソリューションは、当該階層データをダウンロードしナビゲートするための大幅な計算リソース、およびインターネット帯域幅を要し、これは、有限の帯域幅および処理能力を有するクライアント・デバイスに過大な負荷をかけうる。
本開示は、複数のレベルを有するデータを効率的に編成し、提示し、それとの対話を提供するためのシステムおよび方法に関する。本明細書で説明した技術が、静的に配置され、グラフィカル・ユーザ・インタフェースの特定の領域でのユーザ入力に従って様々なレベルの階層データで動的に更新されうる当該グラフィカル・ユーザ・インタフェース上の表示領域を提供するステップを含む方法を含んでもよい。同様に、当該方法は、階層データならびに高速な取出しのアクセスおよびナビゲーションおよびグラフィカル・ユーザ・インタフェース要素の戦略的配置を通じた当該階層データの表示の容易性を可能としうる。
一般に、本開示で説明する主題の1つの進歩的な態様を、プロセッサおよび当該プロセッサにより実行されたとき、システムに、静的レイアウトを含むグラフィカル・ユーザ・インタフェースを生成することであって、当該静的レイアウトは第1のレベルに対する表示領域および対話領域を含み、当該表示領域は、第2のレベルのサブグループおよび第3のレベルのアイテムのうち1つを表すデータを表示するように構成され、当該第1のレベル対話領域は複数のサブ領域を有する、ことと、ユーザ入力を受信することと、当該受信されたユーザ入力が、当該第1のレベル対話領域の当該複数のサブ領域のうち1つの選択であるかどうかを判定することと、当該受信されたユーザ入力が記複数のサブ領域のうち1つの当該選択であるとの判定に応答して、当該複数のサブ領域のうち当該1つの当該選択に対応する当該第2のレベルのサブグループを含むように当該表示領域を更新することと、当該受信されたユーザ入力が当該表示領域の選択であるかどうかを判定することと、当該ユーザ入力が当該表示領域の当該選択であるとの当該判定に応答して、当該第2のレベルのサブグループに対応する当該第3のレベルのアイテムを含むように当該表示領域を更新させることとを実施させる命令を格納したメモリとを備えたシステムで実装しうる。
一般に、本開示で説明する主題の別の進歩的な態様が、当該コンピューティング・デバイスで静的レイアウトを含むグラフィカル・ユーザ・インタフェースを生成するステップであって、当該静的レイアウトは第1のレベルでの表示領域および対話領域を含み、当該表示領域は、第2のレベルのサブグループおよび第3のレベルのアイテムのうち1つを表すデータを表示するように構成され、当該第1のレベル対話領域は複数のサブ領域を有する、ステップと、ユーザ入力を受信するステップと、当該受信されたユーザ入力が、当該第1のレベル対話領域の当該複数のサブ領域のうち1つの選択であるかどうかを判定するステップと、当該受信されたユーザ入力が記複数のサブ領域のうち1つの当該選択であるとの判定に応答して、当該複数のサブ領域のうち当該1つの当該選択に対応する当該第2のレベルのサブグループを含むように当該表示領域を更新するステップと、当該受信されたユーザ入力が当該表示領域の選択であるかどうかを判定するステップと、当該ユーザ入力が当該表示領域の当該選択であるとの当該判定に応答して、当該第2のレベルのサブグループに対応する当該第3のレベルのアイテムを含むように当該表示領域を更新するステップとを含む方法で具現化されてもよい。
これらのおよび他の実装は各場合によっては以下の特徴の1つまたは複数を含んでもよい。例えば、特徴が、1組のデータをデータ・サーバから取り出すステップであって、当該1組のデータは第1のレベルのグループ、第2のレベルのサブグループ、および第3のレベルのアイテムを含み、当該第3のレベルのアイテムは記事であり、当該第2のレベルのサブグループは共通イベントに関する記事のクラスタであり、当該第1のレベルのグループは共通カテゴリに関する記事のクラスタのグループである、ステップを含んでもよく、当該受信されたユーザ入力が当該複数のサブ領域のうち1つの選択であるかどうかを判定するステップは、当該ユーザ入力が当該第1のレベル対話領域にわたるスクラブ入力を含むかどうかを判定するステップを含み、当該表示領域は情報領域および選択領域を含み、当該情報領域はテキスト情報を表示し、当該選択領域は当該テキスト情報に対応する画像を表示し、当該選択領域は当該グラフィカル・ユーザ・インタフェースの垂直側の近くに配置され、当該グラフィカル・ユーザ・インタフェースは複数の表示領域を含み、当該第3のレベルのアイテムを含めるように当該表示領域を更新するステップは、当該複数の表示領域の各々を異なるデータで更新するステップを含む、ステップを含んでもよい。追加の特徴が、当該第3のレベルのアイテムに関連付けられたメタデータ・タグに基づいて、当該第2のレベルのサブグループ内の当該第3のレベルのアイテムに対する順位を決定するステップと、当該第3のレベルのアイテムに関連付けられた画像があるかどうかを判定するステップと、当該第3のレベルのアイテムの順位が閾値を満たす場合に、当該グラフィック・ユーザ・インタフェース内に表示するための当該第3のレベルのアイテムを選択するステップとを含んでもよい。さらに他の特徴は、当該グラフィカル・ユーザ・インタフェースの第1の垂直エッジの近くに配置された選択領域および情報領域を有する当該表示領域を含み、当該方法はさらに、当該ユーザ入力が当該選択領域で開始し当該情報領域で終了する水平スワイプに含まれるかどうかを判定し、水平スワイプに応答して、当該表示領域を更新して、当該グラフィカル・ユーザ・インタフェースの第2の垂直エッジの近くに配置されるように当該選択領域を移動するステップを含む。
これらの態様の1つまたは複数の他の実装は、コンピュータ記憶デバイスで符号化された当該方法のアクションを実施するように構成された対応するシステム、装置、およびコンピュータ・プログラムを含む。
これらの実装は幾つかの点で特に有利である。例えば、本明細書で説明した要素および技術の実装および組合せは、それらが、特に小型のディスプレイでの大量の情報の高速なナビゲーションおよび消費を可能とし、要求された計算リソースを削減し、当該階層データをデータ・サーバから取り出すのに必要な当該データ通信帯域幅を削減するので、特に有利である。当該実装はまた、それらが、提示する必要のある情報の量に適応するユーザ・インタフェースを提供し、容易な階層レベル訪問のためのデータを提供し高レベルなスクラビングが高レベルなトピックの間で容易に遷移できるようにするので、有利である。例えば、本明細書で説明した技術により、コンピューティング・デバイスは、それ以外では消費しナビゲートするのが困難な量のデータを多数のカテゴリおよびソースから効率的に提示することができる。
しかし、上述の特徴および利点は全てを含むものではなく、多数の追加の特徴および利点が考慮され本開示の範囲内に入ることは理解されるべきである。さらに、本開示で使用する言語は主に可読性および教示的な目的のために選択されたものであり、本明細書で開示された主題の範囲を限定するものではないことは理解されるべきである。
本開示が当該添付図面の図において限定ではなく例として示される。添付図面において、同じ参照番号は同じ要素を指すために使用される。
階層データとの対話を効率的に編成し、提示し、提供するための例示的な方法の流れ図である。 高レベル対話領域スクラブを受信したことに応答して表示領域を更新するための例示的な方法の流れ図である。 クライアント・デバイスでの提示およびナビゲーションのためのデータを受信し処理するための例示的な方法の流れ図である。 表示領域選択を受信したことに応答して表示領域を低レベルデータで更新するための例示的な方法の流れ図である。 水平選択領域スワイプに応答して右手および左手レイアウトの間でトグルするように表示領域を更新するための例示的な方法の流れ図である。 階層データとの対話を効率的に編成し、提示し、提供するための例示的なグラフィカル・ユーザ・インタフェースのグラフィカル表現の図である。 階層データとの対話を効率的に編成し、提示し、提供するための例示的なグラフィカル・ユーザ・インタフェースのグラフィカル表現の図である。 階層データとの対話を効率的に編成し、提示し、提供するための例示的なグラフィカル・ユーザ・インタフェースのグラフィカル表現の図である。 階層データとの対話を効率的に編成し、提示し、提供するための例示的なグラフィカル・ユーザ・インタフェースのグラフィカル表現の図である。 階層データとの対話を効率的に編成し、提示し、提供するための例示的なグラフィカル・ユーザ・インタフェースのグラフィカル表現の図である。 階層データとの対話を効率的に編成し、提示し、提供するための例示的なグラフィカル・ユーザ・インタフェースのグラフィカル表現の図である。 階層データとの対話を効率的に編成し、提示し、提供するための例示的なグラフィカル・ユーザ・インタフェースのグラフィカル表現の図である。 階層データとの対話を効率的に編成し、提示し、提供するための例示的なグラフィカル・ユーザ・インタフェースのグラフィカル表現の図である。 階層データとの対話を効率的に編成し、提示し、提供するための例示的なグラフィカル・ユーザ・インタフェースのグラフィカル表現の図である。 階層データとの対話を効率的に編成し、提示し、提供するための例示的なシステムを示す高レベルなブロック図である。 例示的なコンピューティング・システムを示すブロック図である。
階層データとの対話を効率的に編成し、提示し、提供するためのシステム、方法、およびインタフェースが開示される。本開示のシステム、方法およびインタフェースをクライアント・サーバ・システムの文脈で説明するが、本明細書で説明した技術を、ネットワーク上で動作可能に接続されたクライアント・サーバ・システム以外のシステムに適用できることは理解されるべきである。例えば、クライアント・デバイス、サード・パーティ・サーバ、データ・サーバ等が、かかる機能提供するために、本明細書で説明した機能の一部または全部を提供してもよく、サーバのクラスタを使用してもよい。
階層データとの対話を効率的に編成し、提示し、提供するための本明細書で説明した技術が幾つかの例において、主にニュース記事の例において表されているが、多数の他のタイプの階層データが可能であり考慮されていることは理解されるべきである。例えば、本明細書で定義された階層データが、複数のレベル・グループ、またはデータツリー、例えば、写真、ソーシャルネットワークデータ、製品情報、メディア(映画、音楽、および他のオーディオビジュアル)情報等に編成またはソートしうる任意のデータを含んでもよい。
当該複数のレベルのデータは少なくとも2つのレベルの階層データを含む。本明細書の例示の目的のため、高レベル、中間レベル、および低レベルが説明される。高レベル・グループは1つまたは複数の中間レベル・アイテムまたはサブグループを含む。例えば、高レベル・グループはカテゴリであってもよく、例えば、ニュース記事の例では、トップ、世界、ビジネス、政治等のニュースのカテゴリであってもよく、これらがイベントまたはトピックにより編成された記事または記事のグループを含んでもよい。高レベル・グループデータは、高レベル・グループに対する表示可能情報、当該高レベル・グループに対するメタデータ、および/または当該高レベル・グループ内のアイテムに対するデータを含んでもよい。中間レベルのサブグループは高レベル・グループ内に入り、また、1つまたは複数の低レベル・アイテムを含んでもよい。例えば、中間レベルのサブグループは、例えば、ニュース記事の例においては、イベント周りの記事のグループ、個人、または組織といったアイテムのクラスタであってもよい。中間レベルデータは、メタデータ、当該中間レベルのサブグループに対する表示不可能および/または表示可能情報、および/または当該中間レベルのサブグループ内のアイテムに対するデータを含んでもよい。低レベル・アイテムは中間レベルのサブグループに入り、任意のタイプのコンテンツ、例えば、記事(例えば、ニュース記事)、媒体(オーディオ、ビデオ、ゲーム等)、ソーシャルネットワーク情報、写真、製品等を含んでもよい。低レベルデータ(例えば、低レベル・アイテムに対応するかまたはそれを表示するデータ)が、当該低レベル・アイテムに対するメタデータ、表示可能、および/または表示不可能情報を含んでもよい。1組のデータまたはデータ・セットは、1つまたは複数の高レベル・グループ、中間レベルのサブグループ、または低レベル・アイテムに対する当該データの一部または全部を含む。本開示はこれらのタームにおいて当該複数のレベルを説明するが、本明細書で説明した技術は他の実装、レベルの量等に適用可能であることは理解されるべきである。
本明細書で説明した技術は、それらが有限なディスプレイ(例えば、コンピューティング・デバイス上の当該スクリーン)上での大量の情報の高速なナビゲーションおよび消費を可能とし、(例えば、低レイテンシにつながる)要求された計算リソースを削減し、使用されるデータ通信帯域幅を削減するので、特に有利である。例えば、本明細書で説明した技術により、非常に制限された計算リソースおよび非常に制限されたディスプレイサイズを有するコンピューティング・デバイス、例えば、安価なスマートフォンまたはウェラブルデバイス(例えば、スマートウォッチ)は、制限された量のデータを用いつつ(例えば、多数のモバイル・デバイスは少量のデータのみをダウンロードできるようにする低速データ接続または制限されたセルラデータ・プランを有する)ニュースを多数のカテゴリおよび記事から効率的に提示することができる。
さらに、本明細書で説明した当該技術によりユーザは、ユーザが高速に要素をナビゲートし、参照し、選択できるように、グラフィカル・ユーザ・インタフェースの要素と対話を編成することで階層データを迅速に消費することができる。本発明の技術の幾つかの実装は、当該ディスプレイの第1のエッジでのスクラブ可能高レベル選択バー、当該ディスプレイの第2のエッジでの中間レベル対話領域、および当該ディスプレイのどちら側が当該中間レベル対話領域を含むかをトグルする能力を提供することで、特にタッチ・スクリーンに対してこれらの目的を達成する。
さらに、本明細書で説明した技術の幾つかの実装は、Fittsの法則を考慮してグラフィカル要素(および特に階層データ)をナビゲートするのに必要な時間を削減する。Fittsの法則は、人間が(例えば、グラフィカル・ユーザ・インタフェース上で)オブジェクトを選択するのに必要な時間はインジケータ(例えば、オブジェクトを選択するのに使用されるデバイス、例えば、指、スタイラスペン、またはコンピュータカーソル)の現在の位置からのオブジェクトの距離に比例し、当該オブジェクトのサイズに反比例することを記述する。したがって、本明細書で説明した技術の実装は、特に小型のタッチ・スクリーン(例えば、片手で、例えば、モバイル・フォンまたはウェラブルデバイスで使用可能)を用いて、グラフィカル・ユーザ・インタフェースの第1のエッジ(例えば、底)に沿って配置されたスクラブ可能高レベル対話領域602および選択可能な当該グラフィカル・ユーザ・インタフェースの第2のエッジ(例えば、左側または右側)に沿って配置された中間レベル選択領域の要素を結合することで、Fittsの法則を階層データのナビゲーションに適用することができる。これらの要素を結合することで、オブジェクトをより高速に選択できるだけでなく、表示されているデータは当該インジケータ(例えば、タッチ・スクリーン上の指)により不明瞭とされないままである。本発明の技術のこれらのおよび他の実装が本明細書にわたって他所で説明される。
本明細書で説明した技術の幾つかの実装はまた、グラフィカル要素を一貫した位置で維持し、アニメーションを回避し、冗長なまたは過剰なデータの提供を回避することで、階層データの高速なナビゲーションの目標を達成する。例えば、幾つかの実装は、スクロールが必要とされず防止さないように、データを表示でき、当該グリッド内に表示できるよりも多くのデータを表示または抽出可能としない固定されたグリッドを含む。特に、スクローリングは本来、当該ユーザの目が当該グラフィカル・ユーザ・インタフェースをスキャンして情報を見つけなければならないように情報の位置を変化させるので、スクローリングを防止するのが有利である。例えば、ユーザが特定の高レベル・グループを選択すると、当該ユーザは、当該特定の高レベル・グループに関する各タイプの情報がどこに配置されるかを、当該グラフィカル・ユーザ・インタフェースで検索する時間を費やすことなく、自動的に知る必要がある。さらに、幾つかの事例では、選択された表示領域は静的なままであり、当該インタフェースの他の領域は当該選択された情報を反映するように変化する。例えば、特定の中間レベルのサブグループが選択されているとき、その中間レベルのサブグループに対応する(例えば、データツリー/階層内のそのサブグループの下/内部の)低レベルデータが変化し、当該中間レベルのサブグループに対して表示されたデータは当該インタフェース上で不変なままである。幾つかの事例では、当該表示領域は、複数の中間レベルのサブグループに対応するデータを表示し、特定の中間レベルのサブグループが選択されているとき、当該選択されていない中間レベルのサブグループに対応するデータの上にまたはそれに代わって、当該選択された中間レベルのサブグループに対応する低レベルデータを拡張する固定されたグリッドとして配置される。さらに、当該データの表示選択領域が、本明細書で説明したように、固定されたグリッドに表示されている実装により、当該インタフェースは同一の情報および当該グラフィカル・ユーザ・インタフェース上の同一のグラフィカル位置における選択を表示しうるので、情報をユーザにより迅速に読み出しナビゲートすることができる。
データ提供モジュール908が階層データを受信し編成するようにクライアント・デバイス906で動作可能であるとして説明されているが、その機能の幾つかのまたは全てを1つまたは複数のサーバ、例えば、データ・サーバ916で実装してもよいことは理解されるべきである。同様に、データ分析エンジン918が階層データを取り出して処理し、ついで当該階層データをクライアント・デバイス906上のデータ提供モジュール908に送信するようにデータ・サーバ916上で動作可能であるとして説明されているが、データ分析エンジン918の機能の一部または全部はシステム900のクライアント・デバイス906または別のコンポーネントで動作可能であってもよい。さらに、当該サード・パーティ・アプリケーションの機能の一部または全部が、例えば、データ・サーバ916で動作可能であってもよい。
図1は、階層データとの対話を効率的に編成し、提示し、提供するための例示的な方法100の流れ図である。102で、データ提供モジュール908(データ提供モジュール908およびそのコンポーネント1020、1022、1024、および1026が図9および10で示され、以下でより詳細に説明される)は、複数のデータ・セットを表示するために定義されたレイアウトを含むクライアント・デバイス906で表示するための動的グラフィカルインタフェースを生成し、当該インタフェースは高レベル対話領域602および表示領域608、610、612、および614を含む。当該定義されたレイアウトが、任意数のディスプレイおよび/または対話領域を含んでもよい。幾つかの実装では、当該ディスプレイおよび/または対話領域は当該グラフィカルインタフェース内に静的に配置されたままであり、これらの領域内のコンテンツのみがデータ提供モジュール908により変更される。例えば、表示領域608、610、612、および614を、選択されたレベルのデータ・セットを表示するグリッドに編成してもよい。例示的な定義されたレイアウトが図6乃至8Bを参照して説明されているが、他の構成が可能であり本明細書で説明した技術で考えられている。
104で、インタフェース・モジュール1022(例えば、図9および10を参照して以下で説明される)が入力をクライアント・デバイス906(例えば、入力デバイス1005を介して)から受信し、ブロック106、110、および114で、インタフェース・モジュール1022は、どのタイプの入力が受信されたかおよびどのアクションを当該ユーザ入力に応答してとるべきかを決定する。ユーザ入力が106、110、および114で決定されると、インタフェース・モジュール1022はそれぞれ当該アクションを108、112、および116で実施する。インタフェース・モジュール1022が106、110、または114での当該ユーザ入力の認識に失敗し、かつ/または、108、112、および116で実施される当該アクションが完了すると、方法100は104に再度戻ってユーザ入力を待機してもよい。例えば、ブロック104の後で、方法100はブロック106に続く。
106で、インタフェース・モジュール1022は入力が高レベル対話領域スクラブであったかどうかを判定する。スクラブが、当該グラフィカル・ユーザ・インタフェースにわたるインジケータ(例えば、指、スタイラスペン、カーソル、または他の入力デバイス)の任意の移動またはスライドを含んでもよい。例えば、当該スクラブ入力を認識しそれに応答して当該ユーザ・インタフェースを更新するステップが図6A乃至6Dに示されている。インタフェース・モジュール1022が106でスクラブを登録してもよいが、幾つかの実装では、それが、高レベル・グループを高レベル対話領域602から選択する任意の入力(例えば、クリック、ホバー、タッチ・スクリーン上のタッチ等)であってもよくまたはそれらを登録してもよい。スクラブ可能高レベル対話領域602は、高速な対話能力を保持しつつグラフィカル・ユーザ・インタフェース上の非常に小さな領域を必要とする正確な選択領域を提供する。例えば、スクラブ可能対話領域602は、(上述のようにFittsの法則に従う追加の時間/工数を要する)小さな領域をユーザが正確に選択することを必要とせず、したがって、スクラブ可能領域は、位置だけでなく移動を追跡することでオブジェクトの高速選択を依然として可能としつつ、より小さいことができる。例示的な高レベル対話領域602が本明細書のどこかでさらに詳細に説明される。
インタフェース・モジュール1022が、入力が高レベル対話領域スクラブであったと判定した場合106、方法100はブロック108において継続する。ブロック108で、インタフェース・モジュール1022は、データ提供モジュール908の他のコンポーネントと関連して、本明細書で説明したように、当該入力が高レベル対話領域スクラブを含むとの判定106に応答して、選択された高レベル・グループに対応する中間レベルデータで表示領域(複数可)を更新する。当該中間レベルデータは中間レベルのサブグループ内の低レベル・アイテムを反映してもよい。幾つかの実装では、当該中間レベルデータは当該サブグループ内の低レベル・アイテムのサマリであってもよい。幾つかの実装では、当該中間レベルデータは、当該サブグループ内の低レベル・アイテムのうち1つに対する低レベルデータを含んでもよい。例えば、幾つかの事例では、中間レベルのサブグループがニュース・イベントを記述するニュース記事のクラスタであってもよく、そのグループに対する中間レベルデータが当該イベントのサマリであってもよく、または、以下でさらに詳細に説明するように、当該中間レベルデータが選択された記事(例えば、提示のための指定された優先度記事)からの情報を含んでもよい。108で高レベル対話領域スクラブ/選択を受信したことに応答して表示領域608、610、612、および614を更新するステップを、図2を参照してさらに詳細に説明する。
ブロック106および108の例示的な実装において、ユーザは、タッチ・スクリーン(例えば、図6A乃至8Bに示すように入力デバイス1008および出力デバイス1010の組合せ)の下底で彼の親指を高レベル対話領域602にわたってスクラブして、ニュースカテゴリを選択してもよい。データ提供モジュール908は当該スクラブを本明細書で説明したように登録および認識し、表示領域608、610、612、および614を更新して、本明細書の図6A乃至6Dを参照して説明したように階層データ・セットを取り出し当該データを表示することで、当該スクラブにより選択されたニュースカテゴリを反映してもよい。表示領域608、610、612、および614の各々が、当該選択された高レベル・グループまたはニュースカテゴリ内の記事のサブグループまたはクラスタに対応する画像およびテキストを含んでもよい。
インタフェース・モジュール1022が、入力が高レベル対話領域スクラブでなかったとブロック106で判定した場合、方法100はブロック110に継続する。ブロック110で、インタフェース・モジュール1022が104で受信された入力が表示領域選択を含むかどうかを判定する。例えば、当該入力を認識しユーザ・インタフェースを更新するステップが図7A乃至7Cに示されている。表示領域(例えば、608、610、612、または614)がグラフィカル・ユーザ・インタフェース600の領域を含んでもよく、当該領域を、データを表示するための情報領域814およびそのデータを選択するための選択領域816に分割してもよい。例えば、情報領域814は中間または低レベルデータを表示してもよく、かつ/または選択領域816は中間レベルのサブグループを選択してもよい。さらに、表示領域608、610、612、および614が行のグリッドまたは列に編成されるケースでは、選択領域816(本明細書では816a乃至816dを単に814と称してもよい)が選択カラム822(本明細書では822aおよび822bを単に822と称してもよい)に編成されてもよく、情報領域(本明細書では814a乃至814dを単に814と称してもよい)が情報カラム(本明細書では820aおよび820bを単に820と称してもよい)に編成されてもよい。
インタフェース・モジュール1022が、受信された入力が表示領域選択を含むと判定した場合110、方法100はブロック112に進む。ブロック112で、インタフェース・モジュール1022は、ユーザ入力が表示領域選択を含んだとの判定110に応答して、当該選択された中間レベルのサブグループに対応する低レベルデータで表示領域(複数可)を更新する。例えば、幾つかの実装では、当該低レベルデータはニュース記事のクラスタ内の個々の記事に関する情報を含んでもよい。表示領域選択を受信したことに応答して低レベルデータで表示領域608、610、612、および614を更新するステップを、図4を参照してさらに詳細に説明される。
ブロック104、110、および112の例示的な実装において、ユーザは、(例えば、表示領域内の画像上の特定の選択領域816を介して)表示領域を、タッチ・スクリーン上で彼の親指で選択して、ニュースクラスタを選択してもよい。データ提供モジュール908は本明細書で説明したように表示領域選択を登録および認識し、入力により選択されたニュースクラスタを反映するように表示領域608、610、612、および614を更新する。表示領域608、610、612、および614を、表示領域608、610、612、および614の各々におけるニュースアイテム/記事を反映するように更新してもよい。当該ユーザはついで、必要に応じて、当該表示領域を再度選択することで当該表示領域/ニュースクラスタを選択解除してもよく、例えば、当該ユーザは選択領域916を2回タップして、表示されている中間レベルのサブグループのリストに戻ってもよい。
インタフェース・モジュール1022が、受信された入力が表示領域選択を含まなかったと判定した場合110、方法100はブロック114に進む。ブロック114で、インタフェース・モジュール1022は、104で受信された入力が水平選択領域スワイプを含むかどうかを判定する。スワイプが、グラフィカルインタフェースの領域にわたるインジケータの任意の移動またはスライドを含んでもよい。特に、水平選択領域スワイプは、選択領域816で始まるグラフィカル・ユーザ・インタフェースにわたってインジケータを水平にスライドすることを含む。例えば、水平選択領域スワイプおよび対応するユーザ・インタフェースの更新が図8Aおよび8Bに示されている。インタフェース・モジュール1022が106での高レベル対話領域スクラブおよびブロック114での水平選択領域スワイプ(例えば、高レベル対話領域602が水平に向いているとき)の間で区別するために、インタフェース・モジュール1022は当該スワイプの位置に対する当該スクラブの位置を決定してもよい。スクラブは、106で決定されるように、高レベル対話領域602上に(おおよそまたは厳密に)配置される。スワイプは、114で決定されるように、(おおよそまたは厳密に)当該表示領域(複数可)上に配置される。例えば、スワイプが、本明細書のどこかで説明される選択領域/カラム816/822の選択とドラッグを含んでもよい。
インタフェース・モジュール1022が、104で受信された入力が水平選択領域スワイプであったと判定した場合114、方法100はブロック116に進む。ブロック116で、インタフェース・モジュール1022は、当該入力が選択領域の水平スワイプを含んだとの判定114に応答して右手から左手レイアウト(またはその逆)にトグルするように表示領域(複数可)を更新する。幾つかの実装では、前述のように、当該表示領域(複数可)が、当該グラフィカルインタフェースの左手または右手レイアウトを提供するために再配置できる情報および選択カラム820および822を含んでもよい。例えば、選択カラム822をドラッグ/スワイプして、当該表示領域(複数可)を(例えば、図8Aのように)右手から(例えば、図8Bのように)左手レイアウトにトグルして、グラフィカルインタフェースがタッチ・スクリーンデバイス(例えば、クライアント・デバイス906)上にあるときのより容易な入力アクセスを提供し、指が当該タッチ・スクリーンと対話することによる情報領域814の妨害を防止することができる。水平選択領域スワイプに応答して右手および左手レイアウトの間でトグルするように表示領域608、610、612、および614を更新するステップが図5、8A、および8Bを参照してさらに詳細に説明される。他方、インタフェース・モジュール1022が、104で受信された当該入力が水平選択領域スワイプでなかったと判定した場合114、方法100はステップ104にループする。
図2は、高レベル対話領域スクラブ/選択を受信したことに応答して、表示領域608、610、612、および614を更新するための例示的な方法200の流れ図である。方法200は、図1に示されるブロック106および108に対するさらなる詳細を提供する。202で、インタフェース・モジュール1022は複数のデータ・セットを表示するための定義されたレイアウトを含む動的グラフィカルインタフェースを生成し、当該データ・セットは複数のレベルを含み、204でインタフェース・モジュール1022はクライアント・デバイス906に表示するためのサブ領域を含む高レベル対話領域602を提供し、各サブ領域は高レベル・グループに対応する。
例示的な高レベル対話領域602が図6に表示されている。示すように、高レベル対話領域602は、(例えば、図6A乃至6Dに示されるように)タッチ・スクリーンクライアント・デバイス上での(例えば、インジケータ630により示されるように)指による容易なアクセスを提供するために、グラフィカルインタフェース600の下底の近くに静的に配置されてもよい。例えば、図6に示される高レベル対話領域602の配置は有利なことに、ユーザが片方の手を用いて親指を高レベル対話領域602に沿ってスライドすることで高レベル・グループをスクラブ/選択することを可能とする。さらに、示すように、高レベル対話領域602が複数のサブ領域604a乃至604hを含んでもよい。例えば、当該サブ領域はカテゴリまたはサブジェクトに対応してもよい。図6に示す例において、各サブ領域はニュースカテゴリ(例えば、トップ・ストーリ、世界、US、ビジネス、技術、科学、健康、エンターテインメント等)に関する。当該サブ領域および高レベル対話領域602が静的に配置される事例では、ユーザは有利にもサブ領域/高レベル・グループを選択するために高レベル対話領域602またはサブ領域を見る必要はない。幾つかの実装では、当該インタフェースに表示された特定のサブ領域604a乃至604hがカスタマイズ可能または拡張可能であってもよい。さらに、幾つかの事例では、当該グラフィカルインタフェースが、どの高レベル・グループが(例えば、サブ領域604a乃至604hから)選択されるかを表示する高レベル・グループ選択インジケータ606を含んでもよい。8個のサブ領域604a乃至604hが示されているが、本明細書で説明した技術の範囲を逸脱することなくより少ないまたは追加のサブ領域を使用してもよい。高レベル対話領域602、サブ領域604a乃至604h、および選択インジケータ606が図6の特定の構成で表示されているが、他の実装が可能であり、本明細書で考慮されていることは理解されるべきである。例えば、高レベル対話領域602をグラフィカル・ユーザ・インタフェースの左側または右側に沿って垂直に配向でき、または当該選択インジケータが当該選択されたサブ領域のハイライトのみで構成されてもよい。
図6Aは初期グラフィカル・ユーザ・インタフェース600の1例を示し、インタフェース・モジュール1022がユーザ入力を受信するのを待機している。例えば、サブ領域604aにより表されるカテゴリが最初にグラフィカル・ユーザ・インタフェース600に示されてもよい。図6Bはインジケータ630による入力を受信した際の例示的なグラフィカル・ユーザ・インタフェース600を示し、示すように、サブ領域604aはそれが選択されていることを反映するようにハイライトされ(または変更され)てもよい。同様に、選択インジケータ606は選択されたサブ領域604aに対応するカテゴリを示す。図6Cは例示的なグラフィカル・ユーザ・インタフェース600を示し、スクラブ入力が受信されている。例えば、インジケータ630は高レベル対話領域602にわたってスクラブしている。図6Cに示す例において、インタフェース・モジュール1022は当該スクラブを認識するが、当該インジケータが特定のサブ領域の上でまたはおおよそその上で停止または減速するのを待機してもよい。
図6Dは例示的なグラフィカル・ユーザ・インタフェース600を示し、インタフェース・モジュール1022が、スクラブ入力がサブ領域604bを選択したことを認識している。サブ領域604dは、図示した実装において、ワールド・ニュースカテゴリに対応し、これが選択インジケータ606に表示されてもよい。さらに、図6Dにおいて、表示領域608、610、612、および614、ならびにそれらの夫々の要素の各々が、グラフィカル・ユーザ・インタフェース600に静的に配置されたままであることがわかる。しかし、表示領域608、610、612、614内に表示された情報は、選択されたサブ領域604bを反映するように変更されている。幾つかの実装では、インタフェース・モジュール1022は、入力がサブ領域604b、したがってワールド・ニュースカテゴリを選択すると認識してもよく、データ分析エンジン918(例えば、本明細書で説明したように、データ・ハンドラ1020、通信モジュール1002、およびネットワーク902を介して)と通信して、選択された高レベル・グループ(例えば、サブ領域604bで選択されたカテゴリ)に対する階層データを含むデータ・セットを取り出してもよい。
図2に戻ると、206で、データ・ハンドラ1020はデータ・セット(複数可)をデータ・サーバ916から取り出す。例えば、データ・ハンドラ1020は特定の信号に応答してデータ・セットを取り出してもよく、当該信号がウェブ・ページまたはウェブ・アプリのオープン、アプリケーションの実行、またはユーザ入力の受信を含んでもよい。例えば、幾つかの実装では、インタフェース・モジュール1022は、それが、データ・セット(複数可)をデータ・サーバ916から(例えば、図9のネットワーク902を介して)取り出すためにデータ・ハンドラ1020に何を信号送信するかに応答して、ユーザ入力を受信する。
幾つかの実装では、データ・ハンドラ1020は、サブ領域604a乃至604hにより表されるグループに対するデータ・セット(例えば、各高レベル・グループの高、中、および低レベルに対応するデータ)を取り出す。幾つかの実装では、データ・ハンドラ1020は、選択された高レベル・グループに対応する1組のデータのみを取り出す。幾つかの実装では、データ・ハンドラ1020は、データ(例えば、中間レベルデータ、低レベルデータ等)を、当該情報を当該グラフィカルインタフェースに表示するのに必要なものとしてのみ取り出す。例えば、ユーザが特定の高レベル・グループおよび中間レベルのサブグループを選択した場合、データ・ハンドラ1020は、選択されたデータを当該インタフェースに表示するのに必要なデータ(例えば、当該選択された中間レベルのサブグループに対する利用可能な表示領域に対応する数の低レベル・アイテムを表示するのに必要なデータ)のみを取り出してもよい。
データ・ハンドラ1020はデータ・サーバ916から取り出されたデータをさらなる処理のためにインタフェース・モジュール1022に送信してもよく、または、幾つかの事例では、データ・ハンドラ1020は、当該取り出されたデータを、データ提供モジュール908の他のコンポーネントによるアクセスのためにデータ・ストア1012に格納してもよい。
208で、インタフェース・モジュール1022は、クライアント・デバイス906に表示するための定義されたレイアウトを有する表示領域608、610、612、および614を提供し、各表示領域は、中間レベルのサブグループに対する中間レベルデータを表示するように構成される。例えば、インタフェース・モジュール1022は、データ・ハンドラ1020によりデータ・ストア1012に格納されたデータ・セット1014aにアクセスし、表示領域608、610、612、および614内のデータ・セットを用いてインタフェースを生成する。説明したように本明細書のどこかで、中間レベルデータは中間レベルのサブグループのコンテンツを反映する。例えば、各表示領域は、高レベル・グループ内の中間レベルのサブグループごとに中間レベルデータを表示する。複数の例示的な表示領域608、610、612、および614が図6乃至8Bで示されている。図6A乃至6Dの図示した実装では、各表示領域608、610、612、および614は中間レベル・グループに対する中間レベルデータを表示している。例えば、ニュースデータが例示的なインタフェース600に表示されおり、各中間レベル・グループは「トップ・ストーリ」の選択された高レベル・グループ604a内のイベントに対応する。
定義されたレイアウトが、図6A乃至8Bに示すように、表示領域のカラム内に互いに積層された長方形領域でありうる1つまたは複数の表示領域608、610、612、および614を含んでもよい。幾つかの事例では、表示領域608、610、612、および614は図6A乃至8B内のブラケットにより示すように画されている。表示領域608、610、612、および614は当該グラフィカル・ユーザ・インタフェースの左側から右側に拡張されてもよく、構成要素、例えば、情報領域814および選択領域816に分解されてもよい。さらに、情報領域814が、情報、例えば、図7A乃至7Cに表示されるようにタイトル702a、ソース704a、サブジェクト706a、カテゴリ710a等を表示するために1つまたは複数の領域にさらに分解されてもよく、情報領域814内の特定の領域に表示されてもよい。幾つかの実装では、当該定義されたレイアウトは当該グラフィカル・ユーザ・インタフェース(例えば、図6A乃至8Bに表示されるように600、700、または800)の上部の近くに配置された選択インジケータ606、当該グラフィカル・ユーザ・インタフェースの下底の近くに配置された高レベル対話領域602を含み、幾つかの(例えば、4乃至6個の)表示領域608、610、612、および614は、選択インジケータ606および高レベル対話領域602の間の領域を埋める。
図2に戻ると、210で、インタフェース・モジュール1022が高レベル対話領域602にわたるスクラビングを含むユーザ入力を受信し、当該スクラビングはサブ領域/高レベル・グループの選択を反映し、212で、当該スクラブ入力を受信したことに応答して、インタフェース・モジュール1022は、本明細書でより詳細に説明するように、選択された高レベル・グループに対応する中間レベルデータを含むように表示領域608、610、612、および614を更新する。
図3は、クライアント・デバイス906での提示とナビゲーションのためのデータを受信するための例示的な方法300の流れ図である。302で、データ・ハンドラ1020は、図2のブロック206を参照して上述したように、データをデータ・サーバ916から受信する。データ・ハンドラ1020により取り出されたデータ・セットが、既に(例えば、データ・ハンドラ1020によりダウンロードされる前に)高、中、および低レベルにソートされ、特定の基準に従って順位づけられ、かつ/または(図9に示されるように)データ分析エンジン918によりタグ付けされてもよいことは理解されるべきである。特に、当該データ・セットは、重い処理がデータ提供モジュール908により実施されないように、データ・ハンドラ1020により受信される前に、データ分析エンジン918により処理されるべきである。したがって、データ分析エンジン918により実施される処理の一部または全部をデータ提供モジュール908により実施してもよいが、方法300は主に、当該データ・セットがデータ分析エンジン918により処理されついでデータ提供モジュール908による使用のために取り出されるとして説明される。さらに、データ提供モジュール908を参照して説明される追加の動作および機能をデータ分析エンジン918により実施してもよいことは理解されるべきである。
304で、カテゴリ化モジュール1024はデータ・ハンドラ1020により取り出されたデータ・セット(複数可)にアクセスし、当該データを高レベル・グループ、中間レベルのサブグループ、および低レベル・アイテムにソートしてもよい。幾つかの実装では、当該高、中、および低レベルデータは、各低レベル・アイテムのデータの順位を記述し、レベル(高、中、低等)を示し、かつ/または階層グループまたはサブグループ各アイテムが属するタグを含む(例えば、データ分析エンジン918によりタグ付けされデータ・アイテムのメタデータに含まれる)。例えば、低レベル・アイテムが、当該アイテムが特定の中間レベルのサブグループおよび特定の高レベル・グループに属することを示すタグを含んでもよい。カテゴリ化モジュール1024はこれらのデータ・アイテムを当該タグに従って中間レベルのサブグループおよび高レベル・グループにソートしてもよい。
306で、順序付けモジュール1026は、ソートされたデータ・セットを処理して、(例えば、カテゴリ化モジュール1024から受信されるかまたはクライアント・デバイス906のメモリにある)各高レベル・グループ内に表示される中間レベルのサブグループを決定する。幾つかの実装では、データ・ハンドラ1020により取り出されたデータ・セットは、当該インタフェース内の表示領域608、610、612、および614の数に対応する量の中間レベルのサブグループを含む。例えば、図6に示す例において、4つの表示領域608、610、612、および614のみが描画されており、したがって各高レベル・グループ内の最大で4つの中間レベルのサブグループに対応する(例えば、それに属するようにタグ付けされた)データがデータ・サーバ916から取り出される。
同様に、幾つかの実装では、データ・ハンドラ1020により取り出されたデータ・セットが、インタフェース内の表示領域608、610、612、および614の数に対応する量の低レベル・アイテムのみを含んでもよい。例えば、図7に示す例において、4つの表示領域608、610、612、および614のみが描画されており、したがって、各中間レベルのサブグループ内の最大で4つの低レベル・アイテムに対応する(例えば、それに属するようにタグ付けされた)データがデータ・サーバ916から取り出される。
308で、順序付けモジュール1026は、ソートされたデータ・セットを処理して各中間レベルのサブグループ内で表示される低レベル・アイテムを決定する。幾つかの実装では、データ・ハンドラ1020は、低レベル・アイテムごとに事前定義されたデータのみを取り出し、それらは各中間レベルのサブグループ内で低レベルデータとして表示され、他の実装において、データ・ハンドラ1020が低レベル・アイテム(例えば、ニュース記事)を全体として取り出すことが可能であり、順序付けモジュール1026は、どの低レベルデータを、テキスト分析、メタデータ・タグ等を用いて表示するかを判定する。
(例えば、表示領域(複数可)内で)表示された低レベルデータが、低レベル・アイテムごとに特定の情報を含んでもよい。例えば、図7の例示的な実装で示すように、表示された低レベルデータが、タイトル702、ソース704、分類706、サブジェクト710、および/または画像712を含んでもよいが、以下のブロック312を参照して説明するように他の実装が可能である。図7に示す例において、(以下の310を参照して定義されるように)指定された優先度の記事は分類706ではなくサブジェクト708を含むが、他の実装が可能であり考慮されている。さらに、幾つかの実装では、当該指定された優先度記事のみが(その記事に対して、データ・ハンドラ1020により取り出されうる)表示画像を含むが、例えば、(利用可能な場合)低レベルデータ・アイテム/記事の各々が画像を含む他の実装が可能である。
310で、順序付けモジュール1026は、各中間レベルのサブグループにおける低レベルデータ提供優先度を決定する。当該低レベルデータ提供優先度は低レベル・アイテムを提示する順番を定義し、幾つかの実装では、これらのアイテムのうちどれが指定された優先度アイテムであるかを定義する。指定された優先度アイテムに対する低レベルデータが中間レベルのサブグループを表すように表示されてもよい。例えば、指定された優先度アイテムがイベントに対するニュース記事のクラスタ内の最も人気のあるニュース記事であってもよく、当該指定された優先度記事に対する低レベルデータが記事の中間レベルのサブグループまたはクラスタ全体のコンテンツを反映するように中間レベルデータとして表示されてもよい。幾つかの事例では、当該指定された優先度アイテムは順位付けられその順位が閾値を満たすアイテムであってもよい。例えば、当該順位が、(例えば、アイテムの人気度を示す)低レベル・アイテム上のメタデータ・タグ、および、当該低レベル・アイテムが関連付けられた画像を含むかどうか(例えば、ニュース記事のケースでは、当該ニュース記事が画像を含むかどうか)に基づいてもよい。
幾つかの実装では、データ・セットをデータ提供モジュール908に送る前に、データ分析エンジン918は、指定された優先度アイテム、残りのアイテムに対する表示順序、および/または低レベル・アイテムおよび/または中間レベルのサブグループに対する順位を決定し(またはデータ提供モジュール908によるサービス要求に応答して決定してもよい)、順序付けモジュール1026による認識のために当該アイテムをタグ付けする。指定された優先度アイテムは、定義された1組の基準内にあるかまたはそれに最も密接に対応する最高優先度または順位に適合する、例えばそれらを有するアイテムに対応する任意のアイテムである。例えば、低レベル・アイテムが、全体の人気度、カテゴリ内の(例えば、中間レベルのサブグループ内、高レベル・グループ内等)人気度、コンテンツの深さ、そのソースの評価等に基づいて順位づけられてもよい。別の例では、低レベル・アイテムは、当該低レベル・アイテムの分類を記述する(例えば、データ分析エンジン918により決定される)タグを含む。例えば、図7Cに示す例において、分類(710a、710c、および710d)が、「詳細」、「意見」、および「国際」を含んでもよいが、最高順位の記事、ローカルソース、特定のソース、(例えば、ソーシャルネットワーク上の、人気度での)アイテムのトレンディング、頻繁に引用されている、頻繁に共有されている、最も視聴されている等を含んでもよい。
幾つかの実装では、順序付けモジュール1026は、各アイテムを評価し、関連付けられた画像を有する最高順位のアイテムを決定することで提示優先度を決定し、当該最高順位のアイテムがついで所与の表示領域における指定された優先度アイテムとして表示される。当該所与の表示領域は、中間レベルのサブグループデータがその特定の指定された優先度アイテムが属するサブグループに対して表示されていた/表示されている表示領域に対応する。例えば、指定された優先度ニュース記事が図7A乃至7Cの表示領域610に表示されている。
図7A乃至7Cに示す例において、ユーザは、図7Aに表示されたサブグループのリストから表示領域/中間レベルのサブグループ610を選択しており、その選択の際、データ提供モジュール908は、指定されていない優先度低レベルデータを反映するように他の表示領域608、612、および614の全てを更新する。幾つかの事例では、指定されていない優先度アイテムが、(例えば、前述のように順位に従って)残りの表示領域(例えば、608、612、614)に順番に表示されている。例えば、指定された優先度記事が第3位に順位づけられ、表示領域610に表示される場合、第1位、第2位、および第4位に順位付けられた残りの記事はそれぞれ表示領域608、612、および614内に提示される。選択された中間レベルのサブグループに対する表示データは表示領域が低レベルデータで更新されるときに変更されないままであるので、当該変更はユーザにはあまり不快に見えない。
あるいはまたはさらに、幾つかの実装では、当該アイテムが表示領域608、610、612、および614内に表示される順番は(例えば、上述のように)それらの分類により記述される。例えば、図7Cで、表示領域608は分類710a「詳細」を有するアイテムを表示し、表示領域612は分類710c「意見」を有するアイテムを表示し、表示領域614は分類710d「国際」を有するアイテムを表示する。表示された配置および特定の分類は(例えば、管理者設定、利用可能な分類等に従って)データ提供モジュール908に対して予め決定されてもよく、または、データ分析エンジン918により提供される利用可能な低レベル・アイテムおよび分類により記述されてもよい。例えば、1実装では、指定された優先度低レベル・アイテムが或る表示領域に表示され、当該表示領域の残りが上述の当該分類の1つまたは複数を有する低レベル・アイテムで埋められる。
312で、順序付けモジュール1026は、表示領域608、610、612、および614に対する表示可能情報を、上述のように、表示優先度、表示領域内の利用可能なデータフィールド、および/またはメタデータ・タグに基づいて、データ・サーバ916から取り出されたデータ・セットから決定する。幾つかの実装では、当該表示可能情報が、サマリ、タイトル702a乃至702d、ソース704a乃至704d、分類710a乃至710d、サブジェクト706a乃至706d、画像708a乃至708d、および/または(例えば、アイテム/記事および/または当該アイテム/記事に関連付けられたメタデータ・タグのコンテンツに基づいて)アイテムに対してそれぞれ決定されうる任意の他のテキストまたはグラフィカル情報を含んでもよい。
幾つかの実装では、当該表示可能情報が低レベル・アイテムの1つまたは複数に対して変化してもよい。例えば、指定されていない優先度アイテムと異なる情報/低レベルデータを、当該指定された優先度アイテムに対して表示してもよい。例えば、図7Cで示す例示的な実装では、表示領域610内の指定された優先度記事に対する表示可能情報はサブジェクト706b、タイトル702b、ソース704b、および画像708bを含み、指定された優先度アイテム以外のアイテム/記事に対する表示可能情報は、例えば、608に表示されるように、分類710a、タイトル712a、およびソース714aを含むが、画像は含まなくてもよい。図7A乃至7Cに示す実装は記事、タイトル、分類等を指すが、明細書で説明した技術による他の実装が可能であり考慮されていることは理解されるべきである。
314で、順序付けモジュール1026は低レベルデータに対する表示可能情報を中間レベルのサブグループに関連付ける。特に、幾つかの実装では、順序付けモジュール1026は、指定された優先度アイテムに対する表示可能情報をその指定された優先度アイテムが属する中間レベル・グループに関連付ける。特に、中間レベルのサブグループごとの表示情報が単に、特定の低レベル・アイテム、例えば、指定された優先度アイテムに対する低レベルデータであってもよい。例えば、図7の表示領域708bで表示される情報は図6の表示領域608b内の中間レベルのサブグループデータとしても表示される。
図4は、表示領域選択を受信したことに応答して表示領域608、610、612、および614を低レベルデータで更新するための例示的な方法400の流れ図である。方法400は図1に示すブロック110および112に対するさらなる詳細を提供する。402で、インタフェース・モジュール1022は少なくとも1つの1組のデータを表示するための定義されたレイアウトを含む動的グラフィカルインタフェースを生成し、各1組のデータは複数のレベルを含む。404で、データ・ハンドラ1020は1つまたは複数の高レベル・グループに対する中間レベルデータを取り出してもよい。406で、インタフェース・モジュール1022はクライアント・デバイス906に表示するための定義されたレイアウトを有する複数の表示領域608、610、612、および614を提供し、各表示領域は各中間レベルのサブグループに対する中間レベルデータを表示するように構成されている。特に、406でインタフェース・モジュール1022により生成された表示領域608、610、612、および614は、選択された高レベル・グループに対する中間レベルのサブグループデータを表示でき、中間レベルのサブグループを選択するための低レベルデータを表示するために更新されることができる。
408で、インタフェース・モジュール1022は、表示領域の複数の表示領域608、610、612、および614からの選択を示すユーザ入力を受信する。410で、データ・ハンドラ1020は、受信されたユーザ入力に基づいて信号をインタフェース・モジュール1022から受信したことに応答して、当該選択された表示領域に対応する中間レベルのサブグループに対する低レベルデータをデータ・サーバ916から取り出す。幾つかの実装では、当該低レベルデータは選択された高レベル・グループに対する中間レベルデータとともにまたはそれとして取り出され、したがって、410で、当該低レベルデータはデータ・ハンドラ1020により図10を参照して説明されるデータ・ストア1012から取り出される。
412で、インタフェース・モジュール1022は、データ・ハンドラ1020により取り出された情報を用いて、選択された中間レベルのサブグループ内で低レベル・アイテムに対応する低レベルデータを含むように、複数の表示領域608、610、612、および614を更新する。特に、インタフェース・モジュール1022は、表示領域608、610、612、および614に表示された中間レベルのサブグループデータを、(例えば、図3を参照して説明したように)低レベル・アイテムごとの表示可能情報で置き換えてもよい。幾つかの実装では、表示領域608、610、612、および614の各々は低レベルデータを表示しうる(例えば、図8Aおよび8Bに示される)選択および表示領域を含む。表示領域が、例えば、図7A乃至7Cに示されるように、タイトル702a、ソース704a、分類710a、サブジェクト706a、画像708a等をロードし表示する領域を含んでもよい。例えば、低レベル・アイテムが、例えば、タイトル、ソース、分類、サブジェクト、画像等としてタグ付けまたは編成される様々な低レベルデータを含んでもよく、これらは例えば、図6A乃至8Bを参照してさらに詳細に説明するように1つまたは複数の表示領域内の指定された領域にロードされる。
幾つかの事例では、表示領域(例えば、選択領域816)内の画像を、あたかも中間レベルのサブグループが高レベル・グループの上で拡張されるかのようにグレーアウトしてもよい。例えば、示された画像708a、708c、および708dは、それらが選択されていない中間レベルのサブグループに対応することを示すようにグレーアウトされる。選択されていないサブグループに対応する画像(例えば、708a、708c、および708d)がグレーアウトされているが依然として可視である実装では、ユーザは、その中間レベルのサブグループに対応するグレーアウトされた画像を選択することで異なる中間レベルのサブグループを容易に選択でき、これは、選択された中間レベルのサブグループを拡張させる。あるいはまたはさらに、当該ユーザは、選択された表示領域を再度選択して、(例えば、図7Aに示されるように)中間レベルのサブグループのリストを含む以前のビューに再び戻ることができる。
したがって、図7Aは、表示領域608、610、612、および614がそれぞれ、選択された高レベル・グループにおける中間レベルデータと、中間レベルのサブグループに対応する画像とを表示する、例示的なグラフィカル・ユーザ・インタフェース700を示す。例えば、幾つかの実装では、中間レベルのサブグループごとに表示された中間レベルデータが、タイトル702a乃至702d、ソース704a乃至704d、サブジェクト706a乃至706d、および画像708a乃至708dを含んでもよい。図7Bはグラフィカル・ユーザ・インタフェース700を示し、表示領域610はインジケータ630により選択されている。
図7Cはグラフィカル・ユーザ・インタフェース700を示し、表示領域610がインジケータ730により選択されている。当該図示した実装において、表示領域610で表示された中間レベルデータは同一のままであるが、表示領域608、612、および614の各々に対して情報領域(例えば、814)で表示されたデータは、当該選択された中間レベルのサブグループ内の低レベル・アイテムを反映するように更新されている。例えば、表示領域608は、当該選択された中間レベルのサブグループ内の低レベル・アイテム(例えば、イベントベース記事クラスタ内の記事)に対するデータを含むように更新されている。
幾つかの実装では、低レベル・アイテムがいったん表示されると、ユーザは、単一の低レベル・アイテムを選択(例えば、情報領域814を選択)して、そのアイテムに対する追加の低レベルデータを表示してもよい。例えば、ユーザは表示領域内の情報領域を選択して、その表示領域に対応する記事を開いてもよい。別の例では、当該ユーザは複数の低レベル・アイテム(例えば、記事)を選択して、選択されたアイテムの各々に対するより多くの情報を表示(例えば、当該記事を開く)してもよい。
図5は、表示領域608、610、612、および614を更新して水平選択領域スワイプに応答して右手および左手レイアウトの間でトグルするための例示的な方法500の流れ図である。方法500は図1に示すブロック114および116に対するさらなる詳細を提供する。502で、インタフェース・モジュール1022は少なくとも1つの1組のデータを表示するための動的グラフィカルインタフェースを生成し、各1組のデータは複数のレベルを含む。504で、データ・ハンドラ1020は中間レベルおよび低レベルデータをデータ・サーバ916から取り出す。
506で、インタフェース・モジュール1022はクライアント・デバイス906に表示するための複数の表示領域608、610、612、および614を提供し、各表示領域は中間レベルデータまたは低レベルデータを表示し、各表示領域は選択カラム822および情報カラム820に分割される。図1を参照して説明したようにおよび図8Aで示すように、表示領域608、610、612、および614をそれぞれ情報領域814および選択領域816に分割してもよい。例えば、図8Aで示すように、表示領域608は情報領域814aおよび選択領域816aに分割される。さらに、幾つかの事例では、当該情報および選択領域を整列させて情報カラム820および選択カラム822を形成してもよい。
幾つかの実装では、ユーザは情報領域814を選択することで中間レベルのサブグループおよび/または低レベル・アイテムを選択できてもよいが、選択領域816a乃至816dは、ユーザが、当該選択の間に情報領域814内で情報をブロックするようにインジケータ630(例えば、タッチ・スクリーン上の指またはスタイラスペン、カーソル等)配置することなく選択を行うことができるように、理想的に提供されている。例えば、図7Bはインジケータ730による表示領域610の選択を示す。同様に、図8Aに示されるように、幾つかの実装では、関連付けられた情報領域814内の情報に対応する選択領域816内の1つまたは複数の画像(例えば、サムネイル画像)が選択領域816a乃至816d内またはそれらの上に表示されてもよいが、当該画像表示機能をユーザ嗜好としてオフにするか、または、当該機能が当該実装に存在しなくてもよい。例えば、選択領域816aは情報領域814a内の情報に対応する画像を表示する。例えば、選択領域816aに表示された画像はニュース記事が情報領域814aに表示されているニュース記事内の第1の画像であってもよい。
508で、インタフェース・モジュール1022はクライアント・デバイス906に関連付けられた入力デバイスからユーザ入力を受信し、510で、インタフェース・モジュール1022は当該ユーザ入力が表示領域または選択領域のクリックまたは他の選択を含むかどうかを判定する。514で、510での決定に基づいて、インタフェース・モジュール1022は、複数の表示領域608、610、612、および614の表示領域を選択し、選択された中間レベルのサブグループに対応する低レベルデータを含むように選択された表示領域を更新する。
512で、インタフェース・モジュール1022は508で受信された入力が水平スワイプを含むかどうかを判定する。水平スワイプが、グラフィカルインタフェースの領域(例えば、特に表示領域)にわたる垂直よりも水平なインジケータの任意の移動またはスライドを含んでもよい。特に、インタフェース・モジュール1022は、選択カラム822で開始する水平スワイプがあるかどうかを判定し、それに応答して、インタフェース・モジュール1022は、516での当該スワイプの方向に選択カラム822を移動するように動的グラフィカル・ユーザ・インタフェースを更新する。例えば、図8Aおよび8Bで示しそれらを参照して説明するように、インタフェース・モジュール1022は、選択カラム822を、ディスプレイの右側に近い領域(例えば、クライアント・デバイス906のタッチ・スクリーン・ディスプレイ)から当該ディスプレイの左側に近い領域に移動する。
幾つかの実装では、選択および情報カラムを、グラフィカル・ユーザ・インタフェース800の左手または右手レイアウトを提供するために再配置することができる。例えば、当該グラフィカルインタフェースがタッチ・スクリーンデバイス上にあるときにより容易な入力アクセスを提供し、指が当該タッチ・スクリーンと対話することによる情報領域/カラムの妨害を防止するために、選択カラム822をドラッグ/スワイプして、右手および左手レイアウトの間で表示領域(複数可)をトグルすることができる。例えば、図8Aおよび8Bは、例示的なインタフェース800が図8Aの右手レイアウトから図8Bの左手レイアウトへトグルされることを示す。図8Aを参照すると、選択カラム822aがグラフィカル・ユーザ・インタフェース800の右側に示され、情報カラム820がグラフィカル・ユーザ・インタフェース800の左側に示されており、それにより右手方位を生成する。図8Aでは、インジケータ630が、グラフィカル・ユーザ・インタフェース800の右側からグラフィカル・ユーザ・インタフェース800の左側に選択カラム822aをスワイプする(例えば、選択およびドラッグする)ことが示されている。図8Bは、当該レイアウトが左手方位にトグルされた後の例示的なグラフィカル・ユーザ・インタフェース800を示す。例えば、情報カラム820bが右側に表示され、選択カラム822bが、左側グラフィカル・ユーザ・インタフェース800からの簡単なアクセスのためにグラフィカル・ユーザ・インタフェース800の左側に示されている。例えば、ユーザはタッチ・スクリーンクライアント・デバイス906を用いて、指、例えば、当該ユーザの親指を使用して、(例えば、図8Aのように)右手を用いて右手レイアウト内のまたは(例えば、図8Bのように)左手を用いて左手レイアウト内の情報セクション/領域を妨害することなく、中間レベルのサブグループおよび/または低レベル・アイテムを選択してもよい。
図9は、階層データとの対話を効率的に編成し、提示し、提供するための例示的なシステム900の高レベルなブロック図である。示されたシステム900は、ユーザ912によりアクセスされるクライアント・デバイス906、データ分析エンジン918およびデータベース920を有するデータ・サーバ916、およびサード・パーティ・アプリケーション926を有するサード・パーティ・サーバ924を含む。コンポーネント906、916、および924はネットワーク902を介して接続される。
図9ではデバイス902、906、916、および924が例として示されている。図9は単一のクライアント・デバイス906、サード・パーティ・サーバ924、およびサーバ916を示すが、本開示は、任意数のクライアント・デバイス906、サード・パーティ・サーバ924、およびサーバ916を有する任意のシステムアーキテクチャに適用される。さらに、1つのネットワーク902のみがクライアント・デバイス906、データ・サーバ916、およびサード・パーティ・サーバ924に接続されているが、実際には1つまたは複数のネットワーク902をこれらのエンティティに接続することができる。
データ分析エンジン918がデータ・サーバ916で動作するとして示されており、データベース920がデータ・サーバ916に格納されるとして示されており、サード・パーティ・アプリケーションがサード・パーティ・サーバ924で動作するとして示されており、データ提供モジュール908がクライアント・デバイス906で動作するとして示されているが、これらのコンポーネント全部または一部およびそれらの機能が、システム900の様々なコンポーネントに格納されてもよく、かつ/または、その上で動作してもよいことは理解されるべきである。例えば、幾つかの実装では、本明細書でデータ提供モジュール908に割り当てられた機能および/またはコンポーネントの全部または一部がデータ・サーバ916上で動作してもよい。
クライアント・デバイス906は任意のコンピューティング・デバイスであることができ、それらには、1つまたは複数のメモリおよび1つまたは複数のプロセッサ、例えば、ラップトップコンピュータ、デスクトップコンピュータ、タブレットコンピュータ、携帯電話、スマートフォンデバイス、スマートウォッチまたは他のウェラブルデバイス、ポータブルゲームプレイヤ、ポータブル音楽プレイヤ、1つまたは複数のプロセッサを組み込むかまたは接続したテレビ、またはネットワークにアクセスできる任意の他の電子デバイスが含まれる。幾つかの実装では、システム900は異なるタイプのクライアント・デバイス906の組合せ、例えば、パーソナル・コンピュータおよびモバイル・フォンの組合せを含む。以下で説明されるように、本技術はクライアント・サーバキテクチャと異なるモデルで動作できることは理解されるべきである。例えば、クライアント・デバイス906が、データ提供モジュール908および/またはデータ分析エンジン918ならびに他のサービスを含んでもよい。
さらに、データ提供モジュール908のコンポーネントの全部または一部が、例えば、ブラウザ上のウェブアプリケーションまたはブラウザ内の特殊コード実行可能として動作可能であり、これらはクライアント・デバイス906上に格納されデータ・サーバ916との双方向通信に対して構成されたウェブブラウザであることができる。例えば、当該ブラウザはウェブ上の情報リソースを抽出、提示、および訪問するためのソフトウェアアプリケーションである。
サーバ916および924が、データ処理、記憶、および通信能力を有する1つまたは複数のコンピューティング・デバイスを含んでもよい。例えば、サーバ916および924が、1つまたは複数のハードウェアサーバ、サーバアレイ、記憶デバイスおよび/またはシステム等を含んでもよい。幾つかの実装では、サーバ916および924が1つまたは複数の仮想サーバを含んでもよく、これらは、ホストサーバ環境で動作し、例えば、プロセッサ、メモリ、記憶、ネットワークインタフェース等を含むホストサーバの物理ハードウェアに、抽象レイヤ(例えば、仮想マシンマネージャ)を介してアクセスする。幾つかの実装では、サーバ916および924が、コンテンツ要求を処理するためのウェブサーバ(図示せず)、例えば、HTTPサーバ、REST(representational state transfer)サービスを含んでもよく、またはコンテンツ要求を満足しネットワーク902に接続される1つまたは複数のコンピューティング・デバイスからコンテンツを受信するための構造および/または機能を有する、他のサーバタイプであってもよい。
図示した実装において、データ・サーバ916が、データ分析エンジン918およびデータベース920を含んでもよい。データ・サーバ916は、ネットワーク902を介してクライアント・デバイス906からのコンテンツ要求を受信しそれに応答するように動作可能である。データ分析エンジン918は階層データを集約し提供するように動作可能であり、データ・ストア、例えば、データベース920内の階層データを格納し、それへのアクセスを提供してもよい。データ分析エンジン918は図10を参照しておよび本明細書のどこかでより詳細に説明される。
データベース920は、データを格納し、データへのアクセスを提供するための情報ソースである。データベース920により格納されたデータは、それらにより格納された任意のタイプのデータを含む様々な基準、例えば、アイテム識別子、アイテム−タグ関連付け、サブジェクト、タイトル、ソース、カテゴリ、著者、人気度、製造者、モデル、階層データ・セット内の位置、および/または他のタグおよび記述子を用いて編成され問い合わせられてもよい。データベース920が、データ・テーブル、データベース、または他の編成されたデータの集合を含んでもよい。当該データベースにより格納されたデータのタイプの例が、階層的に編成されうる任意のデータを含んでもよいがこれに限定されず、当該データはニュース記事、写真、ソーシャルネットワークデータ、製品情報、メディア等を含むがこれらに限定されない。
データベース920が、データ・サーバ916に含まれるか、または、データ・サーバ916と異なるがそれに接続されアクセス可能である別のコンピューティング・システムおよび/または記憶システムに含まれてもよい。データベース920は、当該データを格納するための1つまたは複数の非一時的コンピュータ可読媒体を含むことができる。幾つかの実装では、データベース920はデータ・サーバ916で動作可能なデータベース管理システム(DBMS)に関連付けられたデータを格納してもよい。例えば、当該DBMSは構造化されたクエリ言語(SQL)DBMS、NoSQLDMBS、様々なそれらの組合せ等を含みうる。幾つかの事例では、当該DBMSは、行および列からなる多次元テーブルにデータを格納し、即ち、プログラム動作を用いてデータの行を操作、即ち、挿入、問合せ、更新、および/または削除してもよい。
当該図示した実装において、サード・パーティ・サーバ116はサービス例えば、サード・パーティ・アプリケーション926をホストし、当該サービスが、幾つかの実装では、独立であってもよく、かつ/または、データ・サーバ916により提供されるサービスに組み込まれてもよい。サード・パーティ・サーバ924が、ネットワーク902を介してクライアント・デバイス906および/またはデータ・サーバ916からのコンテンツ要求を受信しそれに応答するように動作可能であってもよい。幾つかの実装では、サード・パーティ・アプリケーション926は複数のレベルまたはグループに編成されうるデータを提供する。例えば、サード・パーティ・アプリケーション926および関連付けられたサード・パーティ・サーバ924は、低レベルデータ・アイテム、例えば、ニュース記事写真、製品、メディア等を提供するニュースサービスであってもよく、これらをデータ・サーバ916上のデータ分析エンジン918により取り出し処理してもよい。例えば、サード・パーティ・アプリケーション926は、クライアント・デバイス(例えば、クライアント・デバイス906)および/またはデータ・サーバ(例えば、データ・サーバ916)からのサービス要求に応答して、ニュース記事または情報を1つまたは複数のソース、例えば、オンライン新聞、ニュースウェブサイト、ブログ等から提供してもよい。
ネットワーク902はクライアント・デバイス906、データ・サーバ916、およびサード・パーティ・サーバ924の間の通信を可能とする。したがって、ネットワーク902は、例えば、Wi−Fi、Wi−Max、2G、ユニバーサル・モバイル電気通信システム(UMTS)、3G、Ethernet、802.11、統合サービスデジタルネットワーク(ISDN)、デジタル加入者線(DSL)、非同期転送モード(ATM)、InfiniBおよび、PCIエクスプレス高度スイッチング等を含む技術を用いたリンクを含むことができる。同様に、ネットワーク902で使用されるネットワーキングプロトコルは、送信制御プロトコル/インターネットプロトコル(TCP/IP)、マルチプロトコルラベル・スイッチング(MPLS)、ユーザデータグラムプロトコル(UDP)、ハイパーテキスト転送プロトコル(HTTP)、シンプル・メール転送プロトコル(SMTP)、ファイル転送プロトコル(FTP)、軽量重みディレクトリアクセスプロトコル(LDAP)、符号分割多重アクセス(CDMA)、広帯域符号分割多重アクセス(WCDMA(登録商標))、グローバル・システム・フォー・モバイル通信(GSM(登録商標))、高速ダウンリンクパケット・アクセス(HSDPA)等を含むことができる。ネットワーク902上で交換されるデータを、ハイパーテキストマークアップ言語(HTML)、拡張可能マークアップ言語(XML)等を含む技術および/またはフォーマットを用いて、表すことができる。さらに、リンクの全部または一部を、従来の暗号化技術、例えば、セキュアソケットレイヤ(SSL)、セキュアHTTPおよび/または仮想プライベートネットワーク(VPN)またはインターネットプロトコルセキュリティ(IPsec)を用いて暗号化することができる。幾つかの実装では、エンティティは上述したもの代わりにまたはそれに加えてカスタムおよび/または専用データ通信技術を使用することができる。実装に応じて、ネットワーク902はまた、他のネットワークへのリンクを含むことができる。
幾つかの実装では、ネットワーク902は部分的にパブリックまたは全体的にパブリックなネットワーク、例えば、インターネットである。ネットワーク902はまた、プライベートなネットワークであることができ、または、1つまたは複数の異なるまたは論理的プライベートネットワーク(例えば、仮想プライベートネットワーク、広域ネットワーク(「WAN」)および/またはローカル・エリアネットワーク(「LAN」))を含むことができる。さらに、ネットワーク902との通信リンクは有線または無線(即ち、地形または衛星ベースのトランシーバ)であることができる。幾つかの実装では、ネットワーク902はIPベースの広帯域またはメトリポリタン領域ネットワークである。
ネットワーク902は星形構成、トークン・リング構成または他の構成を含む任意数の構成を有してもよい。さらに、ネットワーク902が、複数のデバイスが通信しうるローカル・エリアネットワーク(LAN)、広域ネットワーク(WAN)(例えば、インターネット)、および/または任意の他の相互接続されたデータ経路を含んでもよい。幾つかの実装では、ネットワーク902はピアツーピアネットワークであってもよい。ネットワーク902はまた、多数の異なる通信プロトコルでデータを送信するための電気通信ネットワークの部分に接続されるかまたはそれを含んでもよい。幾つかの実装では、ネットワーク902は、ショート・メッセージングサービス(SMS)、マルチメディアメッセージングサービス(MMS)、ハイパーテキスト転送プロトコル(HTTP)、直接データ接続、無線アプリケーションプロトコル(WAP)、電子メッセージ等を介してを含めて、データを送受信するための短波長通信ネットワークまたはセルラ通信ネットワークを含む。
図10は、例示的なコンピューティング・システム1000を示すブロック図である。例示的なコンピューティング・システム1000は、実装に応じてクライアント・デバイス906、サード・パーティ・サーバ924、および/またはデータ・サーバ916を表してもよい。示すように、コンピューティング・システム1000が、通信モジュール1002、プロセッサ1004、メモリ(複数可)1006、入力デバイス1008、出力デバイス1010、およびデータ記憶1012を含んでもよく、それらが通信バス1016により通信可能に接続されてもよい。図10に示されたコンピューティング・システム1000はが例として提供され、本開示の範囲を逸脱することなく、他の形態をとり追加のまたはより少ないコンポーネントを含んでもよいことは理解されるべきである。例えば、当該コンピューティング・デバイスの様々なコンポーネントを、例えば、通信バス、ソフトウェア通信機構、コンピュータネットワーク等を含む多数の通信プロトコルおよび/または技術を用いて通信するために接続してもよい。図示していないが、コンピューティング・システム1000が、様々なオペレーティング・システム、センサ、追加のプロセッサ、および他の物理構成を含んでもよい。
通信モジュール1002は信号線1018によりネットワーク902に接続される。通信モジュール1002もバス1016に接続される。通信モジュール1002は有線接続に対するポートを含み、当該接続にはUSB、SD、またはCAT−5等が含まれるがこれらに限られない。通信モジュール1002はプロセッサ1004を、他の処理システムに接続されうるネットワーク902に接続する。通信モジュール1002は標準ネットワークプロトコル、例えば、TCP/IP、HTTP、HTTPSおよびSMTPを用いたネットワーク902への他の従来の接続を提供する。幾つかの実装では、通信モジュール1002は、Wi−Fi、Bluetooth(登録商標)、セルラ、または無線通信に対する他の通信プロトコルを用いて信号を送受信するためのトランシーバを含む。
プロセッサ1004が、計算を実施し電子ディスプレイ信号をディスプレイデバイスに提供するための算術論理ユニット、マイクロプロセッサ、汎用目的コントローラまたは幾つかの他のプロセッサアレイを含んでもよい。幾つかの実装では、プロセッサ1004はハードウェアプロセッサである。プロセッサ1004が他のコンポーネントと通信するためにバス1016に接続される。プロセッサ1004は、データ信号を処理し、複雑命令セットコンピュータ(CISC)アーキテクチャ、縮小命令セットコンピュータ(RISC)アーキテクチャ、または命令セットの組合せを実装するアーキテクチャを含む様々なコンピューティングアーキテクチャを含んでもよい。単一のプロセッサのみが図10に示されているが、複数のプロセッサを含めてもよい。他のプロセッサ、オペレーティング・システム、センサ、ディスプレイおよび物理構成が可能であることは理解されるべきである。
メモリ(複数可)1006は、コンピューティング・システム1000の他のコンポーネントにデータを格納してもよく、当該データへのアクセスを提供してもよい。メモリ(複数可)1006は単一のコンピューティング・デバイスまたは複数のコンピューティング・デバイスに含まれてもよい。幾つかの実装では、メモリ(複数可)1006は、プロセッサ1004により実行されうる命令および/またはデータを格納してもよい。例えば、幾つかの実装では、メモリ(複数可)1006は、当該構成に応じて、データ提供モジュール908、データ分析エンジン918、および/またはサード・パーティ・アプリケーション926、およびそれらの夫々のコンポーネントの1つまたは複数を格納してもよい。メモリ(複数可)1006はまた他の命令およびデータを格納でき、例えば、オペレーティング・システム、ハードウェアドライバ、他のソフトウェアアプリケーション、データベース等を含む。メモリ(複数可)1006を、プロセッサ(複数可)1004およびコンピューティング・システム1000の他のコンポーネントと通信するためにバス1016に接続してもよい。
メモリ(複数可)1006は、非一時的コンピュータ使用可能(例えば、可読、書込み可能等)媒体を含み、これは、プロセッサ(複数可)1004によりまたはそれと関連して処理するために、命令、データ、コンピュータ・プログラム、ソフトウェア、コード、ルーチン等を包含、格納、通信、電波、または転送できる任意の非一時的装置またはデバイスであることができる。幾つかの実装では、メモリ(複数可)1006が、揮発性メモリおよび不揮発性メモリの1つまたは複数を含んでもよい。例えば、メモリ(複数可)1006が、動的ランダム・アクセスメモリ(DRAM)デバイス、静的ランダム・アクセスメモリ(SRAM)デバイス、離散メモリデバイス(例えば、PROM、FPROM、ROM)、ハード・ディスク・ドライブ、光ディスク・ドライブ(CD、DVD、Blue−rayTM等)の1つまたは複数を含んでもよいがこれらに限定されない。メモリ(複数可)1006が単一のデバイスであってもよく、または、複数のタイプのデバイスおよび構成を含んでもよいことは理解されるべきである。
入力デバイス1008が、情報をコンピューティング・システム1000に入力するための任意のデバイスを含んでもよい。幾つかの実装では、入力デバイス1008が1つまたは複数の周辺デバイスを含んでもよい。例えば、入力デバイス1008が、キーボード(例えば、QWERTYキーボード)、インジケータまたはポインティング・デバイス(例えば、マウスまたはタッチ・パッド)、マイクロフォン、画像/ビデオ・キャプチャ・デバイス(例えば、カメラ)等を含んでもよい。幾つかの実装では、入力デバイス1008が、ユーザの1つまたは複数の指またはスタイラスペンから入力を受信できるタッチ・スクリーン・ディスプレイを含んでもよい。例えば、入力デバイス1008および出力デバイス1010の1つまたは複数の構造および/または機能を統合してもよく、コンピューティング・システム1000のユーザが、1つまたは複数の指を用いて(例えば、出力デバイス1010)のサーフェスと接触することでコンピューティング・システム1000と対話してもよい。さらに、この例において、ユーザは、タッチ・スクリーン出力デバイス1010に表示されたエミュレートされた(例えば、仮想またはソフト)キーボードと、指を用いてキーボード領域内のディスプレイと接触することで、対話することができる。
出力デバイス1010は、コンピューティング・システム1000から情報を出力できる任意のデバイスであってもよい。出力デバイス1010が、ディスプレイ、プリンタ、触覚デバイス、オーディオ再生デバイス等の1つまたは複数を含んでもよい。幾つかの実装では、出力デバイス1010が、ユーザ912の1つまたは複数の指から入力を受信できるタッチ・スクリーン・ディスプレイを含んでもよい。例えば、出力デバイス1010が、ディスプレイサーフェスとの複数の接触点を検出し解釈できる容量性タッチ・スクリーン・ディスプレイを含んでもよい。幾つかの実装では、コンピューティング・システム1000が、出力デバイス1010に提示するための画像およびデータを描画し出力するためのグラフィックスアダプタ(図示せず)を含んでもよい。当該グラフィックアダプタ(図示せず)は別々のプロセッサおよびメモリ(図示せず)を含む別々の処理デバイスであってもよく、または、プロセッサ1004およびメモリ(複数可)1006と統合されてもよい。
データ・ストア1012は、データを格納しそれへのアクセスを提供するための情報ソースである。データ・ストア1012により格納されたデータを、それらにより格納された任意のタイプのデータ、例えば、アイテム識別子、アイテム−タグ関連付け、サブジェクト、タイトル、ソース、カテゴリ、著者、人気度、製造者、モデル、階層データ・セット内の位置、および/または他のタグおよび記述子を含む様々な基準を用いて編成し問い合わせてもよい。データ・ストア1012が、データ・テーブル、データベース、または他の編成されたデータの集合を含んでもよい。データ・ストア1012により格納されたデータのタイプの例はデータ・セット1014等を含むがこれに限定されない。
データ・ストア1012が、コンピューティング・システム1000、または、コンピューティング・システム1000とは異なるがそれに接続されるかまたはそれによりアクセス可能な別のコンピューティング・システムおよび/または記憶システムに含まれてもよい。データ・ストア1012はデータを格納するための1つまたは複数の非一時的コンピュータ可読媒体を含むことができる。幾つかの実装では、データ・ストア1012はメモリ(複数可)1006に組み込まれてもよく、または、それと異なってもよい。幾つかの実装では、データ・ストア1012はコンピューティング・システム1000で動作可能なデータベース管理システム(DBMS)に関連付けられたデータを格納してもよい。例えば、当該DBMSは構造化されたクエリ言語(SQL)DBMS、NoSQLDMBS、様々なそれらの組合せ等を含みうる。幾つかの事例では、当該DBMSが行および列からなる多次元テーブルにデータを格納してもよく、プログラム動作を用いてデータの行を操作、例えば、挿入、問合せ、更新、および/または削除してもよい。
データ・セット1014が、複数のレベルまたはデータツリーに編成されうる任意のデータを含んでもよい。データ・セット1014を(例えば、タグ等を用いてデータ構造に)低レベル・アイテムのグループ(例えば、中間レベルのサブグループ)に編成でき、各低レベル・アイテムは低レベルデータおよび/またはメタデータを有する。低レベル・アイテムのグループ(例えば、中間レベルのサブグループ)を高レベル・グループに編成することができる。幾つかの実装では、データ・セット1014をデータ・ストア1012にダウンロードし格納することができる。幾つかの実装では、データ・ストア1012が、データ・サーバ916またはサード・パーティ・サーバ924に格納されたデータ・セットの一部または全部への参照を含んでもよい。例えば、アイテムに関連する表示可能情報の一部または全部が、適用可能データを表示するiフレームまたはオブジェクトを含んでもよい。例えば、クライアント・デバイス906が低レベル・アイテムに対する画像を直接サード・パーティ・サーバ924から取り出し、表示してもよい。さらに、データ・セット1014がさらにまたはあるいはデータベース920に格納されてもよく、クライアント・デバイス906上のメモリ(例えば、データ・ストア1012またはメモリ1006に)に一時的に存在するだけでもよいことは理解されるべきである。
バス1016は、コンピューティング・デバイスのコンポーネントの間でまたはコンピューティング・デバイス、ネットワーク902またはその一部、プロセッサメッシュ、それらの組合せ等を含むネットワークバスシステムの間でデータを転送するための通信バスを含むことができる。幾つかの実装では、データ・ハンドラ1020、インタフェース・モジュール1022、カテゴリ化モジュール1024、および順序付けモジュール1026およびコンピューティング・デバイス1000(データ分析エンジン918、サード・パーティ・アプリケーション926、オペレーティング・システム、デバイスドライバ等)で動作する様々な他のコンポーネントが、バス1016に含まれるかまたはそれと関連して実装される通信機構を介して協調し通信してもよい。バス1016が、例えば、プロセス間通信、ローカル関数またはプロシージャ・コール、リモートプロシージャ・コール、オブジェクトブローカ(例えば、CORBA)、ソフトウェアモジュール間の直接ソケット通信(例えば、TCP/IPソケット)、UDPブロードキャストおよび受信、HTTP接続等を含みかつ/または促進しうる、ソフトウェア通信機構を含んでもよい。さらに、通信の何れかまたは全部がセキュア(例えば、SSH、HTTPS等)であってもよい。
データ提供モジュール908および/またはそのコンポーネントを全体的にハードウェアとして実装してもよく、または、複数の階層レベルを有するデータ・セットを効率的に編成し、提示し、およびそれとの対話を提供するためのルーチンまたは方法を実装するために、プロセッサ1004によりクライアント・デバイス906上で実行可能なコンピュータ論理を含んでもよい。幾つかの実装では、データ提供モジュール908がデータ分析エンジン918から受信された情報に少なくとも基づいてユーザ・インタフェースを生成し提示してもよい。例えば、ユーザ912はデータ提供モジュール908を使用して、階層データを効率的に参照/消費しナビゲートしてもよい。幾つかの実装では、データ提供モジュール908はウェブブラウザおよび/またはその中で動作可能なコード、カスタマイズされたクライアント・サイドアプリケーション(例えば、専用モバイル・アプリ)、その両方の組合せ等を含む。
データ・ハンドラ1020は、場合に応じて、データ要求および応答を処理し、かつ/またはデータをデータ提供モジュール908の他のコンポーネント、例えば、インタフェース・モジュール1022、カテゴリ化モジュール1024、および/または順序付けモジュール1026に提供する。例えば、データ・ハンドラ1020は、データ提供モジュール908のコンポーネントからのデータ要求を処理して、適用可能データをデータ・サーバ916および/またはサード・パーティ・サーバ924から受信/抽出してもよい。データ・ハンドラ1020が、例えば、バス1016を介して、インタフェース・モジュール1022等を介して、データ提供モジュール908の他のコンポーネントからデータ要求を受信しそれに応答してもよい。
インタフェース・モジュール1022がユーザ入力を入力デバイス1008から受信し、当該ユーザ入力を処理して要求される動作を決定する。さらに、インタフェース・モジュール1022がコンピューティング・デバイス1000およびデータ提供モジュール908の他のコンポーネントに接続され、データ提供モジュール908(例えば、1020、1024、1026)の当該コンポーネントに信号送信してそれらの動作を実施する。例えば、幾つかの実装では、インタフェース・モジュール1022をメモリ(複数可)1006に格納して、プロセッサ1004で実行し、入力デバイス1008からのユーザ入力を処理し、(例えば、データ・ハンドラ1020および/または通信モジュール1002を介して)データ・セットをデータ・サーバ916に要求し、カテゴリ化モジュールおよび/または順序付けモジュール1026に信号送信して当該データ・セットを処理し、グラフィカルインタフェースを出力デバイス1010に送信して当該要求される情報を当該ユーザに表示してもよい。
カテゴリ化モジュール1024が、どのレベルおよびグループ(例えば、階層グループまたはデータツリー)に各低レベルデータ・アイテムが属するかを判定してもよい。例えば、インタフェース・モジュール1022から受信された信号に応答して、カテゴリ化モジュール1024は、データ・ハンドラ1020により(例えば、データ・ストア1012から)取り出されたデータ・セット1014にアクセスし、データを高レベル・グループ、中間レベルのサブグループ、および低レベルデータ・アイテムに(例えば、当該アイテムのメタデータ内のタグに従って)ソートする。
順序付けモジュール1026は、ソートされたデータ・セットを処理して、インタフェース・モジュール1022またはカテゴリ化モジュール1024からの信号に応答して、中間レベルのサブグループおよび高レベル・グループごとに提供優先度を決定する
例えば、インタフェース・モジュール1022は順序付けモジュール1026に信号送信して、データ・セット(複数可)1014を処理し、低レベルに対する表示順序、および、幾つかの実装では、図3を参照して説明したように中間レベルデータに対する表示順序を決定する。順序付けモジュール1026が、データ・ストア1012内のデータにアクセスし、かつ/または、データを直接データ提供モジュール908の1つまたは複数のコンポーネント1020、1022、または1024から受信してもよい。
コンポーネント908、1020、1022、1024、および/または1026がソフトウェアまたはルーチンであってもよい。幾つかの実装では、908、1020、1022、1024、および/または1026がプロセッサ1004により実行可能な1組の命令であってもよい。幾つかの実装では、908、1020、1022、1024、および/または1026は、システム1000のメモリ(複数可)1006に格納され、プロセッサ1004によりアクセス可能および実行可能である。コンポーネント908、1020、1022、1024、および/または1026がバス1016および/またはプロセッサ(複数可)1004によりコンピューティング・システム1000の1つの別のおよび/または他のコンポーネント1002、1004、1006、1008、1010、および/または1012に通信可能に接続されてもよい。幾つかの実装では、コンポーネント1020、1022、1024、および/または1026が、それらの動作および/または機能を提供するためにプロセッサ(複数可)1004により実行可能なコンピュータ論理を含んでもよい。以上の実装の何れかにおいて、これらのコンポーネント1020、1022、1024、および/または1026が、プロセッサ(複数可)1004およびコンピューティング・システム1000の他のコンポーネント、例えば、データ・ストア1012および/またはメモリ(複数可)1006と協調し通信するように適合されてもよい。
データ分析エンジン918が全体的にハードウェアとして実装されてもよく、または、上述のように、データを処理するためのルーチンまたは方法を実装するための、例えば、それを階層レベル・グループ、タグアイテム、分析アイテム等に編成するための、コンピューティング・システム1000(例えば、データ・サーバ916)上のプロセッサ1004により実行可能なコンピュータ論理を含んでもよい。幾つかの実装では、データ分析エンジン918は、バス1016を介してプロセッサ1004、メモリ1006およびコンピューティング・デバイス1000(例えば、データ・サーバ916)の他のコンポーネントと協調および通信するように適合される。
上述のように、サード・パーティ・アプリケーション926が、全体的にハードウェアとして実装されてもよく、または、階層またはデータツリーで編成されうるデータ/アイテムを提供するためのルーチンまたは方法を実装するための、コンピューティング・システム1000(例えば、サード・パーティ・サーバ924)上のプロセッサ1004により実行可能なコンピュータ論理を含んでもよい。幾つかの実装では、サード・パーティ・アプリケーション926は、バス1016を介して、プロセッサ1004、メモリ1006およびコンピューティング・デバイス1000の他のコンポーネント(例えば、サード・パーティ・サーバ926)と協調および通信するように適合される。
上の説明において、説明の目的のため、多数の具体的な詳細を説明した。しかし、当該開示された技術をこれらの具体的な詳細の任意の所与のサブセットなしに実践できることは明らかであろう。他の事例では、構造およびデバイスがブロック図の形で示されている。例えば、幾つかの実装では、当該開示された技術が、ユーザ・インタフェースおよび特定のハードウェアを参照して上述されている。
本明細書における「1実装」または「実装」への参照は、当該実装と関連して説明した特定の特徴、構造、または特性が当該開示された技術の少なくとも1つの実装に含まれることを意味する。本明細書の様々な場所におけるフレーズ「1実装では」の出現は、必ずしも全て同一の実装を指すわけではない。
上の当該詳細な説明の幾つかの部分を、コンピュータメモリ内のデータビット上の動作のプロセスまたは記号的表現で提示した。プロセスを一般に、結果につながる自己一貫的なステップのシーケンスと考えることができる。当該ステップが、物理量の物理操作を含んでもよい。これらの量が、格納、転送、結合、比較、または操作されうる電気的または磁気信号の形をとってもよい。これらの信号を、ビット、値、要素、記号、文字、項、数字等の形で参照してもよい。
これらのおよび同様な用語を適切な物理量に関連付けることができ、これらの量に適用されるラベルと考えることができる。以前の説明から明らかなように特に断らない限り、当該説明にわたって、例えば、「処理」または「コンピューティング」または「計算」または「決定」または「表示」等の用語を用いた議論は、当該コンピュータシステムのレジスタおよびメモリ内の物理(電子)量として表現されたデータを操作し当該コンピュータシステムメモリまたはレジスタまたは他のかかる情報記憶、送信またはディスプレイデバイス内の物理量として同様に表現された他のデータに変換する、コンピュータシステム、または同様な電子コンピューティング・デバイスのアクションおよびプロセスを指してもよいことは理解される。
当該開示された技術はまた、本明細書の当該動作を実施するための装置に関連してもよい。この装置は、要求された目的のために特に構築されてもよく、または、当該コンピュータに格納されたコンピュータ・プログラムにより選択的に起動または再構成される汎用目的コンピュータを含んでもよい。かかるコンピュータ・プログラムをコンピュータ可読記憶媒体に格納してもよく、当該媒体には、例えば、フロッピディスク、光ディスク、CD−ROM、および磁気ディスク、読取専用メモリ(ROM)、ランダム・アクセスメモリ(RAM)、EPROM、EEPROM、磁気または光カード、電子命令を格納するのに適した不揮発性メモリまたは任意のタイプの媒体を有するUSBキーを含むフラッシュ・メモリを含む任意のタイプのディスクがあるがこれらに限定されず、それぞれはコンピュータシステム・バスに接続される。
当該開示された技術は、全体的にハードウェア実装、全体的にソフトウェア実装またはハードウェアおよびソフトウェア要素の両方を含む実装の形をとることができる。幾つかの実装では、当該技術はソフトウェアで実装され、当該ソフトウェアは、ファームウェア、常駐ソフトウェア、マイクロコード等を含むがこれらに限定されない。
さらに、当該開示された技術は、コンピュータまたは任意の命令実行システムによりまたはそれと関連して使用するためのプログラムコードを提供する非一時的コンピュータ使用可能またはコンピュータ可読媒体からアクセス可能なコンピュータ・プログラム製品の形をとることができる。この説明の目的のため、コンピュータ使用可能またはコンピュータ可読媒体は、当該命令実行システム、装置、またはデバイスによりまたはそれと関連して使用するためのプログラムを包含、格納、通信、伝播、または転送できる任意の装置であることができる。
プログラムコードを格納および/または実行するのに適したコンピューティング・システムまたはデータ処理システムは、システム・バスを通じてメモリ要素に直接または間接的に接続された少なくとも1つのプロセッサ(例えば、ハードウェアプロセッサ)を含む。当該メモリ要素は、当該プログラムコードの実際の実行の間に使用されるローカルメモリ、バルク記憶、およびコードを実行の間にバルク記憶から取り出さなければならない回数を削減するために少なくとも幾つかのプログラムコードの一時記憶を提供するキャッシュメモリを含むことができる。
入出力またはI/Oデバイス(キーボード、ディスプレイ、ポインティング・デバイス等を含むがこれらに限定されない)を、直接、または、介在I/Oコントローラを介してシステムに接続することができる。
ネットワークアダプタをまた、システムに接続して、データ処理システムが介在プライベートまたはパブリックネットワークを介して他のデータ処理システムまたはリモートプリンタまたは記憶デバイスに接続されるようにしてもよい。モデム、ケーブル・モデムおよびEthernetカードは現在利用可能なタイプのネットワークアダプタの幾つかにすぎない。
最後に、当該開示された技術は、任意の特定のプログラミング言語を参照しては説明されていない。多数のプログラミング言語を使用して本明細書で説明した技術の教示事項を実装してもよいことは理解される。
本発明の技術および技術の実装の以上の説明を例示および説明の目的のために提示した。包括的であることは意図されておらず、本発明の技術および技術を開示された厳密な形態に限定することも意図されていない。多くの修正および変形が上の教示事項を鑑みて可能である。本発明の技術および技術の当該範囲がこの詳細な説明により限定されないことが意図されている。本発明の技術および技術を、その趣旨または本質的な特性から逸脱しない他の特定の形態で実装してもよい。同様に、モジュール、ルーチン、特徴、属性、方法および他の態様の特定のネーミングおよび分割は必須でも重要でもなく、本発明の技術および技術またはその特徴を実装する機構が異なる名前、分割および/またはフォーマットを有してもよい。さらに、本発明の技術のモジュール、ルーチン、特徴、属性、方法および他の態様を、ソフトウェア、ハードウェア、ファームウェアまたはこれら3つの任意の組合せとして実装することができる。また、コンポーネントが、その例がモジュールであるが、ソフトウェアとして実装されるときは常に、当該コンポーネントを、スタンドアロンプログラムとして、より大きなプログラムの一部として、複数の別々のプログラムとして、静的にまたは動的にリンクされたライブラリとして、カーネルローダブルモジュールとして、デバイスドライバとして、および/またはコンピュータプログラミングにおいて現在知られているかまたは将来知られる全てかつ他の任意の方法で実装することができる。さらに、本発明の技術および技術は、任意の特定のプログラミング言語における実装、または任意の特定のオペレーティング・システムまたは環境に対する実装には決して限定されない。したがって、本発明の技術および技術の当該開示は例示的であり限定的ではないことが意図されている。
902 ネットワーク
906 クライアント・デバイス
908 データ提供モジュール
912 ユーザ
916 データ・サーバ
918 データ分析エンジン
920 データベース
924 サード・パーティ・サーバ
926 サード・パーティ・アプリケーション

Claims (24)

  1. 前記コンピューティング・デバイスで静的レイアウトを含むグラフィカル・ユーザ・インタフェースを生成するステップであって、前記静的レイアウトは第1のレベルでの表示領域および対話領域を含み、前記表示領域は、第2のレベルのサブグループおよび第3のレベルのアイテムのうち1つを表すデータを表示するように構成され、前記第1のレベル対話領域は複数のサブ領域を有する、ステップと、
    ユーザ入力を受信するステップと、
    前記受信されたユーザ入力が、前記第1のレベル対話領域の前記複数のサブ領域のうち1つの選択であるかどうかを判定するステップと、
    前記受信されたユーザ入力が前記複数のサブ領域のうち1つの前記選択であるとの判定に応答して、前記複数のサブ領域のうち前記1つの前記選択に対応する前記第2のレベルのサブグループを含むように前記表示領域を更新するステップと、
    前記受信されたユーザ入力が前記表示領域の選択であるかどうかを判定するステップと、
    前記ユーザ入力が前記表示領域の前記選択であるとの前記判定に応答して、前記第2のレベルのサブグループに対応する前記第3のレベルのアイテムを含むように前記表示領域を更新するステップと、
    を含む、方法。
  2. 1組のデータをデータ・サーバから取り出すステップであって、前記1組のデータは第1のレベルのグループ、第2のレベルのサブグループ、および第3のレベルのアイテムを含み、前記第3のレベルのアイテムは記事であり、前記第2のレベルのサブグループは共通イベントに関する記事のクラスタであり、前記第1のレベルのグループは共通カテゴリに関する記事のクラスタのグループである、ステップをさらに含む、請求項1に記載の方法。
  3. 前記受信されたユーザ入力が前記複数のサブ領域のうち1つの選択であるかどうかを判定するステップは、前記ユーザ入力が前記第1のレベル対話領域にわたるスクラブ入力を含むかどうかを判定するステップを含む、請求項1に記載の方法。
  4. 前記表示領域は情報領域および選択領域を含み、前記情報領域はテキスト情報を表示し、前記選択領域は前記テキスト情報に対応する画像を表示する、請求項1に記載の方法。
  5. 前記選択領域は前記グラフィカル・ユーザ・インタフェースの垂直側の近くに配置される、請求項4に記載の方法。
  6. 前記グラフィカル・ユーザ・インタフェースは複数の表示領域を含み、前記第3のレベルのアイテムを含めるように前記表示領域を更新するステップは、前記複数の表示領域の各々を異なるデータで更新するステップを含む、請求項1に記載の方法。
  7. 前記第3のレベルのアイテムに関連付けられたメタデータ・タグに基づいて、前記第2のレベルのサブグループ内の前記第3のレベルのアイテムに対する順位を決定するステップと、
    前記第3のレベルのアイテムに関連付けられた画像があるかどうかを判定するステップと、
    前記第3のレベルのアイテムの順位が閾値を満たす場合に、前記グラフィック・ユーザ・インタフェース内に表示するための前記第3のレベルのアイテムを選択するステップと、
    をさらに含む、請求項1に記載の方法。
  8. 前記表示領域は、前記グラフィカル・ユーザ・インタフェースの第1の垂直エッジの近くに配置された選択領域および情報領域を含み、前記方法はさらに、前記ユーザ入力が前記選択領域で開始し前記情報領域で終了する水平スワイプに含まれるかどうかを判定し、水平スワイプに応答して、前記表示領域を更新して、前記グラフィカル・ユーザ・インタフェースの第2の垂直エッジの近くに配置されるように前記選択領域を移動するステップ、請求項1に記載の方法。
  9. プロセッサと、
    前記プロセッサにより実行されたとき、前記システムに、
    静的レイアウトを含むグラフィカル・ユーザ・インタフェースを生成させることであって、前記静的レイアウトは第1のレベルに対する表示領域および対話領域を含み、前記表示領域は、第2のレベルのサブグループおよび第3のレベルのアイテムのうち1つを表すデータを表示するように構成され、前記第1のレベル対話領域は複数のサブ領域を有する、ことと、
    ユーザ入力を受信することと、
    前記受信されたユーザ入力が、前記第1のレベル対話領域の前記複数のサブ領域のうち1つの選択であるかどうかを判定することと、
    前記受信されたユーザ入力が記複数のサブ領域のうち1つの前記選択であるとの判定に応答して、前記複数のサブ領域のうち前記1つの前記選択に対応する前記第2のレベルのサブグループを含むように前記表示領域を更新することと、
    前記受信されたユーザ入力が前記表示領域の選択であるかどうかを判定することと、
    前記ユーザ入力が前記表示領域の前記選択であるとの前記判定に応答して、前記第2のレベルのサブグループに対応する前記第3のレベルのアイテムを含むように前記表示領域を更新することと、
    を行わせる命令を格納したメモリと、
    を備える、システム。
  10. 前記メモリはまた、前記プロセッサにより実行されたとき、前記システムに、1組のデータをデータ・サーバから取り出すことであって、前記1組のデータは第1のレベルのグループ、第2のレベルのサブグループ、および第3のレベルのアイテムを含み、前記第3のレベルのアイテムは記事であり、前記第2のレベルのサブグループは共通イベントに関する記事のクラスタであり、前記第1のレベルのグループは共通カテゴリに関する記事のクラスタのグループである、ことを行わせる命令を格納する、請求項9に記載のシステム。
  11. 前記メモリはまた、前記プロセッサにより実行されたとき、前記システムに、前記ユーザ入力が前記第1のレベル対話領域にわたるスクラブ入力を含むかどうかを判定させる命令を格納する、請求項9に記載のシステム。
  12. 前記表示領域は情報領域および選択領域を含み、前記情報領域はテキスト情報を表示し、前記選択領域は前記テキスト情報に対応する画像を表示する、請求項9に記載のシステム。
  13. 前記選択領域は前記グラフィカル・ユーザ・インタフェースの垂直側の近くに配置される、請求項12に記載のシステム。
  14. 前記グラフィカル・ユーザ・インタフェースは複数の表示領域を含み、前記メモリはまた、前記プロセッサにより実行されたとき、前記システムに、前記複数の表示領域の各々を異なるデータで更新させる命令を格納する、請求項9に記載のシステム。
  15. 前記メモリはまた、前記プロセッサにより実行されたとき、前記システムに、
    前記第3のレベルのアイテムに関連付けられたメタデータ・タグに基づいて、前記第2のレベルのサブグループ内の前記第3のレベルのアイテムに対する順位を決定することと、
    前記第3のレベルのアイテムに関連付けられた画像があるかどうかを判定することと、
    前記第3のレベルのアイテムの順位が閾値を満たす場合に、前記グラフィック・ユーザ・インタフェース内に表示するための前記第3のレベルのアイテムを選択することと、
    を行わせる命令を格納する、請求項9に記載のシステム。
  16. 前記表示領域は、前記グラフィカル・ユーザ・インタフェースの第1の垂直エッジの近くに配置された選択領域および情報領域を含み、前記メモリはまた、前記プロセッサにより実行されたとき、前記システムに、前記ユーザ入力が前記選択領域で開始し前記情報領域で終了する水平スワイプに含まれるかどうかを判定し、水平スワイプに応答して、前記表示領域を更新して、前記グラフィカル・ユーザ・インタフェースの第2の垂直エッジの近くに配置されるように前記選択領域を移動させる命令を格納する、請求項9に記載のシステム。
  17. コンピュータ可読プログラムを含む非一時的コンピュータ使用可能媒体を備えたコンピュータ・プログラム製品であって、前記コンピュータ可読プログラムは、コンピュータ上で実行されたとき、前記コンピュータに、
    静的レイアウトを含むグラフィカル・ユーザ・インタフェースを生成することであって、前記静的レイアウトは第1のレベルに対する表示領域および対話領域を含み、前記表示領域は、第2のレベルのサブグループおよび第3のレベルのアイテムのうち1つを表すデータを表示するように構成され、前記第1のレベル対話領域は複数のサブ領域を有する、ことと、
    ユーザ入力を受信することと、
    前記受信されたユーザ入力が、前記第1のレベル対話領域の前記複数のサブ領域のうち1つの選択であるかどうかを判定することと、
    前記受信されたユーザ入力が記複数のサブ領域のうち1つの前記選択であるとの判定に応答して、前記複数のサブ領域のうち前記1つの前記選択に対応する前記第2のレベルのサブグループを含むように前記表示領域を更新することと、
    前記受信されたユーザ入力が前記表示領域の選択であるかどうかを判定することと、
    前記ユーザ入力が前記表示領域の前記選択であるとの前記判定に応答して、前記第2のレベルのサブグループに対応する前記第3のレベルのアイテムを含むように前記表示領域を更新することと、
    ことを行わせる、コンピュータ・プログラム製品。
  18. 前記コンピュータ可読プログラムはまた、前記コンピュータで実行されたとき、前記コンピュータに1組のデータをデータ・サーバから取り出させ、前記1組のデータは第1のレベルのグループ、第2のレベルのサブグループ、および第3のレベルのアイテムを含み、前記第3のレベルのアイテムは記事であり、前記第2のレベルのサブグループは共通イベントに関する記事のクラスタであり、前記第1のレベルのグループは共通カテゴリに関する記事のクラスタのグループである、請求項17に記載のコンピュータ・プログラム製品。
  19. 前記コンピュータ可読プログラムはまた、前記コンピュータで実行されたとき、前記コンピュータに、前記ユーザ入力が前記第1のレベル対話領域にわたるスクラブ入力を含むかどうかを判定させる、請求項17に記載の非一時的コンピュータ可読媒体。
  20. 前記表示領域は情報領域および選択領域を含み、前記情報領域はテキスト情報を表示し、前記選択領域は前記テキスト情報に対応する画像を表示する、請求項17に記載の非一時的コンピュータ可読媒体。
  21. 前記選択領域は前記グラフィカル・ユーザ・インタフェースの垂直側の近くに配置される、請求項20に記載の非一時的コンピュータ可読媒体。
  22. 前記グラフィカル・ユーザ・インタフェースは複数の表示領域を含み、前記コンピュータ可読プログラムはまた、前記コンピュータで実行されたとき、前記コンピュータに、前記複数の表示領域の各々を異なるデータで更新させる、請求項17に記載の非一時的コンピュータ可読媒体。
  23. 前記コンピュータ可読プログラムはまた、前記コンピュータで実行されたとき、前記コンピュータに、
    前記第3のレベルのアイテムに関連付けられたメタデータ・タグに基づいて、前記第2のレベルのサブグループ内の前記第3のレベルのアイテムに対する順位を決定することと、
    前記第3のレベルのアイテムに関連付けられた画像があるかどうかを判定することと、
    前記第3のレベルのアイテムの順位が閾値を満たす場合に、前記グラフィック・ユーザ・インタフェース内に表示するための前記第3のレベルのアイテムを選択することと、
    を行わせる、請求項17に記載の非一時的コンピュータ可読媒体。
  24. 前記表示領域は、前記グラフィカル・ユーザ・インタフェースの第1の垂直エッジの近くに配置された選択領域および情報領域を含み、前記コンピュータ可読プログラムはまた、前記コンピュータで実行されたとき、前記コンピュータに、前記ユーザ入力が前記選択領域で開始し前記情報領域で終了する水平スワイプに含まれるかどうかを判定し、水平スワイプに応答して、前記表示領域を更新して、前記グラフィカル・ユーザ・インタフェースの第2の垂直エッジの近くに配置されるように前記選択領域を移動させる、請求項17に記載の非一時的コンピュータ可読媒体。
JP2018542672A 2015-11-06 2016-10-24 モバイル・ユーザ・インタフェース Active JP6596594B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/935,258 US20170131872A1 (en) 2015-11-06 2015-11-06 Mobile User Interface
US14/935,258 2015-11-06
PCT/US2016/058547 WO2017078958A1 (en) 2015-11-06 2016-10-24 Mobile user interface

Publications (2)

Publication Number Publication Date
JP2018538643A true JP2018538643A (ja) 2018-12-27
JP6596594B2 JP6596594B2 (ja) 2019-10-23

Family

ID=57233920

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018542672A Active JP6596594B2 (ja) 2015-11-06 2016-10-24 モバイル・ユーザ・インタフェース

Country Status (8)

Country Link
US (1) US20170131872A1 (ja)
EP (1) EP3353685A1 (ja)
JP (1) JP6596594B2 (ja)
KR (1) KR102110700B1 (ja)
CN (1) CN108475270A (ja)
DE (1) DE112016004579T5 (ja)
GB (1) GB2558487A (ja)
WO (1) WO2017078958A1 (ja)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11593342B2 (en) 2016-02-01 2023-02-28 Smartshift Technologies, Inc. Systems and methods for database orientation transformation
US10585655B2 (en) 2016-05-25 2020-03-10 Smartshift Technologies, Inc. Systems and methods for automated retrofitting of customized code objects
US10089103B2 (en) 2016-08-03 2018-10-02 Smartshift Technologies, Inc. Systems and methods for transformation of reporting schema
JP6784168B2 (ja) * 2016-12-19 2020-11-11 株式会社リコー 情報処理装置、プログラム、閲覧システム
US10430035B2 (en) * 2017-08-24 2019-10-01 Sap Se Embedded analytics for applications and interfaces across multiple platforms
KR102420280B1 (ko) * 2017-10-30 2022-07-13 엘지전자 주식회사 이동 단말기
US10740075B2 (en) 2018-02-06 2020-08-11 Smartshift Technologies, Inc. Systems and methods for code clustering analysis and transformation
US10528343B2 (en) * 2018-02-06 2020-01-07 Smartshift Technologies, Inc. Systems and methods for code analysis heat map interfaces
US10698674B2 (en) 2018-02-06 2020-06-30 Smartshift Technologies, Inc. Systems and methods for entry point-based code analysis and transformation
CN108469898B (zh) 2018-03-15 2020-05-12 维沃移动通信有限公司 一种图像处理方法及柔性屏终端
CN110188253B (zh) * 2019-05-30 2021-09-14 北京字节跳动网络技术有限公司 一种信息展示方法、装置及存储介质
CN117687552B (zh) * 2024-02-04 2024-04-23 深圳市创义信光电科技有限公司 显示屏分区显示方法、装置、设备及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013070293A (ja) * 2011-09-25 2013-04-18 Sockets Inc コンテンツ閲覧装置および閲覧サービスを提供するサーバ装置
JP2014522527A (ja) * 2012-03-06 2014-09-04 アップル インコーポレイテッド 画像を閲覧するためのアプリケーション
JP2014215820A (ja) * 2013-04-25 2014-11-17 大日本印刷株式会社 情報表示装置、情報表示方法及び情報表示用プログラム

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9880702B2 (en) * 2006-02-03 2018-01-30 Yahoo Holdings, Inc. Content structures and content navigation interfaces
EP1965301A1 (en) * 2007-02-27 2008-09-03 Abb Research Ltd. Method and system for generating a control system user interface
US20090063517A1 (en) * 2007-08-30 2009-03-05 Microsoft Corporation User interfaces for scoped hierarchical data sets
US8375073B1 (en) * 2007-11-12 2013-02-12 Google Inc. Identification and ranking of news stories of interest
US8161413B2 (en) * 2009-09-01 2012-04-17 Oracle International Corporation Method and system for providing user interface representing organization hierarchy
US8875038B2 (en) * 2010-01-19 2014-10-28 Collarity, Inc. Anchoring for content synchronization
US8689123B2 (en) * 2010-12-23 2014-04-01 Microsoft Corporation Application reporting in an application-selectable user interface
US9557892B2 (en) * 2011-11-26 2017-01-31 Douzen, Inc. Systems and methods for organizing and displaying hierarchical data structures in computing devices
US8667063B2 (en) * 2011-12-12 2014-03-04 Facebook, Inc. Displaying news ticker content in a social networking system
JP5984439B2 (ja) * 2012-03-12 2016-09-06 キヤノン株式会社 画像表示装置、画像表示方法
US9164965B2 (en) * 2012-09-28 2015-10-20 Oracle International Corporation Interactive topological views of combined hardware and software systems
US9633080B2 (en) * 2013-05-28 2017-04-25 Microsoft Technology Licensing, Llc Hierarchical entity information for search
KR20170002051A (ko) * 2015-06-29 2017-01-06 삼성전자주식회사 한 손 조작 사용자 인터페이스 구현 방법 및 이를 수행하는 전자 장치

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013070293A (ja) * 2011-09-25 2013-04-18 Sockets Inc コンテンツ閲覧装置および閲覧サービスを提供するサーバ装置
JP2014522527A (ja) * 2012-03-06 2014-09-04 アップル インコーポレイテッド 画像を閲覧するためのアプリケーション
JP2014215820A (ja) * 2013-04-25 2014-11-17 大日本印刷株式会社 情報表示装置、情報表示方法及び情報表示用プログラム

Also Published As

Publication number Publication date
KR20180073644A (ko) 2018-07-02
EP3353685A1 (en) 2018-08-01
GB201806764D0 (en) 2018-06-06
DE112016004579T5 (de) 2018-06-28
KR102110700B1 (ko) 2020-05-13
WO2017078958A1 (en) 2017-05-11
CN108475270A (zh) 2018-08-31
GB2558487A (en) 2018-07-11
US20170131872A1 (en) 2017-05-11
JP6596594B2 (ja) 2019-10-23

Similar Documents

Publication Publication Date Title
JP6596594B2 (ja) モバイル・ユーザ・インタフェース
RU2632144C1 (ru) Компьютерный способ создания интерфейса рекомендации контента
US9996631B2 (en) Information management and display in web browsers
US7941429B2 (en) Interface for visually searching and navigating objects
US11200293B2 (en) Method and system for controlling presentation of web resources in a browser window
US10551998B2 (en) Method of displaying screen in electronic device, and electronic device therefor
KR102310648B1 (ko) 상황 정보 탐색 및 내비게이션 기법
US8977967B2 (en) Rules for navigating to next content in a browser
US10042523B2 (en) Classifying and organizing web resources in web browsers
US20130232148A1 (en) Content mapping
US9613155B2 (en) System and framework for multi-dimensionally visualizing and interacting with large data sets
JP2018503895A (ja) ウェブコンテンツのタグ付けおよびフィルタリング
US10402470B2 (en) Effecting multi-step operations in an application in response to direct manipulation of a selected object
KR20110099225A (ko) 제안된 미세 조정 용어 및 버티컬 검색의 검색 결과 미리보기
US20160077673A1 (en) Intelligent Canvas
Kim et al. Menu design for computers and cell phones: Review and reappraisal
US20220222304A1 (en) Apparatus and method for providing search service in association with chatroom of messenger application
US20170177632A1 (en) Method and apparatus for saving web content
US20200082465A1 (en) Method and system to generate a multi-panel ui based on hierarchy data corresponding to digital content

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180629

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20181018

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20190516

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190527

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190823

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20190902

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190930

R150 Certificate of patent or registration of utility model

Ref document number: 6596594

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: R3D02

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250