特許第5827468号(P5827468)IP Force 特許公報掲載プロジェクト 2015.5.11 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ インターナショナル・ビジネス・マシーンズ・コーポレーションの特許一覧
<>
  • 特許5827468-スクロール・バー・コントロール 図000002
  • 特許5827468-スクロール・バー・コントロール 図000003
  • 特許5827468-スクロール・バー・コントロール 図000004
  • 特許5827468-スクロール・バー・コントロール 図000005
  • 特許5827468-スクロール・バー・コントロール 図000006
  • 特許5827468-スクロール・バー・コントロール 図000007
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】5827468
(24)【登録日】2015年10月23日
(45)【発行日】2015年12月2日
(54)【発明の名称】スクロール・バー・コントロール
(51)【国際特許分類】
   G06F 3/0485 20130101AFI20151112BHJP
【FI】
   G06F3/048 656D
【請求項の数】13
【全頁数】14
(21)【出願番号】特願2010-523464(P2010-523464)
(86)(22)【出願日】2008年8月6日
(65)【公表番号】特表2010-538380(P2010-538380A)
(43)【公表日】2010年12月9日
(86)【国際出願番号】EP2008060354
(87)【国際公開番号】WO2009030576
(87)【国際公開日】20090312
【審査請求日】2011年7月7日
【審判番号】不服-16802(P-16802/J1)
【審判請求日】2014年8月25日
(31)【優先権主張番号】07115946.1
(32)【優先日】2007年9月7日
(33)【優先権主張国】EP
(73)【特許権者】
【識別番号】390009531
【氏名又は名称】インターナショナル・ビジネス・マシーンズ・コーポレーション
【氏名又は名称原語表記】INTERNATIONAL BUSINESS MACHINES CORPORATION
(74)【代理人】
【識別番号】100108501
【弁理士】
【氏名又は名称】上野 剛史
(74)【代理人】
【識別番号】100112690
【弁理士】
【氏名又は名称】太佐 種一
(72)【発明者】
【氏名】シャーラー、レベッカ、ジョー
(72)【発明者】
【氏名】ウィンチェスター、ジョセフ、ロバート
【合議体】
【審判長】 和田 志郎
【審判官】 小曳 満昭
【審判官】 千葉 輝久
(56)【参考文献】
【文献】 特開平11−110178(JP,A)
【文献】 特開平08−212045(JP,A)
【文献】 特開2007−018089(JP,A)
【文献】 特開2006−185155(JP,A)
【文献】 特開2005−159752(JP,A)
【文献】 特開2005−056302(JP,A)
【文献】 特表2002−537597(JP,A)
【文献】 特開2003−330699(JP,A)
【文献】 米国特許出願公開第2007/0157112(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06F3/048,3/00,3/14
(57)【特許請求の範囲】
【請求項1】
コンピュータ・プログラムのデータの表示を、前記コンピュータ・プログラムによるデータの読み出し中にスクロールさせるユーザ・インターフェース・コントロールによるビュー・ウィンドウを介してユーザが見ることができる領域にデータが表示されている画面表示がされる表示装置であって、前記コントロールは、トラック(20)と、前記トラックの上に重なっていてトラック(20)いっぱいまで伸長可能なバー(14´)と、前記表示されているデータをスクロールさせるよう前記バーに沿って移動可能なサム(16)とを含み、前記サムはサイズ(x)であり、前記トラックのサイズ(y)が、読み出されるデータすべての総量を示してすべてのデータが読み出されたときのバーの最終的な範囲を示し、前記バーのサイズ(z)が、データ読み出しの進捗を示すよう既に読み出されているデータの量に応じてトラック(20)の全長を占めるまで拡大し続けるように変化し、データすべての読み出しの完了へ向けた進捗をz/yの割合で、読み出されたデータの総量に対するビュー・ウィンドウに表示されているデータの量の割合をx/zの割合で、各々確かめることができる、ユーザ・インターフェース・コントロールによる画面表示がされる表示装置。
【請求項2】
前記サムのサイズ(x)は固定されていて時間とともに変化しない、請求項1に記載のユーザ・インターフェース・コントロールによる画面表示がされる表示装置。
【請求項3】
前記サムがユーザ入力なしに移動することがない、請求項2に記載のユーザ・インターフェース・コントロールによる画面表示がされる表示装置。
【請求項4】
コンピュータ・プログラムのデータの表示を、前記コンピュータ・プログラムによるデータの読み出し中にスクロールさせるユーザ・インターフェース・コントロールを提供する方法であって、
前記コンピュータ・プログラムのデータの一部を受信するステップと、
前記受信されたデータを、前記コンピュータ・プログラムに割り当てられている表示領域内に表示するステップと、
1つ以上のスクロール・バー・コントロール(単数または複数)を前記表示領域の中に提供するステップであって、前記スクロール・バー・コントロールはそれぞれ、トラック(20)と、前記トラックの上に重なっていてトラック(20)いっぱいまで伸長可能なバー(14´)と、前記表示されているデータをスクロールさせるよう前記バーに沿って移動可能なサム(16)とを含み、前記サムはサイズ(x)であり、前記トラックのサイズ(y)が、読み出されるコンピュータ・プログラムのデータすべての総量を示してすべてのデータが読み出されたときのバーの最終的な範囲を示し、前記バーのサイズ(z)が、前記データ読み出しの進捗を示すよう既に読み出されているデータの量に応じてトラック(20)の全長を占めるまで拡大し続けるように変化し、データすべての読み出しの完了へ向けた進捗をz/yの割合で、読み出されたデータの総量に対するビュー・ウィンドウに表示されているデータの量の割合をx/zの割合で、各々確かめることができる、前記提供するステップと、
を含む方法。
【請求項5】
前記受信されたデータの複数の表示寸法を判断するステップと、
前記表示寸法と、前記コンピュータ・プログラムに割り当てられている表示領域のサイズとを比較するステップと、
前記表示寸法のうちの1つ以上が、前記割り当てられている表示領域の対応する寸法よりも大きければ、スクロール・バー・コントロールを表示するステップと、
をさらに含む、請求項4に記載の方法。
【請求項6】
前記コンピュータ・プログラムによってデータのセットを要求するステップと、
前記要求されたデータのセットのサイズを判断するステップと、
をさらに含む、請求項4または5に記載の方法。
【請求項7】
前記サムのサイズ(x)を、固定サイズであって時間とともに変化しないように設定するステップを含む、請求項4、5または6に記載の方法。
【請求項8】
前記サムがユーザ入力なしに移動することがない、請求項4〜7のいずれかに記載の方法。
【請求項9】
データの他の部分を受信するステップと、
利用可能な前記データの拡大したサイズを示すよう、前記バーの前記サイズ(z)を拡大するステップと、
をさらに含む、請求項4〜8のいずれかに記載の方法。
【請求項10】
コンピュータ・プログラムのデータを、前記コンピュータ・プログラムによるデータの読み出し中に表示するシステムであって、
1つ以上のビュー・ウィンドウを管理するウィンドウ・マネージャと、
1つ以上のスクロール・バー・コントロール(単数または複数)を制御するスクロール・バー・マネージャであって、前記スクロール・バー・コントロールはそれぞれ、トラック(20)と、前記トラックの上に重なっていてトラック(20)いっぱいまで伸長可能なバー(14´)と、前記表示されているデータをスクロールさせるよう前記バーに沿って移動可能なサム(16)とを含み、前記サムはサイズ(x)であり、前記トラックのサイズ(y)が、読み出されるデータすべての総量を示してすべてのデータが読み出されたときのバーの最終的な範囲を示し、前記バーのサイズ(z)が、前記データ読み出しの進捗を示すよう既に読み出されているデータの量に応じてトラック(20)の全長を占めるまで拡大し続けるように変化し、データすべての読み出しの完了へ向けた進捗をz/yの割合で、読み出されたデータの総量に対するビュー・ウィンドウに表示されているデータの量の割合をx/zの割合で、各々確かめることができる、前記スクロール・バー・マネージャと、
を含むシステム。
【請求項11】
前記サムのサイズ(x)は固定されていて時間とともに変化しない、請求項10に記載のシステム。
【請求項12】
前記サムがユーザ入力なしに移動することがない、請求項10または11に記載のシステム。
【請求項13】
請求項4〜9のいずれかに記載の方法を実行するためのコンピュータ実行可能命令を有する、コンピュータ・プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ユーザ・インターフェース・コントロールの分野に関し、特にスクロール・バーに関する。
【背景技術】
【0002】
ユーザ・インターフェース(UI:User Interface)は、グラフィック要素を用いて、ユーザが利用可能なアプリケーションの情報およびアクションを表現することで、コンピュータ・システムのユーザがコンピュータ・アプリケーション・プログラムと対話できるようにする。通常、アクションは、コントロールと呼ばれる、表示されるグラフィック要素、すなわちウィジェットをユーザが直接操作することによって実行される。
【0003】
コンピュータ・アプリケーションは、表示画面の或る領域を割り当てられることが多く、その中にそのアプリケーションの提示コンテンツ、例えばウェブ・ページ、電子メール・メッセージまたは図の全部または一部を表示することができる。アプリケーション提示スペース(application presentation space)の寸法が、そのアプリケーションに与えられている画面上の表示領域の寸法よりも水平方向および垂直方向あるいはそのいずれかにおいて大きければ、スクロール・バーが表示される。スクロール・バーが提供するメカニズムにより、提示スペースの可視部を選択することができる。
【0004】
表示領域は、多くの場合、ビュー・ウィンドウ(view window)内に提供され、ビュー・ウィンドウは、中心的な提示コンテンツのフレームまたは箱を提供し、希望に応じて、サイズを変更すること、移動させること、隠すこと、元に戻すこと、および閉じることができる。スクロール・バーは、ビュー・ウィンドウを介して見ることができる提示スペースの範囲を操作するために使用され、さらに、ウィンドウ内に表示されているデータの、提示スペース全体に対する場所を示すためにも使用される。
【0005】
スクロール・バーの制御には、マウスまたはトラックボール・デバイスなどのカーソル・コントロール・デバイスを使用することができる。図1aおよび1bに示されているように、スクロール・バー・コントロール(scroll bar control)10は、通常、ビュー・ウィンドウ18の片側または両側に沿った縦方向のバー14として設計され、それぞれがサム・ボタン(thumb button)16を含む。典型的には、ユーザは、サムをスクロール・バー・コントロール内のどこかへドラッグすることによって、表示されるビューを操作することができる。あるいは、ユーザは、サムの片側でバーをクリックすることによって、徐々に、行/列単位で、またはページ・サイズもしくは水平/垂直のビュー寸法などのより大きな単位で、ビューを上下にスクロールする。通常、スクロール・バー・コントロールはさらに、スクロール・バーの両端にスクロール・ボタン15を含む。ユーザは、スクロール・ボタンによって、提示スペース中を上下または左右にスクロールさせることができる(一度のマウス・クリックで単位ごとに、またはスクロール・ボタンを押したままにして連続的に)。これは、ユーザが提示スペース中で、ウィンドウを垂直および水平あるいはそのいずれかにスクロールさせる迅速かつ効率的な方法を提供する。
【0006】
水平なスクロール・バー・コントロールの場合、サムは左側の境界(従来は、最小位置)と、右側の境界(従来は、最大位置)との間で、水平に移動可能である。同様に、垂直なスクロール・バー・コントロールの場合、サムは下側の境界(従来は、最下部または最大位置)と、上側の境界(従来は、最上部または最小位置)との間で垂直に移動可能である。
【0007】
最近のスクロール・バーでは、サムのサイズが、アプリケーション提示スペースのサイズ(すなわち全利用可能データの量)に対する、可視表示領域のサイズ(すなわち可視データの量)の割合を示し、スクロール・バーに沿ったサムの位置が、提示スペースの、表示されている領域(すなわちデータの一部分)の場所を示すことが多い。
【0008】
例えば、UIを使用して、ユーザに30のデータ項目が提示されるが、そのうち14を一覧表示できるだけしか画面上のスペースがないと仮定する。図1aは、典型的にはどのようにして、利用可能データに対する可視データの割合が、バーの全長(y)に対するサムのサイズ(x)の割合としてユーザに伝えられるのかを示す。つまり、図1aにおいて、x/y=14/30である。
【0009】
図1bは、サムが移動されると、ウィンドウ内に表示されている項目がどのように変化するのかを示す。サム16の上端が、スクロール・バーの最上部から、距離a移動されている。図1bでは、サムの最上部はこの時点で、スクロール・バーの長さに沿う距離の1/3のところにあり、すなわちa/y=1/3である。したがって、ビュー内の最上位項目は、項目30/3=10である。利用可能データの量は図1aと同じままであることから、サム・ボタン16のサイズ(x)は変わらないままで、バーの長さの14/30の割合である。
【発明の概要】
【発明が解決しようとする課題】
【0010】
非同期的に投入されるデータを制御するためにユーザ・インターフェースが使用され、データが受信されるにつれて、すなわちデータの完全なセットが読み出される前にアプリケーションがデータを表示用に利用可能にするシナリオでは、問題が起こる。これは、ネットワークを介した読み出しに何らかの待ち時間があるサーバからのデータ・セットを表示していて、データがファイルもしくはページなど別々の部分ごとに利用可能となる場合など、利用可能になるデータに遅延がある場合、または利用可能なデータ・セットに追加されるデータ項目同士の間で、かなりの時間がかかる何らかの処理がある場合に起こる。そのようなシナリオでは、すべての項目が分かるまで待ってからリストをユーザに対し利用可能にするよりも、利用可能なデータをユーザに示して、更新が受信されるにつれて表示を更新すると有益である。これには、ユーザが、データ項目が1つずつ利用可能になるにつれてそれを用いて作業し始めることができ、プログラムが非同期的にさらなる項目を追加している間、ユーザは作業を続けられるという利点がある。しかし、行数など、利用可能データのサイズが時間とともに拡大することから、この結果、可視項目/利用可能項目の新たな割合を反映するようスクロール・バーのサムのサイズが縮小し、さらに、サムがスクロール・バーの最上部にない場合、可視データの相対的な場所が同じく変化するにつれてサムも上へ移動するかもしれない。
【0011】
これは、最初は15、次に30、最後に45の利用可能項目がある、項目リストの表示の経時的な進捗を示す図2a、2bおよび2cに示されている。利用可能項目(行)の数が変化しているため、各状況においてサムのサイズが異なる。リスト内に15の項目があるとき(図2a)は割合x/y=14/15であり、続いて後から30の項目になると(図2b)割合x/y=14/30である。図2cは、時間が進み続けるにつれ、サムのサイズが縮小し続け、合計45の項目で割合x/yがちょうど14/45となることを示す。この状況では、リストはユーザにとって操作し難い。アプリケーションがさらなる行を追加するにつれてサムのサイズが動的に縮小していくことから、リストが図2aに示されている状態で、ユーザがサムを移動させてリストをスクロールさせるためにあらかじめサムを選択する場合、サムは移動するターゲットとなる。さらに、さらなる行が追加されるにつれ、表示されているデータ項目の、リスト内の他のデータ項目に対する相対的な場所が変化する。これは、サム・ボタンの、サイズの変化だけでなく、スクロール・バーに沿った移動にもつながると考えられる。さらに、ユーザが他のビューまでスクロールさせたい場合、スクロール・バーに沿った位置によって表される相対的な場所が変化し続けるため、ユーザは、データの必要部分を見えるようにするにはどの位置にサムを移動させるべきかを判断することができない。
【0012】
もう1つの問題は、アプリケーションが項目をバックグラウンドで追加しているため、リストが完成したときにユーザが知るすべがないということである。この問題を打開する従来技術の方法は、別の種類のインジケータであるアニメーションのグラフィックをUIに追加する。これは例えば、動作が発生していることを示すよう状態が変化し、ウェブ・ブラウザで見られる、進捗バー、ビジー・カーソルなどである。これには、UIの他の場所にあるため、リストを見てそれを用いて作業しているユーザの真正面になく、さらに、進捗インジケータをそれぞれ必要とする2つ以上のビュー・ウィンドウがある場合にユーザが混乱しかねないという欠点がある。一部のアプリケーションにおける解決策は、部分的に利用可能なリスト項目はユーザに示さず、読み出しタスク全体が完了するまで待つことであるが、これは、項目が利用可能になるにつれてユーザがそれを用いて作業し始めることを妨げることから、ユーザビリティに乏しく、さらに、データを見てそれを用いて作業できるまでユーザがより長い時間待たなければならないため、感じられる応答時間が長くなる。
【0013】
本発明は、こうした問題に対処することを目的としている。
【課題を解決するための手段】
【0014】
本発明の第1の態様は、コンピュータ・プログラムのデータの表示を、コンピュータ・プログラムのデータの読み出し中にスクロールさせるユーザ・インターフェース・コントロールを提供する。このコントロールは、トラック(track)と、前記トラックの上に重なっている伸長可能なバー(extendable bar)と、表示されているデータをスクロールさせるようバーに沿って移動可能なサムとを含み、トラックのサイズが、読み出されるデータの総量を示し、バーのサイズが、データ読み出しの進捗を示すよう変化する。したがって、トラックのサイズに対するバーのサイズの割合が、全データに対する利用可能データの割合を示す。
【0015】
この技術の利点は、ユーザがデータ読み出しの完了までの進捗を確かめることができるということである。
【0016】
好適な実施形態では、コンピュータ・プログラムのデータが、そのコンピュータ・プログラムに割り当てられている表示領域内に表示され、サムのサイズは固定されている。(トラックの対応するサイズと比較した)サムのサイズは、読み出されるデータの総量に対する、表示領域内に表示されているデータの量の割合を示すことが好ましい。これには、スクロール・バーのサムのサイズが時間とともに変化することも、サムがユーザ入力なしで移動することもなく、ユーザがスクロール・バー・コントロールと対話するのを容易にするというさらなる利点がある。
【0017】
本発明の別の態様は、コンピュータ・プログラムのデータの表示を、コンピュータ・プログラムによるデータの読み出し中にスクロールさせるためのユーザ・インターフェース・コントロールを提供する方法を提供する。本方法は、コンピュータ・プログラムのデータの一部を受信することと、受信されたデータの一部または全部を、コンピュータ・プログラムに与えられている表示領域内に表示することとを含む。本方法はさらに、表示領域内に1つ以上のスクロール・バー・コントロール(単数または複数)を提供することを含む。スクロール・バー・コントロールはそれぞれ、トラックと、前記トラックの上に重なっている伸長可能なバーと、表示されているデータをスクロールさせるようバーに沿って移動可能なサムとを含む。トラックのサイズが、読み出されるコンピュータ・プログラムのデータの総量を示し、バーのサイズが、データ読み出しの進捗を示すよう変化する。
【0018】
本発明のさらなる態様は、コンピュータ・プログラムのデータを、コンピュータ・プログラムによるデータの読み出し中に表示するシステムを提供する。このシステムは、コンピュータ表示装置上の1つ以上のビュー・ウィンドウを管理するウィンドウ・マネージャと、1つ以上のスクロール・バー・コントロール(単数または複数)を制御するスクロール・バー・マネージャとを含む。各スクロール・バー・コントロールは、トラックと、前記トラックの上に重なっている伸長可能なバーと、表示されているデータをスクロールさせるようバーに沿って移動可能なサムとを含む。トラックのサイズが、読み出されるデータの総量を示し、バーのサイズが、データ読み出しの進捗を示すよう変化する。
【0019】
以下、本発明の好適な実施形態を、単なる一例として添付の図面を参照して説明する。
【図面の簡単な説明】
【0020】
図1図1aおよび図1bは、全データが利用可能となっている、ユーザ・アプリケーションからのデータを示すビュー・ウィンドウにおける従来技術のスクロール・バーである。
図2図2a、2bおよび2cは、読み出されているデータ・セットのデータを表示している一連のビュー・ウィンドウ、および従来技術のスクロール・バーである。
図3図3a、3bおよび3cは、本発明の実施形態によるスクロール・バーを備えた一連のビュー・ウィンドウである。
図4】本発明の実施形態によるデータ処理システムのネットワークの概略図である。
図5】本発明の実施形態によるアプリケーション・データを表示するユーザ・アプリケーションのコンポーネントである。
図6】本発明の実施形態による方法に含まれるステップの流れ図である。
【発明を実施するための形態】
【0021】
本発明は、全データに対する利用可能データの割合を示すようバーのサイズを変更することによって、進捗インジケータを提供するよう従来のスクロール・バーを変更するものである。このバーに沿って、サム・ボタンが、表示データをスクロールさせるよう移動可能である。
【0022】
図3a、3bおよび3cは、そのような変更されたスクロール・バー・コントロールの利用法を示すものであり、伸長可能なバー14’と、表示データをスクロールさせるようこのバーに沿って移動可能なサム16とを含む。スクロール・バー14’のサイズは、既に読み出されているデータの量に応じて変化し、それによってデータ読み出しの進捗を示す。バーは、トラック20いっぱいまで伸びるが、トラック20の範囲は、すべてのデータが読み出されたときのスクロール・バーの最終的な範囲を示す。サムのサイズは、読み出されるデータの総量に対する、ビュー・ウィンドウ内に表示されているデータの量の割合を示す。
【0023】
本発明の利点は、2つの要因が生じた状況で実現される。1つ目は、一部分ずつ利用可能になっていく表示すべきデータの完全なセットを判断する、アプリケーションにおける待ち時間である。2つ目は、アプリケーションが、表示する予定のデータの合計サイズを計算できることである。この値が、完了時の行の総数に対する利用可能な行の数の割合として、スクロール・バーのサイズを変更することを可能にする。
【0024】
例えば、現在ダウンロード中の項目のリストを表示するアプリケーションでは、リストに追加するデータ項目を判断するのにかなりの作業が必要なこともある。このアプリケーションのユーザにとっては、他の項目がまだ読み出されている間に利用可能な項目を用いて作業できるように、データ項目が利用可能になるにつれてそれを示されると、有益である。このアプリケーションが、一覧表示する予定のデータ項目または作成する予定の行の総数を計算することができれば、スクロール・バーのサイズを、完了時の行の総数に対する利用可能な行の数の割合を示すよう変更することが可能である。
【0025】
これが生じる状況の一例は、ウェブ・ブラウザ・アプリケーションを介し、FTPなどの待ち時間に縛られた接続によって文書をダウンロードする際である。この場合、あらかじめ合計のファイル・サイズを判断することができ、各ページが利用可能になるにつれてそれがユーザに示される。スクロール・バーは、完全な文書のダウンロードへ向けた現在の進捗とともに、ダウンロードされた利用可能なページの中のどこに可視ウィンドウを配置することができるかのフィードバックをユーザに与えることができる。
【0026】
この両方が生じるもう1つの状況は、構造化照会言語(SQL:structured query language)を使用してデータベースから行を読み出しているアプリケーションにおいてである。この場合、クエリからの結果セットを反復するのに必要な待ち時間がある。行の総数は、SELECT COUNT(*)クエリを実行することによって判断することができる。
【0027】
図4を参照する。複数のデータ処理システムを接続する、インターネットなどのコンピュータ・ネットワーク41の簡略図が示されている。図4に示されているネットワーク41は、1つ以上のサーバ42、クライアント40およびデータベース43に接続されている。図4は、そのようなデータ処理システム40の典型的なコンポーネントの簡略図を示しており、ローカル・インターフェース46に結合されたプロセッサ(CPU:central processing unit)52、メモリ44を含む。1つ以上のユーザ入力デバイス48が、ローカル・インターフェース46に接続されている。さらに、ハード・ストレージ50およびネットワーク・インターフェース・デバイス58が提供されている。
【0028】
プロセッサ52は、メモリ44にあるソフトウェアを実行するハードウェア・デバイスであればよく、任意の特別仕様もしくは市販のプロセッサ、中央処理装置(CPU)、半導体ベースのマイクロ・プロセッサ、マクロ・プロセッサであってもよく、またはソフトウェア命令を実行するデバイスであればほぼ何でもよい。
【0029】
メモリ44は、揮発性メモリ要素(例えば、ランダム・アクセス・メモリ(RAM(random access memory)、例えばDRAM、SRAM、SDRAMなど))および不揮発性メモリ要素(例えばROM、ハード・ドライブ、テープ、CDROM、DVDROMなど)のうちのいずれか1つまたはその組み合わせを含めばよい。メモリ44は、電子、磁気、光学およびその他の種類、あるいはそのいずれかのストレージ媒体を組み入れていればよい。メモリ44はさらに、種々のコンポーネントが互いに遠隔に位置するがプロセッサ52によってアクセス可能である、分散型アーキテクチャであってもよい。
【0030】
ローカル・インターフェース46は、例えば、1つ以上のバス、またはその他の有線または無線接続であればよく、コントローラ、バッファ(キャッシュ)、ドライバ、リピータ、レシーバなど、簡単にするために省略されているさらなる要素を含んでもよい。さらに、ローカル・インターフェース46は、データ処理システム40のコンポーネント間の適切な通信を可能にするアドレス、コントロールおよびデータ接続あるいはそのいずれかを含めばよい。
【0031】
入出力(I/O:input/output)デバイス48は、キーボード、カーソル・コントロール・デバイス、表示デバイス60など、ローカル・インターフェース46と通信するよう構成されている任意のデバイスを含めばよい。光学式ドライブ、フレキシブル・ディスク・ドライブ、カメラ、I/Oポート、プリンタ、スピーカ、マイクロホン、スキャナなどのさらなる入出力デバイスも提供され得る。
【0032】
データ処理システム40、42は、例えば、パーソナル・コンピュータ(PC:personal computer)、ラップトップ、サーバ、ワークステーション、または携帯情報端末(PDA:personal digital assistant)、移動電話もしくは同様のものなどの携帯用コンピュータ・デバイスを含めばよい。さらに、データ処理システム40、42は、図4に示されていないさらなるコンポーネントを含んでもよく、他の実施形態では、図4に示されているコンポーネントのすべてを含まなくてもよい。
【0033】
ネットワーク・インターフェース・デバイス58は、データ処理システム40と、コンピュータまたは電気通信ネットワーク41とを結合させるよう構成された任意のデバイスであればよい。ネットワーク41は、ローカル・エリア・ネットワーク(LAN:Local Area Network)、プライベート・コンピュータ・ネットワーク、公衆パケット交換ネットワークもしくはプライベート・パケット交換ネットワークなどの電気通信ネットワーク、またはインターネット、回線交換ネットワーク、もしくは無線ネットワークを含むその他のデータ・ネットワークであればよい。
【0034】
様々な機能を実装する、または情報を伝達するコンピュータ・プログラムは、例えば、1つ以上のDVD/CD‐ROM、およびフレキシブル・ディスク、およびUSBメモリ・デバイスあるいはそのいずれかなどの搬送媒体上に提供され、次にハード・ディスク上に格納されてもよい。さらに、データ処理システムによって実装可能なプログラムは、例えば電気通信ネットワーク上およびインターネット上あるいはそのいずれかなど、電気通信媒体上で提供され、電子信号として具現化されてもよい。無線電話ネットワークを介して無線端末として動作するデータ処理システムについては、電気通信媒体は、コンピュータ・プログラムおよびデータを表す適切な符号化信号を送る無線周波数搬送波であればよい。任意選択で、搬送波は、光ファイバの光搬送波であってもよく、またはその他任意の、電気通信システムの適切な搬送媒体であってもよい。
【0035】
図4では、メモリ44内にオペレーティング・システム(OS:operating system)54およびアプリケーション56が示されている。アプリケーション56は、データ処理システム40上で現在実行されているプロセスを指す。OSは、データ処理システム40のソフトウェア(またはファームウェア)コンポーネントであり、これは、プログラムに対して、プログラムをメモリにロードすることおよびプログラムを実行することを含む特定のサービスを提供することによって、プログラムを実行するための環境を提供する。OSはさらに、複数のアプリケーションおよびプロセスあるいはそのいずれかの間での内部メモリの共有を管理し、入力および出力コントロール、ファイルおよびデータ管理、通信コントロールならびに関連サービスを担当する。アプリケーション・プログラムは、アプリケーション・プログラム・インターフェース(図示せず)を介してOSに対しサービス要求をする。
【0036】
アプリケーション56は、ユーザ・インターフェースを介して表示デバイス60上でユーザにデータを表示する1つ以上のアプリケーションを含めばよい。マウス、トラック・ボール、キーボード・ナビゲーション・キーのセット(例えば矢印キー)、タッチパッド、ジョイスティック、またはタッチ・センシティブ・スクリーンなど、アプリケーション56およびOS54あるいはそのいずれかと協働するよう構成されているカーソル・コントロール・デバイスは、ユーザ入力を提供して、表示デバイス60に表示される1つ以上のカーソル(単数または複数)を操作するために使用することができる。さらに、そのようなデバイスは、例えばスクロール・バーのサムをドラッグするためなど、1つ以上のユーザ・インターフェース・ウィジェットと対話するために使用することができる。
【0037】
図5は、アプリケーション・データ64を表示デバイス60上のビュー・ウィンドウ内に表示するユーザ・アプリケーション56のコンポーネントの、メモリ44内での構成を示す。ユーザ・インターフェース66は、ユーザ・アプリケーション・データが表示されるとよい、表示装置上の1つ以上のビュー・ウィンドウを制御するウィンドウ・マネージャ68と、各ビュー・ウィンドウ内に表示されるとよく個々のビュー・ウィンドウ内で表示をスクロールさせるためにユーザにより操作されるとよい1つ以上のスクロール・バー・コントロール(単数または複数)を管理するスクロール・バー・マネージャ65とを含む。スクロール・バー・マネージャはデータを格納するが、このデータは例えば、各スクロール・バー・コントロールのサムの場所、サムのサイズおよびバーのサイズを含むとよい。
【0038】
ユーザ・アプリケーションは、データ処理システム40に直接もしくはネットワークを介して間接的に結合されているとよいサーバから、またはデータベースからなど、別の場所からデータを読み出すことができる。ユーザ・アプリケーション62が文書などの特定のデータ・ファイルを要求するときなど、場合により、アプリケーションは要求されたファイルのサイズを既に認識していることもある。他の場合には、データをアプリケーションに送信するサーバまたはデータベースが、例えばメッセージ・ヘッダ内で、アプリケーションに送信されるデータの合計サイズの指示を送信するべきである。ユーザ・アプリケーションは、アプリケーション・データを受信するにつれてそれを格納し、受信データの全部または一部を、ビュー・ウィンドウ内に非同期的に表示する。
【0039】
必要なとき、さらにユーザ・インターフェースは、細長いトラックと、トラックの上に重なる伸長可能なバーと、表示データをスクロールするようバーに沿って移動可能なサムとを含むスクロール・バー・コントロールをビュー・ウィンドウ内に表示する。トラックのサイズは、読み出されるデータの総量を示し、それと比較して、サムのサイズはビュー・ウィンドウ内に見える部分のサイズを示す。スクロール・バーのサイズは、既に読み出されたデータの量に応じて変化し、それによってデータ読み出しの進捗を示す。
【0040】
図6は、ユーザ・アプリケーションが別々の部分ごとにデータ・セットを読み出して、非同期的に、すなわち、データの完全なセットが読み出された時点で初めてはなく受信されるにつれて、データを表示に利用可能にする場合に、スクロール・バー・コントロールを表示するのに必要なステップの流れ図を示す。データ読み出しプロセスの始めに、ユーザ・アプリケーション56は、読み出されるデータの総量を判断する(ステップ600)。データ読み出しプロセスは、ユーザ・アプリケーションからの、データの特定セットの要求(1)によって開始されるとよく、この要求は、要求されるデータ・セットのサイズについてのクエリを含むとよい。次に、応答(2)によって受信されるデータの第1の部分が、要求されたデータの合計サイズを示すとよい。要求されたデータの第1部分がユーザ・アプリケーション・ソフトウェアによって受信されると、この第1部分は、ユーザに対して表示されるようユーザ・インターフェース・コンポーネントに渡される(3)。このコンポーネントは、データの受信部分を見るのに必要な表示寸法を判断する(ステップ602)。次に、ユーザ・インターフェース・コンポーネントは、この表示寸法と、アプリケーションに割り当てられているビュー・ウィンドウの寸法とを比較して(ステップ604)、利用可能なデータすべてをビュー・ウィンドウ内に表示可能かどうかを判断する。ビュー・ウィンドウの寸法が、受信データを見るのに必要な寸法よりも大きければ、ビュー・ウィンドウ内にスクロール・バー・コントロールは必要なく、方法はステップ602に戻って、データの次の部分の到着を待つ。ビュー・ウィンドウの寸法が十分でなければ、プロセスはステップ606に移動し、ここでスクロール・バー・マネージャが、1つ以上のスクロール・バー・コントロール(単数または複数)を作成する。各スクロール・バー・コントロールに関して、スクロール・バー・マネージャは、要求されたデータ量の表示サイズに対する利用可能な合計の表示サイズの割合に応じて、バー(14’)の長さzを設定し(トラック(20)の長さyと比較して)、読み出されるデータの総量と比較したビュー・ウィンドウ内に見えるデータ量の割合に応じてサム(16)の長さxを設定する(トラックの長さyと比較して)。ステップ608で、アプリケーション・ソフトウェアが、表示に追加すべきさらなるデータを受信すると、方法はステップ604に戻り、次に、ビュー・ウィンドウおよびスクロール・バー・コントロールあるいはそのいずれかを、それに応じて作成し直す。
【0041】
一例として、図3a、3bおよび3cは、構造化照会言語(SQL)を使用してデータベースから行を読み出しているユーザ・アプリケーションによって表示され得る一連のビュー・ウィンドウを示す。アプリケーションは、SELECT(COUNT)関数を使用することで、特定のデータベース・クエリによって生じる行の総数を判断することができる。この例では、クエリの結果がすべて受信されると、合計60行が一覧表示される。図3aでは、それまでのところ、リストに15行のみが追加されている。したがって、スクロール・バー(14’)の長さzは、15/60=トラック(20)の長さyの1/4である。しかし、サム(16)の長さxは、60行すべてが利用可能であるかのように設定されている。時間とともにさらなる行が利用可能になるにつれて変化するサイズは、スクロール・バーの長さzのみである。z/yの割合は、完了までの進捗を示し、x/zの割合は、ユーザがサムを移動させてウィンドウ内に利用可能な行のうちのどれが示されるかを変更することができるようにする。
【0042】
図3bは、アプリケーションが後でさらに15の項目を追加したときに撮られたスクリーン・ショットを示す。サムのサイズは変化していないが、スクロール・バーが長くなっており、x/z=14/30;z/y=30/60=1/2完了である。
【0043】
図3cに示されているように、さらに後になり15のさらなる項目が追加されても、サムのサイズは、サイズ面ではやはり変化していないが、スクロール・バーのサイズがさらに拡大しており、x/z=14/45;z/y=45/60=3/4完了である。
【0044】
スクロール・バー(14’)のサイズは、すべてのデータが読み出されてスクロール・バーがトラック(20)の全長を占めるまで拡大し続け、その結果トラック(20)は見えなくなる。好適な実施形態では、トラックは非アクティブなユーザ・インターフェース要素であり、トラック上でのユーザ入力/マウス・クリックに何も効果はないため、ビューをスクロールするには、ユーザは上に重なっているバーと対話しなければならない。なお、他の実施形態では、トラックがさらなる機能性を提供してもよい。
【0045】
この技術の利点は、ユーザが、利用可能なリスト・データすべての完了へ向けた進捗を、スクロール・バーのサイズ、すなわち図3a、3bおよび3cのz/yの割合で確かめることができるということである。さらに、スクロール・バーのサムのサイズは時間とともに変化せず、ユーザが自分のマウスで選択しようとしなければならないボタンのサイズが動的に変化したり、移動したりすることがないため、リストがより使いやすくなる。
【0046】
当然のことながら、マイクロ・プロセッサ、デジタル信号プロセッサ、またはその他の処理デバイス、データ処理装置もしくはシステムなど、ソフトウェア制御されるプログラマブル処理デバイスを使用して、記載された本発明の実施形態が少なくとも部分的に実装可能な限り、前述の方法を実装するようプログラマブル・デバイス、装置またはシステムを構成するコンピュータ・プログラムは、本発明の態様であると見なされる。例えば、コンピュータ・プログラムは、ソース・コードとして具現化されてもよく、処理デバイス、装置もしくはシステム上での実装のためにコンパイルされてもよく、またはオブジェクト・コードとして具現化されてもよい。
【0047】
コンピュータ・プログラムは、例えば個体メモリ、ディスクまたはテープなどの磁気メモリ、コンパクト・ディスク(CD:compact disk)またはデジタル多用途ディスク(DVD:Digital Versatile Disk)などの光学的または磁気光学的に読み取り可能なメモリ内など、マシン可読形式またはデバイス可読形式で搬送媒体上に格納され、処理デバイスは、そのプログラムまたはその一部を利用して、処理デバイスを動作のために構成することが適切である。コンピュータ・プログラムは、電子信号、無線周波数搬送波または光搬送波などの通信媒体に具現化されて、リモート・ソースから供給されてもよい。そのような搬送媒体も、本発明の態様であると見なされる。
【0048】
当業者には当然のことながら、本発明は、上述の例示としての実施形態に関して記載されてきたが、本発明はそれに限定されず、本発明の範囲内に入る多数の可能な変形物および変更物がある。
【0049】
本発明の範囲は、本願明細書において開示されたあらゆる新規特徴または複数の特徴の組み合わせを含む。出願人は、この出願もしくはそこから派生するさらなる出願の審査中にこのような特徴または特徴の組み合わせに対して新たな請求項が策定されることもあるということをここに予告する。特に、添付の特許請求の範囲に関しては、従属請求項の特徴が独立請求項の特徴と組み合わされてもよく、各独立請求項の特徴が特許請求の範囲で列挙されている特定の組み合わせのみではなく任意の適切な方法で組み合わされてもよい。
【0050】
疑いを回避する目的で、本願明細書中、明細書および特許請求の範囲全体で使用されている「含む」という言葉は、「のみから成る」という意味として解釈されてはならない。
図1
図2
図3
図4
図5
図6