以下に、本願にかかる情報表示プログラム、情報表示方法、情報表示装置、及び配信装置を実施するための形態(以下、「実施形態」と記載する。)について図面を参照しつつ詳細に説明する。なお、この実施形態により本願にかかる情報表示プログラム、情報表示方法、情報表示装置、及び配信装置が限定されるものではない。また、以下の各実施形態において同一の部位には同一の符号を付し、重複する説明は省略される。
〔1.情報表示処理〕
最初に、本実施形態の情報表示プログラム等により実現される情報表示処理の概要を説明する。以下の説明では、本実施形態の情報表示装置の一例である端末装置10の動作を例に、情報表示処理の概要を説明する。
図1は、実施形態に係る端末装置10の動作の一例を示す図である。また、図2は、実施形態に係る端末装置10の動作の他の例を示す図である。図1及び図2の例では、端末装置10が備える表示面(出力部14)に、コンテンツC1(第1のコンテンツ)が配置されたページが表示されている。コンテンツC1は、例えば、地図である。ページとは、コンテンツの配置面のことである。より具体的には、ページとは、画像(例えば、静止画、動画)、テキスト情報(例えば、ニュース記事)等のコンテンツが配置されたページ単位の情報である。例えば、ページはウェブページである。なお、ページはウェブページに限定されない。例えば、ページは、ユーザインタフェース画面に表示されることを目的として作成されたページ(例えばアプリの画面)であってもよい。ページは、端末装置10が備える記憶装置に予めインストールされたデータ(例えば、地図データ)に基づき生成されてもよい。なお、以下の説明で示される“ページ”の記載は“配置面”に置き換えることが可能である。また、以下に説明する端末装置10の動作は、ブラウザ上での動作のみならず、予めインストールされたプログラム上(例えば、アプリ上)での動作も含有している。
なお、以下の説明には、X軸、Y軸、及びZ軸から構成される直交座標系を用いる。図中、矢印の指し示す方向がプラス方向である。本実施形態の場合、X軸、Y軸は画面と水平な方向に軸方向を有している。具体的には、X軸は、画面横方向に軸方向を有しており、Y軸は画面縦方向に軸方向を有している。また、Z軸は画面と平行な面に対して垂直な方向に軸方向を有している。
端末装置10は、例えば、スマートデバイス(スマートフォン、或いはタブレット)、携帯電話、パーソナルコンピュータ等のユーザ端末である。図の例では、端末装置10は、スマートデバイスとなっているが、端末装置10はスマートデバイスに限定されない。端末装置10は、ネットワーク接続機能を備え、ネットワークを介して任意のサーバ装置と通信する。
端末装置10の出力部14は、ユーザの画面のタッチを検知する入力部と一体となってタッチパネル式の画面を構成している。端末装置10は、ユーザのタッチパネル操作に応じて出力部14に地図等のコンテンツを表示する。また、タッチを検知する入力部は、感圧センサーを備え、ユーザが画面を押し込んだか否かを検知可能である。より具体的には、入力部は、ユーザが指やスタイラスで画面を強めに押し込んだ時に、画面上の押し込まれた位置と押し込み圧力の大きさを検知し、端末装置10を制御する制御部に位置と圧力の情報を出力する。なお、入力部は、押し込まれた面積を検知し、制御部に面積の情報を出力するよう構成されていてもよい。なお、感圧センサーは、フォースセンサー、3Dタッチセンサー等と言い換えることが可能である。
以下の説明では、ユーザが画面を押し込む操作のことを押し込み操作という。押し込み操作とは、例えば、ユーザが画面を強くタッチすることで、端末装置10に通常のタッチとは異なる動作をさせる操作のことである。或いは、押し込み操作とは、例えば、所定値(例えば、後述の第1の閾値或いは第2の閾値)より大きな圧力を伴うユーザのタッチパネル操作のことである。なお、押し込み操作は、端末装置10が所定値以上の圧力を検出した際のユーザの操作ということも可能である。押し込み操作は、プレス操作、フォースタッチ、3Dタッチ、感圧タッチ、強タッチ、深いタッチ等と言い換えることができる。また、以下の説明では、ユーザが画面を触れる操作をタッチ操作という。タッチ操作は、軽いタッチ、浅いタッチ、通常のタッチ等と言い換えることができる。
端末装置10の入力部は、押し込み圧力の大きさを、例えば、0〜1の範囲の値で検出するよう構成されていてもよい。このとき、入力部が検出可能な最大の圧力の値が1、非加圧時の値が0であってもよい。そして、端末装置10は、押し込み圧力の大きさに基づいて、ユーザがタッチ操作を行ったか、押し込み操作を行ったかを判別してもよい。例えば、端末装置10は、タッチ操作と押し込み操作を切り分ける第1の閾値を記憶し、押し込み圧力の大きさが第1の閾値より小さい場合には、ユーザが画面をタッチ操作したと判別し、押し込み圧力の大きさが第1の閾値より大きい場合には、ユーザが画面を押し込み操作したと判別する。入力部が押し込み圧力の大きさを0〜1の範囲の値で検出するのであれば、第1の閾値は、例えば、0.3である。勿論、第1の閾値は0.3より大きくてもよいし、小さくてもよい。
また、押し込み操作は、押し込み圧力の大きさの違いによって区別されていてもよい。例えば、端末装置10は、ユーザが弱い圧力、例えば、第1の閾値より大きく第2の閾値より小さい圧力で画面を押し込んだ場合に、弱い押し込み操作(第1の押し込み操作)がされたと判別してもよい。また、端末装置10は、ユーザが強い圧力、例えば、第2の閾値より大きな圧力で画面を押し込んだ場合に、強い押し込み操作(第2の押し込み操作)がされたと判別してもよい。第2の閾値は第1の閾値より大きな値である。弱い押し込み操作は、弱プレス、軽プレス、ピーク(Peek)等と言い換えることができる。強い押し込み操作は、強プレス、重プレス、ポップ(Pop)等と言い換えることができる。端末装置10は、ユーザが弱い押し込み操作を行ったか、強い押し込み操作を行ったかに基づいて動作を変更してもよい。以下の説明に登場する「押し込み操作」の記載は、適宜、「弱い押し込み操作」或いは「強い押し込み操作」に置き換え可能である。
なお、第1の閾値、及び第2の閾値は、ユーザが端末装置10に設定可能であってもよい。また、第1の閾値、及び第2の閾値は、アプリケーションプログラムに組み込まれていてもよい。また、第1の閾値、及び第2の閾値は、配信サーバ(配信装置)から配信される制御情報に含まれていてもよい。
ユーザが端末装置10を操作して任意のサイトにアクセスすると、端末装置10は、配信サーバからコンテンツC1が配置されたページの配信を受ける。そして、端末装置10は、受信したページを画面に表示する。また、端末装置10は、配信サーバからページの情報とともに制御情報を受信する。制御情報は、例えば、コンテンツC1の表示を変更するための情報である。このとき、制御情報は、ページに埋め込まれたプログラムであってもよい。例えば、制御情報は、JavaScript(登録商標)等のスクリプト言語で記載されたプログラムであってもよい。勿論、制御情報は、スクリプト言語以外のコンピュータ言語で記載された情報であってもよい。例えば、制御情報は、CSS3(Cascading Style Sheets 3)等のスタイルシート言語で記載された情報であってもよい。また、制御情報は、Java(登録商標)、Swift、C言語、C++等のプログラミング言語で記載され、コンパイル等されたプログラム(例えば、アプリそのもの)であってもよい。なお、最終的に端末装置10がプログラムを実行できるのであれば、制御情報は、コンパイルされたプログラムでなくてもよい。その他、制御情報は、インタプリタ言語(例えば、スクリプト言語)、機械言語、或いは中間言語の形式で提供されるデータ(プログラム)であってもよい。端末装置10は、制御情報に従ってコンテンツC1の表示を変更する。例えば、コンテンツC1が地図であるとする。ユーザが、地図上で指をスワイプさせると、端末装置10はスワイプされた方向に向け地図をスクロールさせる。
なお、端末装置10は、必ずしもコンテンツC1の全ての情報を一度に配信サーバから取得する必要はない。端末装置10が配信サーバから取得するコンテンツC1の情報は、コンテンツC1の情報の一部であってもよい。この場合、端末装置10は、画面への表示の必要が生じた場合に、改めてコンテンツC1の情報の一部或いは全部を配信サーバから取得してもよい。例えば、コンテンツC1が地図であるとすれば、端末装置10は、ユーザが地図をスクロールさせたときに、スクロール先の地図情報を配信サーバから改めて取得してもよい。なお、コンテンツC1はウェブページ上の地図に限られない。例えば、コンテンツC1は、端末装置10にインストールされたアプリケーションソフト(例えば、地図アプリ)の画面に表示される地図であってもよい。この場合、コンテンツC1は、アプリケーションソフトに包含される形で配信サーバから配信される地図であってもよい。勿論、コンテンツC1は、アプリケーションソフトからの配信要求に応じて配信サーバから配信される地図であってもよい。なお、アプリケーションソフト(例えば、地図アプリ)は配信サーバから配信されたものであってもよい。この場合、アプリケーションソフトを構成するプログラムデータそのものを制御情報とみなすことが可能である。
〔1−1.コンテンツの縮小処理〕
以下、端末装置10の動作を説明する。最初に、図1及び図2を参照しながら、コンテンツの縮小動作について説明する。ユーザが端末装置10を片手で持つ場合等、一本の指でコンテンツの縮小を実現したい場合がある。コンテンツの縮小は一般的にピンチインを使用するが、ピンチインは二本の指を使用しなければならず、一本の指では実現困難である。端末装置10は、ユーザがコンテンツの縮小を一本の指(例えば、親指)で行うことを可能にする。なお、以下の説明で登場する「縮小」の記載は、適宜、「ズームアウト」と置き換え可能である。
まず、端末装置10は、ユーザの操作に応じて配信サーバにコンテンツC1(第1のコンテンツ)の配信を要求する。コンテンツC1は、例えば、地図である。コンテンツC1を受信すると、端末装置10は、出力部14にコンテンツC1の一部領域を表示する(状態D10)。
端末装置10の画面が所定の押し込み圧力(以下、圧力Fという。)で押し込み操作されると、端末装置10は、コンテンツC2を画面に表示する(状態D20)。コンテンツC2は、押し込み操作の後、押し込み操作或いは画面のタッチの解除までの所定期間表示される。所定期間は、全期間であってもよいし、一部期間であってもよい。例えば、端末装置10は、押し込み操作から押し込み操作の解除までの全期間或いは一部期間、コンテンツC2を画面に表示する。或いは、端末装置10は、押し込み操作からタッチの解除までの全期間或いは一部期間、コンテンツC2を画面に表示する。
ここで、「押し込み操作の解除」とは、ユーザが画面の押し込みを停止したことをいう。例えば、押し込み操作の解除とは、圧力Fが第1の閾値より小さくなることをいう。また、「画面のタッチの解除」とは、ユーザが画面のタッチを停止したことをいう。例えば、画面のタッチの解除とは、ユーザが画面から指或いはスタイラスを離間させたことをいう。コンテンツC1を出力部14に表示する情報表示プログラムは、押し込み操作の解除及び画面のタッチの解除を、例えば、端末装置10にインストールされているOS(Operating System)からの通知に基づき検出する。以下の説明では、押し込み操作の解除のことを「プレス解除」、画面のタッチの解除のことを「タッチ解除」という。なお、情報表示プログラムは、押し込み操作の後、OSからプレス解除の通知がなされることなく、タッチ解除の通知がなされた場合は、タッチ解除とともにプレス解除がなされたとみなしてもよい。
端末装置10は、コンテンツC2として、例えば状態D20に示すような、バネのアニメーションを表示してもよい。端末装置10は、コンテンツC2を、押し込み操作或いはタッチ操作に対応して変化させる(図1の状態D30、図2の状態D30b)。例えば、端末装置10は、圧力Fの大きさに対応してコンテンツC2を変化させる。より具体的には、端末装置10は、圧力Fが大きくなるに従ってバネの収縮量を大きくしてもよい。図2の状態D30bの例では、図1の状態D30の例より圧力Fが大きくなっている。そのため、図2の状態D30bの例では、図1の状態D30の例よりバネの収縮量が大きくなっている。なお、圧力Fが0〜1の範囲の値なのであれば、端末装置10は、0〜1の値に対応させて収縮量を変化させる。このとき、端末装置10は、圧力Fが1のときにバネの収縮量が最大、圧力Fが0のときにバネの収縮量が最小となるようコンテンツC2を表示してもよい。なお、端末装置10は、押し込み操作の後、プレス解除を検出したとしても、タッチが継続されているのであれば、圧力Fに応じてバネの収縮量を変化させてもよい。
また、端末装置10は、押し込み操作の継続時間に対応してコンテンツC2を変化させてもよい。例えば、端末装置10は、押し込み操作が継続している時間の長さに対応させてバネの収縮量を大きくする。このとき、端末装置10は、押し込み操作が所定の時間(例えば、5秒)継続した場合を最大の収縮量とし、0秒〜所定の時間までの値に対応させてバネの収縮量を変化させてもよい。なお、端末装置10は、押し込み操作の後、プレス解除を検出したとしても、タッチが継続されているのであれば、押し込み操作が継続されているものとみなして、バネの収縮量を大きくしてもよい。
また、端末装置10は、押し込み操作の継続時間と圧力Fの大きさとに対応してコンテンツC2を変化させてもよい。例えば、端末装置10は、押し込み操作が継続している時間の長さと圧力Fの平均値とを乗算した値(例えば、バネに蓄積するエネルギー量。以下、エネルギー量ともいう。)に対応させてバネの収縮量を大きくする。このとき、エネルギー量には上限が設けられていてもよい。端末装置10は、算出されたエネルギー量に対応させてバネの収縮量を変化させる。なお、端末装置10は、押し込み操作の後、プレス解除を検出したとしても、タッチが継続されているのであれば、押し込み操作が継続されているものとみなして、バネの収縮量を大きくしてもよい。コンテンツC2の変化によって、ユーザは、バネにエネルギーが蓄積されていっているような感覚を得ることができる。
続いて、端末装置10は、プレス解除又はタッチ解除を検出する。端末装置10は、プレス解除又はタッチ解除を検出すると、画面に表示されたコンテンツC1を縮小する(図1の状態D40、図2の状態D40b)。例えば、コンテンツC1が地図なのであれば、端末装置10は、プレス解除又はタッチ解除が検出された場合に、画面に表示された地図を縮小する。端末装置10は、コンテンツC1を徐々に縮小する。例えば、端末装置10は、0.5秒から10秒ほどかけてコンテンツC1を徐々に縮小する。なお、縮小に要する時間は、0.5秒より短い時間であってもよいし、10秒より長い時間であってもよい。
なお、図1の状態D40及び図2の状態D40bの例では、端末装置10は、タッチ解除を検出した場合にコンテンツC1を縮小している。以下の説明では、端末装置10は、タッチ解除を検出した場合にコンテンツC1を縮小するものとするが、プレス解除を検出した場合にコンテンツC1を縮小してもよい。端末装置10は、タッチ解除を検出すると、コンテンツC1を以下のとおり縮小する。
まず、端末装置10は、押し込み操作に関する情報に基づいて、コンテンツC1の縮小量を算出する。縮小量は、例えば、コンテンツC1の現在の表示サイズ(例えば、縮尺)を基準とした表示サイズの変更量のことである。例えば、コンテンツC1の現在の表示サイズ(縮尺)が1/2500であり、変更したい表示サイズ(縮尺)が1/25000であるとする。このとき縮小量は、縮尺が1/10となるので、例えば“10”である。縮小量を指定する値は勿論この例に限定されない。例えば、表示サイズが1〜10の10段階存在しており、値が大きいほど大きなサイズであるとする。このとき、表示サイズを7から5に変更したいのであれば、縮小量は例えば“2”である。
なお、端末装置10は、圧力Fの大きさに基づいて、コンテンツC1の縮小量を算出してもよい。縮小量の算出に使用する圧力Fの大きさは、押し込み操作中の所定期間(例えば、プレス解除前又はタッチ解除前の0.5秒間)の最大値であってもよいし、プレス解除又はタッチ解除の一定期間前(例えば、プレス解除又はタッチ解除の0.5秒前)の値であってもよい。なお、縮小量には上限値が設けられていてもよい。また、縮小量と圧力Fとの関係は線形でなくてもよい。縮小量と圧力Fとの関係は非線形であってもよい。例えば、縮小量は圧力Fの対数に基づき算出される値であってもよい。
また、端末装置10は、押し込み操作の継続時間に基づいて、コンテンツC1の縮小量を算出してもよい。例えば、端末装置10は、押し込み操作が継続している時間の長さに対応させてコンテンツC1の縮小量を大きくする。例えば、端末装置10は、押し込み操作が所定の時間(例えば、5秒)継続した場合を最大の縮小量とし、0秒〜所定の時間までの値に対応した値をコンテンツC1の縮小量とする。なお、縮小量には上限値が設けられていてもよい。また、縮小量と継続時間との関係は線形でなくてもよい。縮小量と継続時間との関係は非線形であってもよい。例えば、縮小量は継続時間の対数に基づき算出される値であってもよい。
また、端末装置10は、押し込み操作の継続時間と圧力Fの大きさとに基づいて、コンテンツC1の縮小量を算出してもよい。例えば、端末装置10は、押し込み操作が継続している時間の長さと圧力Fの平均値とを乗算した値(例えば、バネに蓄積するエネルギー量。以下、エネルギー量という。)に対応させてコンテンツC1の縮小量を大きくする。なお、縮小量には上限値が設けられていてもよい。また、縮小量とエネルギー量との関係は線形でなくてもよい。縮小量と継続時間との関係は非線形であってもよい。例えば、縮小量には上限値が設けられていてもよい。また、縮小量と継続時間との関係は線形でなくてもよい。縮小量と継続時間との関係は非線形であってもよい。例えば、縮小量は圧力Fの対数に基づき算出される値であってもよい。
なお、画面にコンテンツC2が表示されるのであれば、端末装置10は、コンテンツC2に表示されている画像の内容に基づいて、コンテンツC1の縮小量を算出してもよい。例えば、コンテンツC2がバネのアニメーションなのであれば、端末装置10は、プレス解除又はタッチ解除時のバネの収縮量に基づいてコンテンツC1の縮小量を算出してもよい。
縮小量の算出が完了したら、端末装置10は、コンテンツC1を縮小する。このとき、端末装置10は、コンテンツC1を徐々に縮小する。例えば、端末装置10は、バネに蓄積されたエネルギーに基づく反発力Rによって、あたかも視点Vが上空に打ち上げられるかのように、コンテンツC1を徐々に縮小する。視点Vの上昇スピードは、あたかも視点Vが重力加速度を受けているかのように、徐々に減速させてもよい。
端末装置10は、算出した縮小量に基づいて、コンテンツC1を縮小する。例えば、コンテンツC1の現在の表示サイズ(縮尺)が1/2500であり、縮小量が“10”であるとする。このとき、端末装置10は、表示サイズ(縮尺)が1/25000となるまでコンテンツC1を縮小する。算出された縮小量に達したら、端末装置10は、コンテンツC1の縮小を停止する。図2の状態D30bの例では、図1の状態D30の例よりバネの収縮量が大きくなっている。そのため、図2の状態D40bの出力部14に示される地図は、図1の状態D40の出力部14に示される地図より、縮小量が大きな地図となっている。
本実施形態によれば、コンテンツの縮小を一本の指で行うことができるので、端末装置10の操作を容易にできる。
〔1−2.表示箇所の移動〕
次に、表示箇所の移動動作(例えば、画面に表示された地点を地図上の他の地点に変更する動作)について説明する。
ユーザは、表示箇所の移動を行う場合、ピンチイン、ピンチアウト、スクロール等の複数の操作を実行する。例えば、ユーザは、地図上の離れた地点に画面を移動させる場合、ピンチインで地図を縮小し、縮小した地図上で目的地点を発見する。そして、ユーザは、目的地点が画面の中央にくるように画面をスクロールさせた後、ピンチアウトを行って目的地点を拡大表示する。タッチパネル操作が可能であってもなお、表示箇所を移動させるのは容易ではない。
端末装置10は、コンテンツC1(第1のコンテンツ)上の第1の領域を表示中にコンテンツC1上の第2の領域を表示するための所定の操作がなされた場合に、コンテンツC1を縮小した後、縮小されたコンテンツC1を第2の領域を含むよう拡大する。これにより、端末装置10は、表示箇所の移動を容易にできるようにする。なお、以下の説明で登場する「拡大」の記載は、適宜、「ズーム」或いは「ズームイン」と置き換え可能である。
以下、表示箇所の移動動作について詳しく説明する。図3は、実施形態に係る端末装置10の動作の一例を示す図である。図3の上段の図と下段の図は、X軸が反対向きとなっているので注意を要する。図3の上段の図では、X軸プラス方向は図面左方向となっており、下段の図では、Xプラス方向は図面右方向となっている。
まず、端末装置10は、ユーザの操作に応じて配信サーバにコンテンツC1の配信を要求する。コンテンツC1を受信すると、端末装置10は、出力部14に、コンテンツC1上の一部領域(第1の領域)を表示する。例えば、コンテンツC1が地図であるとすれば、表示部151は、出力部14に、地図上の所定の地点(例えば、ユーザ指定の地点)を表示する。
端末装置10の画面が圧力Fで押し込み操作されると、端末装置10は、コンテンツC2を画面に表示する(状態D21)。コンテンツC2は、押し込み操作の後、プレス解除或いはタッチ解除までの所定期間表示される。所定期間は、全期間であってもよいし、一部期間であってもよい。例えば、端末装置10は、押し込み操作からプレス解除までの全期間或いは一部期間、コンテンツC2を画面に表示する。或いは、端末装置10は、押し込み操作からタッチ解除までの全期間或いは一部期間、コンテンツC2を画面に表示する。
端末装置10は、コンテンツC2として、例えば状態D21に示すような、バネのアニメーションを表示してもよい。端末装置10は、コンテンツC2を、押し込み操作とタッチ箇所の移動操作とに対応して変化させる(状態D31a、状態D31b)。例えば、端末装置10は、圧力Fの大きさに対応してコンテンツC2を変化させる(状態D31a)。或いは、端末装置10は、押し込み操作の継続時間に対応してコンテンツC2を変化させる。端末装置10は、押し込み操作の継続時間と圧力Fの大きさとに対応してコンテンツC2を変化させてもよい。
また、端末装置10は、ユーザが押し込み操作中にタッチ箇所の移動操作を行った場合には、移動操作に対応させてコンテンツC2を変化させる(状態D31b)。タッチ箇所の移動操作は、例えば、画面に圧力を加えながらのスワイプである。タッチ箇所の移動操作は、画面に圧力を加えない、単なるスワイプであってもよい。このとき、端末装置10は、スワイプの方向に向けてバネを湾曲させてもよい。状態D31bの例では、ユーザは位置P1から位置P2に向けて指をスワイプさせている。位置P1は押し込み操作開始位置である。位置P1と位置P2とを結んだ方向が表示箇所の移動方向となる。
移動方向が分かり易くなるように、端末装置10は、移動方向を示すコンテンツC3(第2のコンテンツ)を画面に表示してもよい。状態D31bの例では、移動方向を示す矢印が画面に表示されている。コンテンツC3は、コンテンツC2と同様に、押し込み操作の後、プレス解除或いはタッチ解除までの所定期間表示される。
また、端末装置10は、押し込み操作とともに移動操作がなされた場合には、押し込み操作に関する情報と移動操作に関する情報とに基づいて、移動先の領域(第2の領域)の位置を算出する。このとき、端末装置10は、移動先の領域がどこか分かり易くなるように、コンテンツC1上の移動先の領域の位置を示すコンテンツC4(第3のコンテンツ)を画面に表示してもよい。コンテンツC4は、コンテンツC2と同様に、押し込み操作の後、プレス解除或いはタッチ解除までの所定期間表示される。
続いて、端末装置10は、プレス解除又はタッチ解除を検出する。端末装置10は、プレス解除又はタッチ解除を検出すると、押し込み操作とともにタッチ箇所の移動操作がなされているか判別する。例えば、端末装置10は、押し込み操作の開始位置である位置P1と、タッチ解除位置である位置P2とが設定距離以上離れているか判別する。位置P1と位置P2とが設定距離以上離れている場合、端末装置10は、押し込み操作とともにタッチ箇所の移動操作がなされていると判別する。この場合、端末装置10は、コンテンツC2を、押し込み操作とタッチ箇所の移動操作とに対応して変化させてもよい。例えば、端末装置10は、コンテンツC2を、移動方向に向けて湾曲させてもよい(状態D41)。
プレス解除又はタッチ解除が検出された場合、端末装置10は、コンテンツC1を縮小するとともにコンテンツC1の表示の中心を移動させる。表示の中心は、例えば、出力部14中のコンテンツC1が表示されている領域の中心である。表示の中心は視点VのXY平面上の位置と一致していてもよい。端末装置10は、バネに蓄積されたエネルギーによる反発力Rによって、あたかも視点Vが斜め上空に打ち上げられるかのように、コンテンツC1の縮小と表示の中心の移動を行う。
図4は、反発力Rによって視点Vが斜め上空に打ち上げられる様子を示す図である。図4はあくまでイメージであり、実際に視点Vが斜め上空に打ち上げられているわけではない。図4の状態D31bは、図3の状態D31bに対応しており、図4の状態D41は、図3の状態D41に対応している。例えば、端末装置10は、以下に示すように反発力Rを算出する。まず、端末装置10は、図4の状態D31bに示すように、圧力Fを示すベクトルを押し込み操作開始位置に配置する。図4の状態D31bの例の場合、X軸、Y軸、Z軸の交点が押し込み操作開始位置となっている。さらに、端末装置10は、押し込み操作開始位とタッチ解除位置を結ぶベクトルMを画面上に配置する。そして、端末装置10は、図4の状態D41に示すように、圧力Fを示すベクトルとベクトルMとにより形成されるベクトルを算出する。図4の状態D41に示す破線のベクトルが算出されるベクトルである。そして、端末装置10は、算出したベクトルの反対方向のベクトルを反発力Rとして算出する。
図5は、表示の中心が移動する様子を示す図である。端末装置10は、反発力Rに基づいて、移動先の領域の位置(目標地点TP)を算出する。図5の上段に示すように、視点Vは、スタート地点SP(第1の領域)から反発力Rで打ち上げられる。図5の上段の図は、図5の中段の人の手が描かれた図とは、X軸及びY軸が反対向きとなっているので注意を要する。なお、図5の上段はあくまでイメージであり、実際に視点Vが斜め上空に打ち上げられているわけではない。また、図5の上段の図では、コンテンツC1に厚みを持たせているが、コンテンツC1は実際には画像であり厚みがあるわけではない。視点Vの速度のZ軸方向の成分は、あたかも重力加速度を受けるかのように、Z軸マイナス方向に加速される。端末装置10は、視点VがコンテンツC1の表面に達するまでの時間に視点Vの水平方向の速度に基づいて視点Vの移動距離を算出する。そして、端末装置10は、視点Vの移動距離と移動方向に基づいて目標地点TP(第2の領域)を算出する。なお、端末装置10は、算出した地点から所定の距離の範囲内に予め設定したランドマークがある場合にはそのランドマークの位置を目標地点TPとしてもよい。ランドマークは例えば駅や空港等の交通施設であってもよいし、観光客の多い観光地(例えば、城や鉄塔)であってもよい。
図5に示すように、プレス解除又はタッチ解除が検出されると、端末装置10は、コンテンツC1を縮小する。例えば、端末装置10は、プレス解除又はタッチ解除が検出されると(状態D41)、表示の中心を目標地点TPに向けて移動させながら、徐々にコンテンツC1を縮小する(状態D42)。図5の状態D42の下段の図には、XY平面上に写像された視点Vが示されている。端末装置10は視点Vが表示の中心に位置するようコンテンツC1を表示してもよい。なお、縮小量は反発力RのZ軸方向の成分に基づき算出されたものであってもよい。端末装置10は、スタート地点SPと目標地点TPの双方が画面に表示されるよう縮小量を算出してもよい。端末装置10は、スタート地点SPと目標地点TPの双方が画面に表示されるようコンテンツC1を縮小する(状態D43)。
そして、所定の縮小量に達したら、端末装置10は、縮小されたコンテンツC1を、目標地点TPを含むよう拡大する。例えば、端末装置10は、目標地点TPに向けた表示の中心の移動を継続しながら、縮小されたコンテンツC1を目標地点TPを含むよう徐々に拡大する(状態D44)。そして、目標地点TPに達したら、端末装置10は、表示の中心の移動およびコンテンツC1の拡大を停止する(状態D45)。
なお、端末装置10は、表示の中心の移動中に画面へのタッチが伴う所定の操作がなされた場合には、目標地点TPに向けた表示の中心の移動を停止してもよい。図6は、表示の中心の移動が途中で停止した様子を示す図である。図6に示すように、端末装置10は、プレス解除又はタッチ解除が検出されると(状態D41)、表示の中心を目標地点TPに向けて移動させながら、徐々にコンテンツC1を縮小する(状態D42)。そして、移動中に所定の操作がなされた場合には、端末装置10は目標地点TPに向けた表示の中心の移動を停止する(状態D43b)。所定の操作は、タッチ操作(例えば、タップ)であってもよいし、押し込み操作であってもよい。押し込み操作は弱い押し込み操作(ピーク)であってもよいし、強い押し込み操作(ポップ)であってもよい。
このとき、端末装置10は、目標地点TPに向けた表示の中心の移動を停止するとともに、縮小されたコンテンツC1を拡大してもよい(状態D44b)。例えば、端末装置10は、変更地点CPが含まれるようコンテンツC1を拡大してもよい。変更地点CPは、所定の操作を行った地点、例えば、ユーザがタップや押し込み操作を行った地点であってもよい。このとき、拡大の速度は、目標地点TPに向けた拡大の速度より速くてもよい。勿論、徐々に拡大することなく、いきなり変更地点CPを拡大表示してもよい。
本実施形態によれば、端末装置10は、スタート地点SPを表示中に所定の操作がなされた場合に、コンテンツC1を縮小した後、縮小されたコンテンツC1を目標地点TPを含むよう拡大している。ユーザは、複雑な操作を要することなく、表示箇所を目標地点TPに移動させることができる。
〔2.配信システムの構成例〕
以上、本実施形態の情報表示処理について述べたが、以下、本実施形態の情報表示装置の一例である端末装置10を備える配信システム1の構成を説明する。
図7は、実施形態に係る配信システムの構成例を示す図である。配信システム1は、端末装置10と、配信サーバ20とを備える。端末装置10、及び配信サーバ20は、ネットワークNを介して接続される。ネットワークNは、LAN(Local Area Network)、WAN(Wide Area Network)、電話網(携帯電話網、固定電話網等)、地域IP(Internet Protocol)網、インターネット等の通信ネットワークである。ネットワークNには、有線ネットワークが含まれていてもよいし、無線ネットワークが含まれていてもよい。なお、配信システム1には、端末装置10、及び配信サーバ20がそれぞれ複数台含まれてもよい。
〔3.端末装置の構成例〕
図8は、実施形態に係る端末装置10の構成例を示す図である。端末装置10は、ユーザがページの閲覧に使用する情報表示装置(情報処理装置)である。端末装置10は、例えば、スマートフォン、タブレット、携帯電話等の通信端末である。端末装置10は、パーソナルコンピュータ(ノートPC、デスクトップPC)、PDA(Personal Digital Assistant)等の情報処理端末であってもよい。通信機能を備えるのであれば情報処理端末も通信端末の一種である。端末装置10は、ネットワークを介して配信サーバ20と接続する。端末装置10は、図8に示すように、通信部11と、入力部12と、記憶部13と、出力部14と、制御部15と、を備える。なお、図8に示した構成は機能的な構成であり、ハードウェア構成はこれとは異なっていてもよい。
通信部11は、外部の装置と通信する通信インタフェースである。通信部11は、ネットワークインタフェースであってもよいし、機器接続インタフェースであってもよい。例えば、通信部11は、NIC(Network Interface Card)等のLANインタフェースであってもよいし、USB(Universal Serial Bus)ホストコントローラ、USBポート等により構成されるUSBインタフェースであってもよい。また、通信部11は、有線インタフェースであってもよいし、無線インタフェースであってもよい。通信部11は、端末装置10の通信手段として機能する。通信部11は、制御部15の制御に従って配信サーバ20と通信する。
入力部12は、外部から各種入力を受け付ける入力装置である。例えば、入力部12は、キーボードやマウスや操作キー等、ユーザが各種操作を行うための操作装置である。入力部12は、端末装置10の入力手段として機能する。なお、入力部12にはタッチパネルも含まれる。この場合、ユーザは、指やスタイラスで画面をタッチすることにより各種操作を行う。入力部12を構成するタッチパネルは感圧センサーが配置されている。入力部12は、ユーザのタッチ操作に加えて、押し込み操作を捉えることが可能である。
記憶部13は、DRAM(Dynamic Random Access Memory)、SRAM(Static Random Access Memory)、フラッシュメモリ、ハードディスク等のデータ読み書き可能な記憶装置である。記憶部13は、端末装置10の記憶手段として機能する。記憶部13は、ウェブブラウザ等のアプリケーションソフトのデータが格納されている。ユーザはアプリケーションソフトを介して配信サーバ20と通信する。
出力部14は、音、光、振動、画像等、外部に各種出力を行う装置である。出力部14は、端末装置10の出力手段として機能する。出力部14は、各種情報を表示する表示装置を備える。表示装置は、例えば、液晶ディスプレイ、有機EL(Electro Luminescence)ディスプレイである。なお、表示装置は入力部12と一体であってもよい。上述したように、入力部12は、感圧センサーが配置されたタッチパネルを備える。本実施形態では、出力部14は、感圧センサーが配置されたタッチパネルと一体となったディスプレイであるものとする。出力部14は、制御部15の制御に従って、画面(ディスプレイ)に画像を表示する。
制御部15は、コントローラ(controller)であり、例えば、CPU(Central Processing Unit)、MPU(Micro Processing Unit)等のプロセッサによって、端末装置10内部の記憶装置に記憶されている各種プログラムがRAM等を作業領域として実行されることにより実現される。また、制御部15は、コントローラであり、例えば、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)等の集積回路により実現されてもよい。
制御部15は、図8に示すように、表示部151と、検出部152と、算出部153と、表示変更部154と、を備える。制御部15を構成するブロック(表示部151〜表示変更部154)はそれぞれ制御部15の機能を示す機能ブロックである。これら機能ブロックはソフトウェアブロックであってもよいし、ハードウェアブロックであってもよい。例えば、上述の機能ブロックが、それぞれ、ソフトウェア(マイクロプログラムを含む。)で実現される1つのソフトウェアモジュールであってもよいし、半導体チップ(ダイ)上の1つの回路ブロックであってもよい。勿論、各機能ブロックがそれぞれ1つのプロセッサ或いは1つの集積回路であってもよい。機能ブロックの構成方法は任意である。なお、制御部15は上述の機能ブロックとは異なる機能単位で構成されていてもよい。
表示部151は、出力部14にコンテンツを表示する。例えば、表示部151は、出力部14に、コンテンツC1上の第1の領域(例えば、スタート地点SP)を表示する。一例として、表示部151は、出力部14に、地図上の第1の地点を表示する。或いは、表示部151は、出力部14に、コンテンツの配置面(例えば、スクロール可能なページ)上の第1の位置(例えば、ページ上の一部領域)を表示する。或いは、表示部151は、出力部14に、複数のタブを有する配置面の第1のタブを表示する。
検出部152は、画面の押し込み操作の後に画面へのタッチが解除されたことを検出する。又は、検出部152は、画面の押し込み操作の後に押し込み操作が解除されたことを検出する。
算出部153は、押し込み操作に関する情報に基づいて、コンテンツC1の縮小量を算出する。例えば、算出部153は、押し込み操作の継続時間に基づいて、コンテンツC1の縮小量を算出する。或いは、算出部153は、圧力Fの大きさに基づいて、コンテンツC1の縮小量を算出する。或いは、算出部153は、押し込み操作の継続時間と圧力Fの大きさとに基づいて、コンテンツC1の縮小量を算出する。
また、算出部153は、押し込み操作とともに移動操作がなされた場合には、押し込み操作に関する情報と移動操作に関する情報とに基づいて、移動先の領域の位置(例えば、目標地点TP)を算出する。
また、表示変更部154は、検出部152で押し込み操作の解除或いはタッチの解除が検出された場合に、画面に表示されたコンテンツC1を縮小する。例えば、表示変更部154は、検出部152で解除が検出された場合に、画面に表示された地図を縮小する。このとき、表示変更部154は、検出部152で解除が検出された場合に、コンテンツC1を徐々に縮小してもよい。また、表示変更部154は、算出部153で算出した縮小量に基づいてコンテンツC1を縮小してもよい。
また、表示変更部154は、押し込み操作の後、押し込み操作或いはタッチの解除までの所定期間、押し込み操作或いはタッチ操作に対応して変化するコンテンツC2を画面に表示する。例えば、表示変更部154は、押し込み操作の後、押し込み操作或いはタッチの解除までの所定期間、押し込み操作の継続時間に対応して変化するコンテンツC2を画面に表示する。或いは、表示変更部154は、押し込み操作の後、押し込み操作或いはタッチの解除までの所定期間、圧力Fの大きさに対応して変化するコンテンツC2を画面に表示する。表示変更部154は、押し込み操作の後、押し込み操作或いはタッチの解除までの所定期間、押し込み操作の継続時間と圧力Fの大きさとに対応して変化するコンテンツC2を画面に表示する。
また、表示変更部154は、押し込み操作の後、押し込み操作或いはタッチの解除までの所定期間、押し込み操作或いはタッチ操作に対応してコンテンツC1の一部を変化させる。例えば、表示変更部154は、押し込み操作の後、押し込み操作或いはタッチの解除までの所定期間、押し込み操作の継続時間に対応してコンテンツC1の一部を変化させる。このとき、表示変更部154は、押し込み操作の後、押し込み操作或いはタッチの解除までの所定期間、押し込み操作の継続時間に対応して、押し込み操作された部分を基準としたコンテンツC1の所定範囲の表示を圧力Fにより窪んだように歪ませてもよい。
或いは、表示変更部154は、押し込み操作の後、押し込み操作或いはタッチの解除までの所定期間、圧力Fの大きさに対応させてコンテンツC1の一部を変化させる。このとき、表示変更部154は、押し込み操作の後、押し込み操作或いはタッチの解除までの所定期間、圧力Fの大きさに対応して、押し込み操作された部分を基準としたコンテンツC1の所定範囲の表示を圧力により窪んだように歪ませてもよい。
或いは、表示変更部154は、押し込み操作の後、押し込み操作或いはタッチの解除までの所定期間、押し込み操作の継続時間と圧力Fの大きさとに対応させてコンテンツC1の一部を変化させる。このとき、表示変更部154は、押し込み操作の後、押し込み操作或いはタッチの解除までの所定期間、押し込み操作の継続時間と圧力Fの大きさとに対応して、押し込み操作された部分を基準としたコンテンツC1の所定範囲の表示を圧力により窪んだように歪ませてもよい。
また、表示変更部154は、押し込み操作とタッチ箇所の移動操作とがなされた後、検出部152でプレス解除或いはタッチ解除が検出された場合に、コンテンツC1を縮小するとともにコンテンツC1の表示の中心を移動させる。
また、表示変更部154は、コンテンツC1上の領域であって第1の領域(例えば、スタート地点SP)とは異なる第2の領域(例えば、目標地点TP)を表示するための所定の操作がなされた場合に、コンテンツC1を縮小した後、縮小されたコンテンツC1を第2の領域を含むよう拡大する。例えば、表示変更部154は、所定の操作がなされた場合に、コンテンツC1を徐々に縮小した後、縮小されたコンテンツC1を第2の領域を含むよう徐々に拡大する。
このとき、表示変更部154は、所定の操作がなされた場合に、コンテンツC1の表示の中心を第2の領域に向けて移動させながらコンテンツC1を徐々に縮小した後、縮小されたコンテンツC1を徐々に拡大する。
或いは、表示変更部154は、所定の操作がなされた場合に、コンテンツC1を徐々に縮小した後、コンテンツC1の表示の中心を第2の領域に向けて移動させながら、縮小されたコンテンツC1を徐々に拡大する。
或いは、表示変更部154は、所定の操作がなされた場合に、コンテンツC1の表示の中心を第2の領域に向けて移動させながらコンテンツC1を徐々に縮小した後、第2の領域に向けた表示の中心の移動を継続しながら、縮小されたコンテンツC1を徐々に拡大する。
なお、表示変更部154は、表示の中心の移動中に画面へのタッチが伴う所定の操作がなされた場合には、第2の領域に向けた表示の中心の移動を停止する。このとき、表示変更部154は、第2の領域に向けた表示の中心の移動を停止するとともに、縮小されたコンテンツC1を拡大してもよい。
また、表示変更部154は、画面の押し込み操作とタッチ箇所の移動操作とがなされた後、該押し込み操作或いは画面へのタッチが解除された場合に、コンテンツC1を徐々に縮小した後、縮小されたコンテンツC1を第2の領域を含むよう徐々に拡大する。例えば、表示変更部154は、押し込み操作とタッチ箇所の移動操作とがなされた後、押し込み操作或いはタッチが解除された場合に、コンテンツC1の表示の中心を算出部153で算出した位置に向けて移動させる。
このとき、表示変更部154は、押し込み操作の後、該押し込み操作或いはタッチの解除までの所定期間、押し込み操作と移動操作とに対応して変化する第2のコンテンツを画面に表示してもよい。或いは、表示変更部154は、押し込み操作の後、該押し込み操作或いはタッチの解除までの所定期間、押し込み操作と移動操作とに対応してコンテンツC1の一部を変化させてもよい。また、表示変更部154は、押し込み操作の後、押し込み操作或いはタッチの解除までの所定期間、第2の領域を示すコンテンツC4を画面に表示してもよい。
また、表示変更部154は、地図上の第2の地点を表示するための所定の操作がなされた場合に、地図を縮小した後、縮小された地図を第2の地点を含むよう拡大する。また、表示変更部154は、配置面上の第2の位置を表示するための所定の操作がなされた場合に、配置面を縮小した後、縮小された配置面を第2の位置を含むよう拡大する。また、表示変更部154は、配置面の第2のタブを表示するための所定の操作がなされた場合に、配置面を縮小した後、縮小された配置面を第2のタブを含むよう拡大する。
〔4.配信サーバの構成例〕
次に、配信サーバ20の構成について詳細に説明する。配信サーバ20は、端末装置10等のクライアントコンピュータからの要求を処理するサーバ用ホストコンピュータ(以下、単に「サーバ」という。)である。配信サーバ20は、本実施形態の配信装置として機能する。配信サーバ20は、PCサーバであってもよいし、ミッドレンジサーバであってもよいし、メインフレームサーバであってもよい。また、配信サーバ20は、1つのサーバにより構成されていてもよいし、協働して処理を実行する複数のサーバにより構成されていてもよい。配信サーバ20が複数のサーバで構成される場合、これらサーバの設置場所は離れていてもよい。設置場所が離れていたとしても、協働して処理を実行するのであれば、これらサーバは1つの配信サーバとみなすことができる。
図9は、実施形態に係る配信サーバ20の構成例を示す図である。配信サーバ20は、通信部21と、記憶部22と、制御部23と、を備える。なお、図9に示した構成は機能的な構成であり、ハードウェア構成はこれとは異なっていてもよい。
通信部21は、外部の装置と通信する通信インタフェースである。通信部21は、ネットワークインタフェースであってもよいし、機器接続インタフェースであってもよい。例えば、通信部21は、NIC等のLANインタフェースであってもよいし、USBホストコントローラ、USBポート等により構成されるUSBインタフェースであってもよい。また、通信部21は、有線インタフェースであってもよいし、無線インタフェースであってもよい。通信部21は、配信サーバ20の通信手段として機能する。通信部21は、制御部23の制御に従って端末装置10と通信する。
記憶部22は、DRAM、SRAM、フラッシュメモリ、ハードディスク等のデータ読み書き可能な記憶装置である。記憶部22は、配信サーバ20の記憶手段として機能する。記憶部22は、コンテンツC1等のコンテンツが配置されたページの情報を記憶する。例えば、記憶部22は、ページを形成するHTML(Hyper Text Markup Language)ファイルや、ページに表示される地図のデータを記憶する。
制御部23は、コントローラであり、例えば、CPU、MPU等のプロセッサによって、配信サーバ20内部の記憶装置に記憶されている各種プログラムがRAM等を作業領域として実行されることにより実現される。また、制御部23は、コントローラであり、例えば、ASICやFPGA等の集積回路により実現されてもよい。
制御部23は、図9に示すように、受付部231と、配信部232と、を備える。制御部23を構成するブロック(受付部231、配信部232)はそれぞれ制御部23の機能を示す機能ブロックである。これら機能ブロックはソフトウェアブロックであってもよいし、ハードウェアブロックであってもよい。例えば、上述の機能ブロックが、それぞれ、ソフトウェア(マイクロプログラムを含む。)で実現される1つのソフトウェアモジュールであってもよいし、半導体チップ(ダイ)上の1つの回路ブロックであってもよい。勿論、各機能ブロックがそれぞれ1つのプロセッサ或いは1つの集積回路であってもよい。機能ブロックの構成方法は任意である。なお、制御部23は上述の機能ブロックとは異なる機能単位で構成されていてもよい。
受付部231は、端末装置10から制御情報の配信要求を受け付ける。例えば、端末装置10から制御情報を含むページの取得要求を受け付ける。例えば、受付部231は、ウェブページの取得要求として、HTTPリクエストを受け付ける。
配信部232は、端末装置10に制御情報を配信する。例えば、配信部232は、受付部231がページの取得要求を受け付けた場合に、制御情報を含むページの情報を端末装置10に配信する。
配信部232は、端末装置10に制御情報を配信することで、画面の押し込み操作の後に押し込み操作或いは画面へのタッチが解除されたことを検出する検出処理と、検出処理で解除が検出された場合に、画面に表示された第1のコンテンツを縮小する表示変更処理と、を実行するよう端末装置10を制御する。
また、配信部232は、端末装置10に制御情報を配信することで、コンテンツC1上の第1の領域(例えば、スタート地点SP)を表示する表示処理と、コンテンツC1上の第2の領域(例えば、目標地点TP)を表示するための所定の操作がなされた場合に、コンテンツC1を縮小した後、縮小されたコンテンツC1を第2の領域(例えば、目標地点TP)を含むよう拡大する表示変更処理と、を実行するよう端末装置10を制御する。
〔5.端末装置の処理フロー〕
次に、図10を参照しながら、端末装置10が実行する処理の手順について説明する。図10は、情報表示処理の一例を示すフローチャートである。
端末装置10は、ユーザの操作に応じて配信サーバ20にコンテンツC1が配置されたページの配信要求(リクエスト)を送信する(ステップS11)。そして、端末装置10は、ページを受信したか否かを判別する(ステップS12)。ページを受信していない場合(ステップS12:No)、端末装置10は、再度ステップS12を実行する。ページを受信している場合(ステップS12:Yes)、端末装置10は、受信したページを画面に表示する(ステップS13)。
続いて、端末装置10は、押し込み操作が実行されたか判別する(ステップS14)。押し込み操作が実行されていない場合(ステップS14:No)、端末装置10は、ステップS20に処理を進める。
押し込み操作が実行された場合(ステップS14:Yes)、端末装置10は、ユーザによる画面へのタッチが解除されたか判別する(ステップS15)。なお、端末装置10は、画面へのタッチの解除の代わりに、押し込み操作が解除されたか判別してもよい。画面へのタッチが解除されていない場合(ステップS15:No)、端末装置10は、タッチが解除されるまでステップS15を繰り返す。
画面へのタッチが解除された場合(ステップS15:Yes)、端末装置10は、押し込み操作の開始からタッチの解除までの間に、タッチ箇所が移動したか、すなわち、タッチ箇所の移動操作がなされたか判別する(ステップS16)。タッチ箇所の移動操作がなされていない場合(ステップS16:No)、端末装置10は、視点Vを移動させることなく、コンテンツC1を縮小する(ステップS17)。目標の縮小量に達したら、端末装置10は、ステップS20に処理を進める。
タッチ箇所の移動操作がなされている場合(ステップS16:Yes)、端末装置10は、視点Vを目標地点TPに移動させながらコンテンツC1を縮小する(ステップS18)。目標の縮小量に達したら、端末装置10は、視点Vを目標地点TPに移動させながらコンテンツC1を拡大する(ステップS19)。最終的に、端末装置10は、目標地点TPを含むようコンテンツC1を拡大する。
続いて、端末装置10は、ユーザがページの遷移操作(例えば、ページ上のリンクのタップ)を実行したか判別する(ステップS20)。ページの遷移操作が実行されていない場合(ステップS20:No)、端末装置10は、ステップS14に処理を戻す。ページの遷移操作が実行された場合(ステップS20:Yes)、端末装置10は、ステップS11に処理を戻し、配信サーバ20に遷移先のページの配信を送信する(ステップS11)。そして、端末装置10は、再び、ステップS12〜S20の処理を実行する。
〔6.変形例〕
上述の実施形態は一例を示したものであり、種々の変更及び応用が可能である。
例えば、上述の実施形態(図1〜図3の例)では、端末装置10は、押し込み操作或いはタッチ操作に対応して変化するコンテンツC2を画面に表示した。しかし、端末装置10は、押し込み操作或いはタッチ操作に対応してコンテンツC1の表示を変化させてもよい。
図11は、押し込み操作或いはタッチ操作に対応してコンテンツC1(第1のコンテンツ)が変化する様子を示す図である。まず、端末装置10は、配信サーバ20からコンテンツC1を受信すると、出力部14にコンテンツC1の一部領域を表示する(状態D51)。そして、端末装置10の画面が圧力Fで押し込み操作されると、端末装置10は、コンテンツC1の表示を変化させる(状態D52)。
例えば、端末装置10は、押し込み操作の後、プレス解除或いはタッチ解除までの所定期間、圧力Fの大きさに対応させてコンテンツC1の一部を変化させる。このとき、端末装置10は、圧力Fの大きさに対応して、押し込み操作された部分を基準としたコンテンツC1の所定範囲の表示を圧力により窪んだように歪ませてもよい。図11の例では、端末装置10は、コンテンツC1の表面が可撓性を有しているように見立て、押し込み操作がされた位置を中心にコンテンツC1の所定範囲を撓ませている。状態D52の下段の図は、中段の端末装置10に表示されたコンテンツC1のA−A線断面図である。コンテンツC1には、押し込み操作位置を中心に窪みHが形成されている。なお、状態D52の下段の図はあくまでイメージである。端末装置10自体が歪んでいるわけではない。
なお、端末装置10は、押し込み操作の継続時間に対応して、押し込み操作された部分を基準としたコンテンツC1の所定範囲の表示を圧力により窪んだように歪ませてもよい。また、端末装置10は、押し込み操作の継続時間と圧力Fの大きさに対応して、押し込み操作された部分を基準としたコンテンツC1の所定範囲の表示を圧力により窪んだように歪ませてもよい。
そして、端末装置10は、プレス解除或いはタッチ解除が検出されたら、コンテンツC1の表面が元に戻るときの反発力Rで視点Vが打ち上げられるかのように、コンテンツC1を縮小する(状態D53)。
また、端末装置10は、押し込み操作の後、該押し込み操作或いはタッチの解除までの所定期間、押し込み操作と移動操作とに対応してコンテンツC1の一部を変化させてもよい。
図12は、押し込み操作と移動操作とに対応してコンテンツC1(第1のコンテンツ)が変化する様子を示す図である。端末装置10の画面が圧力Fで押し込み操作されると、端末装置10は、コンテンツC1の押し込み操作位置を中心にコンテンツC1の表面の所定範囲を撓ませる(状態D52b)。そして、ユーザがタッチ箇所の移動操作をすると、端末装置10は、コンテンツC1の表面を移動箇所に向けてさらに変形させる。
状態D52bの下段の図は、中段の端末装置10に表示されたコンテンツC1のA−A線断面図である。コンテンツC1には、押し込み操作位置を中心に窪みHが形成されている。状態D52bの例では、コンテンツC1の表面は、斜め下方向に圧力Fが加わったかのように歪んでいる。なお、状態D52の下段の図はあくまでイメージである。端末装置10自体が歪んでいるわけではない。
そして、端末装置10は、プレス解除或いはタッチ解除が検出されたら、コンテンツC1の表面が元に戻るときの反発力Rで視点Vが打ち上げられるかのように、コンテンツC1を縮小する(状態D53b)。
また、上述の実施形態(図5の例)では、端末装置10は、所定の操作がなされた場合に、コンテンツC1の表示の中心を目標地点TPに向けて移動させながらコンテンツC1を徐々に縮小した後、目標地点TPに向けた表示の中心の移動を継続しながら、縮小されたコンテンツC1を徐々に拡大した。しかし、表示の中心の移動は、必ずしも縮小時と拡大の双方でなくてもよい。
図13は、表示の中心が移動する様子を示す図である。端末装置10は、プレス解除又はタッチ解除が検出されると(状態D41b)、表示の中心を目標地点TPに向けて移動させながら、徐々にコンテンツC1を縮小する(状態D42b〜D44b)。そして、目標地点TPに達したら、端末装置10は、表示の中心の移動を停止し、縮小されたコンテンツC1を拡大する(状態D45b)。
図14は、表示の中心が移動する様子を示す図である。端末装置10は、プレス解除又はタッチ解除が検出されると(状態D41c)、表示の中心を移動させることなく、スタート地点SP及び目標地点TPが含まれるまでコンテンツC1を縮小する。そして、端末装置10は、表示の中心を目標地点TPに向けて移動させながら、徐々にコンテンツC1を拡大する(状態D42c〜D44c)。そして、目標地点TPに達したら、端末装置10は、表示の中心の移動を停止する(状態D45c)。
また、上述の実施形態では、端末装置10は、コンテンツC2(第2のコンテンツ)としてバネのアニメーションを表示した。しかし、コンテンツC2は、バネのアニメーションに限定されない。例えば、端末装置10は、第2のコンテンツとしてジャンプ台のアニメーションや大砲のアニメーションを表示してもよい。勿論、コンテンツC2は、ジャンプ台のアニメーションや大砲のアニメーションに限定されず、その他の収縮性を伴うアニメーションとすることができる。
図15は、第2のコンテンツとしてジャンプ台のアニメーション(コンテンツC5)が表示された様子を示す図である。画面が押し込み操作されると、端末装置10は、コンテンツC5を画面に表示する(状態D20c)。そして、端末装置10は、押し込み操作に対応してコンテンツC5の表示を変化させる(状態D30c)。
図16は、第2のコンテンツとして大砲の筒のアニメーション(コンテンツC6)が表示された様子を示す図である。画面が押し込み操作されると、端末装置10は、筒を画面に表示する(状態D20d)。そして、端末装置10は、押し込み操作と移動操作に対応して筒の表示(例えば、筒の長さと向き)を変化させる(状態D30d)。
また、上述の実施形態では、端末装置10は、コンテンツC1(第1のコンテンツ)が地図であるものとして説明した。しかし、第1のコンテンツは必ずしも地図でなくてもよい。第1のコンテンツは、コンテンツの配置面(例えば、スクロール可能なページ)や複数のタブを有する配置面(例えば、複数のタブで構成されるアプリの画面)であってもよい。
図17は、出力部14にコンテンツの配置面が表示された様子を示す図である。コンテンツの配置面は、例えば、スクロール可能なページ(図17に示すコンテンツC7)である。コンテンツC7(第1のコンテンツ)はタイムライン等のリストが表示された縦長のページであってもよい。コンテンツC7のY軸方向の長さは画面に収まらない長さである。端末装置10は、出力部14に、コンテンツC7上の一部領域を表示している(状態D61)。図17の例では、端末装置10は、コンテンツC7の最下部を表示している。そして、端末装置10は、コンテンツC7上の他の領域(例えば、ページトップ)を表示するための所定の操作がなされた場合に、コンテンツC7を縮小した後(状態D62)、縮小されたコンテンツC7を上記他の領域を含むよう拡大する(状態D63)。このとき、所定の操作は、押し込み操作とタッチ箇所の移動操作(例えば、Y軸マイナス方向へのスワイプ)とがなされた後のプレス解除或いはタッチ解除であってもよい。
図18は、出力部14に複数のタブを有する配置面が表示された様子を示す図である。複数のタブを有する配置面は、例えば、複数のタブを有するページ(図18に示すコンテンツC8)である。端末装置10は、出力部14に、コンテンツC8(第1のコンテンツ)上のタブTB1を表示する(状態D71)。そして、端末装置10は、コンテンツC8上の他のタブTB2を表示するための所定の操作がなされた場合に、コンテンツC8を縮小した後(状態D72)、縮小されたコンテンツC8をタブTB2を含むよう拡大する(状態D73)。所定の操作は、押し込み操作と移動操作(例えば、X軸マイナス方向へのスワイプ)とがなされた後のプレス解除或いはタッチ解除であってもよい。
また、上述の実施形態では、端末装置10は、押し込み操作とタッチ箇所の移動操作とがなされた後、プレス解除或いはタッチ解除がなされた場合に、第1のコンテンツを縮小した後、縮小された第1のコンテンツを第2の領域を含むよう拡大した。しかしながら、上記動作を実現する操作(所定の操作)は、押し込み操作と移動操作とがなされた後のプレス解除或いはタッチ解除に限定されない。例えば、所定の操作、フリックやスワイプ等のタッチ操作であってもよい。勿論、所定の操作はタッチパネル操作に限定されず、例えば、マウスやキーボードを使った操作であってもよい。例えば、所定の操作は、画面上の所定のボタンをマウスで押す操作であってもよい。
また、上述の実施形態(図5の例)では、端末装置10は、第2の領域(例えば、目標地点TP)を表示するための所定の操作(例えば、押し込み操作と移動操作とがなされた後のプレス解除或いはタッチ解除)がなされた場合に、表示の中心を移動するとともに、第1のコンテンツの縮小と拡大を行った。しかしながら、端末装置10は、表示の中心を移動しながら第1のコンテンツを縮小した後、必ずしも第1のコンテンツの拡大を行わなくてもよい。端末装置10は、所定の操作がなされた場合に、第2の領域が含まれるよう第1のコンテンツを縮小するだけであってもよい。このとき、端末装置10は、第2の領域(例えば、目標地点TP)が画面の中心に位置するよう表示の中心を変更してもよい。
また、上述の実施形態(図6の例)では、端末装置10は、表示の中心の移動中に所定の操作がなされた場合には、目標地点TPに向けた表示の中心の移動を停止するとともに、縮小されたコンテンツC1を拡大した。しかし、端末装置10は、表示の中心の移動中に画面へのタッチが伴う所定の操作がなされた場合に、縮小されたコンテンツC1を拡大することなく、所定の操作がなされた時点の拡大率(縮小率)のまま、表示の中心の移動を停止してもよい。所定の操作は、タッチ操作(例えば、タップ)であってもよいし、押し込み操作であってもよい。この変形は、図12〜図14を使って説明した変形例にも適用可能である。なお、端末装置10は、表示の中心の移動中、移動を停止するためのコントロール(例えば、ボタン)を画面に表示してもよい。そして、端末装置10は、画面に表示されたコントロールがユーザによって操作(例えば、ボタンがタップ)された場合に、表示の中心の移動を停止してもよい。この場合、コントロールの操作が所定の操作となる。上述の実施形態(図6の例)の場合も、所定の操作はコントロールの操作であってもよい。
なお、上記変形は、図1、図2、図11等を使って説明したコンテンツC1の縮小処理にも適用可能である。すなわち、上記変形は、画面の押し込み操作の後にプレス解除或いはタッチ解除が検出された場合のコンテンツC1の縮小処理にも適用可能である。端末装置10は、プレス解除或いはタッチ解除が検出された後、コンテンツC1が算出された縮小量に達するまでの間に、ユーザによって画面へのタッチが伴う所定の操作がなされた場合に、コンテンツC1の縮小を、所定の操作がなされた時点の拡大率(縮小率)のまま、コンテンツC1の縮小を停止してもよい。所定の操作は、タッチ操作(例えば、タップ)であってもよいし、押し込み操作であってもよい。なお、端末装置10は、表示の中心の移動中、移動を停止するためのコントロール(例えば、ボタン)を画面に表示してもよい。なお、端末装置10は、コンテンツC1の縮小中、縮小を停止するためのコントロール(例えば、ボタン)を画面に表示してもよい。そして、端末装置10は、画面に表示されたコントロールがユーザによって操作(例えば、ボタンがタップ)された場合に、コンテンツC1の縮小を停止してもよい。この場合、コントロールの操作が所定の操作となる。
また、上述の実施形態では、コンテンツC1の例として、二次元の地図を示した。しかし、コンテンツC1は二次元の地図に限定されない。例えば、コンテンツC1は三次元の地図であってもよい。このとき、出力部14に表示される画像は、鳥瞰図であってもよい。
また、第1のコンテンツが配置されるページはウェブページに限定されない。例えば、ページは、ユーザインタフェース画面に表示されることを目的として作成されたページであってもよい。例えば、ページは、メッセンジャーアプリケーションの画面、カメラアプリケーションの画面、ゲーム画面、音楽再生画面、動画再生画面であってもよい。これらの画面(ページ)も第1のコンテンツの配置面とみなすことができる。なお、配置面は、複数のコンテンツがタイル状に並べられたものであってもよい。画面にページ状に表示可能なさまざまな構成を配置面とみなすことが可能である。
また、上述の実施形態(図1〜図18の例)では、端末装置10が、ブラウザ上に表示されたコンテンツを縮小等させる動作(情報表示処理)の例を示した。しかし、端末装置10が情報表示処理の対象とするコンテンツ(第1のコンテンツ)はブラウザ上に表示されたコンテンツに限定されない。例えば、端末装置10が情報表示処理の対象とするコンテンツ(第1のコンテンツ)は、端末装置10に予めインストールされたアプリの画面に表示されたコンテンツであってもよい。そして、端末装置10は、ユーザの操作に伴ってアプリの画面に表示されたコンテンツを縮小等してもよい。この場合、端末装置10に実行させるアプリケーションプログラムをあらかじめダウンロードし、かかるアプリケーションプログラムを実行することで、上述の処理を実現してもよい。なお、アプリケーションプログラムは配信サーバ20から配信されたものであってもよい。この場合、アプリケーションプログラムを制御情報とみなすことが可能である。
本実施形態の端末装置10、或いは配信サーバ20を制御する制御装置は、専用のコンピュータシステムによって実現してもよいし、通常のコンピュータシステムにより実現してもよい。例えば、上述の動作を実行するためのプログラムを、光ディスク、半導体メモリ、磁気テープ、フレキシブルディスク等のコンピュータ読み取り可能な記録媒体に格納して配布し、該プログラムをコンピュータにインストールし、上述の処理を実行することによって制御装置を構成してもよい。制御装置は、端末装置10、或いは配信サーバ20の外部の装置(例えば、パーソナルコンピュータ)であってもよいし、内部の装置(例えば、制御部15、23)であってもよい。また、上記プログラムをインターネット等のネットワーク上のサーバ装置が備えるディスク装置に格納しておき、コンピュータにダウンロード等できるようにしてもよい。また、上述の機能を、OS(Operating System)とアプリケーションソフトとの協働により実現してもよい。この場合には、OS以外の部分を媒体に格納して配布してもよいし、OS以外の部分をサーバ装置に格納しておき、コンピュータにダウンロード等できるようにしてもよい。
また、上記各実施形態において説明した各処理のうち、自動的に行われるものとして説明した処理の全部または一部を手動的に行うこともでき、あるいは、手動的に行われるものとして説明した処理の全部または一部を公知の方法で自動的に行うこともできる。この他、上記文書中や図面中で示した処理手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。例えば、各図に示した各種情報は、図示した情報に限られない。
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。
また、上述してきた各実施形態は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。
〔7.ハードウェア構成〕
実施形態及び変形例に係る端末装置10、及び配信サーバ20は、例えば図19に示すような構成のコンピュータ1000によっても実現可能である。図19は、端末装置10、又は配信サーバ20の機能を実現するコンピュータの一例を示すハードウェア構成図である。コンピュータ1000は、CPU(Central Processing Unit)1100、RAM1200、ROM1300、HDD(Hard Disk Drive)1400、通信インタフェース(I/F)1500、入出力インタフェース(I/F)1600、及びメディアインタフェース(I/F)1700を有する。
CPU1100は、ROM1300またはHDD1400に格納されたプログラムに基づいて動作し、各部の制御を行う。ROM1300は、コンピュータ1000の起動時にCPU1100によって実行されるブートプログラムや、コンピュータ1000のハードウェアに依存するプログラム等を格納する。
HDD1400は、CPU1100によって実行されるプログラム、及び、かかるプログラムによって使用されるデータ等を格納する。通信インタフェース1500は、ネットワークNを介して他の機器からデータを受信してCPU1100へ送り、CPU1100が生成したデータをネットワークNを介して他の機器へ送信する。
CPU1100は、入出力インタフェース1600を介して、ディスプレイやプリンタ等の出力装置、及び、キーボードやマウス等の入力装置を制御する。CPU1100は、入出力インタフェース1600を介して、入力装置からデータを取得する。また、CPU1100は、生成したデータを入出力インタフェース1600を介して出力装置へ出力する。
メディアインタフェース1700は、記録媒体1800に格納されたプログラムまたはデータを読み取り、RAM1200を介してCPU1100に提供する。CPU1100は、かかるプログラムを、メディアインタフェース1700を介して記録媒体1800からRAM1200上にロードし、ロードしたプログラムを実行する。記録媒体1800は、例えばDVD(Digital Versatile Disc)、PD(Phase change rewritable Disk)等の光学記録媒体、MO(Magneto-Optical disk)等の光磁気記録媒体、テープ媒体、磁気記録媒体、または半導体メモリ等である。
例えば、コンピュータ1000が実施形態に係る端末装置10、或いは配信サーバ20として機能する場合、コンピュータ1000のCPU1100は、RAM1200上にロードされたプログラムを実行することにより、制御部15、23を実現する。コンピュータ1000のCPU1100は、これらのプログラムを記録媒体1800から読み取って実行するが、他の例として、他の装置からネットワークNを介してこれらのプログラムを取得してもよい。
以上、本願の実施形態のいくつかを図面に基づいて詳細に説明したが、これらは例示であり、発明の開示の行に記載の態様を始めとして、当業者の知識に基づいて種々の変形、改良を施した他の形態で本発明を実施することが可能である。
〔8.効果〕
端末装置10は、画面の押し込み操作の後に該押し込み操作或いは画面へのタッチが解除されたことを検出する。また、端末装置10は、解除が検出された場合に、画面に表示された第1のコンテンツを縮小する。例えば、端末装置10は、解除が検出された場合に、第1のコンテンツを徐々に縮小する。これにより、コンテンツの縮小を一本の指で行うことができるようになるので、端末装置10の操作を容易にできる。
また、端末装置10は、押し込み操作の後、該押し込み操作或いはタッチの解除までの所定期間、押し込み操作或いはタッチ操作に対応して変化する第2のコンテンツを画面に表示する。ユーザは、第2のコンテンツをみることで、第1のコンテンツの縮小量を感覚的に把握することができる。
また、端末装置10は、押し込み操作の後、該押し込み操作或いはタッチの解除までの所定期間、押し込み操作或いはタッチ操作に対応して第1のコンテンツの一部を変化させる。ユーザは、第1のコンテンツの変化をみることで、第1のコンテンツの縮小量を感覚的に把握することができる。
また、端末装置10は、押し込み操作に関する情報に基づいて、第1のコンテンツの縮小量を算出する。そして、端末装置10は、端末装置10で算出した縮小量に基づいて第1のコンテンツを縮小する。これにより、端末装置10は、第1のコンテンツの縮小量をユーザの感覚に即したものとすることができる。
また、端末装置10は、押し込み操作の継続時間に基づいて、第1のコンテンツの縮小量を算出する。これにより、端末装置10は、第1のコンテンツの縮小量をユーザの感覚に即したものとすることができる。
また、端末装置10は、押し込み操作の後、該押し込み操作或いはタッチの解除までの所定期間、押し込み操作の継続時間に対応して変化する第2のコンテンツを画面に表示する。ユーザは、第2のコンテンツをみることで、第1のコンテンツの縮小量を感覚的に把握することができる。
また、端末装置10は、押し込み操作の後、該押し込み操作或いはタッチの解除までの所定期間、押し込み操作の継続時間に対応して第1のコンテンツの一部を変化させる。ユーザは、第1のコンテンツの変化をみることで、第1のコンテンツの縮小量を感覚的に把握することができる。
また、端末装置10は、押し込み操作の押し込み圧力の大きさに基づいて、第1のコンテンツの縮小量を算出する。これにより、端末装置10は、第1のコンテンツの縮小量をユーザの感覚に即したものとすることができる。
また、端末装置10は、押し込み操作の後、該押し込み操作或いはタッチの解除までの所定期間、押し込み圧力の大きさに対応して変化する第2のコンテンツを画面に表示する。ユーザは、第2のコンテンツをみることで、第1のコンテンツの縮小量を感覚的に把握することができる。
また、端末装置10は、押し込み操作の後、該押し込み操作或いはタッチの解除までの所定期間、押し込み圧力の大きさに対応させて第1のコンテンツの一部を変化させる。例えば、端末装置10は、押し込み操作の後、該押し込み操作或いはタッチの解除までの所定期間、押し込み圧力の大きさに対応して、押し込み操作された部分を基準とした第1のコンテンツの所定範囲の表示を圧力により窪んだように歪ませる。ユーザは、第1のコンテンツの変化をみることで、第1のコンテンツの縮小量を感覚的に把握することができる。
また、端末装置10は、押し込み操作の継続時間と押し込み圧力の大きさとに基づいて、第1のコンテンツの縮小量を算出する。
また、端末装置10は、押し込み操作の後、該押し込み操作或いはタッチの解除までの所定期間、押し込み操作の継続時間と押し込み圧力の大きさとに対応して変化する第2のコンテンツを画面に表示する。ユーザは、第2のコンテンツをみることで、第1のコンテンツの縮小量を感覚的に把握することができる。
また、端末装置10は、押し込み操作の後、該押し込み操作或いはタッチの解除までの所定期間、押し込み操作の継続時間と押し込み圧力の大きさとに対応させて第1のコンテンツの一部を変化させる。ユーザは、第1のコンテンツの変化をみることで、第1のコンテンツの縮小量を感覚的に把握することができる。
また、端末装置10は、押し込み操作の解除或いはタッチの解除が検出された場合に、画面に表示された地図を縮小する。これにより、地図の縮小を一本の指で行うことができるようになるので、端末装置10の操作を容易にできる。
また、端末装置10は、押し込み操作とタッチ箇所の移動操作とがなされた後、該押し込み操作或いはタッチの解除が検出された場合に、第1のコンテンツを縮小するとともに第1のコンテンツの表示の中心を移動させる。ユーザは、複雑な操作を要することなく、表示箇所を移動させることができる。
また、端末装置10は、第1のコンテンツの縮小中に画面へのタッチが伴う所定の操作がなされた場合には、第1のコンテンツの縮小を停止する。コンテンツの縮小中にユーザが縮小を停止したいと思った時に、ユーザは簡易な操作で縮小を停止できる。結果として、端末装置10は、ユーザの感覚に即したユーザインタフェースを提供できる。
以上、本願の実施形態のいくつかを図面に基づいて詳細に説明したが、これらは例示であり、発明の開示の欄に記載の態様を始めとして、当業者の知識に基づいて種々の変形、改良を施した他の形態で本発明を実施することが可能である。
また、上述してきた「部(section、module、unit)」は、「手段」や「回路」などに読み替えることができる。例えば、表示変更部は、表示変更手段や表示変更回路に読み替えることができる。