(58)【調査した分野】(Int.Cl.,DB名)
前記グリッド上の第1の所定位置を通過して前記ウィンドウの辺を移動させることは、入力のレベルが、前記グリッド上の前記第1の所定位置に関連付けられた抵抗に打ち勝つことを必要とする、請求項1に記載のウィンドウのサイズ設定及び制御方法。
前記グリッド上の第2の所定位置を通過して前記ウィンドウの辺を移動させることは、入力の増加したレベルが、前記グリッド上の前記第2の所定位置に関連付けられた抵抗に打ち勝つことを必要とする、請求項7に記載のウィンドウのサイズ設定及び制御方法。
【発明を実施するための形態】
【0008】
以下に述べる詳細な説明は、主題の技術の様々な構成の説明として意図しており、主題の技術を実施可能である構成のみを表すことは意図していない。添付図面は、本明細書に組み込まれて、詳細な説明の一部を構成する。詳細な説明は、主題の技術の更に完全な理解を与える目的で、具体的な詳細事項を含む。しかしながら、主題の技術が、本明細書に述べられる具体的な詳細事項に限定されず、これらの具体的な詳細事項がなくても実施可能であることは、当業者には明白であり認められるであろう。いくつかの例では、主題の技術の概念を不明瞭にすることを避けるため、周知の構造及び構成要素はブロック図の形態で示す。
【0009】
主題の開示の態様は、グラフィカルユーザインタフェースにおいて1つ以上のウィンドウを提示し、その外観を制御するためのシステムソフトウェア及び方法を提供する。いくつかの態様では、主題の開示の方法を用いることで、例えばグラフィカルユーザインタフェース(GUI)における表示領域内で、1つ以上のウィンドウのサイズ設定(sizing)及び配置に変化を与えることができる。
【0010】
いくつかの態様において、主題の技術は、例えばGUIの表示領域に表示された1つ以上のウィンドウに「ウィンドウ制御」アイコンを表示するように構成することができるウィンドウマネージャを提供する。ウィンドウ制御アイコンは、表示領域上の(又は表示領域内の)どこにでも位置決めすることができるが、いくつかの実施では、表示領域に提示されたウィンドウ内に表示される「ウィンドウを閉じる」アイコンの隣に位置付けられる。
ウィンドウ制御アイコンを(例えばユーザによって)選択すると、対応するウィンドウのサイズ変更(resize)のために使用可能である複数の選択可能なオプションが提示される。いくつかの態様では、選択可能なオプションはアイコンとして表示され、これは、例えば、表示の異なる方向を指し示す矢印アイコンである(例えば上向きの矢印、下向きの矢印、左向きの矢印、及び右向きの矢印)。ユーザは、選択可能なオプションの1つを選択することにより、関連付けられたウィンドウのサイズ設定を調整することができる。
【0011】
選択可能なオプションのユーザ選択は、実施に応じて様々なものであり得る。例えば、カーソル又はタッチに基づく入力を用いて選択を実行可能である。いくつかの実施では、ユーザのジェスチャ(例えば、カーソル又はポインティングデバイスを用いて行われるジェスチャ)をウィンドウマネージャによって解釈して、選択可能なオプションの1つを選択する際に使用することができる。一例として、ユーザは、ウィンドウ制御アイコンを選択した後、カーソルを上方向に動かすことで、対応した選択可能なオプションの選択を示すことができる。これにより、関連付けられたウィンドウの表示を最大化させることができる。
【0012】
本明細書に示すいくつかの例では、単一の制御アイコンを有する単一のウィンドウを用いるが、GUIの表示領域内に多数のウィンドウを同時に提示することも可能である。
図1Aは、ウィンドウ制御アイコン(以降、「制御アイコン」という。)を含むGUIの一例を示す。具体的には、GUI100は、表示領域102、ウィンドウ104A及び制御アイコン106を含む。上述のように、ウィンドウ104Aは、例えば制御アイコン106に対して受信された入力に基づいてサイズ設定/サイズ変更され得る。
【0013】
いくつかの実施では、制御アイコン106を選択すると、複数の選択可能なオプションがユーザに提示される。実施によるが、選択可能なオプションは、ユーザに(例えばディスプレイデバイス上で)視覚的に表示される場合がある。しかしながら、いくつかの実施では、選択可能なオプションを視覚的に表示することなく、(例えばジェスチャを介して)ユーザに利用可能とすることもある。
【0014】
制御アイコン106のユーザ選択によって、
図1Bに示すように選択可能なオプションを表示させることができる。具体的には、
図1Bは、ウィンドウ104B、制御アイコン106及び複数の選択可能なオプション(例えば、108、110、112、及び114)を有する表示領域102を示す。選択可能なオプション(例えば、108、110、112及び114)は、制御アイコン106の選択に応答して提示される。
図1Bの例において、選択可能なオプション(例えば、108、110、112及び114)は、特定の方向に関連付けられたアイコンとして示されている。しかしながら、上述のように、選択可能なオプション(例えば、108、110、112及び114)は、ユーザに視覚的に表示されないことがあり、特定のジェスチャ又は入力シーケンスを介して選択可能となる場合もある。これについては、以下で詳述する。
【0015】
選択可能なオプションを提示させた(例えば選択のために利用できるようにした)後、選択可能なオプション(例えば、108、110、112及び114)の1つを選択すると、ウィンドウ104Bのサイズ変更、最小化、又は最大化を実行することができる。
【0016】
図1Bに示す2点鎖線で例示するように、ウィンドウ104Bの境界は、ウィンドウ104Aよりもサイズが拡大している。一例として、選択可能なオプション112を選択すると、選択可能なオプション112に関連付けられた方向にウィンドウ104Aをサイズ変更することができる(例えば、2点鎖線で示すように左側の境界と平行に)。同様に、ウィンドウ104Bは、選択可能なオプション114のユーザ選択によって、例えば表示領域102に対して右方向にサイズが拡大されることも可能である。
【0017】
他の態様では、選択可能なオプション(例えば、108、110、112及び114)を選択すると、表示領域102内でウィンドウ104Bを最大化又は最小化させることができる。
図1Cに、選択可能なオプション108を用いてウィンドウ104Bのサイズを最大化させる例を示す。具体的には、
図1Cは、ウィンドウ104C(例えば、
図1Bに示すようなウィンドウ104Bの拡大版)の表示に用いられる表示領域102を示す。選択可能なオプション108のユーザ選択が示されると、ウィンドウ104Cの新しい境界を示す2点鎖線によって示されるように、ウィンドウ104Cは最大化される。
【0018】
更に別の態様では、選択可能なオプション(例えば、108、110、112及び114)を選択するとウィンドウを最小化させることができる。例えば、
図1Dの例に示すように、選択可能なオプション110を選択すると、ウィンドウ104Cを最小化させることができる。具体的には、
図1Dは、ウィンドウ104Dが最小化されている表示領域102を示す(例えばウィンドウ104Dは、上述のウィンドウ104Cの最小化版を表す)。
【0019】
図2は、1つ以上のウィンドウのサイズを調整するための例示的な方法200のステップを示す。方法200は、表示領域102にウィンドウを提示するステップ202から開始する。ウィンドウは、制御アイコンを備えている。上述のように、制御アイコン(例えば制御アイコン106)は、ウィンドウ(例えばウィンドウ104A)上の(又はウィンドウ内の)どこにでも配置することができる。他の態様では、制御アイコンを、ウィンドウから離れた表示領域(例えば表示領域102)の位置に配置することができる。
【0020】
ステップ204において、制御アイコンの選択を示す第1の入力を受信する。一例として、第1の入力は、ポインタ又はタッチに基づいた表示等の選択手段を介してユーザから受信され得る。しかしながら、ユーザ入力の受信は、多種多様な手段を用いて達成可能であり、それらは限定されず、ジェスチャ及び/又は音声コマンド等を含む。
【0021】
第1の入力を受信した後、方法200は、ステップ206に進み、制御アイコンに関連付けられた複数の選択可能なオプションを提示する。上述した通り、選択可能なオプションは、表示領域102において視覚的に提示することができ(例えば、アイコン等のグラフィカルな指示を用いて)、又は、ジェスチャ若しくはユーザから受信した他の入力を介してアクセス可能とすることができればよい。
【0022】
ステップ208において、複数の選択可能なオプションの中で第1のものの選択を示す第2の入力を受信する。第2の入力に応答して、方法200はステップ210に進み、複数の選択可能なオプションの中で第1のものに関連付けられた方向に基づいて、表示領域102内のウィンドウのサイズを調整する。
【0023】
上述の例に関して、第2の入力で、(例えば表示領域に対して)左方向に関連付けられた選択可能なオプションをユーザが選択したことが示される場合、
図1Bに示すように、ウィンドウの領域を左方向に拡大することによってウィンドウのサイズを大きくすることができる。同様に、第2の入力が、右方向に関連付けられた選択可能なオプションの選択を示す場合、ウィンドウの領域を右方向に拡大することによってウィンドウを大きくすることができる。
実施に応じて、ウィンドウのサイズ変更(例えば、ウィンドウの表示領域の拡大又は縮小)は、異なる方法で実行可能である。例えば、ウィンドウの当初のアスペクト比を考慮せずに、ウィンドウの2つ以上の辺(例えば上辺及び下辺)を長くすることによって、(表示領域内のウィンドウ配置に対して)左方向にウィンドウを拡大することができる。
更に、ウィンドウのサイズ変更は、ウィンドウの当初のアスペクト比を維持するように、又はサイズ変更の実行後に最適なアスペクト比を達成するように実行され得る。
別の例として、ウィンドウ内に表示されているコンテンツに基づいてアスペクト比を調整しながら、ウィンドウの全ての辺をサイズ変更して、(例えば第2の入力に関連付けられた方向に一致する)特定の方向に沿ってウィンドウの表示領域を拡大することができる。
【0024】
更に、ウィンドウは、
図1C及び
図1Dに関してそれぞれ例示したように最大化又は最小化させることができる。例えば第2の入力で、下向きの方向に関連付けられた選択可能なオプションをユーザが選択したことが示される場合、ウィンドウを最小化することができる。あるいは、第2の入力で、上向きの方向に関連付けられた選択可能なオプションをユーザが選択したことが示される場合、ウィンドウを最大化することができる。
【0025】
いくつかの実施において、ウィンドウのサイズ設定(又はサイズ変更)は、表示領域内のグリッド(図示せず)の配置に基づいて行われる。グリッドは、例えばウィンドウのサイズ、配置、及び/又は挙動等、1つ以上の表示されたウィンドウに対する調整を容易にするために使用可能である。ユーザにより移動又はサイズ変更されるウィンドウを、グリッドの個々の輪郭に一致させることができる。例えば、サイズ変更したウィンドウの辺を、ユーザに見える(又は見えない場合もある)グリッドの輪郭と位置合わせすることができる。グリッド輪郭のサイズ及び間隔に応じて、ユーザが利用できるサイズ変更オプションの数が増減する。いくつかの実施では、ユーザがウィンドウを移動(又はサイズ変更)すると、ウィンドウの辺は、最も近い対応グリッド位置に素早く移動(snap)する。
【0026】
いくつかの実施では、ウィンドウを最適なグリッド位置に素早く移動させることができる。ウィンドウをグリッド上の特定の位置に(例えば特定のグリッド輪郭に)素早く移動させるという決定は、いくつかのファクタを考慮に入れて行うことができる。例えば、最適なウィンドウのサイズ/位置は、スクリーン全体のサイズ、表示されるウィンドウの数、ウィンドウの寸法、ウィンドウ立ち上げ順序等に基づいて決定することができる。
【0027】
他の実施においては、様々な条件に応じて、特定のグリッド位置でウィンドウに抵抗(resistance)を与えることができる(例えば、ウィンドウは、特定の位置のグリッドに「貼り付く(stick)」ことができる)。一例として、ウィンドウは、スクリーンの縁に相当する位置のグリッドに貼り付いて、ウィンドウのコンテンツ領域がスクリーンからはみ出して配置されるのを防止することができる。同様に、ウィンドウは、正しい位置又は最適な位置にあると判定されたグリッド位置に貼り付くことができる。この位置は、例えば、1つ以上の他のウィンドウの辺に位置合わせされたグリッド位置(例えば、ウィンドウが重なり合うことを防止するため)、又は空いている空間に位置付けられたグリッド位置(例えば、移動中のウィンドウを他のウィンドウから離れた空き領域に誘導するため)である。
【0028】
いくつかの態様では、グリッドのいくつかの領域を横切るようにウィンドウ(例えばウィンドウ104A)の1つ以上の辺を移動させると、必然的に様々な量の抵抗を受けることがある。例えばユーザは、グリッド上の複数の所定位置を通過してウィンドウの辺を移動させたいという追加の(より強い)指示を与える必要があり得る。
【0029】
図3は、主題の開示のステップを実行するために使用可能な電子システムの一例を示す。いくつかの例において、電子システム300は、サーバ等の単一のコンピューティングデバイスとすることができる。更に、いくつかの実施において、電子システム300は、単体で動作するか、又は、例えばコンピュータのクラスタ若しくはネットワークの一部として1つ以上の他の電子システムと共に動作することができる。
【0030】
図示のように、電子システム300は、記憶装置302、システムメモリ304、出力デバイスインタフェース306、バス308、ROM310、1つ以上のプロセッサ312、入力デバイスインタフェース314及びネットワークインタフェース316を含む。いくつかの態様では、バス308は、電子システム300の多数の内部デバイスを通信可能に接続する全てのシステムバス、周辺機器用バス、及びチップセットバスを集合的に表す。例えばバス308は、1つ以上のプロセッサ312を、ROM310、システムメモリ304、出力デバイスインタフェース306、及び記憶装置302に通信可能に接続する。
【0031】
いくつかの実施において、様々なメモリユニット、1つ以上のプロセッサ312は、主題の技術のステップを実行するために、実行する命令(及び処理するデータ)を検索する。1つ以上のプロセッサ312は、異なる実施において、シングルプロセッサ又はマルチコアプロセッサとすることができる。更に、1つ以上のプロセッサ312は、実施に応じて、1つ以上のグラフィックプロセッシングユニット(GPU)及び/又は1つ以上のデコーダを含むことができる。
【0032】
ROM310は、1つ以上のプロセッサ312及び電子システム300の他のモジュールにより必要とされる静的データ及び命令を記憶する。同様に、1つ以上のプロセッサ312は、CPUキャッシュ又はPIM(processor in memory)のような1つ以上のメモリ位置を含むことができる。記憶装置302は、リード/ライトメモリデバイスである。いくつかの態様では、記憶装置302は、電子システム300に電力供給がない場合でも命令及びデータを記憶する不揮発性メモリユニットとすることができる。主題の開示のいくつかの実施では、例えば記憶装置302等の大容量記憶装置(固体記憶装置、磁気記憶装置、又は光記憶装置等)を使用可能である。
【0033】
他の実施では、記憶装置302等の1つ以上の着脱可能記憶デバイス(例えば磁気ドライブ又は固体ドライブ)を使用可能である。システムメモリは、揮発性又は不揮発性のいずれであってもよいが、いくつかの例のシステムメモリ304は、ランダムアクセスメモリ等の揮発性リード/ライトメモリである。システムメモリ304は、プロセッサ312が実行時に必要とする命令及びデータの一部を記憶することができる。
【0034】
いくつかの実施において、主題の開示のプロセスは、システムメモリ304、記憶装置302、ROM310、及び/又は1つ以上のプロセッサ312に埋め込まれた1つ以上のメモリ位置に記憶されている。これらの様々なメモリユニットから、1つ以上のプロセッサ312は、本開示のいくつかの実施のプロセス/方法を実行するために、実行する命令及び処理するデータを検索する。
【0035】
いくつかの態様において、バス308は、入力デバイスインタフェース314及び出力デバイスインタフェース306にも接続する。入力デバイスインタフェース314によって、ユーザは、電子システム300に対する情報の通信及びコマンドの選択を行うことができる。入力デバイスインタフェース314と共に用いられる入力デバイスは、例えば、英数字キーボード及びポインティングデバイス(「カーソル制御デバイス」とも呼ぶ)、及び/又は無線キーボードや無線ポインティングデバイス等の無線デバイスを含み得る。
【0036】
最後に、
図3に示すように、バス308は、ネットワークインタフェース316を介して電子システム300をネットワーク(図示せず)に通信可能に結合する。ネットワークインタフェース316は、有線、光学式、又は無線のいずれかとすることができ、1つ以上のアンテナ及び送受信器を備え得ることは理解されよう。このように、電子システム300は、ローカルエリアネットワーク(「LAN」)、ワイドエリアネットワーク(「WAN」)、又はインターネット等のネットワークのネットワーク等、コンピュータのネットワークの一部とすることができる。
【0037】
主題の技術の方法は、電子システム300によって実行することができる。いくつかの態様では、本開示の方法のステップの1つ以上を実行するための命令は、記憶装置302及び/又はシステムメモリ304等の1つ以上のメモリデバイスに記憶されている。例えば、電子システム300を用いて、電子システム300のユーザにグラフィカルユーザインタフェース(GUI)を提供するための命令を記憶及び/又は実行することができる。
いくつかの実施では、GUIの挙動は、ウィンドウマネージャを備えるソフトウェアによって制御される。ウィンドウマネージャは、表示領域にウィンドウを提示するように構成され、ウィンドウは、制御アイコンを備えている。ウィンドウマネージャは、更に、制御アイコンのユーザ選択を示す第1の入力を受信するように、また、この第1の入力に応答して制御アイコンに関連付けられた複数の選択可能なオプションを提示するように構成することができる。
いくつかの態様では、ウィンドウマネージャは、更に、複数の選択可能なオプションの中で第1のものの選択を示す第2の入力を受信するように、また、複数の選択可能なオプションの中で第1のものに関連付けられた方向に基づいて表示領域内のウィンドウのサイズを調整するように構成することができる。
【0038】
本明細書において、「ソフトウェア」という言葉は、読み出し専用メモリに常駐するファームウェア又は磁気記憶装置に記憶されたアプリケーションを含むことが意図され、これは、プロセッサによる処理のためにメモリに読み出すことができる。また、いくつかの実施では、主題の開示の別個のソフトウェアの態様を維持しながら、主題の開示の多数のソフトウェアの態様をもっと大きいプログラムの副部分(sub−parts)として実施することができる。いくつかの実施では、多数のソフトウェアの態様は別々のプログラムとして実施することも可能である。
最後に、ここに記載したソフトウェアの態様を共同で実施する別々のプログラムのいかなる組み合わせも主題の開示の範囲内である。いくつかの実施では、ソフトウェアプログラムは、インストールされて1つ以上の電子システム上で動作する場合、ソフトウェアプログラムの動作を実行する1つ以上の固有のマシンの実施を規定する。
【0039】
コンピュータプログラム(プログラム、ソフトウェア、ソフトウェアアプリケーション、スクリプト、又はコードとしても知られる)は、コンパイラ型又はインタプリタ型言語、宣言型又は手続き型言語を含むいずれかの形態のプログラミング言語で書くことができ、更に、スタンドアロンプログラムとして、又はモジュール、コンポーネント、サブルーチン、オブジェクト、若しくはコンピューティング環境での使用に適した他のユニットとしての形態を含むいずれかの形態で導入することができる。
コンピュータプログラムは、ファイルシステム内のファイルに対応することができるが、これは必須ではない。プログラムは、他のプログラム又はデータ(例えばマークアップ言語ドキュメントに記憶された1つ以上のスクリプト)を保持するファイルの一部、対象プログラムに専用の単一ファイル、又は多数の連携させたファイル(例えば、1つ以上のモジュール、サブプログラム、又はコードの部分を記憶する複数のファイル)に記憶することができる。コンピュータプログラムは、1台のコンピュータ又は多数のコンピュータ上で実行するように導入することができ、この多数のコンピュータは、1つの場所に配置するか、又は多数の場所に分散させて通信ネットワークで相互接続することができる。
【0040】
本明細書及び本出願の特許請求の範囲において用いる場合、「コンピュータ」、「サーバ」、「プロセッサ」、及び「メモリ」という言葉は全て、電子デバイス又は他の技術のデバイスを指す。これらの言葉は、人又は人のグループを除外する。明確化の目的のため、表示又は表示するという言葉は電子デバイス上に表示することを意味する。本明細書及び本出願の特許請求の範囲において用いる場合、「コンピュータ読み取り可能媒体」及び「複数のコンピュータ読み取り可能媒体」という言葉は、全体として、コンピュータによって読み取り可能な形態で情報を記憶する有形の(tangible)物理的な物体に限定される。これらの言葉は、無線信号、有線ダウンロード信号、及び他のいずれかの一時的な(ephemeral)信号を除外する。
【0041】
本明細書に記載した主題(subject matter)の実施形態を実行することができるコンピューティングシステムは、例えば、データサーバのようなバックエンドコンポーネントを含むか、又は、例えば、アプリケーションサーバのようなミドルウェアコンポーネントを含むか、又は、例えば、ユーザが本明細書に記載した主題の実施と相互作用することが可能なグラフィカルユーザインタフェース又はウェブブラウザを有するクライアントコンピュータのようなフロントエンドコンポーネントを含むか、又は1つ以上のそのようなバックエンド、ミドルウェア、又はフロントエンドのコンポーネントのいずれかの組み合わせを含む。
システムのコンポーネントは、例えば通信ネットワーク等のデジタルデータ通信のいずれかの形態又は媒体によって相互接続することができる。通信ネットワークの例には、ローカルエリアネットワーク(「LAN」)、ワイドエリアネットワーク(「WAN」)、インターネットワーク(例えばインターネット)、及びピアツーピアネットワーク(例えばアドホックのピアツーピアネットワーク)が含まれる。
【0042】
コンピューティングシステムは、クライアント及びサーバを含むことができる。クライアント及びサーバは、一般的に相互にリモートであり、通常は通信ネットワークを介して相互作用する。クライアント及びサーバの関係は、コンピュータプログラムが各コンピュータ上で実行し、相互に対してクライアント−サーバの関係を有することによって発生する。いくつかの実施形態では、サーバは、クライアントデバイスにデータ(例えばHTMLページ)を送信する(例えば、クライアントデバイスと相互作用しているユーザにデータを表示すると共にユーザからユーザ入力を受信する目的のため)。クライアントデバイスで生成されたデータ(例えばユーザ相互作用の結果)は、クライアントデバイスからサーバに受信することができる。
【0043】
開示するプロセスにおけるステップの特定の順序又は階層が例示的な手法の一例であることは理解されよう。設計の好みに応じて、プロセスにおけるステップの特定の順序又は階層を並べ替えることも可能であり、又は全ての例示するステップを実行することも可能であることは理解されよう。ステップの一部は同時に実行してもよい。例えばいくつかの状況では、マルチタスク及び並列処理が有利である場合がある。
更に、上述の実施形態における様々なシステムコンポーネントの分離は、あらゆる実施形態においてそのような分離が必要であると理解されるべきではない。記載したプログラムコンポーネント及びシステムは一般に、単一のソフトウェア製品に統合するか、又は多数のソフトウェア製品にパッケージ化することが可能であることは理解されよう。
【0044】
これまでの記載は、当業者が本明細書に記載された様々な態様を実施できるように与えられている。当業者には、これらの態様の様々な変更が容易に明らかとなろう。本明細書に規定した包括的な原理は他の態様に適用され得る。
したがって、特許請求の範囲は、本明細書に示した態様に限定されることは意図せず、言語クレーム(language claims)に一致する全範囲が与えられる。単数の要素に対する言及は、特に指定のない限り、「1つのみ」を意味するのではなく、「1つ以上」を意味することが意図される。特に明記しない限り、「いくつかの」という言葉は1つ以上のことを指す。男性の代名詞(例えば彼の(his))は、女性及び中性の性を含み(例えば彼女の(her))及びその(its)、その逆もまた同様である。見出し及び小見出しがある場合、これは便宜上用いられるだけであり、主題の開示を限定するものではない。
【0045】
「態様」等の語句は、そのような態様が主題の技術に不可欠であることも、そのような態様が主題の技術の全ての構成に該当することも暗示しない。1つの態様に関する開示は、全ての構成又は1つ以上の構成に該当する可能性がある。態様等の語句は、1つ以上の態様を指す場合があり、その逆もまた同様である。「構成」等の語句は、そのような構成が主題の技術に不可欠であることも、そのような構成が主題の技術の全ての構成に該当することも暗示しない。1つの構成に関する開示は、全ての構成又は1つ以上の構成に該当する可能性がある。
【0046】
当業者に既知であるか又は後に既知となる、本開示全体を通して記載した様々な態様の要素に対する全ての構造的な均等物及び機能的な均等物は、引用により明示的に本明細書に組み込まれ、特許請求の範囲によって包含されることが意図される。