(58)【調査した分野】(Int.Cl.,DB名)
前記Nが前記Mよりも大きい場合、オプションメニューは、該オプションメニューを選択するタッチジェスチャーに対する応答として、前記M個のオプションに含まれない「N−M」個のオプションを含むウィンドウを表示する前記スクリーンに追加されることを特徴とする請求項5に記載のユーザーインターフェース提供装置。
前記M個のソフトキーは、前記スクリーンの下段左側及び下段右側に提供されて前記M個のオプションを表示するアイコン及びテキストのうちの少なくとも一つとしてラベリングされ、
前記オプションメニューは、前記下段左側と下段右側との間に提供されて前記M個のソフトキーよりも小さい領域を占めることを特徴とする請求項6に記載のユーザーインターフェース提供装置。
前記Nが前記Mよりも大きい場合、オプションメニューは、該オプションメニューを選択するタッチジェスチャーに対する応答として、前記M個のオプションに含まれない「N−M」個のオプションを含むウィンドウを表示する前記スクリーン上に追加されることを特徴とする請求項14に記載のユーザーインターフェース提供方法。
前記M個のソフトキーは、前記スクリーンの下段左側及び下段右側に提供されて前記M個のオプションを表示するアイコン及びテキストのうちの少なくとも一つとしてラベリングされ、
前記オプションメニューは、前記下段左側と下段右側との間に提供されて前記M個のソフトキーよりも小さい領域を占めることを特徴とする請求項15に記載のユーザーインターフェース提供方法。
前記複数のアイテムのうちの第1アイテムに対応する少なくとも一部の領域に前記M個のソフトキーが重なる場合、前記第1アイテムに対応する領域で前記M個のソフトキーの領域以外の領域におけるタッチジェスチャーに対する応答として前記第1アイテムを選択するか否かを判断する段階を更に含むことを特徴とする請求項14に記載のユーザーインターフェース提供方法。
【発明を実施するための形態】
【0013】
以下、本発明を実施するための形態の具体を、図面を参照しながら詳細に説明する。
【0014】
以下の説明では、同一の構成要素には同一の図面符号を共通に使用する。細部の構成要素のように、以下の説明で定義した事項は、実施形態の総合的な理解を助けるために提供する。但し、明確に定義した事項なしに実施形態を具現することもできる。
【0015】
以下の実施形態を説明するための一参照としてコンピュータシステムが用いられる。当業者には、以下に記述するシステム及び方法を、ユーザーインターフェースを有する任意のディスプレイシステムに適用できることが十分に理解されるであろう。
【0016】
本明細書で用いる「実施形態」、「例」、「側面」、「例示」などについて、記述した任意の態様(aspect)又はデザインが、他の態様又はデザインよりも良好であるか、又は、より利点があると解釈してはならない。
【0017】
以下に用いる「コンポーネント」、「モジュール」、「システム」、「インターフェース」などの用語は、一般的に、コンピュータ関連エンティティ(computer−related entity)を意味し、例えば、ハードウェア、ハードウェアとソフトウェアとの組み合わせ、又はソフトウェアを意味する。
【0018】
なお、「又は」という用語は、「排他的論理和(exclusive or)」よりは「包括的論理和(inclusive or)」を意味する。即ち、別に言及しない限り、又は文脈から明確でない限り、「xがa又はbを用いる」という表現は、包括的な自然順列(natural inclusive permutations)のいずれかを意味する。
【0019】
また、本明細書及び請求項で用いる単数表現(「a」又は「an」)は、別段の言及がない限り、又は単数形態である旨が文脈から明確でない限り、一般に「一つ以上」を意味するものと解釈しなければならない。
【0020】
また、本明細書に用いる「及び/又は」という用語は、列挙した関連アイテムの一つ以上のアイテムの可能な全ての組み合わせを指したり含んだりするものと理解しなければならない。
【0021】
また、「含む」及び/又は「含んでいる」という用語は、該当する特徴、段階、動作、モジュール、構成要素、及び/又はコンポーネントが存在することを意味するものであって、一つ以上の他の特徴、段階、動作、モジュール、構成要素、コンポーネント、及び/又はこれらのグループの存在又は追加を排除するものではない。
【0022】
また、本明細書で、第1、第2などの用語を様々な構成要素を説明するために用いることがあるが、これらの用語に構成要素が限定されることはない。これらの用語は2以上の構成要素間の区別のために用いるものであって、順序又は優先順位を意味するものとして解釈してはならない。
【0023】
以下、装置の実施形態について述べる。一実施形態において、装置、装置のためのユーザーインターフェース(UI)、そして当該装置を使用するための関連プロセスを記述する。このような装置は、PDA機能、音楽再生機能、又は電話機能などの他の機能を更に有する装置であり得る。但し、以下に記述する本実施形態による装置、ユーザーインターフェース、及び関連プロセスの全部又は一部は、パーソナルコンピュータ、ラップトップコンピュータ、デジタルTVのような一般的なデジタル装置にも適用することができる。
【0024】
ここで、装置は、電話アプリケーション、ビデオ会議アプリケーション、Eメールアプリケーション、インスタントメッセージングアプリケーション、ブロギングアプリケーション、写真管理アプリケーション、デジタルカメラアプリケーション、デジタルビデオカメラアプリケーション、Webブラウジングアプリケーション、デジタル音楽再生アプリケーション、又はデジタルビデオ再生アプリケーションのうちの一つ以上の様々なアプリケーションを支援することができる。
【0025】
上記の様々なアプリケーションは、例えば、物理的又は仮想のユーザーインターフェースを用いることができる。例えば、ユーザーは、物理的又は仮想のユーザーインターフェースを介して、タッチスクリーン上に表示される情報を、各アプリケーション内で又は一つのアプリケーションから他のアプリケーションへ変更又は移動させることができる。また、装置は、共通の物理的又は仮想のアーキテクチャーを適用した直観的で且つ明瞭な物理的又は仮想のユーザーインターフェースを用いて様々なアプリケーションを支援することができる。
【0026】
図1は、一実施形態によるタッチスクリーン121を備える装置100を示すブロック図である。
【0027】
装置100は、一つ以上のプロセッサ(processor)101、メモリー(memory)102、周辺装置インターフェース(peripheral interface)103、入/出力サブシステム(I/O subsystem)110、タッチスクリーン121、センサー122、その他入/出力装置123、RF回路131、オーディオ回路132、電力回路133、及び外部ポート134を備える。これらのコンポーネント同士は、一つ以上の通信バス又は信号線を通じて通信することができる。
【0028】
図1は、装置100の一例に過ぎず、装置100は、図示するものよりも多い又は少ないコンポーネントを備え得る、2以上のコンポーネントを結合する、又は互いに異なるコンポーネントを含む構成又は配置とすることもできる。
図1に示すコンポーネントは、一つ以上の信号処理又はアプリケーションに特化された集積回路を有するハードウェア、ソフトウェア、又はハードウェアとソフトウェアとの組み合わせとすることができる。
【0029】
メモリー102には、例えば、高速ランダムアクセスメモリー(high−speed random access memory)、磁気ディスク、SRAM、DRAM、ROM、フラッシュメモリー、又は不揮発性メモリーを用いることができる。メモリー102は、ソフトウェアモジュール、命令語集合、又はその他の様々なデータを格納する。また、プロセッサ101及び周辺装置インターフェース103のような他のコンポーネントによるメモリー102へのアクセスはプロセッサ101により制御される。
【0030】
周辺装置インターフェース103は、装置100の入力及び/又は出力周辺装置を一つ以上のプロセッサ101及びメモリー102に統合する。プロセッサ101は、メモリー102に格納されたソフトウェアモジュール又は命令語集合を実行することで、様々な機能を行い、データを処理する。
【0031】
RF(radio frequency)回路131は、電磁気信号(electromagnetic signal)としても知られたRF信号を送受信する。RF回路131は、電気信号を電磁気信号に変換し、電磁気信号を電気信号に変換し、電磁気信号を用いて通信ネットワーク又は他の通信装置と通信することができる。RF回路131は、このような機能を行うためのよく知られた回路を備え、回路の例には、アンテナシステム、RF送受信器、一つ以上の増幅器、チューナー、一つ以上の発振器(oscillator)、デジタル信号処理器、CODECチップセット、加入者識別モジュールSIMカード、メモリーなどを含むが、これらに限定されるわけではない。RF回路131は、セルラー電話ネットワーク、無線LAN(local area network)及び/又はMAN(metropolitan area network)などの無線ネットワーク、イントラネット及び/又はワールドワイドウェブ(WWW)とも呼ばれるインターネットのようなネットワーク、及びその他の装置と無線通信により通信することができる。無線通信としては、GSM(登録商標)(Global System for Mobile Communications)、EDGE(Enhanced Data GSM Environment)、W−CDMA(wideband code division multiple access)、CDMA(code division multiple access)、TDMA(time division multiple access)、Bluetooth(登録商標)、IEEE802.15、IEEE802.16、IEEE802.11g及び/又はIEEE802.11nなどのWi−Fi(Wireless Fidelity)、VoIP(voice over Internet Protocol)、Wi−MAX、LTE(Long Term Evolution)、IMAP(Internet Message Access Protocol)及び/又はPOP(Post Office Protocol)などのEメール用プロトコル、XMPP(eXtensible Messaging and Presence Protocol)、SIMPLE(Session Initiation Protocol for Instant Messaging and Presence Leveraging Extensions)、IMPS(Instant Messaging and Presence Service)、又はSMS(Short Message Service)などのインスタントメッセージング、又は本発明の出願日当時に開発されていない通信プロトコルを挙げることができる。なお、上記の無線通信に限定されず、無線通信には、他の通信標準、プロトコル及び技術を用いることもできる。
【0032】
オーディオ回路132は、スピーカー及び/又はマイクロホンを用いてユーザーと装置100とのオーディオインターフェースを提供する。オーディオ回路132は、周辺装置インターフェース103からオーディオデータを受信し、オーディオデータを電気信号に変換し、電気信号をスピーカーに送信する。スピーカーは、電気信号を可聴音波(human−audible sound wave)に変換する。なお、オーディオ回路132は、音波から変換された電気信号を、マイクロホンを介して受信する。オーディオ回路132は、電気信号をオーディオデータに変換し、その処理のために、オーディオデータを周辺装置インターフェース103に送信することができる。周辺装置インターフェース103は、オーディオデータをメモリー102から検索し、またRF回路131に送信することができる。一側面(aspect)によれば、オーディオ回路132は、ヘッドセットジャック(headset jack)を更に備えることができる。ヘッドセットジャックは、例えば、出力、入力両方を有するヘッドセット、又は出力−専用ヘッドホンのような移動式オーディオ入/出力周辺装置とオーディオ回路132との間のインターフェースを提供する。
【0033】
電力回路133は、装置100のコンポーネントの全部又は一部に電力を供給する。例えば、電力回路133は、電力管理システム、バッテリー又は交流(AC)電源などのような一つ以上の電源、充電システム、電力故障感知回路(Power failure detection circuit)、電力変換器又はインバータ、電力状態表示器、及び装置の電力生成、管理、及び分配のための任意の他のコンポーネントを含むことができる。
【0034】
入/出力サブシステム110は、タッチスクリーン121、センサー122、又はその他入力制御装置123のような入/出力周辺装置を、周辺装置インターフェース103に統合する。入/出力サブシステム110は、ディスプレイコントローラ111、センサーコントローラ112、又は一つ以上のその他入/出力コントローラ113を含む。他の側面によれば、タッチスクリーン121、センサー122、又はその他入力制御装置123は、入/出力サブシステム100を介さずに周辺装置インターフェース103に統合されてもよい。
【0035】
他の側面によれば、プロセッサ101、周辺装置インターフェース103、入/出力サブシステム110の少なくとも一つが単一チップ上に具現されてもよく、プロセッサ101、周辺装置インターフェース103、及び入/出力サブシステム110の少なくとも一つの一部が単一チップ上に具現されてもよい。
【0036】
ディスプレイコントローラ111は、タッチ−感知領域を有するタッチスクリーン121から電気信号を受信し、タッチスクリーン121に電気信号を送信し、或いは送受信の両方を行う。ディスプレイコントローラ111の制御に応じて、タッチスクリーン121は、ユーザーへの視覚的出力を表示する。視覚的出力は、グラフィック、テキスト、アイコン、ビデオ、及びこれらの任意の組み合わせ(以下、「グラフィック」と総称する。)を含む。一側面において、視覚的出力の一部又は全部は、以下で詳細に説明するユーザーインターフェースに対応する。
【0037】
タッチスクリーン121には、LCD(Liquid Crystal Display)、LPD(Light emitting Polymer Display)、OLED(Organic Light−Emitting Diode)、又はAMOLED(Active−matrix Organic Light−Emitting Diode)の技術が用いられ得るが、その他のディスプレイ技術が用いられてもよい。また、タッチスクリーン121及びディスプレイコントローラ111は、静電容量式技術(capacitive technology)、抵抗式技術(resistive technology)、赤外線技術(infrared technology)、及び表面音波技術(surface acoustic wave technology)を用いることができるが、これらに限定されない、既に公知になっているか、又は今後開発されるタッチ感知技術の任意のものを用いることができる。また、タッチスクリーン121及びディスプレイコントローラ111は、近接センサー配列(proximity sensor array)又はタッチスクリーン121との一つ以上の接触点を判断するためのその他の構成要素を用いて、接触又はその任意の動きや解除を感知する。
【0038】
ディスプレイコントローラ111は、タッチ−感知領域を有しないスクリーンと結合されてもよい。タッチ−感知領域を有しないスクリーンは、ディスプレイコントローラ111から電気信号を受信してユーザーへの視覚的出力を表示する。タッチ−感知領域を有しないスクリーンには、PDP(Plasma Display Panel)、EPD(Electronic Paper Display)、LCD(Liquid Crystal Display)、LPD(Light emitting Polymer Display)、OLED(Organic Light−Emitting Diode)、又はAMOLED(Active−matrix Organic Light−Emitting Diode)技術を用いることができ、その他のディスプレイ技術を用いてもよい。タッチ−感知領域を有しないスクリーンを用いる装置100には、ユーザーインターフェースとして物理的なキーボード、マウス、物理的なボタンのような入/出力装置を提供することができる。
【0039】
一つ以上のその他入/出力コントローラ113は、その他入/出力装置123から電気信号を受信するか、又は装置に電気信号を送信する。その他入/出力制御装置123としては、例えば、ボタン、キーボード、タッチパッド、ダイヤル、スライダースイッチ、ジョイスチックを含む。また、その他入/出力コントローラ113は、赤外線ポート、USBポート、及びマウスなどのポインタ装置のうちの任意のものと統合されてもよい。
【0040】
一側面によれば、その他入力制御装置123は、一つ以上の物理的ボタン又は仮想のボタンを含む。仮想のボタンでは、ボタン及びボタンコントローラがそれぞれタッチスクリーン121及びディスプレイコントローラ111の一部であり得る。一側面において、ボタンは、スピーカー111又はマイクロホン113のボリュームの制御のためのアップ/ダウンボタン、ロックボタン、又はプッシュボタンを含む。例えば、ユーザーがプッシュボタンを短く押すと、タッチスクリーン121がロック解除され、再びタッチスクリーン上にジェスチャーを適用して装置をロック解除するプロセスを開始する。また、ユーザーがプッシュボタンを長く押して装置100への電源をターン−オン又はターン−オフすることもできる。
【0041】
他の側面によれば、その他入力制御装置123は、一つ以上の物理的キーボード又は仮想のソフトキーボードを含む。キーボードの一例として、標準構成(QWERTY)及び/又は非標準構成のものを用いることができる。仮想のソフトキーボードにおいて、ソフトキーボード及びソフトキーボードコントローラは、それぞれタッチスクリーン121及びディスプレイコントローラ111の一部であり得る。ソフトキーボードは、物理的キーボードのキー数よりも少ない数のグラフィック(又はソフトキー)を有することができる。ユーザーは、ソフトキーボードの一つ以上のグラフィックを選択し、それに応じて一つ以上の該当するシンボルをタッチスクリーン121上に表示する。
【0042】
更に他の側面によれば、その他入力制御装置123は、特定機能を活性化又は非活性化するためのタッチパッドを含む。一側面において、タッチパッドは、タッチスクリーンと違い、視覚的出力を表示しないタッチ−感知領域を有する。また、タッチパッドは、タッチスクリーン121から分離されたタッチ−感知表面であってもよく、タッチスクリーンにより形成されて拡張されたタッチ−感知表面の一部であってもよい。
【0043】
図2は、一実施形態によるセンサーコントローラ112と種々のセンサー122との接続を示すブロック図である。
【0044】
センサーコントローラ112は、センサー122から電気信号を受信し、センサー122に電気信号を送信し、また送受信の両方を行う。センサー122は、光センサー122a、近接センサー122b、加速度センサー122c、GPSセンサー122d、磁気センサー122e、チルトセンサー122f、環境センサー122g、天気センサー122hを含むが、これに限定されない。
【0045】
一側面によれば、センサー122は、一つ以上の光センサー122aを含む。
図2には、入/出力サブシステム110のセンサーコントローラ112に統合された光センサー122aを示す。光センサー122aは、周辺装置インターフェース103に統合されてもよい。光センサー122aは、電荷結合素子(CCD)又は相補型金属酸化膜半導体(CMOS)フォトトランジスタを含むことができる。光センサー122aは、一つ以上のレンズを透過した周囲環境からの光を受信し、光をイメージで表すデータに変換する。光センサー122aは、いわゆるカメラモジュールとも呼ばれるイメージモジュールと共に、スチールイメージ又はビデオをキャプチャーする。他の側面によれば、タッチスクリーンディスプレイが少なくとも一つのスチール(still)イメージ又はビデオを獲得するためのビューファイダーとして用いられるため、光センサー122aは、装置100の後面又は前面の一側に提供される。一側面によれば、ユーザーがタッチスクリーンディスプレイ上で他のビデオ会議の参加者を見る間、ユーザーのイメージをビデオ会議のために獲得できるように、光センサー122aは、装置100の前面に提供されてもよい。他の側面によれば、一つの光センサー122aがビデオ会議のスチールイメージ又はビデオを獲得できるように、ユーザーが、例えば装置ハウジングのレンズ及びセンサーを回転させることによって光センサー122aの位置を変更してもよい。また、装置100は、光センサー122aから光量を感知し、光量に対応する値を用いてタッチスクリーン121の特定領域の明るさを調節し、またタッチスクリーン121上のグラフィックの明るさを調節する。
【0046】
一側面によれば、センサー122は、一つ以上の近接センサー(proximity sensor)122bを含む。
図2には、入/出力サブシステム110のセンサーコントローラ112に統合された近接センサー122bを示す。或いは、近接センサー122bは、周辺装置インターフェース103に統合されてもよい。近接センサー122bは、装置100の近くに物体があるか否かを感知する。例えば、近接センサー122bは、物体が感知されたか否かをOn又はOff値で提供する。一側面によれば、装置100は、ユーザーが電話をしている場合のように、装置100がユーザーの耳に近接される場合、近接センサー122bによってタッチスクリーン121を消すことで不必要なバッテリー消耗を防止することができる。
【0047】
他の側面によれば、センサー122は、一つ以上の加速度センサー(accelerometers)122cを含む。
図2には、入/出力サブシステム110のセンサーコントローラ112に統合された加速度センサー122cを示す。或いは、加速度センサー122cは、周辺装置インターフェース103に統合されてもよい。加速度センサー122cは、装置100の速度の変化又は装置の方向を感知する。例えば、加速度センサー122cは、(X,Y,Z)の3軸において装置100の加速ベクトル値を測定する。加速度センサー122cは、3軸に対応する時間当たりの変位値を提供する。一側面によれば、タッチスクリーン121上の情報を、一つ以上の加速度センサー122cから受信したデータの分析に基づいて縦表示又は横表示で表示する。
【0048】
他の側面によれば、センサー122は、一つ以上のGPSセンサー(GPS sensor)122dを含む。
図2には、入/出力サブシステム110のセンサーコントローラ112に統合されたGPSセンサー122dを示す。或いは、GPSセンサー122dは、周辺装置インターフェース103に統合されてもよい。GPSセンサー122dは、少なくとも一つの衛星信号を受信し、受信した信号を処理して地球上における装置100の位置を測定する。例えば、GPSセンサー122dは、測定された値に基づいて装置100の緯度、経度、高度の値を提供する。例えば、GPSセンサー122dは、緯度値として−90度(degrees)から+90度までの値を提供し、経度値として−180度から+180度までの値を提供する。一側面において、GPSセンサー122dから受信したデータの分析に基づいてタッチスクリーン121上に装置100の地球上の位置を表示する。
【0049】
他の側面によれば、センサー122は、一つ以上の磁気センサー(Magnetic sensor)122eを含む。
図2は、入/出力サブシステム110のセンサーコントローラ112に統合された磁気センサー122eを示す。或いは、磁気センサー122eは、周辺装置インターフェース103に統合されてもよい。例えば、磁気センサー122eは、地球で発生する磁場の強度又は変化を測定し、測定された信号を処理することで、装置100の方向値を決定する。例えば、磁気センサー122eは、測定された値に基づいて(X,Y,Z)の3軸の値で磁場の強度及び変化を提供する。一側面において、装置100は、磁気センサー122eから提供された値を用いて、タッチスクリーン121上の所定のアイコンの回転を変更する。
【0050】
他の側面によれば、センサー122は、一つ以上のチルトセンサー(tilt sensor)122fを含む。
図2には、入/出力サブシステム110のセンサーコントローラ112に統合されたチルトセンサー122fを示す。或いは、チルトセンサー122fは、周辺装置インターフェース103に統合されてもよい。チルトセンサー122fは、一つ以上の加速度センサーと一つ以上の磁気センサーとで構成することができる。チルトセンサー122fは、これらのセンサーから測定された(X,Y,Z)の3軸の値を用いて、例えば、方位(azimuth)、ピッチ(pitch)、ロール(roll)値を提供する。例えば、チルトセンサー122fは、方位値として0度(degrees)から360度までの値を提供する。また、ピッチ値として−180度から+180度までの値を提供する。また、ロール値として−90度から+90度までの値を提供する。一側面による装置100は、チルトセンサー122fを用いて、装置100を把持して動くユーザーのジェスチャーを感知する。
【0051】
他の側面によれば、センサー122は、一つ以上の環境センサー(Ambient sensor)122gを含む。
図2には、入/出力サブシステム110のセンサーコントローラ112に統合された環境センサー122gを示す。或いは、環境センサー122gは、周辺装置インターフェース103に統合されてもよい。環境センサー122gは、装置100の周辺環境における温度、湿度、照度などを測定する。また、環境センサー122gは、測定された値を時間単位で獲得する。例えば、環境センサー122gは、湿度を0%から100%までの値で提供する。また、温度を華氏又は摂氏単位で提供する。また、照度を0から10までのレベル値で提供する。一側面において、装置100は、環境センサー122gを用いて獲得した装置周辺の環境値をタッチスクリーン121上に提供する。
【0052】
他の側面によれば、センサー122は、一つ以上の天気センサー(Weather sensor)122hを含む。
図2には、入/出力サブシステム110のセンサーコントローラ112に統合された天気センサー122hを示す。或いは、天気センサー122hは、周辺装置インターフェース103に統合されてもよい。天気センサー122hは、湿度、温度、又は天気に関連する情報を提供する。特定日又は時間に関連する天気情報は、外部のサーバーから獲得することができる。サーバーは、ユーザーの位置に関する情報に基づいて、天気に関連する情報を提供する。一側面において、装置100は、位置情報を含むhttp要請信号をサーバーに送信する。サーバーは、装置100の位置情報に基づいて、該位置における天気に関連する情報を検索し、検索された情報をXML(eXtensible Markup Language)文書として装置100に提供する。例えば、天気センサー122hは、湿度を0%から100%までの値で提供する。また、温度を華氏又は摂氏単位で提供する。また、天気に関連する条件(condition)を整数値で提供する。
【0053】
図1を再び参照すると、装置100は、タッチスクリーン121(又は、タッチパッド)のようなタッチ−感知領域を有するスクリーンを介して所定の機能連携の動作を行うことができる。この場合、タッチスクリーン121上で装置100の動作のための基本的な入力/制御が可能となるため、装置100におけるプッシュボタン、キーボード、ダイヤルなどの物理的入力/制御装置の個数を低減することができる。
【0054】
タッチスクリーン121を介して所定の機能連携の動作を行うために、タッチスクリーン121上には、ナビゲーションのためのユーザーインターフェースが提供される。一側面によれば、ユーザーがタッチスクリーン121をタッチすると、タッチスクリーン121は、メインメニュー又はルートメニューのようなユーザーインターフェースを提供する。他の側面において、装置100は、ユーザーインターフェースとして物理的プッシュボタン又はその他の物理的入力及び制御装置を共に提供することもできる。
【0055】
一側面において、装置100は、タッチ−感知領域を有しないスクリーンを介して所定の機能連携の動作を行うことができる。装置100は、基本的な入力/制御装置として物理的なキーボード、マウス、物理的なボタンのようなユーザーインターフェースを用いることができる。一側面において、ユーザーが物理的なユーザーインターフェースを操作する場合、装置100は、ユーザー操作に対応する視覚的出力を、タッチ−感知領域を有しないスクリーンを介して表示する。
【0056】
他の側面によれば、装置100は、タッチ−感知領域を有するタッチスクリーン121(又はタッチパッド)と、タッチ−感知領域を有しないスクリーンとの両方を介して所定の機能連携の動作を行うことができる。装置100は、基本的な入力/制御装置として物理的又は仮想のユーザーインターフェースの少なくとも一つを用いる。一側面において、ユーザーが物理的ユーザーインターフェースをタッチするか、又は仮想のユーザーインターフェースを操作する場合、装置100は、物理的又は仮想のインターフェースと相互作用してユーザーのタッチ又は操作に対応する結果を、タッチ−感知領域を有するタッチスクリーン121又はタッチ−感知領域を有しないスクリーンの少なくとも一方を介して表示する。
【0057】
タッチスクリーン121は、装置100とユーザーとの間のユーザーインターフェースを提供する。例えば、タッチスクリーン121は、ハプティック(haptic)接触又はタクティル(tactile)接触に基づいてユーザーからの入力を感知するタッチ−感知表面、センサー又はセンサー集合を備える。タッチスクリーン121及びディスプレイコントローラ111は、タッチスクリーン121上の接触又は接触の任意の動き(movement)や接触の解除を感知し、感知された接触を、タッチスクリーン121上に表示されたユーザーインターフェース(グラフィック、一つ以上のソフトキー、アイコン、Webページ、又はイメージ)との相互作用に変換する。一側面によれば、タッチスクリーン121とユーザーとの接触地点は、ユーザーの指、スタイラスのような任意の物体又は附属物(appendage)に対応する。一側面において、ユーザーインターフェースは、主に指による接触及びジェスチャーを用いて作動するように設計されるが、このような指による接触及びジェスチャーは、スタイラスによる入力に比べてタッチスクリーン121上での接触面積がより広いため、正確性に劣ることがある。この場合、装置100は、概略的な(rough)指による入力を、ユーザーの所望するアクションを行うための正確なポインタ又はカーソルの位置や命令として分析する。
【0058】
タッチスクリーン121は、ユーザーインターフェースとして一つ以上のグラフィックを表示する。一側面において、ユーザーは、一つ以上の指を用いて一つ以上のグラフィックに接触(タッチ)し、それを選択する。他の側面において、ユーザーが一つ以上のグラフィックとの接触を解除すると、該一つ以上のグラフィックが選択される。一側面によれば、ユーザーのジェスチャーは、グラフィック又はグラフィックに関連する領域を選択するためのタッチ(touch)、グラフィックに関連するアプリケーションを実行するか又は他のグラフィックが提供されるようにタッチして解除(release)するジェスチャーであるタップ(tap)、グラフィックを拡大又は縮小するためのダブルタップ(double tap)、グラフィックに関連する詳細メニューが提供されるように所定の時間タッチを保持するホールド(hold)、アイテム目録をスクロールするためにタッチ及び移動(左から右へ、右から左へ、下から上へ、又は上から下へ)してタッチを解除するタッチアンドムーブ(touch and move)、グラフィックに関連する上位又は下位目録への移動又はその他の有用な機能を実行するためにタッチ及び移動して短い時間内にタッチを解除するフリック又はスワイプ(Flick or Swipe)、グラフィックを所望の位置に移動させるためのドラッグアンドドロップ(drag and drop)のようなジェスチャーを含む。一側面において、グラフィックとの偶然な接触によってはそのグラフィックが選択されないようにすることができる。例えば、選択に対応するジェスチャーがタップである場合に、所定のアプリケーションに関連するグラフィックの上を通りすぎるスワイプジェスチャーによっては、当該アプリケーションが選択されないようにする。他の側面において、装置100は、正確なユーザージェスチャーを判断するために、ヒューリスティック(heuristic)手法を適用してもよい。一側面によれば、ユーザージェスチャーの累積データ、ユーザーの特徴、ユーザーのパターンなどを、ヒューリスティック手法を用いて発見及び分析し、これに基づいて装置100はユーザージェスチャーの意図を決定する。
【0059】
一側面によれば、タッチスクリーン121は、ユーザーインターフェースとして仮想のソフトキーボードを表示する。ユーザーは、ソフトキーボードの一つ以上のグラフィック(又はソフトキー)を選択し、これに応じて一つ以上の該当するシンボルをタッチスクリーン121上に表示する。ソフトキーボードの実施形態は適応的(adaptive)である。例えば、表示されたグラフィックは、一つ以上のグラフィックの選択又は一つ以上の該当するシンボルの選択を行うユーザーアクションに対応して調整される。装置100の一つ以上のアプリケーションは、共通のキーボード又は異なるキーボードを用いる。これにより、使用されるソフトキーボードは、アプリケーションの少なくとも一部、又は各ユーザーにカスタマイズされるものとすることができる。例えば、一つ以上のソフトキーボードの実施形態は、各ユーザーの単語使用記録に基づいてユーザー毎にカスタマイズされる。ソフトキーボードは、ユーザーが一つ以上のグラフィックを選択し、それに応じた一つ以上のシンボルを選択する時に、ユーザーが失敗する確率を減らすように調整される。
【0060】
以下、
図3を参照して、装置100に備えられたメモリー102構成の一例をより詳細に説明する。
【0061】
図3は、一実施形態による装置100のメモリー102構成の一例を示す図である。
【0062】
一側面によれば、メモリー102に格納されたソフトウェアコンポーネントは、オペレーティングシステム(operating system:OS)210、通信モジュール(又は命令語集合)261、ソーシャルネットワーキング(social networking)モジュール(又は命令語集合)263、コマース(commerce)サービスモジュール(又は命令語集合)265、位置基盤サービス(Location Based Service:LBS)モジュール(又は命令語集合)267、インタラクション(interaction)モジュール(又は命令語集合)269、センサーモジュール(又は命令語集合)271、グラフィックモジュール(又は命令語集合)273、テキスト入力モジュール(又は命令語集合)275、及びアプリケーション(又は命令語集合)220を含む。
【0063】
一側面によれば、通信モジュール261、ソーシャルネットワーキングモジュール263、コマースサービスモジュール265、LBSモジュール267、インタラクションモジュール269、センサーモジュール271、グラフィックモジュール273、又はテキスト入力モジュール275は、OS210に含まれるものでもよい。例えば、通信モジュール261、ソーシャルネットワーキングモジュール263、コマースサービスモジュール265、LBSモジュール267、インタラクションモジュール269、センサーモジュール271、グラフィックモジュール273、又はテキスト入力モジュール275は、アプリケーション220がハードウェア又はソフトウェアコンポーネントにアクセスするためのインターフェースを提供するか、又はアプリケーション220に関連するシステムタスクを制御する。
【0064】
他の側面によれば、通信モジュール261、ソーシャルネットワーキングモジュール263、コマースサービスモジュール265、LBSモジュール267、インタラクションモジュール269、センサーモジュール271、グラフィックモジュール273、又はテキスト入力モジュール275は、アプリケーション220に含まれるものでもよい。例えば、通信モジュール261、ソーシャルネットワーキングモジュール263、コマースサービスモジュール265、LBSモジュール267、インタラクションモジュール269、センサーモジュール271、グラフィックモジュール273、又はテキスト入力モジュール275は、ソフトウェアコンポーネント及び/又はハードウェアコンポーネントのドライバを備え、OS210と連動して関連するソフトウェアコンポーネント及び/又はハードウェアコンポーネントの動作を行う。
【0065】
OS210は、ダーウィン(Darwin)、Linux(登録商標)、ユニックス、OSX、Windows(登録商標)、bada(大韓民国の三星電子(株)から提供されるモバイルOSの一つ)、又はVxWorksなどのエンベデッドOSのように、メモリー管理、格納装置制御、電力管理などの一般的なシステムタスクを制御して管理するための様々なソフトウェアコンポーネント及び/又はドライバを含み、様々なハードウェア及びソフトウェアコンポーネント間の通信を可能にする。
【0066】
一実施形態によるOS210は、カーネル(kernel)211、デバイス(device)213、サービス(service)215、及びフレームワーク(framework)217の階層(layer)を含む。
【0067】
カーネル211は、装置100のハードウェア構成を基盤とするリアルタイム(real−time)OS又はLinux(登録商標)カーネルなどを含むことができる。
【0068】
デバイス213は、デバイスOS、グラフィックとマルチメディア機能、及び通信コンポーネントにより提供される装置100のプラットホーム機能を含む。例えば、プラットホーム機能は、電話方式(telephony)、セキュリティ(security)、グラフィックス(graphics)、又はイベントとウィンドウ管理を含む。
【0069】
サービス215は、アプリケーションエンジン及びサーバー支援(server−assisted)コンポーネントにより提供されるサービス優先の機能を含む。連絡(contact)又はメッセージングエンジンを含むサービス215によりアプリケーションエンジンが提供される。例えば、サーバー支援機能は、badaサーバーのサービスコンポーネントと相互接続するWebサービスコンポーネントにより提供される。このように、アプリケーションがサーバー支援機能を用いて、地理的情報又はユーザー存在(presence)情報などのように遠隔サーバーに格納されるデータを管理することができる。サーバー支援機能へのアクセスは、フレームワーク217のAPI(Application Programming Interface)を介して行うことができる。
【0070】
フレームワーク217は、badaのオープンAPIフレームワークを含むことができる。フレームワーク217は、下部階層の機能にアクセスできるインターフェース及びクラスを含み、またアプリケーションフレームワークも含む。アプリケーションフレームワークは、アプリケーションライフサイクル(life−cycle)管理、イベントハンドリング、又はアプリケーション制御のための機能を提供する。上記インターフェースは、オープンAPIフレームワークにより提供され得る。オープンAPIフレームワークは、データのハンドリング、ユーティリティ(utilities)、基本的機器機能とアプリケーション状態、又はグラフィックユーザーインターフェースを生成するためのアプリケーションに必要な基本的インターフェースを含む。また、APIフレームワークは、下部階層から提供されるサービスへのアクセスを可能にするインターフェースを含み、またユーザーインターフェース、マルチメディア、通信、国際化(internationalization)、位置、セキュリティ、コマース、又はWebブラウジングなどに関連するインターフェースも含む。
【0071】
通信モジュール261は、少なくとも一つの外部ポート134を通じて他の装置との通信を可能にし、RF回路131及び/又は外部ポート134により受信されたデータを処理するための様々なソフトウェアコンポーネントを含む。USB、ファイヤワイヤ(FireWire)などの外部ポート134は、他の装置に直接接続されるか、又はインターネット、無線LANなどのネットワークを通じて間接的に接続される。
【0072】
ソーシャルネットワーキングモジュール263は、少なくとも一つの外部ポート134を通じて他の装置又はネットワークサーバーとの通信を可能にし、RF回路131及び/又は外部ポート134により受信されたデータを処理するための様々なソフトウェアコンポーネントを含む。ソーシャルネットワーキングモジュール263は、通信モジュール261に連動して他のアプリケーションユーザーと共にユーザー存在(presence)情報を共有し、ユーザープロファイルを管理する。また、ソーシャルネットワーキングモジュール263は、アプリケーション220に、他のアプリケーションユーザーと共にユーザー存在(presence)情報を共有してユーザープロファイルを管理できるインターフェースを提供することもできる。また、ソーシャルネットワーキングモジュール263又はソーシャルネットワーキングモジュール263のインターフェースは、アプリケーションユーザーが集結できるようにするメカニズムを含むことができ、インターネット上のソーシャルネットワーキングサービスを用いることができる。
【0073】
コマースサービスモジュール265は、少なくとも一つの外部ポート134を通じて他の装置又はネットワークサーバーとの通信を可能にし、RF回路131及び/又は外部ポート134により受信されたデータを処理するための様々なソフトウェアコンポーネントを含む。コマースサービスモジュール265は、通信モジュール261と連動することができる。コマースサービスモジュール265は、通信ネットワークを通じてユーザーが商品(例えば、ゲームアイテム又はアプリケーションなど)を売買できるように作動し、このような動作を支援するインターフェースをアプリケーション220に提供する。
【0074】
LBSモジュール267は、少なくとも一つの外部ポート134を通じて他の装置又はネットワークサーバーとの通信を可能にし、RF回路131及び/又は外部ポート134により受信されたデータを処理するための様々なソフトウェアコンポーネントを含む。LBSモジュール267は、通信モジュール261と連動することができる。LBSモジュール267は、通信ネットワークを通じて地理的情報(例えば、ランドマーク(landmark)、商店、地図データ、又は地理的コーディングサービス)を送受信し、ユーザー又はネットワークサーバーに提供するために地理的情報を処理する。また、LBSモジュール267は、アプリケーション220に、地理的情報を使用できる機能を含むインターフェースを提供する。
【0075】
インタラクションモジュール269は、ユーザーの動き(motion)又はタッチ(又はタッチジェスチャー)に対する応答、ユーザーの形状(顔又は身体)などの感知に対する応答、又は予め設定されたイベントに対する応答として、ユーザーに視覚的、聴覚的又は触覚的フィードバックを提供する。
【0076】
例えば、インタラクションモジュール269は、タッチスクリーン121からタッチを受信すると、その他入/出力コントローラ113及び/又はその他入/出力装置123に含まれる振動装置(図示せず)を通じてタッチの接触と接触解除、接触点の大きさ、速度、加速度、方向、大きさの変化、又は方向の変化によって、ユーザーに触覚的応答をフィードバックするためのハプティック(Haptic)機能として様々な振動パターンを提供するソフトウェアコンポーネントを含む。インタラクションモジュール269は、ユーザーに振動がより一層感じられるようにグラフィックモジュール273又はディスプレイコントローラ111と共にスクリーンが揺れる効果を提供することもできる。予め設定されたイベントとしてインスタントメッセージングモジュール229から新しいメッセージが受信された場合、インタラクションモジュール269は、その他入/出力コントローラ113、振動装置(図示せず)、グラフィックモジュール273、又はディスプレイコントローラ111と共に振動又は視覚的フィードバックを提供する。
【0077】
インタラクションモジュール269は、センサーコントローラ112、センサー122に含まれる光センサー122a及び/又はセンサーモジュール271と共に、ユーザーの姿を認識し、装置100に登録されたユーザーであると判断した場合に、オーディオ回路132、グラフィックモジュール273、又はディスプレイコントローラ111と連動して、予め設定された音/音声又は予め設定された視覚的刺激を含むフィードバックを提供する。インタラクションモジュール269は、アプリケーション220に上記フィードバックを使用できるようにするインターフェースを提供する。
【0078】
センサーモジュール271は、光センサー122a、近接センサー122b、加速度センサー122c、GPSセンサー122d、磁気センサー122e、チルトセンサー122f、環境センサー122g、又は天気センサー122hから獲得したデータを処理し、また当該データをアプリケーション220が使用できるようにするインターフェースを提供する。
【0079】
例えば、センサーモジュール271は、GPSセンサー122dで受信したデータを用いて装置100の位置情報を獲得し、この位置情報を様々なアプリケーションで使用できるように提供する。センサーモジュール271は、GPSセンサー122dを介して獲得した位置情報を位置ベースの通話のために電話モジュール223に提供し、また写真/ビデオなどのメタデータとしてカメラモジュール233及び/又はブロギング(blogging)モジュール231に提供する。センサーモジュール271は、GPSセンサー122dを介して獲得した位置情報を、地図モジュール243又はナビゲーションなどの位置ベースのサービスを提供するアプリケーション及び/又はLBSモジュール267に提供する。
【0080】
センサーモジュール271は、環境センサー122g又は天気センサー122hから獲得したデータを天気モジュール247に提供する。センサーモジュール271は、グラフィックの明るさを変更し、スクリーンのバックライト(backlight)の明るさを調整するように、光センサー122aから獲得したデータを、グラフィックモジュール273又はディスプレイコントローラ111に提供する。
【0081】
グラフィックモジュール273は、表示されたグラフィックの明るさを変更するためのコンポーネントを含み、タッチスクリーン121上のグラフィックをレンダリングし、表示するための様々な周知のソフトウェアコンポーネントを含む。ここで用いられる「グラフィック」という用語は、テキスト、Webページ、ソフトキーを含むユーザーインターフェースオブジェクトなどのアイコン、デジタルイメージ、ビデオ、及びアニメーションを指すが、これらに限定されず、ユーザーに表示され得る任意のオブジェクトを含むことができる。
【0082】
テキスト入力モジュール275は、グラフィックモジュール273のコンポーネントであり得る。テキスト入力モジュール275は、様々なアプリケーション(例えば、連絡先モジュール221、Eメールクライアントモジュール227、インスタントメッセージングモジュール229、ブロギングモジュール231、ブラウジングモジュール241、又はテキスト入力を必要とする任意の他のアプリケーション)でテキストを入力するためのソフトキーボードを提供するか、又は物理的なキーボード(例えば、Qwertyキーボードなど)の入力モジュールを活性化するインターフェースを提供する。
【0083】
アプリケーション220は、次のモジュール(又は命令語集合)、又はこれらのサブセット(subset)やスーパーセット(superset)を含む。
【0084】
アプリケーション220は、連絡先モジュール221(また、住所録又は連絡先目録とも呼ぶ。)、電話モジュール223、ビデオ会議モジュール225、Eメールクライアントモジュール227、インスタントメッセージング(IM)モジュール229、ブロギングモジュール231、スチール及び/又はビデオイメージのためのカメラモジュール233、イメージ管理モジュール235、ビデオプレーヤーモジュール、音楽プレーヤーモジュール、又はビデオプレーヤーモジュールと音楽プレーヤーモジュールとを統合したモジュールであるビデオ/音楽プレーヤーモジュール237、ノートモジュール239、ブラウジングモジュール241、地図モジュール243、暦モジュール245、天気モジュール247、株式モジュール249、計算機モジュール251、アラーム時計モジュール253、辞書モジュール255、検索モジュール257、又はニュースモジュール259を含む。
【0085】
メモリー102には、アプリケーション220として、ワードプロセシングモジュール、JAVA(登録商標)モジュール、暗号化モジュール、デジタル権限管理モジュール、音声認識(voice recognition)モジュール、又は音声応答(voice replication)モジュールが含まれてもよい。
【0086】
連絡先モジュール221は、タッチスクリーン121、ディスプレイコントローラ111、インタラクションモジュール269、グラフィックモジュール273、及び/又はテキスト入力モジュール275と共に住所録又は連絡先目録の管理に用いる。例えば、連絡先モジュール221は、住所録に名前を追加し、住所録から名前を削除し、電話番号、Eメールアドレス、物理住所、又はその他の情報を名前と関連付け、名前とイメージとを関連付け、名前を分類して整列し、電話モジュール223、ビデオ会議モジュール225、Eメールクライアントモジュール227、又はIMモジュール227による通信を開始し、また通信の開始を可能にするための電話番号又はEメールアドレスを提供する。
【0087】
電話モジュール223は、RF回路131、オーディオ回路132、タッチスクリーン121、ディスプレイコントローラ111、インタラクションモジュール269、グラフィックモジュール273、及び/又はテキスト入力モジュール275と共に作動する。例えば、電話モジュール223は、電話番号に対応する文字列を入力し、連絡先モジュール221の少なくとも一つの電話番号にアクセスし、入力された電話番号を修正し、それぞれの電話番号をダイヤリングし、対話を行い、対話が完了すると接続を解除して電話を切る動作を行う。既に言及したように、無線通信には、複数の通信標準、プロトコル、及び技術の任意のものを用いることができる。
【0088】
ビデオ会議モジュール225は、RF回路131、オーディオ回路132、タッチスクリーン121、ディスプレイコントローラ111、光センサー122a、センサーコントローラ112、インタラクションモジュール269、グラフィックモジュール273、テキスト入力モジュール275、連絡先モジュール221、及び/又は電話モジュール223と共に、ユーザーと一名以上の他の参加者間のビデオ会議を開始、実行、終了する機能を果たす。
【0089】
Eメールクライアントモジュール227は、RF回路131、タッチスクリーン121、ディスプレイコントローラ111、インタラクションモジュール269、グラフィックモジュール273、及び/又はテキスト入力モジュール275と共にEメールを生成して送受信し、Eメールを管理する。Eメールクライアントモジュール227は、イメージ管理モジュール235及び/又はカメラモジュール233を介して獲得したスチール又はビデオイメージを含むEメールを生成して送受信する。
【0090】
インスタントメッセージング(IM)モジュール229は、RF回路131、タッチスクリーン121、ディスプレイコントローラ111、インタラクションモジュール269、グラフィックモジュール273、及び/又はテキスト入力モジュール275と共に作動する。例えば、インスタントメッセージングモジュール229は、インスタントメッセージに対応する文字列を入力し、既に入力された文字を修正し、それぞれのインスタントメッセージを送信し、インスタントメッセージを受信する。送信及び/又は受信されるインスタントメッセージは、グラフィック、写真、オーディオファイル、ビデオファイル、及び/又はMMS及び/又はEMS(Enhanced Messaging Service)によって支援されるその他の添付物を含む。ここで使用する「インスタントメッセージング(instant messaging)」は、SMS又はMMSにより送信されるメッセージのような電話ベースのメッセージ、及びXMPP、SIMPLE又はIMPSにより送信されるメッセージのようなインターネットベースのメッセージの両方を指す。
【0091】
ブロギングモジュール231は、RF回路131、タッチスクリーン121、ディスプレイコントローラ111、インタラクションモジュール269、グラフィックモジュール273、テキスト入力モジュール275、イメージ管理モジュール235、ブラウジングモジュール241、及び/又はソーシャルネットワーキングモジュール263と共に、テキスト、スチールイメージ、ビデオ、及び/又はその他のグラフィックをブログ(例えば、ユーザーのブログ)に送信し、ブログから受信する。
【0092】
カメラモジュール233は、タッチスクリーン121、ディスプレイコントローラ111、光センサー122a、センサーコントローラ112、インタラクションモジュール269、グラフィックモジュール273、及び/又はイメージ管理モジュール235と共に作動する。例えば、カメラモジュール233は、スチールイメージ又はビデオストリームを含むビデオをキャプチャーし、これらをメモリー102に格納し、スチールイメージ又はビデオの特性を修正し、スチールイメージ又はビデオをメモリー102から削除する。
【0093】
イメージ管理モジュール235は、タッチスクリーン121、ディスプレイコントローラ111、インタラクションモジュール269、グラフィックモジュール273、テキスト入力モジュール275、及び/又はカメラモジュール233と共に作動する。例えば、イメージ管理モジュール235は、スチール及び/又はビデオイメージを配列し、修正又は操作し、ラベリング(labeling)し、削除し、デジタルスライドショー又はアルバム形態で表示し、格納する。
【0094】
ビデオ/音楽プレーヤーモジュール237は、ビデオプレーヤーモジュールを含む。ビデオプレーヤーモジュールは、タッチスクリーン121、ディスプレイコントローラ111、インタラクションモジュール269、グラフィックモジュール273、RF回路131、及び/又はオーディオ回路132と共に、例えば、タッチスクリーン121、又は外部ポート134を介して接続された外部ディスプレイ上にビデオを表示し、表示又は再生する。
【0095】
ビデオ/音楽プレーヤーモジュール237は、音楽プレーヤーモジュールを含む。音楽プレーヤーモジュールは、タッチスクリーン121、ディスプレイコントローラ111、インタラクションモジュール269、グラフィックモジュール273、オーディオ回路132、RF回路131、及び/又はブラウジングモジュール241と共に、ユーザーがMP3、wma、又はAACファイルなどの少なくとも一つのファイルフォーマットで格納された録音された音楽及びその他のサウンドファイルを再生する。
【0096】
ノートモジュール239は、タッチスクリーン121、ディスプレイコントローラ111、インタラクションモジュール269、グラフィックモジュール273、及び/又はテキスト入力モジュール275と共に、ノート、仕事目録などを生成し、管理する。
【0097】
ブラウジングモジュール241は、RF回路131、タッチスクリーン121、ディスプレイコントローラ111、インタラクションモジュール269、グラフィックモジュール273、及び/又はテキスト入力モジュール275と共に、Webページやその一部、及びWebページにリンクされた添付物及びその他のファイルの検索、リンク、受信及び表示を含むインターネットブラウジングを行う。
【0098】
地図モジュール243は、RF回路131、タッチスクリーン121、ディスプレイコントローラ111、インタラクションモジュール269、グラフィックモジュール273、テキスト入力モジュール275、センサーモジュール271、LBSモジュール267、及び/又はブラウジングモジュール241と共に、例えば、運転方向、特定位置の又は隣接した店及び関連地点に関するデータ、その他の位置ベースのデータなどの地図関連データ、及び地図を受信し、表示し、また修正又は格納する。
【0099】
暦モジュール245は、RF回路131、タッチスクリーン121、ディスプレイコントローラ111、インタラクションモジュール269、グラフィックモジュール273、及び/又はテキスト入力モジュール275と共に、暦及び暦に関連するデータ(例えば、暦エントリー、仕事目録など)を生成し、表示し、また格納する。
【0100】
天気モジュール247、株式モジュール249、計算機モジュール251、アラーム時計モジュール253、及び/又は辞書モジュール255は、RF回路131、タッチスクリーン121、ディスプレイコントローラ111、インタラクションモジュール269、グラフィックモジュール273、テキスト入力モジュール275、通信モジュール261、センサーモジュール271、及び/又はブラウジングモジュール241と共に作動する。これらのモジュールは、それぞれ、天気情報、株式情報、計算機、アラーム時計、又は辞書の機能をユーザーに提供するアプリケーションである。
【0101】
検索モジュール257は、タッチスクリーン121、ディスプレイコントローラ111、インタラクションモジュール269、グラフィックモジュール273、及び/又はテキスト入力モジュール275と共に、少なくとも一つのユーザー指定の検索用語などの少なくとも一つの検索条件とマッチングするメモリー102に格納されたテキスト、音楽、サウンド、イメージ、ビデオ、及び/又はその他のファイルを検索する。
【0102】
ニュースモジュール259は、タッチスクリーン121、ディスプレイコントローラ111、インタラクションモジュール269、グラフィックモジュール273、RF回路131、通信モジュール261、ソーシャルネットワーキングモジュール263、及び/又はテキスト入力モジュール275と共に作動する。例えば、ニュースモジュール259は、ユーザーにより指定されたWebアドレス、ネットワークアドレス、ニュースチャネル/記事、又はブログに関するテキスト又はイメージなどを含むhtml、xml、RSS形式ファイル、又はDRM(Digital Rights Management)関連ファイルなどのネットワーク又は外部装置上のデータを、当該ネットワーク又は外部装置から受信し、当該ネットワーク又は外部装置からメモリー102にダウンロードし、ユーザーに提供する。
【0103】
以上で言及したモジュール及びアプリケーションは、それぞれ、以上で説明した少なくとも一つの機能を行うための命令語集合に対応する。このようなモジュール(即ち、命令語集合)は、個別のソフトウェアプログラム、プロシージャ、又はモジュールとする必要はなく、様々な実施形態でこれらのモジュールの様々なサブセットが統合又は再配置される。例えば、ビデオ/音楽プレーヤーモジュール237は、単一のモジュールとしてもよく、ビデオプレーヤーモジュールと音楽プレーヤーモジュールとを別個としてもよい。一部の実施形態において、メモリー102は、以上で言及したモジュール及びデータ構造のサブセットを格納することができる。また、メモリー102は、言及していない追加のモジュール及びデータ構造を格納することもできる。
【0104】
図4は、一実施形態によるタッチスクリーン121を備える装置100のスクリーン構成の一例を示す図である。
【0105】
一側面によれば、スクリーン400の領域は、状態領域(status area)410、メイン領域(main area)430、及び命令領域(command area)450を含む。
【0106】
状態領域410は、タッチスクリーン121の上段に提供され、装置100の状態に関連する情報を提供する。例えば、状態に関連する情報としては、接続情報及びシステム/イベント情報を含む。接続情報としては、信号強度411、Wi−Fi接続の有無、Bluetooth(登録商標)接続の有無、電話接続の有無に関連するアイコン又はグラフィックを含む。システム/イベント情報としては、時刻412、バッテリー残量レベル413、実行中のアプリケーション(実行中の音楽又はラジオなど)、メッセージ受信の有無、プロファイル、アラーム設定の有無に関連するアイコン又はグラフィックを含む。これらのアイコンのそれぞれは優先順位を有し、優先順位に従って状態領域410上に左側又は右側のいずれかから順次に位置する。一側面によれば、優先順位の低いアイコンは隠され、優先順位の高いアイコンは常に表示される。
【0107】
メイン領域430は、タッチスクリーン121上の大部分の領域を占め、装置100から提供される少なくとも一つのコンテンツが表示される。メイン領域430の上段には、少なくとも一つのコンテンツに関連する情報が提供され、少なくとも一つのコンテンツに関連するユーザーインターフェースが提供される。例えば、コンテンツに関連する情報は、コンテンツの題目(title)、前の画面で実行した命令語(command)の名称、現在表示中のコンテンツが含まれたカテゴリーの名称又は位置などを含む。コンテンツに関連するユーザーインターフェースには、コンテンツと同じレベルの他のコンテンツに移動するためのタブ(tab)又はホルダー(folder)などが含まれる。一側面によれば、メイン領域430上で少なくとも一つのコンテンツを対象にスクロールすると、メイン領域430の上段に位置するコンテンツに関連する情報、又はコンテンツに関連するユーザーインターフェースは、スクロールジェスチャーに関係なくメイン領域430上での位置を保持する。
【0108】
命令領域450は、タッチスクリーン121上の下段に提供され、少なくとも一つのソフトキー451、453、又はオプションメニュー452のようなユーザーインターフェースを提供する。一側面において、命令領域450は、普段、メイン領域430の一部として用いられ、状況(例えば、ユーザーが命令領域450を接触、接触の任意の動きや接触の解除をする場合)に応じてソフトキー451、453、又はオプションメニュー452を提供する。ソフトキー451、453は、実行中のアプリケーションに関連する有用な機能を行うために提供される。例えば、ソフトキー451、453は、検索機能、前の画面に戻る機能、実行中の作業を取消す機能、新しいカテゴリーを追加する機能を含む。ソフトキー451、453は、主に、命令領域450上の左側又は右側のいずれかに提供され、実行可能な機能の数に比例して一つ以上のキーが提供される。ソフトキー451、453は、様々なグラフィック、例えばアイコン又はテキストのようなユーザーに直観的で且つ理解しやすい形態で提供される。オプションメニュー452は、メイン領域430上に表示されたコンテンツ又は実行中のアプリケーションに関連するオプションを提供する。例えば、ユーザーがオプションメニュー452を選択する場合、オプションメニュー452は、メイン領域430上に一つ以上のシンボルを表示できるソフトキーボードを提供するか、又はメイン領域430上にコンテンツに関連する実行可能な一つ以上の機能又は詳細情報を提供する。
【0109】
装置100は、仮想のユーザーインターフェースに加えて、一つ以上の物理的ユーザーインターフェースを備える。一側面によれば、装置100は、パワー/ロック(Power/Lock)ボタン、ホーム(Home)ボタン、ボリュームアップ(volume up)ボタン、ボリュームダウン(volume down)ボタンを含む。パワー/ロックボタンは、装置100をロック又は解除し、また長く押した場合に、装置の電源をオン又はオフする。ホーム(Home)ボタンは、装置100上で実行可能なアプリケーション集合のうちの任意のアプリケーション(例えば、メインページアプリケーション)にナビゲーションする。ボリュームアップボタン、ボリュームダウンボタンは、それぞれボリュームを増加させ、ボリュームを減少させる。他の実施形態において、装置100は、送信(send)ボタン、カメラ(camera)ボタン、終了(end)ボタンを更に備える。送信ボタンは、電話ログ(log)目録を表示し、また長く押した場合に、最近に受信した電話呼への接続を実行する。カメラボタンは、カメラアプリケーションを実行し、装置100の光センサー122aを用いて撮影を行う。終了ボタンは、現在実行中のアプリケーションを終了してメインページに戻り、またユーザーが通話中の場合に、電話接続を終了する。上述したそれぞれのボタンに対応する機能の一集合は、同じ物理的ボタンを用いて行われてもよく、一つのボタンに対応する機能が互いに異なる物理的ボタンで分離されて行われてもよい。また、物理的なボタンの機能は、タッチスクリーン121上の仮想のボタンとしてもよい。他の実施形態において、装置100は、物理的ユーザーインターフェースとして、オーディオ回路132を通じて一部機能の活性化又は非活性化のための口頭入力(verbal input)を受信する。
【0110】
以下、
図4〜
図9を参照して、一実施形態による装置100における命令領域を含むスクリーン構成の一例を説明する。
【0111】
図4の命令領域450は、メイン領域430と重なる領域を有する。例えば、メイン領域430は、スクリーン400の全体領域又は一部領域を占める。例えば、装置100が全体画面モードで作動する場合に、状態領域410は隠され、スクリーン400に表示される全体領域がメイン領域430となる。また、少なくとも一つのソフトキー451、453及び/又はオプションメニュー452を含む命令領域450は、状態領域410を除くスクリーン400の領域上にオーバーレイされる。
図1に示したディスプレイコントローラ111は、少なくとも一つのソフトキー451、453及び/又はオプションメニュー452を、メイン領域430、又はメイン領域430に表示されるアプリケーション上にオーバーレイ(overlay)するように制御する。
図3に示したメモリー102は、少なくとも一つのソフトキー451、453及び/又はオプションメニュー452を駆動するアプリケーション220又はソフトウェアモジュール(261〜275)を保持する。例えば、少なくとも一つのソフトキー451、453は、OS210のAPI、アプリケーション220のうちの少なくとも一つ、タッチスクリーン121、ディスプレイコントローラ111、グラフィックモジュール273、及び/又はインタラクションモジュール269と共に作動する画面構成要素である。装置100は、ソフトキー451、453を用いて、予め設定されたイベントの発生を検出し、イベント発生による動作を行うように制御する。
【0112】
命令領域450は、少なくとも一つのソフトキー451、453及び/又はオプションメニュー452を含む。ソフトキー451、453は、メイン領域430に表示されるアプリケーション(例えば、
図3のアプリケーション220のいずれか一つ)のメニューに含まれるN個のオプションのうちのM個のオプション(Mは複数でも単数でもよい。)のそれぞれに相応する。ディスプレイコントローラ111は、ソフトキー451、453を、メイン領域430又はメイン領域430に表示されるアプリケーション上にオーバーレイするように制御する。ここで、N及びMは整数(integer)であり、MはNと同一又は小さい値である。例えば、Mが2の場合、アプリケーションのオプションのうちの2個のオプションのそれぞれがソフトキー451、453にマッピングされるようにする。
【0113】
NがMよりも大きい場合、オプションメニュー452を表示する。オプションメニュー452は、オプションメニュー452を選択するタッチジェスチャーに対する応答として、装置100のスクリーン400上に、N個のオプションのうちのM個のオプションに含まれない「N−M」個のオプションを含むウィンドウが表示されるようにするユーザーインターフェースを提供する。
【0114】
M個のソフトキー451、453は、スクリーン400の下段左側及び下段右側に提供され、M個のオプションのそれぞれを表すアイコン及びテキストのうちの少なくとも一つとしてラベリングされる。例えば、ソフトキー451は、スクリーン400の下段左側に提供され、内容の付加(adding)又はアイテムの追加の機能を表す。ソフトキー451は、付加又は追加を表示する「+」に対するアイコン又はグラフィックを含む。ソフトキー453は、スクリーン400の下段右側に配置され、検索機能を表す。ソフトキー453は、検索機能を表示する「拡大鏡」に対するアイコン又はグラフィックを含む。オプションメニュー452は、下段左側と下段右側との間に位置し、M個のソフトキー451、453よりも小さい領域を占める。
【0115】
図5〜
図6を参照して、一実施形態による装置100におけるソフトキーを含むスクリーン構成の一例を説明する。
【0116】
図5〜
図7のスクリーン510、スクリーン520、又はスクリーン530は、装置100で表示されるスクリーン構成の一例である。
【0117】
スクリーン510で、ソフトキー511は、Bluetooth(登録商標)を通じて送信する機能を表す。ソフトキー511は、送信機能を表示するテキスト又はグラフィックとして「Send via Bluetooth」を含む。ソフトキー513は、ジャンル選択機能を表す。ソフトキー513は、ジャンルを表示するテキスト又はグラフィックとして「Categories」を含む。
【0118】
スクリーン520で、メイン領域525は、例えば、
図3に示した連絡先モジュール221に対する表示を含む。ソフトキー521は、新しいアイテムの追加機能を表す。即ち、ソフトキー521は、連絡先リストに新しい連絡先を追加する機能を表す。ソフトキー521は、新しいアイテムの追加機能を表示するテキスト又はグラフィックとして「New」を含む。ソフトキー523は、連絡先に対する検索機能を表す。ソフトキー523が選択されると、連絡先モジュール221から提供される検索機能が実行されるか、又は検索モジュール257がこれらと連動する。ソフトキー523は、検索機能を表示するテキスト又はグラフィックとして「Search」を含む。
【0119】
スクリーン530で、メイン領域535は、例えは、
図3に示したテキスト入力モジュール275のユーザー設定に対する表示を含む。例えば、テキスト入力モジュール275のユーザー設定は、書体、文字サイズなどの現在設定を表示し、設定を変更できるようにするユーザーインターフェースを提供する。アプリケーション(例えば、テキスト入力モジュール275)のメニューが1個のオプションを有する場合、ソフトキーは1個である。例えば、ソフトキー531は、メニューナビゲーションのための「戻る」機能を表す。即ち、ソフトキー531は、他の設定画面への切替え、他のアプリケーションの画面への切替え又は前の画面への復帰のための入力を受信する。ソフトキー531は、新しい「戻る」機能を表示するテキスト又はグラフィックとして「Back」を含む。
【0120】
図8のスクリーン610で、メイン領域615は、例えば
図3に示したテキスト入力モジュール275のソフトキーボードを用いて入力されたテキストの表示を含む。ソフトキー611は、テキストをファイルとして保存するための保存機能を表す。ソフトキー611は、保存機能を表示するテキスト又はグラフィックとして「Save」を含む。ソフトキー613は、
図1に示したメモリー102に臨時保存されたテキストを削除し、テキストの入力又はテキストに相応するファイルの保存を取消すための機能を表す。ソフトキー613は、取消機能を表示するテキスト又はグラフィックとして「Cancel」を含む。
【0121】
図9のスクリーン620で、メイン領域625は、例えばパスワード入力のためにテキスト入力モジュール275と共に駆動される特定アプリケーションに対する表示を含む。ソフトキー621は、テキストの入力完了を表す。テキストは、パスワードのセキュリティを考慮して、「*」、「・」などの表示により、入力されたことのみを示すことができる。ソフトキー621が選択されると、テキストが特定アプリケーションの入力値として送信される。ソフトキー621は、入力完了機能を表示するテキスト又はグラフィックとして「Done」を含む。ソフトキー623は、
図1に示したメモリー102に臨時保存されたテキストを削除し、テキストの入力を取消すための機能を表す。ソフトキー623は、取消機能を表示するテキスト又はグラフィックとして「Cancel」を含む。
【0122】
図10〜
図13を参照して、一実施形態による装置100におけるオプションメニューに対するスクリーン構成の一例を説明する。
【0123】
図10のスクリーン710で、
図4に示したオプションメニュー452が選択されるタッチジェスチャーに対する応答として、オプションを含むウィンドウ715を表示する。例えば、タップ、スワイプ、又はドラッグなどのタッチジェスチャーによりオプションメニュー452が選択されると、オプションメニュー452を表すグラフィック717をウィンドウ715と一緒に表示する。オプションのそれぞれは、アイテム711にマッピングされて表示される。また、アイテム711に従属するオプション721を更に含む場合、アイテムに従属しているオプションを見るためのシンボル713を追加する。シンボル713が選択されると、スクリーン720で、従属しているオプションを表すアイテム721を含むポップアップウィンドウ725を表示する。
【0124】
図11のスクリーン810は、オプションメニュー817の選択に対する応答として、オプションにマッピングされたアイテム811、812、813を含むウィンドウ815を含む。アイテム811又は813の領域の大きさとアイテム812の領域の大きさとは異なってもよい。ウィンドウ815をスクリーンに表示する方式は、ウィンドウ815が画面の下端から上の方向に立ち上がる視覚的効果を含むことができる。
【0125】
図12のスクリーン910で、メイン領域919は、アプリケーション(例えば、
図3に示したビデオ/音楽プレーヤーモジュール237)に対する表示を含む。また、スクリーン910は、オプションメニュー917の選択に対する応答として、オプションにマッピングされたアイテム911を含むウィンドウ915の表示を含む。アイテム911が、従属しているオプションを更に含む場合、アイテムに従属しているオプションを見るためのシンボル913を追加する。
【0126】
図13のスクリーン920で、メイン領域929は、アプリケーション(例えば、
図3に示したインスタントメッセージングモジュール229、ブロギングモジュール231、又はリアルタイムメッセージングモジュール(図示せず))に対する表示を含む。リアルタイムメッセージングモジュールは、RF回路131、タッチスクリーン121、ディスプレイコントローラ111、インタラクションモジュール269、グラフィックモジュール273、及び/又はテキスト入力モジュール275と共に作動する。リアルタイムメッセージングモジュールは、ユーザーが相手とリアルタイムでテキストを含むマルチメディアデータを送受信できるインターフェースを提供する。例えば、リアルタイムメッセージングモジュールは、相手の情報表示領域931、相手追加アイコン932、受信したメッセージを表すアイコン933、受信したメッセージを表示するフレーム934、相手に送信するメッセージを作成/表示するフレーム935を含む。また、スクリーン910は、オプションメニュー917の選択に対する応答として、オプションにマッピングされたアイテム921を含むウィンドウ925の表示を含む。アイテム921が、従属しているオプションを更に含む場合、アイテムに従属しているオプションを見るためのシンボル923を更に表示する。
【0127】
図14は、一実施形態による装置100におけるリストに含まれるアイテムのスクリーン構成の一例を示す図である。
【0128】
リストに含まれるアイテム1001又は1003は、アイテムの名称又は情報を含む。アイテムの名称又は情報は、テキスト又はグラフィックで表示することができる。アイテム1005又は1007は、アイテムのアイコン又はイメージを含む。アイテム1009又は1011は、アイテムを選択するか否かを表すチェックボックスを含む。アイテム1011が占める領域に、アイテムの名称を表示する領域とチェックボックスを表示する領域との境界又はアイテムが占める領域のうち、タッチジェスチャーに対して互いに異なる応答を表す領域の境界が更に表示される。アイテム1013又は1015は、アイテムを選択するか否か、又は特定アイテムのグループのうちの一つのアイテムを選択するか否かを表示するラジオボタンを含む。
【0129】
以下、
図15〜
図22を参照して、一実施形態による装置100におけるリストのスクリーン構成の一例を説明する。
【0130】
図1に示したメモリー102は、装置100で提供可能なリストのタイプを保持する。ここで、リストのタイプは、リストの順序によって複数のアイテムが配列されるベーシックリストのタイプ、リストに予め設定された区分基準によって複数のアイテムがグループ化して配列されるグループ化された(grouped)リストのタイプ、及び/又は複数のアイテムのうちの選択されたアイテムに対する付加情報又は従属アイテムが、複数のアイテムが配列されたリストに挿入されて表示される拡張可能(expandable)リストのタイプを含む。また、メモリー102は、リストを駆動するアプリケーションを保持する。リストを駆動するアプリケーションは、リストのタイプを含む。
【0131】
プロセッサ101は、アプリケーションに含まれるリストのタイプを検出する。ディスプレイコントローラ111は、リストのタイプのうちの検出されたリストのタイプに相応するディスプレイ制御方式をメモリー102から受信し、受信した方式によってスクリーンにリストが表示されるように制御する。装置100でリストのタイプが用いられることによって、プログラム開発者は、リストを含むアプリケーションをより便利に開発できる。また、リストのタイプに関連する動作又は関連する制御機能が最適化されることによって、装置100は、誤動作なく行うことができる信頼性あるインターフェースを提供することができる。
【0132】
図15〜
図17は、一実施形態による装置100におけるベーシックリストのスクリーン構成の一例を示す図である。
【0133】
図15のスクリーン1110は、リストを表示するメイン領域1119、及びソフトキー1111、1113を含む。リストが表示されるスクリーン1110は、複数の領域に分割され、アイテム1117は、複数の領域のそれぞれに位置する。ベーシックタイプのリストは、リストが占める領域に、予め設定された順次的な順序で複数のアイテムが配列される。
【0134】
図1に示したディスプレイコントローラ111は、リストに含まれた複数のアイテム及びM個のソフトキー1111、1113が重なり合う領域が発生する場合に、重なり合う領域に相応するアイテム1118の上部及び下部のいずれかの箇所に、予め設定された大きさのダミー(dummy)領域1115を挿入することによって、重なり合う領域に相応するアイテム1118のスクリーン1110における位置が移動するように制御する。これにより、ユーザーがアイテム1118の情報を便利に識別できるようにすることができる。ダミー領域1115の高さ1131は、アイテム1117の高さにするか、又は
図4に示したオプションメニュー452の高さにする。領域1115の高さ1131は、0以上且つ一つのアイテム1117以下の値にするか、又は0以上且つソフトキー1111、1113の高さ以下の値にする。ダミー領域1115が挿入されることによって、リストに含まれたアイテムのそれぞれが占める領域の高さ(又は広さ)が調整される。例えば、高さ1131だけリストの表示領域が減った分、アイテム1117の高さを一部減らす。
【0135】
プロセッサ101は、複数のアイテムの領域のうちのアイテム1118の領域が、M個のソフトキー1111、1113により少なくとも一部が覆われる場合、アイテム1118の領域において、M個のソフトキー1111、1113の領域以外の領域におけるタッチジェスチャーに対する応答として、アイテム1118を選択するか否かを判断する。このように、装置100のタッチスクリーン121が、小さいスクリーン1110を有する場合にも、装置100は、スクリーン1110の領域をより効率的に活用できるインターフェースを提供することができる。
【0136】
図16に示すスクリーン1120がソフトキーを含まない場合、状態領域以外にリストで埋められたメイン領域1129を含む。リストが表示されるスクリーンは、複数の領域に分割され、アイテム1127は、複数の領域のそれぞれに位置する。リストは、アイテム情報が含まれていない空の領域1128を含むことができる。
【0137】
図17のスクリーン1210で、メイン領域1213に含まれたベーシックタイプのリストは、複数の領域に分割され、アイテム1211を含む。アイテム1211の領域内のタッチジェスチャーに対する応答として、スクリーン1220で、アイテム1211は活性化又はハイライトされて表示される。タッチジェスチャーが、
図1に示したタッチスクリーン121から離れるか又はタッチスクリーン121と一定の距離以上になると、スクリーン1230で、アイテム1211は非活性化(又はハイライト除去)されて表示される。アイテム1211の領域内にタッチジェスチャーが発生すると、スクリーン1240において、アイテム1211に対する名称1241及び/又はコンテンツ1243が表示される。スクリーン1240は、スクリーン1220が表示された後に表示されるか、又はスクリーン1230が表示された後に表示される。
【0138】
図18〜
図20は、一実施形態による装置100におけるグループ化リストのスクリーン構成の一例を示す図である。
【0139】
スクリーン1310は、グループ化リストを表示するメイン領域1319、ソフトキー1311、1313、オプションメニュー1312、及び/又はダミー領域1315を含む。メイン領域1319に相応するアプリケーションは、例えば、
図3に示した連絡先モジュール223である。グループ化リストは、リストに予め設定された分類基準によって複数のアイテムがグループ化されて配列される。例えば、連絡先モジュール223で駆動されるグループ化リストは、アイテム情報のアルファベット順にグループの表示1316及び/又はグループの表示1318を含む。各グループの表示1316又は1318は、当該グループの範囲に含まれたアイテム1317を含むアイテムの先頭に位置する。
【0140】
スクリーン1320は、グループ化リストを表示するメイン領域1329及び/又はソフトキー1321を含む。メイン領域1329に相応するアプリケーションは、例えば、図に示した連絡先モジュール223又は統合通信内訳モジュール(図示せず)である。統合通信内訳モジュールは、電話モジュール223を用いた通話内訳を表す電話タブ1324、インスタントメッセージングモジュール229を用いたメッセージ交換内訳を表すメッセージタブ1325、及び/又は通話内訳及びメッセージ交換内訳の両方を表すオール(All)タブ1323を含む。例えば、統合通信内訳モジュールで駆動されるグループ化リストは、送受信されたメッセージ又は通話の日付によってグループの表示1326及び/又はグループの表示1328を含む。グループの表示1326、即ち、「今日」に送受信されたメッセージ又は通話に相応する相手の情報を含むアイテム1327は、グループの表示1326の下に配列される。相手の情報として、送信及び受信を区別するための区別シンボル、又はメッセージ及び通話を区別するための区別シンボルを含む。
【0141】
スクリーン1330は、グループ化リストを表示するメイン領域1339及び/又はソフトキー1331を含む。メイン領域1339に表示されるアプリケーションは、例えば、
図3に示したテキスト入力モジュール275である。テキスト入力モジュール275は、書体1335、タイプ1336、文字サイズ1338の現在設定を表示し、設定を変更できるユーザーインターフェースを提供する。チェックボックス1334は、タイプ1336のグループのアイテム1337が現在のタイプとして設定されていることを表示する。
【0142】
図21及び
図22は、一実施形態による装置100における拡張可能リストのスクリーン構成の一例を示す図である。
【0143】
図21のスクリーン1400は、拡張可能リストを表示するメイン領域1419、ソフトキー1411、1413、オプションメニュー1412、及び/又はダミー領域1415を含む。メイン領域1419に相応するアプリケーションは、例えば、
図3に示した連絡先モジュール223である。拡張可能リストは、アイテム1416及びアイテム1417を含む複数のアイテムから選択されたアイテム1417に関する付加情報又は従属アイテム1431を含む領域1430が、リストに挿入される。アイテム1416又は1417が拡張可能リストに表記する付加情報又は従属アイテムを含む場合、アイテム1416又は1417にシンボル1421又は1422が追加される。選択されたアイテム1417に対するシンボル1422と選択されていないアイテム1417に対するシンボル1421とは異なる。
【0144】
図22のスクリーン1510で、メイン領域1519に含まれた拡張可能リストは、複数の領域に分割され、アイテム1511を含む。また、アイテム1511は、付加情報又は従属アイテムを含むことを表すシンボル1513を含む。アイテム1511のタッチジェスチャーに対する応答として、スクリーン1520で、アイテム1511に関する付加情報又は従属アイテム1525が、アイテム1511の下に展開された形態で表示される。この時、アイテム1511は、シンボル1513と異なるシンボル1523を含む。スクリーン1520のアイテム1511のタッチジェスチャーに対する応答として、スクリーン1530で、アイテム1511に関する付加情報又は従属アイテム1525が消え、アイテム1511にはスクリーン1510上のシンボル1513と同じシンボル1533が表示される。
【0145】
以下、
図23〜
図29を参照して、一実施形態による装置100で作業進行状態を含むリストのスクリーン構成の一例を説明する。
【0146】
作業進行状態を含むリストは、装置100で提供可能なリストのタイプのそれぞれで駆動される。作業進行状態を含むリストは、リストのタイプと関係がなく駆動される。例えば、リストに含まれた少なくとも一つのアイテムの作業進行状態を表示するアプリケーション、ソフトウェアモジュール、又はインターフェースが提供され、作業進行状態を含むリストが駆動される。
【0147】
図23のスクリーン1610は、リストを駆動するアプリケーションを表示するメイン領域1620、ソフトキー1611、1613、オプションメニュー1612、及び/又はダミー領域1615を含む。ここで、リストを駆動するアプリケーションは、例えば、
図3に示したニュースモジュール259である。ニュースモジュール259は、タッチスクリーン121、ディスプレイコントローラ111、インタラクションモジュール269、グラフィックモジュール273、RF回路131、通信モジュール261、ソーシャルネットワーキングモジュール263、及び/又はテキスト入力モジュール275と共に作動する。
【0148】
例えば、
図3に示したメモリー102は、複数のアイテムに対するリストを駆動するアプリケーション(例えば、ニュースモジュール259)を保持する。リストが表示されるスクリーン1610は、複数の領域に分割され、アイテム1616、1617、1618、又は1619は複数の領域のそれぞれに位置する。ディスプレイコントローラ111は、スクリーン1610上にリストが表示されるように制御する。プロセッサ101は、複数のアイテムのそれぞれの作業進行状態の変更を検出する。ディスプレイコントローラ111は、複数のアイテムのうちの作業進行状態の変更が検出された少なくとも一つのアイテム1618又は1619のそれぞれの領域内に、少なくとも一つのアイテムのそれぞれの作業進行状態に相応する視覚的フィードバックを提供する。
【0149】
例えば、作業進行状態に相応する視覚的フィードバックは、ネットワークからアイテム1618又は1619のデータをメモリー102にダウンロードする進行状態を表すパーセンテージ又は分数(fraction)1623又は1624を含む。例えば、分数1623又は1624は、アイテム1618又は1619が表すニュースチャネルからダウンロードしなければならない全体記事の数に対する現在ダウンロードした記事の数を表す。作業進行状態の完了を表すアイテム1617又は作業進行を中止/取消したアイテム1616も、当該アイテムに相応する作業進行状態を表すパーセンテージ又は分数1622又は1621を含む。作業進行状態の完了を表すアイテム1617(又は作業進行を中止/取消したアイテム1616)のアイコンと、作業進行中のアイテム1618又は1619のアイコンとは、互いに異なる。
【0150】
装置100は、リスト上で検出された予め設定されたタッチジェスチャー(例えば、フリック又はスワイプ)、又はソフトキー1611又は1613の選択に対する応答として、スクリーン1610とは異なる視覚的フィードバックを提供する。例えば、ディスプレイコントローラ111は、変更が検出された少なくとも一つのアイテム1618又は1619のそれぞれの作業進行状態に相応するプログレスバー(progress bar)が、変更が検出された少なくとも一つのアイテム1618又は1619のそれぞれの領域内に表示されるように制御する。
【0151】
例えば、スクリーン1610のリストにフリックが入力された場合、
図24のスクリーン1630に、作業進行中のアイテム1618又は1619の作業進行状態に相応するプログレスバー1638又は1639を表示する。プログレスバー1638又は1639は、リストに含まれて位置する。プログレスバー1638又は1639は、プログレスバー1638又は1639に相応するアイテム1618又は1619の位置と同じ位置の領域を占める。プログレスバー1638又は1639は、スクリーン1610で作業進行中のアイテム1618又は1619の表示順序によって、リストの上段、下段、又は予め設定された位置の領域から順次に表示されてもよい。例えば、スクリーン1630で、アイテム1618に対するプログレスバー1638がリストの最上段に位置し、アイテム1619に対するプログレスバー1639がプログレスバー1638の下に隣接して位置する。
【0152】
図25のスクリーン1700で、作業進行状態に相応する視覚的フィードバックは、リストに含まれた複数の領域の位置を維持し、変更が検出されたアイテム1718又は1719の領域内にプログレスバー1723又は1724を表示する。プログレスバー1723又は1724は、変更が検出されたアイテム1718又は1719の領域の一部を占める。プログレスバー1723又は1724、及びアイテム1718又は1719の情報(アイテムの名称、又はアイコン)は、識別可能なように位置及び/又は大きさが調整され、決定される。
図26のスクリーン1810で、プログレスバー1818又は1819は、変更が検出されたアイテム1618又は1619の領域を全部占める。また、
図28のスクリーン1910で、プログレスバー1918又は1919は、変更が検出されたアイテム1618又は1619のディスプレイ形態を維持した状態で、アイテム1618又は1619の領域の少なくとも一部に半透明な形態でオーバーレイされる。
【0153】
ディスプレイコントローラ111は、変更が検出された少なくとも一つのアイテム1618又は1619のうち、作業進行状態が完了を表すアイテム1619の領域上で完了を表すアイテムに対して提供された視覚的フィードバック(
図26の1819参照)を除去(undo)するか又は変更する。例えば、アイテム1618の作業進行状態が3/15から10/15に変更された場合、
図27のスクリーン1830で作業進行状態に相応するプログレスバー1838が表示されるようにする。アイテム1619の作業進行状態が3/5から5/5に変更され、完了を表す場合、提供された視覚的フィードバックであるプログレスバー1819が除去され、アイテム1619がアイテム1839の形態に変更されて表示される。アイテム1839は、作業進行の完了を表すアイコン及び/又は分数1834を含む。
【0154】
図29のスクリーン1930で、アイテム1938の作業進行状態が3/15から10/15(1933)に変更された場合、スクリーン1930において、作業進行状態に相応するプログレスバーがオーバーレイされる。アイテム1939の作業進行状態が3/5から5/5(1934)に変更されて完了を表す場合、提供された視覚的フィードバックであるプログレスバーが除去され、アイテム1919がアイテム1939の形態に変更されて表示される。
【0155】
以下、
図30及び
図31を参照して、一実施形態によるリストを表示するためのユーザーインターフェース提供方法について説明する。
【0156】
段階2005で、
図1に示した装置100のメモリー102は、複数の領域に分割されたスクリーン上に表示されて複数の領域のそれぞれに提供される複数のアイテムのリストを駆動するアプリケーションを保持する。メモリー102は、装置100で提供可能なリストのタイプを保持する。リストのタイプは、複数のアイテムが順次的に配列されるベーシックタイプ、予め設定された分類基準によって複数のアイテムがグループ化されて配列されるグループ化されたタイプ、及び複数のアイテムの中から選択されたアイテムの付加情報又は従属アイテムが、複数のアイテムのリストに挿入される拡張可能タイプを含む。
【0157】
段階2010で、装置100のプロセッサ101は、リストを駆動するアプリケーションに含まれるリストのタイプを検出する。
【0158】
段階2015で、装置100のディスプレイコントローラ111は、リストのタイプのうちの検出されたリストのタイプに相応するディスプレイ制御方式をメモリー102から受信し、スクリーン上にリストが表示されるように制御する。
【0159】
段階2020で、装置100は、リストをスクリーン上に表示するように制御し、表示する。装置100のディスプレイコントローラ111は、スクリーン上にアプリケーションのメニューに含まれるN個のオプションのうちのM(Mは、予め設定された整数(integer)以下である)個のオプションのそれぞれに相応するM個のソフトキーをリストにオーバーレイするように制御する。NがMよりも大きい場合、オプションメニュー(オプションメニューは、オプションメニューを選択するタッチジェスチャーに対する応答として、N個のオプションのうちのM個のオプションに含まれない「N−M」個のオプションを含むウィンドウを表示する)がスクリーン上に追加される。M個のソフトキーは、スクリーンの下段左側及び下段右側に提供され、M個のオプションのそれぞれを表示するアイコン及びテキストのうちの少なくとも一つによってラベリングされる。オプションメニューは、下段左側と下段右側との間に提供され、M個のソフトキーよりも小さい領域を占める。
【0160】
段階2020で、装置100のディスプレイコントローラ111は、リストに含まれた複数のアイテムとM個のソフトキーとが重なる領域が発生する場合、重なる領域に相応するアイテムの上部及び下部のいずれかに、予め設定された大きさのダミー(dummy)領域を挿入することによって、重なる領域に相応するアイテムのスクリーン上の位置を移動するように制御する。装置100のプロセッサ101は、複数のアイテムの領域のうちの第1アイテムの少なくとも一部の領域にM個のソフトキーが重なる場合、第1アイテムの領域においてM個のソフトキーの領域以外の領域におけるタッチジェスチャーに対する応答として、第1アイテムを選択するか否かを判断する。
【0161】
段階2025で、装置100のプロセッサ101は、複数のアイテムの作業進行状態の変更を検出する。
【0162】
段階2025の後、装置100のディスプレイコントローラ111は、複数のアイテムのうちの作業進行状態の変更が検出された少なくとも一つのアイテムの領域内に、変更が検出された少なくとも一つのアイテムの作業進行状態に相応する視覚的フィードバックを提供する。視覚的フィードバックを提供することは、作業進行状態の変更が検出された少なくとも一つのアイテムの作業進行状態に相応するプログレスバーを、作業進行状態の変更が検出された少なくとも一つのアイテムの領域内に表示することを含む。また、視覚的フィードバックを提供することは、作業進行状態の変更が検出された少なくとも一つのアイテムの作業進行状態の完了を表示するアイテムの領域上で、完了を表示するアイテムのために提供された視覚的フィードバックを除去(undo)することを含む。以下に、段階2030〜段階2050を参照して、作業進行状態の変更が検出されたアイテムに対して視覚的フィードバックを提供する方法についてより詳細に説明する。
【0163】
段階2030で、装置100のプロセッサ101は、各アイテムに対して作業進行状態の変更が検出されたアイテムであるか否かを判断する。アイテムの作業進行状態の変更が検出されない場合、段階2035で、装置100のディスプレイコントローラ111は、作業進行状態の変更が検出されていないアイテムの領域の表示を保持するように制御する。
【0164】
アイテムの作業進行状態の変更が検出された場合、段階2040で、装置100のプロセッサ101は、作業進行状態の変更が検出されたアイテムの作業進行状態の完了を表示したか否かを判断する。アイテムの作業進行状態の完了を表示していない場合、段階2045で、装置100のディスプレイコントローラ111は、当該アイテムの作業進行状態に相応する視覚的フィードバックを提供する。視覚的フィードバックを提供することは、当該アイテムの作業進行状態に相応するプログレスバーを、当該アイテムの領域内に表示することを含む。
【0165】
アイテムの作業進行状態が完了を表示した場合、段階2050で、装置100のディスプレイコントローラ111は、作業進行状態の完了を表示するアイテムに提供された視覚的フィードバックを除去する。
【0166】
以上の実施形態は、様々なコンピュータ手段で実行可能なプログラム命令の形態として、コンピュータ読み取り可能な記録媒体に記録することができる。コンピュータ読み取り可能な記録媒体は、プログラム命令、データファイル、データ構造などを単独で又は組み合わせとして有することができる。記録媒体に記録されるプログラム命令は、本発明のために特別に設計及び構成されたものでもよく、コンピュータソフトウェア当業者に公知となって使用可能なものでもよい。
【0167】
上述した実施形態及び効果は例示に過ぎないものであって、それに限定されることはない。これは他の種類の装置にも適用することができる。また、実施形態の説明は実例になることはできるが、請求項の範囲を限定するものではなく、種々の代案、摸倣、変化が、当該技術の分野における当業者にとっては可能になるであろう。