(57)【特許請求の範囲】
【請求項１】
コンピュータ・プログラムのデータの表示を、前記コンピュータ・プログラムによるデータの読み出し中にスクロールさせるユーザ・インターフェース・コントロールによるビュー・ウィンドウを介してユーザが見ることができる領域にデータが表示されている画面表示がされる表示装置であって、前記コントロールは、トラック（２０）と、前記トラックの上に重なっていてトラック（２０）いっぱいまで伸長可能なバー（１４´）と、前記表示されているデータをスクロールさせるよう前記バーに沿って移動可能なサム（１６）とを含み、前記サムはサイズ（ｘ）であり、前記トラックのサイズ（ｙ）が、読み出されるデータすべての総量を示してすべてのデータが読み出されたときのバーの最終的な範囲を示し、前記バーのサイズ（ｚ）が、データ読み出しの進捗を示すよう既に読み出されているデータの量に応じてトラック（２０）の全長を占めるまで拡大し続けるように変化し、データすべての読み出しの完了へ向けた進捗をｚ／ｙの割合で、読み出されたデータの総量に対するビュー・ウィンドウに表示されているデータの量の割合をｘ／ｚの割合で、各々確かめることができる、ユーザ・インターフェース・コントロールによる画面表示がされる表示装置。
【請求項２】
前記サムのサイズ（ｘ）は固定されていて時間とともに変化しない、請求項１に記載のユーザ・インターフェース・コントロールによる画面表示がされる表示装置。
【請求項３】
前記サムがユーザ入力なしに移動することがない、請求項２に記載のユーザ・インターフェース・コントロールによる画面表示がされる表示装置。
【請求項４】
コンピュータ・プログラムのデータの表示を、前記コンピュータ・プログラムによるデータの読み出し中にスクロールさせるユーザ・インターフェース・コントロールを提供する方法であって、
前記コンピュータ・プログラムのデータの一部を受信するステップと、
前記受信されたデータを、前記コンピュータ・プログラムに割り当てられている表示領域内に表示するステップと、
１つ以上のスクロール・バー・コントロール（単数または複数）を前記表示領域の中に提供するステップであって、前記スクロール・バー・コントロールはそれぞれ、トラック（２０）と、前記トラックの上に重なっていてトラック（２０）いっぱいまで伸長可能なバー（１４´）と、前記表示されているデータをスクロールさせるよう前記バーに沿って移動可能なサム（１６）とを含み、前記サムはサイズ（ｘ）であり、前記トラックのサイズ（ｙ）が、読み出されるコンピュータ・プログラムのデータすべての総量を示してすべてのデータが読み出されたときのバーの最終的な範囲を示し、前記バーのサイズ（ｚ）が、前記データ読み出しの進捗を示すよう既に読み出されているデータの量に応じてトラック（２０）の全長を占めるまで拡大し続けるように変化し、データすべての読み出しの完了へ向けた進捗をｚ／ｙの割合で、読み出されたデータの総量に対するビュー・ウィンドウに表示されているデータの量の割合をｘ／ｚの割合で、各々確かめることができる、前記提供するステップと、
を含む方法。
【請求項５】
前記受信されたデータの複数の表示寸法を判断するステップと、
前記表示寸法と、前記コンピュータ・プログラムに割り当てられている表示領域のサイズとを比較するステップと、
前記表示寸法のうちの１つ以上が、前記割り当てられている表示領域の対応する寸法よりも大きければ、スクロール・バー・コントロールを表示するステップと、
をさらに含む、請求項４に記載の方法。
【請求項６】
前記コンピュータ・プログラムによってデータのセットを要求するステップと、
前記要求されたデータのセットのサイズを判断するステップと、
をさらに含む、請求項４または５に記載の方法。
【請求項７】
前記サムのサイズ（ｘ）を、固定サイズであって時間とともに変化しないように設定するステップを含む、請求項４、５または６に記載の方法。
【請求項８】
前記サムがユーザ入力なしに移動することがない、請求項４〜７のいずれかに記載の方法。
【請求項９】
データの他の部分を受信するステップと、
利用可能な前記データの拡大したサイズを示すよう、前記バーの前記サイズ（ｚ）を拡大するステップと、
をさらに含む、請求項４〜８のいずれかに記載の方法。
【請求項１０】
コンピュータ・プログラムのデータを、前記コンピュータ・プログラムによるデータの読み出し中に表示するシステムであって、
１つ以上のビュー・ウィンドウを管理するウィンドウ・マネージャと、
１つ以上のスクロール・バー・コントロール（単数または複数）を制御するスクロール・バー・マネージャであって、前記スクロール・バー・コントロールはそれぞれ、トラック（２０）と、前記トラックの上に重なっていてトラック（２０）いっぱいまで伸長可能なバー（１４´）と、前記表示されているデータをスクロールさせるよう前記バーに沿って移動可能なサム（１６）とを含み、前記サムはサイズ（ｘ）であり、前記トラックのサイズ（ｙ）が、読み出されるデータすべての総量を示してすべてのデータが読み出されたときのバーの最終的な範囲を示し、前記バーのサイズ（ｚ）が、前記データ読み出しの進捗を示すよう既に読み出されているデータの量に応じてトラック（２０）の全長を占めるまで拡大し続けるように変化し、データすべての読み出しの完了へ向けた進捗をｚ／ｙの割合で、読み出されたデータの総量に対するビュー・ウィンドウに表示されているデータの量の割合をｘ／ｚの割合で、各々確かめることができる、前記スクロール・バー・マネージャと、
を含むシステム。
【請求項１１】
前記サムのサイズ（ｘ）は固定されていて時間とともに変化しない、請求項１０に記載のシステム。
【請求項１２】
前記サムがユーザ入力なしに移動することがない、請求項１０または１１に記載のシステム。
【請求項１３】
請求項４〜９のいずれかに記載の方法を実行するためのコンピュータ実行可能命令を有する、コンピュータ・プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ユーザ・インターフェース・コントロールの分野に関し、特にスクロール・バーに関する。
【背景技術】
【０００２】
ユーザ・インターフェース（ＵＩ：Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ）は、グラフィック要素を用いて、ユーザが利用可能なアプリケーションの情報およびアクションを表現することで、コンピュータ・システムのユーザがコンピュータ・アプリケーション・プログラムと対話できるようにする。通常、アクションは、コントロールと呼ばれる、表示されるグラフィック要素、すなわちウィジェットをユーザが直接操作することによって実行される。
【０００３】
コンピュータ・アプリケーションは、表示画面の或る領域を割り当てられることが多く、その中にそのアプリケーションの提示コンテンツ、例えばウェブ・ページ、電子メール・メッセージまたは図の全部または一部を表示することができる。アプリケーション提示スペース（ａｐｐｌｉｃａｔｉｏｎ  ｐｒｅｓｅｎｔａｔｉｏｎ  ｓｐａｃｅ）の寸法が、そのアプリケーションに与えられている画面上の表示領域の寸法よりも水平方向および垂直方向あるいはそのいずれかにおいて大きければ、スクロール・バーが表示される。スクロール・バーが提供するメカニズムにより、提示スペースの可視部を選択することができる。
【０００４】
表示領域は、多くの場合、ビュー・ウィンドウ（ｖｉｅｗ  ｗｉｎｄｏｗ）内に提供され、ビュー・ウィンドウは、中心的な提示コンテンツのフレームまたは箱を提供し、希望に応じて、サイズを変更すること、移動させること、隠すこと、元に戻すこと、および閉じることができる。スクロール・バーは、ビュー・ウィンドウを介して見ることができる提示スペースの範囲を操作するために使用され、さらに、ウィンドウ内に表示されているデータの、提示スペース全体に対する場所を示すためにも使用される。
【０００５】
スクロール・バーの制御には、マウスまたはトラックボール・デバイスなどのカーソル・コントロール・デバイスを使用することができる。図１ａおよび１ｂに示されているように、スクロール・バー・コントロール（ｓｃｒｏｌｌ  ｂａｒ  ｃｏｎｔｒｏｌ）１０は、通常、ビュー・ウィンドウ１８の片側または両側に沿った縦方向のバー１４として設計され、それぞれがサム・ボタン（ｔｈｕｍｂ  ｂｕｔｔｏｎ）１６を含む。典型的には、ユーザは、サムをスクロール・バー・コントロール内のどこかへドラッグすることによって、表示されるビューを操作することができる。あるいは、ユーザは、サムの片側でバーをクリックすることによって、徐々に、行／列単位で、またはページ・サイズもしくは水平／垂直のビュー寸法などのより大きな単位で、ビューを上下にスクロールする。通常、スクロール・バー・コントロールはさらに、スクロール・バーの両端にスクロール・ボタン１５を含む。ユーザは、スクロール・ボタンによって、提示スペース中を上下または左右にスクロールさせることができる（一度のマウス・クリックで単位ごとに、またはスクロール・ボタンを押したままにして連続的に）。これは、ユーザが提示スペース中で、ウィンドウを垂直および水平あるいはそのいずれかにスクロールさせる迅速かつ効率的な方法を提供する。
【０００６】
水平なスクロール・バー・コントロールの場合、サムは左側の境界（従来は、最小位置）と、右側の境界（従来は、最大位置）との間で、水平に移動可能である。同様に、垂直なスクロール・バー・コントロールの場合、サムは下側の境界（従来は、最下部または最大位置）と、上側の境界（従来は、最上部または最小位置）との間で垂直に移動可能である。
【０００７】
最近のスクロール・バーでは、サムのサイズが、アプリケーション提示スペースのサイズ（すなわち全利用可能データの量）に対する、可視表示領域のサイズ（すなわち可視データの量）の割合を示し、スクロール・バーに沿ったサムの位置が、提示スペースの、表示されている領域（すなわちデータの一部分）の場所を示すことが多い。
【０００８】
例えば、ＵＩを使用して、ユーザに３０のデータ項目が提示されるが、そのうち１４を一覧表示できるだけしか画面上のスペースがないと仮定する。図１ａは、典型的にはどのようにして、利用可能データに対する可視データの割合が、バーの全長（ｙ）に対するサムのサイズ（ｘ）の割合としてユーザに伝えられるのかを示す。つまり、図１ａにおいて、ｘ／ｙ＝１４／３０である。
【０００９】
図１ｂは、サムが移動されると、ウィンドウ内に表示されている項目がどのように変化するのかを示す。サム１６の上端が、スクロール・バーの最上部から、距離ａ移動されている。図１ｂでは、サムの最上部はこの時点で、スクロール・バーの長さに沿う距離の１／３のところにあり、すなわちａ／ｙ＝１／３である。したがって、ビュー内の最上位項目は、項目３０／３＝１０である。利用可能データの量は図１ａと同じままであることから、サム・ボタン１６のサイズ（ｘ）は変わらないままで、バーの長さの１４／３０の割合である。
【発明の概要】
【発明が解決しようとする課題】
【００１０】
非同期的に投入されるデータを制御するためにユーザ・インターフェースが使用され、データが受信されるにつれて、すなわちデータの完全なセットが読み出される前にアプリケーションがデータを表示用に利用可能にするシナリオでは、問題が起こる。これは、ネットワークを介した読み出しに何らかの待ち時間があるサーバからのデータ・セットを表示していて、データがファイルもしくはページなど別々の部分ごとに利用可能となる場合など、利用可能になるデータに遅延がある場合、または利用可能なデータ・セットに追加されるデータ項目同士の間で、かなりの時間がかかる何らかの処理がある場合に起こる。そのようなシナリオでは、すべての項目が分かるまで待ってからリストをユーザに対し利用可能にするよりも、利用可能なデータをユーザに示して、更新が受信されるにつれて表示を更新すると有益である。これには、ユーザが、データ項目が１つずつ利用可能になるにつれてそれを用いて作業し始めることができ、プログラムが非同期的にさらなる項目を追加している間、ユーザは作業を続けられるという利点がある。しかし、行数など、利用可能データのサイズが時間とともに拡大することから、この結果、可視項目／利用可能項目の新たな割合を反映するようスクロール・バーのサムのサイズが縮小し、さらに、サムがスクロール・バーの最上部にない場合、可視データの相対的な場所が同じく変化するにつれてサムも上へ移動するかもしれない。
【００１１】
これは、最初は１５、次に３０、最後に４５の利用可能項目がある、項目リストの表示の経時的な進捗を示す図２ａ、２ｂおよび２ｃに示されている。利用可能項目（行）の数が変化しているため、各状況においてサムのサイズが異なる。リスト内に１５の項目があるとき（図２ａ）は割合ｘ／ｙ＝１４／１５であり、続いて後から３０の項目になると（図２ｂ）割合ｘ／ｙ＝１４／３０である。図２ｃは、時間が進み続けるにつれ、サムのサイズが縮小し続け、合計４５の項目で割合ｘ／ｙがちょうど１４／４５となることを示す。この状況では、リストはユーザにとって操作し難い。アプリケーションがさらなる行を追加するにつれてサムのサイズが動的に縮小していくことから、リストが図２ａに示されている状態で、ユーザがサムを移動させてリストをスクロールさせるためにあらかじめサムを選択する場合、サムは移動するターゲットとなる。さらに、さらなる行が追加されるにつれ、表示されているデータ項目の、リスト内の他のデータ項目に対する相対的な場所が変化する。これは、サム・ボタンの、サイズの変化だけでなく、スクロール・バーに沿った移動にもつながると考えられる。さらに、ユーザが他のビューまでスクロールさせたい場合、スクロール・バーに沿った位置によって表される相対的な場所が変化し続けるため、ユーザは、データの必要部分を見えるようにするにはどの位置にサムを移動させるべきかを判断することができない。
【００１２】
もう１つの問題は、アプリケーションが項目をバックグラウンドで追加しているため、リストが完成したときにユーザが知るすべがないということである。この問題を打開する従来技術の方法は、別の種類のインジケータであるアニメーションのグラフィックをＵＩに追加する。これは例えば、動作が発生していることを示すよう状態が変化し、ウェブ・ブラウザで見られる、進捗バー、ビジー・カーソルなどである。これには、ＵＩの他の場所にあるため、リストを見てそれを用いて作業しているユーザの真正面になく、さらに、進捗インジケータをそれぞれ必要とする２つ以上のビュー・ウィンドウがある場合にユーザが混乱しかねないという欠点がある。一部のアプリケーションにおける解決策は、部分的に利用可能なリスト項目はユーザに示さず、読み出しタスク全体が完了するまで待つことであるが、これは、項目が利用可能になるにつれてユーザがそれを用いて作業し始めることを妨げることから、ユーザビリティに乏しく、さらに、データを見てそれを用いて作業できるまでユーザがより長い時間待たなければならないため、感じられる応答時間が長くなる。
【００１３】
本発明は、こうした問題に対処することを目的としている。
【課題を解決するための手段】
【００１４】
本発明の第１の態様は、コンピュータ・プログラムのデータの表示を、コンピュータ・プログラムのデータの読み出し中にスクロールさせるユーザ・インターフェース・コントロールを提供する。このコントロールは、トラック（ｔｒａｃｋ）と、前記トラックの上に重なっている伸長可能なバー（ｅｘｔｅｎｄａｂｌｅ  ｂａｒ）と、表示されているデータをスクロールさせるようバーに沿って移動可能なサムとを含み、トラックのサイズが、読み出されるデータの総量を示し、バーのサイズが、データ読み出しの進捗を示すよう変化する。したがって、トラックのサイズに対するバーのサイズの割合が、全データに対する利用可能データの割合を示す。
【００１５】
この技術の利点は、ユーザがデータ読み出しの完了までの進捗を確かめることができるということである。
【００１６】
好適な実施形態では、コンピュータ・プログラムのデータが、そのコンピュータ・プログラムに割り当てられている表示領域内に表示され、サムのサイズは固定されている。（トラックの対応するサイズと比較した）サムのサイズは、読み出されるデータの総量に対する、表示領域内に表示されているデータの量の割合を示すことが好ましい。これには、スクロール・バーのサムのサイズが時間とともに変化することも、サムがユーザ入力なしで移動することもなく、ユーザがスクロール・バー・コントロールと対話するのを容易にするというさらなる利点がある。
【００１７】
本発明の別の態様は、コンピュータ・プログラムのデータの表示を、コンピュータ・プログラムによるデータの読み出し中にスクロールさせるためのユーザ・インターフェース・コントロールを提供する方法を提供する。本方法は、コンピュータ・プログラムのデータの一部を受信することと、受信されたデータの一部または全部を、コンピュータ・プログラムに与えられている表示領域内に表示することとを含む。本方法はさらに、表示領域内に１つ以上のスクロール・バー・コントロール（単数または複数）を提供することを含む。スクロール・バー・コントロールはそれぞれ、トラックと、前記トラックの上に重なっている伸長可能なバーと、表示されているデータをスクロールさせるようバーに沿って移動可能なサムとを含む。トラックのサイズが、読み出されるコンピュータ・プログラムのデータの総量を示し、バーのサイズが、データ読み出しの進捗を示すよう変化する。
【００１８】
本発明のさらなる態様は、コンピュータ・プログラムのデータを、コンピュータ・プログラムによるデータの読み出し中に表示するシステムを提供する。このシステムは、コンピュータ表示装置上の１つ以上のビュー・ウィンドウを管理するウィンドウ・マネージャと、１つ以上のスクロール・バー・コントロール（単数または複数）を制御するスクロール・バー・マネージャとを含む。各スクロール・バー・コントロールは、トラックと、前記トラックの上に重なっている伸長可能なバーと、表示されているデータをスクロールさせるようバーに沿って移動可能なサムとを含む。トラックのサイズが、読み出されるデータの総量を示し、バーのサイズが、データ読み出しの進捗を示すよう変化する。
【００１９】
以下、本発明の好適な実施形態を、単なる一例として添付の図面を参照して説明する。
【図面の簡単な説明】
【００２０】
【図１】図１ａおよび図１ｂは、全データが利用可能となっている、ユーザ・アプリケーションからのデータを示すビュー・ウィンドウにおける従来技術のスクロール・バーである。
【図２】図２ａ、２ｂおよび２ｃは、読み出されているデータ・セットのデータを表示している一連のビュー・ウィンドウ、および従来技術のスクロール・バーである。
【図３】図３ａ、３ｂおよび３ｃは、本発明の実施形態によるスクロール・バーを備えた一連のビュー・ウィンドウである。
【図４】本発明の実施形態によるデータ処理システムのネットワークの概略図である。
【図５】本発明の実施形態によるアプリケーション・データを表示するユーザ・アプリケーションのコンポーネントである。
【図６】本発明の実施形態による方法に含まれるステップの流れ図である。
【発明を実施するための形態】
【００２１】
本発明は、全データに対する利用可能データの割合を示すようバーのサイズを変更することによって、進捗インジケータを提供するよう従来のスクロール・バーを変更するものである。このバーに沿って、サム・ボタンが、表示データをスクロールさせるよう移動可能である。
【００２２】
図３ａ、３ｂおよび３ｃは、そのような変更されたスクロール・バー・コントロールの利用法を示すものであり、伸長可能なバー１４’と、表示データをスクロールさせるようこのバーに沿って移動可能なサム１６とを含む。スクロール・バー１４’のサイズは、既に読み出されているデータの量に応じて変化し、それによってデータ読み出しの進捗を示す。バーは、トラック２０いっぱいまで伸びるが、トラック２０の範囲は、すべてのデータが読み出されたときのスクロール・バーの最終的な範囲を示す。サムのサイズは、読み出されるデータの総量に対する、ビュー・ウィンドウ内に表示されているデータの量の割合を示す。
【００２３】
本発明の利点は、２つの要因が生じた状況で実現される。１つ目は、一部分ずつ利用可能になっていく表示すべきデータの完全なセットを判断する、アプリケーションにおける待ち時間である。２つ目は、アプリケーションが、表示する予定のデータの合計サイズを計算できることである。この値が、完了時の行の総数に対する利用可能な行の数の割合として、スクロール・バーのサイズを変更することを可能にする。
【００２４】
例えば、現在ダウンロード中の項目のリストを表示するアプリケーションでは、リストに追加するデータ項目を判断するのにかなりの作業が必要なこともある。このアプリケーションのユーザにとっては、他の項目がまだ読み出されている間に利用可能な項目を用いて作業できるように、データ項目が利用可能になるにつれてそれを示されると、有益である。このアプリケーションが、一覧表示する予定のデータ項目または作成する予定の行の総数を計算することができれば、スクロール・バーのサイズを、完了時の行の総数に対する利用可能な行の数の割合を示すよう変更することが可能である。
【００２５】
これが生じる状況の一例は、ウェブ・ブラウザ・アプリケーションを介し、ＦＴＰなどの待ち時間に縛られた接続によって文書をダウンロードする際である。この場合、あらかじめ合計のファイル・サイズを判断することができ、各ページが利用可能になるにつれてそれがユーザに示される。スクロール・バーは、完全な文書のダウンロードへ向けた現在の進捗とともに、ダウンロードされた利用可能なページの中のどこに可視ウィンドウを配置することができるかのフィードバックをユーザに与えることができる。
【００２６】
この両方が生じるもう１つの状況は、構造化照会言語（ＳＱＬ：ｓｔｒｕｃｔｕｒｅｄ  ｑｕｅｒｙ  ｌａｎｇｕａｇｅ）を使用してデータベースから行を読み出しているアプリケーションにおいてである。この場合、クエリからの結果セットを反復するのに必要な待ち時間がある。行の総数は、ＳＥＬＥＣＴ  ＣＯＵＮＴ（＊）クエリを実行することによって判断することができる。
【００２７】
図４を参照する。複数のデータ処理システムを接続する、インターネットなどのコンピュータ・ネットワーク４１の簡略図が示されている。図４に示されているネットワーク４１は、１つ以上のサーバ４２、クライアント４０およびデータベース４３に接続されている。図４は、そのようなデータ処理システム４０の典型的なコンポーネントの簡略図を示しており、ローカル・インターフェース４６に結合されたプロセッサ（ＣＰＵ：ｃｅｎｔｒａｌ  ｐｒｏｃｅｓｓｉｎｇ  ｕｎｉｔ）５２、メモリ４４を含む。１つ以上のユーザ入力デバイス４８が、ローカル・インターフェース４６に接続されている。さらに、ハード・ストレージ５０およびネットワーク・インターフェース・デバイス５８が提供されている。
【００２８】
プロセッサ５２は、メモリ４４にあるソフトウェアを実行するハードウェア・デバイスであればよく、任意の特別仕様もしくは市販のプロセッサ、中央処理装置（ＣＰＵ）、半導体ベースのマイクロ・プロセッサ、マクロ・プロセッサであってもよく、またはソフトウェア命令を実行するデバイスであればほぼ何でもよい。
【００２９】
メモリ４４は、揮発性メモリ要素（例えば、ランダム・アクセス・メモリ（ＲＡＭ（ｒａｎｄｏｍ  ａｃｃｅｓｓ  ｍｅｍｏｒｙ）、例えばＤＲＡＭ、ＳＲＡＭ、ＳＤＲＡＭなど））および不揮発性メモリ要素（例えばＲＯＭ、ハード・ドライブ、テープ、ＣＤＲＯＭ、ＤＶＤＲＯＭなど）のうちのいずれか１つまたはその組み合わせを含めばよい。メモリ４４は、電子、磁気、光学およびその他の種類、あるいはそのいずれかのストレージ媒体を組み入れていればよい。メモリ４４はさらに、種々のコンポーネントが互いに遠隔に位置するがプロセッサ５２によってアクセス可能である、分散型アーキテクチャであってもよい。
【００３０】
ローカル・インターフェース４６は、例えば、１つ以上のバス、またはその他の有線または無線接続であればよく、コントローラ、バッファ（キャッシュ）、ドライバ、リピータ、レシーバなど、簡単にするために省略されているさらなる要素を含んでもよい。さらに、ローカル・インターフェース４６は、データ処理システム４０のコンポーネント間の適切な通信を可能にするアドレス、コントロールおよびデータ接続あるいはそのいずれかを含めばよい。
【００３１】
入出力（Ｉ／Ｏ：ｉｎｐｕｔ／ｏｕｔｐｕｔ）デバイス４８は、キーボード、カーソル・コントロール・デバイス、表示デバイス６０など、ローカル・インターフェース４６と通信するよう構成されている任意のデバイスを含めばよい。光学式ドライブ、フレキシブル・ディスク・ドライブ、カメラ、Ｉ／Ｏポート、プリンタ、スピーカ、マイクロホン、スキャナなどのさらなる入出力デバイスも提供され得る。
【００３２】
データ処理システム４０、４２は、例えば、パーソナル・コンピュータ（ＰＣ：ｐｅｒｓｏｎａｌ  ｃｏｍｐｕｔｅｒ）、ラップトップ、サーバ、ワークステーション、または携帯情報端末（ＰＤＡ：ｐｅｒｓｏｎａｌ  ｄｉｇｉｔａｌ  ａｓｓｉｓｔａｎｔ）、移動電話もしくは同様のものなどの携帯用コンピュータ・デバイスを含めばよい。さらに、データ処理システム４０、４２は、図４に示されていないさらなるコンポーネントを含んでもよく、他の実施形態では、図４に示されているコンポーネントのすべてを含まなくてもよい。
【００３３】
ネットワーク・インターフェース・デバイス５８は、データ処理システム４０と、コンピュータまたは電気通信ネットワーク４１とを結合させるよう構成された任意のデバイスであればよい。ネットワーク４１は、ローカル・エリア・ネットワーク（ＬＡＮ：Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、プライベート・コンピュータ・ネットワーク、公衆パケット交換ネットワークもしくはプライベート・パケット交換ネットワークなどの電気通信ネットワーク、またはインターネット、回線交換ネットワーク、もしくは無線ネットワークを含むその他のデータ・ネットワークであればよい。
【００３４】
様々な機能を実装する、または情報を伝達するコンピュータ・プログラムは、例えば、１つ以上のＤＶＤ／ＣＤ‐ＲＯＭ、およびフレキシブル・ディスク、およびＵＳＢメモリ・デバイスあるいはそのいずれかなどの搬送媒体上に提供され、次にハード・ディスク上に格納されてもよい。さらに、データ処理システムによって実装可能なプログラムは、例えば電気通信ネットワーク上およびインターネット上あるいはそのいずれかなど、電気通信媒体上で提供され、電子信号として具現化されてもよい。無線電話ネットワークを介して無線端末として動作するデータ処理システムについては、電気通信媒体は、コンピュータ・プログラムおよびデータを表す適切な符号化信号を送る無線周波数搬送波であればよい。任意選択で、搬送波は、光ファイバの光搬送波であってもよく、またはその他任意の、電気通信システムの適切な搬送媒体であってもよい。
【００３５】
図４では、メモリ４４内にオペレーティング・システム（ＯＳ：ｏｐｅｒａｔｉｎｇ  ｓｙｓｔｅｍ）５４およびアプリケーション５６が示されている。アプリケーション５６は、データ処理システム４０上で現在実行されているプロセスを指す。ＯＳは、データ処理システム４０のソフトウェア（またはファームウェア）コンポーネントであり、これは、プログラムに対して、プログラムをメモリにロードすることおよびプログラムを実行することを含む特定のサービスを提供することによって、プログラムを実行するための環境を提供する。ＯＳはさらに、複数のアプリケーションおよびプロセスあるいはそのいずれかの間での内部メモリの共有を管理し、入力および出力コントロール、ファイルおよびデータ管理、通信コントロールならびに関連サービスを担当する。アプリケーション・プログラムは、アプリケーション・プログラム・インターフェース（図示せず）を介してＯＳに対しサービス要求をする。
【００３６】
アプリケーション５６は、ユーザ・インターフェースを介して表示デバイス６０上でユーザにデータを表示する１つ以上のアプリケーションを含めばよい。マウス、トラック・ボール、キーボード・ナビゲーション・キーのセット（例えば矢印キー）、タッチパッド、ジョイスティック、またはタッチ・センシティブ・スクリーンなど、アプリケーション５６およびＯＳ５４あるいはそのいずれかと協働するよう構成されているカーソル・コントロール・デバイスは、ユーザ入力を提供して、表示デバイス６０に表示される１つ以上のカーソル（単数または複数）を操作するために使用することができる。さらに、そのようなデバイスは、例えばスクロール・バーのサムをドラッグするためなど、１つ以上のユーザ・インターフェース・ウィジェットと対話するために使用することができる。
【００３７】
図５は、アプリケーション・データ６４を表示デバイス６０上のビュー・ウィンドウ内に表示するユーザ・アプリケーション５６のコンポーネントの、メモリ４４内での構成を示す。ユーザ・インターフェース６６は、ユーザ・アプリケーション・データが表示されるとよい、表示装置上の１つ以上のビュー・ウィンドウを制御するウィンドウ・マネージャ６８と、各ビュー・ウィンドウ内に表示されるとよく個々のビュー・ウィンドウ内で表示をスクロールさせるためにユーザにより操作されるとよい１つ以上のスクロール・バー・コントロール（単数または複数）を管理するスクロール・バー・マネージャ６５とを含む。スクロール・バー・マネージャはデータを格納するが、このデータは例えば、各スクロール・バー・コントロールのサムの場所、サムのサイズおよびバーのサイズを含むとよい。
【００３８】
ユーザ・アプリケーションは、データ処理システム４０に直接もしくはネットワークを介して間接的に結合されているとよいサーバから、またはデータベースからなど、別の場所からデータを読み出すことができる。ユーザ・アプリケーション６２が文書などの特定のデータ・ファイルを要求するときなど、場合により、アプリケーションは要求されたファイルのサイズを既に認識していることもある。他の場合には、データをアプリケーションに送信するサーバまたはデータベースが、例えばメッセージ・ヘッダ内で、アプリケーションに送信されるデータの合計サイズの指示を送信するべきである。ユーザ・アプリケーションは、アプリケーション・データを受信するにつれてそれを格納し、受信データの全部または一部を、ビュー・ウィンドウ内に非同期的に表示する。
【００３９】
必要なとき、さらにユーザ・インターフェースは、細長いトラックと、トラックの上に重なる伸長可能なバーと、表示データをスクロールするようバーに沿って移動可能なサムとを含むスクロール・バー・コントロールをビュー・ウィンドウ内に表示する。トラックのサイズは、読み出されるデータの総量を示し、それと比較して、サムのサイズはビュー・ウィンドウ内に見える部分のサイズを示す。スクロール・バーのサイズは、既に読み出されたデータの量に応じて変化し、それによってデータ読み出しの進捗を示す。
【００４０】
図６は、ユーザ・アプリケーションが別々の部分ごとにデータ・セットを読み出して、非同期的に、すなわち、データの完全なセットが読み出された時点で初めてはなく受信されるにつれて、データを表示に利用可能にする場合に、スクロール・バー・コントロールを表示するのに必要なステップの流れ図を示す。データ読み出しプロセスの始めに、ユーザ・アプリケーション５６は、読み出されるデータの総量を判断する（ステップ６００）。データ読み出しプロセスは、ユーザ・アプリケーションからの、データの特定セットの要求（１）によって開始されるとよく、この要求は、要求されるデータ・セットのサイズについてのクエリを含むとよい。次に、応答（２）によって受信されるデータの第１の部分が、要求されたデータの合計サイズを示すとよい。要求されたデータの第１部分がユーザ・アプリケーション・ソフトウェアによって受信されると、この第１部分は、ユーザに対して表示されるようユーザ・インターフェース・コンポーネントに渡される（３）。このコンポーネントは、データの受信部分を見るのに必要な表示寸法を判断する（ステップ６０２）。次に、ユーザ・インターフェース・コンポーネントは、この表示寸法と、アプリケーションに割り当てられているビュー・ウィンドウの寸法とを比較して（ステップ６０４）、利用可能なデータすべてをビュー・ウィンドウ内に表示可能かどうかを判断する。ビュー・ウィンドウの寸法が、受信データを見るのに必要な寸法よりも大きければ、ビュー・ウィンドウ内にスクロール・バー・コントロールは必要なく、方法はステップ６０２に戻って、データの次の部分の到着を待つ。ビュー・ウィンドウの寸法が十分でなければ、プロセスはステップ６０６に移動し、ここでスクロール・バー・マネージャが、１つ以上のスクロール・バー・コントロール（単数または複数）を作成する。各スクロール・バー・コントロールに関して、スクロール・バー・マネージャは、要求されたデータ量の表示サイズに対する利用可能な合計の表示サイズの割合に応じて、バー（１４’）の長さｚを設定し（トラック（２０）の長さｙと比較して）、読み出されるデータの総量と比較したビュー・ウィンドウ内に見えるデータ量の割合に応じてサム（１６）の長さｘを設定する（トラックの長さｙと比較して）。ステップ６０８で、アプリケーション・ソフトウェアが、表示に追加すべきさらなるデータを受信すると、方法はステップ６０４に戻り、次に、ビュー・ウィンドウおよびスクロール・バー・コントロールあるいはそのいずれかを、それに応じて作成し直す。
【００４１】
一例として、図３ａ、３ｂおよび３ｃは、構造化照会言語（ＳＱＬ）を使用してデータベースから行を読み出しているユーザ・アプリケーションによって表示され得る一連のビュー・ウィンドウを示す。アプリケーションは、ＳＥＬＥＣＴ（ＣＯＵＮＴ）関数を使用することで、特定のデータベース・クエリによって生じる行の総数を判断することができる。この例では、クエリの結果がすべて受信されると、合計６０行が一覧表示される。図３ａでは、それまでのところ、リストに１５行のみが追加されている。したがって、スクロール・バー（１４’）の長さｚは、１５／６０＝トラック（２０）の長さｙの１／４である。しかし、サム（１６）の長さｘは、６０行すべてが利用可能であるかのように設定されている。時間とともにさらなる行が利用可能になるにつれて変化するサイズは、スクロール・バーの長さｚのみである。ｚ／ｙの割合は、完了までの進捗を示し、ｘ／ｚの割合は、ユーザがサムを移動させてウィンドウ内に利用可能な行のうちのどれが示されるかを変更することができるようにする。
【００４２】
図３ｂは、アプリケーションが後でさらに１５の項目を追加したときに撮られたスクリーン・ショットを示す。サムのサイズは変化していないが、スクロール・バーが長くなっており、ｘ／ｚ＝１４／３０；ｚ／ｙ＝３０／６０＝１／２完了である。
【００４３】
図３ｃに示されているように、さらに後になり１５のさらなる項目が追加されても、サムのサイズは、サイズ面ではやはり変化していないが、スクロール・バーのサイズがさらに拡大しており、ｘ／ｚ＝１４／４５；ｚ／ｙ＝４５／６０＝３／４完了である。
【００４４】
スクロール・バー（１４’）のサイズは、すべてのデータが読み出されてスクロール・バーがトラック（２０）の全長を占めるまで拡大し続け、その結果トラック（２０）は見えなくなる。好適な実施形態では、トラックは非アクティブなユーザ・インターフェース要素であり、トラック上でのユーザ入力／マウス・クリックに何も効果はないため、ビューをスクロールするには、ユーザは上に重なっているバーと対話しなければならない。なお、他の実施形態では、トラックがさらなる機能性を提供してもよい。
【００４５】
この技術の利点は、ユーザが、利用可能なリスト・データすべての完了へ向けた進捗を、スクロール・バーのサイズ、すなわち図３ａ、３ｂおよび３ｃのｚ／ｙの割合で確かめることができるということである。さらに、スクロール・バーのサムのサイズは時間とともに変化せず、ユーザが自分のマウスで選択しようとしなければならないボタンのサイズが動的に変化したり、移動したりすることがないため、リストがより使いやすくなる。
【００４６】
当然のことながら、マイクロ・プロセッサ、デジタル信号プロセッサ、またはその他の処理デバイス、データ処理装置もしくはシステムなど、ソフトウェア制御されるプログラマブル処理デバイスを使用して、記載された本発明の実施形態が少なくとも部分的に実装可能な限り、前述の方法を実装するようプログラマブル・デバイス、装置またはシステムを構成するコンピュータ・プログラムは、本発明の態様であると見なされる。例えば、コンピュータ・プログラムは、ソース・コードとして具現化されてもよく、処理デバイス、装置もしくはシステム上での実装のためにコンパイルされてもよく、またはオブジェクト・コードとして具現化されてもよい。
【００４７】
コンピュータ・プログラムは、例えば個体メモリ、ディスクまたはテープなどの磁気メモリ、コンパクト・ディスク（ＣＤ：ｃｏｍｐａｃｔ  ｄｉｓｋ）またはデジタル多用途ディスク（ＤＶＤ：Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋ）などの光学的または磁気光学的に読み取り可能なメモリ内など、マシン可読形式またはデバイス可読形式で搬送媒体上に格納され、処理デバイスは、そのプログラムまたはその一部を利用して、処理デバイスを動作のために構成することが適切である。コンピュータ・プログラムは、電子信号、無線周波数搬送波または光搬送波などの通信媒体に具現化されて、リモート・ソースから供給されてもよい。そのような搬送媒体も、本発明の態様であると見なされる。
【００４８】
当業者には当然のことながら、本発明は、上述の例示としての実施形態に関して記載されてきたが、本発明はそれに限定されず、本発明の範囲内に入る多数の可能な変形物および変更物がある。
【００４９】
本発明の範囲は、本願明細書において開示されたあらゆる新規特徴または複数の特徴の組み合わせを含む。出願人は、この出願もしくはそこから派生するさらなる出願の審査中にこのような特徴または特徴の組み合わせに対して新たな請求項が策定されることもあるということをここに予告する。特に、添付の特許請求の範囲に関しては、従属請求項の特徴が独立請求項の特徴と組み合わされてもよく、各独立請求項の特徴が特許請求の範囲で列挙されている特定の組み合わせのみではなく任意の適切な方法で組み合わされてもよい。
【００５０】
疑いを回避する目的で、本願明細書中、明細書および特許請求の範囲全体で使用されている「含む」という言葉は、「のみから成る」という意味として解釈されてはならない。
【図１】
0005827468.tif 000002
【図２】
0005827468.tif 000003
【図３】
0005827468.tif 000004
【図４】
0005827468.tif 000005
【図５】
0005827468.tif 000006
【図６】
0005827468.tif 000007