特許第6624972号(P6624972)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

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

▶ キヤノン株式会社の特許一覧

特許6624972表示を制御する方法、装置、およびプログラム
<>
  • 特許6624972-表示を制御する方法、装置、およびプログラム 図000002
  • 特許6624972-表示を制御する方法、装置、およびプログラム 図000003
  • 特許6624972-表示を制御する方法、装置、およびプログラム 図000004
  • 特許6624972-表示を制御する方法、装置、およびプログラム 図000005
  • 特許6624972-表示を制御する方法、装置、およびプログラム 図000006
  • 特許6624972-表示を制御する方法、装置、およびプログラム 図000007
  • 特許6624972-表示を制御する方法、装置、およびプログラム 図000008
  • 特許6624972-表示を制御する方法、装置、およびプログラム 図000009
  • 特許6624972-表示を制御する方法、装置、およびプログラム 図000010
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6624972
(24)【登録日】2019年12月6日
(45)【発行日】2019年12月25日
(54)【発明の名称】表示を制御する方法、装置、およびプログラム
(51)【国際特許分類】
   G06F 3/0482 20130101AFI20191216BHJP
【FI】
   G06F3/0482
【請求項の数】13
【全頁数】15
(21)【出願番号】特願2016-36022(P2016-36022)
(22)【出願日】2016年2月26日
(65)【公開番号】特開2017-151896(P2017-151896A)
(43)【公開日】2017年8月31日
【審査請求日】2019年2月25日
(73)【特許権者】
【識別番号】000001007
【氏名又は名称】キヤノン株式会社
(74)【代理人】
【識別番号】110001243
【氏名又は名称】特許業務法人 谷・阿部特許事務所
(72)【発明者】
【氏名】久保 裕明
【審査官】 佐伯 憲太郎
(56)【参考文献】
【文献】 特開2010−15256(JP,A)
【文献】 特開2008−228271(JP,A)
【文献】 特開2013−101477(JP,A)
【文献】 特開2015−125508(JP,A)
【文献】 特開2010−33228(JP,A)
【文献】 特開2015−162035(JP,A)
【文献】 米国特許出願公開第2011/0083105(US,A1)
【文献】 米国特許出願公開第2014/0317565(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 3/048−3/0489
(57)【特許請求の範囲】
【請求項1】
複数の要素が所定の規則に従ってソートされたリストを表示するためのプログラムであって、
前記リストが所定の表示領域に表示されているときに前記所定の規則に従って前記リストに追加要素が追加される場合、ユーザの操作により前記所定の表示領域において特定される位置と、前記リストにおいて前記追加要素が挿入される位置とに基づき、前記複数の要素の一部であり且つ表示位置の変更対象である1または複数の第1要素を決定する決定工程と、
前記追加要素の追加が行われ、且つ前記決定工程において決定された前記1または複数の第1要素の表示位置が変更され、且つ前記複数の要素の内の前記1または複数の第1要素とは異なる複数の第2要素の表示位置が変更されていない前記リストを、前記所定の表示領域に表示させる表示制御工程と、
をコンピュータに実行させるプログラム。
【請求項2】
前記決定工程では、前記1または複数の第1要素として、前記リストにおけるスライドの対象となる1または複数の要素を決定し、且つ前記リストにおけるスライドの方向を決定し、
前記表示制御工程では、前記所定の表示領域において、前記決定工程において前記スライドの対象として決定された前記1または複数の要素を前記決定工程において決定された方向へスライドさせ、前記複数の第2要素をスライドさせないことで、前記リストを前記表示領域に表示させることを特徴とする請求項1に記載のプログラム。
【請求項3】
前記所定の表示領域においてユーザの操作により特定される位置に応じて、前記複数の要素から基準要素を特定する特定工程を前記コンピュータに実行させ、
前記決定工程では、前記リストにおいて前記基準要素から前記追加要素が挿入される位置に向かう方向を前記スライドの方向として決定し、前記スライドの方向において前記追加要素が挿入される位置よりも前記基準要素から離れた位置に表示されている1または複数の要素を、前記スライドの対象となる1または複数の要素として決定することを特徴とする請求項2に記載のプログラム。
【請求項4】
前記決定工程ではさらに、前記リストにおいて、前記基準要素の位置を基準としたときの、前記追加要素が挿入される位置が存在する一方の側と反対側に配置されている要素を、前記スライドの対象となる要素として決定しないことを特徴とする請求項3に記載のプログラム。
【請求項5】
前記追加要素が挿入される位置は、前記所定の規則と、前記追加要素が保持する情報とに基づき特定されることを特徴とする請求項1乃至4のいずれか1項に記載のプログラム。
【請求項6】
ユーザの操作により特定される前記位置は、前記ユーザの操作によって画面上を動くポインタカーソルを用いて特定される位置であることを特徴とする請求項1乃至5のいずれか1項に記載のプログラム。
【請求項7】
前記表示制御工程では、前記ポインタカーソルが前記表示領域の周辺に該表示領域を囲むように定義される領域に含まれることを条件に、前記複数の第2要素の表示位置が変更されていない前記リストを前記所定の表示領域に表示させることを特徴とする請求項6に記載のプログラム。
【請求項8】
前記表示制御工程では、前記追加要素の追加により当該追加要素が前記所定の表示領域に表示されることを条件に、前記複数の第2要素の表示位置が変更されていない前記リストを前記所定の表示領域に表示させることを特徴とする請求項1乃至7のいずれか1項に記載のプログラム。
【請求項9】
前記決定工程ではさらに、前記リストが所定の表示領域に表示されているときに前記リストから削除要素の削除が行われる場合、前記所定の表示領域においてユーザの操作により特定される前記位置と、前記リストにおける前記削除要素の位置とに基づき、前記1または複数の第1要素を決定し、
前記表示制御工程ではさらに、前記削除要素の削除が行われ、且つ前記決定工程において決定された前記1または複数の第1要素の表示位置が変更され、且つ前記複数の要素の内の前記1または複数の第1要素とは異なる複数の第2要素の表示位置が変更されていない前記リストを、前記所定の表示領域に表示させることを特徴とする請求項1乃至8のいずれか1項に記載のプログラム。
【請求項10】
ネットワーク上のデバイスを検索する検索工程を前記コンピュータにさらに実行させ、
前記複数の要素は、前記検索工程において検索されたデバイスを示す複数の表示項目であり、
前記複数の表示項目が並んだリストが表示されているときに、前記検索工程において新たに検索されたデバイスを示す表示項目が、前記追加要素として追加されることを特徴とする請求項1乃至9のいずれか1項に記載のプログラム。
【請求項11】
前記検索工程は、プリンタを検索することを特徴とする請求項10に記載のプログラム。
【請求項12】
複数の要素が所定の規則に従ってソートされたリストを表示するための装置であって、
前記リストが所定の表示領域に表示されているときに前記所定の規則に従って前記リストに追加要素が追加される場合、ユーザの操作により前記所定の表示領域において特定される位置と、前記リストにおいて前記追加要素が挿入される位置とに基づき、前記複数の要素の一部であり且つ表示位置の変更対象である1または複数の第1要素を決定する決定手段と、
前記追加要素の追加が行われ、且つ前記決定手段により決定された前記1または複数の第1要素の表示位置が変更され、且つ前記複数の要素の内の前記1または複数の第1要素とは異なる複数の第2要素の表示位置が変更されていない前記リストを、前記所定の表示領域に表示させる表示制御手段と、
を有することを特徴とする装置。
【請求項13】
複数の要素が所定の規則に従ってソートされたリストを表示するための方法であって、
前記リストが所定の表示領域に表示されているときに前記所定の規則に従って前記リストに追加要素が追加される場合、ユーザの操作により前記所定の表示領域において特定される位置と、前記リストにおいて前記追加要素が挿入される位置とに基づき、前記複数の要素の一部であり且つ表示位置の変更対象である1または複数の第1要素を決定する決定工程と、
前記追加要素の追加が行われ、且つ前記決定工程において決定された前記1または複数の第1要素の表示位置が変更され、且つ前記複数の要素の内の前記1または複数の第1要素とは異なる複数の第2要素の表示位置が変更されていない前記リストを、前記所定の表示領域に表示させる表示制御工程と、
を有することを特徴とする方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、所定の規則に従ってソートされた提示対象の複数の要素のリストを表示するための技術に関する。
【背景技術】
【0002】
リスト型ユーザインターフェース(以下UI)とは、提示すべき要素(以下、提示対象の要素)をリスト状に並べて表示することでユーザへ提示するための手段であり、一般的には所定の規則に従ってソートされた要素をユーザに提示する際に用いられる。このようなリスト型UIにおいて、要素がリストに追加されるときに、一部の要素の表示位置を固定する技術がある。
【0003】
特許文献1には、所定順序に並んだ複数のサムネイルから所定の抽出間隔で抽出されたサムネイルの一覧表示を行うことが記載されている。また抽出間隔が縮小されてサムネイルが一覧表示に追加されること、また抽出間隔が拡大されてサムネイルが一覧表示から削除されることが記載されている。さらに、一覧表示におけるサムネイルの追加・拡大において、表示されている複数のサムネイルのうちの基準となるサムネイルの表示位置を変えずに、その他のサムネイルの表示位置を変えて一覧表示が行われることが記載されている。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2010−15256号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、特許文献1に記載の技術では、リストにおいて基準となる要素以外の全ての要素の表示位置が変更される。つまり、リストにおける要素の追加が起こる場合、その追加の位置によっては表示位置を変更する必要のない要素についても、表示位置が変更されてしまう。
【0006】
そこで本発明は、リストへの要素の追加において、表示位置の変更対象の要素の表示位置が変更され、表示位置を変更する必要のない要素の表示位置が変更されていないリストを表示させる技術を提供することを目的とする。
【課題を解決するための手段】
【0007】
本発明は、複数の要素が所定の規則に従ってソートされたリストを表示するためのプログラムであって、前記リストが所定の表示領域に表示されているときに前記所定の規則に従って前記リストに追加要素が追加される場合、ユーザの操作により前記所定の表示領域において特定される位置と、前記リストにおいて前記追加要素が挿入される位置とに基づき、前記複数の要素の一部であり且つ表示位置の変更対象である1または複数の第1要素を決定する決定工程と、前記追加要素の追加が行われ、且つ前記決定工程において決定された前記1または複数の第1要素の表示位置が変更され、且つ前記複数の要素の内の前記1または複数の第1要素とは異なる複数の第2要素の表示位置が変更されていない前記リストを、前記所定の表示領域に表示させる表示制御工程と、をコンピュータに実行させるプログラムである。
【発明の効果】
【0008】
本発明によれば、リストへの要素の追加において、表示位置の変更対象の要素の表示位置が変更され、表示位置を変更する必要のない要素の表示位置が変更されていないリストを表示させることができる。
【図面の簡単な説明】
【0009】
図1】一般的なリスト型UIの概念図
図2】実施例1に係るコンピュータ装置の構造を示すブロック図
図3】実施例1に係るリストの更新態様を説明する図
図4】実施例1に係る基準要素を導出する手法を説明する図
図5】実施例1に係るリスト型UIで提示する要素を追加する際に実行される処理のフローチャート
図6】実施例1に係るリスト型UIで提示する要素を削除する際に実行される処理のフローチャート
図7】実施例2に係る基準要素を導出する手法を説明する図
図8】実施例3に係る基準要素を導出する手法を説明する図
図9】実施例4に係るリストの更新態様を説明する図
【発明を実施するための形態】
【0010】
以下、本発明の実施形態を詳しく説明する。なお、以下の実施形態は特許請求の範囲に係る本発明を限定するものでなく、また、以下で説明されている特徴の組み合わせの全てが本発明の課題の解決に必須のものとは限らない。
【0011】
図1は、本実施形態を適用可能な一般的なリスト型UIの一例を示す概念図であり、リスト型UIにより8個の表示対象(提示対象ともいう)の要素101(a〜h)が提示される場合を表している。提示対象の要素101は夫々、1つ以上の情報を保持し、該保持する情報の一部または全部が、リスト型UI上に表示される。本例では、各要素が保持するアルファベット文字が表示されている。またこのとき、リスト型UIが提示する要素は、各要素が保持する情報に従ってソートされ、所定方向に並んで表示される。本例では、各要素は、アルファベット順に(昇順に)上から下に向かって並んで表示されている。また、リスト型UIを構成する表示領域102が同時に表示できる要素の数は、最大で6個である。従って、表示領域102の外にある提示対象の要素g、hをユーザは閲覧できず、該要素に対する選択などの操作も実行することができない。ただし、表示領域102の外に提示対象の要素104が有る場合、スクロール可能である事を示すスクロールバー105が表示されても良い。本例では、ユーザがスクロールバー105を下にスライドさせると、表示領域102の外にある提示対象の要素104(g、h)が、表示領域102内にスライドするので、ユーザは要素g、hを閲覧できるようになる。
【0012】
下記の実施例では、図1を用いて説明したような、スライドバーと連動させること等により提示対象の要素が上下に動くことが可能であり、かつ、保持する情報に従って昇順にソートされた要素が1方向に並んで表示されるリスト型UIを用いて説明している。しかし、本発明に係るリスト更新に関する技術を適用可能なUIは、このようなUIに限定されない。表示領域上に予め定められた規則に従い複数の要素を配置することでユーザに情報を提示する任意のリスト型UIに対し、本発明を適用することが可能である。
【0013】
<実施例1>
(コンピュータ装置の構成)
図2は、本実施例を実装することができるコンピュータ装置の一例を示すブロック図である。コンピュータ装置201は、CPU202と、システムメモリ203と、入力装置208と、出力装置209と、通信装置210と、から構成される。コンピュータ装置201は、サーバが提供するサービスのクライアントたるクライアント装置であって良い。コンピュータ装置201は、一般的には、少なくとも1つのCPU202と、少なくとも1つのシステムメモリ203と、を有する。ただし、コンピュータ装置201は、協働してプログラムを実行する複数のCPUを有しても良い。CPU202は、RAMをワークメモリとして、ROM、ハードディスクドライブ、汎用ドライブにマウントされた各種記録メディアなどに格納されたオペレーティングシステム(以下OS)や各種プログラムを実行することにより、各構成要素を統括的に制御する。なお、CPU202が実行するプログラムには、後述する本実施例に係る処理を実行するためのプログラムが含まれる。システムメモリ203は、揮発性(例えば、RAM)メモリと不揮発性メモリ(例えば、ROM、フラッシュメモリなど)との何れか、或いは、揮発性メモリと不揮発性メモリとの両方を組み合わせたものであって良い。システムメモリ203には、OS204と、OS204上で動作するアプリケーション205と、アプリケーション205で用いられるビューモジュール206と、が格納されている。
【0014】
入力装置208は、ユーザがコンピュータ装置201に指示を与えたりデータを入力したりするための装置であり、例えばキーボード、マウス、ペン、タッチパネルなどを含む。出力装置209は、コンピュータ装置201の状態を示す情報などをユーザに提示するための装置であり、アプリケーション205の画面を表示するためのディスプレイ(例えばCRTや液晶ディスプレイなど)を含む。本実施例では、CPU202によりアプリケーション205が実行されると、アプリケーション205の画面としてリスト型UIが出力装置209に表示され、当該画面を見たユーザは、入力装置208を用いてリスト型UIを介した入力を実行する。このとき、入力装置208によって入力されたユーザの操作に応じて動作する、ポインタカーソルやユーザが画面上のどの部分に注目しているかを示す注目領域などが、出力装置209に表示されても良い。通信装置210は、ネットワークを介してコンピュータ装置201の外部の装置(例えばサーバやプリンタなど)との間でデータ通信を行う。
【0015】
またコンピュータ装置201は、電話機能やメール機能を有するスマートフォンでもよい。コンピュータ装置201がスマートフォンの場合、入力装置208はタッチパネルを有し、表示領域102はタッチパネル上に設けられる。この場合、例えば図1に示した表示画面がタッチパネル上に表示され、ユーザがタッチパネル上で図1における下から上の方向にドラッグ操作またはフリック操作を行うと、要素104(g、h)がタッチパネル上に表示される。
【0016】
(リストの更新態様)
図3は、本実施例に係るリストの更新態様の例を示す図である。なお、説明のために図中に示すように座標軸を設定する。図3(a)は、出力装置209に表示されているポインタカーソル301と、リスト型UIと、を表している。本例では、リスト型UIの表示領域302内において最大で8個の要素を表示可能としている。また、表示領域302内に表示される要素303は、各要素が持つ情報に基づき整列して表示されており、具体的には、アルファベット順に(昇順に)上から下に向かって並んで表示されている。このとき、更新によって要素c又は要素gが、リストで提示する対象(提示対象)に新規に追加されようとしている(追加要素304、305)。
【0017】
図3(b)は、更新によって要素cが提示対象として新規に追加された結果、リスト型UIの表示領域302に要素cが挿入され、要素aが見えなくなった場合を表している。本例では、リスト型UIが提示する要素は、各要素が持つ情報に従いアルファベット順にソートされて表示されており、要素cは、要素bと要素dとの間に挿入されることから、表示領域302において要素cが挿入される位置を導出することができる。また本例では、画面上にてポインタカーソル301が指していることからユーザとの関連性が高いと推測される要素eを基準要素308とする。ここで基準要素とは、要素をどのように挿入、又は、削除するかを決定する際に考慮される基準として用いられる要素である。ユーザがポインタカーソルを合わせた要素は、ユーザが選択しようとしている要素である可能性が高いことから、画面上で無闇に動かすことは好ましくない。そこで本実施例では、ポインタカーソルが指している要素eを、位置が固定される基準要素として用いることで、ユーザビリティの低下を防止する。
【0018】
基準要素308の導出後、追加対象である要素cの位置より下部となる複数の要素(基準要素308を含む。下部要素ともいう。)309(d、e、f、h、i、j)が、表示位置を変更させない要素として特定される。そして下部要素309の表示位置が表示領域302上にて固定される。そして、リスト型UI上で該下部要素よりも上部の要素(上部要素ともいう)310(a、b)が、表示位置を変更する又は表示されない要素として特定される。そして、該要素が上方向(+y方向)へ要素1個分スライドされ、空いた位置に要素cが挿入される。その際、最大で8個の要素を表示可能な表示領域302の外へ出た要素aはユーザから見えなくなる。
【0019】
図3(c)は、更新によって要素gが提示対象として新規に追加された結果、リスト型UIの表示領域302に要素gが挿入され、要素jが見えなくなった場合を表している。本例では、リスト型UIが提示する要素は、各要素が持つ情報に従いアルファベット順にソートされて表示されており、要素gは、要素fと要素hとの間に挿入されることから、表示領域302において要素gが挿入される位置を導出することができる。また本例では、画面上にてポインタカーソル301が指している要素eを基準要素308とし、追加対象である要素gの位置より上部となる複数の要素(基準要素308を含む上部要素)311(a、b、d、e、f)の位置を表示領域302上にて固定する。そして、リスト型UI上で該上部要素よりも下部の要素312(h〜j)を下方向(−y方向)へ要素1個分スライドさせ、空いた位置に要素gを挿入する。その際、最大で8個の要素を表示可能な表示領域302の外へ出た要素jはユーザから見えなくなる。
【0020】
なお、図3に示した例では、画面上に表示されているポインタカーソル301を用いて基準要素308を求めた。しかし、基準要素を求めるために使用できるものはポインタカーソルに限定されない。ユーザの操作によって動くポインタやその他の任意のオブジェクト等により定義可能な位置に基づき基準要素を導出して良い。入力装置208を通じて入力されるユーザからの操作により出力装置209上に位置を定義できる任意のものを、基準要素を求めるために用いて良く、これは出力装置209に表示されていなくても良い。例えば入力装置208がタッチパネルの場合、ユーザによりタッチされた要素が基準要素となってもよい。
【0021】
(基準要素の導出手法)
図4は、基準要素を導出する際に基準要素の候補が複数導出されるような場合に、該複数の候補のうちの何れを基準候補として選択するかを説明するための図である。なお、説明のために図中に示すように座標軸を設定する。図示するように本例では、ポインタカーソル401の指示部分から距離が最も近い要素は、要素eと要素fとの2つである。従って、ポインタカーソル401の指示部分に最も近い要素を基準要素とすると、要素e及び要素fが、候補として導出されることとなる(基準要素候補402、403)。このような場合、表示領域404の枠線と、要素405が並んでいる方向(y軸方向)に沿った直線406とが交差する交点407を求め、交点407から最も近い基準要素の候補を選択することで、最終的に1個の基準要素を導出できる。なお、表示領域の枠線と要素が並んでいる方向に沿った直線との交点が複数存在する場合は、その中の任意の1点を用いて良い。図示するように本例でも、当該交点は2つ存在するが、2つの中の上側の交点407を用いたため、基準要素は、要素fではなく要素eとなる。
【0022】
(要素追加処理)
図5は、本実施例に係るリスト型UIで提示する要素を追加する際に実行される処理の1例を示すフローチャートである。本処理は、コンピュータ装置201のCPU202がプログラムを実行することにより実現される。また本処理は、ユーザの意思とは関係無く、リストが動的に更新される際など必要に応じて所定のタイミングで開始する。
【0023】
先ずステップS501(以下、ステップS501をS501と略記し、他のステップについても同様に略記する。)において、現在リスト型UIの表示領域に表示されている要素が1個以上あるか否かを判定する。該判定の結果、表示領域に表示されている要素が1個以上ある場合、S502に進む。一方、そうでない場合(表示領域に表示されている要素が0個の場合)、S508に進む。
【0024】
S502において、基準要素を導出する。上述の通り基準要素とは、要素をどのように追加するかを決定する際に基準となる要素であり、要素追加処理では、基準要素の位置は、画面上すなわち表示領域において固定される。S503において、S502で導出した基準要素の位置(Pcとする)を取得する。S504において、ソート条件と新規に追加される要素が保持する情報とに基づき、追加要素が挿入される位置(Pnとする)を取得する。
【0025】
S505において、S503で取得した位置PcとS504で取得した位置Pnとを比較し、基準要素が新規に追加される要素よりリスト上で上となるか(Pc>Pn)否かを判定する。なおここでは、図3及び図4で示したようにy軸を設定し、Pc及びPnは夫々1つのy値であり、y値の大きい要素はy値の小さい要素より高い位置にあるという前提で説明している。S505の判定の結果、基準要素が新規に追加される要素より上となる場合(Pc>Pnの場合)、S506に進む。一方、そうでない場合(Pc<Pnの場合)、S507に進む。
【0026】
S506において、新規に追加される要素よりもリスト上で下部に表示されることとなる要素を下方向(−y方向)にスライドさせ、空いた位置に新規要素を挿入する。S507において、新規に追加される要素よりもリスト上で上部に表示されることとなる要素を上方向(+y方向)にスライドさせ、空いた位置に新規要素を挿入する。S508において、要素が何も表示されていない表示領域に、新規要素(1つ目)を追加する。以上が、要素追加処理である。
【0027】
(要素削除処理)
図6は、本実施例に係るリスト型UIで提示中の要素を削除する際に実行される処理の1例を示すフローチャートである。本処理は、コンピュータ装置201のCPU202がプログラムを実行することにより実現される。また本処理は、ユーザの意思とは関係無く、リストが動的に更新される際など必要に応じて所定のタイミングで開始する。ただし本処理は、提示対象だった要素を削除する処理であることから、リスト型UIにおいて少なくとも1個の要素が表示されていることが前提となる。
【0028】
先ずS601において、現在リスト型UIの表示領域に表示されている要素が2個以上あるか否かを判定する。該判定の結果、表示領域に表示されている要素が2個以上ある場合、S602に進む。一方、そうでない場合(表示領域に表示されている要素が1個の場合)、S608に進む。
【0029】
S602において、基準要素を導出する。上述の通り基準要素とは、要素をどのように削除するかを決定する際に基準となる要素である。S603において、S602で導出した基準要素の位置(Pcとする)を取得する。S604において、削除対象の削除要素(以降、削除対象要素ともいう)の位置(Pnとする)を取得する。
【0030】
S605において、S603で取得した位置PcとS604で取得した位置Pnとを比較し、基準要素の位置がリスト上で削除対象要素の位置と同一または削除対象要素の位置より上であるか(Pc≧Pn)否かを判定する。なおここでも上述の要素追加処理と同様、図3及び図4で示したようにy軸を設定し、Pc及びPnは夫々1つのy値であり、y値の大きい要素はy値の小さい要素より高い位置にあるという前提で説明している。S605の判定の結果、基準要素の位置が削除対象要素の位置と同一または削除対象要素の位置より上である場合(Pc≧Pnの場合)、S606に進む。一方、そうでない場合(Pc<Pnの場合)、S607に進む。
【0031】
S606において、位置Pnにある削除対象要素を削除し、リスト上で位置Pnより下部に表示されていた要素を上方向(+y方向)にスライドさせる。S607において、位置Pnにある削除対象要素を削除し、リスト上で位置Pnより上部に表示されていた要素を下方向(−y方向)にスライドさせる。S608において、要素が1個だけ表示されている表示領域から、削除対象要素を削除する。以上が、要素削除処理である。
【0032】
図5図6に示す処理により、リストに含まれている複数の要素の内の表示位置の変更対象であり且つ基準要素でない要素として、リストにおけるスライドの対象となる要素とスライドの方向が決定される。
【0033】
具体的には、リストにおいて基準要素から追加要素が挿入される位置または前記削除要素の位置に向かう方向がスライドの方向として決定される。またスライドの方向において追加要素が挿入される位置または削除要素の位置よりも基準要素から離れた位置に表示されている要素がスライドの対象となる要素として決定される。
【0034】
一方で、スライドの方向において追加要素が挿入される位置または削除要素の位置と基準要素の位置との間に表示されている要素は、スライドの対象となる要素として決定されない。またリストにおいて、基準要素の位置を基準としたときの、追加要素が挿入される位置または削除要素の位置が存在する一方の側と反対側に配置されている要素も、スライドの対象となる要素として決定されない。
【0035】
よって、例えばリストが表示される所定の表示領域の上端部または下端部の領域において要素の追加、削除が行われる場合、その端部付近の要素以外の要素については表示位置が変更されない。そのため、例えばユーザが所定の表示領域に表示中の要素に注目しているときに要素の追加または削除が行われたとしても、注目要素の表示位置が変更されることを低減することができる。
【0036】
<実施例2>
実施例1では、ユーザの操作に応じて動くポインタカーソル等のオブジェクトにより定義される位置に基づき基準要素を決定した。本実施例では、要素が保持する情報に基づき基準要素を決定する。なお、以下の説明において、実施例1と共通する内容については、説明を簡略化または省略する。
【0037】
図7は、本実施例に係る基準要素の導出手法を説明するための図であり、ワイヤレスネットワークを選択する際に表示されるリスト型UIの一例を示す概念図である。図示するように本例では、提示対象の要素701は夫々、ワイヤレスネットワークの名称と電波強度703との2つの情報を保持している。また、要素701は、各要素が保持する名称に従い昇順にソートされて表示領域704に表示されており、更新によって提示対象に要素WNetworkCが新規に追加されようとしている(追加要素702)。このとき、追加要素702たる要素WNetworkCは、要素WNetworkBと要素WNetworkDとの間に挿入される事となる。
【0038】
上述の通り、リスト型UIにて提示される要素は夫々、電波強度703という情報を保持する。電波強度とは、どれ位の電波が届いているかを示しており、値が大きいほど電波が強い。本実施例では、電波強度703を用いて基準要素を導出する。具体的には、ユーザは、電波強度703の値が大きいワイヤレスネットワークを望むことが想定されることから、表示領域704に表示されている要素の中で最大の電波強度を有するWNetworkEを基準要素705とする。なお、実施例1と同様、要素を追加する処理では、基準要素705の位置は、表示領域704において固定される。
【0039】
基準要素705導出以降の、要素WNetworkCを新規追加する態様は実施例1と同様である。即ち、要素WNetworkCより下部となる要素(基準要素705を含む)の位置を固定する。次いで、要素WNetworkCより上部となる要素706(WNetworkA、WNetworkB)を上方向へ要素1個分スライドさせる。次いで、空いた位置に要素WNetworkCを挿入する。なお、追加要素がリスト上にて基準要素705よりも下に挿入される場合は、実施例1と同様、追加要素より下部となる要素を下方向へスライドさせ、空いた位置に追加要素を挿入する。
【0040】
なお上述の説明では、提示対象の各要素が2つの情報を保持する場合について説明したが、3つ以上の情報を保持しても良い。このような場合、基準要素は、各要素が保持する3つ以上の情報の中の任意の1つを用いて導出される。また、基準要素を導出する際に用いられる情報はユーザに認知可能に提示されても良いし、提示されなくても良い。
【0041】
<実施例3>
実施例1では、ユーザの操作に応じて動くポインタカーソルの位置に基づき基準要素を導出し、実施例2では、要素が保持する情報に基づき基準要素を導出した。本実施例では、リスト型UIの表示領域に応じて設ける基準線に基づき基準要素を導出する。
【0042】
図8は、本実施例に係る基準要素の導出手法を説明するための図である。なお、説明のために図中に示すように座標軸を設定する。本例では、リスト型UIの表示領域802において最大で8個の要素を表示可能としている。また、表示領域802内に表示される要素801は、アルファベット順に(昇順に)上から下に向かって並んで表示されている。図中に破線で示すように本例では、要素801が並んでいる方向(y軸方向)に垂直な線(以下、基準線)803を設け、基準線803を用いて基準要素804を導出する。具体的には、基準線803から最も近い要素を基準要素804とする。仮に図8に示す状態で更新が行われた場合、基準線803と最も近い要素fが基準要素804となる。
【0043】
なお、基準要素を求めるために用いる基準線として、表示領域802内にて要素801が並ぶ方向に垂直な線を任意の位置に設定する事が可能である。つまり、基準線が有するy値は、任意の1値で良い。また、基準線は、出力装置209上でユーザに認知可能に提示されても良いし、提示されなくても良い。
【0044】
<実施例4>
図9は、本実施例に係るリストの更新態様を説明するための図である。図9は、出力装置209の画面905上に表示されたポインタカーソル901と、リスト型UIと、を表している。本例では、リスト型UIの表示領域902において最大で8個の要素を表示可能としている。また、表示領域902内に表示される要素903は、アルファベット順に(昇順に)上から下に向かって並んで表示されている。このとき、更新によって要素aが新規に追加されようとしている(追加要素904)。
【0045】
仮に基準要素として要素iが導出され、新規に追加される要素aより下部となる要素903(基準要素の要素iを含む)の表示位置が固定された場合、要素aは表示領域902に表示されないことが起こり得る。このように、リストの更新により提示対象は追加されているにもかかわらず、表示領域902で表示されている要素は変わらないため、結果的にユーザが更新に気づかない場合がある。
【0046】
そこで本実施例では、画面905上に表示されているリスト型UIの表示領域902の周辺に、表示領域902を含むように任意の大きさの領域906を定義する。そして、リストが更新される際に、ユーザの操作によって画面905上を動くことが可能なポインタカーソル901が、領域906に含まれるか否かを判定する。判定の結果、ポインタカーソル901が領域906に含まれる場合、基準要素の位置を表示領域902において固定して新規要素を追加する。この場合の処理は実施例1と同様である。一方、ポインタカーソル901が領域906に含まれない場合、基準要素の位置を表示領域902において固定せずに新規要素を追加する。例えば図9に示す場合、基準要素iの位置が固定されないため、新規に追加される要素aより下部となる要素903を要素1個分下にスライドさせ、空いた位置に要素aを挿入して良い。こうすればユーザは要素aを視認できるので、リストの更新に気づくことができる。
【0047】
上述したように本実施例では、リスト更新の際にポインタカーソル901が領域906に含まれるか否か判定し、該判定の結果に応じて、基準要素の挙動(表示領域902における基準要素の位置を固定するか否か)を決定する。つまり、ポインタカーソル901が、表示領域902上、或いは、表示領域902の近くにあるときは、ユーザは表示領域902に注目していると推測されるため、基準要素を含む要素903を表示領域902上で動かさない。一方、ポインタカーソル901が、表示領域902から遠く離れているときは、ユーザは表示領域902に注目していないと推測されるため、基準要素を含む要素903を表示領域上で動かす。これにより、ユーザが表示領域902に注目していなくても更新が行われたことがユーザへ伝わる。
【0048】
なお、基準要素の位置を固定するか否かを判定するために用いる領域906は、出力装置209上でユーザが認知可能に提示されても良いし、提示されなくても良い。
【0049】
また図9に示した例において要素aを表示させるための方法は上述の方法に限らない。例えば要素が追加されるときに、追加後の要素の数が表示可能な要素の上限数(上記例では8個)を越えるか判定される。また、仮に基準要素に基づいて要素の表示位置を固定した場合に、追加される要素が表示領域外となるか判定される。この判定は、図5に示した処理を表示結果に反映しないように実行し、処理後の追加要素の位置を判定することで実現することができる。そして、「要素追加後のリスト内の要素が上限数を越える」という条件と、「仮に要素の表示位置を固定した場合、追加要素が表示領域外となる」という条件を、要素の表示位置を固定する処理の要否判定の条件とする。例えば上記の2つの条件の両方が満たされた場合、図5に示した処理の結果に従って、リスト内の要素の少なくとも一部の表示位置を固定して、要素aを追加する。或いは、上記2つの条件のいずれかでも満たされた場合に、リスト内の要素の少なくとも一部の表示位置を固定して、要素aを追加してもよい。
【0050】
なお、上記2つの条件のうち、後者の条件が用いられる場合、リスト表示に要素追加を反映させる段階で、当該条件の判定のために、図5に示す処理が既に実行されている。そのため、当該条件判定のために実行された図5に示す処理の結果を用いて、要素追加後のリスト表示を行っても良い。これにより、条件判定に加え、リスト表示のために再度図5に示す処理を実行しなくてもよい。
【0051】
<その他の実施例>
上記の実施例で説明した「要素」については、種々のものを採用することができる。例えばコンピュータ装置201が不図示のネットワークインタフェースにより、LAN(Local Area Network)等のネットワーク上の周辺デバイス(プリンタ等)を検索する場合であってもよい。その際、「要素」が、検索されたデバイスを示す表示項目(プリンタの機種名等)であってもよい。この場合、例えば機種名がアルファベット順或いは数字順に並んだリスト表示が行われる。例えば、LAN上でのプリンタ検索において、コンピュータ装置201がプリンタ探索信号を発行する。そして、その信号に対して、機種名を含む応答があった場合に、該機種名がコンピュータ装置201によりリスト表示される。この場合、コンピュータ装置201が応答を受け取ると随時リスト表示されるため、既に数台のプリンタの機種名が表示されているときに、新たな機種名が追加されることが起こり得る。リスト表示において機種名がアルファベット順或いは数字順で並ぶため、図3に示したように、表示中のリストの途中に機種名を挿入することが起こり得る。そのため、以上の実施例は、上述のようなプリンタ検索処理におけるリスト表示にも応用することができる。
【0052】
また、以上の実施例において、要素が上下にスライドするリスト型UIを例に挙げて説明したが、要素が左右などの任意の一方向に沿ってスライドするリスト型UIにも本発明を適用することができる。
【0053】
さらに、以上の実施例において、要素の表示位置を変更する際に要素をスライドさせる表示制御を行っていたが、本実施形態における表示制御はこれに限らない。例えば要素の表示位置を変更させたリストをコンピュータ装置201がメモリ上に新たに作成し、表示中のリストに代えて、当該作成されたリストを表示させても良い。即ち、表示上で要素がスライドされなくても、要素の表示位置が変更されたリストが表示されればよい。
【0054】
なお、基準要素を導出するため等に、上述の複数の実施例を組み合わせた手法を用いることも可能である。また本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
図1
図2
図3
図4
図5
図6
図7
図8
図9