【文献】
富士ソフト FUJISOFT INCORPORATED,Adobe Acrobat XI スーパーマニュアル 第1版 Adobe Acrobat XI SUPER MANUAL,日本,株式会社秀和システム 斉藤 和邦,2013年 1月 1日,第1版,pp.24,ISBN:978-4-7980-3625-0
(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0017】
以下、図面を参照しつつ、本発明の様々な実施形態について説明する。ただし、本発明の技術的範囲はそれらの実施形態に限定されず、特許請求の範囲に記載された発明とその均等物に及ぶ点に留意されたい。
【0018】
(1)本実施形態の概略
本実施形態では、ユーザは、携帯端末を用いて、サーバから提供されるゲームを実行する。サーバは、そのゲームで使用される、キャラクター、アイテム、各ユーザから掲示板に投稿されたコメント等の特定の項目に関する情報である項目情報を複数記憶し、携帯端末を介したユーザからの要求に従って、複数の項目情報を複数のページに分割して携帯端末に表示させる。さらに、サーバは、各ページのページ番号を並べてスクロール可能に携帯端末に表示させ、ユーザのスクロール操作により指定されたページ番号に対応する項目情報を携帯端末に表示させる。これにより、ユーザが端末を操作する際のUXを向上させることを図る。
【0019】
(2)ゲームシステム1の構成
図1は、ゲームシステム1の概略構成の一例を示す図である。
【0020】
ゲームシステム1は、複数の携帯端末2と、サーバ3とを備える。携帯端末2とサーバ3とは、通信ネットワーク、例えば基地局5、移動体通信網6、ゲートウェイ7及びインターネット8を介して相互に接続される。携帯端末2で実行されるプログラム(例えば、閲覧プログラム)と、サーバ3で実行されるプログラム(例えば、ゲームプログラム)とは、ハイパーテキスト転送プロトコル(Hypertext Transfer Protocol, HTTP)等の通信プロトコルを用いて通信を行う。
【0021】
(2.1)携帯端末2の構成
図2は、携帯端末2の概略構成の一例を示す図である。
【0022】
携帯端末2は、基地局5、移動体通信網6、ゲートウェイ7、及びインターネット8を介してサーバ3に接続し、サーバ3と通信を行う。携帯端末2は、サーバ3から提供されるゲームを実行し、サーバ3に複数記憶された、そのゲームで使用される、キャラクター、アイテム、各ユーザから掲示板に投稿されたコメント等の、特定の項目に関する情報である項目情報を一定数ごとに複数のページに分割して表示する。携帯端末2は、各ページのページ番号をスクロール可能に表示し、ユーザによる操作部23を介したスクロール操作により指定されたページ番号に対応する項目情報をサーバ3から取得して表示する。そのために、携帯端末2は、端末通信部21と、端末記憶部22と、操作部23と、表示部24と、端末処理部25とを備える。
【0023】
なお、本実施形態では、携帯端末2として、多機能携帯電話(所謂「スマートフォン」)を想定するが、本発明はこれに限定されるものではない。携帯端末2は、本発明が適用可能であればよく、例えば、携帯電話(所謂「フィーチャーフォン」)、携帯情報端末(Personal Digital Assistant, PDA)、携帯ゲーム機、携帯音楽プレーヤ、タブレットPC(Personal Computer)、パーソナルコンピュータ等でもよい。
【0024】
端末通信部21は、所定の周波数帯を感受帯域とするアンテナを含む、通信インターフェース回路を備え、携帯端末2を無線通信ネットワークに接続する。端末通信部21は、基地局5により割り当てられるチャネルを介して、基地局5との間でCDMA(Code Division Multiple Access)方式等による無線信号回線を確立し、基地局5との間で通信を行う。そして、端末通信部21は、端末処理部25から供給されたデータをサーバ3等に送信する。また、端末通信部21は、サーバ3等から受信したデータを端末処理部25に供給する。
【0025】
端末記憶部22は、例えば、半導体メモリ、磁気ディスク装置、又は光ディスク装置のうちの少なくともいずれか一つを備える。端末記憶部22は、端末処理部25での処理に用いられるオペレーティングシステムプログラム、ドライバプログラム、アプリケーションプログラム、データ等を記憶する。例えば、端末記憶部22は、ドライバプログラムとして、操作部23を制御する入力デバイスドライバプログラム、表示部24を制御する出力デバイスドライバプログラム等を記憶する。また、端末記憶部22は、アプリケーションプログラムとして、複数の項目情報を分割して表示する各ページのページ番号をスクロール可能に表示するとともに、ユーザにより指定されたページ番号に対応する項目情報をサーバから取得して表示する閲覧プログラム等を記憶する。また、端末記憶部22は、データとして、複数の項目情報を複数のページに分割して表示部24に表示する際の1ページあたりの項目情報の表示数(以下、表示項目数と称する)を予め記憶しておくとともに、サーバ3から取得した各項目情報等を記憶する。さらに、端末記憶部22は、所定の処理に係る一時的なデータを一時的に記憶してもよい。
【0026】
操作部23は、携帯端末2の操作が可能であればどのようなデバイスでもよく、例えば、タッチパッド、キーボード等である。ユーザは、操作部23を用いて、文字、数字、スクロール操作等を入力することができる。操作部23は、ユーザにより操作されると、その操作に対応する信号を発生する。そして、発生した信号は、ユーザの指示として、端末処理部25に供給される。
【0027】
表示部24も、映像、画像等の表示が可能であればどのようなデバイスでもよく、例えば、液晶ディスプレイ、有機EL(Electro−Luminescence)ディスプレイ等である。表示部24は、端末処理部25から供給された映像データに応じた映像、画像データに応じた画像等を表示する。
【0028】
端末処理部25は、一又は複数個のプロセッサ及びその周辺回路を備える。端末処理部25は、携帯端末2の全体的な動作を統括的に制御するものであり、例えば、CPU(Central Processing Unit)である。端末処理部25は、携帯端末2の各種処理が端末記憶部22に記憶されているプログラム、操作部23の操作等に応じて適切な手順で実行されるように、端末通信部21、表示部24等の動作を制御する。端末処理部25は、端末記憶部22に記憶されているプログラム(オペレーティングシステムプログラム、ドライバプログラム、アプリケーションプログラム等)に基づいて処理を実行する。また、端末処理部25は、複数のプログラム(アプリケーションプログラム等)を並列に実行することができる。
【0029】
(2.1.1)端末処理部25の構成
端末処理部25は、少なくとも閲覧実行部250を備える。閲覧実行部250は、ゲーム実行部251、表示制御部252、ページ番号受付部253等を含む。これらの各部は、端末処理部25が備えるプロセッサで実行されるプログラムにより実現される機能モジュールである。あるいは、これらの各部は、ファームウェアとして携帯端末2に実装されてもよい。
【0030】
閲覧実行部250は、操作部23を介したユーザからの指示に応じて、特定の表示データの取得要求を端末通信部21を介してサーバ3に送信する。また、閲覧実行部250は、対応する表示データを、サーバ3から端末通信部21を介して受信する。閲覧実行部250は、受信した表示データに基づいて描画データを作成する。即ち、閲覧実行部250は、受信した表示データを解析して制御データ及び内容データを特定し、特定した制御データに従って同じく特定した内容データをレイアウトし、描画データを作成する。そして、閲覧実行部250は、作成した描画データを表示部24に出力する。
【0031】
ゲーム実行部251は、操作部23を介したユーザからの指示に応じて、サーバ3により提供されるゲームを実行する。ゲーム実行部251は、操作部23を介してユーザからゲームの開始指示を受け付けると、さらに操作部23を介してユーザからユーザID及びパスワードを受け付け、受け付けたユーザID及びパスワードを含むユーザ認証要求を端末通信部21を介してサーバ3に送信する。サーバ3が認証処理に成功すると、ゲーム実行部251は、端末通信部21を介してサーバ3から取得したゲーム画面を表示部24に表示するとともに、操作部23を介してユーザからの操作を受け付け、以降、そのゲームのための処理を実施する。
【0032】
表示制御部252は、操作部23を介したユーザからの指示に応じて、サーバ3に記憶された項目情報のうちの特定の1ページ分の項目情報を表示するとともに、ユーザにより指定可能な、項目情報を表示する各ページの識別番号(以下、ページ番号と称する)をスクロール可能に表示する描画データを表示部24に出力する。そのために、表示制御部252は、描画データに係る表示データの取得を要求する表示データ取得要求を端末通信部21を介してサーバ3に送信する。表示データ取得要求には、端末記憶部22に記憶された表示項目数が含まれる。また、表示制御部252は、対応する表示データを端末通信部21を介してサーバ3から取得し、取得した表示データに基づいて描画データを作成し、作成した描画データを表示部24に出力する。表示データは、例えばHTML5(HyperText Markup Language 5)、CSS3(Cascading Style Sheets 3)、及びJavaScript(登録商標)等の言語を利用して作成することができる。
【0033】
サーバ3から送信される表示データには、内容データとして、サーバ3に記憶された項目情報のうち先頭から表示項目数分の項目情報が含まれ、制御データとして、その項目情報を表示するための情報が含まれる。さらに、表示データには、内容データとして、複数の項目情報を複数のページに分割して表示する際のそのページ数分の各ページ番号が含まれ、制御データとして、各ページ番号をユーザにより指定可能とし、並べてスクロール可能に表示するための情報が含まれる。
【0034】
表示制御部252は、サーバ3から取得した表示データに含まれる各項目情報を端末記憶部22に記憶し、表示データに基づいて、各項目情報を表示するとともに、各ページ番号を並べてスクロール可能に表示部24に表示する。以下では、表示部24に表示する各項目情報を項目リストと称し、各ページ番号を並べたスクロール可能な部分をスクロールページャと称する。
【0035】
また、表示制御部252は、後述するように、操作部23を介したユーザによるスクロール操作により所定のページ番号が指定された場合に、指定されたページ番号に対応する項目情報の取得を要求する項目情報取得要求を端末通信部21を介してサーバ3に送信する。項目情報取得要求には、指定されたページ番号が含まれる。表示制御部252は、指定されたページ番号に対応する項目情報についての内容データ及び制御データを端末通信部21を介してサーバ3から取得する。各内容データ及び制御データは、例えば、JSON(JavaScript Object Notation)(登録商標)等の言語を利用して作成され、Ajax(Asynchronous JavaScript and XML)(登録商標)等の技術を用いて取得することができる。表示制御部252は、取得した内容データに含まれる各更新情報を端末記憶部22に記憶するとともに、取得した内容データ及び制御データに基づいて描画データを更新し、更新した描画データを表示部24に表示する。
【0036】
図3(a)、(b)は、表示部24に表示される画面300の一例を示す図である。
【0037】
図3(a)は、操作部23を介してユーザから項目情報の表示指示を最初に受け付けたときの画面300を示す。
図3(a)に示されるように、画面300には、スクロールページャ310と、項目リスト320とが表示される。スクロールページャ310には、各ページ番号311が並べられ、スクロール可能に表示される。項目リスト320には、スクロールページャ310の中心位置312に位置するページ番号311に対応する項目情報321が表示される。なお、各項目情報321は、例えば新しい情報の順に、上から順に表示される。操作部23を介してユーザから項目情報の表示指示を最初に受け付けたときは、先頭のページ番号「1」が中心位置312に位置し、ページ番号「1」に対応する項目情報321を表す項目リスト320が表示される。また、項目情報321の数が多く、全ての項目情報321が項目リスト320に表示できない場合、項目リスト320は各項目情報321を垂直方向(y方向)にスクロール可能に表示される。
【0038】
図3(b)は、スクロールページャ310において、
図3(a)の矢印Aの方向にユーザのスクロール操作がなされた場合の画面300を示す。
図3(b)では、ユーザのスクロール操作の結果、スクロールページャ310の中心位置312にページ番号「13」が位置しており、項目リスト320にはページ番号「13」に対応する項目情報321が表示される。ユーザは、スクロールページャ310を水平方向にスクロールさせて所望のページ番号を指定し、項目リスト320を垂直方向にスクロールさせて所望の項目情報を閲覧することができる。
【0039】
ページ番号受付部253は、操作部23を介してユーザのスクロール操作により指定されたページ番号を受け付け、表示制御部252に通知する。
【0040】
以下、操作部23がタッチパネルである場合を例にページ番号を取得する方法について説明する。なお、本実施形態では、以下に示す各種処理を実行するために、css3の-webkit-transformの各プロパティが使用されるものとする。
【0041】
まず、ページ番号受付部253は、スクロールページャに対するユーザのフリック操作に応じて、タッチパネルが接触を感知し始めた位置である始点(touch1)を示す始点位置情報を操作部23から取得する。また、ページ番号受付部253は、操作部23から始点位置情報を取得した時刻を、接触を感知し始めた時刻(time1)を示す始点時刻情報として取得する。次に、ページ番号受付部253は、スクロールページャに対するユーザのフリック操作に応じた接触を感知し終えた位置である終点(touch2)を示す終点位置情報を操作部23から取得する。また、ページ番号受付部253は、操作部23から終点位置情報を取得した時刻を、接触を感知し終えた時刻(time2)を示す終点時刻情報として取得する。なお、始点位置情報及び終点位置情報により示される位置は、例えば、表示部24の画面の左上を基準(すなわち、(x ,y ,z)=(0, 0, 0))としたときの水平方向の位置を示すx座標の値で表される。
【0042】
次に、ページ番号受付部253は、終点位置情報に示される位置から始点位置情報に示される位置を減算し、始点から終点までの移動距離(distance1 = touch2 - touch1)を算出する。ここでは、上記したように、始点位置情報及び終点位置情報により示される位置が携帯端末の画面の左上を基準としているため、ユーザが右方向にフリック操作を行った場合には、distance1は正の値を示し、ユーザが左方向にフリック操作を行った場合には、distance1は負の値を示す。次に、ページ番号受付部253は、終点時刻情報に示される時刻から始点時刻情報に示される時刻を減算し、携帯端末が接触を感知していた接触時間(time3 = time2 - time1)を算出する。次に、ページ番号受付部253は、移動距離distance1を、接触時間time3で除算することにより、ユーザのフリック操作の速度(speed1 = distance1 / time3)(以下、操作速度と表記)を算出する。操作速度の単位は[pixel/秒]とする。なお、所定の操作速度を超えると、ユーザが携帯端末を操作する際のUXを損なう恐れがあるため、操作速度の上限値(例えば、440[pixel/秒])を予め設定してもよい。
【0043】
次に、ページ番号受付部253は、算出した操作速度に基づいて、スクロールページャが移動可能である移動可能時間を設定する。移動可能時間(例えば、0.4秒)をwebkitTransitionDurationのTime値として設定することにより、スクロールページャが移動する時間を設定することができる。なお、操作速度を移動可能時間として用いることができる。これにより、操作速度が遅い場合、スクロールページャの移動距離が短くなるので移動可能時間を短時間に設定し、操作速度が速い場合、スクロールページャの移動距離が長くなるので移動可能時間を長時間に設定することができる。
【0044】
次に、ページ番号受付部253は、始点から終点までの移動距離と操作速度とに基づいて、スクロールページャを移動させるべき移動量(movePoint)を算出する。ページ番号受付部253は、例えば「movePoint = distance1 × (speed1 / α)」を演算することにより、スクロールページャの移動量を算出する。なお、αは実験により定められた定数であり、例えば56である。また、スクロールページャの移動量は、distance1とspeed1とに基づいて算出すればよく、上記の数式演算以外の方法により算出してもよい。
【0045】
次に、ページ番号受付部253は、算出した移動量だけスクロールページャを移動するように表示部24に表示する。ページ番号受付部253は、例えば、webkitTransform = translate3d(x, y, z)を利用することにより、スクロールページャを移動させることができる。
【0046】
なお、本実施形態では、スクロールページャが水平方向(x方向)に移動するものとして説明しているが、これに限定されず、スクロールページャは垂直方向(y方向)に移動するようにしてもよい。
【0047】
次に、ページ番号受付部253は、スクロールページャの移動が終了した時点で所定位置に位置するページ番号を取得し、取得したページ番号を表示制御部252に通知する。所定位置は、例えばスクロールページャの表示領域の水平方向の中心位置とすることができる。ページ番号受付部253は、移動可能時間が経過すると、スクロールページャの表示領域の水平方向の中心位置に存在するページ番号を特定し、特定したページ番号を取得する。
【0048】
なお、ページ番号受付部253は、webkitTransformTimingFunction ”ease-out”を予め設定することにより、スクロールページャを滑らかに移動させることができる。
【0049】
また、ページ番号受付部253は、スクロールページャ全体に含まれるページ番号の数と、各ページ番号を表示する領域の水平方向の長さと、相互に隣接するページ番号を表示する領域間の水平方向の余白であるmargin-rightとを用いて、スクロールページャが移動可能な距離(以下、移動可能距離と表記)を算出する。なお、ページ番号受付部253は、JavaScript(登録商標)のgetComputedStyleメソッドを利用することにより、各ページ番号を表示する領域の水平方向の長さと、margin-rightを、取得することができる。ページ番号受付部253は、「ページ番号の数×(ページ番号を表示する領域の水平方向の長さ + margin-right)」を演算することにより、移動可能距離を算出する。移動可能距離を算出しておくことにより、ページ番号受付部253は、「引き戻しの挙動」を実施することができる。ページ番号受付部253は、算出した移動量が移動可能距離より大きい場合、その移動量に1未満の所定値(例えば、0.9)を乗算した値(movePoint × 所定値)を、実際に一覧を移動させる移動量(以下、実移動量と称する)として設定する。これにより、例えばスクロールページャの端部が中心位置を越えるようにユーザがフリック操作をし続ける場合に、スクロールページャをフリック操作の方向と反対方向に引き戻すように表示する「引き戻しの挙動」を実現することができる。なお、引き戻しの挙動は、連続的に引き戻される挙動又は断続的に引き戻される挙動のいずれでもよい。
【0050】
また、ページ番号受付部253は、display:noneを所望のページ番号又は項目情報に対して設定することにより、所望のページ番号又は項目情報を非表示にしてもよい。
【0051】
また、ページ番号受付部253は、スクロールページャの表示領域に表示されているページ番号のうちの一つがタップされた場合も、そのタップされたページ番号を取得し、そのタップされたページ番号を所定位置(中心位置)に移動させて、表示制御部252に通知する。
【0052】
図4は、ページ番号の取得処理について説明するための模式図である。
【0053】
図4に示すように、スクロールページャ310において、矢印Aの方向へユーザのフリック操作がなされた場合、ページ番号受付部253は、始点401及び終点402を操作部23から取得し、各点を取得した時刻を取得する。ページ番号受付部253は、始点401及び終点402から移動距離403を算出し、各点を取得した時刻から接触時間を算出し、移動距離403と接触時間から操作速度を算出する。なお、
図4に示す例では、ユーザが左方向にフリック操作を行っているため、移動距離は負の値となる。ページ番号受付部253は、算出した移動距離に基づいて決定した移動量だけスクロールページャ310を左方向に移動させ、スクロールページャの移動が終了した時点で中心位置312に位置するページ番号「13」を取得する。
【0054】
(2.2)サーバ3の構成
図5(a)は、サーバ3の概略構成の一例を示す図である。
【0055】
サーバ3は、所定のゲームを携帯端末2に提供するとともに、そのゲームで使用される複数の項目情報を記憶し、携帯端末2からの要求に応じて、要求されたページ番号に対応する項目情報を携帯端末2に送信する。そのために、サーバ3は、サーバ通信部31と、サーバ記憶部32と、サーバ処理部33とを備える。
【0056】
サーバ通信部31は、出力部の一例であり、サーバ3をインターネット8に接続するための通信インターフェース回路を備え、インターネット8との間で通信を行う。そして、サーバ通信部31は、携帯端末2等から受信したデータを、サーバ処理部33に供給する。また、サーバ通信部31は、サーバ処理部33から供給されたデータを携帯端末2等に送信する。
【0057】
サーバ記憶部32は、例えば、磁気テープ装置、磁気ディスク装置、又は光ディスク装置のうちの少なくともいずれか一つを備える。サーバ記憶部32は、サーバ処理部33での処理に用いられるオペレーティングシステムプログラム、ドライバプログラム、アプリケーションプログラム、データ等を記憶する。例えば、サーバ記憶部32は、アプリケーションプログラムとして、携帯端末2からの要求に応じて、要求された項目情報を携帯端末2に送信するゲームプログラム等を記憶する。また、サーバ記憶部32は、データとして、ユーザを管理するユーザ管理テーブル(
図5(b))、項目情報を管理する項目管理テーブル(
図5(c))、項目管理テーブルに記憶する項目情報の総数等を予め記憶する。さらに、サーバ記憶部32は、所定の処理に係る一時的なデータを一時的に記憶してもよい。
【0058】
図5(b)、(c)は、各種管理テーブルのデータ構造の一例を示す図である。
【0059】
図5(b)には、ユーザを管理するユーザ管理テーブルが示されている。ユーザ管理テーブルは、各ユーザについて、当該ユーザの識別番号(以下、ユーザIDと称する)、名前、パスワード、当該ユーザの携帯端末2についての各ページ番号と各項目情報との対応関係、表示項目数、項目情報を表示する複数のページのページ数等を記憶する。
【0060】
図5(c)には、項目情報を管理する項目管理テーブルが示されている。項目管理テーブルは、各項目情報について、当該項目情報の識別番号(以下、情報IDと称する)、項目情報自体等を記憶する。なお、各項目情報は、例えば新しい情報の順に、上から順に記憶される。
【0061】
サーバ処理部33は、一又は複数個のプロセッサ及びその周辺回路を備える。サーバ処理部33は、サーバ3の全体的な動作を統括的に制御するものであり、例えば、CPUである。サーバ処理部33は、サーバ3の各種処理がサーバ記憶部32に記憶されているプログラム等に応じて適切な手順で実行されるように、サーバ通信部31等の動作を制御する。サーバ処理部33は、サーバ記憶部32に記憶されているプログラム(オペレーティングシステムプログラム、ドライバプログラム、アプリケーションプログラム等)に基づいて処理を実行する。また、サーバ処理部33は、複数のプログラム(アプリケーションプログラム等)を並列に実行することができる。
【0062】
(2.2.1)サーバ処理部33の構成
サーバ処理部33は、ゲーム制御部331と、表示数取得部332と、ページ数決定部333と、対応付け部334と、ページ番号取得部335と、項目決定部336と、表示データ作成部337と、送信制御部338とを備える。これらの各部は、サーバ処理部33が備えるプロセッサで実行されるプログラムにより実現される機能モジュールである。あるいは、これらの各部は、ファームウェアとしてサーバ3に実装されてもよい。
【0063】
ゲーム制御部331は、ゲームの進行を制御する。ゲーム制御部331は、携帯端末2からサーバ通信部31を介して、ユーザ認証要求を受信した場合に、受信したユーザ認証要求を解析してユーザID及びパスワードを特定する。そして、ゲーム制御部331は、特定したユーザID及びパスワードをパラメータとして、ユーザ認証部(不図示)に処理の実行を指示する。
【0064】
ゲーム制御部331は、ユーザ認証部による認証が成功した場合、そのゲームを実施するためのゲーム画面をサーバ通信部31を介して携帯端末2に送信し、以降、そのゲームのための処理を実施する。
【0065】
表示数取得部332は、サーバ通信部31を介して各携帯端末2から表示データ取得要求を取得し、表示データ取得要求に含まれる表示項目数をサーバ記憶部32に記憶するとともに、ページ数決定部333に通知する。
【0066】
なお、表示項目数は、携帯端末2から取得するのではなく、サーバ記憶部32に予め記憶しておいてもよい。これにより、サーバ3が各携帯端末2に表示される1ページあたりの項目情報の数を管理することができる。
【0067】
ページ数決定部333は、サーバ記憶部32から項目情報の総数と、表示項目数とを読み出し、読み出した項目情報の総数と表示項目数とから、複数の項目情報を複数のページに分割して表示する際のページ数(以下、全ページ数と称する)を決定する。ページ数決定部333は、項目情報の総数を表示項目数で除算することにより全ページ数を算出する。ページ数決定部333は、算出した全ページ数をサーバ記憶部32に記憶するとともに、表示データ作成部337に通知する。
【0068】
対応付け部334は、サーバ記憶部32から表示項目数を読み出し、読み出した表示項目数から、各ページに表示する項目情報を決定する。対応付け部334は、各ページに表示する各項目情報と、全ページ数分の各ページ番号とを対応付けて、その対応関係をサーバ記憶部32のユーザ管理テーブルに記憶する。
【0069】
対応付け部334は、ページ番号の小さい順に各ページに、各項目情報を情報IDの小さい順に表示項目数ずつ対応付けていく。対応付け部334は、各ページ番号と、「表示項目数×(当該ページ番号−1)+1」番目の項目情報から「表示項目数×当該ページ番号」番目の項目情報までとを対応付ける。
【0070】
例えば、表示項目数が10である場合、ページ番号「1」に対応付けられる項目情報は、1番目の項目情報から10番目の項目情報までとなり、ページ番号「13」に対応付けられる項目情報は、121番目の項目情報から130番目の項目情報までとなる。
【0071】
ページ番号取得部335は、サーバ通信部31を介して各携帯端末2から項目情報取得要求を取得し、取得した項目情報取得要求に含まれるページ番号を項目決定部336に通知する。
【0072】
項目決定部336は、サーバ記憶部32のユーザ管理テーブルに記憶された対応関係に基づいて、ページ番号取得部335から取得したページ番号に対応した複数の項目情報のうちの所定の項目情報を決定し、決定した項目情報の情報IDを表示データ作成部337に通知する。
【0073】
表示データ作成部337は、ページ数決定部333から全ページ数が通知されると、サーバ記憶部32の項目管理テーブルの先頭から表示項目数分の項目情報を読み出し、携帯端末2に表示させる表示データを作成し、送信制御部338へ通知して、サーバ通信部31から出力させる。前述したように、作成する表示データには、内容データとして、サーバ記憶部32の項目管理テーブルに記憶された項目情報のうち先頭から表示項目数分の項目情報が含まれ、制御データとして、その項目情報を表示するための情報が含まれる。さらに、作成する表示データには、内容データとして、複数の項目情報を複数のページに分割して表示する際の全ページ数分の各ページ番号が含まれ、制御データとして、各ページ番号をユーザにより指定可能とし、並べてスクロール可能に表示するための情報が含まれる。なお、以下では、先頭から表示項目数分の項目情報を表示するためのデータを初回項目表示データと称し、全ページ数分の各ページ番号を表示するためのデータをページ番号表示データと称する場合がある。
【0074】
また、表示データ作成部337は、項目決定部336から項目情報の情報IDが通知されると、通知された情報IDに対応する項目情報をサーバ記憶部32の項目管理テーブルから読み出す。表示データ作成部337は、読み出した項目情報についての内容データ及び制御データを作成し、送信制御部338へ通知して、サーバ通信部31から出力させる。なお、以下では、項目決定部336から通知された情報IDに対応する項目情報を表示するためのデータを項目表示データと称する場合がある。
【0075】
送信制御部338は、表示データ作成部337から初回項目表示データ及びページ番号表示データを含む表示データが通知されると、通知された表示データをサーバ通信部31を介して各携帯端末2に送信する。また、送信制御部338は、表示データ作成部337から項目表示データが通知されると、通知された項目表示データをサーバ通信部31を介して各携帯端末2に送信する。
【0076】
(3)ゲームシステム1の動作
図6は、ゲームシステム1による項目情報の表示の動作シーケンスの一例を示す。なお、以下に説明する動作シーケンスは、予め端末記憶部22及びサーバ記憶部32に記憶されているプログラムに基づいて、主に端末処理部25及びサーバ処理部33により、携帯端末2及びサーバ3の各要素と協働して実行される。
【0077】
まず、ユーザにより、携帯端末2の操作部23を介して端末処理部25に、閲覧プログラムの実行が指示される。端末処理部25は、閲覧プログラムに基づいて処理を開始する。即ち、閲覧プログラムにより実現される閲覧実行部250のゲーム実行部251は、操作部23を介してユーザからゲームの開始指示を受け付けると、さらに操作部23を介してユーザからユーザID及びパスワードを受け付ける。そして、ゲーム実行部251は、ユーザID及びパスワードを含むユーザ認証要求を端末通信部21を介してサーバ3に送信する(ステップS101)。
【0078】
サーバ3のゲーム制御部331は、サーバ通信部31を介して携帯端末2からユーザ認証要求を受信すると、受信したユーザ認証要求を解析してユーザID及びパスワードを特定する。そして、ゲーム制御部331は、特定したユーザID及びパスワードをパラメータとして、ユーザ認証部(不図示)に認証処理の実行を指示する(ステップS102)。
【0079】
ゲーム制御部331は、ユーザ認証部による認証が成功した場合、そのゲームを実施するためのゲーム画面をサーバ通信部31を介して携帯端末2に送信する(ステップS103)。
【0080】
携帯端末2のゲーム実行部251は、端末通信部21を介してサーバ3から取得したゲーム画面を表示部24に表示し、以降、そのゲームのための処理を実施する(ステップS104)。
【0081】
次に、表示制御部252は、操作部23を介してユーザから項目情報の表示指示を受け付けると、端末記憶部22から表示項目数を読み出し、読み出した表示項目数を含む表示データ取得要求を端末通信部21を介してサーバ3に送信する(ステップS105)。
【0082】
サーバ3の表示数取得部332は、サーバ通信部31を介して携帯端末2から表示データ取得要求を取得すると、表示データ取得要求に含まれる表示項目数をサーバ記憶部32に記憶するとともに、ページ数決定部333に通知する。次に、ページ数決定部333は、全ページ数を算出するページ数決定処理を実施する(ステップS106)。
【0083】
図7は、ページ数決定部333によるページ数決定処理の動作フローの一例を示す図である。
【0084】
まず、ページ数決定部333は、サーバ記憶部32から項目情報の総数と、表示項目数とを読み出す(ステップS201)。次に、ページ数決定部333は、項目情報の総数を表示項目数で除算することにより全ページ数を算出し(ステップS202)、算出した全ページ数をサーバ記憶部32に記憶するとともに、表示データ作成部337に通知し、一連のステップを終了する。
【0085】
図6に戻り、対応付け部334は、サーバ記憶部32から表示項目数を読み出し、読み出した表示項目数から、各ページに表示する各項目情報と、全ページ数分の各ページ番号とを対応付けて、その対応関係をサーバ記憶部32のユーザ管理テーブルに記憶する(ステップS107)。
【0086】
次に、表示データ作成部337は、サーバ記憶部32の項目管理テーブルの先頭から表示項目数分の項目情報を読み出し、携帯端末2に表示させる表示データを作成し(ステップS108)、送信制御部338へ通知する。この表示データには、初回項目表示データ及びページ番号表示データが含まれる。
【0087】
次に、送信制御部338は、表示データ作成部337が作成した表示データをサーバ通信部31を介して携帯端末2に送信する(ステップS109)。
【0088】
携帯端末2の表示制御部252は、端末通信部21を介してサーバ3から表示データを取得すると、取得した表示データを解析して、表示データに含まれる各項目情報を端末記憶部22に記憶するともに、描画データを作成し、作成した描画データを表示部24に表示する(ステップS110)。
【0089】
次に、ページ番号受付部253は、操作部23を介してユーザのスクロール操作により指定されたページ番号を受け付けるページ番号解析処理を実施する(ステップS111)。
【0090】
図8は、ページ番号受付部253によるページ番号解析処理の動作フローの一例を示す図である。
【0091】
まず、ページ番号受付部253は、スクロールページャに対するユーザのフリック操作に応じて、始点位置情報及び始点時刻情報を取得し(ステップS301)、終点位置情報及び終点時刻情報を取得する(ステップS302)。次に、ページ番号受付部253は、始点位置情報及び終点位置情報から移動距離を算出し(ステップS303)、始点時刻情報及び終点時刻情報から接触時間を算出し(ステップS304)、移動距離及び接触時間から操作速度を算出する(ステップS305)。次に、ページ番号受付部253は、操作速度に基づいて移動可能時間を設定する(ステップS306)。次に、ページ番号受付部253は、移動距離及び操作速度に基づいて移動量を算出する(ステップS307)。
【0092】
次に、ページ番号受付部253は、算出した移動量だけスクロールページャを移動するように表示部24に表示する(ステップS308)。次に、ページ番号受付部253は、スクロールページャの移動が終了した時点で所定位置に位置するページ番号を取得し(ステップS309)、取得したページ番号を表示制御部252に通知し、一連のステップを終了する。
【0093】
図6に戻り、表示制御部252は、ページ番号受付部253が取得したページ番号を含む項目情報取得要求を端末通信部21を介してサーバ3に送信する(ステップS112)。
【0094】
サーバ3のページ番号取得部335は、サーバ通信部31を介して携帯端末2から項目情報取得要求を取得すると、項目情報取得要求に含まれるページ番号を項目決定部336に通知する。
【0095】
次に、項目決定部336は、サーバ記憶部32のユーザ管理テーブルに記憶された対応関係に基づいて、ページ番号取得部335から通知されたページ番号に対応付けられた項目情報を決定し(ステップS113)、決定した項目情報の情報IDを表示データ作成部337に通知する。
【0096】
次に、表示データ作成部337は、項目決定部336が決定した項目情報の情報IDに対応する項目情報をサーバ記憶部32の項目管理テーブルから読み出し、読み出した項目情報について項目表示データを作成し(ステップS114)、送信制御部338へ通知する。
【0097】
送信制御部338は、項目表示データをサーバ通信部31を介して携帯端末2に送信する(ステップS115)。
【0098】
携帯端末2の表示制御部252は、端末通信部21を介してサーバ3から項目表示データを取得すると、取得した項目表示データに含まれる更新情報を端末記憶部22に記憶するとともに、取得した項目表示データに基づいて描画データを更新し、更新した描画データを表示部24に表示する(ステップS116)。
【0099】
なお、携帯端末2の表示制御部252は、ステップS110又はS116においてサーバ3から受信した各表示データに含まれる各項目情報をページ番号と対応付けて端末記憶部22に記憶しておき、その後、再度ユーザによりそのページ番号が指定された場合、記憶しておいた項目情報を表示してもよい。これにより、ユーザが特定のページを閲覧した後、他のページを閲覧し、再度その特定のページを閲覧した場合、その特定のページの各項目情報をサーバ3から改めて取得する必要がなくなり、短時間に表示することが可能となる。
【0100】
また、携帯端末2の表示制御部252は、ユーザにより指定されたページ番号に対応する項目情報をサーバ3から取得して表示部24に表示した後、そのページ番号に近接するページ番号に対応する項目情報をサーバ3から取得しておいてもよい。その場合、表示制御部252は、ページ番号受付部253から取得したページ番号を含む項目情報取得要求をサーバ3に送信した後、そのページ番号に近いページ番号の順に、各ページ番号を含む項目情報取得要求をサーバ3に送信する。サーバ3の項目決定部336は、順次受信した項目情報取得要求に従って、対応する項目情報を決定する。つまり、項目決定部336は、ユーザにより指定されたページ番号に対応する項目情報を決定した後、そのページ番号に近いページ番号の順に、対応する項目情報を決定する。表示データ作成部337は、項目決定部336が決定した順に、決定した項目情報についての内容データ及び制御データを作成する。つまり、表示データ作成部337は、ユーザにより指定されたページ番号についての項目表示データを作成した後、そのページ番号に近いページ番号の順に、対応する項目情報についての項目表示データを作成する。送信制御部338は、表示データ作成部337が作成した順に、作成した項目表示データをサーバ通信部31を介して携帯端末2に送信する。
【0101】
例えば、ユーザにより指定されたページ番号が「13」である場合、サーバ3は、ページ番号「13」に対応する項目表示データを携帯端末2に送信し、続いて、ページ番号「12」及び「14」に対応する項目表示データ、ページ番号「11」及び「15」に対応する項目表示データを、順次、携帯端末2に送信する。
【0102】
項目情報が時系列等、何らかの規則に従った順にサーバ3に記憶されている場合、ユーザは、現在閲覧している項目情報に近接する項目情報の閲覧を所望する可能性が高い。したがって、携帯端末2は、現在閲覧されている項目情報に近接する項目情報をサーバ3から予め取得しておくことにより、ユーザがその近接する項目情報の閲覧を所望した場合に、その項目情報をサーバ3から改めて取得する必要がなくなり、短時間に表示することが可能となる。
【0103】
また、携帯端末2の表示制御部252は、ユーザのスクロール操作により指定されたページ番号に対応する項目情報をサーバ3から取得して表示部24に表示した後、スクロール操作により所定位置(中心位置)を通過したページ番号に対応する項目情報をサーバ3から予め取得しておいてもよい。その場合、表示制御部252は、ページ番号受付部253から取得したページ番号を含む項目情報取得要求をサーバ3に送信した後、そのページ番号と、直前に指定されていたページ番号の間のページ番号を含む項目情報取得要求をサーバ3に送信する。サーバ3の項目決定部336は、受信した項目情報取得要求に従って、対応する項目情報を決定する。つまり、項目決定部336は、ユーザのスクロール操作の直前に指定されていたページ番号と、スクロール操作により指定されたページ番号の間のページ番号に対応する項目情報を決定する。表示データ作成部337は、項目決定部336が決定した項目情報についての内容データ及び制御データを作成する。つまり、表示データ作成部337は、ユーザにより指定されたページ番号についての項目表示データを作成した後、その指定されたページ番号と、そのページ番号が指定される直前に指定されていたページ番号の間のページ番号に対応する項目情報についての項目表示データを作成する。送信制御部338は、表示データ作成部337が作成した項目表示データをサーバ通信部31を介して携帯端末2に送信する。
【0104】
例えば、ユーザのスクロール操作の直前に指定されていたページ番号が「1」であり、スクロール操作により指定されたページ番号が「13」である場合、サーバ3は、ページ番号「2」〜「12」に対応する項目表示データを携帯端末2に送信する。
【0105】
ユーザがスクロール操作を誤ったり、所望の項目情報を含むページ番号の予測を誤って、スクロールページャをスクロールさせすぎた場合、ユーザは、スクロール操作を行う前に指定していたページ番号の方向へスクロールページャを戻す可能性が高い。したがって、携帯端末2は、スクロール操作の前後に指定されたページ番号の間のページ番号に対応する項目情報をサーバ3から予め取得しておくことにより、スクロール操作を行う前に指定していたページ番号の方向へスクロールページャが戻された場合に、項目情報を短時間に表示することが可能となる。
【0106】
また、ページ番号受付部253は、スクロールページャに対するユーザのスクロール操作が完了する前に、現在までの操作結果に基づいて、指定されるページ番号を予測してもよい。その場合、ページ番号受付部253は、始点位置情報及び始点時刻情報を取得してから所定時間(例えば、100msec)経過後、その時点でユーザの接触を感知している位置である途中点を示す途中点位置情報を操作部23から取得する。ページ番号受付部253は、始点から途中点までの移動距離を算出し、その移動距離を、上記の所定時間で除算した値を操作速度とする。そして、ページ番号受付部253は、移動量を「移動量=移動距離×(移動速度/β)」(βは定数)を演算することにより予測し、予測した移動量だけスクロールページャを移動させた場合に所定位置に位置するページ番号を指定されるページ番号と予測する。表示制御部252は、予測されたページ番号を含む項目情報取得要求をサーバ3に送信する。サーバ3の項目決定部336は、その予測されたページ番号に対応する項目情報を決定する。表示データ作成部337は、項目決定部336が決定した項目情報についての項目表示データを作成する。送信制御部338は、表示データ作成部337が作成した項目表示データをサーバ通信部31を介して携帯端末2に送信する。
【0107】
これにより、携帯端末2は、ユーザのスクロール操作が完了する前に項目情報をサーバ3から取得することが可能となり、予測した項目情報が実際に指定された項目情報と一致した場合に、項目情報を短時間に表示することが可能となる。
【0108】
以上説明してきたように、サーバ3は、複数の項目情報を複数のページに分割して携帯端末に表示させる。さらに、サーバ3は、各ページのページ番号をスクロール可能に携帯端末2に表示させ、ユーザのスクロール操作により指定されたページ番号に対応する項目情報を携帯端末に表示させる。これにより、ユーザは、現在表示されている項目情報と、閲覧を所望する情報との間に非常に多くの情報が存在する場合でも、短時間かつ少ない労力で所望する情報を閲覧することができるようになる。さらに、ユーザは、所望の項目を含むページのページ番号が表示されていない場合、「次へ」ボタン又は「前へ」ボタン等を押下することなく、スクロール操作によりページ番号を選択することができるようになる。したがって、携帯端末2は、ユーザが端末を操作する際のUXを向上させることが可能となる。
【0109】
なお、本発明は、本実施形態に限定されるものではない。例えば、本実施形態では、携帯端末2がページ番号解析処理を実施する例を説明したが、サーバ3がページ番号解析処理を実施してもよい。その場合、携帯端末2のページ番号受付部253は、端末通信部21を介してサーバ3に、始点位置情報、始点時刻情報、終点位置情報及び終点時刻情報を送信する。一方、サーバ3のページ番号取得部335は、取得した始点位置情報及び終点位置情報から移動距離を算出し、始点時刻情報及び終点時刻情報から接触時間を算出し、移動距離及び接触時間から操作速度を算出する。また、ページ番号取得部335は、操作速度に基づいて移動可能時間を算出するとともに、移動距離及び操作速度に基づいて移動量を算出し、算出した移動量からスクロールページャの移動が終了した時点で所定位置に位置するページ番号を取得する。さらに、ページ番号取得部335は、算出した移動可能時間及び操作速度をサーバ通信部31を介して携帯端末2に送信する。携帯端末2のページ番号受付部253は、端末通信部21を介してサーバ3から取得した移動可能時間を設定し、取得した移動量だけスクロールページャを移動するように表示部24に表示する。
【0110】
また、本実施形態では、サーバ3がページ数決定処理を実施する例を説明したが、携帯端末2がページ数決定取得処理を実施してもよい。その場合、携帯端末2の端末記憶部22は項目情報の総数を予め記憶する。あるいは、サーバ3は、項目情報の総数に変更があるたびに携帯端末2に送信し、携帯端末2は受信した項目情報の総数を端末記憶部22に記憶する。端末処理部25は、
図2に示した各部に加えて、サーバ3のページ数決定部333と同様の機能を持つページ数決定部を有する。携帯端末2のページ数決定部は、端末記憶部22から項目情報の総数と、表示項目数とを読み出し、項目情報の総数と表示項目数とからページ数を算出し、端末通信部21を介してサーバ3に通知する。
【0111】
また、本実施形態では、サーバ3が項目決定処理を実施する例を説明したが、携帯端末2が項目決定処理を実施してもよい。その場合、携帯端末2の端末処理部25は、
図2に示した各部に加えて、サーバ3の項目決定部336と同様の機能を持つ項目決定部を有する。携帯端末2の項目決定部は、端末記憶部22から表示項目数を読み出すとともに、ページ番号解析部からユーザにより指定されたページ番号を取得する。そして、項目決定部は、表示項目数とページ番号とから当該ページ番号に対応する項目情報を決定し、端末通信部21を介してサーバ3に通知する。
【0112】
また、サーバ3が全ての項目情報を携帯端末2に送信し、携帯端末2が複数の項目情報を複数のページに分割して、ユーザから指定されたページに対応する項目情報を表示するようにしてもよい。その場合、携帯端末2は、サーバ3から受信した全ての項目情報に基づいて、項目管理テーブルを作成するとともに項目情報の総数を算出し、端末記憶部22に記憶する。端末処理部25は、
図2に示した各部に加えて、サーバ3のサーバ処理部33の各部のうちゲーム制御部331以外の各部と同様の機能を持つ各部を有する。端末処理部25は、各情報を端末通信部21及びサーバ通信部31を介して送受信することに代えて、端末処理部25内で送受信し、表示部24が出力部として機能する。
【0113】
また、サーバ3を省略し、携帯端末2が全ての項目情報を予め記憶するものとしてもよい。その場合、端末記憶部22は、項目管理テーブル及び項目管理テーブルに記憶する項目情報の総数等を予め記憶し、端末処理部25は、
図2に示した各部に加えて、サーバ3のサーバ処理部33の各部と同様の機能を持つ各部を有する。端末処理部25は、各情報を端末通信部21及びサーバ通信部31を介して送受信することに代えて、端末処理部25内で送受信し、表示部24が出力部として機能する。
【0114】
また、本実施形態では、1ページあたりの項目情報の表示数を一定にするものとしたが、1ページあたりの項目情報の文字数、行数、データサイズ等を一定にしてもよい。その場合、各携帯端末2の端末記憶部22は、表示項目数の代わりに1ページあたりに表示可能な項目情報の文字数、行数、又はデータサイズを記憶し、表示制御部252は、表示データ取得要求にその文字数、行数、又はデータサイズを含めて送信する。一方、サーバ3のサーバ記憶部32は、各項目情報の文字数、行数、又はデータサイズを記憶し、ページ数決定部333は、各項目情報の文字数、行数、又はデータサイズと、1ページあたりの項目情報の文字数、行数、又はデータサイズとから、全ページ数を決定する。対応付け部334は、各項目情報の文字数、行数、又はデータサイズと、1ページあたりの項目情報の文字数、行数、又はデータサイズとから、各ページに表示する項目情報を決定し、全ページ数分の各ページ番号と、各ページに表示する各項目情報とを対応付ける。
【0115】
また、本実施形態では、ゲームシステムを例に説明したが、端末からの要求に応じてサーバが検索を行い、端末に検索結果を表示する検索システム、サーバに記憶された、複数の端末からのメッセージを各端末に表示するメッセージ管理システム等に本発明を適用することも可能である。検索システムに本発明を適用する場合、各検索結果が項目情報となり、メッセージ管理システムに本発明を適用する場合、各メッセージが項目情報となる。
【0116】
また、本実施形態では、携帯端末を例に説明したが、携帯端末の代わりに、インターネット8に接続するための通信インターフェース回路を備え、インターネット8と直接に通信を行うノート型PC等の有線端末を用いてもよい。その場合、操作部23としてキーボード、マウス等を利用し、マウスを用いたユーザのスクロール操作によりページ番号が指定されてもよい。
【0117】
また、端末処理部25及びサーバ処理部33が備える各機能をコンピュータに実現させるためのコンピュータプログラムは、磁気記録媒体、光記録媒体等のコンピュータにより読み取り可能な記録媒体に記録された形で提供されてもよい。
【0118】
当業者は、本発明の精神及び範囲から外れることなく、様々な変更、置換、及び修正をこれに加えることが可能であることを理解されたい。