(57)【特許請求の範囲】
【請求項１】
ディスプレイを有するコンピューティングデバイスにおいて、
前記ディスプレイに完了状況インジケータを持つアプリケーションを表示し、
前記完了状況インジケータは、前記アプリケーションによって実行されているタスクの完了状況を視覚的に表すバーであり、前記タスクはウェブページのロードであり、
前記バーの一方の端部が前記タスクの完了を表わす位置に向かって移動し、
前記タスクの完了の前に、
前記バーの前記一方の端部が前記タスクの完了を表わす前記位置へ向かって第１の速度で移動している間に、前記タスクが完了していなくても前記完了状況インジケータが前記タスクの完了を示す閾値が到達されたかどうかを判定し、
前記完了状況インジケータが前記タスクの完了を示す前記閾値が到達されたと判定したことに応じて、前記タスクが完了していなくても、前記バーの前記一方の端部を現在位置から前記タスクの完了を示す前記位置へ向けて、前記第１の速度よりも大きい第２の速度で移動する、方法。
【請求項２】
前記バーの前記一方の端部が現在位置から前記タスクの完了を示す前記位置へ向かって前記第２の速度で移動されるのと同時に、または、前記バーの前記一方の端部の前記タスクの完了を示す前記位置への移動の直後に、前記アプリケーションのユーザインターフェース要素を視覚的に変更する、請求項１に記載の方法。
【請求項３】
前記視覚的に変更されたユーザインターフェース要素は、前記タスクの完了を示す前記位置に隣接して配置される、請求項２に記載の方法。
【請求項４】
前記バーの前記一方の端部を現在位置から前記タスクの完了を示す前記位置へ向けて前記第２の速度で移動することは、ロケット効果アニメーションを表示することを含む、請求項１に記載の方法。
【請求項５】
前記バーの前記一方の端部が前記タスクの完了を示す前記位置へ移動する間、前記第２の速度を徐々に増加させる、請求項１に記載の方法。
【請求項６】
前記バーの前記一方の端部が現在位置から前記タスクの完了を示す前記位置へ向かって前記第２の速度で移動されるのと同時に、または、前記バーの前記一方の端部の前記タスクの完了を示す前記位置への移動の直後に、前記タスクが完了していなくても、前記ウェブページのロードを継続中に前記ウェブページの閲覧を可能にする、請求項１に記載の方法。
【請求項７】
前記閾値は、
前記ウェブページに描画される要素の全領域の一部分、
ウェブページローディングタスクの完了した部分、
ロードされているウェブページの種類、および／または、
ロードが必要なウェブページにおけるオブジェクトの量および／または種類、
に基づく、請求項１乃至６のいずれか１項に記載の方法。
【請求項８】
ディスプレイと、
プロセッサと、
メモリと、
１つ以上のプログラムと、を備え、前記１つ以上のプログラムは前記メモリに格納され、前記プロセッサにより実行され、前記１つ以上のプロラムは、
前記ディスプレイに完了状況インジケータを持つアプリケーションを表示し、
ここで、前記完了状況インジケータは、前記アプリケーションによって実行されているタスクの完了状況を視覚的に表すバーであり、前記タスクはウェブページのロードであり、
前記バーの一方の端部が前記タスクの完了を表わす位置に向かって移動し、
前記タスクの完了の前に、
前記バーの前記一方の端部が前記タスクの完了を表わす前記位置へ向かって第１の速度で移動している間に、前記タスクが完了していなくても前記完了状況インジケータが前記タスクの完了を示す閾値が到達されたかどうかを判定し、
前記完了状況インジケータが前記タスクの完了を示す前記閾値が到達されたと判定したことに応じて、前記タスクが完了していなくても、前記バーの前記一方の端部を現在位置から前記タスクの完了を示す前記位置へ向けて、前記第１の速度よりも大きい第２の速度で移動する、ための命令を含むコンピューティングデバイス。
【請求項９】
前記バーの前記一方の端部が現在位置から前記タスクの完了を示す前記位置へ向かって前記第２の速度で移動されるのと同時に、または、前記バーの前記一方の端部の前記タスクの完了を示す前記位置への移動の直後に、前記アプリケーションのユーザインターフェース要素を視覚的に変更するための命令を含む、請求項８に記載のデバイス。
【請求項１０】
前記視覚的に変更されたユーザインターフェース要素は、前記タスクの完了を示す前記位置に隣接して配置される、請求項９に記載のデバイス。
【請求項１１】
前記バーの前記一方の端部を現在位置から前記タスクの完了を示す前記位置へ向けて前記第２の速度で移動することは、ロケット効果アニメーションを表示することを含む、請求項８に記載のデバイス。
【請求項１２】
前記バーの前記一方の端部が前記タスクの完了を示す前記位置へ移動する間、前記第２の速度を徐々に増加させる命令を含む、請求項８に記載のデバイス。
【請求項１３】
前記バーの前記一方の端部が現在位置から前記タスクの完了を示す前記位置へ向かって前記第２の速度で移動されるのと同時に、または、前記バーの前記一方の端部の前記タスクの完了を示す前記位置への移動の直後に、前記タスクが完了していなくても、前記ウェブページのロードを継続中に前記ウェブページの閲覧を可能にする命令を含む、請求項８に記載のデバイス。
【請求項１４】
前記閾値は、
前記ウェブページに描画される要素の全領域の一部分、
ウェブページローディングタスクの完了した部分、
ロードされているウェブページの種類、および／または、
ロードが必要なウェブページにおけるオブジェクトの量および／または種類、
に基づく、請求項８乃至１３のいずれか１項に記載のデバイス。
【請求項１５】
ディスプレイを有するコンピューティングデバイスに、
前記ディスプレイに完了状況インジケータを持つアプリケーションを表示させ、
前記完了状況インジケータは、前記アプリケーションによって実行されているタスクの完了状況を視覚的に表すバーであり、前記タスクはウェブページのロードであり、
前記バーの一方の端部が前記タスクの完了を表わす位置に向かって移動し、
前記タスクの完了の前に、
前記バーの前記一方の端部が前記タスクの完了を表わす前記位置へ向かって第１の速度で移動している間に、前記タスクが完了していなくても前記完了状況インジケータが前記タスクの完了を示す閾値が到達されたかどうかを判定させ、
前記完了状況インジケータが前記タスクの完了を示す前記閾値が到達されたと判定したことに応じて、前記タスクが完了していなくても、前記バーの前記一方の端部を現在位置から前記タスクの完了を示す前記位置へ向けて、前記第１の速度よりも大きい第２の速度で移動させる、ための命令を含むコンピュータプログラム。
【請求項１６】
前記コンピューティングデバイスに、前記バーの前記一方の端部が現在位置から前記タスクの完了を示す前記位置へ向かって前記第２の速度で移動されるのと同時に、または、前記バーの前記一方の端部の前記タスクの完了を示す前記位置への移動の直後に、前記アプリケーションのユーザインターフェース要素を視覚的に変更させるための命令をさらに含む、請求項１５に記載のコンピュータプログラム。
【請求項１７】
前記視覚的に変更されたユーザインターフェース要素は、前記タスクの完了を示す前記位置に隣接して配置される、請求項１６に記載のコンピュータプログラム。
【請求項１８】
前記バーの前記一方の端部を現在位置から前記タスクの完了を示す前記位置へ向けて前記第２の速度で移動することは、ロケット効果アニメーションを表示することを含む、請求項１５に記載のコンピュータプログラム。
【請求項１９】
前記コンピューティングデバイスに、前記バーの前記一方の端部が前記タスクの完了を示す前記位置へ移動する間、前記第２の速度を徐々に増加させる命令をさらに含む、請求項１５に記載のコンピュータプログラム。
【請求項２０】
前記コンピューティングデバイスに、前記バーの前記一方の端部が現在位置から前記タスクの完了を示す前記位置へ向かって前記第２の速度で移動されるのと同時に、または、前記バーの前記一方の端部の前記タスクの完了を示す前記位置への移動の直後に、前記タスクが完了していなくても、前記ウェブページのロードを継続中に前記ウェブページの閲覧を可能にさせるための命令をさらに含む、請求項１５に記載のコンピュータプログラム。
【請求項２１】
前記閾値は、
前記ウェブページに描画される要素の全領域の一部分、
ウェブページローディングタスクの完了した部分、
ロードされているウェブページの種類、および／または、
ロードが必要なウェブページにおけるオブジェクトの量および／または種類、
に基づく、請求項１５乃至２０のいずれか１項に記載のコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、進捗バーに関し、特にユーザの体験を向上できる進捗バーに対する種々の改良に関する。
【背景技術】
【０００２】
進捗バー（ステータスバー又は完了ステータスバー等とも呼ばれることもある）は、一般に、例えばウェブページのロード、ファイルのダウンロード、データ転送等のタスク又は処理の完了状況を伝達するために使用される。種々のアプリケーションプログラムは、種々の異なるコンテキストにおいて進捗バーを使用し得る。一例において、ブラウザアプリケーションは、ユーザに提示するためにロードされているウェブページの完了状況を示すために進捗バーを使用してもよい。ユーザがウェブページに対するユニフォームリソースロケータ（ＵＲＬ）を選択することに応答して、ブラウザアプリケーションは、ウェブページのロードの完了状況を伝達する進捗バーを表示してもよい。ウェブページのロードの完了状況が変化するのに伴い進捗バーを更新できる。従って、ユーザは、進捗バーを介してウェブページのロードに対する合計完了時間を大まかに推定できる。
【０００３】
一般に進捗バーは、実行されているタスク又は動作の完了状況を視覚的に示す完了状況インジケータを含む。例えば完了状況インジケータは、開始位置から終了位置に移動するスライダバーの形態であってもよく、この場合、終了位置に到達することにより、タスク又は動作の完了を信号で知らせる。そのような一実施形態において、完了状況インジケータの位置により、タスク又は動作の完了状況（例えば、完了しているタスクの割合）をユーザに伝達できる。ユーザは、タスク又は動作に対する完了時間を概算するために完了状況インジケータが伝達した情報を使用できる。
【０００４】
従来の進捗バーは多くの問題を有する。まず、現代のコンピューティングシステムの複雑さのために、変動するディスク、メモリ、プロセッサ、帯域幅及び他の要因により、既存の進捗バーは、加速、減速及び休止等の非線形挙動を示しうる。このような進捗バーの不規則な挙動により、進捗バーは、推定完了時間をユーザに伝達するのに低速で、鈍重で且つ不正確であると考えられるだろう。
【発明の概要】
【０００５】
本発明のある特定の実施形態は、ユーザのコンピューティング体験を向上するグラフィカルユーザインタフェース（ＧＵＩ）上に改良された進捗バーを表示する技術を提供する。
【０００６】
いくつかの実施形態において、トリビアリティ閾値を満たす場合にユーザに警告するために、進捗バーにおいて視覚的な合図を提供できる。トリビアリティ閾値（triviality threshold）は、タスクが実際に完了したかに関係なくタスクが完了したと平均的なユーザが考える閾値を示すことができる。例えば平均的なユーザは、種々の画像、広告、ハイパーリンク等を含む残りのページの要素がロードされているかに関係なく、１つ以上のスポーツ記事が可視になった時点で特定のスポーツのウェブページをロードするトリビアリティ閾値が満たされると考えてもよい。視覚的な合図は、進捗バーにおける完了状況インジケータの加速進行のアニメーションであってよい。トリビアリティ閾値を満たす場合に視覚的な合図を提供することにより、ユーザは、ページ全体がロードされるまで待つ必要なく、ページ全体がロードされているかに関係なくページの「重要な」部分を見ることができる時を通知される。
【０００７】
進捗バーは、実行中のタスクの完了状況を過小報告する完了状況インジケータを表示できる。いくつかの実施形態において、ブラウザアプリケーションは、ウェブページに対するロード時間を過大評価することにより、推定ロード時間に従うレートで進捗バーにおける完了状況インジケータを増分できる。例えばブラウザアプリケーションは、ロード時間を１０秒であると過大評価し、且つ進捗バーが１０秒でタスクの完了を示すような方法で（例えば、（進捗バーにおける合計画素数）／１０秒の速度で）進捗バーにおける完了状況インジケータを増分してもよい。進捗バーにおけるタスクの実際の状況を過小報告することにより、完了状況インジケータが進捗バーの端部に向かって停滞する確率を最小限にする。更にいくつかの実施形態は、進捗バーにおける完了状況インジケータを円滑に更新できる。いくつかの実施形態において、一次関数は、ある特定の間隔内で完了状況インジケータの進行をアニメーション化する場所を判定するために使用可能である。これにより、進捗バーがユーザに対して直感的に使いやすいと見られるように、個別のジャンプを除去し且つ報告された状況の進行に流動性を付加する。
【０００８】
いくつかの実施形態において、タスクが閾値程度まで完了したことを示す閾値（トリビアリティ閾値とも呼ぶ）を満たす場合にユーザに警告するために、視覚的な合図を提供できる。視覚的な合図は、進捗バーにおける完了状況インジケータの加速進行のアニメーションであってよい。いくつかの実施形態において、ユーザインタフェース（ＵＩ）要素が表示される方法は、進捗バーのディスプレイに結び付けられてもよい。例えばＧＵＩ要素は、進捗バーにおける完了状況インジケータにより示された位置又は完了状況に応答して視覚的に有効にされてもよい。いくつかの例において、ＧＵＩは、トリビアリティ閾値を満たし且つ完了した状況を示すように完了状況インジケータがアニメーション化されると視覚的に有効にされる（すなわち、その機能（function）が有効にされた）ボタン（例えば、読み取り機能に対応するボタン）を含んでもよい。このように、ＵＩ要素の表示装置は、進捗バーにより示された完了状況に応答して変更されてもよい。一実施形態において、ＵＩ要素は、ユーザの注意をＵＩ要素に向けるような方法で視覚的に表示及び変更されてもよい。
【０００９】
タスク又は動作の完了状況を表示することに加えて、いくつかの実施形態における進捗バーは、タスクがある時点で実行されている速度を更に視覚的に示すことができる。種々のアニメーションは、タスクが実行されている速度及び／又はタスクを示すことができる。例えば進捗バーは、実行されている特定のタスク又は動作の速度を示す波又は小波の速度でアニメーション化された波又は小波を表示してもよい。この例において、より高い周波数（すなわち、より短い波長）の波又は小波は、タスクが実行されているより高い速度又はより高いレートを示す（例えば波又は小波は、ウェブページが．５ＭＢ／ｓでロードしている場合にあるアニメーション速度で表示されてもよく、ロード速度が１ＧＢ／ｓである場合により高いアニメーション速度で表示されてもよい）。アニメーションの速度は、タスク又は動作が実行されているレートに関する視覚的な合図をユーザに提供できる。
【００１０】
いくつかの実施形態は、実行されているタスクに対する完了状況インジケータを視覚的に表示する進捗バーをコンピューティングデバイスにより表示する方法を提供し、完了状況インジケータはタスクの完了状況を示す。いくつかの実施形態において、方法は、タスクの完了を示すように進捗バーが表示される時を示すトリビアリティ閾値を判定する。トリビアリティ閾値は、タスクの完了前の時間を示すことができる。トリビアリティ閾値に到達すると、方法は、いくつかの実施形態において進捗バーがタスクの完了を示すようにする。
【００１１】
いくつかの実施形態において、進捗バーがタスクの完了を示すようにする方法は、進捗バーにおける完了状況インジケータの現在位置を判定することと、進捗バーにおける完了状況インジケータを現在位置から進捗バーの一端に進めてタスクの完了を示すこととを備える。いくつかの実施形態において、トリビアリティ閾値は計測値の集合を使用して判定される。ある特定の実施形態において、タスクはウェブページを表示するタスクであり、方法は、ウェブページを閲覧するユーザ要求を受信する。計測値の集合は、ウェブページのユニフォームリソースロケータ（ＵＲＬ）、ウェブページのコンテンツが属するカテゴリ、ウェブページに含まれた項目数又はウェブページのコンテンツがロードされるソースのうちの少なくとも１つを含むことができる。いくつかの実施形態において、方法は、別の進捗値を受信し、他の進捗値に基づいて進捗バーにおける完了状況インジケータを更新する。
【００１２】
いくつかの実施形態は、タスクに対する完了状況インジケータを示す進捗バーをコンピューティングデバイスにより表示する方法を提供する。方法は、タスクに対する基準の集合を判定し、基準の集合を満足するとタスクが「実質的に完了した」ことを示す。方法は、タスクと関連付けられた進捗値の集合を受信する。方法は、基準の集合が進捗値の集合に基づいて満足されているかを判定する。方法は、基準の集合が満足されている場合にアニメーション効果の種類を進捗バーに表示する。
【００１３】
いくつかの実施形態において、基準の集合は、データの閾値量を含むことができ、データの閾値量が受信されていることを進捗値の集合が示す場合に満足される。ある特定の実施形態において、アニメーション効果の種類はユーザが設定可能である。一実施形態において、アニメーション効果の種類は、オブジェクトのモーションブラー（motion blur）又は光ブラー（light blur）のうちの少なくとも１つである。いくつかの実施形態において、完了状況インジケータは一次的な進捗インジケータである。いくつかの実施形態における進捗バーは、タスクが実行されている速度を示す二次的な進捗インジケータを更に視覚的に表示できる。
【００１４】
いくつかの実施形態は、実行された時に実行されているタスクに対する完了状況インジケータを視覚的に表示する進捗バーを表示する方法をコンピューティングデバイスのプロセッサに実行させるプログラム命令で符号化されたコンピュータ可読記憶媒体を提供する。方法は、タスクの完了を示すように進捗バーが表示される時を示す閾値を判定でき、閾値はタスクの完了前の時間を示す。閾値に到達すると、方法は、進捗バーがタスクの完了を示すようにできる。
【００１５】
いくつかの実施形態において、方法は進捗値を受信する。方法は、進捗バーの全長より短い進捗バーの一部の範囲内の場所に進捗値をマッピングできる。方法は、マッピングされた場所に基づいてタスクの完了状況を進捗バーに表示できる。いくつかの実施形態において、タスクは、新聞と関連付けられたウェブページを描画することを含み、ウェブページと関連付けられた特定の記事をロードすると、閾値に到達する。いくつかの実施形態において、タスクはサブタスクの集合を含むことができ、サブタスクの集合より小さいサブタスクの部分集合が完了すると、閾値に到達する。ある特定の実施形態において、タスクは、オブジェクトの集合を含むウェブページを描画することを含み、各サブタスクは、オブジェクトの集合のオブジェクトをロードすることを含み、サブタスクの部分集合の各オブジェクトをロードすると、閾値に到達する。
【００１６】
いくつかの実施形態において、プロセッサと、プロセッサに結合されたメモリ素子とを備える電子デバイスを提供する。メモリ素子は、タスクの完了状況を進捗バーに表示するために実行される命令を含むことができ、命令は、プロセッサにより実行された時に実行されているタスクに対する完了状況インジケータを視覚的に表示する進捗バーをプロセッサに表示させる。命令により、プロセッサは、タスクの完了を示すように進捗バーが表示される時を示す閾値を判定でき、閾値はタスクの完了前の時間を示す。命令により、更にプロセッサは、閾値に到達すると進捗バーがタスクの完了を示すようにできる。
【００１７】
いくつかの実施形態において、タスクはサブタスクの集合を含み、サブタスクの集合より小さいサブタスクの集合の部分集合が完了すると、閾値に到達する。ある特定の実施形態において、命令により、更にプロセッサは、進捗値の集合を受信し、閾値に到達する前に進捗バーを更新して実行されているタスクに対する更新された完了状況インジケータを表示する。タスクに対する更新された完了状況インジケータは、タスクの完了状況を過小報告してよい。いくつかの実施形態において、タスクは、各々が異なる場所からオブジェクトのロードを要求するいくつかのサブタスクを含む。命令により、更に処理は、完了している各サブタスクのそれぞれの割合を判定でき、各サブタスクのそれぞれの割合の各々が閾値達成率に到達している場合に閾値に到達することを判定できる。ある特定の実施形態において、各サブタスクに対する閾値達成率は、ユーザ又はシステム管理者のうちの少なくとも一方により設定可能である。
【００１８】
いくつかの実施形態は、実行された時にコンピューティングデバイスのプロセッサに方法を実行させるプログラム命令で符号化されたコンピュータ可読記憶媒体を提供する。いくつかの実施形態において、方法は、タスクに対する完了状況インジケータを視覚的に表示する進捗バーを表示する。方法は、基準の集合を満足するとタスクが「実質的に完了した」ことをユーザに示すタスクに対する基準の集合を計測値の集合を使用して判定できる。方法は、進捗値の集合に基づいて基準の集合が満足されているかを判定できる。方法は、基準の集合が満足されている場合にアニメーション効果の種類を表示できる。
【００１９】
いくつかの実施形態において、方法は、進捗値の集合に基づいてタスクに対する完了状況インジケータを表示する。方法は、進捗値の更なる集合を受信することに応答して進捗バーにおけるタスクに対する完了状況インジケータを更新できる。方法は、進捗バーの閾値場所を判定でき、閾値場所の範囲を超える場所は、基準の集合が満足されている場合にアニメーション効果の種類を表示するために確保され、進捗バーにおけるタスクに対する更新された完了状況インジケータは、基準の集合が満足される以前の閾値場所の前の進捗バーにおける場所を示す。いくつかの実施形態において、方法は、基準の集合が満足されていると判定することに応答してアニメーション効果の種類を判定し、アニメーション効果の種類はユーザが設定可能である。ある特定の実施形態において、進捗値の集合は、タスクに対する進捗状況インジケータを示す。方法により、進捗バーは、タスクの完了状況を過小報告するタスクに対する完了状況インジケータを表示できる。いくつかの実施形態において、タスクはサブタスクの集合を含み、基準の集合は、サブタスクの集合の部分集合が完了している場合に満足される。
【００２０】
いくつかの実施形態は、実行されているタスクに対する進捗バーをプロセッサにより表示する方法を提供する。いくつかの実施形態において、方法は、タスクの完了状況を示す第１の進捗値を受信する。方法は、第１の進捗値に基づいて進捗バーにおける完了状況インジケータを算出できる。
【００２１】
いくつかの実施形態において、タスクは、ウェブブラウザにおけるウェブページのロードであり、タスクの完了状況は、ウェブページのロードが完了した割合を示す。ある特定の実施形態において、方法は、第３の進捗値を受信し、第３の進捗値に基づいて第３の進捗値より小さい第４の進捗値を算出する。次に方法は、第３の進捗値に基づいて、進捗バーにおけるタスクの更新された完了状況インジケータを表示する。
【００２２】
いくつかの実施形態において、第１の進捗値及び第２の進捗値は、所定の間隔で描画エンジンから受信される。ある特定の実施形態において、第２の進捗値は進捗バーにおける現在の場所を示し、第４の進捗値は進捗バーにおける新しい場所を示し、タスクに対する完了状況インジケータは、アニメーション効果を使用して現在の場所から新しい場所に増分する。一実施形態において、完了状況インジケータは、タスクの完了状況を過小報告する。いくつかの実施形態において、第２の進捗値を算出する方法は、タスクが完了するまでの推定される時間の長さを判定することを備え、第２の進捗値は推定された時間の長さに基づいて算出される。いくつかの実施形態において、推定された時間の長さは、ルックアップテーブルにおいて第１の進捗値を時間間隔にマッピングすることで判定される。
【００２３】
いくつかの実施形態は、実行されているタスクに対する進捗バーをコンピューティングデバイスにより表示するコンピュータにより実現される方法を提供する。いくつかの実施形態において、方法はタスクの完了状況を示す進捗値を受信し、進捗値は、進捗バーにおける完了状況インジケータに対する現在の場所に対応し、完了状況インジケータはタスクの完了状況を示す。方法は、進捗値に基づいて進捗バーにおける新しい場所を算出できる。方法は、現在の場所から新しい場所への進捗バーにおける完了状況インジケータのアニメーション化された進行を表示でき、完了状況インジケータの進行はタスクの完了状況を過小報告する。
【００２４】
いくつかの実施形態において、進捗バーにおける新しい場所を算出することは、第１の進捗値に基づいて推定完了時間を判定することと、推定完了時間を使用して一次関数を構成することとを含み、新しい場所は一次関数を使用して算出される。ある特定の実施形態において、新しい場所は、完了状況インジケータが進捗バーにおいて更新される所定の時間間隔に基づいて判定可能である。いくつかの実施形態において、推定完了時間は、ルックアップテーブルにおいて進捗値をタスクに対する対応する推定完了時間にマッピングすることで判定され、対応する推定完了時間は、タスクを完了するのに必要な時間の長さの過大評価値である。一実施形態において、タスクに対する完了状況インジケータは、アニメーション効果を使用して現在の場所から次の場所に増分する。いくつかの実施形態において、次の場所は、進捗バーにおける現在の場所と新しい場所との間のアニメーションに対して割り当てられた時間間隔に少なくとも部分的に基づいて算出される。
【００２５】
いくつかの実施形態は、実行されているタスクに対する完了状況インジケータを視覚的に表示する進捗バーを視覚的に表示する進捗バーをプロセッサにより表示する方法を提供する。方法は、タスクの完了状況を示す進捗値を受信する。いくつかの実施形態において、方法により、進捗バーは、進捗値に基づいてタスクの完了状況を過小報告する完了状況インジケータを表示する。
【００２６】
いくつかの実施形態において、完了状況インジケータは、進捗バーにおける現在の場所に対応し、方法は、進捗値に基づいて推定完了時間を更に判定する。方法は、推定完了時間を使用して一次関数を構成し、現在の場所は一次関数を使用して判定される。いくつかの実施形態において、更に方法は、別の進捗値を受信し、他の進捗値に少なくとも部分的に基づいて新しい一次関数を構成する。いくつかの実施形態において、方法は、他の進捗値に基づいて新しい推定完了時間を更に判定し、新しい一次関数は、新しい推定完了時間を使用して構成される。方法は、所定の時間間隔に少なくとも部分的に基づいて、新しい一次関数を使用して進捗バーにおける新しい場所を判定し、所定の時間間隔内で完了状況インジケータを新しい場所にアニメーション化する。
【００２７】
いくつかの実施形態において、所定の時間間隔は、ユーザ又はシステム管理者のうちの少なくとも一方により設定可能である。ある特定の実施形態において、更に方法は、タスクに対するトリビアリティ閾値を判定し、トリビアリティ閾値を満たすかを判定し、トリビアリティ閾値を満たす場合に進捗バーの完了を示す視覚的な合図を表示する。
【００２８】
いくつかの実施形態は、実行されているタスクに対する完了状況インジケータを視覚的に表示する進捗バーをコンピューティングデバイスにより表示する方法を提供し、完了状況インジケータはタスクの完了状況を示す。方法は、進捗バーの完了状況インジケータに基づいて機能（feature）と関連付けられたユーザインタフェース要素を視覚的に有効にする。
【００２９】
いくつかの実施形態において、更に方法は、基準の集合に基づいてトリビアリティ閾値を判定し、トリビアリティ閾値を満たすかを判定し、トリビアリティ閾値を満たす場合に機能が起動されるかを判定し、トリビアリティ閾値を満たす場合に視覚的な合図を進捗バーに表示し、ユーザインタフェース要素は、機能が起動されると判定することに応答して視覚的な合図を表示した後に視覚的に有効にされる。いくつかの実施形態において、機能は、トリビアリティ閾値を満たす前に起動される。ある特定の実施形態において、ユーザインタフェース要素は、完了状況インジケータの進行が進捗バーの一端に到達する場合に視覚的に有効にされる。
【００３０】
いくつかの実施形態における方法は、トリビアリティ閾値を満たす場合に進捗バーにおける完了状況インジケータの加速進行を更に表示し、視覚的な合図は、進捗バーにおける完了状況インジケータの進行の完了後に表示される。いくつかの実施形態において、タスクが閾値達成率の完了を越える場合にトリビアリティ閾値を満たし、閾値達成率は、ユーザ又は管理者のうちの少なくとも一方により設定可能である。ある特定の実施形態において、機能は、タスクのユーザ又は管理者により設定可能な一次的なサブタスクを完了することに応答して起動される。いくつかの実施形態において、機能は、ウェブページの１つ以上の記事をロードすると起動される読み取り機能である。
【００３１】
いくつかの実施形態は、実行されているタスクに対する完了状況インジケータを視覚的に表示する進捗バーをコンピューティングデバイスにより表示する方法を提供する。方法は、タスクに対するトリビアリティ閾値を判定する。いくつかの実施形態において、トリビアリティ閾値に到達すると、方法は機能の状況を判定する。方法は、機能の状況が変更される場合に機能と関連付けられたユーザインタフェース要素を視覚的に変更する。
【００３２】
いくつかの実施形態において、方法は、トリビアリティ閾値に到達すると進捗バーにおける完了状況インジケータの加速進行を更に表示し、ユーザインタフェース要素は、進捗バーにおける完了状況インジケータの進行の完了後に視覚的に変更される。一実施形態において、方法は、トリビアリティ閾値に到達する場合に視覚的な合図を更に表示し、ユーザインタフェース要素に対する視覚的な変更は、視覚的な合図と組み合わせて表示される。
【００３３】
いくつかの実施形態において、タスクが閾値達成率を越える場合にトリビアリティ閾値に到達し、閾値達成率は、ユーザ又は管理者のうちの少なくとも一方により設定可能である。ある特定の実施形態において、ユーザインタフェース要素は、変更されている機能の状況及びトリビアリティ閾値に到達することに応答して視覚的に変更される。一実施形態において、ユーザインタフェース要素は、機能の状況が変更される場合に視覚的に有効にされるユーザが選択可能なボタンである。いくつかの実施形態において、機能の状況は、ウェブページの１つ以上の主な要素がロードされた場合に変更される。ある特定の実施形態において、ウェブページの１つ以上の主な要素は、ウェブページに関連する記事を含む。
【００３４】
いくつかの実施形態は、タスクに対する完了状況インジケータを視覚的に表示する進捗バーをコンピューティングデバイスにより表示する方法を提供し、完了状況インジケータは実行されているタスクに対する完了状況を示す。方法は、トリビアリティ閾値を判定し、トリビアリティ閾値に到達すると機能の状況を判定する。方法は、機能の状況が変更される場合に視覚効果を表示する。
【００３５】
いくつかの実施形態において、視覚効果は、変更された機能の状況と関連付けられたユーザインタフェース要素を視覚的に変更することを含む。ある特定の実施形態において、機能の状況と関連付けられた視覚効果は、機能と関連付けられたユーザインタフェース要素に対する視覚的な変更を含む。一実施形態において、更に方法は、トリビアリティ閾値に到達すると別の機能の状況を判定し、他の機能の状況が変更される場合に別の視覚効果を表示する。
【００３６】
いくつかの実施形態は、実行されているタスクに対する完了状況インジケータを視覚的に表示する進捗バーをコンピューティングデバイスにより表示する方法を提供し、完了状況インジケータはタスクに対する完了状況を示す。いくつかの実施形態において、方法は、進捗バーと関連付けられた二次的なインジケータを表示し、二次的なインジケータは、タスクが実行されている速度を視覚的に識別する。
【００３７】
いくつかの実施形態において、更に方法は、進捗値を受信し、進捗値に基づいて完了状況インジケータに対する値を判定し、表示された完了状況インジケータは、タスクの完了状況を過小報告する。いくつかの実施形態において、更に方法は、タスクが実行されている速度、タスクと関連付けられたアニメーションの種類及び受信した速度に対応するアニメーションの種類のうちの特定のアニメーションを判定し、二次的なインジケータを表示することは、特定のアニメーションを進捗バーに表示することを含む。
【００３８】
いくつかの実施形態において、更に方法は、タスクが実行されている別の速度、他の速度に対応するアニメーションの種類のうちの別の特定のアニメーションを判定し、二次的なインジケータを進捗バーにおいて特定のアニメーションから他の特定のアニメーションを表示することに遷移する。いくつかの実施形態において、アニメーションの種類は、ホイール回転アニメーション又は小波効果のうちの少なくとも１つを含む。タスクと関連付けられたアニメーションの種類は、ルックアップテーブルを使用してタスクをアニメーションの種類にマッピングすることで判定可能である。いくつかの実施形態において、アニメーションの種類はユーザが設定可能である。
【００３９】
いくつかの実施形態において、受信した速度に対応する特定のアニメーションは、ルックアップテーブルを使用して判定される。一実施形態において、二次的なインジケータは進捗バーに表示される。ある特定の実施形態において、完了状況インジケータ内の輝度により示される二次的なインジケータは、完了状況インジケータ内に表示される。
【００４０】
いくつかの実施形態は、タスクの完了状況の第１の視覚的な指示及びタスクが実行されている速度の第２の視覚的な指示を並行して表示する進捗バーをコンピューティングデバイスにより表示する方法を提供する。いくつかの実施形態において、第２の視覚的な指示はリアルタイムで更新される。ある特定の実施形態において、第２の視覚的な指示は、ルックアップテーブルを使用してタスクをアニメーションの種類にマッピングすることで判定される。一実施形態において、アニメーションの種類はユーザが設定可能である。いくつかの実施形態において、アニメーションの種類はタスクの種類に基づいて判定される。
【００４１】
いくつかの実施形態は、実行された時に実行されているタスクに対する完了状況インジケータを視覚的に表示する進捗バーを表示し、且つタスクと関連付けられた二次的なインジケータを進捗バーに表示する方法を１つ以上のプロセッサに実行させる命令の集合で符号化されたコンピュータ可読記憶媒体を提供し、完了状況インジケータはタスクに対する完了状況を示し、二次的なインジケータは、タスクが実行されている速度を視覚的に識別する。
【００４２】
いくつかの実施形態において、方法は、タスクが実行されている速度に少なくとも部分的に基づいてタスクと関連付けられた二次的なインジケータを更に判定する。ある特定の実施形態において、二次的なインジケータを判定することは、ルックアップテーブルを使用して速度をアニメーションの種類にマッピングすることを含み、二次的なインジケータを表示することは、アニメーションの種類を進捗バーに表示することを含む。一実施形態において、二次的なインジケータは、タスクの種類に少なくとも部分的に基づいて判定されたアニメーションの種類である。いくつかの実施形態において、完了状況インジケータ及び二次的なインジケータの双方は、進捗バー内に表示されたグラフィカルユーザインタフェース要素である。
【００４３】
添付の図面と共に以下の詳細な説明は、本発明の本質及び利点のより適切な理解を提供するだろう。
【図面の簡単な説明】
【００４４】
【図１】図１は、本発明のいくつかの実施形態に係る進捗バーを含むユーザインタフェース（この例ではウェブブラウザ）を生成及び表示する進捗バーシステムの一例を示す図である。
【図２】図２は、いくつかの実施形態に係る流動的進捗バー生成器及びロケット効果生成器の更に詳細な図の一例を示す図である。
【図３】図３は、いくつかの実施形態に係る進捗バーに「ロケット効果」を表示する時を判定する処理を概念的に示す図である。
【図４】図４は、ロケットアニメーションを表示するいくつかの実施形態の処理の一例を示す図である。
【図５】図５は、タスクに対して過小報告された進捗状況を進捗バーに表示するいくつかの実施形態の処理の一例を示す図である。
【図６】図６は、タスクに対して過小報告された進捗状況を進捗バーに表示するいくつかの実施形態の処理の別の例を示す図である。
【図７】図７は、本発明のいくつかの実施形態に係る完了状況インジケータの進行の一例を示す図である。
【図８】図８は、進捗値に基づいてタスクが完了するまでブラウザアプリケーションが時間推定値を取得できるようにするいくつかの実施形態の時間推定表の一例を示す図である。
【図９】図９は、いくつかの実施形態に係るタスクの実際の状況を過小報告しつつ円滑に更新する進捗バーのシーケンスの一例を示す図である。
【図１０】図１０は、いくつかの実施形態に係る機能に対する状況変化に応答して視覚効果を表示するようにブラウザアプリケーションに信号で知らせることのできる機能イネーブラのより詳細な図の一例を示す図である。
【図１１】図１１は、トリビアリティ閾値を満たす場合に有効にされている機能に応答してユーザインタフェース（ＵＩ）要素を視覚的に変更するいくつかの実施形態の処理の一例を示す図である。
【図１２】図１２は、いくつかの実施形態に従って、進捗バーにおけるタスクに対する完了状況インジケータの進行の一例及び機能を示すＵＩ要素を視覚的に変更する一例を示す図である。
【図１３】図１３は、いくつかの実施形態に従って、二次的な進捗生成器及び進捗バーにおけるタスクに対する完了状況インジケータに加えて二次的な進捗インジケータを描画する描画エンジンの更に詳細な図の一例を示す図である。
【図１４】図１４は、進捗バーにおけるタスクの完了状況インジケータと共に二次的な進捗インジケータを表示するいくつかの実施形態の処理の一例を示す図である。
【図１５】図１５は、いくつかの実施形態に係る進捗バーにおけるタスクの完了状況インジケータと共に二次的な進捗インジケータを表示する進行の別の例を示す図である。
【図１６】図１６は、いくつかの実施形態に係る進捗バーにおけるタスクの完了状況インジケータと共に別の種類の二次的な進捗インジケータを表示する進行の別の例を示す図である。
【図１７】図１７は、いくつかの実施形態に係る進捗バーにおけるタスクの完了状況インジケータと共に二次的な進捗インジケータの種類を表示する進行の別の例を示す図である。
【図１８】図１８は、本発明の一実施形態に係るコンピュータシステムを示す図である。
【図１９】図１９は、本発明の種々の態様を実現できる環境の一例を示す図である。
【発明を実施するための形態】
【００４５】
以下の説明において、多くの詳細、例及び実施形態は説明のために示される。しかし、本発明が示された実施形態に限定されず且つ説明された特定の詳細のうちのいくつかを使用せずに実施されてもよいことは、当業者には理解されるだろう。また、既知の構造及びデバイスを含む例及び実施形態のうちのいくつかは、不必要な詳細で説明を不明瞭にしないようにブロック図の形式で示される。
【００４６】
本発明のある特定の実施形態は、ユーザのコンピューティング体験を向上するグラフィカルユーザインタフェース（ＧＵＩ）上に改良された進捗バーを表示する技術を提供する。進捗バーは、ユーザが実行中のタスク又は動作の完了状況を視覚化できるようにする完了状況インジケータを表示できる。いくつかの実施形態において、ユーザは、動作の実行が正常に進行していることを確認し、且つ完了状況インジケータを観察することで動作に対する完了時間を推定するために進捗バーを使用できる。
【００４７】
いくつかの実施形態における進捗バーは、実行中のタスクの完了状況を過小報告する完了状況インジケータを表示できる。例えばウェブブラウザは、ウェブページに対して過大評価されたロード時間を判定して完了状況インジケータが進捗バーの端部に停滞するのを防止できる。また、いくつかの実施形態において、完了状況インジケータは円滑に表示及び更新される。そのような実施形態において、一次関数は、ある特定の間隔内で完了状況インジケータの進行をアニメーション化する場所を判定するために使用される。これにより、不連続なジャンプを除去し、且つ通知された状況の進行に流動性を付加し、より直感的で応答性に優れた進捗バーがユーザに対して提示される。
【００４８】
いくつかの実施形態において、タスクが「実質的に完了した」ことを示す閾値（トリビアリティ閾値とも呼ぶ）を満たす場合にユーザに警告するために、視覚的な合図を提供できる。従って、進捗バーは、ユーザの関心のあるタスクのサブタスクが完了した時を示すために視覚的な合図をユーザに提供できる。いくつかの実施形態において、視覚的な合図は、進捗バーにおける完了状況インジケータの加速進行のアニメーションであってよい。いくつかの実施形態において、トリビアリティ閾値は、タスクが実際に完了したかに関係なくタスクが完了したと平均的なユーザが考える閾値を示す。例えば平均的なユーザは、残りのページ（例えば、種々の画像、広告、ハイパーリンク等を含む）がロードされるかに関係なく、１つ以上のスポーツ記事が可視になると特定のスポーツウェブページのロードのためのトリビアリティ閾値を満たしたと考えることができる。トリビアリティ閾値を満たす場合に視覚的な合図を提供することにより、ユーザは、ページ全体がロードされるまで待つ必要なく、ページがロードされるかに関係なくページの一部を見ることができる時を通知される。
【００４９】
いくつかの実施形態において、ユーザインタフェース（ＵＩ）要素が表示される方法は、進捗バーのディスプレイに結び付けられる。例えばＧＵＩ要素は、進捗バーにおける完了状況インジケータにより示された位置又は完了状況に応答して視覚的に有効にされてもよい。いくつかの例において、ＧＵＩは、トリビアリティ閾値を満たし且つ完了した状況を示すように完了状況インジケータがアニメーション化されると視覚的に有効にされる（すなわち、その機能が有効にされた）ボタン（例えば、読み取り機能に対応するボタン）を含んでもよい。このように、ＵＩ要素の表示装置は、ＵＩ要素により示された機能を強調表示するために進捗バーにより示された完了状況に応答して変更されてもよい。一実施形態において、ＵＩ要素は、ユーザの注意をＵＩ要素に向けるような方法で視覚的に表示及び変更されてもよい。
【００５０】
いくつかの実施形態において、タスク又は動作の完了状況（進捗バーの完了状況インジケータにより示された）を示すことに加え、進捗バーは、タスクがある時点で実行されている速度を更に視覚的に示してもよい（例えば、アニメーションを使用して）。ユーザにロード速度を伝達することにより、ユーザは、相対的に大きなウェブページを高いロード速度でロードすることと、相対的に小さなウェブページを低いロード速度でロードすることとを区別できる。いくつかの実施形態において、低いロード速度はユーザと特定のサーバとの不十分な接続を意味しうるため、ユーザは、ロード速度が許容できないほど低い場合にデータに対する要求をサーバから取り消したいと思うだろう。ユーザは、いくつかの例においてページがロードされている速度に基づいて、現在のウェブページに留まるかあるいは異なるウェブページに移るかを判定できる。
【００５１】
種々の異なるアニメーションは、速度を表示するために使用されてもよい。例えば進捗バーは、実行されているタスク又は動作の速度を示す波又は小波の速度を有するアニメーション化された波又は小波を表示してもよい。この例において、波又は小波のより高速のアニメーションは、より高い速度を示す（例えば波又は小波は、ウェブページが．５ＭＢ／ｓでロードしている場合にあるアニメーション速度で表示されてもよく、ロード速度が１ＧＢ／ｓの場合により高いアニメーション速度で表示されてもよい）。アニメーションの速度は、どれくらいの速度でタスク又は動作が実行されているかの視覚的な合図をユーザに提供する。
【００５２】
本明細書において、「タスクの状況」又は「タスクの進捗」という用語は、ある瞬間に完了するタスク又は動作の量又は割合を示すために使用可能である。本明細書において、「進捗状況インジケータ」、「完了状況インジケータ」又は「状況インジケータ」という用語は、進捗バーにおけるタスクの状況又は進捗の表現を示すために使用可能である。本明細書において、「完了状況インジケータの進行」という用語は、進捗バーにおいて示されたタスクに対する完了状況インジケータが移動している動き及び／又はレートを示すために使用可能である。なお、特定の種類の進捗インジケータ、すなわち進捗バーに関する説明が示されるが、タスク又は動作の状況を示しうる他の種類の進捗インジケータも使用可能であることは、当業者には理解されるだろう。
【００５３】
図１は、本発明のいくつかの実施形態に係る進捗バーシステム１００の簡略化された高レベルブロック図を示す。図１に示されるように、進捗バーシステム１００は、流動的進捗バー生成器１１５、ロケット効果生成器１２０、機能イネーブラ１２５、二次的な進捗生成器１３０及び描画エンジン１３５等の複数のサブシステムを備える。サブシステムのうちの１つ以上が互いに通信及びデータ交換できるように、１つ又はより多くの通信パスを提供できる。図１に示された種々の構成要素は、ソフトウェア、ハードウェア又はそれらの組合せで実現可能である。いくつかの実施形態において、ソフトウェアは、一時的又は非一時的なコンピュータ可読記憶媒体に格納可能であり、１つ以上の処理装置により実行可能である。
【００５４】
図１に示されたような進捗バーシステム１００は、図１に示されたより多くの又は少ない構成要素を含むことができることが理解されるべきである。いくつかの実施形態において、進捗バーシステム１００は、コンピュータ又はハンドヘルドデバイス等の電子コンピューティングデバイスの一部であってよい。進捗バーシステム１００の種々の構成要素は、スタンドアロンアプリケーションとして実現可能であるか、あるいは別のアプリケーション（例えば、ウェブブラウザアプリケーション、電子メールクライアント又は進捗バーを表示できる他のあらゆるアプリケーション）に統合可能であるのに対し、いくつかの実施形態において、進捗バーシステム１００の構成要素はオペレーティングシステム内で実現可能である。
【００５５】
いくつかの実施形態において、進捗バーシステム１００は、図１に示された進捗バー１４５等の進捗バーをユーザに対して生成及び表示できる。いくつかの実施形態において、進捗バー１４５は、完了状況インジケータの位置がタスクの完了状況を示す完了状況インジケータ１５０を含むことができる。進捗バー１４５における完了状況インジケータの進行を観察することにより、ユーザは、いくつかの実施形態においてタスクをロードするページの完了状況を識別できる。進捗バーシステム１００の種々の構成要素は、進捗バー１４５を使用して更なる有用な情報をユーザに伝達するように進捗バー１４５を視覚的に向上できる。
【００５６】
いくつかの実施形態において、描画エンジン１３５は、電子コンピューティングデバイスのディスプレイ上にコンテンツを描画及び表示するように構成される。いくつかの例において、描画エンジン１３５は、ＵＲＬ（例えば、ユーザが入力した）に対応する文書（例えば、ＨＴＭＬ、ＸＭＬ、画像ファイル等）を検索し且つ電子コンピューティングデバイスのディスプレイ上にそのグラフ表示を描画エンジン１３５に描画させることが可能なウェブブラウザに組み込まれる。ウェブページのディスプレイを生成することに加え、いくつかの実施形態における描画エンジン１３５は、表示するために進捗バーを生成できる。いくつかの実施形態において、ウェブブラウザは、ロードされたウェブページの割合の合計を示す進捗値を判定して、これらの進捗値を進捗バーシステム１００の種々のサブシステムに提供できる。次にこれらのサブシステムは、進捗バーに関連した種々の動作を実行するためにこれらの進捗値を使用できる。
【００５７】
いくつかの実施形態において、流動的進捗バー生成器１１５は、実行中のタスク（例えば、ウェブページのロード）の状況を過小報告するように構成される。まだ完了していないタスクの量を正確に判定するのは困難であるため、進捗値をユーザに過小報告することによりユーザの期待を管理できる。また、予め完了状況を過小報告することにより、進捗バーの端部に向かって停滞するのを最小限にするかあるいは防止できるように、完了状況インジケータが進行する進捗バー内により多くの空間を許容する。いくつかの実施形態において、流動的進捗バー生成器１１５は、描画エンジン１３５から進捗値を受信し、且つタスクに対する完了状況インジケータを増分する進捗バーにおける場所を判定できる。判定された場所は、過小報告されたタスクの状況の値に対応しうる。
【００５８】
上述したように、流動的進捗バー生成器１１５は、進捗バーにおける完了状況インジケータを表示及び更新する方法を円滑にするように構成される。これは、一般に従来の進捗バーと関連する鈍重な更新を低減するように実行される。進捗バーにおける完了状況インジケータの表示及び更新を円滑にすることにより、進捗バーに対するユーザの視覚体験を向上する。
【００５９】
一実施形態において、流動的進捗バー生成器１１５は、円滑さを実現するために１つ以上の一次関数を使用する。流動的進捗バー生成器１１５は、一次関数を構成し、且つ時間間隔内に増分する進捗バー内の完了状況インジケータに対する新しい場所の各々を判定するために一次関数を使用して実行された計算を使用してもよい。いくつかの実施形態において、次の場所の各々を算出するために一次関数を使用することにより、完了状況インジケータの進行が円滑に且つ一定の速度で増分しているように見える。
【００６０】
いくつかの実施形態において、進捗値はタスクの完了状況を示すことができる。いくつかの実施形態におけるブラウザアプリケーションは、描画エンジン１３５から進捗値を受信できる。流動的進捗バー生成器１１５は、新しい進捗値を受信する場合、タスクが完了するまで新しい時間を推定する（例えば、ルックアップテーブルを使用して）ために進捗値を使用できる。次に流動的進捗バー生成器１１５は、新しい推定時間を使用して新しい一次関数を構成する。従って、完了状況インジケータの進行は、前とは異なるレートではあるが安定したレートで増加し続ける。進行レートの変化に関係なく、時間間隔毎に増分する場所を判定するために複数の線形方程式を構成することにより、完了状況インジケータの進行がユーザの眼に対して円滑で鎮静効果があるように見える。完了状況インジケータを着実に且つ短時間間隔内で増分することにより、その外観をユーザに対して円滑に増加させる。
【００６１】
いくつかの実施形態において、ロケット効果生成器１２０は、トリビアリティ閾値を満たす場合に進捗バーにおける完了状況インジケータの進行をその現在位置からタスクの完了を示す位置に「ロケットのように」運ぶ、すなわち加速するように構成される。例えば、図１に示された進捗バー１４５に対して、トリビアリティ閾値を満たす場合、完了状況インジケータは、その現在位置からユーザに対してタスクの完了を示す端部位置１５５に進むようにアニメーション化される。
【００６２】
タスクに対するトリビアリティ閾値は、タスクが完全に完了してはいないがユーザの目的のために完了したものとして示される閾値を識別する。トリビアリティ閾値は、設定可能であり、タスクに対しては一般にタスクの完全な完了よりも低い閾値に設定される。いくつかの実施形態において、トリビアリティ閾値は、タスクの完全な完了に設定可能であることが理解されるべきである。
【００６３】
トリビアリティ閾値は、アプリケーション及びタスクのコンテキストに特有であってもよい。例えば、タスクがウェブページをロードしている場合、トリビアリティ閾値は、例えばページが「実質的にロードされた」か、あるいは「視覚的に完了した」と仮定される場合にロードされているウェブページの閾値達成率に設定可能である。いくつかの実施形態において、ロケット効果生成器１２０は、基準の集合を使用してトリビアリティ閾値を決定できる。例えば、ウェブページの３０％がロードされている場合をトリビアリティ閾値とすることができる。
【００６４】
いくつかの実施形態において、ロケット効果生成器１２０は、進捗バー１０５における現在の場所から進捗バー１０５の一端への完了状況インジケータの加速進行を示すアニメーションを生成できる。これは、ユーザにとって、ページのロードが完了しているかに関係なくページが完了しているように見える視覚的な合図となるだろう。ユーザは、自身が現在ページを閲覧し始めてもよい信号としてこの視覚的な合図を使用できる。
【００６５】
いくつかの実施形態は、タスクが完了したことを示す完了状況インジケータに応答してユーザインタフェース要素の視覚的な変更を提供できる。いくつかの実施形態において、機能イネーブラ１２５は、機能を示すユーザインタフェース要素の視覚的な変更を発生させるように構成される。トリビアリティ閾値を満たし且つ「ロケット効果」が有効にされると判定することに応答して、機能イネーブラ１２５は、「ロケット効果」の表示に後続して特定の機能が「有効にされる」かを判定できる。機能（例えば、ユーザが指定した）が有効にされると機能イネーブラ１２５が判定する場合、いくつかの実施形態における描画エンジン１３５は、有効にされた機能を強調表示できるか、あるいは機能を示すユーザインタフェース要素を視覚的に変更できる。いくつかの実施形態において、描画エンジン１３５は、有効にされた機能を更に強調表示するために、完了状況インジケータ又はロケット効果生成器１２０により生じた「ロケット効果」の加速進行の直後に視覚的な変更をユーザインタフェース要素に対して表示できる。
【００６６】
いくつかの実施形態において、二次的な進捗生成器１３０は、進捗バーにより表示されるアニメーション効果を発生させるように構成される。アニメーションは、タスクが実行されている速度を示す。いくつかの実施形態において、二次的な進捗生成器１３０は、ウェブページのロード等のタスクが現在実行されている速度を監視できる。二次的な進捗生成器１３０は、速度を示す進捗バーに表示されるアニメーションを判定できる。次に二次的な進捗生成器１３０により、描画エンジン１３５はアニメーションを表示できる。アニメーション効果により、ユーザは、タスクが実行されている速度を識別でき、自身で判定できる。
【００６７】
図２は、いくつかの実施形態に係る流動的進捗バー生成器１１５及びロケット効果生成器１２０の更に詳細なダイアグラム２００の一例を示す。図２において、流動的進捗バー生成器１１５は、閾値チェッカ２０５と、閾値決定器２１０と、過小報告器２１５と、進行円滑化モジュール２２０とを備える。いくつかの実施形態におけるロケット効果生成器１２０は、閾値チェッカ２０５と、閾値決定器２１０と、ロケット効果作成器２２５とを備えることができる。図２に示されたような流動的進捗バー生成器１１５及びロケット効果生成器１２０は、図２に示された構成よりも多くの又は少ない構成要素を含むことができる。また、流動的進捗バー生成器１１５及びロケット効果生成器１２０（例えば、閾値チェッカ２０５及び閾値決定器２１０）の１つ以上の構成要素は、双方のサブシステムにより共有された単一の機能又はアプリケーションとして実現可能であるか、あるいはサブシステムのうちの１つに統合可能であり、その場合他のサブシステムによりアクセス可能である。
【００６８】
構成要素のうちの１つ以上が互いに通信及びデータ交換できるように、１つ以上の通信パスを提供できる。図２に示された種々の構成要素は、ソフトウェア、ハードウェア又はそれらの組合せで実現可能である。
【００６９】
いくつかの実施形態において、閾値決定器２１０は、実行されているタスクに対するトリビアリティ閾値を決定するように構成される。上述したように、トリビアリティ閾値とは、タスクが「実質的に完了した」だけかもしれないが平均的なユーザがタスクが「完了した」ものとして仮定する閾値であってよい。例えば平均的なユーザは、ウェブページの重要な構成要素（例えば、主要なニュース記事）がロードされる場合に、ウェブページのロードタスクを「完了した」と考えられるものとして又はウェブページを「視覚的に完了した」ものとして仮定してもよい。従って、ウェブページの主要な構成要素がロードされる場合、トリビアリティ閾値を満たすと判定される。
【００７０】
いくつかの実施形態におけるトリビアリティ閾値は、タスク毎に異なってよい。いくつかの実施形態において、異なる基準の集合を満足すると、異なるタスクに対するトリビアリティ閾値を満たしうる。例えば、ニュースウェブサイト上でのウェブページのロードに対するトリビアリティ閾値としては、ページ上の記事がロードされている場合を閾値に設定可能であり、小売りウェブサイト上のウェブページのロードに対するトリビアリティ閾値としては、製品画像がロードされている場合を閾値に設定可能である。別の例において、ウェブページ上に描画される要素の総面積の閾値パーセンテージがロードされた場合、特定のウェブサイトに関連するトリビアリティ閾値を満たしたとすることができる。更に別の例において、特定のＵＲＬからのオブジェクト以外の種々のＵＲＬからのページの全てのものがロードされている場合、トリビアリティ閾値を満たしとすることができる。タスク毎のトリビアリティ閾値は、ユーザが設定可能である（例えば、基本設定を介して）か、あるいはシステム管理者又はウェブ開発者によりデフォルト設定に設定可能である。
【００７１】
いくつかの実施形態において、閾値決定器２１０は、閾値を満たすかをチェックするのに使用する閾値チェッカ２０５に対するトリビアリティ閾値を判定できる。閾値チェッカ２０５は、描画エンジン１３５からタスクに関連する種々の情報（例えば、タスクに対するトリビアリティ閾値を満たすかを判定するのに必要な情報）を受信できる。この例において、閾値チェッカ２０５は、描画エンジン１３５からウェブページ上に描画された要素の総面積に対する割合を取得し、且つ受信した割合が閾値決定器２１０により決定された閾値達成率を超えるかを判定する。受信した割合が閾値達成率を超えると判定すると、閾値チェッカ２０５はトリビアリティ閾値を満たすと判定する。
【００７２】
いくつかの実施形態において、トリビアリティ閾値を満たすと判定することに応答して、ロケット効果生成器１２０のロケット効果作成器２２５は、視覚的な合図又はアニメーションの種類を判定し、且つ視覚的な合図を進捗バー上に視覚的に表示する。いくつかの実施形態におけるロケット効果作成器２２５は「ロケット効果アニメーション」を描画エンジン１３５に表示させることができ、そのアニメーションにおいて、進捗バーの一端に向かって進捗バーにおける完了状況インジケータの進行が加速し、タスクの完了状況インジケータが完了へ「ロケットで運ばれた」かのように見せる。
【００７３】
いくつかの実施形態において、トリビアリティ閾値を満たすと閾値チェッカ２０５が判定する前に、流動的進捗バー生成器１１５は、進捗バーにおける進行を表示する方法を判定できる。流動的進捗バー生成器１１５の過小報告器２１５は、タスクの完了状況を示す進捗値を描画エンジン１３５から受信し、且つタスクの実際の進捗状況を過小報告する完了状況インジケータを描画エンジン１３５に表示させることができる。いくつかの実施形態において、過小報告器２１５は、進捗値を受信すると目下のタスクに対する推定完了時間を判定する（例えば、ルックアップテーブルを使用して）。推定完了時間は、タスクを完了するのに必要な時間の長さの過大評価値であってもよい。従って、進捗バーにより示された完了状況インジケータは、タスクの実際の進捗より低速な進行を示す（例えば、より小さな増分値で増分することにより）。
【００７４】
いくつかの実施形態における進行円滑化モジュール２２０は、推定完了時間を使用して線形方程式を構成する。進行円滑化モジュール２２０は、タスクの完了状況インジケータが進捗バーにおいて増分すべき次の場所を判定するために構成された線形方程式を使用できる。次の場所を判定すると、進行円滑化モジュール２２０により、描画エンジン１３５は、進捗バーにおける完了状況インジケータを使用してタスクの増分の進捗を表示する。いくつかの実施形態において、進行円滑化モジュール２２０は、描画エンジン１３５及び構成された線形方程式から進捗値に基づいて完了状況インジケータを増分する次の場所を判定し続けることができる。進行円滑化モジュール２２０により、描画エンジンは、トリビアリティ閾値を満たすと閾値チェッカ２０５が判定し且つロケット効果作成器２２５により描画エンジン１３５が「ロケット効果」を表示するまで、進捗バーにおけるタスクの完了状況インジケータの円滑な進行を表示し続けることができる。
【００７５】
図３は、いくつかの実施形態に係る進捗バーに「ロケット効果」を表示する時を判定する処理３００を概念的に示す。説明するように、いくつかの実施形態における描画エンジン１３５は、トリビアリティ閾値を満たすと判定すると「ロケット効果」等の視覚的な合図を描画する。処理３００のうちの一部又は全て（あるいは本明細書において説明する他のあらゆる処理、あるいはその変形及び／又は組合せ）は、ハードウェア又はその組合せにより、実行可能な命令により構成された１つ以上のコンピュータシステムの制御下で実行されてもよく、１つ以上のプロセッサ上で総合的に実行するコード（例えば、実行可能な命令、１つ以上のコンピュータプログラム又は１つ以上のアプリケーション）として実現されてもよい。コードは、例えばブラウザアプリケーション等の処理装置により実行されるコンピュータプログラムの形式でコンピュータ可読記憶媒体上に格納されてもよい。コンピュータ可読記憶媒体は非一時的であってもよい。
【００７６】
ブロック３０２において、処理３００は、例えば特定のウェブページをロードするタスクを実行する要求を受信する。例えばブラウザアプリケーションは、ユーザがウェブページに対するＵＲＬを入力するかあるいはページに組み込まれたハイパーリンクを起動すると要求を受信する。ブロック３０４において、処理３００は、実行されているタスクに対する進捗バーを表示する。進捗バーは、進捗バーにおいてタスクの進捗状況を示す完了状況インジケータを表示でき、ユーザが実行中のタスクの状況を視覚化できるようにする。
【００７７】
ブロック３０６において、処理３００はタスクに対するトリビアリティ閾値を決定する。いくつかの実施形態におけるトリビアリティ閾値は、ユーザ又は管理者により事前設定された静的な閾値である。例えば静的な閾値は、完了したタスクの割合である。また、ウェブページをロードする例において、トリビアリティ閾値は、ウェブページ上に描画された要素の総面積の割合としてもよい。いくつかの実施形態において、トリビアリティ閾値は、計測値の集合を使用して動的に決定可能である。例えばいくつかの実施形態では、ロードされるウェブページの種類、並びにユーザに対して「視覚的に完了した」と仮定されるページに対するウェブページの種類に基づいてロードされる必要のあるページにおけるオブジェクトの量及び／又は種類を判定することにより、トリビアリティ閾値を決定できる（例えば、ルックアップテーブルを使用して）。
【００７８】
ブロック３０８において、処理３００はタスクに対する進捗値を受信する。ウェブページのロード処理中、いくつかの実施形態における描画エンジンは、ロードされたページの割合の合計を示す進捗値をブラウザアプリケーションに周期的に送出できる。ブロック３１０において、処理３００はトリビアリティ閾値に到達したかを判定する。いくつかの実施形態におけるブラウザアプリケーションは、進捗値を使用してトリビアリティ閾値を満たすかを判定できる。
【００７９】
処理３００は、トリビアリティ閾値に達すると判定する場合にブロック３１６でロケット効果を進捗バーに表示する。処理３００は、ロケット効果を表示すると終了する。一方、処理３００は、トリビアリティ閾値に到達しないと判定する場合、ブロック３１２で進捗値に基づいて進捗バーにタスクの完了状況インジケータの進行を表示する。タスクに対する完了状況インジケータの進行を表示するために、いくつかの実施形態におけるウェブブラウザは、進捗値を使用して完了状況インジケータを増分する次の場所を判定する。
【００８０】
ブロック３１４において、処理３００は、新しい進捗値が受信されているかを判定できる。処理３００は、新しい進捗値が受信されていると判定する場合、ブロック３１０に戻り、閾値に到達するかを判定する。処理３００は、新しい進捗値が受信されていないと判定する場合、ブロック３１２に戻り、タスクの完了状況インジケータの進行を進捗バーに表示し続ける。従って、ブラウザアプリケーションは、進捗バーにおける完了状況インジケータを増分する次の場所の算出を再開する。
【００８１】
いくつかの実施形態において、閾値を満たすと判定すると、ブラウザアプリケーションは、視覚的な合図又はアニメーションの種類を表示して、タスクが「実質的に完了した」こと又はウェブページが「ユーザに対して視覚的に完了した」ことをユーザに示すことができる。図４は、ロケットアニメーションを表示するいくつかの実施形態の処理４００の一例を示す。処理４００がいくつかの実施形態において処理３００のブロック３１６で実行可能であることは、当業者には理解されるだろう。
【００８２】
ブロック４０２において、処理４００は、閾値を満たす場合に示すアニメーションの種類を識別する。閾値を満たすと判定することに応答して、ブラウザアプリケーションは、視覚的な合図としてユーザに示すアニメーションの種類を識別する。いくつかの実施形態において、アニメーションの種類は、ユーザが設定可能であるか、あるいはデフォルト設定としてシステム管理者により事前設定可能である。アニメーションの種類は、一実施形態において進捗バーにおける現在位置から別の位置への進捗バーにおける完了状況インジケータの１つ以上の加速進行を含むことができる。いくつかの実施形態において、アニメーションの種類は、進捗バーにおける完了状況インジケータが進捗バーの一端に加速する「ロケット効果」又は「ロケットアニメーション」を含むことができる。ブロック４０４において、処理４００は、識別されたアニメーションの種類を進捗バーに表示する。
【００８３】
いくつかの実施形態において、閾値を満たす前に、ブラウザアプリケーションは、タスクの実際の状況を過小報告する、タスクに対する完了状況インジケータを表示する進捗バーを提供できる。いくつかの実施形態は、進捗バーにおける実行中のタスクの完了状況を過小報告し、完了状況における誤算に起因して進捗バーの端部で完了状況インジケータが停滞されることを回避する。図５は、タスクに対して過小報告された進捗状況インジケータを進捗バーに表示するいくつかの実施形態の処理５００の一例を示す。処理５００がいくつかの実施形態において処理３００のブロック３１２で実行可能であることは、当業者には理解されるだろう。ブロック５０２において、処理５００はタスクに対する進捗値を受信する。いくつかの実施形態において、ブラウザアプリケーションは、図１の描画エンジン１３５等の描画エンジンから進捗値を周期的に受信する。
【００８４】
ブロック５０４において、処理５００は、ブロック５０２で受信した進捗値より小さい別の進捗値を、受信した進捗値に基づいて決定する。いくつかの実施形態において、ブラウザアプリケーションは、描画エンジンからタスクに対する進捗値を受信し、且つタスクが完了するまで推定時間を決定する（例えば、ルックアップテーブルを介して）。いくつかの実施形態におけるブラウザアプリケーションは、推定完了時間に基づいて線形方程式を構成する。ブラウザアプリケーションは、線形方程式を使用して、進捗バーにおける完了状況インジケータが期間の後にアニメーション化すべき次の場所を決定する。期間は、ユーザにより事前設定可能であるか、あるいは管理者により予め選択可能である。
【００８５】
ブロック５０６において、処理５００は、タスクの実際の完了状況を過小報告する上記別の値に基づいてタスクに対する完了状況インジケータを進捗バーに表示する。いくつかの実施形態におけるブラウザアプリケーションは増分された進捗バーを表示し、タスクの完了状況インジケータはブロック５０４で線形方程式から算出された別の進捗値を示す。
【００８６】
図６は、タスクに対する完了状況インジケータの進行を進捗バーに表示するいくつかの実施形態の処理６００の一例を示す。処理６００がいくつかの実施形態において処理３００のブロック３１２で実行可能であることは、当業者には理解されるだろう。処理６００は、例えばブラウザアプリケーションにおいて実行可能である。いくつかの実施形態において、ブラウザアプリケーションは、ユーザが進捗バーに沿ってタスクの完了状況（例えば、完了状況インジケータを介する）及び状況進行を視覚化できるようにする進捗バーを提供する。いくつかの実施形態は、タスクの完了まで時間推定値を使用して構成された線形方程式を使用して円滑な進行を生成する。同時に、いくつかの実施形態におけるウェブブラウザは、タスクの実際の状況を過小報告するタスクに対する完了状況インジケータの進行を表示する。
【００８７】
ブロック６０２において、処理６００は、例えばウェブページをロードするタスクに対する進捗値を受信する。ウェブページをロードするユーザ要求を受信することに応答して、いくつかの実施形態におけるブラウザアプリケーションは、図１の描画エンジン１３５等の描画エンジンから進捗値を受信する。いくつかの実施形態において、進捗値は、現在の時間においてロードされているウェブページの割合の合計を示す。
【００８８】
ブロック６０４において、処理６００は、ブロック６０２で受信した進捗値に基づいて推定ロード時間を判定する。いくつかの実施形態におけるブラウザアプリケーションは、既にロードされているウェブページの割合に少なくとも基づいて、残りのウェブページをロードするのに必要な時間の長さ及びその量をロードするのにかかる時間の長さを判定する。いくつかの実施形態において、ブラウザアプリケーションは、ルックアップテーブルを使用して残りのウェブページをロードするのに必要な時間の長さを判定する。いくつかの実施形態におけるブラウザアプリケーションは、ルックアップテーブルにおいて進捗値を推定時間にマッピングできる。ルックアップテーブルは、ユーザ又はシステム管理者により設定可能である。
【００８９】
いくつかの実施形態において、システム管理者は、推定されたものがより正確になるようにルックアップテーブルを構成及び微調整できる。いくつかの実施形態におけるブラウザアプリケーションは、推定ロード時間を算出するために、ロードされているウェブページの種類等のタスクに対する進捗値に加えて他の属性を使用できる。更にいくつかの実施形態において、ブラウザアプリケーションは、場合によっては残りのウェブページをロードするのにかかると考えられる時間の長さを過大評価するような方法で推定ロード時間を判定できる。ウェブページのロードを完了する間のより長い持続期間を推定することにより、いくつかの実施形態におけるブラウザアプリケーションは、タスクに対する実際の状況を過小報告させるように、より小さな増分値で進捗バーにおける完了状況インジケータを増分できる。
【００９０】
ブロック６０６において、処理６００は、ブロック６０４から判定された推定ロード時間を使用して線形方程式を構成する。一次関数Ｆ（ｔ）により、ブラウザアプリケーションは、完了状況インジケータが時間に基づいて増分されるべき進捗バー内の場所を判定する。いくつかの実施形態において、一次関数Ｆ（ｔ）は、ページのロードの開始からの時間を引数として利用し、且つ進捗バーにおける完了状況インジケータが時間ｔにおいてあるべき位置を示すＸ位置を含む値を返送する。
【００９１】
ブラウザアプリケーションは、一次関数Ｆ（ｔ）を構成するために２つの既知の点を使用する。一例において、領域はロードの開始から経過した時間の長さであり、範囲は流動的進捗バーに沿う場所Ｘである。当業者は、以下の式を使用して２つの識別された点の間の線形進行を判定できる。
Ｆ（ｔ）＝ｍｔ＋ｂ
【００９２】
この例において、現在の情報を含むように第１の点を設定できる。すなわちＴ１＝ロードの開始から経過した時間であり、Ｘ１＝現在のＸ位置（場所フィールドの幅の分数として示された）である。次に、完了状況があるべき場所、タスクが完了した時を含むように第２の点を判定できる。すなわちＴ２＝推定ロード時間であり、Ｘ２＝１（１００％の場所フィールドの幅又は流動的な進捗の最終目的地を示す）である。
【００９３】
次に線形方程式Ｆ（ｔ）は、
【数１】
0005993324.tif 000002
の場合に算出可能である。
【数２】
0005993324.tif 000003
【００９４】
例えば、場所フィールドが１０００画素の幅を有し、且つページのロードが完了するのに１０秒かかるとブラウザアプリケーションが判定する場合、並びに３秒が既に経過して現在の場所が３００であることを示す場合、Ｔ１＝３、Ｘ１＝３００／１０００＝．３、Ｔ２＝１０、Ｘ２＝１０００／１０００＝１であることにより、関数Ｆ（ｔ）＝．１ｔとなる。いくつかの実施形態において、新しい進捗値を受信する度に時間推定値が変化するため、関数は、ブラウザアプリケーションが描画エンジンから新しい進捗値を受信する度に再計算される。
【００９５】
ブロック６０８において、処理６００は、ブロック６０６で構成された線形方程式を使用して次の場所を算出する。いくつかの実施形態において、ブラウザアプリケーションは、ユーザ又は管理者により設定された時間間隔毎、例えば２００ｍｓ毎又は２５０ｍｓ毎に増分するように設定される。ウェブブラウザが２００ｍｓ毎に単一のアニメーションをアニメーション化するように設定される場合、進捗バーにおける完了状況インジケータに対する次の場所は、Ｆ（３Ｓ＋．２Ｓ）＝．１（３．２）＝．３２、すなわち３２０画素、を解くことで判定可能である。ブロック６１０において、処理６００は、ブロック６０８で算出された次の場所にアニメーション化する。いくつかの実施形態において、ブラウザアプリケーションは、２００ｍｓ内で場所Ｘ＝３００からＸ＝３２０に流動的進捗バーにおける完了状況インジケータをアニメーション化する。
【００９６】
その後、処理６００は終了する。処理６００が図３のブロック３１２で実行される実施形態において、処理６００が終了した後、処理３００はブロック３１４に進み、新しい進捗値が受信されているかを判定する。新しい進捗値が受信されていない場合、処理３００はブロック３１２に戻り、処理６００は、進捗バー内の次の場所に対して進捗バーインジケータを算出及びアニメーション化するように再度実行可能である。
【００９７】
図７は、本発明のいくつかの実施形態に係る進捗バーにおけるタスクに対する完了状況インジケータの進行７００の一例を示す。説明するように、いくつかの実施形態におけるブラウザアプリケーションは、「ロケット効果」を引き起こす閾値を判定する。閾値を満たすと判定することに応答して（例えば、タスクの閾値達成率が完了していることを進捗値が示す場合）、ブラウザアプリケーションは、閾値を満たしていることをユーザに警告する視覚的な合図を表示できる。ある例において、視覚的な合図は、進捗バーにおける完了状況インジケータの進行が進捗バーの端部に動的に加速する「ロケット効果」である。説明するように、多くの場合、ウェブページがロードに関して「視覚的に完了した」とユーザが仮定できるロードの割合又は時点において閾値を設定できる。
【００９８】
図７において、ユーザは、ウェブページをロードするようにブラウザアプリケーションに要求している。ユーザ要求を受信すると（例えば、ユーザがウェブブラウザのアドレスフィールドにｗｗｗ．ｕｒｌ．ｃｏｍをタイプする場合）、いくつかの実施形態におけるブラウザアプリケーションは、ウェブページのロードに対する状況インジケータを示すことができる進捗バーを含むＧＵＩを表示できる。ｔ＝Ｔ０において示されるように、進捗バーは、ウェブページのものはこれまで何もロードされていないことを示す。タスクに対する完了状況インジケータは、この時間において０％を反映する。ｔ＝Ｔ０＋ｘにおいて、進捗バーにおいて示されたようなタスクの完了状況インジケータは、進捗バーの約２０％まで増加している。説明するように、いくつかの実施形態におけるブラウザアプリケーションは、進捗バーにおいて過小報告されたタスクの状況を表示する。これにより、進捗バーにおける完了状況インジケータの進行における休止に対する確率を計算に入れること及び最小限にできる。いくつかの実施形態において、ブラウザアプリケーションは、ウェブページをロードする際のユーザ要求を受信することに応答して初期の増加を表示する。例えば進捗バーにおける状況は、ウェブページの１０％又はウェブページのいずれが既にロードされているかに関係なく、ユーザの要求で１０％の増加を表示できる。これにより、進捗バーは、ユーザ対話に対してより応答性に優れ、改善されたユーザ体験を提供する。
【００９９】
いくつかの実施形態において、ブラウザアプリケーションは、進捗バーにおける状況インジケータを増分する次の場所を算出し、且つ進行をアニメーション化する（例えば、図６の処理６００を使用して）。ｔ＝Ｔ０＋２ｘにおいて、完了状況は、進捗バーの約１５％まで増加している。ｔ＝Ｔ０＋３ｘにおいて、完了状況は、進捗バーの約４０％まで増加している。いくつかの実施形態において、進捗バーは、タスクの完了状況インジケータにおける円滑な増加を表示する。ウェブページがロードされているレートは、例えば転送速度、ブラウザアプリケーションが実行しているコンピューティングデバイスの帯域幅、情報が検索されなければならないサーバ等の種々の要因に依存して変動しうる。ブラウザアプリケーションは、更なる進捗値を受信する時、ウェブページがロードされている異なるレートを判定し、且つ新しい進捗値の各受信の中間の一定の増加を表示する（例えば、新しい場所の各々を算出するために一次関数を使用して）。
【０１００】
ｔ＝Ｔ０＋４ｘ＝Ｔｔｈｒｅｓｈ（トリビアリティ閾値を満たす時間）においてトリビアリティ閾値に到達すると、図７に示されたような完了状況インジケータにおける進行は、タスクが実際に完了したかどうかに関係なく、進捗バーの端部に向かって加速し、ウェブページをロードするタスクの完了を伝達する。このような完了状況インジケータの進行における加速は、ウェブページがこの瞬間に「視覚的に完了した」ことをユーザに示す視覚的な合図となる。ｔ＝Ｔ０＋５ｘにおいて、進捗バーはタスクの完了を示す。いくつかの実施形態において、ブラウザアプリケーションは、閾値に到達したと判定する時、タスクが完了していることを進捗バーが即座に示すレートに進行を加速してよい。種々の実施形態は、異なる方法で視覚的な合図をユーザに対して表示してもよい。例えばいくつかの実施形態は、単一の加速進行ではなく加速の多数の噴出を進捗バーの端部までずっと表示することで視覚的な合図を表示できる。
【０１０１】
図８は、パラメータの集合に基づいてタスクが完了するまでブラウザアプリケーションが時間推定値を取得できるようにするいくつかの実施形態の時間推定表８００の一例を示す。この例において、時間推定表８００は、ブラウザアプリケーションが図１の描画エンジン１３５等の描画エンジンから受信する種々の進捗値８０５に対する時間推定値８１０を提供する。この例では、ブラウザアプリケーションは、単一のパラメータ（すなわち、進捗値）を使用して時間推定値を判定するが、いくつかの実施形態においては、時間推定表８００には含まれない多数のパラメータを使用して時間推定値を判定する。
【０１０２】
この例において示されるように、０％〜３５％の進捗値に対してタスクが完了するまでの推定時間は３０秒である。いくつかの実施形態は、進捗値に対して推定時間を提供できる一方で、進捗値に対して進捗バーにおける場所を提供できる。いくつかの実施形態において、時間推定表８００は、ブラウザアプリケーションにアクセス可能なデータ記憶装置にリモートで又はローカルで格納可能である。時間推定表８００は、いくつかの実施形態において適切なリスト形式で（例えば、拡張マークアップ言語（ＸＭＬ）ファイルとして）電子コンピューティングデバイスのファイルシステムに更に格納可能である。
【０１０３】
進捗値を受信することに応答して、ブラウザアプリケーションは、進捗値に基づいて時間推定表８００から推定ページロード時間を検索する。次にブラウザアプリケーションは、一次関数を構成し、且つ一次関数に基づいて進捗バーにおける完了状況インジケータを増分するために推定時間を使用する。ブラウザアプリケーションは、別の進捗値を受信するまで、構成された一次関数に基づいて進捗バーにおける完了状況インジケータを継続的に増分する。別の進捗地の受信に応答して、ブラウザアプリケーションは、新しい進捗値に基づいて新しい一次関数を構成し、且つ新しい一次関数に基づいて進捗バーにおける完了状況インジケータを増分する。
【０１０４】
いくつかの実施形態において、推定ロード時間は、タスクを完了するのに必要な時間の長さを過大評価しうる。従って、進捗バーがタスクの実際の完了状況を実質的に過小報告するために、過大評価時間に基づいて構成された一次関数により、進捗バーにおける完了状況インジケータはより小さな増分値で増分される。また、いくつかの実施形態におけるブラウザアプリケーションは、報告された状況を増分する進捗バーにおける新しい場所を判定するために静的なマッピング及び一次関数の集合を使用するが、いくつかの実施形態では、タスクの状況を過小報告する働きもする他の属性を使用して新しい場所を判定する。
【０１０５】
図９は、いくつかの実施形態に係るタスクの実際の状況を過小報告しつつ円滑に更新する進捗バーのシーケンス９００の一例を示す。いくつかの実施形態において、ブラウザアプリケーションは、「鈍重」に見えるのではなくユーザに対して「円滑」又は「流動的」に見える方法でタスクに対する完了状況インジケータを更新する流動的進捗バーを表示する。進捗バーに表示された状況インジケータの進行がより小さな増分を行う結果、タスクの実際の状況進行を過小報告するため、ブラウザアプリケーションは、タスクを完了するのに必要な時間の長さを過大評価する。
【０１０６】
説明するように、ブラウザアプリケーションは、描画エンジンから進捗値を受信し、推定ページロード時間を算出し（例えば、図８の時間推定表８００を使用して進捗値を推定時間にマッピングすることにより）、推定ページロード時間を使用して一次関数を構成し、且つ進捗バーにおける新しい場所を判定して時間間隔に対する進捗状況インジケータの増分を行うことができる。次に、いくつかの実施形態におけるブラウザアプリケーションは、タスクの進行を新しい場所にアニメーション化できる。新しい場所を判定して増分するための短い時間間隔（例えば、２００ｍｓ、２５０ｍｓ）を指定することにより、進捗バーにおける完了状況インジケータの進行がユーザに対して円滑に見えるようにできる。
【０１０７】
図９において、ブラウザアプリケーションは、特定のウェブページに対するユーザ要求を受信した後短い期間内に（例えば、５ミリ秒、５０ミリ秒、３秒、１０秒後）、描画エンジンから４０％の進捗値を受信する。進捗値を受信した後、いくつかの実施形態におけるブラウザアプリケーションは、図８の時間推定表８００を使用してページのロードが完了する時間推定値を判定する。時間推定表８００を使用して、ウェブページがロードを完了するまでの推定時間は１０秒である。
【０１０８】
ここでも、処理６００のブロック６０６で説明したように、ブラウザアプリケーションは、２つの既知の点を使用して一次関数を構成できる。進捗バーの場所フィールドが１０００画素の幅を有し、且つブラウザアプリケーション（例えば、描画エンジン）がロードを完了するのに１０秒かかると推定する場合、ブラウザアプリケーションは、３秒が経過し且つ現在の場所がＸ＝３００であると判定すると一次関数Ｆ（ｔ）を構成できる。そのような例において、ブラウザアプリケーションは、進捗バーにおける進行が推定時間（すなわち、１０秒）内に完了できるような方法で一次関数Ｆ（ｔ）を構成できる。以下の式を使用すると、
【数３】
0005993324.tif 000004
この例において、
【数４】
0005993324.tif 000005
である。
【０１０９】
この場合、状況を現在位置から次の位置にアニメーション化するのにかかる時間が２００ｍｓに設定される場合、Ｆ（ｔ）＝Ｆ（３＋．２）＝．３２画素、すなわち約３２０画素である。説明するように、現在位置に対する状況を新しい位置にアニメーション化するのにかかる時間は、いくつかの実施形態においてユーザ又は管理者により設定可能である。更にブラウザアプリケーションは、新しい進捗値を受信するまで進捗バーにおける状況を更新し続ける。従って、ｔ＝３．４において、新しい進捗値が受信されていない場合、ブラウザアプリケーションは、前に構成された線形方程式を使用して別の新しい場所を判定する。Ｆ（ｔ）＝．１ｔを使用すると、進捗バーのＦ（３．４）＝．３４、すなわち１０００画素の幅を有する進捗における３４０画素である。ブラウザアプリケーションは、新しい進捗値が最終的に受信されるまで線形に一次関数を使用して進捗バーにおける完了状況インジケータを継続的に更新できる。短時間間隔（例えば、２００ミリ秒）内で状況を更新することにより、進捗バーにおける完了状況インジケータの進行は、ユーザに対して円滑に見えるようにできる。
【０１１０】
その後、新しい進捗値の６０％がｔ＝３．４ｓにおいて受信される。ページのロードが完了するまでの新しい時間推定値は、図８の表８００によると５秒である。ブラウザアプリケーションは、２つの新しい点及びＦ（ｔ）＝ｍｔ＋ｂを使用して新しい一次関数を再構成する。当業者は、２つの既知の点を識別すると一次関数を判定できる。従って、この例において、
【数５】
0005993324.tif 000006
である。新たに構成された一次関数を使用して、次にブラウザアプリケーションは、各時間間隔の後に完了状況インジケータを増分（アニメーション化）する新しい端点を判定できる。ここでも、時間間隔が２００ｍｓである場合、ｔ＝３．６においてＦ（３．６）＝．３７、すなわち３７０画素である。別の２００ｍｓの後、完了状況インジケータは、Ｆ（３．８）＝．３９、すなわち３９０画素等になるように算出される。
【０１１１】
いくつかの実施形態において、新しいウェブページをロードするユーザ要求を受信することに応答して、ブラウザアプリケーションは、タスクに対する実際の状況に関係なく、完了状況インジケータを増加できる（例えば、進捗バーの１０％又は２０％まで）。この機能を含むことにより、進捗バーは、ユーザ対話に対してより応答性に優れる。
【０１１２】
いくつかの実施形態におけるブラウザアプリケーションは、機能の状況が変化する場合（例えば、機能が有効にされる場合）にＧＵＩ上でＵＩ要素を視覚的に変更するかあるいは視覚効果を表示できる。例えばブラウザアプリケーションは、特定のＵＩ要素（機能を示す）の色を変更することで特定のＵＩ要素が表示されるような方法で変化を表示できる。別の例において、ブラウザアプリケーションは、状況変化を示すＧＵＩ上の機能を示すＵＩ要素の外観を表示できる。機能の状況が変更される更なる可視性を提供するために、ある実施形態は、同時に又は上述の「ロケット効果」の直後にＵＩ要素を視覚的に変更できる。例えばいくつかの実施形態は、ロケット効果のアニメーション（すなわち、進捗状況インジケータが現在位置から進捗バーの端部に進む）がユーザの注意を変更されたＵＩ要素又は視覚効果に向けるように、ＵＩ要素を変更する（例えば、外観を提示するかあるいはＵＩ要素を強調表示する）か、あるいは「ロケット効果」の完了に続いて進捗バーの一端に隣接する視覚効果を提供する。
【０１１３】
図１０は、いくつかの実施形態に係る機能に対する状況変化に応答して視覚効果を表示するようにブラウザアプリケーションに信号で知らせることのできる機能イネーブラ１２５（例えば、図１の機能有効化サブシステム１２５）のより詳細なダイアグラム１０００の一例を示す。いくつかの実施形態において、機能有効化サブシステム１２５は、「ロケット効果」がトリガされる時（すなわち、トリビアリティ閾値を満たす時）を判定するロケット効果追跡器１００５と、機能に対する状況が変化したかを判定する機能状況追跡器１０１０と、機能を示すＵＩ要素を視覚的に変更して状況の変化を伝達するかを判定する有効判定器１０１５とを備えることができる。
【０１１４】
図１０において、ロケット効果追跡器１００５は、トリビアリティ閾値を満たすか、すなわちトリガされた「ロケット効果」を示す図１のロケット効果生成器１２０から信号を受信できる。いくつかの実施形態において、閾値を満たすことを示す信号を受信すると、ロケット効果追跡器１００５が信号を有効判定器１０１５に送出することにより、有効判定器１０１５は、ＵＩ要素を視覚的に変更するかを判定できる。
【０１１５】
いくつかの実施形態において、閾値を満たすことを示すロケット効果追跡器１００５から信号を受信することに応答して、有効判定器１０１５は、要求を機能状況追跡器１０１０に送出して機能の状況が変更されるかを判定できる。機能の状況が変更されていると判定される場合、有効判定器１０１５は、要求を描画エンジン１３５に送出してＵＩ要素を視覚的に変更できる。
【０１１６】
いくつかの実施形態において、機能状況追跡器１０１０は、トリビアリティ閾値を満たす前に機能の状況が変更されていると判定できる。いくつかの実施形態における機能状況追跡器１０１０は、機能が有効にされることを示す信号を有効判定器１０１５に送出できる。次に有効判定器１０１５は、ロケット効果追跡器１００５からトリビアリティ閾値を満たしていることを示す信号を受信すると、信号を描画エンジン１３５に送出してＵＩ要素を視覚的に変更できる。
【０１１７】
いくつかの実施形態において、描画エンジン１３５は、「ロケット効果」の直後に（すなわち、閾値を満たしていると判定される場合に完了状況インジケータが現在位置から進捗バーの一端に到着する時）ＵＩ要素を視覚的に変更できる。「ロケット効果」に続いてＵＩ要素を変更することにより、ユーザの注意を変更されたＵＩ要素に向けることができる。いくつかの実施形態は、「ロケット効果」（すなわち、進捗バーにおける加速進捗状況インジケータのアニメーション）と同時に視覚的な合図を表示する。
【０１１８】
図１１は、トリビアリティ閾値を満たす場合に有効にされている機能に応答してＵＩ要素を視覚的に変更するいくつかの実施形態の処理１１００の一例を示す。説明するように、いくつかの実施形態において、図１の機能イネーブラ１２５が閾値を満たす場合に機能の状況が変更される（例えば、機能が有効にされる準備ができている）かを判定することにより、描画エンジン１３５は、機能の状況を示すＵＩ要素の視覚状態の変化を表示できる。いくつかの実施形態においてブロック３１０で閾値を満たしていることを処理３００が判定した後に処理１１００を実行できることは、当業者には理解されるだろう。
【０１１９】
ブロック１１０２において、ブラウザアプリケーションは、トリビアリティ閾値に到達しているという表示を受信する。ブロック１１０４において、ブラウザアプリケーションは、機能の状況が変更されるか又は機能が有効にされるかを判定する。いくつかの実施形態は、機能が有効にされる場合にそれを描画することを担うモジュールを問い合わせることにより、機能状況が変更されるか又は機能が有効にされるかを判定できる。いくつかの実施形態において、ブラウザアプリケーションは、機能が非機能的から機能的になる場合に機能状況が変更されると判定できる。例えば、読み手が異なる方法でウェブページを閲覧できるようにする機能は、異なるビューが読み込まれ且つ閲覧の準備ができた場合に変更又は有効にされる。
【０１２０】
ブラウザアプリケーションは、機能状況が変更されると判定する場合、ブロック１１０６で「ロケット効果」の表示後に機能状況を示すＵＩ要素の状態を視覚的に変更できる。機能が有効にされないとウェブブラウザが判定する場合、処理１１００は終了する。いくつかの実施形態において、処理１１００が終了した後、ブラウザアプリケーションは、ＵＩ要素を視覚的に変更せずに「ロケット効果」を表示する。
【０１２１】
図１２は、いくつかの実施形態に従って、進捗バー１２０５におけるタスクに対する完了状況インジケータの進行１２００の一例及び機能を示すＵＩ要素１２１０を視覚的に変更する一例を示す。ｔ＝Ｔ０において、進捗バー１２０５は、タスクに対する０％の完了状況を示す完了状況インジケータを表示する。機能に対する状況を示すＵＩ要素１２１０は、図１２に示されるように点線で示され、機能が現在無効にされていることを示す。ｔ＝Ｔ１において、完了状況インジケータは、タスクの状況が約２０％完了したことを示す。説明するように、いくつかの実施形態において、進捗バー１２０５に表示された完了状況インジケータは、過小報告されたタスクの状況でありうる。ＵＩ要素１２１０は、この段階で無効にされたままである。
【０１２２】
ｔ＝Ｔｔｈｒｅｓｈにおいて、完了状況インジケータの進行は、進捗バーの一端に向けて加速してタスクの完了を示す。いくつかの実施形態において、ブラウザアプリケーションは、閾値を満たす場合に機能が有効にされるかを判定できる。この例において、機能は、閾値を満たす場合に有効にされる準備ができている。完了状況インジケータが進捗バーの端部に到達する前、ＵＩ要素１２１０はこの例において無効にされたままである。
【０１２３】
いくつかの実施形態において、ＵＩ要素１２１０は、閾値を満たすとブラウザアプリケーションが判定する場合に有効にされる。この例において、機能に対する状況変化（ＵＩ要素１２１０により示された）を示す視覚的な合図は、完了状況インジケータの進行が進捗バーの端部に到達する場合に有効にされる。完了状況インジケータの進行が進捗バーの端部に到達する時にＵＩ要素１２１０の視覚状態を変更することにより、ユーザの注意をＵＩ要素１２１０に向けることができる。
【０１２４】
図１３は、いくつかの実施形態に従って、二次的な進捗生成器１３０及び進捗バーにおけるタスクの状況に加えて二次的な進捗インジケータを描画する描画エンジン１３５の更に詳細なダイアグラム１３００の一例を示す。いくつかの実施形態において、ブラウザアプリケーションは、タスクに対する完了状況インジケータと共に二次的な進捗インジケータを表示する進捗バーを提供できる。二次的な進捗インジケータは、タスクが現在実行されている速度を含むタスクに関する更なる情報を伝達できる。二次的な進捗生成器１３０は、タスクが実行されている現在の速度及び判定された速度に対応するアニメーションの種類を判定でき、描画エンジン１３５は、判定された速度に対応するアニメーションの種類を表示できる。
【０１２５】
いくつかの実施形態において、二次的な進捗生成器は、タスクが実行されている現在の速度を判定する速度判定器１３０５と、速度と関連付けられたアニメーションの種類を決定するトランスレータ１３１０とを備えることができる。タスクが実行されている現在の速度（例えば、ダウンロード速度、転送速度）を速度判定器１３０５が判定すると、現在の速度をトランスレータ１３１０に送出する。次にトランスレータ１３１０は、現在の速度と関連付けられたアニメーションの種類を決定する。次に二次的な進捗生成器１３０は、ユーザに対して表示するためにアニメーションの種類を描画エンジン１３５に送出する。
【０１２６】
図１４は、進捗バーにおけるタスクに対する完了状況インジケータと共に二次的な進捗インジケータを表示するいくつかの実施形態の処理１４００の一例を示す。いくつかの実施形態において、二次的な進捗インジケータは、タスクが実行されている現在の速度等の、現在のタスクに関する更なる情報を伝達する。ブロック１４０２において、処理１４００は、実行されているタスクに対する進捗バーを表示する。ブラウザアプリケーションは、いくつかの実施形態においてロードするウェブページに対する進捗バーを表示できる。ブロック１４０４において、処理１４００はタスクに対する進捗値を受信する。説明するように、ブラウザアプリケーションは、いくつかの実施形態において描画エンジンからウェブページをロードする進捗値を受信できる。
【０１２７】
ブロック１４０６において、ブラウザアプリケーションは、進捗値に基づいて進捗バーにタスクに対する完了状況インジケータを表示する。上述したように、いくつかの実施形態において、進捗バーに表示された完了状況インジケータは、タスクの完了状況を過小報告してよい。ブロック１４０８において、処理１４００は、タスクが実行されている速度を判定する。いくつかの実施形態において、ブラウザアプリケーション（例えば、図１３の速度判定器１３０５）は、ネットワーク接続、転送速度、ウェブサーバの場所、ウェブページに対してロードされるオブジェクトの数及びサイズ等に少なくとも部分的に基づいて、ページが特定の瞬間にロードしている速度を判定する。
【０１２８】
ブロック１４１０において、処理１４００は、ブロック１４０８で判定された速度を示すために使用されるアニメーションの種類を決定する。いくつかの実施形態において、ブラウザアプリケーション（例えば、図１３のトランスレータ１３１０）は、判定された速度がより高い場合にホイールがより高速に回転する回転ホイールアニメーション、進捗バーに表示された波が高周波数である周波数アニメーション等を含む種々のアニメーションのリストからアニメーションの種類を判定できる。いくつかの実施形態において、ユーザは、速度を示すために使用される種々のアニメーションを選択できる。
【０１２９】
ブロック１４１２において、処理１４００は、判定された速度と関連付けられたアニメーションの種類に対するアニメーションを判定する。いくつかの実施形態において、ブラウザアプリケーション（例えば、トランスレータ１３１０）は、判定された速度をアニメーションの種類のうちの対応するアニメーションにマッピングできる。例えばブラウザアプリケーションは、ルックアップテーブルを使用してレベル３の速度が中間周波数である波アニメーションに対応すると判定できる。ブロック１４１４において、処理１４００は、完了状況インジケータと並行して関連するアニメーションを進捗バーに表示できる。いくつかの実施形態において、ブラウザアプリケーションにより、図１の描画エンジン１３５は、進捗バーにおける完了状況インジケータの進行と共に関連するアニメーションを同時に表示できる。
【０１３０】
図１５は、いくつかの実施形態に係る進捗バーにおけるタスクに対する完了状況インジケータと共に二次的な進捗インジケータを表示する進行１５００の別の例を示す。いくつかの実施形態において、ブラウザアプリケーションは、多数のインジケータを進捗バーに表示して種々の情報をユーザに伝達できる。図１５に示されるように、ｔ＝Ｔ１において、進捗バーは、完了状況インジケータの密度で示された二次的な進捗表示と共に、進捗バーの約１／４となるように完了状況インジケータを表示する。この場合、完了状況インジケータの密度はかなり低く（点がまばらに間隔をおいて配置されるため）、タスクが実行されている速度がかなり低いことを示す。
【０１３１】
ｔ＝Ｔ２において、進捗バーは、高い密度の二次的な進捗表示と共に、進捗バーの約１／３となるように完了状況インジケータを表示する。ｔ＝Ｔ３において、進捗バーは、中間密度の二次的な進捗表示と共に、進捗バーの約１／２となるように完了状況インジケータを表示する。低下した密度は、タスクが実行されている速度がｔ＝Ｔ２から減少していることを示す。いくつかの実施形態において、テキストデータを用いて、密度の表示に伴ってタスクが実行されている正確な速度を伝達する。いくつかの例において、二次的な進捗インジケータは、ユーザのカーソルが進捗バー又は進捗バーインジケータの上で止まってユーザがタスクに関する更なる情報を欲していることを示す場合にのみ現れるようにしてもよい。更にブラウザアプリケーションは、閲覧者に対してウェブアドレスを遮断しないように完了状況インジケータにより占有されない進捗バーの部分に二次的な進捗インジケータを表示できる。
【０１３２】
図１６は、いくつかの実施形態に係る進捗バーにおけるタスクの完了状況インジケータと共に別の種類の二次的な進捗インジケータを表示する進行１６００の一例を示す。いくつかの実施形態において、ブラウザアプリケーションは、進捗バーにおける完了状況インジケータの縁から出る小波等の別の種類のインジケータを表示して更なる情報をユーザに伝達できる。ｔ＝Ｔ１において、進捗バーは、前方に少しずつ動いている完了状況インジケータ／バーの縁から出る小波により示された二次的な進捗表示と共に、進捗バーの約２／５の完了状況を表示する。この場合、小波の周波数は高く、ウェブページがロードされている速度が高いことを示す。
【０１３３】
ｔ＝Ｔ２において、進捗バーは、中間周波数の小波を表示する二次的な進捗表示と共に、完了状況インジケータを表示して進捗バーの約１／２を占有する。この場合、現在ウェブページがロードされている速度は、ｔ＝Ｔ１における速度より遅い速度である。ｔ＝Ｔ３において、進捗バーは、低周波数の小波を表示する二次的な進捗表示と共に、完了状況インジケータを表示して進捗バーの約２／３を占有する。低下した周波数は、タスクが実行されている速度がｔ＝Ｔ２から減少していることを示す。いくつかの実施形態において、更なるアニメーション効果を進捗バーに示すことができる。例えばブラウザアプリケーションは、サブタスク（例えば、ウェブページに対する特定のオブジェクトをロードする）が実行されている速度を伝達するために、二次的な進捗インジケータに加えて別の種類のアニメーションを同時に表示できる。
【０１３４】
図１７は、いくつかの実施形態に係る進捗バーにおけるタスクに対する完了状況インジケータと共に二次的な進捗インジケータの種類を表示する進行１７００の別の例を示す。いくつかの実施形態において、ブラウザアプリケーションは、進捗バーにおける回転ホイール等の別の種類のインジケータを表示して、タスクが実行されている現在の速度をユーザに伝達できる。ｔ＝Ｔ１において、進捗バーは、進捗バーにおける回転ホイールにより示された二次的な進捗表示と共に、進捗バーの約２／５となるように完了状況インジケータを表示する。この場合、ホイールが回転している速度は高く（３つの矢印により示された）、現在ウェブページがロードされているレートが高いことを示す。
【０１３５】
ｔ＝Ｔ２において、進捗バーは、低速な回転ホイールの二次的な進捗表示と共に、完了状況インジケータを表示して進捗バーの約１／２を占有する。この場合、ウェブページがロードされている速度は、現在ｔ＝Ｔ１における速度より低い速度である。ｔ＝Ｔ３において、進捗バーは、ｔ＝Ｔ２におけるより高速に回転しているホイールの二次的な進捗表示と共に、完了状況インジケータを表示して進捗バーの約２／３を占有する。２つの矢印は、タスクが実行されている速度がｔ＝Ｔ２から増加していることを示す。種々の実施形態において種々のアニメーションを使用できる。いくつかの実施形態において、アニメーションの種類は、ユーザ及び／又はシステム管理者により設定可能である。
【０１３６】
上述の機能及びアプリケーションのうちの多くは、コンピュータ可読記憶媒体上に符号化されたプログラム命令の集合として規定されるソフトウェアプロセスとして実現可能である。これらのプログラム命令が１つ以上の処理装置により実行される場合、プログラム命令により、処理装置は命令において示された動作を実行する。コンピュータ可読記憶媒体の例には、ＣＤ−ＲＯＭ、フラッシュドライブ、ＲＡＭチップ、ハードドライブ、ＥＰＲＯＭ等が含まれる。コンピュータ可読記憶媒体は、無線で又は有線接続を介して進む搬送波及び電子信号を含まない。一般に「ソフトウェア」は、処理装置により実行された時に１つ以上のコンピュータシステムに種々の動作を実行させる命令のシーケンスを示すことにより、ソフトウェアプログラムの動作を実行及び実施する１つ以上の特定の機械の実現例を規定する。
【０１３７】
図１８は、本発明の一実施形態に係るコンピュータシステム１８００を示す。進捗バーシステム１００は、本明細書に示されたコンピュータシステム１８００等のコンピュータシステム内で実現可能である。コンピュータシステム１８００は、デスクトップコンピュータ又はラップトップコンピュータ、タブレットコンピュータ、スマートフォン、パーソナルデータアシスタント（ＰＤＡ）、あるいは何らかの特定の形態的要素に限定されない他のあらゆる種類のコンピューティングデバイスを含むあらゆる種々のコンピューティングデバイスのうちのいずれかとして実現可能である。コンピュータシステム１８００は、プロセッサ１８０５と、記憶サブシステム１８１０と、入力装置１８２０と、ディスプレイ１８２５と、ネットワークインタフェース１８３５と、バス１８４０とを含むことができる。
【０１３８】
プロセッサ１８０５は、１つ以上のコアを有することのできる単一のプロセッサ又は複数のプロセッサを備えることができる。いくつかの実施形態において、プロセッサ１８０５は、一次的な汎用プロセッサ及び例えばグラフィックプロセッサ又はデジタル信号プロセッサ等の１つ以上の専用コプロセッサを備えることができる。いくつかの実施形態において、一部又は全てのプロセッサ１８０５は、特定用途向け集積回路（ＡＳＩＣ）又はフィールドプログラマブルゲートアレイ（ＦＰＧＡ）等のカスタマイズされた回路を使用して実現可能である。いくつかの実施形態において、そのような集積回路は、回路自体に格納される命令を実行する。他の実施形態において、プロセッサ１８０５は、記憶サブシステム１８１０に格納された命令を実行できる。
【０１３９】
記憶サブシステム１８１０は、システムメモリ、読み出し専用メモリ（ＲＯＭ）及び固定記憶装置等の種々のメモリ装置を含むことができる。ＲＯＭは、プロセッサ１８０５及び電子デバイス１８００の他のモジュールが必要とする静的なデータ及び命令を格納できる。固定記憶装置は、読み取り／書き込みメモリ素子であってよい。この固定記憶装置は、コンピュータシステム１８００が電源を切られている場合でも命令及びデータを格納する不揮発性メモリ装置であってよい。本発明のいくつかの実施形態は、大容量記憶装置（例えば、磁気ディスク又は光ディスク、あるいはフラッシュメモリ）を固定記憶装置として使用できる。他の実施形態は、取り外し可能な記憶装置（例えば、フロッピディスク、フラッシュドライブ）を固定記憶装置として使用できる。システムメモリは、ダイナミックランダムアクセスメモリ等の読み取り／書き込みメモリ素子又は揮発性読み取り／書き込みメモリであってよい。システムメモリは、プロセッサが実行時に必要とする一部又は全ての命令及びデータを格納できる。
【０１４０】
記憶サブシステム１８１０は、種々の半導体メモリチップ等を含むコンピュータ可読記憶媒体（ＤＲＡＭ、ＳＲＡＭ、ＳＤＲＡＭ、フラッシュメモリ、プログラマブル読み出し専用メモリ）のあらゆる組合せを含むことができる。磁気ディスク及び／又は光ディスクも使用可能である。いくつかの実施形態において、記憶サブシステム１８１０は、読み取り可能及び／又は書き込み可能な取り外し可能な記憶媒体を備えることができ、そのような媒体の例には、コンパクトディスク（ＣＤ）、読み出し専用デジタル汎用ディスク（例えば、ＤＶＤ−ＲＯＭ、２層ＤＶＤ−ＲＯＭ）、読み出し専用／レコーダブルＢｌｕｅ−Ｒａｙ（登録商標）ディスク、超密度光ディスク、フラッシュメモリカード（例えば、ＳＤカード、ミニＳＤカード、マイクロＳＤカード等）及び磁気「フロッピ」ディスク等が含まれる。コンピュータ可読記憶媒体は、無線で又は有線接続を介して進む搬送波及び一時的な電子信号を含まない。
【０１４１】
いくつかの実施形態において、記憶サブシステム１８１０は、ブラウザアプリケーション１８４５等のプロセッサ１８０５により実行される１つ以上のソフトウェアプログラムを格納できる。上述したように、「ソフトウェア」は、プロセッサ１８０５により実行された時にコンピュータシステム１８００に種々の動作を実行させる命令のシーケンスを示すことができるため、ソフトウェアプログラムの動作を実行及び実施する１つ以上の特定の機械の実現例を規定する。命令は、プロセッサが処理するためにメモリに読み込み可能な磁気記憶装置に格納された読み出し専用メモリ及び／又はアプリケーションに常駐するファームウェアとして格納可能である。ソフトウェアは、要望に応じて対話する単一のプログラム、あるいは別個のプログラム又はプログラムモジュールの集合として実現可能である。プログラム及び／又はデータは、プログラムの実行中に不揮発性記憶装置に格納可能であり、且つその全ての又は一部が揮発性ワーキングメモリにコピー可能である。プロセッサ１８０５は、本明細書において説明した種々の動作を実行するために、実行するプログラム命令及び処理するデータを記憶サブシステム１８１０から検索できる。
【０１４２】
１つ以上のユーザ入力装置１８２０、ディスプレイ１８２５及び／又は１つ以上の他のユーザ出力装置（不図示）は、ユーザインタフェースを提供できる。入力装置１８２０は、ユーザがコンピュータシステム１８００に信号を提供できるあらゆるデバイスを備えることができる。コンピュータシステム１８００は、特定のユーザ要求又は情報を示すものとして信号を解釈してよい。種々の実施形態において、入力装置１８２０は、キーボードタッチパッド、タッチスクリーン、マウス又は他のポインティングデバイス、スクロールホイール、クリックホイール、ダイヤル、ボタン、スイッチ、キーパッド及びマイク等のうちのいずれか又は全てを含むことができる。
【０１４３】
ディスプレイ１８２５は、電子デバイス１８００により生成された画像を表示し、且つ支援電子部品（例えば、デジタル−アナログ変換器又はアナログ−デジタル変換器、あるいは信号プロセッサ等）と共に、例えばブラウン管（ＣＲＴ）、液晶ディスプレイ（ＬＣＤ）、有機発光ダイオード（ＯＬＥＤ）を含む発光ダイオード（ＬＥＤ）又は投影システム等の種々の画像生成技術を含むことができる。いくつかの実施形態は、入力装置及び出力装置の双方として機能するタッチスクリーン等のデバイスを含むことができる。いくつかの実施形態において、ディスプレイ１８２５に加えて又はその代わりに、他のユーザ出力装置を提供できる。例えば、表示灯、スピーカ、触覚「表示」装置及びプリンタ等を含む。
【０１４４】
いくつかの実施形態において、ディスプレイ１８２５は、ディスプレイ１８２５のある特定の領域における可視画像要素をユーザが入力装置１８２０を使用して選択する能動素子又は制御素子として規定するグラフィカルユーザインタフェースを提供できる。例えばユーザは、制御素子を介して画面上のカーソル又はポインタを位置決めするようにユーザ入力装置を操作し、次にボタンをクリックして選択を示すことができる。あるいは、ユーザは、タッチスクリーンデバイス上の制御素子をタッチできる（例えば、指又はスタイラスを用いて）。いくつかの実施形態において、ユーザは、制御素子と関連付けられた１つ以上の単語（単語は、素子上のラベル又は素子と関連付けられた機能であってよい）を音声指示できる。いくつかの実施形態において、タッチセンシティブデバイスに対するユーザジェスチャは、入力コマンドとして認識及び解釈可能である。これらのジェスチャは、ディスプレイ１８２５において何らかの特定のアレイと関連付けられるが、必ずしも関連付けられなくてもよい。他のユーザインタフェースも実現可能である。
【０１４５】
ネットワークインタフェース１８３５は、音声及び／又はデータ通信機能を電子デバイス１８００に提供できる。いくつかの実施形態において、ネットワークインタフェース１８３５は、無線音声及び／又はデータネットワークにアクセスする（例えば、携帯電話技術、３Ｇ、４Ｇ又はＥＤＧＥ等の最先端のデータネットワーク技術、ＷｉＦｉ（ＩＥＥＥ８０２．１１ファミリーの規格）又は他の移動通信技術、あるいはそれらのあらゆる組合せを使用して）無線周波数（ＲＦ）送受信機構成要素、ＧＰＳ受信機構成要素、並びに／あるいは他の構成要素を含むことができる。いくつかの実施形態において、ネットワークインタフェース１８３５は、無線インタフェースに加えて又はその代わりに有線ネットワーク接続性（例えば、イーサネット）を提供できる。ネットワークインタフェース１８３５は、ハードウェアコンポーネント（例えば、アンテナ、変調器／復調器、符号器／復号器、並びに他のアナログ及び／又はデジタル信号処理回路）とソフトウェアコンポーネントとの組合せを使用して実現可能である。
【０１４６】
バス１８４０は、電子デバイス１８００の多くの内部デバイスを通信可能に接続する種々のシステムバス、周辺バス及びチップセットバスを含むことができる。例えばバス１８４０は、プロセッサ１８０５を記憶サブシステム１８１０と通信可能に結合できる。バス１８４０は、入力装置１８２０及びディスプレイ１８２５に更に接続する。バス１８４０は、ネットワークインタフェース１８３５を介して電子デバイス１８００をネットワークに更に結合する。このように、電子デバイス１８００は、多数のコンピュータシステムのネットワーク（例えば、ローカルエリアネットワーク（ＬＡＮ）、ワイドエリアネットワーク（ＷＡＮ）、イントラネット又はインターネット等のネットワークのネットワーク）の一部であってよい。電子デバイス１８００のいずれか又は全ての構成要素は、本発明と組み合わせて使用可能である。
【０１４７】
いくつかの実施形態は、コンピュータプログラム命令をコンピュータ可読記憶媒体に格納するマイクロプロセッサ、記憶装置及びメモリ等の電子部品を備える。本明細書において説明した機能の多くは、コンピュータ可読記憶媒体上に符号化されたプログラム命令の集合として規定される処理として実現可能である。これらのプログラム命令は、１つ以上の処理装置により実行される場合、プログラム命令において示された種々の動作を処理装置に実行させる。プログラム命令又はコンピュータコードの例には、コンパイラにより生成されるような機械コード、コンピュータにより実行される高級言語コードを含むファイル、電子部品又はインタプリタを使用するマイクロプロセッサが含まれる。
【０１４８】
プロセッサ１８０５は、適切なプログラミングにより電子デバイス１８００の種々の機能性を提供できる。例えばプロセッサ１８０５は、ブラウザアプリケーション１８４５を実行できる。ブラウザアプリケーション１８４５は、ウェブページを描画する際にローカルソース又はリモートソースから項目名を検索して表示する機能（例えば、ウェブページを検索して表示するためにＨＴＴＰプロトコル又は他のデータ転送プロトコルを使用して）、並びに例えばハイパーリンクの選択、閲覧する項目の選択及び特定の項目名に応答するユーザによるデータの提出（例えば、対話型ウェブページ上で必要事項を記入する）等の項目名に関係するユーザ入力を受信且つ解釈する機能等の種々の機能性を提供できる。いくつかの実施形態において、ブラウザアプリケーション１８４５は、ウェブページのロード等のタスクの完了状況を示す完了状況インジケータを表示する進捗バーを提供できる。アニメーション効果等により、進捗バー内に種々の更なる情報を表示できる。例えばブラウザアプリケーション１４５は、変動する周波数で小波をアニメーション化することにより、ウェブページが特定の瞬間にロードされている速度を提示できる。
【０１４９】
コンピュータシステム１８００は例示するものであり、且つ変形及び変更が考えられることが理解されるだろう。コンピュータシステム１８００は、本明細書において特に説明しない他の機能（例えば、移動電話、全地球測位システム（ＧＰＳ）、電源管理、１つ以上のカメラ、外部のデバイス又は付属品を接続する種々の接続ポート等）を有してよい。また、特定のブロックを参照してコンピュータシステム１８００を説明するが、これらのブロックは、説明しやすいように規定され、構成部品の特定の物理的配列を示すことを意図しないことが理解されるべきである。更にブロックは、物理的に別個の構成要素に対応する必要はない。ブロックは、例えばプロセッサをプログラミングするかあるいは適切な制御回路網を提供することで種々の動作を実行するように構成可能であり、種々のブロックは、初期設定を取得する方法に依存して再構成可能であっても再構成可能でなくてもよい。本発明の実施形態は、回路網及びソフトウェアのあらゆる組合せを使用して実現された電子デバイスを含む種々の装置において実現可能である。
【０１５０】
種々の手法は、説明した実施形態に係る種々の環境において実現可能である。図１９は、本発明の種々の態様を実現できる環境１９００の一例を示す。説明のためにウェブベースの環境を使用するが、本発明の種々の実施形態を実現するために種々の環境を使用できることは、当業者には理解されるだろう。
【０１５１】
環境１９００は、電子クライアントデバイス１９０２と、ウェブサーバ１９０６と、少なくとも１つのアプリケーションサーバ１９０８とを備える。電子クライアントデバイス１９０２は、ネットワークを介して要求、メッセージ及び／又はデータを送出及び受信し、且つ情報をデバイスのユーザに伝達するように動作可能なあらゆる適切な電子デバイスを備えることができる。そのようなクライアントデバイスの例には、パーソナルコンピュータ、移動電話、ラップトップコンピュータ及びパーソナルデータアシスタンス等が含まれる。電子クライアントデバイス１９０２は、少なくとも１つのネットワークを介してウェブサーバ１９０６と通信できる。少なくとも１つのネットワークにおいて、ウェブサーバ１９０６は、電子クライアントデバイス１９０２から要求を受信し、且つネットワークを介した通信に応答してコンテンツを提供できる。
【０１５２】
リンク可能あるいは構成可能にされ、且つデータ記憶装置（本明細書には示されない）からデータを取得する等のタスクを実行するように対話できるいくつかのアプリケーションサーバ、層、あるいは他の要素、処理又は構成要素があってよいことは、当業者には理解されるだろう。本明細書において使用されるように、「データ記憶装置」という用語は、１つ以上のデータサーバ、データベース、データ記憶装置及び／又はデータ記憶媒体等のデータを格納、検索し且つそれらにアクセスできるあらゆるデバイス又はデバイスの組合せを示しうる。アプリケーションサーバ１９０８は、クライアントデバイスに対して１つ以上のアプリケーションの態様を実行するハードウェア及び／又はソフトウェアを含むことができ、ＨＴＭＬ、ＸＭＬ又は他のあらゆる適切な構造化言語の形式でウェブサーバ１９０６を介してユーザに送出されるテキスト、グラフィックス、オーディオ及び／又はビデオ等のコンテンツを生成できる。全ての要求及び応答の処理、並びにクライアントデバイス１９０２とアプリケーションサーバ１９０８との間でのコンテンツの配信は、ウェブサーバ１９０６により処理される。ウェブサーバ及びアプリケーションサーバは必要なく且つ環境１９００の構成要素の例にすぎないことが理解されるべきである。
【０１５３】
いくつかの実施形態において、ウェブサーバ１９０６は、ＨＴＴＰサーバ、ＦＴＰサーバ、ＣＧＩサーバ、データサーバ、Ｊａｖａサーバ及びビジネスアプリケーションサーバを含む種々のサーバアプリケーション又はミッドティアアプリケーションのうちのいずれかを実行できる。ウェブサーバ１９０６は、例えばＪａｖａ（登録商標）、Ｃ、Ｃ＃又はＣ＋＋等のあらゆるプログラミング言語、あるいはＰｅｒｌ、Ｐｙｔｈｏｎ又はＴＣＬ等のあらゆるスクリプト言語及びそれらの組合せで書き込まれた１つ以上のスクリプト又はプログラムとして実現可能な１つ以上のウェブアプリケーションを実行することにより、クライアントデバイス１９０２からの要求に応答してプログラム又はスクリプトを更に実行できる。
【０１５４】
クライアントデバイス１９０２の各々は、ネットワークを介して受信したメッセージ及び／又はデータをユーザに対してローカルで描画及び表示できるディスプレイ１９１０を含むことができる。ブラウザアプリケーションにより、ローカル描画エンジンはコンテンツ（例えば、コンテンツ及び進捗バーを含むウェブブラウザ）をユーザに対して表示できるが、処理は、いくつかの実施形態においてウェブサーバ１９０６及び１つ以上のアプリケーションサーバ１９０８を介して「クラウドで」１９０４実行可能である。例えば、データ転送速度、タスクの完了状況、タスクの進捗状況を過小報告すること、ウェブページがロードされている速度は、「クラウドで」１９０４判定可能である。環境１９００は、種々の通信リンク（例えば、コンピュータネットワーク）を介して相互接続されたいくつかのコンピュータシステム及び構成要素を使用する分散コンピューティングシステムであってよい。
【０１５５】
特定の実施形態に対して本発明を説明したが、多くの変更、すなわち進捗バーに対する二次的な進捗インジケータを表示する異なる方法、「ロケット効果」を伝達する異なる種類のアニメーション、進捗バーにおける完了状況の進行を円滑にする異なる方法、異なる機能が有効にされること（Ｓａｆａｒｉ読み取りボタン以外）等が可能であることは、当業者には理解されるだろう。従って、特定の実施形態に対して本発明を説明したが、本発明は、以下の特許請求の範囲の範囲内の全ての変更及び等価物を範囲に含むことを意図することが理解されるだろう。
【図１】
0005993324.tif 000007
【図２】
0005993324.tif 000008
【図３】
0005993324.tif 000009
【図４】
0005993324.tif 000010
【図５】
0005993324.tif 000011
【図６】
0005993324.tif 000012
【図７】
0005993324.tif 000013
【図８】
0005993324.tif 000014
【図１０】
0005993324.tif 000015
【図１１】
0005993324.tif 000016
【図１２】
0005993324.tif 000017
【図１３】
0005993324.tif 000018
【図１４】
0005993324.tif 000019
【図１５】
0005993324.tif 000020
【図１６】
0005993324.tif 000021
【図１８】
0005993324.tif 000022
【図１９】
0005993324.tif 000023
【図９】
0005993324.tif 000024
【図１７】
0005993324.tif 000025