(58)【調査した分野】(Int.Cl.,DB名)
所定時間後に、かつ前記アイコンの第2のパネルが表示された後に、前記アイコンの第1のパネルが再び表示されるまで、前記アイコンを3次元で回転するように表示するステップをさらに有する、
請求項1に記載の方法。
プロセッサとメモリとを有するコンピューティングデバイスであって、前記メモリは、前記プロセッサにより実行されると前記コンピューティングデバイスに方法を実行させるコンピュータ実行可能命令を記憶し、
前記方法は、
一または複数のアプリケーションと関連するアイコンのパネルを表示するステップと、
前記一または複数のアプリケーションの一アプリケーションに対する更新を受信するステップと、
前記アプリケーションに対する更新に基づいて、前記一アプリケーションに対する更新の表示を含む前記アイコンの第2のパネルを見せる、前記アイコンの3次元回転を表示するステップとを有し、
前記アイコンの第2のパネルが表示されるまでの前記アイコンの3次元回転は、前記アプリケーションが更新されるのに応じて自動的に起こり、前記アイコンの回転の前後で、前記パネルのうち一つのみが表示される、
コンピューティングデバイス。
【発明を実施するための形態】
【0008】
図1は、コンピューティングデバイス100のディスプレイ(例えば、モバイルデバイスの画面)におけるアイコンの3次元回転を表示する方法の一例を示す図である。このコンテキストでは、ディスプレイは2次元ディスプレイであり、アイコンは3次元で回転できるオブジェクトの2次元表現である。以下により詳しく説明するように、アイコンは3次元オブジェクト(例えば、立方体、球、円筒、多角形、多面体などの任意の3次元オブジェクト)、2次元オブジェクト(例えば、タイル)、またはこれらを混合したもの(例えば、面が反転可能タイルである立方体)を表す。同様に、3次元アイコンの回転は、2次元ディスプレイにおける3次元回転の外観または表現を指す。
【0009】
一般的に、アイコンは、(普通は簡単な絵である)小さいグラフィックシンボルであり、グラフィカルユーザインタフェースにおいてプログラム、コマンド、データファイルなどを示す。例えば、アイコンはアプリケーション(例えば、マイクロソフト(登録商標)ワード(登録商標))の起動(launch)に用いることができる。アイコンはコンテンツ(例えば、カレンダーアプリケーションの曜日、お天気アプリケーションの気温、株価監視アプリケーションの株価、スポーツアプリケーションのスポーツイベントのスコア、その他のコンテンツなどの特定のアプリケーションに関連したコンテンツ)の表示に用いることもできる。さらに、アイコンは動かしたり動的に更新したりできる。
【0010】
例示した実施形態において、110では、コンピューティングデバイス100がアイコンの第1のパネル140を表示している。例えば、第1のパネル140は、アイコンを用いて起動(launch)できるアプリケーションのイメージを表示できる。120において、コンピューティングデバイス100は、アイコンに関連するアプリケーション120に対する更新を受け取る。例えば、アイコンが電子メールアプリケーションに関連し、電子メールアプリケーションがアプリケーションに対する更新として電子メールを受信してもよい。アプリケーションへの更新に基づき、システム100はアイコンを3次元で回転できる(130)。例えば、112で示したように、アイコンに関連するアプリケーションが更新された時、そのあいコンが自動的に3次元で回転する。114において、コンピューティングデバイス100のディスプレイはアイコンの第2のパネル142を表示している。例えば、第2のパネル142を見せるように、アイコンを動かして回転させることができる。さらに、図示した実施形態では、第2のパネルは更新に関連するイメージまたは表示150(例えば、電子メールアプリケーションに対する更新に関連するイメージ)を含む。例えば、第2のパネル142は、更新としてアプリケーションにより受信された電子メールの件名または送信者を表示する。このように、アプリケーションに対する更新に応じて、アプリケーションに関連するアイコンを回転して、その更新に関する情報を有する別のパネルを見せる(reveal)ことができる。アイコンの2つのパネルのみを説明したが、アイコンにはパネルがいくつあってもよい。
【0011】
図2は、3次元でアイコンの回転を表示する方法例を示すフローチャートである。この例では、ブロック210において、アイコンの第1のパネルが表示される。アイコンは一以上のアプリケーションに関連する。例えば、アイコンのパネルは、アプリケーションに関連する画像やグラフィックスをユーザに表示できる。アプリケーショングラフィックスは、パネルにより、どのアプリケーションを起動(launch)または拡大(expand)できるか、ユーザが見られるように、アプリケーションを示す(identify)ことができる。アプリケーションは、コンピューティングデバイスにインストールされた、またはコンピューティングデバイスで利用できるプログラムまたはソフトウェア、またはリモートで実行されているソフトウェアにリモートアクセスするプログラムまたはソフトウェアであり得る。ブロック220において、第1のアプリケーションに対する更新を受け取る。例えば、デバイス上にインストールされたゲームアプリケーションは、別のデバイスのユーザにより、ゲームの順番を知らせるデータがデバイスに送信された時に、更新され得る。アプリケーションはプッシュ通知その他の更新方法を用いて更新できる。ある実施形態では、有線、無線、またはインターネット技術を用いて、イベント、データ(例えば、バイナリデータ)、またはメッセージを受信することにより、アプリケーションを更新できる。メッセージは、テキストメッセージ、電話メッセージ、写真、ビデオ、オーディオ、電子メール、フォーマットされたテキスト、またはその他のメッセージを含む。また、アプリケーションは入来信号(例えば、電話の呼やデータストリームなど)を受信でき、または更新用のデータをプルできる。例えば、アプリケーションは、アプリケーションを更新するサーバから、プルしたデータを受信する。他の一実施形態では、更新をアプリケーションにダウンロードできる。例えば、サーバから、アプリケーションに対するソフトウェア更新をダウンロードできる。ある実施形態では、アプリケーションの更新は、バイナリデータとして表されたメッセージである。別の一実施形態では、受信前にはアプリケーションで利用できなかったデータを受信した時、アプリケーションが更新される。例えば、データは、アプリケーションがインストールされているコンピューティングシステム以外のコンピューティングシステムから提供できる。また、アプリケーションは、そのアプリケーションの状態の変化、通知、アラーム、タイマー、またはコンテキスト情報(例えば、ロケーションコンテクストやデバイスコンテクスト)を含むアプリケーションの機能に基づき更新できる。例えば、アポイントメントを管理するアプリケーションは、予定されたミーティングのアラームや通知を生成することにより、そのアプリケーションを更新できる。アプリケーションは、起動されていないまたは完全には起動されていない時(例えば、アプリケーションがエクスパンドされていないまたはスタンバイの状態にある時)に更新可能である。他の実施形態では、アプリケーションは起動されている間に更新可能である。ブロック230において、アイコンを、第1のアプリケーションの更新に基づき、3次元で回転してように表示している。このアイコンは、回転して、アプリケーションに対する更新の表示を含むそのアイコンの第2のパネルを表示する。例えば、第1と第2のパネルは両方とも、電子メールアプリケーションなどの一アプリケーションにアサインできる。第1のパネルは、そのアプリケーションに関連するアプリケーショングラフィックスや画像を表示できる。第1のパネルを用いて電子メールアプリケーションを起動でき、電子メールアプリケーションが更新される時、アイコンが自動的に回転して第2のパネルを表示する。第2のパネルは、その更新に関連する画像(例えば、更新で受け取った電子メールの件名)を表示できる。ある実施形態では、アプリケーションの起動に第2のパネルも用いることができる。ある実施形態では、さらに別の更新を受信すると、アイコンがさらに回転して、複数の追加的な「仮想」パネルを見せることができる。換言すると、アイコンのパネルは、(アイコンの物理的な表示のように)2つだけでなく、「仮想」パネルがいくつあると表示してもよい。アイコンは、他の一実施形態では、その一サイドに複数のパネルを有していてもよい。ある実施形態では、アイコンはディスプレイの一部に表示してもよいし、ディスプレイ全体に表示してもよい。
【0012】
他の一実施形態では、第2のパネルは第1のパネルとは異なるアプリケーションにアサインされる。この実施形態では、アイコンは、回転して第2のアプリケーションに関連し、さらに更新の表示を占める第2のパネルを示す。例えば、タイルアイコンの前及び後のパネルは、ソーシャルネットワークの異なるアプリケーションにアサインできる。更新時に、アイコンが自動的に回転して、第2のソーシャルネットワークアプリケーションのパネルを表示するまで、ソーシャルネットワークアプリケーションの1つに対するパネルが表示される。他の一実施形態では、アイコンは、ユーザインターラクションによりマニュアルで回転して、第2のソーシャルネットワークアプリケーションのパネルを表示できる。第2のソーシャルネットワークアプリケーションのパネルを更新して、そのアプリケーションに対する更新の表示を含む画像を示すことができる。
【0013】
アプリケーションに対する更新の表示は、パネルに表示されたまたはパネルの隣に表示された画像やグラフィックスを含み、テキスト(例えば、テキスト文字、フォーマットされたテキスト、文字列など)、写真、色、その他の表示要素を含み得る。更新の表示により、アプリケーションに対する更新がされる前にパネルに表示されていた画像やグラフィックスが変化してもよい。表示されたパネルに対する変更は、アプリケーションの更新に基づくものであってもよい。表示には動くグラフィックス、ビデオ、または写真画像が含まれていても良い。さらに、更新の表示には、その更新で受信するデータの一部または全部を含んでいてもよい。例えば、テキストメッセージングアプリケーションがテキストメッセージを受信したとき、そのテキストメッセージまたはそのメッセージの一部を(例えば、静止したまたはスクロールするメッセージとして)パネルに表示することができる。また、更新の表示はアプリケーションから得られる所定のメッセージであってもよい。例えば、アプリケーションが新しいコンテンツをダウンロードした場合、更新の表示により、「新しいコンテンツがダウンロードされました」等の、更新により新しいコンテンツが追加されたとのメッセージを表示できる。更新の表示は更新ごとに異なってもよい。例えば、アプリケーションはテキストと写真を両方とも更新できる場合、写真の更新を受信した時の更新の表示は、テキストの更新を受信した時の更新の表示とは異なってもよい。また、更新の表示は、異なる更新であっても同じものでもよい。更新の表示はカウンタであってもよい。例えば、アプリケーションが更新されるたびに、そのアプリケーションにアサインされたパネルに、インクリメントされ、アプリケーションが複数回更新されたことを示すカウンタを表示できる。
【0014】
3次元アイコンは、一または複数の回転軸の周りに回転するように表示することもできる。ある軸の回りにアイコンを回転することにより、ディスプレイ中の可視スペースを節約でき、ディスプレイ中の他のアイコンなどの他の画像を損なわずに回転できる。ディスプレイ中の可視スペースを節約することにより、ユーザは、複数の表示画面にわたってスクロールせずに、アプリケーションやアイコンにアクセスできる。
【0015】
ある実施形態では、アイコンは立方体、タイル、円筒、球、多角形、多面体、その他の幾何学形状として表示できる。アイコンは複数のパネルに対応するサイドすなわちセグメント(例えば、サーフェスセグメント)を含み得る。例えば、アイコンのパネルはそのアイコンのサイドまたはサーフェスセグメントであり得る。一例では、6面ある立方体アイコンの場合、アイコンの6面のそれぞれが一パネルに対応する。複数のサーフェスセグメントを含む円筒の場合、その複数のサーフェスセグメントのそれぞれが一パネルであってもよい。アイコンの一部または全部のサイドすなわちセグメントがパネルであってもよい。ある実施形態では、アイコンのサイドに関連するパネルの数は、そのアイコンを物理的表示において得られるサイドの数を超えていてもよい。例えば、7以上のパネルを6面の立方体アイコンに関連づけてもよい。この場合、追加されたパネルは、仮想的に存在するだけであるが、このサイドを6面立方体の一サイドであるとして表示することもできる。
【0016】
3次元アイコンの回転は、アプリケーションへの更新に基づくまたはそれによりトリガーすることもできる。これにより、ユーザは、どのアプリケーションが更新されたのか、容易に見ることができる。ある実施形態では、更新を受信すると、アイコンは自動的に回転する。更新の受信は、可聴表示または触覚表示により知らされてもよい。例えば、アプリケーションが更新されると、そのアプリケーションにアサインされたパネルが更新され、そのパネルを含むアイコンが回転して更新されたパネルを表示する。パネルが更新された時、またはアプリケーションが更新された時に、自動的な回転がトリガーされる。例えば、パネルが更新される前、またはパネルが更新された後に、アイコンが回転する。他の一実施形態では、アイコンはユーザ入力によりマニュアルで回転できる。例えば、ユーザは、タッチスクリーンディスプレイでジェスチャ(例えば、スワイプするジェスチャ)をすることにより、そのタッチスクリーンディスプレイ中でアイコンを回転させられる。アイコンのマニュアル回転の別の例では、アイコンは加速度計データやボイス入力を用いて回転できる。さらに別の実施形態では、3次元アイコンは(連続的にスムースに、またはある一定の時間だけ各パネルに停止して)連続的に回転する。かかる実施形態では、ユーザは、1つのアイコンを用いて複数のアプリケーションの更新があることを見ることができる。ある実施形態では、更新を示す一以上のアイコンの回転は、コンピューティングデバイスがスタンバイモードからアクティブモードへ移行する時に起こる。例えば、携帯デバイスが非アクティブ(例えば、スタンバイ)状態である間に、アプリケーションへの一以上の更新を受信できる。デバイスがこの状態であっても、更新の受信を聴覚的に及び/または触覚的に通知(signal)することができる。(例えば、デバイスのキーを押したりスクリーンにタッチしたりするユーザインターラクションにより)デバイスがアクティブ状態にされると、デバイスのディスプレイは、(例えば順次的に、または少なくとも部分的に同時に)受信した更新に関連する一以上のアイコンの回転を示す。ユーザによるマニュアル回転の一実施形態では、ユーザは、音楽アプリケーションなどのアプリケーションのパネルをタップすると、アイコンは回転して現在演奏している歌を示す他のパネルを表示し、その後ふたたび、音楽アプリケーションのパネルの表示に自動的に戻る。他の実施形態では、アイコンはマニュアルで回転して戻され、再び音楽アプリケーションのパネルを表示する。
【0017】
図3Aは、タイル型アイコン300の例を示す図である。タイルアイコン300は、フロントサイドとバックサイドなど、2つのサイド(side)300Aと300Bを含む。タイルアイコン300は一サイドを表示でき、他のサイドは隠される。アイコンのサイドは、アプリケーションに関連するパネルに対応する(例えば、パネルを用いてアプリケーションからのある情報を提示し、アプリケーションを起動し、そのアプリケーションに関する他の情報を提供できる)。例えば、
図3Aにおいて、アイコン300のサイド300Aはパネル310Aに対応し、アイコン300の他のサイド300Bは他のパネル310Bに対応する。タイルアイコン300のパネルは、アプリケーションにアサインでき、またはアプリケーションに関連する。例えば、タイルアイコンのパネルを、ユーザがそのタイルアイコンのパネルを用いてアプリケーションを起動できるように、アプリケーションにアサインできる。また、例えば、タイルアイコンはその各パネルに異なるアプリケーションを有し、そのタイルアイコンが回転または裏返ってパネルを表示してもよい。タイルアイコンのパネルを用いて、タイルアイコンのパネルに関連するアプリケーションを起動できる。上記の通り、アプリケーションにアサインされたタイルアイコンのパネルは、アプリケーションが更新された時に、パネルが更新の表示を表示するように、更新できる。一実施形態では、タイルアイコンのバックパネルには、そのアイコンのフロントパネルと同じアプリケーションに自動的にアサインできる。しかし、他の実施形態では、一方または両方のパネルをアプリケーションにマニュアルでアサインできる。さらに別の一実施形態では、アプリケーションをパネルにプログラム的にアサインできる。
【0018】
図3Bは、タイル型アイコン350が3次元で回転している、様々な状態を示す図である。上記の通り、3次元での回転は、2次元ディスプレイにおける3次元回転の外観を説明するものである。この例では、タイルアイコン350は、アプリケーションAがそのタイルアイコンの第1のパネル360にアサインされている。タイルアイコン350は、軸の回りを回転して、そのタイルアイコンのもう一方のパネルを表示または見せることができる。軸は水平軸370、垂直軸375、対角軸377、またはタイルアイコン350のその他の軸であってもよい。他の実施形態では、タイルアイコンは軸上でなく回転できる。例えば、アイコンはエッジで回転して、ディスプレイの別の位置に移動できる。
【0019】
図3Bを参照するに、タイルアイコン350は、最初に、第1のアプリケーション(
図3BのアプリケーションA)にアサインされた第1のパネル360を表示する。第2のアプリケーション(
図3BのアプリケーションB)に対する更新時、タイルアイコン350は垂直軸375の周りを3次元回転して、アプリケーションBにアサインされた第2のパネル380を表示する。垂直軸375は、例示を目的として
図3Bには示したが、一般的には表示されない。アプリケーションBの第2のパネル380には、アプリケーションBが更新されたとの表示がされる。例えば、アプリケーションBが電子メールアプリケーションである場合、アプリケーションBにアサインされた第2のパネル380は、電子メールアプリケーションが新しい電子メールを受信したことを示す、更新されたグラフィックスや画像を表示できる。
【0020】
図4Aは、様々な回転状態にある立方体型アイコン400の例を示す。この例では、アイコン400は6つの面(sides)を有する。立方体の面はアプリケーションにアサインできるパネルに対応する。アイコン400は、一以上のパネルを示すように表示できる。すなわち、アイコン400は、430で示したように、2以上のパネルを示さずに(例えば、一パネルのみを示して)、表示することができる。一パネルが示されている時、435に示したように、アイコンは平面的に見え、または遠近法でアイコン400を示さずに表示される。パネルは、対応するグラフィックスや画像を表示して、アプリケーションにアサインできるので、アプリケーションのグラフィックスや画像を、2以上の次元を有するように表示できる。例えば、アイコンを平面的に表示して、そのアイコンの一パネルのみを表示し、パネルにより表示される画像を人の写真にできる。その人の写真は、その人を3次元の遠近法で示すことができる。
【0021】
440で示したように、あるイベントが発生した時に(例えば、ユーザがタッチした時、またはアイコンに関連するアプリケーションが更新された時)、アイコン400はアクティブになり、飛び出し(すなわちポップアウトし)、3次元の外観となり、他の一以上の面の一部を表示する。455に示したように、アイコン400は3次元で回転し、パネルを表示する。例えば、立方体型アイコン400は、水平軸、垂直軸、またはその他の軸の回りに回転できる。他の実施形態では、立方体型アイコン400は、軸の回りに回転しない。例えば、アイコン400はエッジまたは頂点で回転して、ディスプレイ中で移動できる。その他の任意の所望の回転アニメーションを用いることもできる。
【0022】
図4Aの例では、アイコン400はパネル430を前に面したパネルとして表示している。パネル430をアプリケーションAにアサインできる。アイコン400は、垂直軸に沿って回転でき、480で示したように、パネル450を前にして表示できる。例えば、アプリケーションBが更新されると、アイコン400は回転して、パネル450にアプリケーションBが更新されたとの表示を表示する。他の一実施形態では、ユーザは、タッチスクリーンディスプレイを用いてジェスチャをして、アイコン400を軸の回りに回転させ、パネル450を表示するようにする。
【0023】
3次元アイコンの回転中、複数のパネルが見える。例えば、455に示したように、回転中、アイコン400はアプリケーションAとアプリケーションBの両方のパネルを示す。アイコン400は部分的に回転し、隣接するパネルに何が表示されるか、ユーザに見せる。例えば、ユーザは、(例えば、タッチスクリーンでアイコンにタッチして、タッチスクリーンに触り続けながら、左向きに小さいジェスチャをすることにより、)2つのパネルの間でアイコン400を左に回転して、その2つのパネルにより何が表示されるかユーザがみられるようにする。また、ユーザは、(例えば、タッチスクリーンでアイコンにタッチして、タッチスクリーンに触れ続けながら、上向きまたは下向きに小さいジェスチャをすることにより、)パネルの間を下向きまたは上向きにアイコン400を回転して、他のパネルをみることができる。パネルは、途中まで回転した時、回転するアイコンで遠近法で表示できる。例えば、立方体のアイコンのパネルの場合、パネルの見え方は、対応する面の見え方による。他の実施形態では、異なる遠近法を用いて、または遠近法を用いないで、パネルを表示できる。
【0024】
アイコン400は、上に、下に、左に、右に、またはその他の方向に回転できる。例えば、アイコンは、上または下に回転する時、水平軸に沿って回転でき、左または右に回転する時、垂直軸に沿って回転できる。
図4Aはパネル445を前向きのパネルとして示している。アイコンは、下に回転すると、465に示したように、アプリケーションFにアサインされたパネル460を表示する。アイコンは、パネル460を表示している位置から、470に示したように、右に回転して、パネル460と立方体のエッジを共有するパネル450を表示できる。ある実施形態では、アイコンは、回転後、ある時間が経つと、490に示したように、平面的状態に戻る。
【0025】
図4Bは、2次元に展開された立方体型アイコン470の一実施形態を示す図である。図では、立方体が6面を有し、一面は4つの隣接面を有することが示されている。隣接面は立方体のエッジを共有している。面にはパネル470A−Fが関連付けられている。アイコンのパネルは、空であっても(例えば、アサインされていなくても)よいし、アプリケーションにアサインされていてもよい。
【0026】
図4Cは、2次元に展開された立方体型アイコン480の他の一実施形態を示す図である。
図4Cに示したように、アプリケーションはアイコン480の2つ以上のパネルにアサインできる。例えば、電子メールコンポーネントとカレンダーコンポーネントを含むアプリケーションAなどのソフトウェアアプリケーションの場合、立方体型アイコン480の一パネル480Aをアプリケーションの電子メールコンポーネントにアサインし、立方体型アイコン480の一パネル480Bをカレンダーコンポーネントにアサインし、立方体型アイコン480の一パネル480Cをアプリケーションの更新の表示にアサインすることができる。パネルの更新は、アプリケーションの2以上のコンポーネントのものであっても、アプリケーションのコンポーネントのうちの1つのもの(例えば、一コンポーネントのみ)であってもよい。また、パネルに表示される更新は、パネルにアサインされていないアプリケーションのコンポーネントのものであってもよい。
【0027】
図5Aは、円筒形のアイコン500の例を示す図である。アイコン500は、520に示したように、遠近法ではなく、2次元で平面的に表示してもよい。アイコン500は、(例えば、ユーザによりタッチされると、またはそのアイコンに関連するアプリケーションへの更新が為されると)アクティブ化され、飛び出しまたはポップアウトし、530に示すように、円筒の3次元表示を表示する。円筒型アイコン500は、パネル500A−Cなどの複数のパネルを有する。円筒のパネルはその円筒の面の一部またはセグメントであり得る。例えば、530に示したように、パネル500Aは円筒型アイコンの面のセグメントであり得る。パネル、いくつでも円筒にアサインでき、同じ円筒の一部であるとして「仮想的に」表示される。円筒のアイコンは軸の回りに回転できる。例えば、円筒は、その円筒の主軸その他の軸の回りに回転できる。他の一実施形態では、アイコン500は、軸の回りに回転しない。例えば、アイコンはディスプレイ中で回したり動かしたりできる。
【0028】
図5Aに示したように、アイコン500は、3次元で回転するように表示できる。530において、アイコンはパネル500を表示する。アイコンのパネルは一以上のアプリケーションにアサインできる。パネル500Bにアサインされたアプリケーションが更新されると、532と534に示したように、アイコンはパネル500Aから回転して、パネル500Bを表示する。アイコンは上にも下にも回転できる。また、アイコンは水平でなく垂直に向いていて、アイコンが左右に回転するようにしても良い。アイコンはパネルの間を部分的に回転して、一部のアイコンまたはすべてのアイコンを表示してもよい。パネルは、回転または円筒に対して遠近法で表示できる。アイコンは、536に示したように、パネル500Bからパネル500Cまで、下に回転を続けられる。パネルを円筒上にあるものとして表したので、538に示したように、円筒は、一方向に複数回回転して、前に表示されていたパネルに戻る。パネルは、遠近法で示されている時、平面化して、遠近法を使わずに表示することができる。540に示したように、円筒のアイコンは、平面化して表示でき、四角形として、またはアイコン500の四角形表現として見ることができる。平面アイコンへの移行は、例えば、回転が停止した後、及び一定時間後に行われ得る。パネルは、アプリケーションにアサインできるので、アプリケーションに関連した画像やグラフィックスを表示できる。グラフィックスや画像は、画像中、2以上の次元を有するように、表示できる。例えば、アイコンのフラットパネルは、3次元で図を示すアプリケーションの画像を表示できる。
【0029】
図5Bは、アイコン530のパネルにアプリケーションをアサインする実施形態を示す図である。この例では、ユーザは、アプリケーションのアプリケーショングラフィックスや画像540を、アイコン530のパネル上に、ドラッグ&ドロップする。アプリケーショングラフィックスや画像540が、アイコン530のパネル上に、ドラッグ&ドロップされる時、パネルは空のパネルでもよいし、以前にアプリケーションにアサインされていてもよい。パネルは、すでにアプリケーションにアサインされている場合、ドラッグ&ドロップされたアプリケーショングラフィックスや画像540に対応する異なるアプリケーションに、再度アサインされる。アプリケーショングラフィックスや画像540がドラッグ&ドロップされると、以前にそのアプリケーショングラフィックスや画像540に設定された設定(configurations)が、そのパネルの設定に更新される。例えば、第1の立方体アイコンのパネルが電子メールアプリケーショングラフィックスを示している場合、第2の立方体アイコンのパネル上に電子メールアプリケーショングラフィックスをドラッグ&ドロップして、その第2の立方体アイコンのパネルにアサインすることができる。一実施形態では、アプリケーションが別のアイコンパネルからあるパネルにアサインされると、第1のアイコンに設定されたパネルの設定は、第2のアイコンパネルに転送される。他の一実施形態では、設定はマニュアル的に変更や設定することができる。
【0030】
他の実施形態では、アイコンのパネルへのアプリケーションのアサインは、マニュアルで、または自動的に行える。例えば、アプリケーションは、デバイスにインストールされる時、または利用できるようにされる時、アイコンのパネルに自動的にアサインされる。アプリケーションをインストールし、アプリケーションにアサインされたパネルを表示するアイコンを表示できる。一実施形態では、タイルアイコンのバックパネルには、そのアイコンのフロントパネルと同じアプリケーションに自動的にアサインできる。他の一実施形態では、バックパネルはマニュアルでアサインできる。例えば、両面が同じアプリケーションにアサインされたタイルアイコンを、一方の面が別のアプリケーションにアサインされるように、変更できる。アプリケーションのパネルへのマニュアルでのアサインの別の例では、ユーザはパネルまたはアイコンのメニューを用いて、アプリケーションをアサインできる。
【0031】
アイコンのパネルにアプリケーションをアサインすることにより、ユーザは、アプリケーションを効率的に整理及び管理できる。ユーザは、分類、使用、その他の整理上の嗜好などの嗜好に応じて、アプリケーションをグループ分けできる。複数のアプリケーションを同じグループにグループ分けできるようにすると、表示スペースを節約でき、ディスプレイの様々な画面をスクロールしなくても、複数のアプリケーションにアクセスできるようになる。
【0032】
図5Cは、アイコンのパネル560のメニュー550の例を示す図である。パネル560は、パネルを設定する個別メニューを有する。他の一実施形態では、メニュー550は、アイコンのパネルのうち、2つ以上を、または全部を設定するように構成されている。例えば、タッチスクリーンを用いて、ユーザは、パネル560上でのプレス&ホールドジェスチャにより、アイコンのパネルを設定するメニュー550をアクティブ化する。メニュー550は、(メニューアイコンの選択、設定ディスプレイからのメニューの選択、または他のジェスチャの実行など)他の方法でアクティブ化することもできる。例示した実施形態では、メニュー550を用いて、(例えば、アプリケーション選択ウィンドウ562を介して)アプリケーションをパネル560にアサインできる。メニュー550も用いて、アプリケーションのコンポーネントや機能を(例えば、機能選択ウィンドウ566を介して)パネル560にアサインしてもよい。メニューを用いてパネル560にアサインし、アプリケーションからの更新または更新表示を表示できる。メニュー550を用いて、パネル560にプライオリティをアサインしてもよい。例えば、アイコンが、アプリケーションにアサインされた複数のパネルを有する時、ユーザは、(例えば、プライオリティ選択ウィンドウ564を介して)そのパネルのプライオリティ階層を設定できる。プライオリティによりパネルをランキングして、順序付けることができる。例えば、関連するアプリケーションが更新された時に表示される順序である。更新があると、表示されるパネルは、パネルと関連アプリケーションに設定されたプライオリティに基づく。例えば、アイコンに関連付けられたアプリケーションが更新された時、プライオリティが最も高いパネルが表示される。立方体型アイコンの一例では、6つのパネルに1−6の数字などのプライオリティナンバーを与えることができる。例えば、数字が最も低いパネルはプライオリティが最も高い。プライオリティとプライオリティ階層を示すこの他の方法を用いても良い。
【0033】
他の一実施形態では、アプリケーションにプライオリティをアサインできる。例えば、アイコンにアサインされたアプリケーションは、プライオリティ設定を有し、プライオリティが最も高いアプリケーションにアサインされたパネルは、一以上のアプリケーションが更新された時に表示される。また、メニューはパネルを設定する他の機能を有することもある。例えば、メニューにより、回転速度、増大パーセンテージ、削除、アプリケーションのアサイン解除(unassigning an application)、パネルまたはアイコンのその他の設定を設定できる。
【0034】
図6は、アプリケーションの更新の表示を含むアイコンパネルを表示するシステム600の例を示す図である。例えば、アイコン605の見えているパネルは、それにアサインされている電子メールアプリケーションが更新され、15通の電子メールを受信したことを示す。アイコン610の見えているパネルは、アサインされたお天気アプリケーションが更新され、現在のローカルの天気が85°であるとの表示を示している。タイルアイコン615の見えているパネルは、ゲームで新しい番が回ってきたので、アサインされたマルチプレーヤゲームアプリケーションが更新されたとの表示を示している。立方体アイコン620の見えているパネルは、アサインされたテキストメッセージングアプリケーションが更新を受信したとのテキストメッセージを表示している。立方体アイコン625の見えているパネルは、パネルにアサインされたスポーツアプリケーションに更新として送信されたゲームの得点を示す。アイコン630の見えているパネルは、垂直ラインを用いて、表示されているグラフィックスの色が変更されており、アプリケーションが、ソフトウェア更新がダウンロードできることを報告する更新を受信したことを示す。アイコン635の見えるパネルは、2通の電話メッセージを受信することにより電話メッセージングアプリケーションが更新されたことを示す。アイコン640の見えるパネルは、アサインされたアプリケーションが更新されたことを示して変更された画像や写真を示す。
【0035】
アイコン645の見えるパネルは、アプリケーションが更新され、コンテキスト情報(例えば、ロケーションコンテキスト)があることを示すアプリケーションからのメッセージを示す。コンテキスト情報の更新は、メッセージ「ニックがあなたの近くにいる」で示されている。アイコン650の見えているパネルは、指定した友達に対応するアプリケーションコンポーネントが2回更新され、更新には表示されたメッセージ「町にいます」が含まれることを示す。
【0036】
アイコン655の見えているパネルは、アサインされたアプリケーションが異なるタイプの更新を受信したことを示すパネルの一例を示す。この例では、アイコン655のパネルにアサインされたソーシャルネットワーキングアプリケーションは、10通のプライベートメッセージと25通のパブリックメッセージで更新された。アイコン660の見えているパネルは、そのパネルにアサインされたテキストメッセージングアプリケーションが9回更新されたことを示すカウンタを示している。円筒型アイコン665の見えているパネルは、アサインされたニュースアプリケーションがニュース速報の更新を受信したことを示す。(平面状に示された)円筒型アイコン670の見えているパネルは、アサインされた音楽アプリケーションが更新されたとの表示を示す。
【0037】
図7Aは、プライオリティに基づきアイコンの回転を表示する方法700の例を示すフローチャートである。この例では、ブロック710において、第1のアプリケーションにアサインされたアイコンの第1のパネルが表示される。
【0038】
ブロック720において、第2のアプリケーションに対する更新を受け取る。
【0039】
ブロック730において、更新されたアプリケーションにアサインされたアイコンの第1のパネルと第2のパネルの間のプライオリティを判断する。例えば、アイコンの第1のパネルのプライオリティは、そのアイコンの第2のパネルのプライオリティと比較できる。一実施形態では、第1のパネルに設定されたプライオリティは第2のパネルに設定されたプライオリティより低く、この場合、この2つのパネルのうち第2のパネルがプライオリティを有すると判断される。
【0040】
ブロック740において、アイコンを回転して、パネル間で判断されたプライオリティに基づき、第2のアプリケーションに対する更新の表示をする第2のパネルを表示できる。ある実施形態では、パネルが、比較対象のパネルのプライオリティよりプライオリティが低いと判断すると、または比較対象のパネルのプライオリティと同じプライオリティを有すると判断すると、プライオリティが低い方のパネルが所定時間表示され、その後、プライオリティが高い方のパネルにアイコンが回転して戻る。
【0041】
図7Bは、経過時間に基づきアイコンの回転を表示する方法750の例を示すフローチャートである。この例では、ブロック760において、アイコンが第1のパネルから回転する(このアイコンは、第1のパネルが見えるまたは最もよく見えるパネルでなくなるように、回転する)。
【0042】
ブロック770において、アイコンの第2のパネルが表示される。例えば、アイコンが第1のパネルから回転して第2のパネルを表示する。
【0043】
ブロック780において、所定時間が経過したとの判断をする。例えば、アイコンが回転して第2のパネルを表示してからの経過時間を測り、所定時間と比較する。
【0044】
ブロック790において、所定時間が経過したとの判断に基づき、アイコンが回転して第1のパネルを表示する。例えば、所定時間が、第2のパネルが表示されている測定経過時間より短いまたは等しいとき、アイコンを回転して第1のパネルに戻す。
【0045】
上記の通り、アイコンを回転して以前に表示されていたパネルに戻すのは、パネルのプライオリティに基づいて行われる。例えば、前に表示されていたパネルが、アイコンの回転により表示された第2のパネルよりプライオリティが高いとき、アイコンは、所定時間の間、更新されたアプリケーションの表示を第2のパネルを表示でき、その後、前に表示していたパネルを表示するようにアイコンを戻す。さらに、ユーザがマニュアルでアイコンを低プライオリティパネルに動かしたとき、
図7の方法を用いて、アイコンは所定時間後に高プライオリティパネルに戻ることができる。
【0046】
図8は、アプリケーションの更新に基づき3次元でアイコンの回転を表示する方法の例を示すフローチャートである。この例では、ブロック810において、第1のアプリケーションが第1のパネルにアサインされる。例えば、パネルにアサインするアプリケーションを選択するそのパネルのメニューを用いて、ユーザからアサインメント情報やデータを受け取る。
【0047】
ブロック820において、アイコンの第1のパネルにプライオリティがアサインされる。例えば、第1のパネルのプライオリティを設定するその第1のパネルのメニューを用いて、ユーザからプライオリティ情報やデータを受け取る。
【0048】
ブロック830において、アイコンの第1のパネルが表示される。例えば、第1のアプリケーションにアサインされたアイコンの第1のパネルは、第1のアプリケーションに関連する画像をユーザに表示できる。
【0049】
ブロック840において、アイコンの第2のパネルにアサインされた第2のアプリケーションに対する更新を受け取る。例えば、表示されていないアイコンの第2のパネルを、更新を受け取った第2のアプリケーションにアサインできる。
【0050】
ブロック850において、アイコンを3次元回転し、第2のアプリケーションに対する更新に基づき、第2のパネルを表示する。例えば、第2のアプリケーションが更新を受信したとき、アイコンが回転して、そのアプリケーションにアサインされたパネルを表示し、そのアプリケーションが更新されたことをユーザに表示する。
ブロック860において、第1のアプリケーションに対する更新を受け取る。例えば、第2のアプリケーションが更新された後、第1のアプリケーションが更新を受信する。
【0051】
ブロック870において、アイコンを3次元回転し、第1のアプリケーションのプライオリティに基づき、第1のパネルを表示する。例えば、第1と第2のアプリケーションが更新を受信し、それぞれのパネルが更新の表示を表示できるとき、アイコンが回転して、高い方のプライオリティを有するパネル(この例では、第1のパネル)をユーザに表示する。
【0052】
ブロック880において、第1のパネルを用いて第1のアプリケーションを起動できる。例えば、ユーザが第1のアプリケーションを選択して起動することを示す情報またはデータを、タッチパネルを介して受け取る。一例では、第1のパネルはディスカウントプロバイダアプリケーションにアサインされ、アプリケーションがローカルアイテムやサービスに対するディスカウントに関するデータで更新されたとの表示を表示する。ユーザは、更新されたアプリケーションを表示するパネルを選択してアプリケーションを起動できる。起動されたアプリケーションにより、ディスカウントされたアイテムやサービスに関する情報が提供される。
【0053】
図9Aは、アプリケーション(「アプリケーションC」)を起動するアイコン900を表示するコンピューティングデバイス930を示す図である。902で示すように、アイコン900は、デバイス930で利用できるまたはインストールされたアプリケーションに関連するまたはアサインされたパネル920を表示できる。904で示したように、パネル920を選択でき、アプリケーションを起動して、起動または実行状態910で表示できる。キーボード、マウス、トラックボール、またはタッチスクリーンを用いて、アイコンのパネルを選択できる。タッチスクリーンを用いる一実施形態では、アイコン900上のまたは隣接するタッチスクリーンでユーザがジェスチャをすると、またはアイコン900の選択を示すジェスチャをすると、パネルが起動される。ジェスチャには、スワイプ、タップ、ダブルタップ、タップ&ホールド、マルチタッチジェスチャ、ピンチ、プレス、形状ジェスチャその他のジェスチャが含まれる。マウスを用いる一実施形態では、ユーザはアイコン900のパネル920上をクリックして、アプリケーションを起動できる。
【0054】
アプリケーションはコンピューティングデバイスにインストールされたまたは利用できるソフトウェアであってもよい。例えば、アプリケーションは、電子メールクライアント、ウェブブラウザ、ウェブアプリケーション、ゲーム、音楽ソフトウェア、その他のインストールされた、アクセスされた、またはダウンロードされた、コンピューティングデバイス上で利用可能なソフトウェアである。ある例では、アプリケーションは、ゲーム、ニュース、ソーシャルネットワークアクセス、スポーツ情報、購入情報、エンターテインメント、ビデオ、映画、テレビジョン番組、インターネットアクセス、音楽、テキストエディタ、本、ドキュメントリーダ、ツール、情報、ワークユーティリティ、オーガナイザ、コンタクトリスト、マップ、検索、計算機、その他のコンテンツや機能である。ある例では、上記の通り、アプリケーションが更新を受信する。アプリケーションは情報、コンテンツ、及び機能性も提供できる。アプリケーションを起動すると、ユーザは、そのアプリケーションの機能、データ、情報、及びコンテンツにアクセスできる。ある実施形態では、アプリケーションはバックグラウンドで(例えば、スタンバイ状態で)実行され、起動されると、ユーザにフォアグラウンドで表示される。アプリケーションの起動により、そのアプリケーションの画面またはウィンドウがユーザに表示される。ある実施形態では、起動されたアプリケーションにより、ユーザがそのアプリケーションを使えるそのアプリケーションのユーザインタフェースが表示される。ある実施形態では、アプリケーションの起動により、そのアプリケーションのソフトウェア命令がコンピューティングデバイスのメモリにロードされる。他の一実施形態では、アプリケーションにはウェブブラウザその他のインターネットツールによりアクセスできる。
【0055】
図9Bは、サイズを大きくしたり小さくしたりできるアイコン950を表示するコンピューティングデバイス940を示す図である。906において、アイコン950が第1のサイズ960で表示される。908において、アイコン950のサイズを、サイズ970のように大きくできる。一例では、アイコン950は、サイズが大きくされると、サイズが大きくされる前よりも、ディスプレイの大きなエリアに表示される。
【0056】
他の一実施形態では、アイコン950のサイズが小さくされ、そのアイコンのサイズは小さくされる前よりディスプレイの小さいエリアで表示される。例えば、アイコン950は、サイズ970などの大きいサイズから、サイズ960などの小さいサイズに、サイズが小さくできる。他の一実施形態では、アイコン950は、サイズ960よりも小さいサイズに小さくできる。アイコン950は、表示されたサイズのパーセンテージだけ大きくしたり小さくしたりできる。アイコンのサイズを大きくすることにより、ユーザは、そのアイコンと表示されたパネルをよく見ることができる。アイコンのサイズを小さくすると、ユーザが見る他のアイコンやコンテンツのための表示エリアを大きくできる。モバイルデバイスの例
図10は、1002で示すオプションの様々なハードウェアコンポーネントとソフトウェアコンポーネントとを含むモバイルデバイス1000の一例を示すシステム図である。開示した実施形態はどれもかかるデバイスにより実施または利用できる。モバイルデバイスのコンポーネント1002は、他のコンポーネントと通信できるが、図示を容易にするため、すべての接続は示していない。モバイルデバイスは、どんなコンピューティングデバイス(例えば、セルラ電話、スマートフォン、ハンドヘルドコンピュータ、タブレットコンピュータ、スレートコンピュータ、パーソナルデジタルアシスタント(PDA)など)であってもよく、セルラネットワークや衛星ネットワークなどの一以上のモバイル通信ネットワーク1004と無線双方向通信をできる。
【0057】
図示したモバイルデバイス1000は、信号コーディング、データ処理、入出力処理、パワーコントロール、及び/またはその他の機能などのタスクを実行するコントローラまたはプロセッサ1010(例えば、信号プロセッサ、マイクロプロセッサ、ASIC、その他の制御・処理論理回路)を含む。オペレーティングシステム1012は、コンポーネント1002のアロケーションと利用を制御し、一以上のアプリケーションプログラム1014をサポートする。アプリケーションプログラムは、共通のモバイルコンピューティングアプリケーション(例えば、電子メールアプリケーション、カレンダー、コンタクトマネージャ、ウェブブラウザ、メッセージングアプリケーション)や、その他の任意のコンピューティングアプリケーションを含み得る。
【0058】
図示したモバイルデバイス1000は、メモリ1020を含む。メモリ1020は、非リムーバブルメモリ1022及び/またはリムーバブルメモリ1024を含み得る。非リムーバブルメモリ1022はRAM、ROM、フラッシュメモリ、ハードディスク、その他の周知のメモリ記憶技術を含む。リムーバブルメモリ1024は、フラッシュメモリやSIM(Subscriber Identity Module)カードを含む。これらはGSM(登録商標)通信システムでは周知である。または、「スマートカード」などの、その他の周知のメモリ記憶技術を含む。メモリ1020は、オペレーティングシステム1012とアプリケーション1014を実行するデータ及び/またはコードを記憶するのに使える。アプリケーション1014は、ここに開示のアイコンの表示やアニメーションなど、ここに説明した技術のソフトウェアを含み得る。データの例には、一以上の有線または無線ネットワークを介して一以上のネットワークサーバまたはその他のデバイスとの間で送受信する、ウェブページ、テキスト、画像、サウンドファイル、ビデオデータ、またはその他のデータセットを含む。メモリ1020は、IMSI(International Mobile Subscriber Identity)などのサブスクライバ識別子と、IMEI(International Mobile Equipment Identifier)などの装置識別子とを記憶するのに用いることができる。かかる識別子は、ユーザと装置を識別するために、ネットワークサーバに送信される。
【0059】
モバイルデバイス1000は、タッチスクリーン1032、マイクロホン1034、カメラ1036、物理的キーボード1038及び/またはトラックボール1040などの一以上の入力デバイス1030と、スピーカ1052やディスプレイ1054などの一以上の出力デバイス1050とをサポートする。他の出力デバイス(図示せず)は、圧電型またはその他の触覚出力デバイスを含んでいてもよい。デバイスによっては、2以上の入出力機能を有していてもよい。例えば、タッチスクリーン1032とディスプレイ1054を結合して、単一の入出力デバイスにしてもよい。
【0060】
無線モデム1060は、当該技術分野で周知のように、アンテナ(図示せず)に結合し、プロセッサ1010と外部デバイスとの間の双方向通信をサポートできる。モデム1060は、総称的に示しており、モバイル通信ネットワーク1004と通信するセルラモデム、及び/または他の無線ベースモデム(例えば、ブルートゥースやWiFi)を含み得る。無線モデム1060は、一般的には、単一のセルラネットワーク内での、セルラネットワーク間での、またはモバイルデバイスとPSTN(public switched telephone network)間でのデータ及び音声通信用の、GSMネットワークなどの一以上のセルラネットワークと通信するように構成されている。
【0061】
モバイルデバイスは、さらに、少なくとも1つの入出力ポート1080、パワーサプライ1082、GPS(Global Positioning System)レシーバ等の衛星ナビゲーションシステムレシーバ1084、加速度計1086、ジャイロスコープ、及び/または物理的コネクタ1090(USBポート、IEEE1394(Fire Wire)ポート、及び/またはRS−232ポート)を含んでいてもよい。例示したコンポーネント1002は、必須のものではなく、すべてが含まれていなくてもよく、任意のコンポーネントを削除して、他のコンポーネントを付加してもよい。
【0062】
実施環境の例
図11は、説明した実施形態、方法、及び技術を実施できる好適な実施環境1100を一般化した一例を示す。
【0063】
環境例1100では、様々なタイプのサービス(例えば、コンピューティングサービス)がクラウド1110により提供される。例えば、クラウド1,110は、インターネットなどのネットワークを介して接続された様々なタイプのユーザとデバイスにクラウドベースのサービスを提供する、集中的に配置されたまたは分散配置されたコンピューティングデバイスを有する。実施環境1100を異なる方法で用いて、コンピューティングタスクを実現することができる。例えば、あるタスク(例えば、ユーザ入力の処理やユーザインタフェースの提示)はローカルコンピューティングデバイス(例えば、接続されたデバイス1130,1140,1150)上で実行でき、他のタスク(例えば、後処理で用いるデータの記憶)はクラウド1110において実行できる。
【0064】
環境例1100において、クラウド1110は、接続されたデバイス1130,1140,1150に、様々な画面機能のサービスを提供する。接続されたデバイス1130は、コンピュータ画面1135(例えば、中間サイズ画面)を有するデバイスを表す。例えば、接続されたデバイス1130は、デスクトップコンピュータ、ラップトップ、ノートブック、ネットブックなどのパーソナルコンピュータである。接続されたデバイス1140は、モバイルデバイス画面1145(例えば、小型サイズ画面)を有するデバイスを表す。例えば、接続されたデバイス1140は、携帯電話、スマートフォン、パーソナルデジタルアシスタント、タブレットコンピュータなどである。接続されたデバイス1150は、大型画面1155を有するデバイスを表す。例えば、接続されたデバイス1150は、テレビジョン画面(例えば、スマートテレビジョン)であっても、テレビジョンに接続された他のデバイス(例えば、セットトップボックスやゲーム機)などであってもよい。接続されたデバイス1130,1140,1150のうち一以上は、タッチスクリーン機能を含んでいてもよい。タッチスクリーンは異なる方法での入力を受けることができる。例えば、容量型タッチスクリーンは、物体(例えば、指先やスタイラス)が、表面に流れている電流を歪めたり中断したりした時に、タッチ入力を検出する。他の一例として、タッチスクリーンは、光センサを用いて、光センサからのビームが中断された時に、タッチ入力を検出する。タッチスクリーンにより入力が検出されるには、スクリーン表面との物理的接触は必要ない。スクリーン機能を有さないデバイスも、環境例1100で用いることができる。例えば、クラウド1110は、ディスプレイを有さない一以上のコンピュータ(例えば、サーバコンピュータ)にサービスを提供できる。
【0065】
サービスは、クラウド1110により、サービスプロバイダ1120を通して、または他のオンラインサービス(図示せず)のプロバイダを通して提供できる。例えば、クラウドサービスは、接続されたデバイス(例えば、接続されたデバイス1130,1140,1150)の画面サイズ、ディスプレイ機能、及びタッチスクリーン機能に合わせてカスタマイズできる。
【0066】
環境例1100において、クラウド1110は、少なくとも部分的にサービスプロバイダ1120を用いて、様々な接続されたデバイス1130,1140,1050に、ここに説明した技術とソリューションを提供する。例えば、サービスプロバイダ1120は、様々なクラウドベースサービスに、集中的ソリューションを提供できる。サービスプロバイダ1120は、ユーザ及び/またはデバイス(例えば、接続されたデバイス1130,1140,1150及び/またはそのユーザ)のサービスサブスクリプションを管理できる。
【0067】
開示の方法はどれも、一以上のコンピュータ読み取り可能記憶媒体に記憶されたコンピュータ実行可能命令として実施でき、コンピュータ上で実行できる。コンピュータ読み取り可能記憶媒体は、例えば、一以上の光媒体ディスク、揮発性メモリコンポーネント(DRAMやSRAMなど)、または不揮発性メモリコンポーネント(ハードディスクドライブなど)などの非一時的コンピュータ読み取り可能媒体などである。コンピュータは、例えば、コンピューティングハードウェアを含むスマートフォンやその他のモバイルデバイスを含む、市販のコンピュータなどである。開示の方法を実施するコンピュータ実行可能命令、及び開示の実施形態の実施中に作成及び使用されるデータは、一以上のコンピュータ読み取り可能媒体(例えば、非一時的コンピュータ読み取り可能媒体)に記憶できる。コンピュータ実行可能命令は、例えば、専用ソフトウェアアプリケーション、またはウェブブラウザやその他のソフトウェアアプリケーションを介してアクセスまたはダウンロードするソフトウェアアプリケーションの一部であってもよい。かかるソフトウェアは、例えば、単一のローカルコンピュータ(例えば、市販の好適なコンピュータ)で、ネットワーク環境(例えば、インターネット、広域ネットワーク、ローカルエリアネットワーク、(クラウドコンピューティングネットワークなどの)クライアントサーバネットワーク、その他のネットワーク)で実行できる。
【0068】
明確にするため、ソフトウェアベースの実施の、ある側面のみを説明した。本技術分野で周知であるその他の詳細は省略した。例えば、言うまでもなく、開示の技術は特定のコンピュータ言語やプログラムに限定されない。例えば、開示の技術は、C++、Java(登録商標)、Perl、JavaScript(登録商標)、Adobe Flash、その他の好適なプログラミング言語で書かれたソフトウェアにより実施できる。同様に、開示の技術は特定のコンピュータやハードウェアのタイプには限定されない。好適なコンピュータとハードウェアの詳細は周知であり、この開示で詳細に説明する必要はない。
【0069】
さらに、(例えば、コンピュータに開示の方法を実行させるコンピュータ実行可能命令を有する)どんなソフトウェアベースの実施形態も、好適な通信手段を通してアップロード、ダウンロード、またはリモートアクセスできる。かかる好適な通信手段には、例えば、インターネット、ワールドワイドウェブ、イントラネット、ソフトウェアアプリケーション、ケーブル(光ファイバケーブルを含む)、磁気通信、電磁通信(RF、マイクロ波、及び赤外線通信を含む)、電子通信、その他の好適な通信手段を含む。
【0070】
開示の方法、装置、及びシステムは、いかなる方法でも限定として解してはならない。そうではなく、本開示は、様々な開示の実施形態のすべての新規かつ非自明な特徴と態様に、単独で、及び他のものとの様々な組合せてたものに関する。開示の方法、装置、及びシステムは、特定の態様、特徴、またはその組合せに限定されず、また開示の実施形態は、一以上の効果があることや問題が解決されることを要しない。
【0071】
さらに、説明を容易にするために、開示した方法の動作は具体的な順序で説明したが、言うまでもなく、特に断らない限り、このような説明は、並べ替えをも含むものである。例えば、順番に説明した動作は、場合によっては、並べ替えても、同時に実行してもよい。さらに、単純化するため、添付した図面は、開示の方法を他の方法と共に用いることができる様々な方法は示していない。
【0072】
コンピューティングデバイスの例
説明した実施形態、方法、及び技術は、コンピューティングデバイスなどのコンピューティング環境のソフトウェア及び/またはハードウェアにより実行できる。好適なコンピューティングデバイスには、サーバコンピュータ、デスクトップコンピュータ、ラップトップコンピュータ、ノートブックコンピュータ、ネットブック、タブレットデバイス、モバイルデバイス、その他のタイプのコンピューティングデバイス(例えば、テレビジョン、メディアプレーヤ、その他のタイプのエンターテインメントデバイスであってオーディオ/ビデオストリーミング機能及び/またはネットワークアクセス機能などのコンピューティング機能を有するもの)が含まれる。ここに説明した方法とソリューションは、(例えば、仮想マシンとその土台のインフラストラクチャリソースを有する)クラウドコンピューティング環境で実行することができる。
【0073】
図12は、説明した実施形態、方法、及び技術を実施できる好適なコンピューティング環境1200を一般化した一例を示す。コンピューティング環境1200は、本技術の利用や機能性の範囲について限定することを意図したり示唆するものではない。本技術は広範な汎用コンピューティング環境や特定目的コンピューティング環境で実施することができる。例えば、開示の技術は、処理ユニット、メモリ、及びここに開示の技術を実施するコンピュータ実行可能命令を記憶した記憶装置を有するコンピューティングデバイス(例えば、サーバ、デスクトップ、ラップトップ、ハンドヘルドデバイス、モバイルデバイス、PDAなど)を用いて実施できる。開示の技術は、ハンドヘルドデバイス、マルチプロセッサシステム、マイクロプロセッサベースのまたはプログラマブルなコンシューマエレクトロニクス、ネットワークPC、ミニコンピュータ、メインフレームコンピュータ、クライアント/サーバシステムのコレクションなど、他のコンピュータシステム構成でも実施できる。開示の発明は、通信ネットワークによりリンクされたリモート処理装置によりタスクが実行される分散計算環境で実施することもできる。分散コンピューティング環境では、プログラムモジュールは、ローカル及びリモートのメモリ記憶デバイスの両方に配置できる。
【0074】
図12を参照するに、コンピューティング環境1200は、少なくとも1つの中央処理ユニット1210とメモリ1220を含む。
図12では、この最も基本的な構成1230は点線内に含まれる。中央処理ユニット1210はコンピュータ実行可能命令を実行する。マルチプロセッシングシステムでは、処理パワーを増大するために複数の処理ユニットがコンピュータ実行可能命令を実行し、そのため、複数のプロセッサが同時に実行できる。メモリ1220は、揮発性メモリ(例えば、レジスタ、キャッシュ、RAM)であっても、非揮発性メモリ(例えば、ROM、EEPROM、フラッシュメモリなど)であっても、これらの組合せであってもよい。メモリ1220は、例えば、アプリケーションのアイコンなど、ここに説明した技術を実施できるソフトウェア1280を格納する。コンピューティング環境は追加的機能(features)を有していても良い。例えば、コンピューティング環境1200は、記憶装置1240、一以上の入力デバイス1250、一以上の出力デバイス1260、一以上の通信接続1270を含む。バス、コントローラ、ネットワークなどの相互接続メカニズム(図示せず)が、コンピューティング環境1200のコンポーネントを相互接続する。一般的には、オペレーティングシステムソフトウェア(図示せず)が、そのコンピューティング環境1200で実行している他のソフトウェアに動作環境を提供し、コンピューティング環境1200のコンポーネントの動作を調整する。
【0075】
記憶装置1240は、リムーバブルまたは非リムーバブルであり、磁気ディスク、磁気テープやカセット、CD−ROM、CD−RW、DVD、またはその他の有体記憶媒体であって情報の記憶に使える、コンピューティング環境1200内でアクセスできるものを含む。記憶装置1240は、ソフトウェア1280のコンピュータ実行可能命令を記憶し、ここに説明の技術を実施できる。
【0076】
入力デバイス1250は、キーボード、キーパッド、マウス、ペン、トラックボールなどのタッチ入力デバイス、音声入力デバイス、スキャニングデバイス、またはその他のデバイスであってコンピューティング環境1200に入力を提供するものである。オーディオの場合、入力デバイス1250は、例えば、アナログまたはデジタル形式でオーディオを受け付けるサウンドカードや同様のデバイスであるか、コンピューティング環境1200にオーディオサンプルを提供するCD−ROMリーダである。出力デバイス1260は、例えば、ディスプレイ、プリンタ、スピーカ、CDライタ、またはその他のデバイスであってコンピューティング環境1200からの出力を提供するものである。
【0077】
通信接続1270により、通信媒体(例えば、接続ネットワーク)により他のコンピューティングエンティティとの通信が可能である。通信媒体は、コンピュータ実行可能命令、圧縮グラフィックス情報、その他のデータなどの情報を、変調データ信号として搬送する。
【0078】
開示の発明の原理を適用できる多くの実施形態を考慮して、言うまでもなく、例示の実施形態は単に本発明の好ましい実施例に過ぎず、本発明の範囲を限定するものと取ってはならない。むしろ、本発明の範囲は下記の特許請求の範囲により画定される。それゆえ、これらのクレーム及びその等価物の範囲内に入るものはすべて我々の発明として請求する。