本明細書に記載される実施形態は、ハンドヘルド電子デバイスでのマルチタスキングのための直感的でシームレスな対話を提供するシステム、方法、及びグラフィカルユーザインタフェースの必要性に対処する。かかる方法及びシステムは、任意選択的に、従来のタッチ入力又はジェスチャを補完する、又はそれらと置き換わる。
(A1)いくつかの実施形態によれば、方法は、タッチ感知ディスプレイ(例えば、タッチスクリーン112、図1C)を備えた電子デバイス(例えば、ポータブル多機能デバイス100、図1A)において実行される。本方法は、タッチ感知ディスプレイの実質的に全てを占有する表示領域内に、第1の組の1つ以上のアプリケーションを表示することを含む。第1の組の1つ以上のアプリケーションを表示している間に、本方法はまた、(i)表示領域の第1の部分にオーバーレイしてドックを表示することと、(ii)ドック内に表示された第1のアフォーダンス上でタッチ感知ディスプレイ上の接触を検出することであって、第1のアフォーダンスが第2の組の1つ以上のアプリケーションに関連付けられた、ことと、(iii)ドックから離れる接触の移動を検出することと、を含む。第1の部分とは異なる表示領域の第2の部分上にこの接触がある間に、タッチ感知ディスプレイからの接触のリフトオフを検出すると、本方法は、(i)第1の組の1つ以上のアプリケーションのうちの少なくとも一部、及び(ii)第2の組の1つ以上のアプリケーションのうちの少なくとも一部をタッチ感知ディスプレイの実質的に全てを占有する表示領域内に表示することを更に含む。場合によっては、コンピューティングシステムのユーザは、2つ以上のアプリケーションを動作させるために、非効率的で時間のかかる対話を用いなければならない。ユーザが単一の単純なジェスチャを使用すること(例えば、ドックからのアフォーダンスを1本指でメイン表示領域上にドラッグすること)を可能にすることにより、ユーザは、2つ以上のアプリケーションが同時に表示され、動作させられるモードを容易かつ効率的にアクティブにすることができる。ユーザがこのモードを容易かつ効率的にアクティブにすることを可能にすることで、デバイスの操作性が向上し、ヒューマンマシンインタフェースがより効率的になる(例えば、ユーザが単一のジェスチャを使用してモードをアクティブにすることを可能にすることによって)。加えて、これにより、2つ以上のアプリケーションにアクセスするために複数のジェスチャを用いなければならないことにより他の場合には可能でなかったであろうタッチ感知ディスプレイとの持続的な対話を可能にする。
(A1.5)いくつかの実施形態では、接触のリフトオフを検出する前に、第1の組の1つ以上のアプリケーションのうちの少なくとも一部又は第2の組の1つ以上のアプリケーションのうちの少なくとも一部に接するタッチ感知ディスプレイの縁部から閾値距離内に接触が移動した後、第1の組の1つ以上のアプリケーションをサイズ変更して、サイズ変更された第1の組の1つ以上のアプリケーションに隣接する表示領域の第2の部分を明瞭化すること。
(A2)A1に記載の方法のいくつかの実施形態では、方法は、接触がドックから少なくとも閾値距離移動して離れた後、1つ以上のアプリケーションの第1の組をサイズ変更して、サイズ変更された第1の組の1つ以上のアプリケーションに隣接する表示領域の第2の部分を明瞭化することを含む。場合によっては、コンピューティングシステムのユーザは、タッチ感知ディスプレイ上のある特定の対話に起因する変化を認識しない場合がある。明確な視覚フィードバックを提供すること(例えば、表示領域の第2の部分を明瞭化するために、第1の組の1つ以上のアプリケーションをサイズ変更すること)で、接触の解除(又はリフトオフ)後に発生するであろう変化をプレビューする機会をユーザに与える。この明確な視覚フィードバックを提供することで、デバイスの操作性が向上し、ヒューマンマシンインタフェースをより効率的になる(例えば、ユーザが発生する変化を理解することと、不必要な変化を逆転させる必要がないこととを可能にすることによって)。加えて、これにより、ユーザが予期することができなかった望ましくない変化を彼らが繰り返しアンドゥする又は逆転させなければならないことにより他の場合には可能でなかったであろうタッチ感知ディスプレイとの持続的な対話を可能にする。
(A3)A1.5又はA2のいずれか一項に記載の方法のいくつかの実施形態では、(i)第1の組の1つ以上のアプリケーションのうちの少なくとも一部と、(ii)第2の組の1つ以上のアプリケーションの少なくとも一部とをタッチ感知ディスプレイの実質的に全てを占有する表示領域内に表示することは、表示領域の第2の部分内に、第2の組の1つ以上のアプリケーションのうちの少なくとも一部を表示することと、表示領域の第2の部分に隣接する表示領域の残りの部分に、第1の組の1つ以上のアプリケーションのうちの少なくとも一部を表示することと、を含む。
(A4)A1~A3のいずれか一項に記載の方法のいくつかの実施形態では、方法は、接触のリフトオフを検出する前に、接触がドックから閾値距離移動して離れるまで、接触に近接してアフォーダンスの表現を表示することと、接触がドックから少なくとも閾値距離移動して離れたと判定したことに従って、アフォーダンスの表現の表示を停止し、接触に近接して第2のアプリケーションに関連付けられたコンテンツのサムネイルを表示することと、を更に含む。このようにして、ユーザは、ユーザが接触を解除(又はリフトオフ)した後に発生することになる変化を認識及び理解するのに役立つ追加の視覚的フィードバックを提供される。この追加の視覚フィードバックを提供することで、デバイスの操作性が向上し、ヒューマンマシンインタフェースをより効率的になる(例えば、ユーザが発生する変化をより良く理解することと、望ましくない変化を逆転させなければならないことを回避することとを可能にすることによって)。加えて、これにより、ユーザが予期することができなかった望ましくない変化をユーザが繰り返しアンドゥする又は逆転させなければならないことにより他の場合には可能ではなかったであろうタッチ感知式二次ディスプレイとの持続的な対話を可能にする。
(A5)A4に記載の方法のいくつかの実施形態では、方法は、接触が第1の部分又は第2の部分の最上部にそれぞれ移動されるときに、第1の部分又は第2の部分の表示サイズに一致するようにサムネイルをサイズ変更することを更に含む。このようにして、ユーザには、接触の解除(又はリフトオフ)後に発生することになる変化をユーザが認識し理解するのに役立つ更なる視覚的フィードバックが提供される。この更なる視覚的フィードバックを提供することで、デバイスの操作性が向上し、ヒューマンマシンインタフェースをより効率的になる(例えば、ユーザが発生する変化をより良く理解することと、望ましくない変化を逆転させる必要性を回避することとを可能にすることによって)。加えて、これにより、ユーザが予期することができなかった望ましくない変化をユーザが繰り返しアンドゥする又は逆転させなければならないことにより他の場合には可能ではなかったであろうタッチ感知式二次ディスプレイとの持続的な対話を可能にする。
(A6)請求項A1~A5のいずれか一項に記載の方法のいくつかの実施形態では、ドックを表示することは、タッチ感知ディスプレイ上の最初の接触を検出することと、タッチ感知ディスプレイの底部部分に対して略直角な方向での最初の接触の移動を検出したことに応じて、タッチ感知ディスプレイの第1の部分内にドックを表示することと、を含む。ユーザが、単純で使いやすい、繰り返し可能なジェスチャを使用してドックをアクティブにすることを可能にすることで、ユーザは、アプリケーション固有のアフォーダンスを捜して時間を浪費する必要がなく、代わりにドックに迅速にアクセスし、ドックを使用してアプリケーション固有のアフォーダンスを開くことができるため、ユーザインタフェースがより効率的に動作させられることを確実にするのに役立つ。これはまた、ユーザがドックにアクセスすることから、ユーザが2つの異なるアプリケーションと同時に対話することができる分割ビュー動作モード(以下でより詳細に論じられるように)をアクティブにすることへと滑らかに移行することができるため、ユーザが電子デバイスとの持続的な対話を有することを確実にするのに役立つ。
(A6.1)A1~A4のいずれか一項に記載の方法のいくつかの実施形態では、方法は、接触のリフトオフを検出する前に、接触がドックから閾値距離移動して離れるまで、接触に近接して第1のアフォーダンスの表現を表示することと、接触がドックから少なくとも閾値距離だけ離れたと判定したことにに従って、接触に近接する第1のアフォーダンスの表現を取り囲むユーザインタフェースオブジェクトを表示することと、を含む。
(A6.2)A6.1に記載の方法のいくつかの実施形態では、ユーザインタフェースオブジェクトは第1の形状を有し、本方法は、接触のリフトオフを検出する前に、接触が第1の部分又は第2の部分の最上部でそれぞれ移動されるときに、ユーザインタフェースオブジェクトを第2の形状又は第3の形状を有するように変更することを更に含み、第1の形状は、第2及び第3の形状とは別個である。
(A7)請求項A1~A6のいずれか一項に記載の方法のいくつかの実施形態では、第1の組は、1つの第1のアプリケーションを含み、第2の組は、1つの第2のアプリケーションを含み、アフォーダンスは、1つの第2のアプリケーションに関連付けられ、(例えば、接触が、1つの第1のアプリケーションに接するタッチ感知ディスプレイの縁部の閾値距離内に位置している間に)接触のリフトオフを検出すると、第1の及び第2のアプリケーションは、表示領域内に並べて表示される。第1の組が1つの第1のアプリケーションを含み、第2の組が1つの第2のアプリケーションを含む場合、コンピューティングシステムのユーザは、ディスプレイの第2の部分上に第2のアプリケーションに対応するアフォーダンスを単にドラッグすることによって、第1のアプリケーション及び第2のアプリケーションが一緒に表示される分割ビューモードをアクティブにすることができる。明確な視覚フィードバックを提供する(例えば、接触が閾値距離を移動した後に表示領域の第2の部分を明瞭化する)ことにより、ユーザが接触を解除(又はリフトオフ)した後に発生することになる変化をプレビューする機会をユーザに与える。この明確な視覚フィードバックを提供することで、デバイスの操作性が向上し、ヒューマンマシンインタフェースをより効率的になる(例えば、接触を解除することが第1の及び第2のアプリケーションを含む分割ビューモードをアクティブにすることをユーザが理解できるようにすることによって)。加えて、これにより、ユーザが予期することができなかった望ましくない変化をユーザが繰り返しアンドゥする又は逆転させなければならないことにより他の場合には可能でなかったであろうタッチ感知ディスプレイとの持続的な対話を可能にする。
(A7.1)A7に記載の方法のいくつかの実施形態では、接触が1つの第1のアプリケーションの上に位置する間に接触のリフトオフを検出すると、第2のアプリケーションが、表示領域内に第1のアプリケーションにオーバーレイして表示される。
(A8)A1~A7のいずれか一項に記載の方法のいくつかの実施形態では、第1の組は、少なくとも第1のアプリケーション及び第2のアプリケーションを含み、第2の組は、1つの第3のアプリケーションを含み、アフォーダンスは、1つの第3のアプリケーションに関連付けられている。第1の組が第1のアプリケーション及び第2のアプリケーションを含み、第2の組が1つの第2のアプリケーションを含む場合、コンピューティングシステムのユーザは、ディスプレイ上の第3のアプリケーションに対応するアフォーダンスを単にドラッグすることによって、第1のアプリケーション及び第2のアプリケーションが一緒に表示される分割ビューモードに新しいアプリケーションを追加することができる。明確な視覚フィードバックを提供する(例えば、接触が閾値距離を移動した後に表示領域の第2の部分を明瞭化する)ことにより、ユーザが接触を解除(又はリフトオフ)した後に発生することになる変化をプレビューする機会をユーザに与える。加えて、これにより、ユーザが予期することができなかった望ましくない変化をユーザが繰り返しアンドゥする又は逆転させなければならないことにより他の場合には可能でなかったであろうタッチ感知ディスプレイとの持続的な対話を可能にする。
(A9)A8に記載の方法のいくつかの実施形態では、方法は、接触のリフトオフが第2のアプリケーションの上で発生したと判定したことに従って、タッチ感知ディスプレイ上で第2のアプリケーションを第3のアプリケーションに置き換えることを更に含む。このようにして、ユーザは、分割ビューモードで第2のアプリケーションを第3のアプリケーションに置き換える能力を与えられ、それにより、ユーザが第1のアプリケーションと同時に見られる新しいアプリケーションにおいて、ユーザが迅速かつ容易に代用することができる持続的な対話を可能にする。
(A9.1)A9に記載の方法のいくつかの実施形態では、方法は、接触が1つの第1のアプリケーションの上に位置している間に接触のリフトオフを検出すると、第2のアプリケーションが表示領域において第1のアプリケーションにオーバーレイして表示されること、を更に含む。
(A10)A1~A9のいずれか一項に記載の方法のいくつかの実施形態では、第1の組は、少なくとも2つのピン留めされたアプリケーションの第1の群を含み、第2の組は、少なくとも2つのピン留めされたアプリケーションの第2の群を含み、アフォーダンスは、少なくとも2つのピン留めされたアプリケーションの第2の群に関連付けられる。第1の及び第2の組がピン留めされたアプリケーションの群をそれぞれ含む場合には、コンピューティングシステムのユーザは、第2の群に対応するアフォーダンスをディスプレイ上に単にドラッグすることによって、ピン留めされたアプリケーションの新しい群を分割ビューモードに追加することができる。明確な視覚フィードバックを提供する(例えば、接触が閾値距離を移動した後に表示領域の第2の部分を明瞭化する)ことにより、ユーザが接触を解除(又はリフトオフ)した後に発生することになる変化をプレビューする機会をユーザに与える。加えて、これにより、ユーザが予期することができなかった望ましくない変化をユーザが繰り返しアンドゥする又は逆転させなければならないことにより他の場合には可能でなかったであろうタッチ感知ディスプレイとの持続的な対話を可能にする。
(A11)A10に記載の方法のいくつかの実施形態では、方法は、接触のリフトオフが第1の群のアプリケーション上で発生したという判定に従って、少なくとも2つのピン留めされたアプリケーションの第1の群を、少なくとも2つのピン留めされたアプリケーションの第2の群に置き換えることを更に含む。このようにして、ユーザは、ピン留めされたアプリケーションの第1の群をピン留めされたアプリケーションの第2の群に素早く切り替える能力を与えられ、それにより、ディスプレイ上に新しい群のピン留めされたアプリケーションにおいてユーザが迅速かつ容易に代用することができる持続的な対話を可能にする。
(A12)請求項A1~A11のいずれか一項に記載の方法のいくつかの実施形態では、第1の組の1つ以上のアプリケーションは、第1のアプリケーションのインスタンスを含み、第2の組の1つ以上のアプリケーションは、第1のアプリケーションの追加のインスタンスを含み、インスタンス及び追加のインスタンスは、第1のアプリケーションの別個のインスタンスである。第1の及び第2の組が同じ第1のアプリケーションの異なるインスタンスをそれぞれ含む場合には、コンピューティングシステムのユーザは、互いに隣り合う単一のアプリケーションの2つの異なるインスタンスをピン留めすることができる。2つの異なるインスタンスのピン留めをともに可能にすることにより、(例えば、メッセージングアプリケーション内の異なるメッセージからのコンテンツのコピーも行いつつ、メッセージをその同じメッセージングアプリケーションにおいて編集することなど、例えば、ユーザが単一のアプリケーションの異なる機能と同時に対話できることを確保することによって)ユーザに、改善されたマンマシンインタフェースを提供する。加えて、これにより、ユーザが予期することができなかった望ましくない変化をユーザが繰り返しアンドゥする又は逆転させなければならないことにより他の場合には可能でなかったであろうタッチ感知ディスプレイとの持続的な対話を可能にする。
(A13)更に別の態様では、電子デバイスが提供され、この電子デバイスは、タッチ感知ディスプレイと、1つ以上のプロセッサと、1つ以上のプロセッサによって実行されると、A1~A12のいずれか1つに記載された方法をこの電子デバイスに実行させる1つ以上のプログラムを記憶するメモリと、を含む。
(A14)追加の態様では、電子デバイスが提供され、この電子デバイスは、タッチ感知ディスプレイと、A1~A12のいずれか1つに記載された方法を実行する手段と、を含む。
(A15)更にもう1つの態様では、非一時的コンピュータ可読記憶媒体が提供される。この非一時的コンピュータ可読記憶媒体は、タッチ感知ディスプレイを備えた電子デバイスによって実行されると、A1~A12のいずれか1つに記載された方法をこの電子デバイスに実行させる、実行可能命令を記憶する。
(A16)更に別の態様では、タッチ感知ディスプレイを備えた電子デバイス上のグラフィカルユーザインタフェースが提供される。このグラフィカルユーザインタフェースは、A1~A12のいずれか1つに記載された方法に従って表示されるユーザインタフェースを含む。
(B1)いくつかの実施形態によれば、方法は、タッチ感知ディスプレイ(例えば、タッチスクリーン112、図1C)を備えた電子デバイス(例えば、ポータブル多機能デバイス100、図1A)において実行される。本方法は、タッチ感知ディスプレイの実質的に全てを占有する表示領域内に第1のアプリケーション及び第2のアプリケーションを表示することを含む。表示領域内に第1のアプリケーション及び第2のアプリケーションを表示している間に、本方法はまた、第2のアプリケーションの縁部付近にアフォーダンスを表示することと、タッチ感知ディスプレイを横切る方向に移動するアフォーダンス上の接触を検出することと、を含む。方向が第1の方向であるという判定に従って、本方法は、表示領域の実質的に全てを占有するように第1のアプリケーションをサイズ変更することと、サイズ変更された第1のアプリケーションにオーバーレイして第2のアプリケーションを表示することと、を更に含む。方向が第1の方向に対して略直角な第2の方向であるという判定に従って、本方法は、第2のアプリケーションを表示領域内で移動させることを含む。場合によっては、コンピューティングシステムのユーザは、2つ以上のアプリケーションを動作させるために、非効率的で時間のかかる対話を用いなければならない。スライドオーバモードをアクティブにすること又は特定のアプリケーションを表示領域内で移動させることのいずれかのためにユーザがハンドルと対話することを可能にすることにより、ユーザがアプリケーションを容易にかつ効率的に移動させること及び並列ビューとスライドオーバビューとを切り替えることを可能にする。ユーザがアプリケーションを容易かつ効率的に移動させること及び同時に2つ以上のアプリケーションを使用する異なるモードを切り替えることを可能にすることで、デバイスの操作性が向上し、ヒューマンマシンインタフェースがより効率的になる(例えば、同時に2つ以上のアプリケーションとどのように対話するか、例えば、並列ビューを使用すること又はスライドオーバ/オーバーレイモードを使用すること、をユーザが選択できるようにすることによって)。加えて、これにより、2つ以上のアプリケーションとの同時対話をカスタマイズするために複数のジェスチャを使用する必要があることにより他の場合には可能でなかったであろうタッチ感知ディスプレイとの持続的な対話を可能にする。
(B2)B1に記載の方法のいくつかの実施形態では、方法は、サイズ変更された第1のアプリケーションに第2のアプリケーションがオーバーレイされている間に、第1のアプリケーションにおいてユーザ入力を検出することと、第1のアプリケーションを介してユーザ入力に応答することと、を更に含む。ユーザが第1のアプリケーションと対話することを可能にすることは、第2のアプリケーションが第1のアプリケーションの上にオーバーレイされている間であっても、同時に表示される2つのアプリケーションとユーザがどのように同時に対話したいかをユーザがカスタマイズすることを可能にする。ユーザがこのようにユーザエクスペリエンスをカスタマイズすることを可能にすることで、デバイスの操作性が向上し、ヒューマンマシンインタフェースがより効率的になる(例えば、彼らのカスタマイズされた選択により、デフォルトの配列作業を行う必要なしに、様々な機能をユーザがより効率的に使用することを可能にすることになる)。加えて、これにより、ユーザが、デフォルトの形で、ユーザ固有のカスタマイズを伴わずに、ともに表示された2つ以上のアプリケーションと対話するように強制されることにより、他の場合には可能でなかったであろうタッチ感知ディスプレイとの持続的な対話を可能にする。
(B3)B2に記載の方法のいくつかの実施形態では、方法は、第1の及び第2のアプリケーションとは別個の第3のアプリケーションを開けとの要求に応じて、方向が第1の方向であるとの判定後に、(i)第1のアプリケーションによって以前に占有されていた表示領域の一部分に第3のアプリケーションを表示することと、(ii)第3のアプリケーションにオーバーレイして第2のアプリケーションを表示することと、を含む。ユーザが新しいアプリケーションを開いた後に、オーバーレイされたアプリケーションが表示されたままであることを可能にすることで、電子デバイスの機能(例えば、オーバーレイされたアプリケーションが表示されたままではない場合に再び開かれなければならないことがあるオーバーレイされたアプリケーションを介してユーザによってアクセスされる機能)との持続的な対話が維持されることを確実にするのに役立つ。ユーザはまた、オーバーレイされたアプリケーションの機能を再び開く必要を回避することができるため、デバイスの操作性が改善され、ヒューマンマシンインタフェースもまた、より効率的に動作させられる。
(B4)B1~B3のいずれか一項に記載の方法のいくつかの実施形態では、第2のアプリケーションは、タッチ感知ディスプレイの第1の縁部に接するように最初に表示され、第2のアプリケーションを表示領域内で移動させることは、(i)第2のアプリケーションがタッチ感知ディスプレイの第2の縁部、第1の縁部とは反対、に接するまで第2の方向に第2のアプリケーションを移動させることと、(ii)第1のアプリケーションがタッチ感知ディスプレイの第1の縁部に接するように、第2のアプリケーションによって占有されている部分とは別個の、表示領域の残りの部分において第1のアプリケーションを表示することと、を含む。ユーザは、アフォーダンス(例えば、オーバーレイされたアプリケーションの上に表示されるハンドル)をドラッグすることによってユーザがアプリケーションを移動させることを可能にすることは、同時に表示される2つのアプリケーションとどのように同時に対話することをユーザが望むかをユーザがカスタマイズすることを可能にするのに役立つ。このようにしてユーザが彼らのユーザエクスペリエンスをカスタマイズすることを可能にすることにより、デバイスの操作性が向上し、ヒューマンマシンインタフェースがより効率的になる(例えば、各アプリケーションが表示されるべき場所に関するユーザのカスタマイズされた選択により、ユーザが、デフォルトの配置作業を行う必要なしに、様々な機能をより効率的に使用することを可能にする)。加えて、これにより、ユーザが、デフォルトの形で、いかなるユーザ固有のカスタマイズも伴わずに、ともに表示された2つ以上のアプリケーションと対話するように強制されることにより、他の場合には可能でなかったであろうタッチ感知ディスプレイとの持続的な対話を可能にする。
(B5)B4に記載の方法のいくつかの実施形態では、第2のアプリケーションが第2の縁部に接するまで第2のアプリケーションを移動させる前に、第2のアプリケーションによって占有される部分のプレビューが、第1のアプリケーションの隣に明瞭化される。場合によっては、コンピューティングシステムのユーザは、タッチ感知ディスプレイ上のある特定の対話に起因する変化を認識しない場合がある。明確な視覚フィードバックを提供する(例えば、第2のアプリケーションが移動される先のプレビューを示す)ことにより、ユーザが接触を解除(又はリフトオフ)した後に発生することになる変化をプレビューする機会をユーザに与える。この明確な視覚フィードバックを提供することで、デバイスの操作性が向上し、ヒューマンマシンインタフェースがより効率的になる(例えば、ユーザが発生することになる変化を理解することと不必要な変化を逆転させる必要性を回避することとを可能にすることによって)。加えて、これにより、ユーザが予期することができなかった望ましくない変化をユーザが繰り返しアンドゥする又は逆転させなければならないことにより他の場合には可能でなかったであろうタッチ感知ディスプレイとの持続的な対話を可能にする。
(B6)B1~B5のいずれか一項に記載の方法のいくつかの実施形態では、第1の方向は、第2のアプリケーションの縁部に対して下向きの方向であり、第2の方向は、下向きの方向に対して略直角な横方向である。ユーザが異なる方向にハンドルを動かすことを可能にすることは、同時に表示される2つのアプリケーションとユーザがどのように同時に対話したいかを柔軟にカスタマイズするための付加的な単純な方法をユーザに提供するのに役立つ。このようにしてユーザが彼らのユーザエクスペリエンスをカスタマイズすることを可能にすることで、デバイスの操作性が向上し、ヒューマンマシンインタフェースがより効率的になる(例えば、各アプリケーションが表示されるべき場所に関するユーザのカスタマイズされた選択により、ユーザが、デフォルトの配置作業を行う必要なしに、様々な機能をより効率的に使用することを可能にする)。加えて、これにより、ユーザが、デフォルトの形で、ユーザ固有のカスタマイズを伴わずに、ともに表示された2つ以上のアプリケーションと対話するように強制されることにより、他の場合には可能でなかったであろうタッチ感知ディスプレイとの持続的な対話を可能にする。
(B7)B1~B6のいずれか一項に記載の方法のいくつかの実施形態では、方法は、アフォーダンスを表示する前に、第2のアプリケーションの縁部でユーザ入力を検出することと、ユーザ入力を検出したことに応じてアフォーダンスを表示することと、を含む。このようにして、ユーザには、ハンドルの表示をアクティブにするために使用される単純なジェスチャが提供され、それによって、(例えば、ハンドルがユーザによって必要とされるときにのみ表示されることを確実にすることによって)デバイスの操作性が向上する。
(B8)B7に記載の方法のいくつかの実施形態では、ユーザ入力は、第2のアプリケーションの縁部における接触と、タッチ感知ディスプレイを横切る第1の方向における接触の移動と、を含む。前述のように、これは、ハンドルの表示をアクティブにするために使用される単純なジェスチャをユーザに提供し、それによって(例えば、ハンドルがユーザによって必要とされるときにのみ表示されることを確実にすることによって)デバイスの操作性を向上させる。
(B8.1)請求項B1~B8のいずれか一項に記載の方法のいくつかの実施形態では、第1のアプリケーションをサイズ変更し、サイズ変更された第1のアプリケーションにオーバーレイして第2のアプリケーションを表示した後に、アフォーダンス上の追加の接触及び第1の方向とは反対の第3の方向への追加の接触の移動を検出することと、追加の接触が第3の方向に閾値距離移動したことを検出したことに応じて、サイズ変更された第1のアプリケーションにオーバーレイして第2のアプリケーションを表示するのを停止することと、タッチ感知ディスプレイの実質的に全てを占有する表示領域内に第1のアプリケーション及び第2のアプリケーションを再表示すること。
(B8.2)請求項B1~B8のいずれか一項に記載の方法のいくつかの実施形態では、方法は、第1のアプリケーションをサイズ変更し、サイズ変更された第1のアプリケーションにオーバーレイして第2のアプリケーションを表示した後に、アフォーダンス上の追加の接触及び第1の方向への追加の接触の移動を検出することと、追加の接触がタッチ感知ディスプレイを横切って第2の閾値距離移動したことを検出したことに応じて、第2のアプリケーションに対応するアフォーダンスの表現を有するユーザインタフェースオブジェクトが表示されるまで、追加の接触の移動に従って、第2のアプリケーションに関連付けられたコンテンツを縮小することと、を更に含む。
(B8.3)B8.2に記載の方法のいくつかの実施形態では、追加の接触がドックの上を移動し、タッチ感知ディスプレイからリフトオフされたという判定に従って、第2のアプリケーションを却下し、タッチ感知ディスプレイの実質的に全てを占有する第1のアプリケーションを表示することと、追加の接触がタッチ感知ディスプレイの縁部の閾値距離内に移動し、タッチ感知ディスプレイからリフトオフされたという判定に従って、タッチ感知ディスプレイの実質的に全てを占有する表示領域内に第1のアプリケーション及び第2のアプリケーションを再表示すること。
(B9)B1~B8のいずれか一項に記載の方法のいくつかの実施形態では、表示領域内に第1の及び第2のアプリケーションを表示することは、第1の及び第2のアプリケーションを表示領域内に並べて同時に表示することを含む。
(B10)更に別の態様では、電子デバイスが提供され、この電子デバイスは、タッチ感知ディスプレイと、1つ以上のプロセッサと、1つ以上のプロセッサによって実行されると、B1~B9のいずれか1つに記載された方法をこの電子デバイスに実行させる1つ以上のプログラムを記憶するメモリと、を含む。
(B11)追加の態様において、電子デバイスが提供され、この電子デバイスは、タッチ感知ディスプレイと、B1~B9のいずれか1つに記載された方法を実行する手段と、を含む。
(B12)更にもう1つの態様では、非一時的コンピュータ可読記憶媒体が提供される。非一時的コンピュータ可読記憶媒体は、タッチ感知ディスプレイを備えた電子デバイスによって実行されると、B1~B9のいずれか1つに記載された方法をこの電子デバイスに実行させる、実行可能命令を記憶する。
(B13)別の態様では、タッチ感知ディスプレイを備えた電子デバイス上のグラフィカルユーザインタフェースが提供される。グラフィカルユーザインタフェースは、B1~B9のいずれか1つに記載された方法に従って表示されるユーザインタフェースを含む。
(C1)いくつかの実施形態によれば、方法は、タッチ感知ディスプレイ(例えば、タッチスクリーン112、図1C)及び1つ以上のプロセッサを備えた電子デバイス(例えば、ポータブル多機能デバイス100、図1A)において実行される。本方法は、タッチ感知ディスプレイの実質的に全てを占有する表示領域内に少なくとも2つのアプリケーションを表示することを含む。本方法は、アプリケーションスイッチャユーザインタフェースを表示せよとの要求に対応するユーザ入力を受信することを更に含む。ユーザ入力を受信したことに応じて、本方法は、タッチ感知ディスプレイ上にアプリケーションスイッチャユーザインタフェースを表示することを更に含み、アプリケーションスイッチャユーザインタフェースは、電子デバイス上で最近使用された少なくとも一部のアプリケーションのそれぞれの表現を含み、それぞれの表現は、少なくとも2つのアプリケーションを有する表示領域の表現を含む。
(C2)C1に記載の方法のいくつかの実施形態では、アプリケーションスイッチャユーザインタフェースを表示することは、電子デバイス上で利用可能なアプリケーションに対応する複数のアフォーダンスを含むドックを表示することを含む。いくつかの実施形態では、方法は、(i)ドックに含まれる複数のアフォーダンスのうちの1つのアフォーダンス上の接触を検出することと、(ii)表示領域の表現に向かう接触の移動を検出することと、を更に含み、(iii)表示領域の表現に含まれる少なくとも2つのアプリケーションのうちの第1のアプリケーション上の接触のリフトオフを検出したとき、本方法は、表示領域の表現内に第1のアプリケーションを表示するのを停止することと、代わりに、表示領域の表現内のアフォーダンスに対応する追加のアプリケーションを表示することと、を更に含む。
(C3)C1~C2のいずれか一項に記載の方法のいくつかの実施形態では、アプリケーションスイッチャユーザインタフェースを表示している間に、方法は、(i)表示領域の表現に含まれる少なくとも2つのアプリケーションの第1のアプリケーション上で追加のユーザ入力を検出することと、(ii)追加のユーザ入力を検出したことに応じて、第1のアプリケーションの少なくとも一部分の上に却下アフォーダンスを表示することと、(iii)却下アフォーダンスの選択を検出すると、第1のアプリケーションを閉じることと、アプリケーションスイッチャユーザインタフェース内の第1のアプリケーション以外の少なくとも2つのアプリケーションのうちの残りの更新された表現を表示することと、を更に含む。
(C4)C1~C3のいずれか一項に記載の方法のいくつかの実施形態では、方法は、(i)表示領域の表現に含まれる少なくとも2つのアプリケーションの第1のアプリケーション上の接触を検出することと、(ii)表示領域の表現から離れる接触の移動を検出することと、(iii)接触がアプリケーションスイッチャユーザインタフェース内の既定の領域に移動したことを検出すると、この表現内に第1のアプリケーションを表示するのを停止し、アプリケーションスイッチャユーザインタフェース内の第1のアプリケーション以外の少なくとも2つのアプリケーションのうちの残りの更新された表現を表示することと、を更に含む。
(C5)C4に記載の方法のいくつかの実施形態では、ドックは、アプリケーションスイッチャユーザインタフェースの少なくとも既定の領域にオーバーレイして表示され、ドックは、電子デバイス上で利用可能な複数のアプリケーションに対応するアフォーダンスを含む。
(C6)C1~C5のいずれか一項に記載の方法のいくつかの実施形態では、アプリケーションスイッチャユーザインタフェースを表示することは、表現に関連付けられた既定のサイズに達するまで表示領域のサイズを徐々に小さくすることを含む。
(C7)前述のいずれかの請求項に記載の方法のいくつかの実施形態では、それぞれの表現は、オーバーレイされたアプリケーションに関連付けられた追加のアプリケーションの追加の表現を含み、追加の表現は、オーバーレイされたアプリケーションを示さない。
(C8)前述のいずれかの請求項に記載の方法のいくつかの実施形態では、表示領域内に少なくとも2つのアプリケーションを表示することは、少なくとも2つのアプリケーションを表示領域内に並べて同時に表示することを含み、少なくとも2つのアプリケーションを有する表示領域の表現を表示することは、少なくとも2つのアプリケーションを表示領域の表現内に並べて同時に表示することを含む。
(C9)更に別の態様では、電子デバイスが提供され、この電子デバイスは、タッチ感知ディスプレイと、1つ以上のプロセッサと、1つ以上のプロセッサによって実行されると、C1~C8のいずれか1つに記載された方法をこの電子デバイスに実行させる1つ以上のプログラムを記憶するメモリと、を含む。
(C10)追加の態様では、電子デバイスが提供され、この電子デバイスは、タッチ感知ディスプレイと、C1~C8のいずれか1つに記載された方法を実行する手段と、を含む。
(C11)更にもう1つの態様では、非一時的コンピュータ可読記憶媒体が提供される。非一時的コンピュータ可読記憶媒体は、タッチ感知ディスプレイを備えた電子デバイスによって実行されると、C1~C8のいずれか1つに記載された方法をこの電子デバイスに実行させる、実行可能命令を記憶する。
(C12)更に別の態様では、タッチ感知ディスプレイを備えた電子デバイスにおいて使用する情報処理装置が提供される。情報処理装置は、C1~C8のいずれか一項に記載の方法を実行する手段を含む。
(C13)別の態様では、タッチ感知ディスプレイを備えた電子デバイス上のグラフィカルユーザインタフェースが提供される。グラフィカルユーザインタフェースは、C1~C8のいずれか1つに記載された方法に従って表示されるユーザインタフェースを含む。
(D1)いくつかの実施形態による、同じアプリケーションの2つ以上のインスタンスをアクティブにする方法。例えば、メールアプリケーションの第1のインスタンス(例えば、受信トレイを表示すること)が、スクリーンの一方の側で開いており、同じメールアプリケーションの第2のインスタンス(例えば、個々の電子メール返信を表示すること)が、スクリーンの他方の側で開いている。インスタンスは、コンピュータプログラムの実行時間中に通常は存在する、オブジェクトの明確な単一の発生であり、例えば、プログラム又はアプリケーションが実行する度に、それは、そのプログラムのインスタンスである。いくつかの実施形態において、方法は、タッチ感知ディスプレイ(例えば、タッチスクリーン112、図1C)及び1つ以上のプロセッサを備えた電子デバイス(例えば、ポータブル多機能デバイス100、図1A)において実行される。この実施形態では、最初に、アプリケーションの第1のインスタンスが、タッチ感知ディスプレイの実質的に全てに表示される。次いで、アプリケーションの第1のインスタンス内に表示されたアフォーダンス上で接触が検出される。次いで、接触の移動がタッチ感知ディスプレイを横切って検出される。接触がタッチ感知ディスプレイを横切って、タッチ感知ディスプレイの既定の部分内へと移動した後に、接触のリフトオフを検出すると、以下を同時に表示することを含む電子デバイスの分割ビュー動作モードをアクティブにすること:(i)アフォーダンスに関連付けられたコンテンツと表示されるアプリケーションの、第1のインスタンスとは別個の、第2のインスタンス、及び、(ii)アプリケーションの第1のインスタンスの少なくとも一部分、ここで、第2のインスタンスと第1のインスタンスの一部分とは、タッチ感知ディスプレイの実質的に全てを占有するように表示される。
いくつかの実施形態では、アプリケーションの第1の及び第2のインスタンスは、電子デバイスの1つ以上のプロセッサ上で実行している別個の実行可能なプロセス(例えば、電子デバイスの1つ以上のプロセッサ上でその両方が別個に実行しているアプリケーションの2つの別個のインスタンス化)である。言い換えれば、リフトオフを検出した後、アプリケーションの第2のインスタンスは、インスタンス化され、次いで、アプリケーションの第1のインスタンスと並べて表示され、それによって、ユーザが、第2のインスタンスとも対話している間に、第1のインスタンスからコンテンツを容易に/便利に閲覧及び使用することを可能にする。
場合によっては、コンピューティングシステムのユーザは、アプリケーション内で他の機能を開くことを選択した後に、アプリケーションのある特定の機能へのアクセスを失う(例えば、ユーザは、その受信した電子メールに返信するオプションを選択した後に、受信した電子メールを閲覧できない場合がある)。単一のアプリケーションの複数のインスタンスを開くことにより、ユーザがこれらのある特定の機能の閲覧及び使用を継続することを可能にする。ユーザが閲覧を継続し、これらの特定の機能を使用することを可能にすることで、デバイスの操作性が向上し、ヒューマンマシンインタフェースがより効率的になる(例えば、ユーザが、これらの特定の機能が閉じられた後にこれらを再び開くために複数の入力を提供する必要なく、これらの特定の機能を使用することを可能にすることによって)。加えて、これにより、これらの特定の機能が閉じられた又はもう表示されなくなった後にこれらをどのようにして再び開く又はアクセスするかを理解するために複数のジェスチャ又は入力を用いなければならないことにより他の場合には可能でなかったであろうタッチ感知ディスプレイとの持続的な対話を可能にする。
(D2)D1に記載の方法のいくつかの実施形態では、分割ビューモードをアクティブにする前に、システムは、(i)接触がタッチ感知ディスプレイを横切って少なくとも閾値距離(例えば、1~2センチメートル)移動したことと、(ii)接触がタッチ感知ディスプレイの既定の部分に移動したことと、のうちの少なくとも1つを検出する。言い換えれば、いくつかの実施形態では、システムは、接触がタッチ感知ディスプレイを横切って少なくとも閾値距離(例えば、1~2センチメートル)移動したかどうかを判定するが、他の実施形態では、システムは、接触がタッチ感知ディスプレイの既定の部分(例えば、スクリーンの右3分の1から半分)に移動したかどうかを判定する。更に他の実施形態では、システムは、これらの移動のいずれかが生じたかどうかを判定するが、他の実施形態では、システムは、これらの移動の両方が生じたかどうかを判定する。接触が少なくとも閾値距離だけ又はスクリーンの既定の部分に移動したことを検出したことに応じて、(i)アプリケーションの第1のインスタンスが、タッチ感知ディスプレイの第1の部分を占有するようにサイズ変更され、(ii)第1の部分に隣接するタッチ感知ディスプレイの既定の部分が明瞭化される。このようにして、コンピューティングシステムのユーザには、ディスプレイの第2の部分を明瞭化するプレビューが提供され、分割ビューモードがどのように見えるかについて視覚的プレビューを提供する。これにより、ユーザは、プレビューを見た後に分割ビューモードをアクティブにするかどうかに関する決定を行うことができるので、デバイスの操作性が向上し、それにより、ユーザが分割ビューモードをアクティブにする方法を発見することができることを確実にし、ユーザがそのようなモードをアクティブにする前にプレビューすることができることを確実にする。
(D3)D2に記載の方法のいくつかの実施形態では、分割ビュー動作モードをアクティブにすることは、タッチ感知ディスプレイの既定の部分内にアプリケーションの第2のインスタンスを表示することを含む。
(D4)D1に記載の方法のいくつかの実施形態では、タッチ感知ディスプレイを横切る接触の移動を検出する前に、アフォーダンスに関連付けられたコンテンツのプレビューが、接触の下に表示される。いくつかの実施形態では、プレビューは、所定の期間(例えば、1秒又は2秒)にわたって、接触がアフォーダンスの上に残った後にのみ表示される。他の実施形態では、プレビューは、接触の強度が強度閾値を超えた(例えば、強い又は深い押圧)後にのみ表示される。
(D5)D4に記載の方法のいくつかの実施形態では、アプリケーションは電子メールアプリケーションであり、アフォーダンスは、電子メールアプリケーションの第1のインスタンス内に表示されたメッセージの表現であり、プレビューは、接触が既定の強度閾値を超える接触の強度を有することを検出すると表示される。
(D6)D4に記載の方法のいくつかの実施形態では、アプリケーションは電子メールアプリケーションであり、アフォーダンスは、電子メールアプリケーションの第1のインスタンス内に表示されたメッセージの表現であり、プレビューは、接触が既定の時間(例えば、1、2、又は3秒)を超えてタッチ感知ディスプレイ上のアフォーダンス上に留まることを検出すると、表示される。
(D7)D1~D4に記載の方法のいくつかの実施形態では、アプリケーションは電子メールアプリケーションであり、アフォーダンス上の接触は、電子メールアプリケーションの第1のインスタンス内に表示されたリンク(例えば、返信、全員に返信、又は新しいメッセージリンクを構成)上の接触である。
(D8)更に別の態様では、電子デバイスが提供され、この電子デバイスは、タッチ感知ディスプレイと、1つ以上のプロセッサと、1つ以上のプロセッサによって実行されると、D1~D7のいずれか1つに記載された方法をこの電子デバイスに実行させる1つ以上のプログラムを記憶するメモリと、を含む。
(D9)追加の態様では、電子デバイスが提供され、この電子デバイスは、タッチ感知ディスプレイと、D1~D7のいずれか1つに記載された方法を実行する手段と、を含む。
(D10)更にもう1つの態様では、非一時的コンピュータ可読記憶媒体が提供される。非一時的コンピュータ可読記憶媒体は、タッチ感知ディスプレイを備えた電子デバイスによって実行されると、D1~D7のいずれか1つに記載された方法をこの電子デバイスに実行させる、実行可能命令を記憶する。
(D11)別の態様では、タッチ感知ディスプレイを備えた電子デバイス上のグラフィカルユーザインタフェースが提供される。このグラフィカルユーザインタフェースは、D1~D7のいずれか1つに記載された方法に従って表示されるユーザインタフェースを含む。
(E1)いくつかの実施形態によれば、方法は、タッチ感知ディスプレイ(タッチスクリーン112、図1C)を備えた電子デバイス(例えば、ポータブル多機能デバイス100、図1A)において実行される。本方法は、タッチ感知ディスプレイ上にコンテンツを表示することと、タッチ感知ディスプレイの縁部に対して略直角な方向での接触の移動を検出することと、を含む。本方法はまた、接触の移動が第1の移動に基づく閾値を満たす(例えば、接触が、縁部から第1の閾値距離を超えて移動した)と判定すると、コンテンツの少なくとも一部分にオーバーレイしてドックを表示することを含み、ドックは、選択されると、電子デバイス上で利用可能なそれぞれのアプリケーションを電子デバイスに開かせる、複数のアフォーダンスを含む。ドックを表示している間に、接触が第2の移動に基づく閾値を満たす(例えば、接触が、縁部から第1の閾値距離よりも大きい第2の閾値距離を超えて移動した)という判定に従って、本方法は、電子デバイス上で最近使用された少なくとも一部のアプリケーションのそれぞれの選択可能な表現を含むアプリケーションスイッチャユーザインタフェースをアクティブにすることを更に含む。ドックをアクティブにするために使用される単一のジェスチャ、次いでアプリケーションスイッチャユーザインタフェースを提供することによって、デバイスの操作性が向上し、ヒューマンマシンインタフェースがより効率的に操作させられ(例えば、ユーザは、ドックに別個にアクセスし、次いで何らかの後の時点でアプリケーションスイッチャユーザインタフェースにアクセスするために複数の非効率的な、時間を浪費する入力を用いる必要なしに、ドック及びアプリケーションスイッチユーザインタフェースをアクティブにするための単一の入力を行うことができるため)。
(E1.5)E1に記載の方法のいくつかの実施形態では、第1の及び第2の移動に基づく閾値は、距離閾値、速度閾値、又は加速度閾値からなる群から選択される。
(E2)更に別の態様では、電子デバイスが提供され、この電子デバイスは、タッチ感知ディスプレイと、1つ以上のプロセッサと、1つ以上のプロセッサによって実行されると、E1~E1.5のいずれか1つに記載された方法をこの電子デバイスに実行させる1つ以上のプログラムを記憶するメモリと、を含む。
(E3)追加の態様では、電子デバイスが提供され、この電子デバイスは、タッチ感知ディスプレイと、E1~E1.5のいずれか1つに記載された方法を実行する手段と、を含む。
(E4)更にもう1つの態様では、非一時的コンピュータ可読記憶媒体が提供される。非一時的コンピュータ可読記憶媒体は、タッチ感知ディスプレイを備えた電子デバイスによって実行されると、E1~E1.5のいずれか1つに記載された方法をこの電子デバイスに実行させる、実行可能命令を記憶する。
(E5)別の態様では、タッチ感知ディスプレイを備えた電子デバイス上のグラフィカルユーザインタフェースが提供される。グラフィカルユーザインタフェースは、E1~E1.5のいずれか1つに記載された方法に従って表示されるユーザインタフェースを含む。
前述の様々な実施形態は、本明細書に記載の任意の他の実施形態と組合せることができることに留意されたい。本明細書で説明する機能及び利点は、包括的なものではなく、特に、図面、明細書及び特許請求の範囲を鑑みると、多くの追加の機能及び利点が当業者には明らかになるであろう。更に、本明細書において使用される文言は、専ら読みやすさ及び説明の目的で選択されたものであり、本発明の主題を画定又は制限するために選択されたものではないことに留意されたい。
図1A~図1D、及び図2は、例示的なデバイスの説明を提供する。図3A~図3Cは、動的強度閾値の例を示す。図4A~図4AAは、複数のアプリケーションと同時に対話するユーザインタフェース(及び複数のアプリケーションとの同時対話が利用可能である分割ビューモードをアクティブにするために使用されるジェスチャ)を説明ために使用されるタッチ感知ディスプレイの概略図であり、これらの図は、図8A~図8Cに示される方法/プロセスを説明するために使用される。図5A~図5Oは、分割ビューモード(2つのアプリケーションが互いにピン留めされ、ディスプレイ上に並べて表示される)とスライドオーバモード(1つのアプリケーションがディスプレイ上で別のアプリケーションにオーバーレイして表示される)とを切り替えるユーザインタフェースを説明するために使用されるタッチ感知ディスプレイの概略図であり、これらの図は、図9A~図9Bの方法/プロセスを説明するために使用される。図6A~図6Qは、ドックを最初にアクティブにし、次いで、ディスプレイ上でアプリケーションスイッチャユーザインタフェースをアクティブにすることを可能にする連続ジェスチャを説明するために使用されるタッチ感知ディスプレイの概略図であり、これらの図は、図10A~図10C及び図12の方法/プロセスを説明するために使用される。図7A~図7Lは、単一のアプリケーションの複数のインスタンス(例えば、単一の電子メールアプリケーションの複数の別個の実行可能なインスタンス)と同時に対話するユーザインタフェースを説明するために使用されるタッチ感知ディスプレイの概略図であり、これらの図は、図11A~図11Bの方法/プロセスを説明するために使用される。
詳細な説明
例示的なデバイス
ここで、添付図面に例が示される実施形態への詳細な参照が行われる。以下の詳細な説明では、説明される様々な実施形態の完全な理解を提供するために数多くの具体的な詳細が記載されている。しかしながら、記載されている様々な実施形態は、これらの具体的な詳細を伴わずとも実践し得ることが、当業者には明らかであろう。他の例では、周知の方法、手順、構成要素、回路、及びネットワークは、実施形態の態様を不必要に不明瞭にしないよう詳細には説明されていない。
本明細書では、第1、第2などの用語は、いくつかの例で、様々な要素を説明するために使用されるが、これらの要素は、これらの用語によって限定されるべきではないことも理解されるであろう。これらの用語は、ある要素を別の要素と区別するためにのみ使用される。例えば、説明されている様々な実施形態の範囲から逸脱することなく、第1の接触は、第2の接触と称することができ、同様に、第2の接触は、第1の接触と称し得る。第1の接触及び第2の接触は両方とも接触であるが、それらは同じ接触ではない。
本明細書に記載する様々な実施形態の説明で使用される術語は、特定の実施形態を説明することのみを目的とし、限定的であることは意図されていない。記載された様々な実施形態の説明、及び添付の特許請求の範囲で使用されるとき、単数形「a」、「an」、及び「the」は、文脈が別途明確に示さない限り、複数形も同様に含むことが意図されている。また、本明細書で使用されるとき、用語「及び/又は」は、関連する列挙された項目のうちの1つ以上のいずれか及び全ての考えられる組合せを指し、かつこれを含むことを理解されたい。用語「includes(含む)」、「including(含む)」、「comprises(含む)(備える)」及び/又は「comprising(含む)(備える)」は、本明細書で使用されるとき、述べられた機能、整数、ステップ、動作、要素、及び/又は構成要素の存在を指定するが、1つ以上の他の機能、整数、ステップ、動作、要素、構成要素、及び/又はそれらの群の存在又は追加を除外しないことが更に理解されるであろう。
本明細書で使用されるとき、用語「if(~の場合)」は、任意選択で、文脈に応じて「when(~のとき)」、又は「upon(~すると)」、又は「in response to determining(~と判定したことに応じて)」、又は「in response to detecting(~を検出したことに応じて)」を意味するものと解釈される。同様に、「~と判定された場合(if it is determined)」又は「[記載の状態又はイベント]が検出された場合(if [a stated condition or event] is detected)」という語句は、任意選択的に、文脈に応じて、「~と判定すると(upon determining)」若しくは「~と判定したことに応じて(in response to determining)」、又は「[記載の状態又はイベント]を検出したとき(upon detecting [the stated condition or event])」若しくは「[記載の状態又はイベント]を検出したことに応じて(in response to detecting [the stated condition or event])」を意味すると解釈される。
本明細書における開示は、互換的に、タッチ感知ディスプレイの特定のユーザインタフェース要素又は特定の部分上で(on)、そこで(at)、その上方で(over)、その上部で(on top of)、又は実質的にその中で(substantially within)タッチ入力を検出することに関する。本明細書で使用されるとき、特定のユーザインタフェース要素で(at)検出されるタッチ入力は、文脈に応じて、同一ユーザインタフェース要素上で(on)、その上方で(over)、その上部で(on top of)、又は実質的にその中で(substantially within)も検出され得る。いくつかの実施形態では、以下により詳細に論じるように、タッチ入力を検出する所望の感度レベルは、電子デバイスのユーザにより構成される(例えば、ユーザは、タッチ入力が完全にユーザインタフェース要素内にあるときにのみタッチ入力が検出されるものとすると決定し得る(また、そのように動作するように電子デバイスを構成し得る))。
電子デバイス、そのようなデバイス用のユーザインタフェース、及びそのようなデバイスを使用する関連するプロセスの実施形態が説明される。いくつかの実施形態では、デバイスは、PDA機能及び/又は音楽プレーヤ機能などの他の機能も含む、携帯電話などのポータブル通信デバイスである。ポータブル多機能デバイスの例示的な実施形態としては、California州CupertinoのApple Inc.のIPHONE(登録商標)、IPOD TOUCH(登録商標)、及びIPAD(登録商標)デバイスが挙げられるが、これらに限定されない。タッチ感知面(例えば、タッチ感知ディスプレイ及び/又はタッチパッド)を備えたラップトップ又はタブレットコンピュータなどの他のポータブル電子デバイスも任意選択的に、使用される。また、いくつかの実施形態では、このデバイスはポータブル通信デバイスではなく、タッチ感知面(例えば、タッチ感知ディスプレイ及び/又はタッチパッド)を備えたデスクトップコンピュータであることもまた理解されたい。
以下の論考では、ディスプレイ及びタッチ感知面を含む電子デバイスについて説明する。しかしながら、電子デバイスは任意選択で、物理キーボード、マウス、及び/又はジョイスティックなどの、1つ以上の他の物理ユーザインタフェースデバイスを含むことを理解されたい。
本デバイスは、一般的に、描画アプリケーション、プレゼンテーションアプリケーション、ワードプロセッシングアプリケーション、ウェブサイト作成アプリケーション、ディスクオーサリングアプリケーション、スプレッドシートアプリケーション、ゲームアプリケーション、電話アプリケーション、テレビ会議アプリケーション、電子メールアプリケーション、インスタントメッセージングアプリケーション、フィットネスアプリケーション、写真管理アプリケーション、デジタルカメラアプリケーション、デジタルビデオカメラアプリケーション、ウェブブラウジングアプリケーション、デジタル音楽再生アプリケーション及び/又はデジタルビデオ再生アプリケーションのうちの1つ以上などの様々なアプリケーションをサポートする。
本デバイス上で実行される様々なアプリケーションは、タッチ感知面などの、少なくとも1つの共通の物理ユーザインタフェースデバイスを、任意選択的に使用する。タッチ感知面の1つ以上の機能、並びにデバイス上に表示される対応する情報は、アプリケーションごとに、及び/又はそれぞれのアプリケーション内で、任意選択的に、調節及び/又は変更される。このように、デバイスの共通の物理アーキテクチャ(タッチ感知面など)は、任意選択的に、ユーザにとって直観的かつ透過的なユーザインタフェースを備える様々なアプリケーションをサポートする。
次に、タッチ感知ディスプレイを備えるポータブル電子デバイスの実施形態に注意を向ける。図1Aは、いくつかの実施形態による、タッチ感知ディスプレイ112を備えたポータブル多機能デバイス100(本明細書では互換的に、電子デバイス100又はデバイス100とも称される)を示すブロック図である。タッチ感知ディスプレイ112は、便宜上「タッチスクリーン」と呼ばれることがあり、「タッチ感知ディスプレイシステム」として知られている又は呼ばれることがある。デバイス100は、(任意選択的に、1つ以上のコンピュータ可読記憶媒体を含む)メモリ102、コントローラ120、1つ以上の処理ユニット(CPUの)122、周辺機器インタフェース118、RF回路108、オーディオ回路110、スピーカ111、マイクロフォン113、入出力(I/O)サブシステム106、他の入力又は制御デバイス116、及び外部ポート124を含む。デバイス100は、任意選択的に、1つ以上の光センサ164を含む。デバイス100は、デバイス100(例えば、デバイス100のタッチ感知ディスプレイシステム112などのタッチ感知面)上の接触の強度を検出する1つ以上の強度センサ165を、任意選択的に、含む。デバイス100は、デバイス100上に触知出力を生成する(例えば、デバイス100のタッチ感知ディスプレイシステム112又はデバイス100のタッチパッドなどの、タッチ感知面上に触知出力を生成する)1つ以上の触知出力生成器167を任意選択的に含む。これらの構成要素は、任意選択的に、1つ以上の通信バス又は信号ライン103を介して通信する。
本明細書及び特許請求の範囲で使用されるとき、用語「触知出力」は、ユーザの触覚でユーザによって検出されることになる、デバイスの従前の位置に対するそのデバイスの物理的変位、デバイスの構成要素(例えば、タッチ感知面)の、そのデバイスの別の構成要素(例えば、筐体)に対する物理的変位、又は、デバイスの質量中心に対する構成要素の変位を指す。例えば、デバイス又はデバイスの構成要素が、タッチに敏感なユーザの表面(例えば、ユーザの手の指、手のひら、又は他の部分)に接触している状況では、物理的変位によって生成された触知出力は、そのデバイス又はデバイスの構成要素の物理的特性の認識される変化に相当する触感として、ユーザによって解釈されることになる。例えば、タッチ感知面(例えば、タッチ感知ディスプレイ又はトラックパッド)の移動は、ユーザによって、物理アクチュエータボタンの「ダウンクリック」又は「アップクリック」として、任意選択的に解釈される。いくつかの場合、ユーザの動作により物理的に押された(例えば、変位された)タッチ感知面と関連付けられた物理アクチュエータボタンの移動がない時でさえ、ユーザは「ダウンクリック」又は「アップクリック」などの触感を感じるであろう。別の例として、タッチ感知面の移動は、タッチ感知面の平滑度に変化がない場合であっても、ユーザによって、そのタッチ感知面の「粗さ」として、任意選択的に解釈又は感知される。そのようなユーザによるタッチの解釈は、ユーザの個人的な感覚認知に左右されるが、大多数のユーザに共通する、多くのタッチの感覚認知が存在する。したがって、触知出力が、ユーザの特定の感覚認知(例えば、「アップクリック」「ダウンクリック」、「粗さ」)に対応するものと記述される場合、別途記載のない限り、生成された触知出力は、典型的な(又は、平均的な)ユーザの記述された感覚認知を生成することになるデバイス、又はデバイスの構成要素の物理的変位に対応する。
デバイス100は、ポータブル多機能デバイスの一例に過ぎず、デバイス100は、任意選択的に、示されているものよりも多くの構成要素又は少ない構成要素を有するものであり、任意選択的に、2つ以上の構成要素を組合せるものであり、又は、任意選択的に、それらの構成要素の異なる構成若しくは配置を有するものであることを理解されたい。図1Aに示される様々な構成要素は、1つ以上の信号処理回路及び/又は特定用途向け集積回路を含む、ハードウェア、ソフトウェア、又はハードウェア及びソフトウェアの双方の組合せで実装される。
メモリ102は、任意選択的に、高速ランダムアクセスメモリ(例えば、DRAM、SRAM、DDR RAM、又は他のランダムアクセスソリッドステートメモリデバイス)を含み、また任意選択的に、1つ以上の磁気ディスク記憶デバイス、フラッシュメモリデバイス、又は他の不揮発性ソリッドステート記憶デバイスなどの、不揮発性メモリを含む。メモリ102は、任意選択的に、プロセッサ(単数又は複数)122から遠隔に配置される1つ以上の記憶デバイスを含む。CPU122及び周辺機器インタフェース118などの、デバイス100の他の構成要素によるメモリ102へのアクセスは、任意選択的に、コントローラ120により制御される。
周辺機器インタフェース118を使用して、このデバイスの入力周辺機器及び出力周辺機器を、CPU122及びメモリ102に連結することができる。1つ以上のプロセッサ122は、メモリ102に記憶された様々なソフトウェアプログラム及び/又は命令セットを動作させ、又は実行して、デバイス100のための様々な機能を実行し、データを処理する。
いくつかの実施形態では、周辺機器インタフェース118、CPU122及びコントローラ120は、任意選択的に、チップ104などのシングルチップ上に実装される。いくつかの他の実施形態では、それらは別々のチップ上に任意選択的に実装される。
RF(radio frequency)(無線周波数)回路108は、電磁信号とも呼ばれるRF信号を送受信する。RF回路108は、電気信号を電磁信号に、又は電磁信号を電気信号に変換し、電磁信号を介して通信ネットワーク及び他の通信デバイスと通信する。RF回路108は、任意選択的に、これらの機能を実行する周知の回路を含み、それらの回路としては、アンテナシステム、RF送受信機、1つ以上の増幅器、同調器、1つ以上の発振器、デジタル信号プロセッサ、CODECチップセット、加入者識別モジュール(subscriber identity module、SIM)カード、メモリなどが挙げられるが、これらに限定されない。RF回路108は、任意選択的に、ワールドワイドウェブ(World Wide Web、WWW)とも呼ばれるインターネット、イントラネット、並びに/又はセルラー電話ネットワーク、無線ローカルエリアネットワーク(local area network、LAN)及び/若しくはメトロポリタンエリアネットワーク(metropolitan area network、MAN)などの無線ネットワークなどのネットワークと、また他のデバイスと、無線通信によって通信する。無線通信は、任意選択的に、Global System for Mobile Communications(GSM)(登録商標)、Enhanced Data GSM Environment(EDGE)(登録商標)、高速ダウンリンクパケットアクセス(HSDPA)、高速アップリンクパケットアクセス(HSUPA)、Evolution、Data-Only(EV-DO)、HSPA、HSPA+、Dual-Cell HSPA(DC-HSPDA)、ロングタームエボリューション(LTE)、近距離無線通信(NFC)、広帯域符号分割多元接続(W-CDMA)、符号分割多元接続(CDMA)、時分割多元接続(TDMA)、Bluetooth(登録商標)、及び/又はワイヤレスフィデリティ(Wi-Fi)(登録商標)(例えば、IEEE802.11a、IEEE802.11b、IEEE802.11g及び/又はIEEE802.11n)を含むが、これらに限定されない複数の通信規格、プロトコル及び技術のいずれかを用いる。
オーディオ回路110、スピーカ111、及びマイクロフォン113は、ユーザとデバイス100との間のオーディオインタフェースを提供する。オーディオ回路110は、周辺機器インタフェース118からオーディオデータを受信し、このオーディオデータを電気信号に変換し、この電気信号をスピーカ111に伝送する。スピーカ111は、電気信号を人間の可聴音波に変換する。また、オーディオ回路110は、マイクロフォン113によって音波から変換された電気信号を受信する。オーディオ回路110は、電気信号をオーディオデータに変換し、このオーディオデータを処理のために周辺機器インタフェース118に伝送する。オーディオデータは、任意選択的に、周辺機器インタフェース118によって、メモリ102及び/若しくはRF回路108から取得され、かつ/又はメモリ102及び/若しくはRF回路108に伝送される。いくつかの実施形態では、オーディオ回路110はまた、ヘッドセットジャックを含む。ヘッドセットジャックは、オーディオ回路110と、出力専用ヘッドホン又は出力(例えば片耳又は両耳用のヘッドホン)及び入力(例えばマイクロフォン)の両方を有するヘッドセットなどの着脱可能なオーディオ入出力周辺機器との間のインタフェースを提供する。
I/Oサブシステム106は、周辺機器インタフェース118に、タッチスクリーン112及び他の入力制御デバイス116などのデバイス100の入出力周辺機器を接続する。I/Oサブシステム106は、任意選択的に、ディスプレイコントローラ156、光センサコントローラ158、強度センサコントローラ159、触覚フィードバックコントローラ161、及び他の入力若しくは制御デバイスのための1つ以上の入力コントローラ160を含む。1つ以上の入力コントローラ160は、その他の入力又は制御デバイス116から電気信号を受信し、それらへ電気信号を送信する。他の入力制御デバイス116は、任意選択的に、物理ボタン(例えば、プッシュボタン、ロッカボタンなど)、ダイヤル、スライダスイッチ、ジョイスティック、クリックホイールなどを含む。いくつかの他の実施形態において、入力コントローラ(単数又は複数)160は、キーボード、赤外線ポート、USBポート、及びマウスなどのポインタデバイスのうちのいずれかに、任意選択的に連結される(又は、いずれにも連結されない)。1つ以上のボタンは、スピーカ111及び/又はマイクロフォン113の音量調節のためのアップ/ダウンボタンを任意選択的に含む。1つ以上のボタンは、任意選択的に、プッシュボタンを含む。
タッチ感知ディスプレイ112は、デバイスとユーザとの間の入力インタフェース及び出力インタフェースを提供する。ディスプレイコントローラ156は、タッチスクリーン112からの電気信号の受信及び/又はタッチスクリーン112への電気信号の送信を行う。タッチスクリーン112は、ユーザに対して視覚出力を表示する。この視覚出力は、グラフィック、テキスト、アイコン、ビデオ、及びそれらの任意の組合せ(総称して「グラフィック」)を任意選択的に含む。いくつかの実施形態では、視覚出力の一部又は全ては、ユーザインタフェースオブジェクトに対応する。
タッチスクリーン112は、触覚及び/若しくは触感の接触に基づくユーザからの入力を受け付けるタッチ感知面、センサ、又はセンサのセットを有する。タッチスクリーン112及びディスプレイコントローラ156は(メモリ102内の任意の関連モジュール及び/又は命令セットとともに)、タッチスクリーン112上で接触(及び任意の接触の移動又は中断)を検出し、検出された接触をタッチスクリーン112上に表示されたユーザインタフェースオブジェクト(例えば、1つ以上のソフトキー、アイコン、ウェブページ又は画像)との対話に変換する。例示的な実施形態では、タッチスクリーン112とユーザとの間の接触点は、ユーザの指の下の領域に対応する。
タッチスクリーン112は任意選択的に、LCD(液晶ディスプレイ)技術、LPD(発光ポリマーディスプレイ)技術又はLED(発光ダイオード)技術、あるいはOLED(有機発光ダイオード)技術、を使用するが、他の実施形態では、他のディスプレイ技術が使用される。タッチスクリーン112及びディスプレイコントローラ156は、任意選択的に、容量性、抵抗性、赤外線、及び表面音波の技術、並びにタッチスクリーン112との1つ以上の接触点を判定する他の近接センサアレイ又は他の要素を含むがこれらに限定されない、現在知られている又は今後開発される複数のタッチ感知技術のうちのいずれかを使用して、接触及びそのあらゆる動き又は中断を検出する。例示的な実施形態では、Apple Inc.(Cupertino、California)のiPhone(登録商標)、iPod Touch(登録商標)、及びiPad(登録商標)などにおいて見られるような、投影型相互容量感知技術が使用される。
タッチスクリーン112は、任意選択的に、400dpiを超えるビデオ解像度を有する。いくつかの実施形態では、タッチスクリーン112は、少なくとも600dpiのビデオ解像度を有する。他の実施形態では、タッチスクリーン112は、少なくとも1000dpiのビデオ解像度を有する。ユーザは、スタイラス、又は指などの任意の好適な物又はディジットを使用して、タッチスクリーン112と任意選択的に接触する。いくつかの実施形態では、ユーザインタフェースは、指に基づく接触及びジェスチャと主に作用するように設計されている。いくつかの実施形態では、デバイスは、指に基づく入力を、正確なポインタ/カーソル位置又はユーザの望むアクションを実行するコマンドに変換する。
いくつかの実施形態では、タッチスクリーンに加えて、デバイス100は、任意選択的に、特定の機能をアクティブ又は非アクティブにするタッチパッド(図示せず)を含む。いくつかの実施形態では、タッチパッドは、タッチスクリーンとは異なり、視覚出力を表示しない、デバイスのタッチ感知領域である。タッチパッドは、任意選択的に、タッチスクリーン112又はタッチスクリーンによって形成されるタッチ感知面の拡張部とは別個のタッチ感知面である。
デバイス100は、また、様々な構成要素に電力を供給する電力システム162を含む。電力システム162は、任意選択的に、電力管理システム、1つ以上の電源(例えば、バッテリ、交流(AC))、再充電システム、停電検出回路、電力コンバータ又はインバータ、電力状態インジケータ(例えば、発光ダイオード(LED))、並びにポータブルデバイス内での電力の生成、管理、及び分配と関連付けられた任意の他の構成要素を含む。
また、デバイス100は、任意選択的に、1つ以上の光センサ164を含む。図1Aは、I/Oサブシステム106内の光センサコントローラ158に結合された光センサを示す。光センサ164は、任意選択的に、電荷結合デバイス(charge-coupled device、CCD)又は相補的金属酸化物半導体(complementary metal-oxide semiconductor、CMOS)フォトトランジスタを含む。光センサ164は、1つ以上のレンズを通って投影された環境からの光を受信し、その光を、画像を表すデータに変換する。光センサ164は、撮像モジュール143(カメラモジュールとも呼ばれる)と連動して、任意選択的に、静止画像又はビデオをキャプチャする。いくつかの実施形態では、タッチ感知ディスプレイを静止画像及び/又はビデオ画像取得のためのビューファインダとして有効化するように、光センサは、デバイスの前面のタッチスクリーン112の反対側である、デバイス100の背面に配置されている。いくつかの実施形態では、ユーザがタッチ感知ディスプレイ上で他のテレビ会議参加者を見ている間に、ユーザの画像を、テレビ会議のために任意選択的に、得るように、別の光センサがデバイスの前面に配置される。
また、デバイス100は、任意選択的に、1つ以上の接触強度センサ165も含む。図1Aは、I/Oサブシステム106内の強度センサコントローラ159に結合された、接触強度センサを示す。接触強度センサ165は、1つ以上のピエゾ抵抗ひずみゲージ、電気容量式力センサ、電気力センサ、圧電力センサ、光学力センサ、容量式タッチ感知面、又は他の強度センサ(例えば、タッチ感知面上の接触の力(又は圧力)を測定するために使用するセンサ)を、任意選択的に含む。接触強度センサ165は、接触強度情報(例えば、圧力情報又は圧力情報に対するプロキシ)を環境から受信する。いくつかの実施形態では、少なくとも1つの接触強度センサは、タッチ感知面(例えばタッチ感知ディスプレイシステム112)と並置される、又はそれに近接している。いくつかの実施形態では、少なくとも1つの接触強度センサが、デバイス100の前面に配置されたタッチスクリーン112の反対側である、デバイス100の背面に配置されている。
また、デバイス100は、任意選択的に、1つ以上の近接センサ166も含む。図1Aは、周辺機器インタフェース118と連結された近接センサ166を示す。あるいは、近接センサ166は、I/Oサブシステム106内の入力コントローラ160に結合される。いくつかの実施形態において、多機能デバイスがユーザの耳の近くに配置されている場合(例えば、ユーザが電話通話を行っている場合)、近接センサがオフになり、タッチスクリーン112が無効になる。
また、デバイス100は、任意選択的に、1つ以上の触知出力生成器167を含む。図1Aは、I/Oサブシステム106内の触覚フィードバックコントローラ161に結合された、触知出力生成器を示す。触知出力生成器167は、任意選択的に、スピーカ若しくは他のオーディオ構成要素などの1つ以上の電気音響デバイス、及び/又はモータ、ソレノイド、電気活性ポリマー、圧電アクチュエータ、静電アクチュエータ、若しくは他の触知出力生成構成要素(例えば、デバイス上で電気信号を触知出力に変換する構成要素)などのエネルギを直線の動きに変換する電気機械デバイスを含む。接触強度センサ165は、触覚フィードバックモジュール133から触知フィードバック生成命令を受信し、デバイス100のユーザが感知することが可能な触知出力をデバイス100上に生成する。いくつかの実施形態では、少なくとも1つの触知出力生成器は、タッチ感知面(例えば、タッチ感知ディスプレイシステム112)に配置されているか、又はそれに近接しており、任意選択的に、タッチ感知面を垂直方向(例えば、デバイス100の表面の内/外)に、又は横方向(例えば、デバイス100の表面と同じ平面内の前後)に動かすことによって、触知出力を生成する。いくつかの実施形態では、少なくとも1つの触知出力生成器センサが、デバイス100の前面に配置されたタッチ感知ディスプレイ112の反対側である、デバイス100の背面に配置されている。
また、デバイス100は、任意選択的に、1つ以上の加速度計168を含む。図1Aは、周辺機器インタフェース118に連結された加速度計168を示す。代わりに、加速度計168は、任意選択的に、I/Oサブシステム106内の入力コントローラ160に結合される。いくつかの実施形態では、情報は、1つ以上の加速度計から受信したデータの分析に基づいて、縦長表示又は横長表示でタッチ感知ディスプレイ上に表示される。デバイス100は任意選択で、加速度計(単数又は複数)168に加えて、磁気計(図示せず)並びにデバイス100の位置及び向き(例えば、縦向き又は横向き)に関する情報を取得するGPS(又はGLONASS又は他のグローバルナビゲーションシステム)受信機(図示せず)を含む。
いくつかの実施形態では、メモリ102内に記憶されているソフトウェア構成要素は、オペレーティングシステム126、通信モジュール(又は命令セット)128、接触/動きモジュール(又は命令セット)130、グラフィックモジュール(又は命令セット)132、テキスト入力モジュール(又は命令セット)134、全地球測位システム(Global Positioning System、GPS)モジュール(又は命令セット)135、及びアプリケーション(又は命令セット)136を含む。更に、いくつかの実施形態では、図1Aに示すように、メモリ102は、デバイス/グローバル内部状態157を記憶する。デバイス/グローバル内部状態157は、次のうちの1つ以上を含む。現在アクティブ状態のアプリケーションがある場合に、どのアプリケーションがアクティブであるかを示す、アクティブアプリケーション状態、どのアプリケーション、ビュー、又は他の情報がタッチ感知ディスプレイ112の様々な領域を占有しているかを示す、表示状態、デバイスの様々なセンサ及び入力制御デバイス116から得られる情報を含む、センサ状態、及び、デバイスの位置及び/又は姿勢(例えば、デバイスの向き)に関する位置情報。いくつかの実施形態では、デバイス/グローバル内部状態157は、マルチタスキングモード(共用スクリーンビュー、共用スクリーンモード、又はマルチタスクモードとも呼ばれる)でアクティブにされたアプリケーションを追跡するためにマルチタスクモジュール180と通信する。このようにして、デバイス100が縦向きから横向きの表示モードに回転された場合、マルチタスクモジュール180は、縦向きから横向きに切り替えた後にマルチタスキングモードを再びアクティブにするために、デバイス/グローバル内部状態157からマルチタスキング状態情報(例えば、マルチタスキングモードでの各アプリケーションの表示領域)を取得することができる。マルチタスキングモードにおけるステートフルアプリケーション動作の追加の実施形態は、以下の図43A~図45Cを参照して後述される。
オペレーティングシステム126(例えば、Darwin、RTXC、LINUX、UNIX、OS X、WINDOWS、又はVxWorksなどの組み込み型オペレーティングシステム)は、一般的なシステムタスク(例えば、メモリ管理、記憶デバイス制御、電力管理など)を制御及び管理する様々なソフトウェア構成要素及び/又はドライバを含み、様々なハードウェア構成要素とソフトウェア構成要素との間の通信を容易にする。
通信モジュール128は、1つ以上の外部ポート124を介して他のデバイスとの通信を容易にし、RF回路108及び/又は外部ポート124が受信したデータを処理する様々なソフトウェア構成要素も含む。外部ポート124(例えばユニバーサルシリアルバス(Universal Serial Bus、USB)、FIREWIRE(登録商標)など)は、直接的に、又はネットワーク(例えばインターネット、無線LANなど)を介して間接的に、他のデバイスに連結するように適合されている。いくつかの実施形態では、外部ポートは、APPLE Inc.のIPODデバイスのいくつかの実施形態で使用される30ピンコネクタと同じ若しくは類似の、及び/又は互換性のあるマルチピン(例えば、30ピン)コネクタである。他の実施形態では、外部ポートは、APPLE Inc.のライトニングコネクタで使用される8ピンコネクタと同じ若しくは類似の、及び/又は互換性を有するマルチピン(例えば、8ピン)コネクタである。
接触/動きモジュール130は、任意選択的に、タッチスクリーン112(ディスプレイコントローラ156と連動して)及び他のタッチ感知デバイス(例えば、タッチパッド又は物理クリックホイール)との接触を検出する。接触/動きモジュール130は、接触が生じたかを判定すること(例えば、指を下ろすイベントを検出すること)、接触の強度(例えば、接触の力若しくは圧力、又は接触の力若しくは圧力の代替物)を判定すること、接触の移動が存在するかを判定し、タッチ感知面を横断する移動を追跡すること(例えば、指をドラッグする1つ以上のイベントを検出すること)、及び接触が停止したかを判定すること(例えば、指を上げるイベント又は接触の中断を検出すること)などの、接触の検出に関する様々な動作を実行する、様々なソフトウェア構成要素を含む。接触/動きモジュール130は、タッチ感知面から接触データを受信する。一連の接触データによって表される、接触点の移動を判定することは、任意選択的に、接触点の速さ(大きさ)、速度(大きさ及び方向)、及び/又は加速度(大きさ及び/又は方向の変化)を判定することを含む。これらの動作は、任意選択的に、単一の接触(例えば、1本の指の接触)又は複数の同時接触(例えば、「マルチタッチ」/複数の指の接触)に適用される。いくつかの実施形態では、接触/動きモジュール130及びディスプレイコントローラ156は、タッチパッド上の接触を検出する。
いくつかの実施形態では、接触/動きモジュール130は、ユーザによって動作が実行されたか否かを判定するための(例えば、ユーザがアフォーダンス上で選択したか、あるいは「クリック」したかを判定するための)、1つ以上の強度閾値のセットを使用する。いくつかの実施形態では、強度閾値の少なくとも1つのサブセットが、ソフトウェアパラメータに従って判定される(例えば、強度閾値は、特定の物理アクチュエータのアクティブ化閾値によって判定されるのではなく、デバイス100の物理ハードウェアを変化させることなく調整することができる)。例えば、トラックパッド又はタッチ感知ディスプレイのマウス「クリック」閾値は、トラックパッド又はタッチ感知ディスプレイのハードウェアを変更することなく広範囲の所定の閾値のうちのいずれかに設定することができる。更に、一部の実装形態では、デバイスのユーザには、(例えば、個々の強度閾値を調整することにより、及び/又は、システムレベルのクリック「強度」パラメータにより、一度に複数の強度閾値を調整することによって)強度閾値のセットのうちの1つ以上を調整するソフトウェア設定が提供される。
接触/動きモジュール130は、任意選択的に、ユーザによるジェスチャ入力を検出する。タッチ感知面上の異なるジェスチャは、異なる接触パターンを有する(例えば検出される接触の動き、タイミング、及び/又は強度が異なる)。したがって、ジェスチャは、任意選択的に、特定の接触パターンを検出することによって検出される。例えば、指タップジェスチャを検出することは、指を下ろすイベントを検出し、それに続いて指を下ろすイベントと同じ位置(又は実質上同じ位置)(例えば、アイコンの位置)で指アップ(リフトオフ)イベントを検出することを含む。別の例として、タッチ感知面上での指のスワイプジェスチャを検出することは、指を下ろすイベントを検出し、続いて、1つ以上の、指をドラッグするイベントを検出し、いくつかの実施形態では、その後、続いて指を上げる(リフトオフ)イベントを検出することを含む。
グラフィックモジュール132は、表示されるグラフィックの視覚的な影響(例えば、輝度、透明度、彩度、コントラスト、又は他の視覚的特性)を変化させる構成要素を含めて、タッチスクリーン112又は他のディスプレイ上にグラフィックをレンダリング及び表示する様々な知られているソフトウェア構成要素を含む。本明細書で使用されるとき、用語「グラフィック」は、テキスト、ウェブページ、アイコン(ソフトキーを含むユーザインタフェースオブジェクトなど)、デジタル画像、ビデオ、及びアニメーションなどを含むがこれらに限定されない、ユーザに対して表示することができるいずれかのオブジェクトを含む。
いくつかの実施形態では、グラフィックモジュール132は、使用されることになるグラフィックを表すデータを記憶する。各グラフィックには、任意選択的に、対応するコードが割り当てられる。グラフィックモジュール132は、アプリケーションなどから、必要に応じて、座標データ及び他のグラフィック特性データとともに、表示されることとなるグラフィックを指定する1つ以上のコードを受信し、次にディスプレイコントローラ156に出力する画面の画像データを生成する。いくつかの実施形態では、グラフィックモジュール132は、各アプリケーション136のマルチタスクデータ176で記憶されたグラフィックを取得する(図1B)。いくつかの実施形態では、マルチタスクデータ176は、異なるサイズの複数のグラフィックを記憶し、そうして、アプリケーションは、共用スクリーンモードにある間に素早くサイズ変更することができる(サイズ変更アプリケーションは、図6A~図6J、図37A~図37G、及び図40A~図40Dを参照して以下で更に詳しく論じられる)。
触覚フィードバックモジュール133は、デバイス100とのユーザ対話に応じて、デバイス100上の1つ以上の場所で触知出力を生成するために、触知出力生成器(単数又は複数)167によって使用される命令を生成する、様々なソフトウェア構成要素を含む。
テキスト入力モジュール134は、任意選択的に、グラフィックモジュール132の構成要素であり、様々なアプリケーション(例えば、連絡先モジュール137、電子メールクライアントモジュール140、IMモジュール141、ブラウザモジュール147、及びテキスト入力を必要とする任意の他のアプリケーション)でテキストを入力するための、ソフトキーボードを提供する。
GPSモジュール135は、デバイスの位置を判定し、この情報を、様々なアプリケーションで使用するために(例えば、位置に基づく電話発信で使用するために電話138へ、写真/ビデオのメタデータとしてカメラ143へ、並びに、気象ウィジェット、地域のイエローページウィジェット、及び地図/ナビゲーションウィジェットなどの、位置に基づくサービスを提供するアプリケーションへ)提供する。
アプリケーション(「app」)136は、任意選択的に、以下のモジュール(又は、命令セット)、あるいはそれらのサブセット又はスーパーセットを含む。
●連絡先モジュール137(時には、アドレス帳又は連絡先リストとも呼ばれる)、
●電話モジュール138、
●ビデオ会議モジュール139、
●電子メールクライアントモジュール140、
●インスタントメッセージング(IM)モジュール141、
●フィットネスモジュール142、
●静止画像及び/又はビデオ画像用のカメラモジュール143、
●画像管理モジュール144、
●ブラウザモジュール147、
●カレンダーモジュール148、
●気象ウィジェット149-1、株式ウィジェット149-2、計算機ウィジェット149-3、アラーム時計ウィジェット149-4、辞書ウィジェット149-5、及びユーザによって取得された他のウィジェット、並びにユーザ作成ウィジェット149-6のうちの1つ以上を任意選択的に含む、ウィジェットモジュール149、
●検索モジュール151、
●任意選択的にビデオプレーヤモジュール及び音楽プレーヤモジュールから構成されている、ビデオ及び音楽プレーヤモジュール152、
●メモモジュール153、
●地図モジュール154、及び/又は、
●オンラインビデオモジュール155。
任意選択的にメモリ102内に記憶される他のアプリケーション136の例としては、他のワードプロセッシングアプリケーション、他の画像編集アプリケーション、描画アプリケーション、プレゼンテーションアプリケーション、ウェブサイト作成アプリケーション、ディスクオーサリングアプリケーション、スプレッドシートアプリケーション、JAVA(登録商標)対応アプリケーション、暗号化、デジタル著作権管理、音声認識、ユーザ作成ウィジェット149-6を作るためのウィジェットクリエータモジュール、及び音声複製が挙げられる。
タッチスクリーン112、ディスプレイコントローラ156、接触モジュール130、グラフィックモジュール132、及びテキスト入力モジュール134と併せて、連絡先モジュール137は、(例えば、メモリ102又はメモリ370内の連絡先モジュール137に記憶される)アドレス帳又は連絡先リストを管理するために任意選択的に使用され、それには、アドレス帳に名前(単数又は複数)を加えること、アドレス帳から名前(単数又は複数)を削除すること、電話番号(単数又は複数)、電子メールアドレス(単数又は複数)、住所(単数又は複数)、又は他の情報を名前に関連付けること、画像を名前に関連付けること、名前を分類して並べ替えること、電話番号又は電子メールアドレスを提供して、電話モジュール138、テレビ会議モジュール139、電子メールクライアントモジュール140、若しくはIMモジュール141による通信を開始する及び/又は容易にすること、などが含まれる。
RF回路108、オーディオ回路110、スピーカ111、マイクロフォン113、タッチスクリーン112、ディスプレイコントローラ156、接触モジュール130、グラフィックモジュール132、及びテキスト入力モジュール134と併せて、電話モジュール138は、任意選択的に、電話番号に対応する一連の文字を入力したり、アドレス帳137内の1つ以上の電話番号にアクセスしたり、入力されてある電話番号を修正したり、各々の電話番号をダイヤルしたり、会話を実行したり、会話が完了したときに接続を切る若しくは電話を切るために使用される。前述のように、無線通信は、任意選択で、複数の通信規格、プロトコル、及び技術のうちのいずれかを使用する。
RF回路108、オーディオ回路110、スピーカ111、マイクロフォン113、タッチスクリーン112、ディスプレイコントローラ156、光センサ164、光センサコントローラ158、接触モジュール130、グラフィックモジュール132、テキスト入力モジュール134、連絡先リスト137、及び電話モジュール138と併せて、テレビ会議モジュール139は、ユーザの指示に従って、ユーザと1人以上の他の参加者との間のテレビ会議を開始し、行い、終了するための実行可能命令を含む。
RF回路108、タッチスクリーン112、ディスプレイコントローラ156、接触モジュール130、グラフィックモジュール132、及びテキスト入力モジュール134と併せて、電子メールクライアントモジュール140は、ユーザの指示に応じて、電子メールを作成し、送信し、受信し、管理するための、実行可能命令を含んでいる。画像管理モジュール144と連動して、電子メールクライアントモジュール140は、カメラモジュール143で撮影された静止画像又はビデオ画像を有する電子メールの作成及び送信を非常に容易にする。
RF回路108、タッチスクリーン112、ディスプレイコントローラ156、接触モジュール130、グラフィックモジュール132、及びテキスト入力モジュール134と併せて、インスタントメッセージングモジュール141は、インスタントメッセージに対応する文字列を入力し、入力済みの文字を修正し、対応するインスタントメッセージを送信し(例えば、電話ベースのインスタントメッセージのためのショートメッセージサービス(SMS)若しくはマルチメディアメッセージサービス(MMS)プロトコルを用いて、又はインターネットベースのインスタントメッセージのためのXMPP、SIMPLE、若しくはIMPSを用いて)、インスタントメッセージを受信し、受信したインスタントメッセージを表示するための実行可能命令を含む。いくつかの実施形態では、送信及び/又は受信されるインスタントメッセージは、任意選択的に、MMS及び/又は拡張メッセージングサービス(Enhanced Messaging Service、EMS)でサポートされるような、グラフィック、写真、オーディオファイル、ビデオファイル、及び/又は他の添付ファイルを含む。本明細書で使用されるとき、「インスタントメッセージング」とは、電話ベースのメッセージ(例えば、SMS又はMMSを使用して送信されるメッセージ)及びインターネットベースのメッセージ(例えば、XMPP、SIMPLE、又はIMPSを使用して送信されるメッセージ)の双方を示す。
RF回路108、タッチスクリーン112、ディスプレイコントローラ156、接触モジュール130、グラフィックモジュール132、テキスト入力モジュール134、GPSモジュール135、地図モジュール154、並びに、ビデオ及び音楽プレーヤモジュール146と併せて、フィットネスモジュール142は、トレーニングを作成したり(例えば、時間、距離、及び/又はカロリー消費目標に関して)、トレーニングセンサ(携帯時計若しくは歩数計などのスポーツデバイス)と通信したり、トレーニングセンサデータを受信したり、トレーニングを監視するために用いられるセンサを較正したり、トレーニングのための音楽を選択して再生したり、トレーニングデータを表示、記憶、送信したりするための実行可能命令を含む。
タッチスクリーン112、ディスプレイコントローラ156、光センサ(単数又は複数)164、光センサコントローラ158、接触モジュール130、グラフィックモジュール132、及び画像管理モジュール144と併せて、カメラモジュール143は、静止画像又はビデオ(ビデオストリームを含む)をキャプチャしてメモリ102にそれらを記憶する、静止画像又はビデオの特性を変更する、又はメモリ102から静止画像若しくはビデオを削除するための実行可能命令を含む。
タッチスクリーン112、ディスプレイコントローラ156、接触モジュール130、グラフィックモジュール132、テキスト入力モジュール134、及びカメラモジュール143と併せて、画像管理モジュール144は、静止画像及び/又はビデオ画像を配置する、修正する(例えば、編集する)又は別の方法で操作する、ラベルを付ける、削除する、提示する(例えば、デジタルスライドショー又はアルバムにおいて)、並びに記憶するための実行可能命令を含む。
RF回路108、タッチスクリーン112、ディスプレイシステムコントローラ156、接触モジュール130、グラフィックモジュール132、及びテキスト入力モジュール134と併せて、ブラウザモジュール147は、ウェブページ又はそれらの一部、並びにウェブページにリンクされた添付ファイル及び他のファイルを検索し、これにリンクし、受信し、表示することを含む、ユーザの指示に従ってインターネットをブラウズするための実行可能命令を含む。
RF回路108、タッチスクリーン112、ディスプレイシステムコントローラ156、接触モジュール130、グラフィックモジュール132、テキスト入力モジュール134、電子メールクライアントモジュール140、及びブラウザモジュール147と併せて、カレンダーモジュール148は、ユーザの指示に従い、カレンダー及びカレンダーと関連付けられたデータ(例えば、カレンダー項目、やることリストなど)を作成、表示、変更、記憶するための実行可能命令を含む。
RF回路108、タッチスクリーン112、ディスプレイシステムコントローラ156、接触モジュール130、グラフィックモジュール132、テキスト入力モジュール134、及びブラウザモジュール147と併せて、ウィジェットモジュール149は、ユーザによって任意選択的にダウンロードされ、使用されるミニアプリケーション(例えば、気象ウィジェット149-1、株式ウィジェット149-2、計算機ウィジェット149-3、アラーム時計ウィジェット149-4、及び辞書ウィジェット149-5)、又はユーザによって作成されるミニアプリケーション(例えば、ユーザ作成ウィジェット149-6)である。いくつかの実施形態では、ウィジェットは、HTML(Hypertext Markup Language;ハイパーテキストマークアップ言語)ファイル、CSS(Cascading Style Sheets;カスケーディングスタイルシート)ファイル、及びJavaScript(登録商標)ファイルを含む。いくつかの実施形態では、ウィジェットは、XML(Extensible Markup Language:拡張可能マークアップ言語)ファイル及びJavaScriptファイル(例えば、Yahoo!ウィジェット)を含む。
RF回路108、タッチスクリーン112、ディスプレイシステムコントローラ156、接触モジュール130、グラフィックモジュール132、テキスト入力モジュール134、及びブラウザモジュール147と併せて、ウィジェットクリエータモジュール(図示されていない)は、ウィジェットを作成する(例えば、ウェブページのユーザ指定箇所をウィジェットに変える)ために、ユーザによって任意選択的に使用される。
タッチスクリーン112、ディスプレイシステムコントローラ156、接触モジュール130、グラフィックモジュール132、及びテキスト入力モジュール134と併せて、検索モジュール151は、ユーザの指示に従い、1つ以上の検索基準(例えば、1つ以上のユーザ指定の検索語句)と一致する、メモリ102内のテキスト、音楽、音、画像、ビデオ、及び/又は他のファイルを検索するための実行可能命令を含む。
タッチスクリーン112、ディスプレイシステムコントローラ156、接触モジュール130、グラフィックモジュール132、オーディオ回路110、スピーカ111、RF回路108、及びブラウザモジュール147と併せて、ビデオ及び音楽プレーヤモジュール152は、MP3又はAACファイルなどの1つ以上のファイル形式で記憶された録音済みの音楽又は他のサウンドファイルをユーザがダウンロード及び再生できるようにする実行可能命令、並びに、ビデオを(例えば、タッチスクリーン112上又は外部ポート124を介して接続された外部のディスプレイ上に)表示、提示、又は別の方法で再生するための実行可能命令を含む。いくつかの実施形態では、デバイス100は、任意選択的に、APPLE Inc.のIPOD(登録商標)などのMP3プレーヤの機能を備える。
タッチスクリーン112、ディスプレイコントローラ156、接触モジュール130、グラフィックモジュール132、及びテキスト入力モジュール134と併せて、メモモジュール153は、ユーザの指示に従って、メモ、やることリストなどを作成及び管理するための実行可能命令を含む。
RF回路108、タッチスクリーン112、ディスプレイシステムコントローラ156、接触モジュール130、グラフィックモジュール132、テキスト入力モジュール134、GPSモジュール135、及びブラウザモジュール147と併せて、地図モジュール154は任意選択的に、ユーザの指示に従って、地図及び地図と関連付けられたデータ(例えば、運転方向、特定の位置における又はその近くの店舗及び対象となる他の地点についてのデータ、並びに位置に基づく他のデータ)を受信、表示、変更、記憶するために使用される。
タッチスクリーン112、ディスプレイシステムコントローラ156、接触モジュール130、グラフィックモジュール132、オーディオ回路110、スピーカ111、RF回路108、テキスト入力モジュール134、電子メールクライアントモジュール140、及びブラウザモジュール147と併せて、オンラインビデオモジュール155は、ユーザがH.264などの1つ以上のファイル形式のオンラインビデオにアクセスし、ブラウズし、受信し(例えば、ストリーミング及び/又はダウンロードにより)、再生し(例えば、タッチスクリーン上で又は外部ポート124を介して接続された外部のディスプレイ上で)、特定のオンラインビデオへのリンクを含む電子メールを送信し、別の方法で管理できるようにする命令を含む。いくつかの実施形態では、特定のオンラインビデオへのリンクを送信するために、電子メールクライアントモジュール140ではなく、インスタントメッセージングモジュール141が使用される。
図1Aに示されるように、ポータブル多機能デバイス100はまた、デバイス100上でマルチタスキング動作(例えば、同時に表示されるアプリケーションのための適切な表示領域を決定するためにグラフィックモジュール132と通信すること)を管理するマルチタスクモジュール180を含む。マルチタスクモジュール180は、任意選択的に、以下のモジュール(又は、命令セット)、あるいはそのサブセット又はスーパーセットを含む:
●アプリケーションセレクタ182、
●互換性モジュール184、
●ピクチャインピクチャ(PIP:picture-in-picture)/オーバーレイモジュール186、及び
●ユーザのマルチタスク履歴に関する情報(例えば、マルチタスキングモードでの共通に使用されたアプリケーション、マルチタスキングモードにある間のアプリケーションのための最近の表示領域、分割ビュー/マルチタスキングモードで表示する互いにピン留めされたアプリケーションなど)を記憶するマルチタスク履歴188。
タッチスクリーン112、ディスプレイコントローラ156、接触モジュール130、グラフィックモジュール132、及び、接触強度センサ(単数又は複数)165と併せて、アプリケーションセレクタ182は、アプリケーション(例えば、アプリケーション136のうちの1つ以上)に対応するアフォーダンスを表示し、デバイス100のユーザが、マルチタスキング/分割ビューモード(例えば、2つ以上のアプリケーションが表示され、同時にタッチスクリーン112上でアクティブであるモード)で使用するアフォーダンスを選択することを可能にすするための実行可能命令を含む。いくつかの実施形態では、アプリケーションセレクタ182はドック(例えば、以下に記載のドック408)である。
タッチスクリーン112、ディスプレイコントローラ156、接触モジュール130、グラフィックモジュール132、及びアプリケーションセレクタ182と併せて、互換性モジュール184は、特定のアプリケーションがマルチタスキングモードと互換性があるかどうかを判定する(例えば、図1Bに示されるように、各アプリケーション136についてマルチタスクデータ176と記憶されたフラグなど、フラグをチェックすることによって)ための実行可能命令を含む。
タッチスクリーン112、ディスプレイコントローラ156、接触モジュール130、グラフィックモジュール132、及び接触強度センサ(単数又は複数)165と併せて、PIP/オーバーレイモジュール186は、別のアプリケーションにオーバーレイするように表示されることになるアプリケーションのサイズの縮小を決定するための、並びに縮小されたサイズのアプリケーションを表示するタッチスクリーン112上の適切な場所(例えば、縮小されたサイズのアプリケーションによってオーバーレイされるアクティブなアプリケーション内の重要なコンテンツを避ける場所)を決定するための、実行可能命令を含む。
上記特定されたモジュール及びアプリケーションの各々は、上記説明された1つ以上の機能、並びに本出願で説明される方法(例えば、コンピュータにより実行される方法、及び本明細書で説明される他の情報処理方法)を実行する実行可能な命令セットに対応する。それらのモジュール(例えば、命令セット)は、別々のソフトウェアプログラム、手順、又はモジュールとして実装される必要はなく、よって、それらのモジュールの様々なサブセットは、任意選択で、様々な実施形態において、組み合わされる、又は他の方式で再配置される。いくつかの実施形態では、メモリ102は、任意選択的に、上記で特定したモジュール及びデータ構造体のサブセットを記憶する。更に、メモリ102は、上記で説明されていない追加のモジュール及びデータ構造体を任意選択的に記憶する。
いくつかの実施形態では、デバイス100は、そのデバイスにおける所定の機能のセットの動作がタッチスクリーン及び/又はタッチパッドのみを通じて実行されるデバイスである。デバイス100が動作するための主要な入力制御デバイスとしてタッチスクリーン及び/又はタッチパッドを使用することにより、任意選択的に、デバイス100上の物理的入力コントロールデバイス(プッシュボタン、ダイヤルなど)の数が削減される。
タッチスクリーン及び/又はタッチパッドを通じてのみ実行される所定の機能のセットは、任意選択的に、ユーザインタフェース間のナビゲーションを含む。いくつかの実施形態では、タッチパッドは、ユーザによってタッチされたとき、デバイス100上に表示される任意のユーザインタフェースから、メインメニュー、ホームメニュー、又はルートメニューにデバイス100をナビゲートする。このような実施形態では、「メニューボタン」は、タッチパッドを使用して実装される。いくつかの他の実施形態では、メニューボタンは、タッチパッドではなく、物理プッシュボタン又はその他の物理入力制御デバイスである。
図1Bは、いくつかの実施形態による、イベント処理のための例示的な構成要素を示すブロック図である。いくつかの実施形態では、メモリ102(図1A)は、(例えば、オペレーティングシステム126内の)イベントソート部170、及びポータブル多機能デバイス100(図1A)のアプリケーション136の中から選択される各アプリケーション136-1(例えば、アプリケーション136を備えるメモリ102に記憶された前述のアプリケーションのうちのいずれか)を含む。
イベントソート部170は、イベント情報を受信し、イベント情報が配信されるアプリケーション136-1及びアプリケーション136-1のアプリケーションビュー175を判定する。イベントソート部170は、イベントモニタ部171及びイベントディスパッチャモジュール174を含む。いくつかの実施形態において、アプリケーション136-1は、アプリケーションがアクティブ又は実行中のとき、タッチ感知ディスプレイ112で上に表示される現在のアプリケーションビュー(単数又は複数)を示す、アプリケーション内部状態192を含む。いくつかの実施形態では、デバイス/グローバル内部状態157は、どのアプリケーション(単数又は複数)が現在アクティブであるかを判定するためにイベントソート部170によって使用され、アプリケーション内部状態192は、イベント情報が配信されるアプリケーションビュー175を決定するためにイベントソート部170によって使用される。
いくつかの実施形態では、アプリケーション内部状態192は、アプリケーション136-1が実行を再開するときに使用される再開情報、アプリケーション136-1によって表示されている又は表示される準備ができている情報を示すユーザインタフェース状態情報、ユーザがアプリケーション136-1の以前の状態又はビューに戻ることを可能にする状態待ち行列、及びユーザが行った以前のアクションのリドゥ/アンドゥ待ち行列のうちの1つ以上などの追加の情報を含む。いくつかの実施形態では、アプリケーション内部状態192は、マルチタスキング動作を容易にするのを助けるためにマルチタスクモジュール180によって使用される(例えば、マルチタスクモジュール180は、以前に却下された側のアプリケーションを再表示するために、アプリケーション内部状態192から再開情報を取得する)。
いくつかの実施形態では、各アプリケーション136-1は、マルチタスクデータ176を記憶する。いくつかの実施形態では、マルチタスクデータ176は、互換性フラグ(例えば、特定のアプリケーションがマルチタスキングモードと互換性があるかどうかを判定するために互換性モジュール184によってアクセスされるフラグ)、マルチタスキングモードでアプリケーション136-1を表示する互換性のあるサイズのリスト(例えば、1/4、1/3、1/2、又はフルスクリーン)、及び様々なサイズのグラフィック(例えば、互換性のあるサイズのリスト内の各サイズの異なるグラフィック)を含む。
イベントモニタ部171は、周辺機器インタフェース118からイベント情報を受信する。イベント情報は、サブイベント(例えば、マルチタッチジェスチャの一部としての、タッチ感知ディスプレイ112上のユーザタッチ)の情報を含む。周辺機器インタフェース118は、I/Oサブシステム106、あるいは近接センサ166、加速度計(単数又は複数)168、及び/又は(オーディオ回路110を介した)マイクロフォン113などのセンサから受信する情報を伝送する。周辺機器インタフェース118がI/Oサブシステム106から受信する情報は、タッチ感知ディスプレイ112又はタッチ感知面からの情報を含む。
いくつかの実施形態では、イベントモニタ部171は、所定の間隔で周辺機器インタフェース118に要求を送信する。それに応じて、周辺機器インタフェース118は、イベント情報を伝送する。他の実施形態では、周辺機器インタフェース118は、重要なイベント(例えば、所定のノイズ閾値を上回る及び/又は所定の持続時間を超える入力の受信)があるときにのみイベント情報を送信する。
いくつかの実施形態では、イベントソート部170はまた、ヒットビュー判定モジュール172及び/又はアクティブイベント認識部判定モジュール173を含む。
ヒットビュー判定モジュール172は、タッチ感知ディスプレイ112が2つ以上のビューを表示するとき、サブイベントが1つ以上のビュー内のどこで起こったかを判定するソフトウェア手順を提供する。ビューは、ユーザがディスプレイ上で見ることができる制御装置及び他の要素から構成されている。
アプリケーションに関連付けられたユーザインタフェースの別の態様は、本明細書ではアプリケーションビュー又はユーザインタフェースウィンドウと呼ばれることもある1組のビューであり、その中で情報が表示され、タッチに基づくジェスチャが発生する。タッチが検出される(それぞれのアプリケーションの)アプリケーションビューは、任意選択的に、アプリケーションのプログラム階層又はビュー階層内のプログラムレベルに対応する。例えば、タッチが検出される最下位のビューは、任意選択的に、ヒットビューと呼ばれ、また、適切な入力として認識されたイベントのセットは、任意選択的に、タッチによるジェスチャを開始する初期タッチのヒットビューに少なくとも部分的に基づいて決定される。
ヒットビュー判定モジュール172は、タッチに基づくジェスチャのサブイベントに関連する情報を受信する。アプリケーションが階層状に構成された複数のビューを有するとき、ヒットビュー判定モジュール172は、サブイベントを処理すべき階層内の最下位のビューとして、ヒットビューを特定する。ほとんどの状況では、ヒットビューは、開始サブイベント(例えば、イベント又は潜在的イベントを形成するサブイベントシーケンス内の第1のサブイベント)が生じる最も低いレベルのビューである。ヒットビューがヒットビュー判定モジュールによって特定されると、ヒットビューは典型的には、それがヒットビューとして特定された同一のタッチ又は入力ソースに関連する全てのサブイベントを受信する。
アクティブイベント認識部判定モジュール173は、ビュー階層内のどのビュー(単数又は複数)がサブイベントの特定のシーケンスを受信すべきかを判定する。いくつかの実施形態では、アクティブイベント認識部判定モジュール173は、ヒットビューのみがサブイベントの特定のシーケンスを受信すべきであると判定する。他の実施形態では、アクティブイベント認識部判定モジュール173は、サブイベントの物理位置を含む全てのビューがアクティブに関与しているビューであると判定し、したがって、アクティブに関与している全てのビューが、サブイベントの特定のシーケンスを受信すべきであると判定する。他の実施形態では、タッチサブイベントが1つの特定のビューに関連付けられた領域に完全に限定された場合でも、階層内の上位のビューは、依然としてアクティブに関与しているビューであり続ける。
イベントディスパッチャモジュール174は、イベント情報をイベント認識部(例えば、イベント認識部178)にディスパッチする。アクティブイベント認識部判定モジュール173を含む実施形態において、イベントディスパッチャモジュール174は、アクティブイベント認識部判定モジュール173によって判定されたイベント認識部にイベント情報を配信する。いくつかの実施形態では、イベントディスパッチャモジュール174は、それぞれのイベント受信部181によって取得されたイベント情報をイベントキューに記憶する。
いくつかの実施形態では、オペレーティングシステム126は、イベントソート部170を含む。代替として、アプリケーション136-1がイベントソート部170を含む。更に他の実施形態では、イベントソート部170は、独立型のモジュール、又は接触/動きモジュール130などの、メモリ102に記憶された別のモジュールの一部である。
いくつかの実施形態では、アプリケーション136-1は、それぞれがアプリケーションのユーザインタフェースのそれぞれのビュー内で発生するタッチイベントを処理する命令を含む、複数のイベントハンドラ177及び1つ以上のアプリケーションビュー175を含む。アプリケーション136-1の各アプリケーションビュー175は、1つ以上のイベント認識部180を含む。典型的には、それぞれのアプリケーションビュー175は、複数のイベント認識部180を含む。他の実施形態では、イベント認識部180のうちの1つ以上は、ユーザインタフェースキット(図示せず)又はアプリケーション136-1が方法及び他の特性を継承する上位レベルのオブジェクトなどの、別個のモジュールの一部である。いくつかの実施形態では、対応するイベントハンドラ177は、データ更新部177-1、オブジェクト更新部177-2、GUI更新部177-3、及び/又は、イベントソート部170から受信されたイベントデータ179のうちの1つ以上を含む。イベントハンドラ177は、任意選択的に、データ更新部177-1、オブジェクト更新部177-2、又はGUI更新部177-3を利用し又は呼び出して、アプリケーション内部状態192を更新する。代替として、アプリケーションビュー175のうちの1つ以上は、1つ以上のそれぞれのイベントハンドラ177を含む。また、いくつかの実施形態では、データ更新部177-1、オブジェクト更新部177-2、及びGUI更新部177-3のうちの1つ以上は、対応するアプリケーションビュー175に含まれる。
それぞれのイベント認識部178は、イベントソート部170からイベント情報(例えば、イベントデータ179)を受信し、イベント情報からイベントを特定する。イベント認識部178は、イベント受信部181及びイベント比較部183を含む。いくつかの実施形態では、イベント認識部178はまた、メタデータ189及びイベント配信命令190(任意選択的にサブイベント配信命令を含む)の少なくともサブセットも含む。
イベント受信部181は、イベントソート部170からイベント情報を受信する。イベント情報は、サブイベントについての情報、例えば、タッチ又はタッチの移動についての情報を含む。サブイベントに応じて、イベント情報はまた、サブイベントの位置などの追加の情報を含む。サブイベントがタッチの動きに関する場合、イベント情報はまた任意選択的に、サブイベントの速さ及び方向を含む。いくつかの実施形態では、イベントは、1つの向きから別の向きへの(例えば、縦向きから横向きへの、又はその逆の)デバイスの回転を含み、そのイベント情報は、デバイスの現在の向き(デバイスの姿勢とも呼ばれる)についての対応する情報を含む。
イベント比較部183は、イベント情報を、既定のイベント又はサブイベントの定義と比較し、その比較に基づいて、イベント又はサブイベントを判定するか、あるいはイベント又はサブイベントの状態を判定若しくは更新する。いくつかの実施形態では、イベント比較部183は、イベント定義185を含む。イベント定義185は、例えば、イベント1(187-1)及びイベント2(187-2)などのイベント(例えば、既定のサブイベントのシーケンス)の定義を含む。いくつかの実施形態では、イベント187におけるサブイベントは、例えば、タッチ開始、タッチ終了、タッチ移動、タッチ中止、及び複数のタッチを含む。一例では、イベント1(187-1)についての定義は、表示されたオブジェクト上のダブルタップである。ダブルタップは、例えば、表示されたオブジェクト上の所定の段階についての第1のタッチ(タッチ開始)、所定の段階についての第1のリフトオフ(タッチ終了)、表示されたオブジェクト上の所定の段階についての第2のタッチ(タッチ開始)、及び所定の段階についての第2のリフトオフ(タッチ終了)を含む。別の例では、イベント2(187-2)の定義は、表示されたオブジェクト上のドラッグである。ドラッグは、例えば、表示されたオブジェクト上の所定の段階についてのタッチ(又は接触)、タッチ感知ディスプレイ112にわたるタッチの動き、及びタッチのリフトオフ(タッチ終了)を含む。いくつかの実施形態では、イベントはまた、1つ以上の関連付けられたイベントハンドラ177に関する情報を含む。
いくつかの実施形態では、イベント定義186は、それぞれのユーザインタフェースオブジェクトについてのイベントの定義を含む。いくつかの実施形態では、イベント比較部183は、どのユーザインタフェースオブジェクトがサブイベントに関連付けられているかを判定するヒットテストを実行する。例えば、タッチ感知ディスプレイ112上に3つのユーザインタフェースオブジェクトが表示されているアプリケーションビューでは、タッチ感知ディスプレイ112上でタッチが検出されると、イベント比較部183は3つのユーザインタフェースオブジェクトのうちのいずれが、そのタッチ(サブイベント)に関連付けられているかを判定するために、ヒットテストを実行する。表示された各オブジェクトが、対応するイベントハンドラ177に関連付けられている場合、イベント比較部は、ヒットテストの結果を用いて、どのイベントハンドラ177がアクティブ化されるべきかを判定する。例えば、イベント比較部183は、ヒットテストをトリガするサブイベント及びオブジェクトに関連付けられたイベントハンドラを選択する。
いくつかの実施形態では、それぞれのイベント187の定義は、サブイベントのシーケンスがイベント認識部のイベントタイプに対応するかどうかが判定されるまで、イベント情報の配信を遅らせる遅延アクションも含む。
それぞれのイベント認識部178が、一連のサブイベントがイベント定義185のいずれのイベントとも一致しないと判定した場合には、それぞれのイベント認識部178は、イベント不可能、イベント失敗、又はイベント終了の状態になり、その後は、タッチベースのジェスチャの後続のサブイベントを無視する。この状況では、ヒットビューに関してアクティブのまま維持される他のイベント認識部があれば、進行中のタッチベースのジェスチャのサブイベントを、引き続き追跡及び処理する。
いくつかの実施形態では、対応するイベント認識部178は、イベント配信システムがどのようにサブイベント配信を実行すべきかを、アクティブに関与しているイベント認識部に示す、構成可能なプロパティ、フラグ、及び/又はリストを有するメタデータ189を含む。いくつかの実施形態では、メタデータ189は、イベント認識部が、互いにどのように対話するか、又は、互いにどのように対話できるようになっているかを示す構成可能なプロパティ、フラグ、及び/又はリストを含む。いくつかの実施形態では、メタデータ189は、サブイベントがビュー階層又はプログラム階層における多様なレベルに配信されるかを示す構成可能なプロパティ、フラグ、及び/又はリストを含む。
いくつかの実施形態では、それぞれのイベント認識部178は、イベントの1つ以上の特定のサブイベントが認識されるときに、イベントに関連付けられたイベントハンドラ177をアクティブ化する。いくつかの実施形態では、それぞれのイベント認識部178は、イベントに関連付けられたイベント情報をイベントハンドラ177に配信する。イベントハンドラ177をアクティブ化することは、それぞれのヒットビューにサブイベントを送信する(及び、送信を延期する)こととは別である。いくつかの実施形態では、イベント認識部178は、認識したイベントに関連付けられたフラグを投入し、そのフラグに関連付けられたイベントハンドラ177は、そのフラグを捕らえ、既定の処理を実行する。
いくつかの実施形態では、イベント配信命令190は、イベントハンドラをアクティブ化することなくサブイベントについてのイベント情報を配信するサブイベント配信命令を含む。代わりに、サブイベント配信命令は、一連のサブイベントに関連付けられたイベントハンドラに、又はアクティブに関与しているビューにイベント情報を配信する。一連のサブイベント又はアクティブに関与しているビューに関連付けられたイベントハンドラは、イベント情報を受信し、所定の処理を実行する。
いくつかの実施形態では、データ更新部177-1は、アプリケーション136-1で使用されるデータを作成及び更新する。例えば、データ更新部177-1は、連絡先モジュール137で使用される電話番号を更新するか、又はビデオ及び音楽プレーヤモジュール145で使用されるビデオファイルを記憶する。いくつかの実施形態では、オブジェクト更新部177-2は、アプリケーション136-1で使用されるオブジェクトを作成及び更新する。例えば、オブジェクト更新部177-2は、新たなユーザインタフェースオブジェクトを作成するか、又はユーザインタフェースオブジェクトの位置を更新する。GUI更新部177-3は、GUIを更新する。例えば、GUI更新部177-3は、表示情報を準備し、タッチ感知ディスプレイ上に表示するために、表示情報をグラフィックモジュール132に送る。いくつかの実施形態では、GUI更新部177-3は、マルチタスキングモードで表示される様々なアプリケーションのサイズ変更を容易にするためにマルチタスクモジュール180と通信する。
いくつかの実施形態では、イベントハンドラ(単数又は複数)177は、データ更新部177-1、オブジェクト更新部177-2、及びGUI更新部177-3を含むか又はそれらへのアクセスを有する。いくつかの実施形態では、データ更新部177-1、オブジェクト更新部177-2、及びGUI更新部177-3は、それぞれのアプリケーション136-1又はアプリケーションビュー175の単一モジュールに含まれる。他の実施形態では、それらは、2つ以上のソフトウェアモジュールに含まれる。
タッチ感知ディスプレイ上のユーザのタッチのイベント処理に関する前述の記載は、入力デバイスを用いて多機能デバイス100を動作させるための他の形態のユーザ入力にも適用されるが、その全てがタッチスクリーン上で開始されるわけではないことを理解されたい。例えば、キーボードの単一又は複数の押圧若しくは保持と任意選択的に連携される、マウスの移動及びマウスボタンの押圧、タッチパッド上のタップ、ドラッグ、スクロールなどの接触の移動、ペンスタイラス入力、デバイスの移動、口頭による命令、検出された目の動き、バイオメトリック入力、及び/又はこれらの任意の組合せが、認識対象のイベントを定義するサブイベントに対応する入力として任意選択的に利用される。
図1Cは、いくつかの実施形態に係る、タッチ感知ディスプレイ(例えば、タッチスクリーン112)を有するポータブル多機能デバイス(例えば、ポータブル多機能デバイス100)の概略図である。タッチ感知ディスプレイは、任意選択的に、ユーザインタフェース(UI)201a内に1つ以上のグラフィックを表示する。いくつかの実施形態並びに以下に説明する他の実施形態では、ユーザは、例えば、1本以上の指又は1つ以上のスタイラスを用いて、スクリーン上でジェスチャを行うことによって、グラフィックのうちの1つ以上を選択することができる。いくつかの実施形態では、ユーザが(例えば、スクリーンから指をリフトオフすることによって)1つ以上のグラフィックとの接触を断った際に、1つ以上のグラフィックの選択が生じる。いくつかの実施形態では、ジェスチャは、任意選択的に、1回以上のタップジェスチャ(例えば、リフトオフが後続するスクリーン上のタッチのシーケンス)、1回以上のスワイプジェスチャ(例えば、左から右へ、右から左へ、上方向へ、及び/又は、下方向へのスクリーンの表面に沿ったジェスチャ間の連続した接触)、及び/又は、デバイス100と接触した指の(例えば、右から左へ、左から右へ、上方向へ、及び/又は、下方向への)ローリングを含む。いくつかの実装形態又は状況では、グラフィックとの不測の接触は、そのグラフィックを選択するものではない。例えば、アプリケーションを起動するためのジェスチャがタップジェスチャである場合、アプリケーションアフォーダンス(例えば、アイコン)上をスイープするスワイプジェスチャは、対応するアプリケーションを任意選択的に起動しない(例えば、開かない)。
デバイス100はまた、「ホーム」又はメニューボタン204などの、1つ以上の物理ボタンも任意選択的に含む。前述のように、メニューボタン204は、任意選択で、デバイス100上で任意選択的に実行される、アプリケーションのセットにおける任意のアプリケーション136にナビゲートするために使用される。代替として、いくつかの実施形態では、メニューボタンは、タッチスクリーン112上に表示されるGUI内のソフトキーとして実施される。ホームボタン204の更なる詳細及び代替的な構成もまた、以下の図5Jを参照して以下に提供される。
一実施形態では、デバイス100は、タッチスクリーン112、メニューボタン204、デバイスの電源をオン/オフし、デバイスをロックするためのプッシュボタン206、音量調整ボタン(単数又は複数)208、加入者識別モジュール(SIM)カードスロット210、ヘッドセットジャック212、及びドッキング/充電用外部ポート124を含む。プッシュボタン206は、任意選択的に、ボタンを押下し、既定の期間にわたってボタンを押し下げた状態に維持することによって、デバイスの電源をオン/オフするため、ボタンを押下し、既定の期間が経過する前にボタンを解放することによって、デバイスをロックするため、及び/又はデバイスをロック解除する、又はロック解除処理を開始するために、使用される。代替的実施形態では、デバイス100はまた、マイクロフォン113を介して、一部の機能をアクティブ化又は非アクティブ化するための音声入力も受け入れる。デバイス100はまた、任意選択的に、タッチスクリーン112上の接触の強度を検出する1つ以上の接触強度センサ165、及び/又はデバイス100のユーザに対する触知出力を生成する1つ以上の触知出力生成器167を含む。
図1Dは、ディスプレイ194(例えば、タッチスクリーン112)とは別個のタッチ感知面195(例えば、タブレット又はタッチパッド)を備えたデバイス(例えば、図1Aのデバイス100)上のユーザインタフェースを示す。いくつかの実施形態では、タッチ感知面195は、任意選択的に、タッチ感知面195上での接触の強度を検出するための1つ以上の接触強度センサ(例えば、接触強度センサ(単数又は複数)359のうちの1つ以上)、及び/又は、タッチ感知面195のユーザの触知出力を生成するための1つ以上の触知出力生成器(単数又は複数)357を含む。
以下の例のうちのいくつかはタッチスクリーン112上での入力(タッチ感知面とディスプレイとが組み合わされた場合)を参照して説明されるが、いくつかの実施形態では、デバイスは、図1Dに示すように、ディスプレイとは別個のタッチ感知面上での入力を検出する。いくつかの実施形態において、タッチ感知面(例えば、図1Dの195)は、ディスプレイ(例えば、194)上の主軸(例えば、図1Dの198)に対応する主軸(例えば、図1Dの199)を有する。これらの実施形態によれば、デバイスは、タッチ感知面195との接触(例えば、図1Dの197-1及び197-2)を、ディスプレイ上のそれぞれの位置に対応する位置(例えば、図1Dでは、197-1は196-1に対応し、197-2は196-2に対応する)にて検出する。このように、タッチ感知面がディスプレイとは別個のものであるとき、タッチ感知面(例えば、図1Dの195)上でデバイスによって検出されたユーザ入力(例えば、接触197-1及び197-2、及びそれらの動き)は、多機能デバイスのディスプレイ(例えば、図1Dの194)上のユーザインタフェースを操作するためにデバイスによって使用される。同様の方法が、本明細書に記載の他のユーザインタフェースに任意選択的に使用されることを理解されたい。
更に、以下の例は主に指入力(例えば、指の接触、指のタップジェスチャ、指のスワイプジェスチャ)を参照して説明されるが、いくつかの実施形態では、それらの指入力のうちの1つ以上は、別の入力デバイスからの入力(例えば、マウスに基づく入力、又はスタイラス入力)で置き換えられることを理解されたい。例えば、スワイプジェスチャは、任意選択的に、(例えば、接触の移動の代わりに)スワイプの経路に沿ったカーソルの移動が後続するマウスクリックに(例えば、接触の代わりに)置き換えられる。別の例として、タップジェスチャは、任意選択的に、カーソルがタップジェスチャの位置上に位置する間、(例えば、接触の検出の停止が後続する接触の代わりに、)マウスクリックに置き換えられる。同様に、複数のユーザ入力が同時に検出されたとき、任意選択的に複数のコンピュータマウスが同時に用いられているか、又は、任意選択的にマウスと指接触とが同時に用いられていることが理解されよう。
本明細書にて使用するとき、「フォーカスセレクタ」という用語は、ユーザが対話しているユーザインタフェースの現在の部分を示す入力要素を指す。カーソル又は他の位置マーカを含むいくつかの実装において、タッチ感知面(例えば、図1Dのタッチ感知面195(いくつかの実施形態では、タッチ感知面195はタッチパッドである))上で入力(例えば、押圧入力)が検出されたときに、カーソルが特定のユーザインタフェース要素(例えば、ボタン、ウィンドウ、スライダ、又は他のユーザインタフェース要素)上にあるとき、カーソルは「フォーカスセレクタ」として機能し、特定のユーザインタフェース要素が、検出された入力に従って調整される。タッチスクリーンディスプレイ上のユーザインタフェース要素との直接的な対話を可能にする、タッチスクリーンディスプレイ(例えば、図1Aのタッチ感知ディスプレイシステム112、又はタッチスクリーン112)を含むいくつかの実装では、タッチスクリーン上で検出される接触が「フォーカスセレクタ」の役割を果たすため、入力(例えば、接触による押圧入力)が、タッチスクリーンディスプレイ上の特定のユーザインタフェース要素(例えば、ボタン、ウィンドウ、スライダ、又は他のユーザインタフェース要素)の位置で検出されると、その特定のユーザインタフェース要素が、検出された入力に従って調整される。いくつかの実装形態では、(例えば、フォーカスを1つのボタンから別のボタンへ動かすためにタブキー又は矢印キーを使用することによって)タッチスクリーンディスプレイ上の対応するカーソルの動き又は接触の動きなく、フォーカスがユーザインタフェースの1つの領域からユーザインタフェースの別の領域へ動かされ、これらの実装形態では、フォーカスセレクタは、ユーザインタフェースの異なる領域間でのフォーカスの移動に従って移動する。フォーカスセレクタによって採られる特有の形態に関わらず、フォーカスセレクタは、概して、ユーザインタフェース要素(又はタッチスクリーンディスプレイ上の接触)であり、(例えば、ユーザが対話することを意図しているユーザインタフェースの要素をデバイスに示すことによって)ユーザの意図する対話をユーザインタフェースによって通信するように、ユーザによって制御される。例えば、押圧入力がタッチ感知面(例えば、タッチパッド又はタッチ感知ディスプレイ)上で検出されたとき、対応するボタン上にあるフォーカスセレクタ(例えば、カーソル、接触又は選択ボックス)の位置は、(デバイスのディスプレイ上に示されている他のユーザインタフェース要素ではなく)対応するボタンをユーザがアクティブ化しようとしていることを示すものである。
本明細書及び特許請求の範囲で使用される、タッチ感知面上の接触の「強度」という用語は、タッチ感知面上の接触(例えば、指の接触又はスタイラスの接触)の力、又は圧力(単位面積あたりの力)、又はタッチ感知面上の接触の力又は圧力の代替物(プロキシ)を指す。接触の強度は、少なくとも4つの別個の値を含み、より典型的には、数百の(例えば、少なくとも256の)別個の値を含む、値の範囲を有する。接触の強度は、任意選択的に、様々な手法、及び様々なセンサ又はセンサの組合せを使用して、判定(又は測定)される。例えば、タッチ感知面の下又はそれに隣接する1つ以上の力センサは、任意選択的に、タッチ感知面上の様々なポイントにおける力を測定するために使用される。いくつかの実装形態では、複数の力センサからの力測定値は、推定される接触の力を判定するために組み合わされる(例えば、加重平均又は合計)。同様に、スタイラスの感圧性先端部は、任意選択的に、タッチ感知面上のスタイラスの圧力を判定するために使用される。代替として、タッチ感知面上で検出される接触領域のサイズ及び/又はその変化、接触に近接するタッチ感知面の電気容量及び/又はその変化、及び/又は、接触に近接するタッチ感知面の抵抗及び/又はその変化は、任意選択的に、タッチ感知面上の接触の力又は圧力の代替として使用される。いくつかの実装形態では、接触の力又は圧力のための代替測定値は、強度閾値を超えているかどうかを判定するために直接使用される(例えば、強度閾値は、代替測定値に対応する単位で記述される)。いくつかの実装形態では、接触の力又は圧力のための代替測定値は、推定される力又は圧力に変換され、推定される力又は圧力は、強度閾値を超えているかどうかを判定するために使用される(例えば、強度閾値は、圧力の単位で測定された圧力閾値である)。ユーザ入力の属性として接触の強度を使用すると、(例えば、タッチ感知ディスプレイ上に)アフォーダンスを表示するため、及び/又は(例えば、タッチ感知ディスプレイ、タッチ感知面、又はノブ若しくはボタンなどの物理的/機械的制御を介して)ユーザ入力を受信するための資産が制限された、低減されたサイズのデバイス上で、追加のデバイス機能にユーザがアクセスすることが可能になり、そうでない場合、ユーザによるアクセスが容易に可能ではない場合がある。
いくつかの実施形態では、接触/動きモジュール130は、1つ以上の強度閾値のセットを使用して、ユーザによって操作が実行されたかどうかを判定する(例えば、ユーザがアイコン上で「クリック」したかどうかを判定する)。いくつかの実施形態では、少なくとも強度閾値のサブセットがソフトウェアパラメータに従って判定される(例えば、強度閾値は、特定の物理アクチュエータのアクティブ化閾値によって判定されず、ポータブルコンピューティングシステム100の物理ハードウェアを変更することなく調整することができる)。例えば、トラックパッド又はタッチスクリーンディスプレイのマウス「クリック」閾値は、トラックパッド又はタッチスクリーンディスプレイのハードウェアを変更することなく、広範囲の既定の閾値のうちのいずれかに設定することができる。更に、いくつかの実装形態では、デバイスのユーザは、(例えば、個々の強度閾値を調整することにより、及び/又は、システムレベルのクリック「強度」パラメータで一度に複数の強度閾値を調整することにより)強度閾値のセットのうちの1つ以上を調整するためのソフトウェア設定が提供される。
本明細書及び特許請求の範囲で使用される、接触の「特性強度」という用語は、接触の1つ以上の強度に基づく、その接触の特性を指す。いくつかの実施形態では、特性強度は複数の強度サンプルに基づく。特性強度は、任意選択的に、既定の数の強度サンプル、すなわち、既定のイベント(例えば、接触を検出した後、接触のリフトオフを検出する前、接触の移動の開始を検出する前又は後、接触の終了を検出する前、接触の強度の増大を検出する前若しくは後、及び/又は、接触の強度の減少を検出する前又は後)に対する所定の時間期間(例えば、0.05、0.1、0.2、0.5、1、2、5、10秒)中に収集された強度サンプルのセットに基づく。接触の特性強度は、任意選択的に、接触の強度の最大値、接触の強度の中間値、接触の強度の平均値、接触の強度の上位10パーセント値、接触の強度の最大値の半分の値、接触の強度の最大値の90パーセントの値などのうちの1つ以上に基づく。いくつかの実施形態では、特性強度を判定する際に(例えば、特性強度が経時的な接触の強度の平均であるときに)、接触の持続期間が使用される。いくつかの実施形態では、特性強度は、ユーザによって操作が実行されたかどうかを判定するために、1つ以上の強度閾値のセットと比較される。例えば、1つ以上の強度閾値のセットは、第1の強度閾値及び第2の強度閾値を含み得る。この例では、第1の閾値を超えない特性強度を有する接触は、第1の操作となり、第1の強度閾値を超え、第2の強度閾値を超えない特性強度を有する接触は、第2の操作となり、第2の強度閾値を超える特性強度を有する接触は、第3の操作となる。いくつかの実施形態では、特性強度と1つ以上の強度閾値との比較は、第1の動作を実行するか、又は第2の動作を実行するかを判定するために使用されるのではなく、1つ以上の操作を実行するか否か(例えば、それぞれの選択肢を実行するか、又はそれぞれの操作を実行することを控えるか)を判定するために使用される。
いくつかの実施形態では、特性強度を判定する目的のために、ジェスチャの一部分が識別される。例えば、タッチ感知面は、開始位置から遷移して終了位置に達する連続的なスワイプ接触(例えば、ドラッグジェスチャ)を受信する場合があり、そのポイントにおいて接触の強度が増大する。この例では、終了位置における接触の特性強度は、スワイプ接触全体ではなく、連続的なスワイプ接触の一部分のみ(例えば、終了位置におけるスワイプ接触の一部分のみ)に基づき得る。いくつかの実施形態では、接触の特性強度を判定する前に、スワイプ接触の強度に平滑化アルゴリズムが適用され得る。例えば、平滑化アルゴリズムは、任意選択的に、非加重スライディング平均平滑化アルゴリズム、三角平滑化アルゴリズム、中央値フィルタ平滑化アルゴリズム、及び/又は指数平滑化アルゴリズムのうちの1つ以上を含む。いくつかの状況では、これらの平滑化アルゴリズムは、特性強度を判定する目的のために、スワイプ接触の強度の小幅な上昇又は降下を排除する。
いくつかの実施形態では、特定の入力が強度ベースの基準を満たすかどうかを判定するために、1つ以上の既定の強度閾値が使用される。例えば、1つ以上の既定の強度閾値には、(i)接触検出強度閾値IT0、(ii)軽い押圧強度閾値ITL、(iii)(例えば、少なくとも最初はILより高い)深い押圧強度閾値ITD、及び/又は(iv)1つ以上の他の強度閾値(例えば、ILより低い強度閾値IH)が挙げられる。本明細書で使用するとき、ITL及びILは、同じ軽い押圧強度閾値を指し、ITD及びIDは、同じ深い押圧強度閾値を指し、ITH及びIHは、同じ強度閾値を指す。いくつかの実施形態では、軽い押圧強度閾値は、通常、物理マウスのボタン又はトラックパッドをクリックすることに関連付けられた動作をデバイスが実行する強度に相当する。いくつかの実施形態では、深い押圧強度閾値は、通常、物理マウスのボタン又はトラックパッドをクリックすることに関連付けられた動作とは異なる動作をデバイスが実行する強度に相当する。いくつかの実施形態では、軽い押圧強度閾値を下回る(例えば、それを下回ると接触がもはや検出されない名目上の接触検出強度閾値IT0を上回る)特性強度を有する接触が検出されると、デバイスは、軽い押圧強度閾値又は深い押圧強度閾値に関連付けられた動作を実行することなく、タッチ感知面上の接触の移動に従ってフォーカスセレクタを移動させる。一般に、特に明記しない限り、これらの強度閾値は、ユーザインタフェース図の様々なセットの間で一貫している。
いくつかの実施形態では、デバイスによって検出された入力へのデバイスの応答は、入力中の接触強度に基づく基準に依存する。例えば、いくつかの「軽い押圧」入力の場合、入力中の第1の強度閾値を超える接触の強度は第1の応答をトリガする。いくつかの実施形態では、デバイスによって検出された入力へのデバイスの応答は、入力中の接触強度と時間ベースの基準との両方を含む基準に依存する。例えば、いくつかの「深い押圧」入力の場合、軽い押圧用の第1の強度閾値より大きい、入力中の第2の強度閾値を超える接触の強度は、第1の強度閾値を満たすことと、第2の強度閾値を満たすこととの間に遅延時間が経過した場合のみ、第2の応答をトリガする。この遅延時間は、通常、持続時間が200ミリ秒未満である(例えば、第2の強度閾値の大きさに応じて、40ミリ秒、100ミリ秒、又は120ミリ秒であり、遅延時間は第2の強度閾値が増大するにつれて増加する)。この遅延時間は、偶発的な深い押圧入力を回避するのに役立つ。別の例として、いくつかの「深い押圧」入力の場合、第1の強度閾値が満たされた時間の後に発生する感度が低下した時間期間が存在する。感度が低下した時間期間の間、第2の強度閾値は増大する。第2の強度閾値のこの一時的な増大も、偶発的な深い押圧入力を回避するのに役立つ。他の深い押圧入力の場合、深い押圧入力の検出に対する応答は、時間ベースの基準に依存しない。
いくつかの実施形態では、入力強度閾値及び/又は対応する出力のうちの1つ以上は、ユーザ設定、接触の動き、入力タイミング、実行しているアプリケーション、強度が加えられる速度、同時入力の数、ユーザ履歴、環境要因(例えば、周囲ノイズ)、フォーカスセレクタの位置などの、1つ以上の要因に基づいて変化する。例示的な要因が、米国特許出願第14/399,606号及び第14/624,296号に記載されており、それらは参照により全体が本明細書に組み込まれている。
例えば、図3Aは、経時的なタッチ入力376の強度に部分的に基づいて、経時的に変化する動的な強度閾値380を示す。動的な強度閾値380は、2つの成分、すなわち、タッチ入力376が最初に検出されたときから既定の遅延時間p1後に経時的に減衰する第1の成分374、及び経時的にタッチ入力376の強度の跡を辿る第2の成分378の合計である。第1の成分374の最初の高い強度閾値は、タッチ入力376が十分な強度を提供する場合に、即時の「深い押圧」応答を更に可能にしながら、「深い押圧」応答の偶発的トリガを低減する。第2の成分378は、タッチ入力の段階的な強度変動によって、「深い押圧」応答の意図しないトリガを低減する。いくつかの実施形態では、タッチ入力376が動的な強度閾値380を満たすとき(例えば、図3Aにおけるポイント381において)、「深い押圧」応答がトリガされる。
図3Bは、別の動的な強度閾値386(例えば、強度閾値ID)を示す。図3Bは、2つの他の強度閾値である第1の強度閾値IH及び第2の強度閾値ILも示す。図3Bでは、タッチ入力384が時間p2の前に第1の強度閾値IH及び第2の強度閾値ILを満たすが、時間382において遅延時間p2が経過するまでは応答が提供されない。また、図3Bでは、動的な強度閾値386は経時的に減衰し、減衰は、時間382から既定の遅延時間p1が経過した後(第2の強度閾値ILに関連付けられた応答がトリガされたとき)の時間388に始まる。このタイプの動的な強度閾値は、第1の強度閾値IH又は第2の強度閾値ILなどの、より低い強度閾値に関連付けられた応答をトリガした直後、又はそれと同時に、動的な強度閾値IDに関連付けられた応答の偶発的なトリガを低減する。
図3Cは、更に別の動的な強度閾値392(例えば、強度閾値ID)を示す。図3Cでは、強度閾値ILに関連付けられた応答は、タッチ入力390が最初に検出されたときから遅延時間p2が経過した後にトリガされる。同時に、動的な強度閾値392は、タッチ入力390が最初に検出されたときから既定の遅延時間p1が経過した後に減衰する。そのため、タッチ入力390を解放することなしに、タッチ入力390の強度の増大が後続する、強度閾値ILに関連付けられた応答をトリガした後のタッチ入力390の強度の減少は、タッチ入力390の強度が別の強度閾値、例えば、強度閾値ILを下回るときでも、(例えば、時間394において)強度閾値IDに関連付けられた応答をトリガすることができる。
軽い押圧強度閾値ITLを下回る強度から、軽い押圧強度閾値ITLと深い押圧強度閾値ITDとの間の強度への接触の特性強度の増大は、「軽い押圧」入力と呼ばれる場合がある。深い押圧強度閾値ITDを下回る強度から、深い押圧強度閾値ITDを上回る強度への接触の特性強度の増大は、「深い押圧」入力と呼ばれる場合がある。接触検出強度閾値IT0を下回る強度から、接触検出強度閾値IT0と軽い押圧強度閾値ITLの間の強度への接触の特性強度の増大は、タッチ面上の接触の検出と呼ばれる場合がある。接触検出強度閾値IT0を上回る強度から接触検出強度閾値IT0を下回る強度への接触の特性強度の減少は、タッチ面からの接触のリフトオフの検出と呼ばれる場合がある。いくつかの実施形態では、IT0はゼロである。いくつかの実施形態では、IT0はゼロより大きい。いくつかの例示では、タッチ感知面上の接触の強度を表すために、網掛けの円又は楕円が使用される。いくつかの例示では、それぞれの接触の強度を指定することなく、タッチ感知面上のそれぞれの接触を表すために、網掛けなしの円又は楕円が使用される。
本明細書に記載されるいくつかの実施形態では、1つ以上の動作は、それぞれの押圧入力を含むジェスチャを検出したことに応じて、又はそれぞれの接触(又は複数の接触)で実行されるそれぞれの押圧入力を検出したことに応じて実行され、それぞれの押圧入力は、押圧入力強度閾値を上回る接触(又は複数の接触)の強度の増大を検出したことに少なくとも部分的に基づいて検出される。いくつかの実施形態では、それぞれの動作は、押圧入力強度閾値を上回るそれぞれの接触の強度の増大を検出したことに応じて実行される(例えば、それぞれの動作は、それぞれの押圧入力の「ダウンストローク」上で実行される)。いくつかの実施形態では、押圧入力は、押圧入力強度閾値を上回るそれぞれの接触の強度の増大、及びその後の押圧入力強度閾値を下回る接触の強度の減少を含み、それぞれの動作は、その後の押圧入力閾値を下回るそれぞれの接触の強度の減少を検出したことに応じて実行される(例えば、それぞれの動作は、それぞれの押圧入力の「アップストローク」上で実行される)。
いくつかの実施形態では、デバイスは、「ジッタ」と呼ばれる場合がある偶発的な入力を回避するために強度ヒステリシスを採用し、デバイスは、押圧入力強度閾値との既定の関係を有するヒステリシス強度閾値を定義又は選択する(例えば、ヒステリシス強度閾値は、押圧入力強度閾値よりも低いX強度単位であり、又はヒステリシス強度閾値は、押圧入力強度閾値の75%、90%、又は何らかの妥当な割合である)。したがって、いくつかの実施形態では、押圧入力は、押圧入力強度閾値を上回るそれぞれの接触の強度の増大、及びその後の押圧入力強度閾値に対応するヒステリシス強度閾値を下回る接触の強度の減少を含み、それぞれの動作は、その後のヒステリシス強度閾値を下回るそれぞれの接触の強度の減少を検出したことに応じて実行される(例えば、それぞれの動作は、それぞれの押圧入力の「アップストローク」上で実行される)。同様に、いくつかの実施形態では、押圧入力は、デバイスが、ヒステリシス強度閾値以下の強度から押圧入力強度閾値以上の強度への接触の強度の増大、及び任意選択的に、その後のヒステリシス強度以下の強度への接触の強度の減少を検出するときにのみ検出され、それぞれの動作は、押圧入力(例えば、状況に応じて、接触の強度の増大又は接触の強度の減少)を検出したことに応じて実行される。
説明を容易にするために、押圧入力強度閾値に関連付けられた押圧入力に応じて、又は押圧入力を含むジェスチャに応じて実行される動作の説明は、任意選択的に、押圧入力強度閾値を上回る接触の強度の増大、ヒステリシス強度閾値を下回る強度から押圧入力強度閾値を上回る強度への接触の強度の増大、押圧入力強度閾値を下回る接触の強度の減少、又は押圧入力強度閾値に対応するヒステリシス強度閾値を下回る接触の強度の減少を検出したことに応じてトリガされる。更に、押圧入力強度閾値を下回る接触の強度の減少を検出したことに応じて実行されるように動作が記載される例では、動作は、任意選択的に、押圧入力強度閾値に対応し、かつそれよりも低いヒステリシス強度閾値を下回る接触の強度の減少を検出したことに応じて実行される。上述されたように、いくつかの実施形態では、これらの応答のトリガは、満たされる時間ベースの基準にも依存する(例えば、遅延時間は、第1の強度閾値が満たされることと第2の強度閾値が満たされることとの間で経過している)。
ユーザインタフェース及び関連付けられた処理
次に、デバイス100などの、ディスプレイ及びタッチ感知面を備える電子デバイスに実装され得るユーザインタフェース(「UI」)の実施形態及び関連処理に注目する。
図2は、いくつかの実施形態に係る、アプリケーションのメニューのためのユーザインタフェースを示すために使用される、タッチ感知ディスプレイの概略図である。任意選択的に、同様のユーザインタフェースがデバイス100(図1A)上に実装される。いくつかの実施形態において、ユーザインタフェース201aは、以下の要素、又はそれらのサブセット若しくはスーパーセットを含む。
●セルラー信号及びWi-Fi信号などの無線通信(単数又は複数)のための信号強度インジケータ(単数又は複数)202、
●時間、
●Bluetoothインジケータ205、
●バッテリ状態インジケータ206、
●以下のような、頻繁に使用されるアプリケーションのアイコンを有するトレイ203、
〇不在着信又はボイスメールメッセージの数を示すインジケータ214を任意選択的に含む、「電話」とラベル付けされた、電話モジュール138のアイコン216、
○未読の電子メールの数を示すインジケータ210を任意選択的に含む、「メール」とラベル付けされた、電子メールクライアントモジュール140のアイコン218、
○「ブラウザ」とラベル付けされた、ブラウザモジュール147のアイコン220、及び
○「iPoD」とラベル付けされた、IPOD(APPLE社の登録商標)モジュール152とも称されるビデオ及び音楽プレーヤモジュール152(本明細書では、ビデオ又はビデオブラウジングアプリケーションとも称される)のアイコン222、及び
●以下のような、他のアプリケーションのアイコン、
○「メッセージ」とラベル付けされた、IMモジュール141のアイコン224、
○「カレンダー」とラベル付けされた、カレンダーモジュール148のアイコン226、
○「写真」とラベル付けされた、画像管理モジュール144のアイコン228、
○「カメラ」とラベル付けされた、カメラモジュール143のアイコン230、
○「オンラインビデオ」とラベル付けされた、オンラインビデオモジュール155のアイコン232、
○「株価」とラベル付けされた、株式ウィジェット149-2のアイコン234、
○「地図」とラベル付けされた、地図モジュール154のためのアイコン236、
○「天気」とラベル付けされた、気象ウィジェット149-1のアイコン238、
○「時計」とラベル付けされた、アラーム時計ウィジェット149-4のアイコン240、
○「フィットネス」とラベル付けされた、フィットネスモジュール142のアイコン242、
○「メモ」とラベル付けされた、メモモジュール153のアイコン244、
○デバイス100及びその様々なアプリケーションに関する設定へのアクセスを提供する、設定アプリケーション又はモジュールのアイコン246、及び
○アプリストア、iTunes、ボイスメモ、及びユーティリティなどの、追加のアプリケーションの他のアイコン。
図2に示されているアイコンラベルは、単に例示的であることに留意されたい。他のラベルが、様々なアプリケーションアイコンのために、任意選択的に使用される。例えば、フィットネスモジュール142のためのアイコン242は、代替として「フィットネスサポート」、「ワークアウト」、「ワークアウトサポート」、「エクササイズ」、「エクササイズサポート」、又は「ヘルス」とラベル付けされる。いくつかの実施形態では、それぞれのアプリケーションアイコンのラベルは、それぞれのアプリケーションアイコンに対応するアプリケーションの名前を含む。いくつかの実施形態では、特定のアプリケーションアイコンのラベルは、その特定のアプリケーションアイコンに対応するアプリケーションの名前とは異なる。
いくつかの実施形態では、ホームスクリーンは、トレイ203及びアイコン領域201の2つの領域を含む。図2に示されるように、アイコン領域201はトレイ203上に表示される。しかしながら、アイコン領域201及びトレイ203は、任意選択的に、本明細書に記載されるもの以外の位置に表示される。
トレイ203は、任意選択的に、コンピューティングデバイス100上のユーザのお気に入りのアプリケーションのアイコンを含む。最初に、トレイ203は、デフォルトアイコンのセットを含み得る。ユーザは、デフォルトアイコン以外のアイコンを含むようにトレイ203をカスタマイズすることができる。いくつかの実施形態では、ユーザは、アイコン領域201からアイコンを選択し、選択されたアイコンをトレイ203にドラッグアンドドロップして、アイコンをトレイ203に追加することによって、トレイ203をカスタマイズする。トレイ203からアイコンを除去するために、ユーザは、閾値時間の間、お気に入り領域内に表示されたアイコンを選択し、それによって、コンピューティングデバイス100に対して、アイコンを除去するための制御を表示させる。制御のユーザ選択により、コンピューティングデバイス100は、トレイ203からアイコンを除去する。いくつかの実施形態では、トレイ203は(以下により詳細に記載されるように)ドック408によって置き換えられ、したがって、トレイ203に関して上述された詳細はまた、ドック408に適用されてもよく、以下でより詳細に提供されるドック408の説明を補完することができる。
本開示では、「分割ビューモード」への言及は、少なくとも2つのアプリケーションがディスプレイ112上に並べて同時に表示され、両方のアプリケーションが対話される(例えば、アプリケーション1とビデオブラウジングアプリケーションとが図4Iの分割ビューモードで表示される)モードを指す。少なくとも2つのアプリケーションはまた互いにピン留めされ得、少なくとも2つのアプリケーションのいずれかが起動されると、2つのアプリケーションをともに開くようにする、少なくとも2つのアプリケーションの間の、(デバイス100のメモリ内に記憶された)関連付けを指す。いくつかの実施形態では、アフォーダンス(例えば、アフォーダンス506、図5B)は、アプリケーションをピン留めせず、代わりに、少なくとも2つのアプリケーションのうちの1つを、他方をオーバーレイして表示するために使用されてもよく、このオーバーレイ表示モードは、スライスオーバ表示モードと称される(例えば、ビデオブラウジングアプリケーションは、図5Cに示されるスライドオーバモードで、アプリケーション1をオーバーレイして表示される)。ユーザは更に、少なくとも2つのアプリケーションのうちの1つをピン留めしない又は却下する分割ビューモードで表示されている間、少なくとも2つのアプリケーション間で実行している境界内に表示される境界アフォーダンスを(例えば、少なくとも2つのアプリケーションのうちの第1のアプリケーションに接するディスプレイ112の縁部に達し、その後、第1のアプリケーションが却下され、少なくとも2つのアプリケーションがピン留めされなくなるまで、境界アフォーダンスをドラッグすることによって)使用することができる。ピン留めされたアプリケーションを却下するための境界アフォーダンス(又は2つのアプリケーション間の境界におけるジェスチャ)の使用は、共同所有された米国特許出願第14/732,618号(例えば、図37H~図37M及び関連記述段落で)、その全体が参照により本明細書に組み込まれる。
図4A~図4AAは、いくつかの実施形態に係る、複数のアプリケーション(及び複数のアプリケーションとの同時対話が利用可能である分割ビューモードをアクティブ化するために使用されるジェスチャ)と同時に対話するためのユーザインタフェースの例を示すために使用されるタッチ感知ディスプレイの概略図である。
いくつかの実施形態では、図4Aのタッチ感知ディスプレイ112上に表示され、米国の地図と、地図アプリケーションを使用して様々な位置を検索することを可能にする検索ボックスとを含む、例示的な地図アプリケーションのようなアプリケーションが、タッチ感知ディスプレイ上に表示される。地図アプリケーションが表示されている間に、ジェスチャ450が、タッチ感知ディスプレイ112の縁部(例えば、観察者に対するタッチ感知ディスプレイの最下縁部)の近くで検出される。
図4Bに示すように、ジェスチャ450が、縁部から離れ、閾値距離(例えば、約1センチメートル以上であるが、タッチ感知ディスプレイ112のサイズに依存し得る)を超えて移動したことを検出することに応じて、ドック408が、地図アプリケーションにオーバーレイして、タッチ感知ディスプレイ上に明瞭化される。本明細書で使用するとき、ドックは、アフォーダンス(例えば、(それぞれのアフォーダンスがどれだけ最近使用されたかに基づいて)選択されたシステム)、又はユーザが選択したアフォーダンス(ドック内に含めるためにユーザによって選択される)を含むユーザインタフェース要素であり、アクティブ化されると、対応する機能又はアプリケーションを起動する。ジェスチャ450がタッチ感知ディスプレイの反対側の縁部(例えば、上方向)に向かって移動すると、ドック408のより多くが明瞭化され、地図アプリケーションをオーバーレイして表示される。ジェスチャ450が、タッチ感知ディスプレイの縁部から少なくとも第2の閾値距離離れた距離(例えば、2~4センチメートルであるが、タッチ感知ディスプレイ112のサイズに依存し得る)移動すると、ドック408は、タッチ感知ディスプレイの既定の領域内に提示され、ジェスチャ450の移動にもはや追従しない。例えば、図4Cに示されるように、ジェスチャがタッチ感知ディスプレイの縁部から離れて少なくとも第2の閾値距離を超えて移動した後、ドック408は、既定の領域内に表示される。いくつかの実施形態では、ジェスチャ450の終了後(例えば、接触がタッチ感知ディスプレイ及びジェスチャ450の端部から解放又はリフトオフされた後)、ドック408は、既定の部分内に表示され、静止したままである。
図4Eにも示されるように、ドック408内に表示されるアプリケーション専用アフォーダンスは、それぞれのアプリケーションを開くために選択され得(例えば、いずれかのアプリケーション専用アフォーダンスに対応するアプリケーションが選択され)、アプリケーション専用アフォーダンスはまた、ジェスチャ(例えば、ジェスチャ452、図4E)を使用してドック408からドラッグされ得る。例えば、いくつかの実施形態では、アフォーダンス232上の単純なタップは、アフォーダンスに関連付けられたアプリケーションを起動し、それをドックの下に表示する。また、いくつかの実施形態では、ジェスチャ452によって示されるように、ドックから離れるドラッグ移動が後続する接触は、アフォーダンスに関連付けられたアプリケーションを起動し、ドックの下に表示する。
更に、いくつかの実施形態では、図4Fに示すように、ジェスチャ452を使用して、アプリケーション専用アフォーダンス232は、ドックからドラッグされるか、又はドックから外に、タッチ感知ディスプレイの既定の領域452に向かってドラッグされる。いくつかの実施形態では、既定の領域454は、現在表示されているアプリケーション(例えば、アプリケーション1、図4F)の隣にアプリケーションをピン留めするために予約される、タッチ感知ディスプレイの領域である。いくつかの実施形態では、アプリケーションをピン留めすることは、少なくとも2つの異なるアプリケーション間の関連付けを作成することを含み、その結果、それらのアプリケーションは、その後、ともに起動される。例えば、起動されると、ピン留めされたアプリケーションのうちの1つが、既定の領域454内に表示される。以下でより詳細に説明されるように、既定の領域454に向けてそれぞれのアプリケーション専用アフォーダンスをドラッグすると、関連付けられたアプリケーションが起動し、まず、アプリケーション専用アフォーダンスがドラッグされている間にプレビュー内のアプリケーションを表示し、次に、アプリケーション1を同時に表示しながら、既定の領域454内に(接触のリフトオフの際に)関連付けられたアプリケーションを表示する。いくつかの実施形態では、既定の領域454内に関連付けられたアプリケーションを表示することは、既定の領域454内の関連付けられたアプリケーションの表示に適応するように、アプリケーション1にサイズ変更又はスケール変更させる。
図4Fに戻ると、ジェスチャ452は、図4Gのタッチ感知ディスプレイ112を横切って移動し続け、ドック408の境界を越えて移動する(例えば、ジェスチャ452に関連付けられた接触は、ドック408の境界の外側に移動する)。いくつかの実施形態では、ジェスチャ452がドック408の境界を越えて移動したことを検出すると、アプリケーション専用アフォーダンス232は、もはや、ジェスチャ452とともに移動して表示されず、代わりに、アプリケーション専用アフォーダンス232に関連付けられたアプリケーションに関連付けられたコンテンツのプレビュー456(例えば、ビデオブラウジングアプリケーション及びコンテンツ)が、ジェスチャ452の後に表示される。更に、いくつかの実施形態では、既定の領域454は、現在表示されているアプリケーション(例えば、アプリケーション1、図4G)に隣接して明瞭化される。
いくつかの実施形態では、プレビュー456を表示する代わりに、アプリケーション専用アフォーダンス(例えば、アフォーダンス232)を含むユーザインタフェースオブジェクトが、ジェスチャがドック408の境界を越えて移動するときに表示される。これらのユーザインタフェースオブジェクトの例は、図4AC~図4AE(例えば、ユーザインタフェースオブジェクト473-A及び473-B)に示されており、以下でより詳細に説明される。
図4Hに示すように、ジェスチャ452が移動し続けると、プレビュー456及び既定の領域454のうちのより多くが、アプリケーション1に隣接して明瞭化される。既定の領域454を明瞭化するとともに、アプリケーション1はまた、既定の領域454以外のタッチ感知ディスプレイ112の残りの部分を占有するように(図4G~図4Hに示されるように)サイズ変更される。
図4Iは、ジェスチャ452の終了を検出すること(例えば、ジェスチャのための接触がタッチ感知ディスプレイからリフトオフされる)と、ビデオブラウジングアプリケーションが、既定の領域454を占有するように表示され、また、ここで、アプリケーション1の隣にピン留めされる(例えば、2つのアプリケーションが、ここで関連付けられ、いずれかのアプリケーションが起動されたときにともに開かれる)ことを示す。境界アフォーダンス460も図4Iに示されており、いくつかの実施形態では、ユーザが、ピン留めされたアプリケーションをサイズ変更することを可能にする(例えば、境界アフォーダンス460上の接触、及びタッチ感知ディスプレイ(図4L~図4Mのジェスチャ464など)を横切る実質的に右から左への方向への接触の移動を検出することに応じて、(図4L~図4Mに示されるように)アプリケーション1はサイズが縮小されるか、又はスケーリングされ、ビデオアプリケーションは、サイズが増大又はスケーリングされる)。ピン留めされたアプリケーションをサイズ変更する及び/又は却下するために境界アフォーダンスを使用すること(又は境界をドラッグすること)に関する更なる詳細は、特に図37H~図37M及び関連記述段落において、共同所有された米国特許出願第14/732,618号、及びその全体が参照によりその全体が組み込まれている関連記述パラグラフにも提供される。
いくつかの実施形態では、既定の領域454は、ジェスチャ(例えば、ジェスチャ452)がタッチ感知ディスプレイ112の左手部分又は右手部分(例えば、閾値464及び465、図4AB~図4AE)のいずれかに位置する閾値を超えて移動するまで明瞭化されない。このようにして、ユーザは、オーバーレイされたアプリケーションが、現在表示されているアプリケーション上に表示されるスライドオーバモードを起動するために、現在表示されているアプリケーション上でジェスチャを終了させる(例えば、現在表示されているアプリケーション1上でジェスチャ481をリフトオフする、図4AH)か否かを決定できるか、又は、ピン留めされたアプリケーションが表示される分割ビューモードを起動するために、閾値464、465の1つに向かうジェスチャを移動させ続けることができる(例えば、図4AE~図4AFに示すように、ジェスチャ472は、左手閾値465に向かって移動し、次に、ジェスチャ472に関連付けられた接触のリフトオフを検出すると、図4AFに示される2つのアプリケーションが、互いに隣り合ってピン留めされる)。特定の実施形態のこれらの特徴に関する更なる詳細は、図4AB~図4AIを参照して以下に提供される。
図4Iはまた、ディスプレイ112の(ディスプレイ112を見下ろしたユーザの視点に対して)最上縁部付近の最初の接触、続いて、タッチ感知ディスプレイを横切る実質的に下向きの方向への接触の移動を含む、ジェスチャ461を示す。ジェスチャが、実質的に下向きの方向に少なくとも閾値距離(例えば、1~2センチメートル)移動したことを検出したことに応じて、アフォーダンス462(図4J)が、ジェスチャ461が検出されたアプリケーション(例えば、図4I及び図4Jに示すビデオアプリケーション)をオーバーレイして表示される。
図4J~図4Lはまた、少なくとも2つのアプリケーションが現在、ディスプレイ112上で並べて表示されている(例えば、少なくとも2つのアプリケーションが、分割ビューモードにおいて互いにピン留め/表示されている)間、タッチ感知ディスプレイからドック408を移動させるために使用されるジェスチャ471を示す(ジェスチャ471は、ドック408の近くの最初の接触、続いて、実質的に下向きの方向の接触の移動を含み得る)。このようにして、ドック408は、ユーザがドック408の後ろに表示されたアプリケーションとのみ対話するように選択できるように隠され得る。単一のアプリケーションがディスプレイ112上に表示されている間にドックをアクティブ化するために使用されるジェスチャ(例えば、図4A~図4Cのジェスチャ450)と同様に、ジェスチャ450はまた、1つよりも多くのアプリケーションがディスプレイ112上に表示されている間(例えば、図4N~図4Pに示すように、アプリケーション1がビデオアプリケーションの隣にピン留めされている間)、ドックをアクティブ化するために使用され得る。
ここで図4Qを参照すると、複数のアプリケーションがタッチ感知ディスプレイ112上に同時に表示されている間に、ドック408内に表示されたアプリケーション専用アフォーダンスのうちの1つ上でジェスチャ466が検出される。例えば、ジェスチャ466は、ウェブブラウジングアプリケーションに対応するアフォーダンス220の上の最初の接触、続いて、タッチ感知ディスプレイ112を横切る最初の接触の移動を含む。ジェスチャ466は、図4Rで移動し続け、アプリケーション専用アフォーダンスは、ジェスチャ466がドック408の境界を越えて交差するまで、ジェスチャ466の移動に従って移動する。いくつかの実施形態では、ジェスチャ466がドック408の境界を越えて移動したことが検出されると、アプリケーション専用のアフォーダンスは、もはやジェスチャ466の下に表示されず、ウェブブラウジングアプリケーションに関連付けられたコンテンツのプレビュー498がその場所に表示される(図4S)。
図4Sにも示されるように、いくつかの実施形態では、ジェスチャ466がドック408の境界を越えて移動すると、新たなアフォーダンスがドックに追加される(例えば、地図アプリケーションのピン留め状態に対応するアフォーダンス492、及びビデオアプリケーションが、ウェブブラウジングアプリケーションのためのアフォーダンスによって以前に占有されているドック408内の位置に表示される)。いくつかの他の実施形態では、ジェスチャ466の終了が検出されるまで、新たなアフォーダンスはドック408に追加されない(言い換えれば、アフォーダンス492は、図4T~図4Uの間でジェスチャ466のリフトオフが検出されるまで、ドック408に追加されない。いくつかの実施形態では、ユーザは、ドラッグジェスチャを継続する代わりに、アフォーダンスをドックに戻すことを選択し得る(又は、既定の領域454に到達する前にジェスチャを終了するか、又はジェスチャを既定の領域から離れる方向に移動させ得る)。このようにして、ユーザには、改善されたマンマシンインタフェースが提供され、意図されないアクションを逆転させる必要がある場合には、そうでなければ可能ではないデバイスとの持続的な対話に従事する能力が提供される。
例示的なジェスチャ466の説明に戻ると、いくつかの実施形態では、プレビュー498は、ジェスチャが現在移動しているアプリケーションに応じてサイズ変更される。例えば、図4Sに示すように、ジェスチャ466がアプリケーション1の上にある間、プレビュー498は第1の表示サイズを有し、図4Tに示すように、ジェスチャ466がビデオアプリケーションの上にある間、プレビュー498は、第1の表示サイズとは異なる第2の表示サイズを有するようにサイズ変更される。図4S~図4Tに示すように、第1の表示サイズは、アプリケーション1の寸法に一致するように(第2の表示サイズと比較して)幅広であり、第2の表示サイズは、ビデオアプリケーションの寸法に一致するように(第1の表示サイズと比較して)幅狭である。
ジェスチャ466の終了(例えば、ジェスチャ466がビデオアプリケーション上にある間の、タッチ感知ディスプレイからのジェスチャのリフトオフ)を検出すると、ウェブブラウジングアプリケーションは、次に、ビデオアプリケーションによって以前に占有されているタッチ感知ディスプレイ112の領域内に表示される(図4U)。
いくつかの実施形態では、すでに複数のアプリケーション(例えば、アプリケーション1及びウェブブラウジングアプリケーションなどの、2つのピン留めされたアプリケーション、図4V)を表示している間、ジェスチャ(例えば、図4Vのジェスチャ468)を使用して、ピン留めされたアプリケーションに対応するアフォーダンスをドック408から、及びタッチ感知ディスプレイ112上にドラッグするために使用され得る。ジェスチャ468がドック408の境界を横切ると、アフォーダンスに対応するコンテンツのプレビューが表示され(図4W)、その後、タッチ感知ディスプレイ112からのジェスチャ468のリフトオフを検出すると(図4X)、コンテンツが表示される。いくつかの実施形態では、コンテンツは、タッチ感知ディスプレイ112の実質的に全てを占有するように表示され、以前に表示された複数のアプリケーションはもはや表示されない。他の実施形態では、コンテンツ及び複数のアプリケーションは両方とも表示される(例えば、コンテンツは、複数のアプリケーションの上方に表示され、それにより、ユーザが、ピン留めされたアプリケーションの1つよりも多くのセットと同時に対話することを可能にする)。いくつかの実施形態では、この特徴は、より大きいディスプレイ(例えば、少なくとも9.7インチの対角線寸法を有するディスプレイ)を有するデバイスにおいてのみ利用可能である。
いくつかの実施形態では、単一のアプリケーションの複数のインスタンスもまた、互いにピン留めされてもよく、単一のアプリケーション(例えば、アフォーダンス404)の複数のインスタンスに対応するアフォーダンスもまた、ジェスチャ470を使用してドック408からドラッグされ得る(図4Y~図4AA)。
図4A~図4AAでは描かれていないが、いくつかの実施形態はまた、ユーザが、ドックからのアフォーダンスを、(例えば、隠されたオーバーレイされたアプリケーション(ユーザがディスプレイからスワイプしたオーバーレイされたアプリケーション)を一時的に表示するために、タッチ感知ディスプレイの縁部に向かってアフォーダンスをドラッグするために)現在表示されていないオーバーレイされたアプリケーション上にドラッグし、その後、一時的に表示されたオーバーレイされたアプリケーション上にアフォーダンスをドロップすることを可能にする。例えば、ユーザは、図4ANに示されるドック408から、タッチ感知ディスプレイ112の最右縁部に向かって、ノートアプリケーションに対応するアプリケーション専用アフォーダンス244をドラッグし、最右縁部から閾値距離に達すると、隠されたオーバーレイされたビデオアプリケーション(図4AL~図4AMにおけるジェスチャ485を使用して隠された)は一時的に明瞭化され、次に、ユーザは、隠されたオーバーレイされたアプリケーションの最上部にドラッグされたアフォーダンスをドロップし、それによって、ビデオアプリケーションをノートアプリケーションで置き換えることができる。このようにして、ユーザは、現在視認できないオーバーレイされたアプリケーションを置き換えるために、単純なドラッグジェスチャを使用することができる。
ここで図4ABを参照すると、例示的な閾値464及び465は、タッチ感知ディスプレイ112の最右縁部及び最左縁部の近くに例示されている。いくつかの実施形態では、閾値は、ディスプレイ112のそれぞれの縁部から約1~2センチメートル離れて位置し、これらの閾値は、アプリケーションが所定の領域内にピン留めされ得るという指示をユーザに提供するディスプレイ454の既定の領域を明瞭化するときを判定するのを助けるために利用される。例えば、図4AB~図4AFに示すように、ジェスチャ472は、ビデオブラウジングアプリケーションに対応するアプリケーション専用アフォーダンス232上で検出される。次に、ジェスチャ472は、図4Aのドック408の境界を越えて移動し、ジェスチャ472がドックの境界を越えて移動したことを検出することに応じて、アプリケーション専用アフォーダンス232は、ジェスチャ472に対応する接触の下にもはや表示されず、代わりに、ユーザインタフェースオブジェクト473-Aが接触の下に表示される。
いくつかの実施形態では、ユーザインタフェースオブジェクト473-Aは、第1の形状(例えば、その内部に位置するアプリケーション専用アフォーダンスの表現を有する実質的に楕円の形状)を有する一方で、ジェスチャ472に対応する接触は、閾値464、465を超えて交差していない(図4AC)。いくつかの実施形態では、ジェスチャ472が閾値464、465のうちの1つを超えて交差した(そして、接触が閾値を超えたままである)ことを検出したことに応じて、既定の領域454が明瞭化され、ユーザインタフェースオブジェクト473-Bは、ユーザインタフェースオブジェクト473-Aの代わりに接触の下に表示される(図4AD及び図4AE)。いくつかの実施形態では、ユーザインタフェースオブジェクト473-Bは、ユーザインタフェースオブジェクト473-Aの第1の形状とは異なる第2の形状(例えば、内部に位置するアプリケーション専用アフォーダンスの表現を含む実質的に矩形の形状)を有する。既定の領域454を明瞭化し、ユーザインタフェースオブジェクト473の形状を変更することにより、ユーザは、この時点で、アプリケーションをピン留め/ディスプレイ112上で分割ビューモードをアクティブ化、することができる明確な視覚的な指示が提供される。これらの明瞭な視覚的な指示を提供することは、新たな特徴が発見可能であることを確実にすることによって、マンマシンインタフェースを改善し、ユーザが予想できないアクションを継続的にアンドゥする必要がないことに起因して、別の方法では可能ではないディスプレイ112との持続的な対話を可能にする。
図4AE~図4AFに示すように、ユーザは、(例えば、ディスプレイ112からジェスチャ472に対応する接触をリフトオフすることによって)ジェスチャを終了することを決定することができ、それに応じて、ジェスチャ472(例えば、ビデオブラウジングアプリケーション)の間にドラッグされているアプリケーション専用アフォーダンスに対応するアプリケーションは、次に、ディスプレイ112上のアプリケーション1の隣にピン留めされる(図4AF)。
図4AFはまた、ピン留めされた後にアプリケーションを却下するために使用され得るジェスチャ(例えば、ジェスチャ477)の例を示す。図示のように、例示的なジェスチャ477は、接触、続いて、縁部(例えば、ディスプレイ112を見おろすユーザに対するディスプレイ112の最左縁部)への接触の移動を含む。ジェスチャ477が縁部の所定距離内(例えば、縁部の1~2センチメートル以内)移動したことを検出したことに応じて、ピン留めされたアプリケーションは、図4AGに示されるように却下される(及び、いくつかの実施形態では、デバイス100のメモリは、ビデオアプリケーション及びアプリケーション1がもはや互いにピン留めされていないことを反映するように更新される)。ジェスチャを使用してピン留めされたアプリケーションを却下することに関する更なる詳細は、共同所有された米国特許出願第14/732,618号(例えば、図37K~図37M、及びこれらの図を説明する関連付けられた段落)で提供される。他の実施形態では、ジェスチャ477が所定の速度を超えて移動したことを検出するか、又は縁部に向かう加速度が、ピン留めされたアプリケーションを却下することになる。
図4AGはまた、別のアプリケーションをオーバーレイするアプリケーションが表示されるスライドオーバモードをアクティブ化するために使用され得るジェスチャ478を示す。例えば、ジェスチャ478に関連付けられた接触は、ウェブブラウジングアプリケーションに対応するアプリケーション専用アフォーダンス220上で最初に検出され、接触の移動をドック408の境界を越えて検出することに応じて、UIオブジェクト473-Aが、アプリケーション専用アフォーダンス220とともに表示される。図4AHでは、タッチ感知ディスプレイ112からの接触のリフトオフもまた、アプリケーション1上で検出され(接触が閾値464又は465のいずれかを超えることなく)検出され、それに応じて、(図4AIに示されるように)アプリケーション1にオーバーレイしているウェブブラウジングアプリケーションが表示される。
図4AIはまた、ディスプレイ112の最下縁部に向かって実質的に下向きの方向に移動するジェスチャ482が表示され、ジェスチャが下向き方向で所定距離(例えば、1~2センチメートル)移動したことを検出することに応じて、次に、ウェブブラウジングアプリケーションが、アプリケーション1の隣にピン留めされる(図4AJに示すように)実施形態を示す。いくつかの実施形態では、オーバーレイされたアプリケーションをピン留めするためのこの下向きのスワイプジェスチャは、図5D~図5Fを参照して後述されるジェスチャ518に加えて利用可能である(一方、他の実施形態では、下向きのスワイプジェスチャは、図5D~図5Fの上方向スワイプジェスチャの代替である。いくつかの実施形態では、ジェスチャは、オーバーレイされたアプリケーションの最上部又はその近くで(例えば、オーバーレイされたアプリケーションの最上部の近くにある、表示されたアフォーダンス462の上で)開始されねばならない。
図4AJ~図4ALに示すように、いくつかの実施形態では、ユーザはまた、2つのピン留めされたアプリケーションの最上部にアプリケーションをオーバーレイすることも可能である。例えば、2つのピン留めされたアプリケーション(図4AK)の間の境界を覆うジェスチャ484の終了を検出することに応じて、2つのピン留めされたアプリケーションをオーバーレイするアプリケーションが表示される(例えば、アプリケーション1の隣にピン留めされたウェブブラウジングアプリケーションをオーバーレイしているビデオブラウジングアプリケーションが表示される。図4AL)。更に、ピクチャインピクチャビデオが利用可能であるいくつかの実施形態では、ユーザはまた、2つのピン留めされたアプリケーションの最上部にある、オーバーレイされたアプリケーションの最上部に表示されたピクチャインピクチャビデオコンテンツを有することもできる。言い換えれば、ピクチャインピクチャビデオは、常に最上層である。ピクチャインピクチャビデオ特徴は、参照によりその全体が上記に組み込まれている、共同所有された米国特許出願第14/732,618号(例えば、図48A~図52D、及びこれらの図を説明する関連付けられた段落で)により詳細に記載されている。
効率的なスペースのユーザとするために、いくつかの実施形態では、ユーザはまた、オーバーレイされたアプリケーションを一時的に隠すことができる。例えば、図4AL~図4ANに示すように、オーバーレイされたアプリケーションを一時的に隠すために、ジェスチャ(例えば、ジェスチャ485)が、オーバーレイされたアプリケーション上で、タッチ感知ディスプレイ112を横断して実質的に左右方向にスワイプインするために使用され得る。次に、ユーザは、オーバーレイされたアプリケーションを隠すために使用されたジェスチャと反対方向に移動する別のジェスチャ(例えば、ジェスチャ486)を使用して、オーバーレイされたアプリケーションを再表示することができる(例えば、ジェスチャ486は、タッチ感知ディスプレイ112を横切って実質的に右から左の方向に移動する)。図4AOは、ジェスチャ486に応じて再表示されたオーバーレイされたアプリケーションの例を示す。
ユーザが、現在オーバーレイされているアプリケーションを容易にピン留めすることを可能にするために、そして、ディスプレイ112の上のその作業空間を効率的かつ容易に調整することを可能にする(これは、改善されたマンマシンインタフェースをもたらし、ユーザが、ディスプレイ112上に表示されたアプリケーションとの持続的な対話に参加することを可能にする)ために、ユーザが、アプリケーションを、オーバーレイされた状態からピン留めされた状態に容易に切り替えることを可能にするジェスチャが提供され得る。例えば、オーバーレイされたアプリケーションで表示されたアフォーダンス506上の接触が検出されてもよく、その接触は、次に、タッチ感知ディスプレイ112の最下縁部(例えば、図4AOのジェスチャ487)に向かって、タッチ感知ディスプレイを横切って実質的に下向きの方向に移動することができる。ジェスチャ488がタッチ感知ディスプレイにわたって少なくとも所定距離(例えば、4~5センチメートル)移動したことを検出することに応じて、オーバーレイされたアプリケーションはもはや表示されず、その代わりに、UIオブジェクト473-Bが、ジェスチャ488に関連付けられた接触の下に表示される。いくつかの実施形態では、オーバーレイされたアプリケーションに対応するコンテンツの漸進的な縮小は、コンテンツがもはや表示されず、UIオブジェクト473-Aのみがディスプレイ112上に留まるまで示される。
いくつかの実施形態では、UIオブジェクト473-Bを表示するときを判定するために使用される所定距離は、下向きのスワイプジェスチャに応じて、オーバーレイされた状態からピン留めされた状態へ切り替えるときを判定するために使用される所定距離よりも長い。いくつかの実施形態では、また方法1200を参照して以下に記載されるように、速度又は加速度に基づく閾値が、距離ベースの閾値の代わりに利用され得る。これらの実施形態では、UIオブジェクト473-Bを表示するときを判定するために使用される速度又は加速度閾値は、下方向スワイプジェスチャ(例えば、4センチメートル/秒)に応じて、オーバーレイされた状態からピン留めされた状態へ切り替えるときを判定するために使用されるより速い速度(例えば、8センチメートル/秒)又は加速度に対応する。
いくつかの実施形態では、ジェスチャ488はその後、ユーザがタッチ感知ディスプレイ112を横切ってUIオブジェクト473-Bをドラッグすることを継続する。図4AP~図4AQに示すように、ジェスチャ488は、アプリケーション1の上を移動し、それに応じて、UIオブジェクト473-Bの形状は、その後、(UIオブジェクト473-Bが、UIオブジェクト473-B及び前述のUIオブジェクト473-Aの形状とは別個の形状を有するUIオブジェクト473-Cになるように)接触のリフトオフが生じると、ビデオブラウジングアプリケーションが、アプリケーション1をディスプレイ112上で置き換えることになることを示す指示を、ユーザに提供するために、変化し得る。
図4AP及び図4AQに示されるように、ジェスチャ488が、ウェブブラウジングアプリケーション上で、次にアプリケーション1の上を移動するとき、これらのアプリケーションの各々に対応するコンテンツは、(図4AP及び図4AQにおけるこれらのアプリケーションのそれぞれに対応するコンテンツの各々の暗色化によって示されるように)ぼかされて、(UIオブジェクト473の形状を変化させることに加えて)いずれかのアプリケーションの上にUIオブジェクトをドロップすることが変化を引き起こすとの別の視覚的な指示を、ユーザに提供する。
いくつかの実施形態では、ジェスチャ488の終了(例えば、ジェスチャ488に関連付けられた接触のリフトオフが、アプリケーション1上で生じる)を検出すると、ビデオブラウジングアプリケーションは、ディスプレイ112の上のアプリケーション1を置き換え、ウェブブラウジングアプリケーションの隣にピン留めされる(デバイス100のメモリはまた、ウェブブラウジングアプリケーション及びアプリケーション1がもはや互いにピン留めされておらず、ウェブブラウジングアプリケーション及びビデオブラウジングアプリケーションが互いにピン留めされていることを反映するように更新され得る)。この例は、図4ARに示されており、この図では、ビデオブラウジングアプリケーションが、ディスプレイ112上のウェブブラウジングアプリケーションの隣にピン留めされる。
ユーザが、現在オーバーレイされているアプリケーションを容易にピン付けすることを可能にし、それによって、ディスプレイ112上の作業空間を効率的かつ容易に調整することは、(例えば、アプリケーションをドックからドラッグすることと、それをピン留め状態に切り替えるために、オーバーレイされたアプリケーションをドラッグすることとの間の一貫したユーザ体感を確保することによって、)マンマシンインタフェースが改善されることを確実にし、また、ユーザが、(例えば、オーバーレイ状態とピン留め状態との間で切り替えるために、ピン留めされたアプリケーションのコンテンツが、ドラッグジェスチャ間に完全に不明瞭ではないことを保証にすることによって、)ディスプレイ112上に表示されたアプリケーションとの持続的な対話に参加することを可能にする。
いくつかの実施形態では、上述のジェスチャ488の間にビデオブラウジングアプリケーションを却下するために、ユーザは、ドック408の上でジェスチャ488を終了することができる。これらの実施形態では、ドック408上でのジェスチャ488の終了(例えば、ドック上のジェスチャ488に関連付けられた接触のリフトオフ)の検出に応じて、オーバーレイされたビデオブラウジングアプリケーションが却下され、アプリケーション1及びウェブブラウジングアプリケーションを含む分割ビューモードは、ディスプレイ112上に表示されたままである。
いくつかの実施形態では、(図1Aのデバイスのメモリに示される)デバイス100上にインストールされたアプリケーションの各々は、それらが分割ビュー表示モードと互換性があるかどうかに関する指示と関連付けられ得る。特定のアプリケーションが、(例えば、特定のアプリケーションに関連付けられた指示をチェックし、特定のアプリケーションは互換性がないことを示すことによって、)分割ビュー表示モードと互換性がないとの判定に従って、特定のアプリケーションに対応するアプリケーション専用アフォーダンスがドック408からドラッグされている間に、ディスプレイの変更は行われない。代わりに、特定のアプリケーションに対応するアプリケーション専用アフォーダンスをドラッグし、次に、分割ビューモードで表示されたアプリケーションの上に(又は単一のアプリケーションの上に)ドロップすることにより、(分割ビューモードで表示された特定のアプリケーションを有する代わりに、又はアプリケーションのいずれかをオーバーレイする代わりに)特定のアプリケーションに対して、タッチ感知ディスプレイの全てを占有させる。いくつかの実施形態では、互換性のないアプリケーションに対応するアプリケーション専用アフォーダンス(本明細書の例として使用される特定のアプリケーションなど)は、ドック408からまったくドラッグされない場合がある(代わりに、これらのアプリケーションは、これらのアプリケーションが分割ビューモード又はスライドオーバ表示モードと連携して使用するために利用可能ではないことをユーザに知らせるためにタップされ得る)。
図4A~図4ARに関する更なる説明は、方法800を参照して以下に提供される。
図5A~図5Oは、いくつかの実施形態に係る、分割ビューモード(ここでは、2つのアプリケーションが互いにピン留めされ、ディスプレイ上に並べて表示される)と、スライドオーバモード(ここでは、1つのアプリケーションが、ディスプレイ上において、別のアプリケーションにオーバーレイして表示される)とを切り替えるためのユーザインタフェースを示すために使用されるタッチ感知ディスプレイの概略図である。
図5Aでは、2つのアプリケーションが、タッチ感知ディスプレイ112上に、分割ビューモードで表示され、ジェスチャ508は、ディスプレイ112の縁部付近で検出され、縁部は、分割ビューモードで表示される2つのアプリケーションの第1のアプリケーションに接している。ジェスチャは、まず、ディスプレイ112を囲むベゼルから、ディスプレイ112の縁部を横切って移動し、その後、(ディスプレイ112を見下ろすユーザに対して)実質的に下向きの方向に移動し続け得る。ジェスチャ508が、実質的に下向きの方向に少なくとも閾値距離(例えば、1~2センチメートル)移動したことを検出したことに応じて、アフォーダンス506は、第1のアプリケーションをオーバーレイして表示される(例えば、アフォーダンス506は、図5Bにおいて、ビデオアプリケーションにオーバーレイする)。ビデオアプリケーションは、本明細書では、ビデオブラウジングアプリケーションとも置換可能に称される。
図5Bに示すように、ジェスチャ509は、アフォーダンス506の上で実行されてもよく、ジェスチャは、ユーザが、分割ビューモードとスライドオーバモードとの間で切り替わることを可能にする(この切り替えにより、ユーザは、アプリケーションをピン留めする、及び、ピン留めを外すことを可能にする)。ジェスチャ509は、アフォーダンス506上の最初の接触、続いて、第1のアプリケーション(例えば、図5Bに示されるビデオブラウジングアプリケーション)上で、実質的に下向きの方向の最初の接触の移動を含み得る。図5Cに示されるように、ジェスチャ509が、実質的に下向きの方向で少なくとも閾値距離(例えば、1~2センチメートル)移動した後、分割ビューモードを終了し、代わりに、スライドオーバモードに入り、ここでは、第1のアプリケーションが、別のアプリケーションをオーバーレイして表示される(例えば、ビデオブラウジングアプリケーションは、図5Cにおいてアプリケーション1をオーバーレイして表示される)。既存の分割ビューモードと連携して、第1のアプリケーションはまた、アプリケーション1からピン留めを外され得る(例えば、デバイス100のメモリは、第1のアプリケーションとアプリケーション1との間の関連付けを除去するために更新され得る)。
アプリケーションがスライドオーバモードで表示されている間に、アプリケーション1は依然として利用可能であり、(ビデオブラウジングアプリケーションがアプリケーション1をオーバーレイしている間でも)ユーザ入力に応答することができる。例えば、アプリケーション1内のリンク504上の接触510を検出したことに応じて、接触510は処理され、アプリケーション1は、リンク504に関連付けられたコンテンツにアクセスして表示することによって応答する(図5D)。
図5Dはまた、分割ビューモードに戻り、スライドオーバモードを終了するためにジェスチャ511が使用され得ることも示す。ジェスチャ511は、アフォーダンス506上の最初の接触、続いて、タッチ感知ディスプレイ112の最上縁部に向かう実質的に上向きの方向における接触の移動を含み得る。ジェスチャ511が、実質的に上向きの方向で少なくとも閾値距離(例えば、1~2センチメートル)移動したことを検出したことに応じて、ビデオアプリケーションは、(図5Fに示すように)タッチ感知ディスプレイ112上のアプリケーション1に隣接する分割ビューモードで再び表示される。デバイス100のメモリはまた、2つのアプリケーションが互いにピン留めされていることを示す、ビデオブラウジングアプリケーションとアプリケーション1との間の関連付けを再び含むようにも更新され得る。いくつかの実施形態では、ジェスチャ511が検出され、実質的に上向きの方向に移動している間に、既定の領域が、タッチ感知ディスプレイ(例えば、図5Eの既定の領域591)上で明瞭化され、既定の領域は、ジェスチャ511の終了を検出した後に、ビデオブラウジングアプリケーションが表示される領域である。
図5Fは、ジェスチャ512が、ピン留めされたビデオブラウジングアプリケーションを、タッチ感知ディスプレイ112上の異なる位置に移動させるために使用され得ることを更に示す。ジェスチャ512は、アフォーダンス506上の最初の接触、続いて、タッチ感知ディスプレイ112の最上縁部に向かって実質的に平行(例えば、平行の+/-5°以内)な実質的に横方向における接触の移動を含み得る。図5Gは、ジェスチャ512が実質的に横方向に移動し続けると、アプリケーション1の反対側の位置に達するまで、タッチ感知ディスプレイを横切るジェスチャ512に従って、ビデオブラウジングアプリケーションが移動することを示す(例えば、図5Hに示すように、ビデオブラウジングアプリケーションは、ジェスチャ512のリフトオフを検出すると、アプリケーション1の左側に表示される。2つのアプリケーション間の関連付けはまた、ビデオブラウジングアプリケーションが、アプリケーション1の左側にピン留めされていることを反映するように更新され得る。
図5Hは、ビデオブラウジングがアプリケーション1の左にピン留めされている間に、ジェスチャ509を使用して、分割ビューモードからスライドオーバモードに切り替えることができることを示す。例えば、ジェスチャ509が、少なくとも実質的に下向きの方向に閾値距離(例えば、実質的に下向きの方向で1~2センチメートル)移動したことを検出した後、分割ビューモードが終了し、ビデオブラウジングアプリケーションがアプリケーション1をオーバーレイして表示される(図5I)。図5Iにも示されるように、ジェスチャ517(上述のジェスチャ512と同様)を使用して、オーバーレイされたビデオブラウジングアプリケーションを、(図5Jに示すように)タッチ感知ディスプレイ112上の異なる位置にドラッグするために使用され得る。
図5Jはまた、ホームボタン204(押圧されたときに移動する物理ハードウェアボタン、押圧されたときに移動しないが、触覚フィードバックを提供することによって、移動をシミュレートするソリッドステートボタン、又は触覚フィードバックを提供することによって移動をシミュレートすることができるタッチ感知ディスプレイ112上に表示されるボタン)上の接触527も示す。ホームボタン204上の接触527を検出したことに応じて、ホームスクリーンが表示される(図5K)。ホームスクリーンが表示されている間に、カメラアプリケーションに対応するアフォーダンス上で接触516(図5K)が検出され、それに応じて、カメラアプリケーションは、最上部にオーバーレイされたビデオブラウジングアプリケーションで開かれる(図5L)。このようにして、ユーザは、(ホームスクリーン又はアプリケーションスイッチャユーザインタフェースから)起動されるアプリケーションで表示されるオーバーレイされたアプリケーションを有することができ、その結果、それらのアプリケーションは、後ろに表示されたアプリケーションをも変更しながら、オーバーレイされたアプリケーションとの持続的かつ中断されない対話をすることができる。
図5Lはまた、ドック408からアフォーダンスをドラッグするために使用されるジェスチャ518が、アプリケーションがオーバーレイされているものを切り替える(例えば、ジェスチャ518が、オーバーレイされたビデオブラウジングアプリケーション上にある間、ジェスチャ518の終了後に、ビデオブラウジングアプリケーションからウェブブラウジングアプリケーションへ切り替える(図5M~図5O))ために使用され得ることをも示している。
図5A~図5Oに関する更なる説明は、方法900を参照して以下に提供される。
次に、いくつかの実施形態に係る、最初にドックをアクティブ化し、次に、ディスプレイ上でアプリケーションスイッチャユーザインタフェースをアクティブ化することを可能にする連続ジェスチャを示すために使用されるタッチ感知ディスプレイの概略図である、図6A~図6Qに注目する。
図6Aに示すように、第1のアプリケーション(例えば、アプリケーション1)は、第2のアプリケーション(例えば、アプリケーション2又はビデオアプリケーション)に隣接して(又は、言い換えれば、並べて/分割ビューモードで)表示される。アプリケーション1及びビデオアプリケーションは、ポータブル多機能デバイス100のタッチスクリーン112の実質的に利用可能な全ての表示領域を占有する表示領域601a内に表示される。並列ビューを表示している間に、デバイス100は、ポータブル多機能デバイス100のタッチスクリーン112上のユーザ入力、例えば、実質的に上向きのドラッグ、スワイプ、又はスライディングジェスチャ602を受信する。ユーザ入力602を受信したことに応じて、デバイスは、図6Bに示されるように、ドック408をタッチスクリーン112の下端から徐々に表示する。いくつかの実施形態では、表示領域601aの一部分をオーバーレイするドック408は、デバイス100上で利用可能なアプリケーションに対応するアフォーダンス、例えば、電話アプリケーションに対応する電話アフォーダンス、メールアプリケーションに対応するメールアフォーダンス、ウェブブラウジングアプリケーションに対応するブラウザアフォーダンス、デバイス100上で利用可能なノートアプリケーションに対応するノートアフォーダンスを含む。いくつかの実施形態では、ジェスチャ602がディスプレイ112を横切って第1の閾値距離(例えば、1~2センチメートル)移動した後、ドック408は、ディスプレイ112を横切って移動するにつれて、ジェスチャ602に追従し始める。次に、いくつかの実施形態では、ジェスチャ602が第2の閾値距離(例えば、合計で2~4センチメートル、又は第1の閾値距離を超えて更に1~2センチメートル)移動した後、ドック408は静的位置に留まり、ジェスチャ602にもはや追従しない(図6C)。ジェスチャ602が第2の閾値距離を超えて移動し続けると、現在表示されているアプリケーション(例えば、アプリケーション1とビデオアプリケーションとの分割ビューモード)は、サイズをスケールダウンし始め、アプリケーションスイッチャユーザインタフェースが表示される(図6D)。いくつかの実施形態では、ジェスチャが少なくとも第3の閾値距離(例えば、合計で3~6センチメートル、又は第2の閾値距離を超えて更に1~2センチメートル)移動すると、アプリケーションスイッチャユーザインタフェースは、(以下でより詳細に論じられるように、)それぞれの時系列順で表示される表現604とともに表示される(図6E)。いくつかの実施形態では、これらの閾値距離間の移動は、例えば、接触のリフトオフ又は解放を一切伴わずに、スクリーンの表面との接触を中断することなく生じる。
図6Dは、ユーザ入力602を受信したことに応じて、タッチスクリーン112上に表示される、アプリケーションスイッチャユーザインタフェースを示す。いくつかの実施形態では、アプリケーションスイッチャユーザインタフェースは、ポータブル多機能デバイス100、例えば、アプリケーション3(606)、アプリケーション4(608)、アプリケーション5(610)、及びアプリケーション6(612)などに最近使用された少なくとも一部のアプリケーションの表現を表示する。いくつかの実施形態では、アプリケーションスイッチャユーザインタフェースはまた、図6Aに示される表示領域601aの表現604を含む。
いくつかの実施形態では、図6Dに示されるように、図6Aに以前に示されている表示領域601aは、表示された表現604内に収まるようにサイズ又はスケールが徐々に小さくなるようにアニメーション表示される。表現604は、アプリケーション1及びビデオアプリケーションの縮小並列ビューを含む。いくつかの実施形態では、最近使用されたアプリケーション606~612の表現は、時系列的に順序付けられている。例えば、アプリケーション3(606)は、アプリケーション4(608)よりも直近に使用され、したがって、アプリケーション4(608)の右に表示される。同様に、アプリケーション5(610)は、アプリケーション6(612)よりも直近に使用され、したがって、アプリケーション6の上方に表示される。いくつかの実施形態では、アプリケーションスイッチャユーザインタフェースはまた、ボリューム制御、輝度制御などの一般的に使用されるシステム制御を含む制御センタ614を含む。
図6Eは、表現604が所定のサイズ、例えば、表現606~612と同じサイズに達するまで、表現604の縮小又はスケーリングが継続することを示す。図6Eは、最近使用されたアプリケーション606~612の表現が、表現604のための場所を作るように、例えば、表現606~612を左及び/又は異なる行に移動させるように、再配置され得ることを更に示す。アプリケーション1及びアプリケーション2(ビデオアプリケーション)は、最も直近に使用されたアプリケーションであるため、アプリケーション1及びアプリケーション2を表す表現604は、表現606~612の前に配置される。
図6F~図6Gは、いくつかの実施形態に係る、アプリケーションスイッチャインタフェース内に表示されたアプリケーションを切り替えることを示す。ドック408と、アプリケーション1及びアプリケーション2に対応する表現604とを含むアプリケーションスイッチャインタフェースを表示している間、デバイス100は、ドック408内のウェブブラウジングアフォーダンス上で接触603を検出し、続いてジェスチャ603(例えば、タッチスクリーン112上の接触の、表示領域内に表示された表現604への連続移動)を検出する。いくつかの実施形態では、このジェスチャは、接触及び移動を検出する間の解除又はリフトオフを検出することなく行われる。ジェスチャ603は、ユーザが、表現604内のアプリケーション2上の接触をリフトオフするときに終了する。リフトオフを検出すると、図6Gに示されるように、デバイス100は、表現604内のアプリケーション2を、ウェブブラウジングアプリケーションの表現で置き換える。置き換え表現616は、アプリケーション1の表現と、並列ビューにおけるウェブブラウジングアプリケーションの表現とを含む。いくつかの実施形態では、これらの2つのアプリケーションは、以下に記載されるように、ピン留めされた関係から却下されるまで、互いにピン留めされる。
図6H~図6Mは、いくつかの実施形態に係る、アプリケーションスイッチャユーザインタフェース内からのアプリケーションを却下することを示す。いくつかの実施形態では、アプリケーションスイッチャユーザインタフェースを表示している間に、デバイス100は、図6Hに示されるように、ユーザ入力、例えば、表現604内のアプリケーション2上の接触618aを検出する。
いくつかの実施形態では、図6Iに示されるように、システムは、入力が、例えば、既定の時間長さよりも長く継続する押圧及び持続接触、又は閾値強度(例えば、上記でより詳細に説明されるような深い/強い押圧)を上回る強度を有する接触などの、非タップ選択618bのような所定のタイプであるか否かを判定する。所定のタイプの入力618bを検出したことに応じて、デバイス100は、表現604内のアプリケーション2の上に、却下アフォーダンス620を表示する。その後、図6Jに示すように、却下アフォーダンス620の選択622を検出すると(例えば、却下アフォーダンス620をタップすると)、デバイス100は、アプリケーション2を閉じ、図6Kに示されるように、もはやアプリケーション2を含まないように表現604を更新する。いくつかの実施形態では、互いにピン留めされた2つよりも多くのアプリケーションの表現はまた、2つよりも多くのアプリケーションを却下する及び/又は置換するように対話され得る。
他の実施形態では、図6Lに示すように、入力はドラッグジェスチャ618cである。ドラッグジェスチャ626は、表現604内のアプリケーション2上の接触、続いて、表現604から離れる接触の移動を含む。いくつかの実施形態では、ドラッグジェスチャ626は、既定の時間長さ(例えば、押圧及び持続)よりも長く継続する最初の接触を含む。いくつかの実施形態では、最初の接触は実質的に静止している。既定の領域(例えば、ドック408)に移動している、又は、表現604から所定距離を超えて移動している接触626を検出したことに応じて、デバイス100は、アプリケーション2を閉じ、図6Mに示されるように、アプリケーション2をもはや含まないように表現604を更新する。
図6N~図6Qは、いくつかの実施形態に係る、スライドオーバ表示モードを介して受信されるアプリケーションスイッチャユーザインタフェースをアクティブ化するためのジェスチャを示し、スライドオーバ表示モードの表現は、アプリケーションスイッチャユーザインタフェース内に含まれない。
図6Nでは、アプリケーション2が表示領域601b内にオーバーレイとして表示されている間に、アプリケーション1が表示領域601b内に表示される。いくつかの実施形態では、オーバーレイされたアプリケーション2のディスプレイは、アプリケーション2の最上縁部付近のハンドル、例えば、アフォーダンス628を含む。表示領域601bは、タッチスクリーン112の実質的に全ての利用可能な表示領域を占有する。図6Oは、オーバーレイされたビューを表示している間に、デバイス100は、ポータブル多機能デバイス100のタッチスクリーン112上のユーザ入力、例えば、スクリーンの縁部から離れた、実質的にドラッグ、スワイプ、又はスライディングジェスチャ602(例えば、上向きのドラッグ)を受信することを示す。ユーザ入力602を受信したことに応じて、デバイスは、ドック408をタッチスクリーン112の下端から徐々に表示し、ドック408は(例えば、タッチスクリーン112の下端において)表示領域601b上にオーバーレイする。配置された場合、ドック408は、ジェスチャが継続する場合でももはや移動せず、ドックは静止位置に留まる。しかしながら、ドック408が移動を中止した後に、連続ジェスチャ602が縁部から(例えば、上方へ)更に移動し続けると、図6Pに示すように、アプリケーションスイッチャインタフェースが表示される。
ジェスチャが継続すると、図6Nに示される表示領域601bは、表現634内に収まるようにサイズ又はスケールが徐々に小さくなる。表現634は、アプリケーション1の表現を含むが、オーバーレイされたアプリケーション2の表現を含まない。図6Qは、表現634が、表現634のための場所を作るように再配置され得る最近使用されたアプリケーション636~642の表現と同じサイズになるまで、表現634の縮小が継続することを示す。いくつかの実施形態では、3つの異なる閾値距離(例えば、図6A~図6Eを参照して上述された第1、第2、及び第3の閾値距離)を使用して、ドック408を明瞭化し始めるとき、ドック408がその静止位置に配置されるべきとき、及び、アプリケーションスイッチャユーザインタフェースが表示されるべきときを判定する。
図6A~図6Qに関する更なる説明は、方法1000及び方法1200を参照して以下に提供される。
図7A~図7Lは、同じアプリケーションの2つ以上のインスタンスをアクティブ化するための例示的なユーザインタフェース及びジェスチャを示すために使用されるタッチ感知ディスプレイの概略図である。インスタンスは、コンピュータプログラムの実行中、例えば、そのプログラムのインスタンスであるプログラム又はアプリケーションが実行されるたびに通常存在する、明確なオブジェクトの単一の発生である。
いくつかの実施形態では、同じアプリケーションの2つ以上のインスタンスをアクティブ化するための方法は、タッチ感知ディスプレイ(例えば、タッチスクリーン112)及び1つ以上のプロセッサ(122、図1A)を備えた電子デバイス(例えば、ポータブル多機能デバイス100、図1A)において実行される。例えば、図7Aは、タッチ感知ディスプレイ112及び1つ以上のプロセッサ(図1Aの122)を備えた電子デバイス100上で実行されているアプリケーション702aの第1のインスタンスを示す。図示のように、アプリケーションの第1のインスタンスは、タッチ感知ディスプレイ112の実質的に全てに表示される。
この例では、アプリケーション702aは、電子メール、電子メール、又はメールアプリケーションであるが、他の実施形態では、アプリケーションは、電子デバイス100上で1つよりも多くのインスタンスを実行することができ、タッチスクリーン112上にアプリケーションの1つよりも多くのインスタンス(例えば、図1A及び図2を参照して上述したアプリケーションのいずれか)を表示することができる、任意のアプリケーションとすることができる。
図7Aに示すように、メールアプリケーションの第1のインスタンスの受信箱が、タッチスクリーン112上に表示される。この例では、表示された受信箱は、左パネル及び右パネルを含む。左パネルは、メールアプリケーションによって受信された個々の電子メールをリストし、右パネルは、受信した電子メールのうちの1つをより詳細に示す。
図7Bは、タッチスクリーン112上のユーザ入力(例えば、タップ又は押圧などの接触)704を示す。ここで、ユーザ入力又は接触704は、右パネルに示される開かれた電子メールを返信、転送、又は印刷するために使用される矢印アフォーダンスの上又は上方にある。矢印アフォーダンスにおいて、タッチスクリーン112(本明細書では、タッチ感知ディスプレイ又はタッチ感知ディスプレイスクリーンとも称される)と接触すると、タッチスクリーン112及びプロセッサ(図1Aの122)を含むシステムは、ユーザが矢印アフォーダンスを選択したことを判定し、電子メールに返信する、電子メールを転送する、又は電子メールを印刷するためのアフォーダンスを表示する。この例では、図7Bに示すように、これらのアフォーダンスは、開かれた電子メールをオーバーレイするポップアップウィンドウ内に表示される。
図7Cは、タッチスクリーン112上の別のユーザ入力(例えば、接触又はジェスチャ)706を示す。ここで、ユーザ入力(例えば、接触又はジェスチャ)706は、開かれた電子メールに返信するために使用される返信アフォーダンスの上又は上方にある。いくつかの実施形態では、ユーザ入力(例えば、接触又はジェスチャ)706は、単純なタップ又はタッチではなく、代わりに、深い又は強い押圧(例えば、所定の接触力又は強度を超える接触による押圧~図3A~図3Cに関連する説明を参照)又は、所定の時間長さ(例えば、1秒)より長い押圧及び持続である。
例えば、タッチスクリーン112、プロセッサ(図1Aの122)、接触強度センサ(図1の165)、及び/又は強度センサコントローラ(図1の159)を含むシステムは、ユーザ入力(例えば、接触又はジェスチャ)706が、返信アフォーダンス上の所定のタイプ(例えば、深い押圧、又は、押圧及び持続)のいずれかであるかを判定する。ユーザ入力706が返信アフォーダンス上の所定のタイプのものであると判定すると、タッチスクリーン112は、図7Dに示すように、前の電子メールに返信する新たな電子メールのプレビュー763を表示する。この例では、前の電子メールに返信する新たな電子メールのプレビュー763は、前の電子メールにオーバーレイするポップアップウィンドウ内に表示される。
図7Eは、図7Dに示される例とともに続く。ここで、ユーザ入力706が所定のタイプ(例えば、深い押圧、又は、押圧及び持続)であることを検出した後に、入力のリフトオフ、又は、返信アフォーダンスとの接触を検出することなく、タッチスクリーン112及びプロセッサ(図1Aの122)は、所定のタイプのジェスチャ706を検出する。いくつかの実施形態では、所定のタイプのジェスチャは、特定の距離(例えば、1~2センチメートル)までの(又はそれよりも大きい)接触の移動である。他の実施形態では、所定のタイプのジェスチャは、タッチスクリーンの既定の第2の部分(例えば、スクリーンの右3分の1から半分)への接触の移動である。この接触706のジェスチャ又は移動は、図7Dの接触706から延在する矢印によって示される。
ジェスチャ706が所定のタイプのものであることを検出すると、アプリケーションの第1のインスタンスは、図7Eに示すように、タッチスクリーンディスプレイの第1の部分にサイズ変更される。図7Eに示されるこの例では、第1の部分は、タッチスクリーンの左半分である。同時に、タッチスクリーンの残り(例えば、第1の部分を引いたタッチスクリーン領域全体)は、ユーザがスクリーンとの接触を解放又はリフトオフした場合、プレビュー763以外のコンテンツを空にして、(プレビュー763によって示されるように)新たな電子メールが前の電子メールに返信している領域を示す指示を、ユーザに提供する。いくつかの実施形態では、タッチスクリーンのこの残りは、上述の第2の部分762である。
ユーザが、例えば、メールアプリケーションの第1のインスタンスの隣の分割ビューモードで、前のメールに返信する新たな電子メールを開くことを望まない場合、ユーザは、接触を返信アフォーダンス上に戻すように移動させ、タッチスクリーンの表面から接触をリフトオフ又は解放することができる。しかしながら、ユーザが、所定のタイプのジェスチャ又は接触(上記図7Dを参照)の後に、タッチスクリーンとの接触をリフトオフ又は解放する場合、図7F又は図7Gに示すように、前の電子メールに返信する新たな電子メールが、タッチスクリーンの第2の部分762に表示される。いくつかの実施形態では、接触のリフトオフ又は解放を検出すると、プレビュー763(図7E)は、第2の部分762全体を占有するように拡張される(図7E)。いくつかの実施形態では、この拡張はアニメーション化される。
いくつかの実施形態では、プレビュー763(図7E)が拡張されて第2の部分762全体を占有すると、図7Fに示すように、メールアプリケーションの第1のインスタンスが第1の部分に表示される。他の実施形態では、プレビュー763(図7E)が拡張されて、第2の部分762全体を占有すると、図7Gに示すように、前の電子メール(第2の部分に表示された新たな電子メールが返信される)が、第1の部分に表示される。図7Gに関連付けられたいくつかの実施形態では、プレビュー763(図7E)は、第2の部分762全体を占有するように拡張されているが、メールアプリケーションの第1のインスタンスは、スクリーンから(例えば、左へ)スライドされる一方、前の電子メールは、アニメーション化されたシーケンス内で第1の部分に(例えば、右から)スライドされる。
図7Hは、同じアプリケーション(ここではメールアプリケーション)の2つ以上のインスタンスをアクティブ化するためのユーザインタフェース及びジェスチャの別の例を示す。図7Aと同様に、タッチスクリーンの表示可能領域の実質的に全てを占有するアプリケーションの第1のインスタンスが表示される。図示のように、ユーザ入力又は接触712は、選択可能なアフォーダンス(ここでは、受信箱に表示された受信された電子メールのリスト内の個々の電子メール)で検出される。
例えば、タッチスクリーン112、プロセッサ(図1Aの122)、接触強度センサ(図1の165)、及び/又は強度センサコントローラ(図1の159)を含むシステムは、ユーザ入力(例えば、接触又はジェスチャ)712が、返信アフォーダンス上で所定のタイプ(例えば、深い押圧、又は、押圧及び持続。本明細書に組み込まれた上記の説明を参照されたい)
であるかどうかを判定する。ユーザ入力712が、アフォーダンス上で所定のタイプのものであると判定すると、タッチスクリーン112は、図7Iに示すように、アプリケーションの新たなインスタンスのプレビュー765(ここでは、受信箱内の選択された電子メールに返信する電子メール)を表示する。この例では、プレビュー765は、アプリケーションの第1のインスタンス(例えば、メールアプリケーション)にオーバーレイしているポップアップウィンドウ内に表示される。
図7Iに示されるように、入力又は接触712のリフトオフを検出せず、かつユーザ入力712が所定のタイプであることを検出した後、例えば、タッチスクリーン112及びプロセッサ(図1Aの122)を含むシステムは、所定のタイプのジェスチャ712を検出する。いくつかの実施形態では、所定のタイプのジェスチャは、特定の距離(例えば、1~2センチメートル)までの接触の移動である(又はそれよりも大きい)。他の実施形態では、所定のタイプのジェスチャは、タッチスクリーンの既定の第2の部分(例えば、スクリーンの右1/3)への移動である。接触706のこのジェスチャ又は移動は、図7Iの矢印によって示される。
ジェスチャ712が所定のタイプのものであることを検出すると、アプリケーションの第1のインスタンス(例えば、受信箱を表示するメールアプリケーション)は、図7Jに示すように、タッチスクリーンディスプレイの第1の部分内にサイズ変更される。図7Jに示されるこの例では、第1の部分は、タッチスクリーンの左半分である。同時に、タッチスクリーンの残り(例えば、第1の部分を引いたタッチスクリーン領域全体)は、ユーザがスクリーンとの接触をリフトオフした場合、プレビュー765以外のコンテンツを空にして、(プレビュー765によって示されるように)新たな返信電子メールが完全に占有する領域を示す視覚的な指示を、ユーザに提供する。いくつかの実施形態では、タッチスクリーンのこの残りは、上述の第2の部分764である。
ユーザが、メールアプリケーションの第1のインスタンスの隣の分割ビューモードで新たな返信電子メールを開いていない場合、ユーザは、接触が開始されたところへ接触を移動させて戻し、タッチスクリーンの表面から接触をリフトオフ又は解放することができる。しかしながら、ユーザが、所定のタイプのジェスチャ又は接触(上記図7Iを参照)の後に、タッチスクリーンとの接触をリフトオフ又は解放した場合、図7Kに示すように、前の電子メールに返信する新たな電子メールが、タッチスクリーンの第2の部分762に表示される。いくつかの実施形態では、接触のリフトオフ又は解放を検出すると、プレビュー765(図7J)は、第2の部分764全体を占有するように拡張される(図7J)。いくつかの実施形態では、この拡張はアニメーション化される。
いくつかの実施形態では、プレビュー765(図7J)が拡張されて第2の部分764全体を占有すると、図7Kに示すように、メールアプリケーションの第1のインスタンスが第1の部分に表示される。他の実施形態では、プレビュー765(図7J)が拡張されて、第2の部分764全体を占有すると(第1の部分に示される新たな電子メールが返信する)前の電子メールは、図7Lに示すように、第1の部分に表示される。図7Lに関連付けられたいくつかの実施形態では、プレビュー765(図7J)は、第2の部分764全体を占有するように拡張されているが、メールアプリケーションの第1のインスタンスは、スクリーンから(例えば、左へ)スライドされる一方、前の電子メールは、アニメーション化されたシーケンス内で第1の部分に(例えば、右から)スライドされる。
図7A~図7G及び図7H~図7Kに関して上述したように、アプリケーションの第2のインスタンス(例えば、メールアプリケーションの電子メール返信)を、分割スクリーンモードで、タッチスクリーン上に並べて(例えば、メールアプリケーションの受信箱を表示する)同じアプリケーションの第1のインスタンスに隣接して開くことができる。他の実施形態は、分割ビューモードで並列にアプリケーションの2つよりも多くのインスタンスを表示するために使用されるが、更なる実施形態は、複数のアプリケーションを、分割ビューモードで並べて同じアプリケーションの複数のインスタンスとともに表示する。
いくつかの実施形態では、表示された全てのアプリケーションの組合せ、アプリケーションのインスタンス、又は、アプリケーション及びアプリケーションの複数のインスタンスの組合せは、それらがタッチスクリーンの表示可能領域全体を実質的に占有するように表示される。
いくつかの実施形態では、図7F、図7G、図7K、及び図7Lに示すように、境界アフォーダンス710が、アプリケーションの2つの表示されたインスタンス間、例えば、第1の部分と第2の部分との間に表示される。この境界アフォーダンスは、2つのインスタンス間の境界を、例えば、左又は右へドラッグするために使用され得る。境界アフォーダンス710をドラッグすることは、アプリケーションのそれぞれのインスタンスをサイズ変更し、リフトオフが行われると、リフトオフがそれぞれのサイズでそれぞれのインスタンスを維持する。更なる詳細は、共同所有された米国特許出願第14/732,618号において(例えば、図37H~図37M、及びこれらの図を説明する関連付けられたパラグラフにおいて)発見され得る。
いくつかの実施形態では、アプリケーションの第1及び第2のインスタンスは、電子デバイスの1つ以上のプロセッサ(図1Aの122)上で実行する別個の実行可能なプロセス(例えば、電子デバイスの1つ以上のプロセッサ上で別個に実行しているアプリケーションの2つの別個のインスタンス化)で実行する別個の実行可能な処理である。
いくつかの例では、アプリケーション内で他の特徴を開くように選択した後に、コンピューティングシステムのユーザは、アプリケーションの特定の特徴へのアクセスを失う(例えば、ユーザは、その受信した電子メールに返信するオプションを選択した後に、受信した電子メールをビューできない場合がある)。単一のアプリケーションの複数のインスタンスを開くことにより、ユーザは、これらの特定の特徴のビュー及び使用を継続することを可能にする。ユーザがビューを継続し、これらの特定の特徴を使用することを可能にすることは、デバイスの操作性を向上させ、(例えば、ユーザが、それらが閉じられた後にこれらの特定の特徴を再び開くために、複数の入力を提供する必要なく、これらの特定の特徴を使用することを可能にすることによって)ヒューマンマシンインタフェースをより効率的にする。更に、これにより、複数のジェスチャ又は入力を用いなければならないことにより、別の方法では可能ではないタッチ感知ディスプレイとの持続的な対話は、これら特定の特徴が、閉じられ、これ以上表示されなくなった後、これら特定の特徴をどうやって再び開くか、又はアクセスするのかを理解することが可能となる。
図7A~図7Lに関する更なる説明は、方法1100を参照して以下に提供される。
図8A~図8Cは、いくつかの実施形態による、ドックの外にアフォーダンスをドラッグすることによって(複数のアプリケーションが同時に表示され、使用のために利用可能である)分割ビューモードをアクティブ化する方法のフローチャート図である。図4A~図4AAを使用して、図8A~図8Cの方法及び/又はプロセスを示す。以下の例のうちのいくつかは、(タッチ感知面とディスプレイとを組合せた)タッチ感知ディスプレイ上での入力を参照して説明されるが、いくつかの実施形態では、デバイスは、図1Dに示すように、ディスプレイ194とは別個のタッチ感知面195上で入力を検出する。
いくつかの実施形態では、方法800は、電子デバイス(例えば、ポータブル多機能デバイス100、図1A、及び/又は電子デバイスの1つ以上の構成要素(例えば、I/Oサブシステム106、オペレーティングシステム126など)により実行される。いくつかの実施形態では、方法800は、非一時的コンピュータ可読記憶媒体に記憶され、デバイス100の1つ以上のプロセッサ122(図1A)など、デバイスの1つ以上のプロセッサによって実行される命令によって統御される。説明を簡単にするために、以下に、デバイス100により実行されるものとして方法800を説明する。いくつかの実施形態では、図1Aを参照すると、方法800の動作は、少なくとも部分的にマルチタスクモジュール(例えば、マルチタスクモジュール180)及びその構成要素、接触/動きモジュール(例えば、接触/動きモジュール130)、グラフィックモジュール(例えば、グラフィックモジュール132)、並びにタッチ感知ディスプレイ(例えば、タッチ感知ディスプレイシステム112)によって実行されるか、又はこれらを使用する。方法2200の一部の動作が任意選択的に組み合わされ、かつ/又は一部の動作の順序が任意選択的に変更される。
以下に説明するように、方法800は、ドックでのジェスチャを使用して分割ビューモードをアクティブ化し、次いで、タッチ感知ディスプレイ上に分割ビューモードで表示されるアプリケーションと対話する直観的なやり方を提供する。この方法は、分割ビューモードをアクティブ化するためにユーザから必要とされる入力の数を減少させ(例えば、ユーザは、複数の入力を実行する代わりに単純なドラッグジェスチャを行いさえすればよく)、それにより、より少ない数の入力を処理するために必要とされる電力が少なくなる(そして、ユーザがこのより直感的かつ単純なジェスチャに益々慣れるので、この節約は繰り返し実現される)ので、方法800を実施する電子デバイスのバッテリ寿命を延ばすことを確実にする。以下更に詳細に説明されるように、方法800の動作は、ユーザが持続的な対話に従事する(例えば、方法800の動作は、それらのデバイスとのそれらの対話を中断する頻発アンドゥ挙動を必要としない)ことを確実にするのに役立つと共に、方法800の動作は、より効率的なヒューマンマシンインタフェースを作り出すのに役立つ。
いくつかの実施形態では、方法800を実行するように構成されたデバイスは、まず、タッチ感知ディスプレイの実質的に全てを占有する表示領域内に第1の組の1つ以上アプリケーションを表示する(802)。例えば、第1の組の1つ以上アプリケーションは、タッチ感知ディスプレイ112)の実質的に全てを占有する単一のアプリケーション(例えば、図4Aに示される地図アプリケーション)を含んでもよく、又は図4Iに示されるように、第1の組の1つ以上アプリケーションは、2つ以上のアプリケーション(例えば、ディスプレイ112の左部分上のアプリケーション1、及びディスプレイ112の右側部分上のビデオブラウジングアプリケーションであり、これらの2つのアプリケーションが、図4Iでは分割ビューモードでともに表示され、2つのアプリケーションの組合せは、タッチ感知ディスプレイの実質的に全てを占有するようになっている)を含んでもよい。
第1の組の1つ以上アプリケーションを表示している間に(804)、デバイスは、表示領域の第1の部分にオーバーレイしてドック(例えば、ドック408、図4A)を表示する(806)。ドックを表示することは、タッチ感知ディスプレイに対する初期接触を検出することと、タッチ感知ディスプレイの底縁部に対して略直角(例えば、直角の+/-5度以内)の方向への初期接触の移動を検出することに応じて、タッチ感知ディスプレイの第1の部分内にドックを表示することを含み得る(808)。換言すれば、ドックは、図4A~図4Cのジェスチャ450に示されると共に、方法1000を参照して以下より詳細に説明されるように、実質的に上向きの方向にドラッグすることによってアクティブ化される。
いくつかの実施形態では、ドック(例えば、ドック408、図4A)は、それぞれがそれぞれの組の1つ以上のアプリケーションに対応する複数のアフォーダンスを含むユーザインタフェースオブジェクトである。それぞれの組の1つ以上のアプリケーションは、単一アプリケーション(例えば、ウェブブラウジングアプリケーションに対応するアフォーダンス220、図4C)を含んでもよく、又は複数のアプリケーション(例えば、ビデオブラウジングアプリケーションの隣にピン留めされた地図アプリケーションに対応する図4Sに示されるアフォーダンス492などの分割ビューモードで互いに表示/ピン留めされる複数のアプリケーション)を含んでもよい。いくつかの実施形態では、ドックは、2つの異なる組のアフォーダンスを含み、第1の組はデフォルトアフォーダンス(例えば、ドック内に表示されたディバイダの左側の電話及びメールアプリケーションに対応するアフォーダンス)であり、第2の組は最近使用されたアフォーダンス(例えば、ウェブブラウジングに対応するアフォーダンス及びディバイダの右側のビデオブラウジングアプリケーション)である。いくつかの実施形態では、ドックは、最近使用された第2の組のアフォーダンスに、所定の個数(例えば、2個、3個、4個、又は5個)の最近使用されたアプリケーションを含む。
次いで、デバイスは、ドック内に表示された第1のアフォーダンスの上のタッチ感知ディスプレイ上で(ドックをアクティブ化するために使用される最初の接触とは別個の)接触を検出し(810)、第1のアフォーダンスは、第2の組の1つ以上アプリケーションに関連付けられる。例えば、図4Eに示すように、ジェスチャ452に関連付けられた例示的な接触は、ビデオブラウジングアプリケーションに対応するアフォーダンス232の上で受信される。別の例として、図4Vに示すように、ジェスチャ468に関連付けられた別の例示的な接触は、アフォーダンス468の上で受信され、アフォーダンス468は、分割ビューモードに関連付けられ、地図アプリケーションは、メッセージングアプリケーションに隣接して表示され、ウェブブラウジングアプリケーションは、タッチ感知ディスプレイの実質的に全てを占有する並列ビューで表示される。
次いで、ドックから離れる接触の移動を検出する(812)。いくつかの実施形態では、移動は、タッチ感知ディスプレイからの接触のリフトオフを検出することなく検出される連続移動である。
いくつかの実施形態では、接触のいずれかのリフトオフを検出する前に、接触がドックから閾値距離(例えば、1~2センチメートル)だけ離れて移動するまで、接触に近接してアフォーダンスの表現を表示する(814)。例えば、アフォーダンスの表現は、接触の非常に近接した範囲内(例えば、1px又は2px)に又は接触のすぐ真下に表示され、そのため、ユーザは、接触を移動している間にタッチ感知ディスプレイを横切って移動するアフォーダンスの表現を見ることができる(図4E~図4Fに示すように、アフォーダンス232は、ジェスチャ452がドック408から離れるように移動するときに、ジェスチャ452に関連付けられた接触を追従するように示される)。
接触がドックから少なくとも閾値距離だけ離れて移動したと判定したことに従って、デバイスは、アフォーダンスの表現の表示を停止し、接触に近接して第2のアプリケーションに関連付けられたコンテンツのサムネイルを表示する(例えば、接触がドックを取り囲む境界から離れて閾値距離を越えて移動すると、プレビュー/サムネイル456が接触の真下に示される)。コンテンツのサムネイルは、第2のアプリケーションに関連付けられたコンテンツの小型化されたプレビューに対応し、小型化されたプレビューは、第2のアプリケーションが開かれるときに第2のアプリケーション内に表示されると共に、第2のアプリケーションが開かれるときに小型化されたプレビューは、そのサイズの約1/5~1/10で表示されるコンテンツを含む。このようにして、ユーザには、接触を解放(又はリフトオフ)した後に生じる変化を認識及び理解するのに役立つ追加の視覚的フィードバックが提供される。この追加の視覚的フィードバックを提供することで、(例えば、発生する変化をユーザがより良く理解し、不必要な変化を逆転させなければならないことを回避することを可能にすることによって)デバイスの操作性が向上し、ヒューマンマシンインタフェースがより効率的になる。加えて、これにより、ユーザが予期することができなかった望ましくない変化を繰り返しアンドゥする又は逆転させることによらなければ可能でなかったタッチ感知式二次ディスプレイとの持続的な対話を可能にする。
いくつかの実施形態では、デバイスはまた、接触が上にあるタッチ感知ディスプレイの一部分の表示サイズに一致するようにサムネイルをサイズ変更する。例えば、プレビュー498(図4S)は、ジェスチャ466に関連付けられた接触が、アプリケーション1が表示されるディスプレイ112の第1の部分の上にある間、第1の表示サイズを有してもよい。そして、プレビュー498は、ジェスチャ466に関連付けられた接触が、ビデオブラウジングアプリケーションが表示されるディスプレイ112の第2の部分の上にある間、第1の表示サイズとは異なる第2の表示サイズを有してもよい。このようにして、ユーザには、接触の解除(又はリフトオフ)後に生じる変化を認識し理解するのに役立つ更なる視覚的フィードバックが提供される。この更なる視覚的フィードバックを提供することで、(例えば、発生する変化をユーザがより良く理解し、不必要な変化を逆転させなければならないことを回避することを可能にすることによって)デバイスの操作性が向上し、ヒューマンマシンインタフェースがより効率的になる。加えて、これにより、ユーザが予期することができなかった望ましくない変化を繰り返しアンドゥする又は戻すことによらなければ可能でなかったタッチ感知式二次ディスプレイとの持続的な対話を可能にする。
いくつかの実施形態では、コンテンツのサムネイルを提供する代わりに、ドラッグされているアプリケーション固有アフォーダンスの表現を含むユーザインタフェースオブジェクト(例えば、UIオブジェクト473-A、473-B、及び/又は473-C)が表示される。これらのサムネイルの使用に関して上述した特徴はまた、サムネイルの代わりにユーザインタフェースオブジェクトが提供される実施形態にも適用される。ユーザインタフェースオブジェクトの使用の例が、図4AB~図4AE、図4AG~図4AH、図4AJ~図4AK、図4AO~図4AQに示されており、これらの例の説明も上述されている。
したがって、いくつかの実施形態では、方法動作814は、接触がドックから閾値距離だけ離れて移動するまで、接触に近接して第1のアフォーダンスの表現を表示することを含む動作によって、置き換えられてもよく(又は方法操作814の代替として新しい方法動作が追加されてもよく)、接触がドックから少なくとも閾値距離だけ離れて移動したと判定したことに従って、接触に近接した第1のアフォーダンスの表現を取り囲むユーザインタフェースオブジェクトを表示する。例えば、図4AB~図4ACでは、映像ブラウジングアフォーダンス232は、ユーザインタフェースオブジェクト473-Aによって取り囲まれている(この形状は、接触が第1の部分及び第2の部分の上を移動するにつれて変化してもよく、その結果、次いで、UIオブジェクトは、図4AP及び4AQにおいて、それぞれUIオブジェクト473-B及び473-Cに関して示される形状と実質的に同様の形状を有する)。
表示領域の第1の部分とは異なる第2の部分の上に接触がある間に、タッチ感知ディスプレイからの接触のリフトオフ(例えば、図4H~図4Iの間のジェスチャ452に関連付けられた接触のリフトオフ、又は図4T~図4Uの間のジェスチャ466に関連付けられた接触のリフトオフ)を検出すると、次に、デバイスは、タッチ感知ディスプレイの実質的に全てを占有する表示領域内に、(i)第1の組の1つ以上アプリケーションの少なくとも一部、及び(ii)第2の組の1つ以上アプリケーションの少なくとも一部を(同時に)表示する(818)。いくつかの実施形態では、表示領域の第1の部分は、第1の組の1つ以上のアプリケーション(例えば、図4Eのアプリケーション1)を表示するために使用される部分であり、表示領域の第2の部分は、第2の組の1つ以上のアフォーダンスを表示するために利用可能である表示領域の一部分である(例えば、既定領域454、図4Fは、接触のリフトオフを検出すると、第2の組の1つ以上アプリケーションを表示するために利用可能である)。
いくつかの例では、コンピューティングシステムのユーザは、2つ以上のアプリケーションを動作させるために、非効率的で時間がかかる対話を用いなければならない。ユーザが単一及び単純なジェスチャ(例えば、方法800の少なくとも動作804~812及び818に関して上で詳述したように、単一の指を使用してアフォーダンスをドックからメイン表示領域上へドラッグすること)を使用することを可能にすることにより、ユーザは、2つ以上のアプリケーションが同時に表示及び動作されるモードを容易かつ効率的にアクティブ化することが可能になる。ユーザがこのモードを容易かつ効率的にアクティブ化することを可能にすることにより、(例えば、ユーザが単一のジェスチャを使用してモードをアクティブ化することを可能にすることによって)デバイスの操作性が向上し、ヒューマンマシンインタフェースがより効率的になる。加えて、これにより、2つ以上のアプリケーションにアクセスするために複数のジェスチャを用いることによらなければ可能でなかったタッチ感知ディスプレイとの持続的な対話を可能にする。
ここで図8Bを参照すると、いくつかの実施形態では、タッチ感知ディスプレイからの接触の何らかのリフトオフを検出する前、かつ接触がドックから少なくとも閾値距離だけ離れて移動した後に、デバイスは、第1の組の1つ以上アプリケーションをサイズ変更して、サイズ変更された第1の組の1つ以上アプリケーションに隣接した表示領域の第2の部分を明瞭化する(820)。いくつかの実施形態では、第1の組の1つ以上アプリケーションは、表示領域の所定の割合(例えば、表示領域の約75%又は66%)を占有するようにサイズ変更され、第2の部分(例えば、所定の領域454又は図4Tのビデオブラウジングアプリケーションを表示するために使用される部分などのピン留めされたアプリケーションを表示するために使用される表示領域の一部分)は、表示領域の所定の残りの割合(例えば、表示領域の約25%又は34%)を占有する。
具体的な例として、図4E~図4Hに示すように、第1の組の1つ以上アプリケーションが、単一のアプリケーション(例えば、図4Eのアプリケーション1)に対応するとき、単一のアプリケーションはサイズが縮小されて、サイズ変更された単一アプリケーションに隣接して第2の組の1つ以上のアフォーダンスを表示するための場所をあける(例えば、既定領域のプレビューが提示され、いくつかの実施形態では、このプレビューは、ホーム画面に関連付けられた壁紙を一時的に示すことを含む)。
第1の組の1つ以上アプリケーションが、複数のアプリケーション(例えば、図4Nに示されるような、第1のピン留めされたアプリケーション1及び第2のピン留めされたビデオブラウジングアプリケーション)に対応し、次いで、複数のアプリケーションのうちの1つは、もはや表示されなくてもよく(図4T)、それによって既定領域454のプレビューを表示するための場所をあける(これは、デバイスのホーム画面に関連付けられた壁紙を表示することを含んでもよい)。一部の他の実施形態では、第1の組の1つ以上アプリケーションが複数のアプリケーションに対応する場合、複数のアプリケーションの両方が(例えば、図4Wに示されるように)表示されたままであり、複数のアプリケーションのうちの1つは、ジェスチャ(例えば、ジェスチャ468、図4W)に関連付けられた接触のリフトオフの後にのみディスプレイから除かれる。
いくつかの例では、電子デバイスのユーザは、タッチ感知ディスプレイ上の一定の対話に起因する変化を認識しない場合がある。明瞭な視覚的フィードバックを提供する(例えば、第1の組の1つ以上アプリケーションをサイズ変更して表示領域の第2の部分を明瞭化する)ことにより、接触を解除(又はリフトオフ)した後に生じることになるプレビュー変更の機会をユーザに与える。この明瞭な視覚的フィードバックを提供することにより、(例えば、発生する変化をユーザが理解し、不必要な変化を逆転させざるを得ないのを避けることを可能にすることによって)デバイスの操作性が向上し、ヒューマンマシンインタフェースがより効率的になる。加えて、これにより、ユーザが予期することができなかった望ましくない変化を繰り返しアンドゥする又は逆転させることによらなければ可能でなかったタッチ感知ディスプレイとの持続的な対話を可能にする。
いくつかの実施形態では、接触のリフトオフを検出する前、及び接触が、第1の組の1つ以上アプリケーションの少なくとも一部又は第2の組の1つ以上アプリケーションの少なくとも一部に接するタッチ感知ディスプレイの縁部から閾値距離(例えば、図4ABの閾値464、465のように1~2センチメートル)以内に移動した後に、この方法は、第1の組の1つ以上アプリケーションをサイズ変更して、(例えば、図4AD及び4AEに示されるように)サイズ変更された第1の組の1つ以上アプリケーションに隣接した表示領域の第2の部分を明瞭化することを含む(820A)。
1つの特定の例示的実施形態では、第1の組の1つ以上アプリケーションが、単一アプリケーション(例えば、アプリケーション1、図4AB)に対応するとき、単一のアプリケーションは、ドック408の外のアプリケーション固有アフォーダンスをドラッグするジェスチャ(例えば、ジェスチャ472、図4AB)が、図4ABの閾値464又は465などの閾値を超えて交差したと判定すると、既定領域のプレビューを明瞭化するための場所をあけるようにサイズが単に縮小される。例が、図4AB~図4AFに示されており、より詳細に上述されている。
(上述の1つの特定の例示的実施形態などの)いくつかの実施形態では、第1の組の1つ以上アプリケーションが複数のアプリケーションに対応するとき、複数のアプリケーションは、既定領域454のプレビューを表示するためにサイズ変更されなくてもよい。代わりに、ユーザは、複数のアプリケーションの間の境界の上にアプリケーション固有アフォーダンスをドラッグして、(図4AJ~図4ALに示すように)複数のアプリケーションの上に別のアプリケーションをオーバーレイすることができ、又は複数のアプリケーションのうちの特定のアプリケーションの上にアプリケーション固有アフォーダンスをドラッグして、この特定のアプリケーションを(図4AP~図4ARに示すような)アプリケーション固有アフォーダンスに対応する新しいアプリケーションと置き換えることができる。そのような実施形態の例は、図4AJ~図4AL及び図4AP~図4ARを参照して、上でより詳細に与えられている。
図8Bにも示されるように、いくつかの実施形態では、タッチ感知ディスプレイの実質的に全てを占有する表示領域内に、(i)第1の組の1つ以上アプリケーションの少なくとも一部、及び(ii)第2の組の1つ以上アプリケーションの少なくとも一部を表示することは、表示領域の第2の部分に第2の組の1つ以上アプリケーションの少なくとも一部を表示すること(例えば、図4Uに示されるように、既定部分にウェブブラウジングアプリケーションを表示すること)と、表示領域の第2の部分に隣接した表示領域の残りの部分に第1の組の1つ以上アプリケーションの少なくとも一部を表示すること(例えば、第2の部分/既定領域に隣接した残りの部分にアプリケーション1を表示すること)とを含む(822及び822A)。いくつかの実施形態では、表示領域の第2の部分は、第2の部分及び残りの部分の長さに沿って延びるドラッグ可能な境界によって表示領域の残りの領域から分離される。いくつかの実施形態では、ドラッグ可能な境界の上(例えば、図4Rの境界アフォーダンス460の上)の接触により、ユーザは、(図4L~図4Mを参照してやはり上述したように)第1及び第2の組の1つ以上のアプリケーションに割り当てられた表示領域の部分をサイズ変更することが可能になる。
ここで図8Cを参照すると、様々な実施形態又は状況において、第1及び第2の組は、1つ又は複数のアプリケーションを含んでもよく、接触のリフトオフは、異なる交換挙動を引き起こし得る。方法824~830を参照して、以下追加の例を与える。
例えば、824において、第1の組は、1つの第1のアプリケーションを含み、第2の組は、1つの第2のアプリケーションを含み、アフォーダンスは、この1つの第2のアプリケーションに関連付けられ、接触のリフトオフを検出すると、第1及び第2のアプリケーションは、表示領域内に並べて表示される。これの一例が、図4E~図4Iに示されている。いくつかの実施形態では接触が、1つの第1のアプリケーションを境界とするタッチ感知ディスプレイの縁部の閾値距離以内に位置する間に(例えば、接触が図4AB~図4AEに示される閾値464、465のうちの1つを超えて位置する間に、そしてこの説明は上述されている)、接触のリフトオフが検出される。第1の組が1つの第1のアプリケーションを含み、第2の組が1つの第2のアプリケーションを含む場合、コンピューティングシステムのユーザは、ディスプレイの第2の部分の上で第2のアプリケーションに対応するアフォーダンスを単にドラッグすることによって、第1のアプリケーション及び第2のアプリケーションがともに表示される分割ビューモードをアクティブ化することができる。明瞭な視覚的フィードバックを提供する(例えば、接触が閾値距離だけ移動した後に、表示領域の第2の部分を明瞭化する)ことにより、接触を解除(又はリフトオフ)した後に生じることになるプレビュー変更の機会をユーザに与える。この明瞭な視覚的フィードバックを提供することにより、(例えば、接触を解除することで第1及び第2のアプリケーションを含む分割ビューモードをアクティブ化することをユーザが理解することを可能にすることによって)デバイスの操作性が向上し、ヒューマンマシンインタフェースがより効率的になる。加えて、これにより、ユーザが予期することができなかった望ましくない変化を繰り返しアンドゥする又は逆転させることによらなければ可能でなかったタッチ感知ディスプレイとの持続的な対話を可能にする。
いくつかの実施形態では、接触が1つの第1のアプリケーションの上に位置している間(及び接触が閾値464、465のうちの一方などのディスプレイ112の縁部の閾値距離以内に位置していない間)に、接触のリフトオフが、代わりに検出される場合、第2のアプリケーションは、第1のアプリケーションと並べる代わりにオーバーレイモードで表示される。例えば、接触が1つの第1のアプリケーション(825)の上に位置している間に接触のリフトオフを検出する(例えば、図4AHに示されるように、リフトオフが第1のアプリケーションの上で生じる)と、第2のアプリケーションは、(図4AIに示すように)表示領域内で第1のアプリケーションにオーバーレイして表示される。
別の例として、826において、第1の組は、少なくとも第1のアプリケーション及び第2のアプリケーションを含み、第2の組は、1つの第3のアプリケーションを含み、アフォーダンスは、(例えば、図4Q~図4Uに示されるように)この1つの第3のアプリケーションに関連付けられる。第1の組が第1のアプリケーション及び第2のアプリケーションを含み、第2の組が1つの第2のアプリケーションを含む場合、コンピューティングシステムのユーザは、ディスプレイ上の第3のアプリケーションに対応するアフォーダンスを単にドラッグすることによって第1のアプリケーション及び第2のアプリケーションがともに表示される分割ビューモードに新しいアプリケーションを追加することができる。視覚的フィードバックを提供する(例えば、接触が閾値距離だけ移動した後に、表示領域の第2の部分を明瞭化する)ことにより、接触を解除(又はリフトオフ)した後に生じることになるプレビュー変更の機会をユーザに与える。加えて、これにより、ユーザが予期することができなかった望ましくない変化を繰り返しアンドゥする又は逆転させることによらなければ可能でなかったタッチ感知ディスプレイとの持続的な対話を可能にする。
この例では、826において、接触のリフトオフが第2のアプリケーションの上で生じると判定したことに従って、デバイスは、第2のアプリケーションをタッチ感知ディスプレイ上の第3のアプリケーションと置き換える。この一例が、図4Q~図4Uに示されている。このようにして、ユーザには、分割ビューモードで第2のアプリケーションを第3のアプリケーションと置き換える能力が提供され、それにより、第1のアプリケーションと同時に見られる新しいアプリケーションにおいて、ユーザが迅速かつ容易に代替することができる持続的な対話を可能にする。
いくつかの実施形態では、接触のリフトオフが第1のアプリケーションと第2のアプリケーションとの間の境界で生じる場合、ピン留めされたアプリケーションのうちの1つを置き換える代わりに、第3のアプリケーションが、第1又は第2のアプリケーションのうちの1つを代わりにオーバーレイする。例えば、図4AJ~図4AKに示すように、ジェスチャ484に関連付けられた接触のリフトオフは、アプリケーション1とビデオブラウジングアプリケーションとの間の境界上で生じ、接触のリフトオフがこの境界の上で生じると判定することに従って、デバイスは、タッチ感知ディスプレイ上で第1のアプリケーション又は第2のアプリケーションにオーバーレイして1つの第3のアプリケーション(例えば、図4ALのビデオブラウジングアプリケーション)を表示する(827)(例えば、ビデオブラウジングアプリケーションは、図4ALにおけるウェブブラウジングアプリケーションにオーバーレイしている)。いくつかの実施形態では、第3のアプリケーションは、第1のアプリケーションと第2のアプリケーションとの間の境界上でリフトオフが生じたと判定された後に、最も右のアプリケーションに常にオーバーレイしている。
もう1つの例が、828に説明されており、そこには、(例えば、図4V~図4Xに示すように)第1の組が第1の群の少なくとも2つのピン留めされたアプリケーションを含み、第2の組が第2の群の少なくとも2つのピン留めされたアプリケーションを含み、アフォーダンスが第2の群の少なくとも2つのピン留めされたアプリケーションと関連付けられている。第1及び第2の組がそれぞれピン留めされたアプリケーションの群を含む場合には、コンピューティングシステムのユーザは、ディスプレイ上で第2の群に対応するアフォーダンスを単にドラッグすることによって新しい群のピン留めされたアプリケーションを分割ビューモードに追加することができる。明瞭な視覚的フィードバックを提供する(例えば、接触が閾値距離だけ移動した後に、表示領域の第2の部分を明瞭化する)ことにより、接触を解除(又はリフトオフ)した後に生じることになるプレビュー変更の機会をユーザに与える。加えて、これにより、ユーザが予期することができなかった望ましくない変化を繰り返しアンドゥする又は逆転させることによらなければ可能でなかったタッチ感知ディスプレイとの持続的な対話を可能にする。
この例では、828において、接触のリフトオフが第1の群のアプリケーションの上で生じているとの判定に従って、デバイスは、(例えば、図4Xに示すように)第1の群の少なくとも2つのピン留めされたアプリケーションを、第2の群の少なくとも2つのピン留めされたアプリケーションと置き換える。このようにして、ユーザには、第1群のピン留めされたアプリケーションを第2の群のピン留めされたアプリケーションに素早く切り替え、それにより、ユーザが、ディスプレイ上で新しい群のピン留めされたアプリケーションを迅速かつ容易に置き換えることができる持続的な対話を可能にする能力が提供される。
最後の一例は、830におけるものであり、第1の組の1つ以上アプリケーションが、第1のアプリケーションのインスタンスを含み、第2の組の1つ以上アプリケーションが、第1のアプリケーションの追加のインスタンスを含み、インスタンス及び追加インスタンスは、第1のアプリケーションの別個のインスタンスである。第1及び第2の組がそれぞれ同じ第1のアプリケーションの異なるインスタンスを含む場合には、コンピューティングシステムのユーザは、互いに隣り合って単一のアプリケーションの2つの異なるインスタンスをピン留めすることができる。2つの異なるインスタンスを互いにピン留めすることを可能にすることにより、(例えば、メッセージをメッセージングアプリケーションにおいて編集する一方、同じメッセージアプリケーションにおいて異なるメッセージからコンテンツをコピーもするなど、例えば、単一のアプリケーションの異なる特徴と同時に対話できることを確実にすることによって)ユーザに、改善されたマンマシンインタフェースを提供する。加えて、これにより、ユーザが予期することができなかった望ましくない変化を繰り返しアンドゥする又は逆転させることによらなければ可能でなかったタッチ感知ディスプレイとの持続的な対話を可能にする。
いくつかの実施形態では、方法900を参照して以下より詳細に説明されるように、第2のアプリケーションは、スライドオーバモードをアクティブ化するために、又はタッチ感知ディスプレイの異なる部分に表示されるように第2のアプリケーションをドラッグするために使用され得るハンドル(例えば、アフォーダンス462、図4J)と共に表示される。したがって、方法800及び900の態様/操作は、これらの方法の間で交換、置換、及び/又は追加されてもよい。簡潔にするために、これらの詳細はここでは繰り返さない。
加えて、いくつかの実施形態では、方法1000を参照して以下より詳細に説明されるように、アプリケーションスイッチャユーザインタフェースに示される表現としては、分割ビューモードの表現が挙げられる。したがって、方法800及び1000の態様/動作はまた、これらの方法の間で交換、置換、及び/又は追加されてもよい。簡潔にするために、これらの詳細はここでは繰り返さない。
更に、いくつかの実施形態では、方法1100を参照して以下より詳細に説明されるように、第1の組の1つ以上アプリケーションは、同じアプリケーションの2つの異なるインスタンスを含み得る。したがって、方法800及び1100の態様/動作は、これらの方法の間で交換、置換、及び/又は追加されてもよい。簡潔にするために、これらの詳細はここでは繰り返さない。
図9A~図9Bは、いくつかの実施形態による、(2つのアプリケーションが互いにピン留めされ、ディスプレイ上に並べて表示される)分割ビューモードと、(1つのアプリケーションがディスプレイ上に別のアプリケーションにオーバーレイして表示される)スライドオーバモードとの間で切り替えるために単一のアフォーダンスと対話する方法のフローチャート図である。図5A~図5Oを使用して、図9A~図9Bの方法及び/又はプロセスを示す。以下の例のうちのいくつかは、(タッチ感知面とディスプレイとを組合せた)タッチ感知ディスプレイ上での入力を参照して説明されるが、いくつかの実施形態では、デバイスは、図1Dに示すように、ディスプレイ194とは別々のタッチ感知面195上で入力を検出する。
いくつかの実施形態では、方法900は、電子デバイス(例えば、ポータブル多機能デバイス100、図1A、及び/又は電子デバイスの1つ以上の構成要素(例えば、I/Oサブシステム106、オペレーティングシステム126など)により実行される。いくつかの実施形態では、方法800は、非一時的コンピュータ可読記憶媒体に記憶され、デバイス100の1つ以上のプロセッサ122(図1A)など、デバイスの1つ以上のプロセッサによって実行される命令によって統御される。説明を簡単にするために、以下に、デバイス100により実行されるものとして方法900を説明する。いくつかの実施形態では、図1Aを参照すると、方法800の動作は、少なくとも部分的にマルチタスクモジュール(例えば、マルチタスクモジュール180)及びその構成要素、接触/動きモジュール(例えば、接触/動きモジュール130)、グラフィックモジュール(例えば、グラフィックモジュール132)、並びにタッチ感知ディスプレイ(例えば、タッチ感知ディスプレイシステム112)によって実行されるか、又はこれらを使用する。方法900の一部の動作が任意選択的に組み合わされ、かつ/又は一部の動作の順序が任意選択的に変更される。
以下に説明するように、方法900は、分割ビューモードとスライドオーバモードとの間で切り替わると共に、また複数のアプリケーションが同時に表示される位置を操作する直感的なやり方を提供する。この方法は、これらのモード間で切り替わるためにユーザから必要とされる入力の数を減少させ(例えば、ユーザは、複数の入力を実行する代わりに単純なジェスチャを行いさえすればよく)、それにより、より少ない数の入力を処理するために必要とされる電力が少なくなる(そして、ユーザがこのより直感的かつ単純なジェスチャに益々慣れるので、この節約は繰り返し実現される)ので、方法900を実施する電子デバイスのバッテリ寿命を延ばすことを確実にする。以下更に詳細に説明されるように、方法900の動作は、ユーザが持続的な対話に従事する(例えば、方法900の動作は、それらのデバイスとのそれらの対話を中断する頻発アンドゥ挙動を必要としない)ことを確実にするのに役立つと共に、方法900の動作は、より効率的なヒューマンマシンインタフェースを作り出すのに役立つ。
いくつかの実施形態では、方法900を実行するデバイスは、まず、タッチ感知ディスプレイの実質的に全てを占有する表示領域内に第1のアプリケーション及び第2のアプリケーションを表示する(902)。いくつかの実施形態では、第1のアプリケーションは、ディスプレイ112の利用可能な表示領域の約2/3(およそ66%)を占有するように表示される一次アプリケーション(例えば、図5Aのディスプレイ112の右側を占有するように表示されるアプリケーション1)であり、第2のアプリケーションは、一次アプリケーションの隣にピン留めされ、ディスプレイ112の利用可能な表示領域の残りの1/3(およそ33%)を占有するように表示されるサイドアプリケーション(例えば、ディスプレイ112の左側を占有するように表示され、分割ビューモードでアプリケーション1の隣にピン留めされるビデオブラウジングアプリケーション)である。
いくつかの実施形態では、表示領域内に第1及び第2のアプリケーションを表示することは、表示領域内に第1及び第2のアプリケーションを並べて同時に表示することを含む(903)。
表示領域(904)内に第1のアプリケーション及び第2のアプリケーションを表示している間に、デバイスは、動作906、908、及び910を実行することができる。動作906において、デバイスは、第2のアプリケーションの縁部の近くにアフォーダンスを表示する。例えば、アフォーダンスは、第2のアプリケーションの最上部分の近くに表示されるユーザインタフェースオブジェクト(例えば、ハンドル506、図5B)であり、このハンドルは、(動作908を参照して説明されるように)アクティベーションジェスチャに応じて表示される。908において、いくつかの実施形態では、アフォーダンスを表示する前に、デバイスは、第2のアプリケーションの縁部でユーザ入力(例えば、図5Aのジェスチャ508に関連付けられた接触)を検出し、ユーザ入力(図5B)を検出したことに応じてアフォーダンスを表示する。このようにして、ユーザには、ハンドルの表示をアクティブ化するために使用される単純なジェスチャが提供され、それによって、(例えば、ハンドルがユーザによって必要とされるときにのみ表示されることを確実にすることによって)デバイスの操作性が向上する。
いくつかの実施形態では、動作908においても、ユーザ入力は、第2のアプリケーションの縁部における(例えば、ジェスチャ508に関連付けられた)最初の接触、及びタッチ感知ディスプレイを横切る第1の方向における最初の接触の移動を含むことができる。いくつかの実施形態では、デバイスは、アフォーダンスを表示する前に、接触が縁部から少なくとも、1~2センチメートルなどの、閾値距離だけ離れて移動したことを検出する。上述のように、これは、ハンドルの表示をアクティブ化するために使用される単純なジェスチャをユーザに提供し、それによって(例えば、ハンドルがユーザによって必要とされるときにのみ表示されることを確実にすることによって)デバイスの操作性が向上する。
(表示領域内に第1及び第2のアプリケーションを表示している間にやはり実行される)910において、デバイスは、タッチ感知ディスプレイを横切る方向に移動するアフォーダンスの上で(図5Bのジェスチャ509に関連付けられた接触などの上述の最初の接触とは異なる)接触を検出する(910)。方向が第1の方向(912)であるとの判定に従って(例えば、ジェスチャ509に関連付けられた接触は、図5Bの第2のアプリケーションの最上縁部に対して実質的に下向きの方向に移動するものとして示される)、デバイスは、動作914及び916を実行する。動作914は、表示領域の実質的に全てを占有するように第1のアプリケーションをサイズ変更することを含み(例えば、図5Cに示されるように、ここで、アプリケーション1は、タッチ感知ディスプレイ112の表示領域の実質的に全てを占有する)、そして、動作916は、サイズ変更された第1のアプリケーションにオーバーレイして第2のアプリケーションを表示することを含む(例えば、図5Cにやはり示されるように、ビデオブラウジングアプリケーションは、現在サイズ変更されたアプリケーション1をオーバーレイするように表示される)。
方法900は、上述の第1の方向の代わりに、方向が第2の方向であるかどうかをチェックし、そうである場合、この方法は、(分割ビューモードとスライドオーバモードとの切り替えの代わりに)アフォーダンス506が表示されるアプリケーションを移動させることに進む。具体的には、方向が第1の方向に対して略直角な(例えば、第1の方向から直角の+/-5度以内の)第2の方向であるとの判定に従って、デバイスは、表示領域内で第2のアプリケーションを移動させる(918)。例えば、ジェスチャ512に関連付けられた接触は、第2の方向(例えば、タッチ感知ディスプレイを横切る実質的に左から右への方向)に移動するものとして図5F~図5Gに示されており、次いで、第2のアプリケーションは、表示領域内で横方向に(例えば、図5Fの最右位置から図5Hの最左位置へ)移動される。いくつかの例では、コンピューティングシステムのユーザは、2つ以上のアプリケーションを動作させるために、非効率的かつ時間がかかる対話を用いなければならない。ユーザが、(少なくとも動作902、904、906、910、912、914、916、及び918に関連して、ハンドルなどの)アフォーダンスと対話することを可能にして、スライドオーバモードをアクティブ化する又は表示領域内で特定のアプリケーションを移動させることにより、ユーザが、並列ビュー又はスライドオーバビューのあたりにアプリケーションを容易かつ効率的に移動させ、それらの間で切り替えることを可能にする。ユーザが、同時に2つ以上のアプリケーションを使用して異なるモードの間でアプリケーションを容易かつ効率的にあちこち移動させると共に切り替えることを可能にすることにより、(例えば、並列ビューを使用して又はスライドオーバ/オーバーレイモードを使用して、例えば、ユーザが、同時に2つ以上のアプリケーションと対話する仕方を選択することを可能にすることによって)デバイスの操作性が向上し、ヒューマンマシンインタフェースがより効率的になる。加えて、これにより、2つ以上のアプリケーションとの同時対話をカスタマイズするために複数のジェスチャを用いることによらなければ可能でなかったタッチ感知ディスプレイとの持続的な対話を可能にする。
簡潔に上述したように、いくつかの実施形態では、第1の方向は、第2のアプリケーションの縁部に対して下向きの方向(例えば、図5Aのジェスチャ508によって移動した方向)であり、第2の方向は、下向き方向に略直角である横方向(例えば、図5F~図5Gのジェスチャ512によって移動した方向)である。ユーザーが異なる方向にハンドルを移動させることを可能にすることは、同時に表示される2つのアプリケーションと同時にどのように対話したいかを柔軟にカスタマイズする追加的かつ単純なやり方をユーザに提供するのに役立つ。ユーザがこのようにしてユーザが彼らのユーザ体験をカスタマイズすることを可能にすることにより、デバイスの操作性が向上し、ヒューマンマシンインタフェースがより効率的になる(例えば、各アプリケーションが表示されるべき場所に関する彼らのカスタマイズされた選択により、デフォルトの配置作業を行わなければならない代わりに、ユーザが様々な機能をより効率的に使用することを可能にする)。加えて、これにより、デフォルトの形でかつ何らのユーザ固有のカスタマイズを伴わずにともに表示される2つ以上のアプリケーションとの対話にユーザが強制されることによらなければ可能でなかったタッチ感知ディスプレイとの持続的な対話を可能にする。
ここで図9Bを参照すると、動作918を実行する前に、デバイスは、サイズ変更された第1のアプリケーションにおけるユーザ入力を検出し(922)、一方で、第2のアプリケーションは、サイズ変更された第1のアプリケーションにオーバーレイしている(例えば、リンク504の上の接触510を受信する、図5C)。次いで、デバイスは、第1のアプリケーションを介してユーザ入力に応答する(924)(例えば、リンク504に関連付けられたコンテンツが開かれる、図5D)。換言すれば、第1のアプリケーションは、第2のアプリケーションがそれにオーバーレイしている間、依然として使用可能である(例えば、第1のアプリケーションは、オーバーレイ/スライトオーバーモードの間でも、第1のアプリケーションの特徴が依然として機能的であるので、依然として使用可能である)。いくつかの実施形態では、第1のアプリケーションと第2のアプリケーションの両方が同時に使用可能であり、第2のアプリケーションが第1のアプリケーションにオーバーレイしているときであっても、ユーザが2つのアプリケーションのそれぞれの様々な機能と同時に対話することを可能にする。ユーザが第1のアプリケーションと対話することを可能にすることにより、第2のアプリケーションが第1のアプリケーションの上にオーバーレイされている間であっても、ユーザが、同時に表示される2つのアプリケーションと同時にどのように対話したいかをカスタマイズすることを可能にする。ユーザがこのようにしてユーザが彼らのユーザ体験をカスタマイズすることを可能にすることにより、デバイスの操作性が向上し、ヒューマンマシンインタフェースがより効率的になる(例えば、彼らのカスタマイズされた選択により、デフォルトの配列作業を行わなければならない代わりに、ユーザが様々な機能をより効率的に使用することを可能にする)。加えて、これにより、デフォルトの形でかつ何らのユーザ固有のカスタマイズを伴わずにともに表示される2つ以上のアプリケーションとの対話にユーザが強制されることによらなければ可能でなかったタッチ感知ディスプレイとの持続的な対話を可能にする。
いくつかの実施形態では、動作922及び924を実行した後(又は、代替として、これらの動作を実行する前に)、デバイスは、第1及び第2のアプリケーションとは別個の第3のアプリケーションを開く要求(例えば、図5Kのカメラアプリケーションの上の接触516)に応じて、(i)第1のアプリケーションによって以前に占有されていた表示領域の一部内における第3のアプリケーション、及び(ii)第3のアプリケーションにオーバーレイして第2のアプリケーションを表示する(926)。例えば、図5K~図5Lに示すように、ユーザは、ホーム画面をアクティブ化し、第3のアプリケーションに対応するアフォーダンスをクリックすることによって第3のアプリケーションを開くことを要求する。その要求に応じて、次いで、第3のアプリケーションは、第1のアプリケーションによって以前に占有されていた表示領域の一部分に表示され、第2のアプリケーションは、第3のアプリケーションにオーバーレイして表示される。換言すれば、オーバーレイしているアプリケーション(例えば、第2のアプリケーション)は、ユーザが新しいアプリケーションを開くために切り替えた後でもそのままである。ユーザが新しいアプリケーションを開いた後に、オーバーレイされたアプリケーションが表示されたままであることを可能にすることにより、持続的な対話が電子デバイスの特徴(例えば、オーバーレイされたアプリケーションが表示されたままではない場合に、再び開き直されなければならない場合があるオーバーレイされたアプリケーションを通じてユーザによってアクセスされる特徴)と共に維持されることを確実にするのに役立つ。ユーザは、オーバーレイされたアプリケーションの特徴を開き直さざるを得ないことを回避することもできるため、デバイスの操作性が改善され、ヒューマンマシンインタフェースがより効率的に動作するようにもなされる。
(アフォーダンスの上にある接触が移動する)方向が第2の方向であると決定される動作918の説明に戻ると、928に示される追加の動作も実行される。まず、第2のアプリケーションは、タッチ感知ディスプレイの第1の縁部に接するように最初に表示される(例えば、図5Fに示されるビデオブラウジングアプリケーションは、タッチ感知ディスプレイ112の最右縁部に接するものとして示される)。また、表示領域内で第2のアプリケーションを移動させることは、第2のアプリケーションがタッチ感知ディスプレイの第1の縁部の反対側の第2の縁部に接するまで、第2の方向に第2のアプリケーションを移動させることを含む(例えば、ビデオブラウジングアプリケーションは、図5Gに示されるように、ジェスチャ512がタッチ感知ディスプレイ112を横切って移動するときに、ジェスチャ512に追従し、次いで、ビデオブラウジングアプリケーションは、第2の縁部に到達すると移動を停止する)。これらの実施形態では、表示領域内で第2のアプリケーションを移動させることは、(図5Hに示されるように)第1のアプリケーションがタッチ感知ディスプレイの第1の縁部に接するように、第2のアプリケーションによって占有される部分とは別個の表示領域の残りの部分に第1のアプリケーションを表示することも含み得る。ユーザが、アフォーダンス506をドラッグすることによってアプリケーションをあちこちに移動させることを可能にすることは、ユーザが、同時に表示される2つのアプリケーションと同時にどのように対話したいかをユーザがカスタマイズすることを可能にするのに役立つ。ユーザがこのようにしてユーザが彼らのユーザ体験をカスタマイズすることを可能にすることにより、デバイスの操作性が向上し、ヒューマンマシンインタフェースがより効率的になる(例えば、各アプリケーションが表示されるべき場所に関する彼らのカスタマイズされた選択により、デフォルトの配置作業を行わなければならない代わりに、ユーザが様々な機能をより効率的に使用することを可能にする)。加えて、これにより、デフォルトの形でかつ何らのユーザ固有のカスタマイズを伴わずにともに表示される2つ以上のアプリケーションとの対話にユーザが強制されることによらなければ可能でなかったタッチ感知ディスプレイとの持続的な対話を可能にする。
928を参照して上述した実施形態では、第2のアプリケーションが第2の縁部に接するまで第2のアプリケーションを移動させる前に、第2のアプリケーションによって占有された部分のプレビューが、第1のアプリケーションの隣に明瞭化される(930)。いくつかの例では、コンピューティングシステムのユーザは、タッチ感知ディスプレイ上の一定の対話に起因する変化を認識しない場合がある。明瞭な視覚的フィードバックを提供する(例えば、第2のアプリケーションが移動する場所のプレビューを示す)ことにより、接触を解除(又はリフトオフ)した後に生じることになるプレビュー変更の機会をユーザに与える。この明瞭な視覚的フィードバックを提供することにより、(例えば、発生する変化をユーザが理解し、望ましくない変化を逆転させざるを得ないのを避けることを可能にすることによって)デバイスの操作性が向上し、ヒューマンマシンインタフェースがより効率的になる。加えて、これにより、ユーザが予期することができなかった望ましくない変化を繰り返しアンドゥする又は逆転させることによらなければ可能でなかったタッチ感知ディスプレイとの持続的な対話を可能にする。
ここで図9Cを参照すると、オーバーレイされたアプリケーションが表示された後に利用可能な追加の対話が、動作932、934、及び936に示されている。例えば、動作932において、第1のアプリケーションをサイズ変更し、サイズ変更された第1のアプリケーションにオーバーレイして第2のアプリケーションを表示した後(例えば、図4AIに示されるように、ウェブブラウジングアプリケーションは、アプリケーション1にオーバーレイしている)、デバイスは、アフォーダンスの上の追加の接触(例えば、図4AIのジェスチャ482に関連付けられた接触)、及び第1の方向とは反対の第3の方向(例えば、図4AIに示すような実質的に上向きの方向)への追加の接触の移動を検出する。追加の接触が第3の方向に閾値距離(例えば、1~2センチメートル)だけ移動したことを検出したことに応じて、デバイスは、サイズ変更された第1のアプリケーションにオーバーレイしている第2のアプリケーションの表示を停止し、タッチ感知ディスプレイの実質的に全てを占有する表示領域内に第1のアプリケーション及び第2のアプリケーションを再表示する(例えば、図4AJに示されるように、ここで、ウェブブラウジングアプリケーションは、アプリケーション1の隣にピン留めされ、そのため、2つのアプリケーションは、タッチ感知ディスプレイの実質的に全てを占有し、並列/分割ビュー形式で表示される)。
図9Cを引き続き参照すると、いくつかの実施形態では、第1のアプリケーションをサイズ変更し、このサイズ変更された第1のアプリケーションにオーバーレイして第2のアプリケーションを表示した後に(例えば、図4AIに示されるように、ウェブブラウジングアプリケーションは、アプリケーション1にオーバーレイしている)、デバイスは、アフォーダンス上の追加の接触、及び第1の方向の追加の接触の移動(例えば、図4AOのジェスチャ487に関連付けられた接触は、アフォーダンス467の上にあり、第1の方向に移動する)を検出する(934)。図4AOの例は、2つのアプリケーションが並べて表示され、別のアプリケーションがそれらの2つのアプリケーションにオーバーレイしていることを示しているが、ジェスチャ487は、オーバーレイされたアプリケーションが単一のアプリケーションの上に表示されるときにも利用可能であり得る(例えば、ジェスチャ487は、図4AIのアフォーダンス467の上で同様に実行されてもよい)。追加の接触がタッチ感知ディスプレイを横切って第2の閾値距離(例えば、1~2センチメートル)だけ移動したことを検出したことに応じて、デバイスは、第2のアプリケーションに対応するアフォーダンスの表現を有するユーザインタフェースオブジェクトが表示されるまで、追加の接触の移動に従って、第2のアプリケーションに関連付けられたコンテンツを縮小する(例えば、図4APに示されるように、コンテンツがもはや表示されず、代わりにUIオブジェクト473-Bが表示されるまで、コンテンツは縮小される)。
いくつかの実施形態では、次いで、ユーザは、UIオブジェクト473-Bを移動させて、第2のアプリケーションを完全に却下する又は第1のアプリケーションの隣に第2のアプリケーションをピン留めすることができる。例えば、追加の接触がドックの上を移動し、タッチ感知ディスプレイからリフトオフされる(例えば、図4AO~図4AQのジェスチャ488に関連付けられた接触がドック408の上にドラッグされ、次いでリフトオフされる(図示せず))との判定に従って、デバイスは、第2のアプリケーションを却下し、タッチ感知ディスプレイの実質的に全てを占有する第1のアプリケーションを表示する(例えば、アプリケーション1がタッチ感知ディスプレイの実質的に全てを占有する図4AGに示されるユーザインタフェースが表示され、そして、追加の接触がタッチ感知ディスプレイの縁部の閾値距離内に(例えば、図4AB~図4AEに示された閾値464、465のうちの1つの範囲内)移動し、タッチ感知ディスプレイからリフトオフされるとの判定に従って、デバイスは、タッチ感知ディスプレイの実質的に全てを占有する表示領域内に第1のアプリケーション及び第2のアプリケーションを再表示する(例えば、アプリケーション1がウェブブラウジングアプリケーションとの分割ビューモードで並べて表示される図4AJに示されるユーザインタフェースを表示する)。
上で与えられた例は、概して、現在表示されている第1のアプリケーションの上に第2のアプリケーションをオーバーレイすることを参照しているが、いくつかの実施形態では、アプリケーションは、並列表示形式でピン留めされた2つのアプリケーションの上にオーバーレイされてもよい。この例は、図4AJ~図4ARに示され、説明も上で与えられている。これらの例の態様は、方法900に関して上述した一定の動作を補完及び/又は置き換えることができる。
図9A~図9Bの動作について説明された特定の順序は、単なる一例であり、説明された順序は、動作を実行することができる唯一の順序であることを示すことを意図するものではないことを理解されたい。当業者であれば、本明細書に記載される動作を再順序付けるための様々なやり方を認識するであろう。更に、方法900は、例えば、分割ビューモードをアクティブ化するためにドックを使用することに関連する方法800の態様を組み込むために、補足され(又は様々な動作が再順序付けされ)てもよい。簡潔にするために、これらの詳細はここでは繰り返さない。
図10A~10Cは、いくつかの実施形態による方法1000のフローチャート図である。図6A~図6Qを使用して、図10A~図10Cの方法及び/又はプロセスを示す。以下の例のうちのいくつかは、(タッチ感知面とディスプレイとを組合せた)タッチ感知ディスプレイ上での入力を参照して説明されるが、いくつかの実施形態では、デバイスは、図1Dに示すように、ディスプレイ194とは別々のタッチ感知面195上で入力を検出する。
いくつかの実施形態では、方法1000は、電子デバイス(例えば、ポータブル多機能デバイス100、図1A、及び/又は電子デバイスの1つ以上の構成要素(例えば、I/Oサブシステム106、オペレーティングシステム126など)により実行される。いくつかの実施形態では、方法1000は、非一時的コンピュータ可読記憶媒体に記憶され、デバイス100の1つ以上のプロセッサ122(図1A)など、デバイスの1つ以上のプロセッサによって実行される命令によって統御される。説明を簡単にするために、以下に、デバイス100により実行されるものとして方法1000を説明する。いくつかの実施形態では、図1Aを参照すると、方法1000の動作は、少なくとも部分的にマルチタスクモジュール(例えば、マルチタスクモジュール180)及びその構成要素、接触/動きモジュール(例えば、接触/動きモジュール130)、グラフィックモジュール(例えば、グラフィックモジュール132)、並びにタッチ感知ディスプレイ(例えば、タッチ感知ディスプレイシステム112)によって実行されるか、又はこれらを使用する。方法1000の一部の動作が任意選択的に組み合わされ、かつ/又は一部の動作の順序が任意選択的に変更される。
以下に説明するように、方法1000は、ハンドヘルド電子デバイス上のマルチタスキングのための直感的かつ継ぎ目のない対話を提供する。方法1000は、複数のアプリケーションを表示し、デバイス上で異なるアプリケーションに切り替えるためにユーザからの入力の数を減少させ、それによってより効率的なヒューマンマシンインタフェースを作り出す。バッテリ動作式の電子デバイスの場合、マルチタスキングのための対話を提供することにより、(例えば、ユーザが1つのアプリケーションを閉じて別のアプリケーションを開かなければならないときに時間及びエネルギー排出動作を節約することによって)電力を節約すると共にバッテリ充電の間の時間を増大させる。
次に図10Aを参照すると、方法1000を実行する際に、デバイスは、タッチ感知ディスプレイの実質的に全てを占有する表示領域内に少なくとも2つのアプリケーションを同時に表示する(1002)。例えば、図6Aでは、第1のアプリケーション(アプリケーション1)は、第2のアプリケーション(アプリケーション2又はビデオアプリケーション)に隣接して/並べて表示され、2つのアプリケーションは、タッチスクリーン112の実質的に全てを占有する表示領域601a内に表示される。
デバイスは、アプリケーションスイッチャユーザインタフェースを表示する要求に対応するユーザ入力を受け取る(1004)。いくつかの実施形態では、アプリケーションスイッチャユーザインタフェースは、最近使用されたアプリケーション(例えば、電子デバイスのフォアグラウンドで開かれて使用され、デバイスのユーザによってまだ閉じられていないアプリケーション)の表現が表示されるユーザインタフェースを指し得る。いくつかの実施形態では、ユーザ入力は、電子デバイスの物理若しくはソリッドステートホームボタンにおけるダブルタップ入力に対応することができ、あるいは、タッチ感知ディスプレイを横切る連続的な上向きのジェスチャ(例えば、図6A~図6D及び図6O~図6Pのジェスチャ602)に対応してもよい。例えば、いくつかの実施形態では、画面の縁部から第1の閾値距離(例えば、1~2センチメートル)へのジェスチャは、ドックを表示し、それは、ジェスチャがディスプレイを横切って移動するときにこのジェスチャに従い始める;ジェスチャが第2の閾値距離(例えば、合計で2~4センチメートル、又は第1の閾値距離を超えて更なる1~2センチメートル)だけ移動した後、ドックは静的位置に留まり、ジェスチャにもはや追従しない;ジェスチャ602が第2の閾値距離を超えて移動し続けるとき、現在表示されているアプリケーションは、サイズを縮小し始め、アプリケーションスイッチャユーザインタフェースが表示され、ジェスチャが少なくとも第3の閾値距離(例えば、合計で3~6センチメートル、又は第2の閾値距離を超えて更なる1~2センチメートル)だけ移動すると、アプリケーションスイッチャユーザインタフェースが表示される。
ユーザ入力の受信に応じて、デバイスは、タッチ感知ディスプレイ上にアプリケーションスイッチャユーザインタフェース(例えば、アプリケーションスイッチャユーザインタフェース、図6D~図6M、及び図6P~図6Q)を表示する(1006)。いくつかの実施形態では、アプリケーションスイッチャユーザインタフェースを表示することは、それが表現に関連付けられた既定のサイズに達するまで、表示領域のサイズを徐々に小さくする又は表示領域を縮小することを含む(1008)。例えば、図6D~図6Eでは、図6Aに示された表示領域601aのサイズは、ディスプレイ601aの小型化されたビューが、表現に関連付けられた既定のサイズに達するまで、徐々に小さくなる。このようにして、ユーザには、ユーザが見ていたピン留めされたアプリケーションが、アプリケーションスイッチャユーザインタフェース内に位置する場所に関して明瞭な視覚的な指示が提供され、これは、(例えば、ユーザが、アプリケーションスイッチャUI内に、かつこのUI内にそれらの配置を位置付けようとする時間を浪費する必要なく、ピン留めされたアプリケーションを容易に位置付けることを確実にすることによって)デバイスの操作性を向上させるのに役立つ。
いくつかの実施形態では、アプリケーションスイッチャユーザインタフェースは、電子デバイス上で最近使用された少なくとも一部のアプリケーションのそれぞれの表現を含み(1010)、それぞれの表現は、少なくとも2つのアプリケーションを有する表示領域の表現を含む。例えば、図6P及び図6Qでは、表現638は、アプリケーション4及びアプリケーション5という2つのアプリケーションを有する表示領域の表現を含む。いくつかの実施形態では、それぞれの表現は、電子デバイス上で最近使用された少なくとも一部のアプリケーションごとのアクティブ状態(例えば、特定のアプリケーションのための最後の表示画面)を示す。いくつかの実施形態では、少なくとも2つのアプリケーションを有する表示領域の表現は、タッチ感知ディスプレイの実質的に全てを前もって占有している表示領域の小型化されたビューである。例えば、図6Eでは、表現604は、図6Aに示される表示領域601aの小型化されたビューを含み、この小型化されたビューは、アプリケーション1及びビデオアプリケーションの表示を並べて示す。
いくつかの実施形態では、それぞれの表現は、オーバーレイされたアプリケーションに関連付けられた追加のアプリケーションの追加の表現を含み(1012)、この追加の表現は、オーバーレイされたアプリケーションを示さない。例えば、図6Nに示すように、更なるアプリケーションは、アプリケーション1及びアプリケーション2であり、ビデオアプリケーションは、アプリケーション1の上にオーバーレイされる。アプリケーション1は、タッチ感知ディスプレイ112の実質的に全てを占有する表示領域601b内に表示される。図6P~図6Qでは、追加の表現634は、オーバーレイされたビデオアプリケーションを示さない。このようにして、ヒューマンマシンインタフェースは、(アプリケーションスイッチャユーザインタフェース内で直接対話され得る)ピン留めされたアプリケーションの表現のみを提示すると共に、オーバーレイされたアプリケーションの表現を提示しないことによって、より効率的にされる。アプリケーションスイッチャユーザインタフェースのクラスタ化を回避するために、いくつかの実施形態におけるアプリケーション1を表す追加の表現は、オーバーレイされた第2のアプリケーションを示さない。
いくつかの実施形態では、表示領域内に少なくとも2つのアプリケーションを表示することは、表示領域内に少なくとも2つのアプリケーション(例えば、図6Aのアプリケーション1及びビデオアプリケーション)を並べて同時に表示することを含む(1014)、表示領域の表現を少なくとも2つのアプリケーションと共に表示することは、表示領域の表現内に少なくとも2つのアプリケーションを並べて同時に表示することを含む(例えば、表現604は、図6D~図6Fのアプリケーション1及びビデオアプリケーションを示す分割ビューモードの小型化されたビューである)。
いくつかの実施形態では、アプリケーションスイッチャユーザインタフェースを表示することは、電子デバイス上で利用可能なアプリケーションに対応する複数のアフォーダンスを含むドック、例えば、複数のアフォーダンスを含む図6B~図6M及び図6O~図6Qのドック408を表示することを含む(1016)。そのような実施形態では、図10Bを参照すると、デバイスは、ドック内に含まれる複数のアフォーダンスのうちの1つのアフォーダンスの上の接触(例えば、接触603、図6F)(例えば、ドック408におけるブラウザアフォーダンスの上の接触603、図6F)を更に検出し(1018)、接触及び移動を検出する間にリフトオフを検出することなく、表示領域の表現に向かう接触の移動(例えば、ドック408から離れる接触603の移動、及び表現604の向き、図6F)を検出する(1020)。いくつかの実施形態では、表示領域の表現に含まれる少なくとも2つのアプリケーションのうちの第1のアプリケーションの上の接触のリフトオフを検出すると、デバイスは、表示領域の表現内に第1のアプリケーションを表示することを停止し(1022)、代わりに、表示領域の表現内のアフォーダンスに対応する更なるアプリケーションを表示する。例えば、図6F~図6Gでは、接触のリフトオフを検出した後、表現604は、ここでウェブブラウジングアプリケーションがアプリケーション1と並べての表示であることを示すように更新される(及びデバイス100のメモリが、これらのアプリケーションが互いにピン留めされていることを反映するように更新されてもよい)。更新された表現616では、ビデオアプリケーションは、表現604から却下され、ウェブブラウジングアプリケーションによって置き換えられる。
上述のように、分割ビューモードで表示されるアプリケーションを示すアプリケーションスイッチャユーザインタフェース内の表現をユーザが見ることを可能にすることにより、ユーザがピン留めされたアプリケーションを容易かつ効率的に識別することが可能になる。アプリケーションスイッチャユーザインタフェースから直接ピン留めされたアプリケーションとユーザが対話することを可能にすることによって、デバイスの操作性が向上し、ヒューマンマシンインタフェースがより効率的に動作するようになる(例えば、アプリケーションスイッチャユーザインタフェース内からピン留めされたアプリケーションと直接対話することにより、ユーザが、それらの対話を実行するためにアプリケーションスイッチャユーザインタフェースから出ざるを得ないことを回避することを確実にする)。加えて、これにより、アプリケーションスイッチャユーザインタフェースをそのままにするように複数のジェスチャを用い、次いで、ピン留めされたアプリケーションとの対話を開始する(又はそれを却下する/置き換える)ことによらなければ可能でなかったタッチ感知ディスプレイとの持続的な対話を可能にする。
いくつかの実施形態では、アプリケーションスイッチャユーザインタフェースを表示している間に、デバイスは、表示領域の表現に含まれる少なくとも2つのアプリケーションのうちの第1のアプリケーションの上で、追加のユーザ入力(例えば、既定の時間よりも長く続く接触などの非タップ選択618b(長い押圧)、又は図6Iに示されるように、閾値強度を上回って増大する強度を有する接触(例えば、深い押圧/ハードな押圧))を検出する(1024)。追加のユーザ入力を検出したことに応じて、いくつかの実施形態では、デバイスは、第1のアプリケーションの少なくとも一部の上に、却下アフォーダンスを表示する(1026)(例えば、却下アフォーダンス620は、図6I及び図6Jに示すように、第1のアプリケーションの一部分の上に表示される「x」に対応する)。却下アフォーダンスの選択を検出すると(例えば、図6Jのユーザ入力622を検出すると)、デバイスは、第1のアプリケーションを閉じ(1028)、アプリケーションスイッチャユーザインタフェース内の第1のアプリケーション以外の少なくとも2つのアプリケーションの残りの更新された表現を表示し、例えば、図6Kでは、更新された表現624は、表現604内に前もって表示された2つのアプリケーションのうちの残りの部分としてアプリケーション1を示す。
上述のように、分割ビューモードで表示されるアプリケーションを示すアプリケーションスイッチャユーザインタフェース内の表現をユーザが見ることを可能にすることにより、ユーザは、ピン留めされたアプリケーションを容易かつ効率的に識別することが可能になる。アプリケーションスイッチャユーザインタフェースから直接ピン留めされたアプリケーションとユーザが対話することを可能にすることによって、デバイスの操作性が向上し、ヒューマンマシンインタフェースがより効率的に動作するようになる(例えば、アプリケーションスイッチャユーザインタフェース内からピン留めされたアプリケーションと直接対話することにより、ユーザが、それらの対話を実行するためにアプリケーションスイッチャユーザインタフェースから出ざるを得ないことを回避することを確実にする)。加えて、これにより、アプリケーションスイッチャユーザインタフェースをそのままにするように複数のジェスチャを用い、次いで、ピン留めされたアプリケーションとの対話を開始することによらなければ可能でなかったタッチ感知ディスプレイとの持続的な対話を可能にする。
次に図10Cを参照すると、いくつかの実施形態において、デバイスは、表示領域の表現に含まれる少なくとも2つのアプリケーションのうちの第1のアプリケーションの上の接触を検出し(1030)、表示領域の表現から離れる接触の移動を検出する(1032)(例えば、ドラッグジェスチャ626は、第1の部分が、表現604内のビデオアプリケーションの上の接触であり、第2の部分が、図6Lの表現604から離れる接触の移動である)。接触がアプリケーションスイッチャユーザインタフェース内の既定領域に移動したことを検出すると、デバイスは、表現内に第1のアプリケーションを表示することを停止し(1034)、アプリケーションスイッチャユーザインタフェース内に第1のアプリケーション以外の少なくとも2つのアプリケーションの残りの更新された表現を表示する。そのような実施形態では、ドックは、アプリケーションスイッチャユーザインタフェースの少なくとも既定領域にオーバーレイして表示され(1036)、このドックは、電子デバイス上で利用可能な複数のアプリケーションに対応するアフォーダンスを含む(換言すれば、既定領域への接触の移動は、ドック内への接触の移動を含む)。例えば、図6Lでは、ドック408は、デバイス100上で利用可能な電話、メール、ウェブブラウジング、及びノートアプリケーションに対応する電話アフォーダンス、メールアフォーダンス、ブラウザアフォーダンス、及びノートアフォーダンスを含む。また、図6Lに示すように、ドック408の上のビデオアプリケーションのドラッグ626を検出すると、デバイスは、表現604からビデオアプリケーションを却下する。図6Mに示すように、更新された表現624は、表現604に以前含まれていた2つのアプリケーションの残りの部分としてのアプリケーション1を含む。少なくとも既定領域にオーバーレイしているドック(このドックに関する更なる詳細及び例は、方法800を参照して上述されている)を表示することによって、ユーザには、却下されているアプリケーションをドラッグする方へターゲットが与えられ、それにより(例えば、ユーザは、多数の複雑で覚えるのが難しい入力の組合せを使用して、アプリスイッチャUIから直接アプリケーションを却下することができることを確実にすることによって、及び入力を無駄にする必要なく、アプリスイッチャUIを残し、アプリケーションを却下することによって)デバイスの操作性を向上させる。
このようにして、ユーザには、アプリケーションスイッチャユーザインタフェースから直接ピン留めされたアプリケーションを却下するために使用される単純なジェスチャが提供され、それにより、(例えば、ユーザは、多数の複雑で覚えるのが難しい入力の組合せを使用して、アプリスイッチャUIから直接アプリケーションを却下することができることを確実にすることによって、及び入力を無駄にする必要なく、アプリスイッチャUIを残し、アプリケーションを却下することによって)デバイスの操作性を向上させる。
図10A~図10Cにおける動作が説明された特定の順序は一例にすぎず、説明された順序は、動作を実行することができる唯一の順序であることを示すものではないことを理解されたい。当業者であれば、本明細書に記載される動作を再順序付けるための様々なやり方を認識するであろう。簡潔にするために、これらの詳細はここでは繰り返さない。
図11A~図11Bは、同じアプリケーションの2つ以上のインスタンスをアクティブ化する方法1100を示すフローチャートである。図7A~図7Lを使用して、図11A~図11Bに関連して説明される方法及び/又はプロセスを示す。
いくつかの実施形態では、方法1100は、電子デバイス(例えば、図1Aのポータブル多機能デバイス100、及び/又は電子デバイスの1つ以上の構成要素(例えば、I/Oサブシステム106、オペレーティングシステム126など)により実行される。いくつかの実施形態では、方法1100は、非一時的コンピュータ可読記憶媒体に記憶され、デバイス100の1つ以上のプロセッサ122(図1A)など、デバイスの1つ以上のプロセッサによって実行される命令によって統御される。説明を簡単にするために、以下に、デバイス100により実行されるものとして方法1100を説明する。いくつかの実施形態では、図1Aを参照すると、方法1100の動作は、少なくとも部分的にマルチタスクモジュール(例えば、マルチタスクモジュール180)及びその構成要素、接触/動きモジュール(例えば、接触/動きモジュール130)、グラフィックモジュール(例えば、グラフィックモジュール132)、並びにタッチ感知ディスプレイ(例えば、タッチ感知ディスプレイシステム112)によって実行されるか、又はこれらを使用する。方法1100の一部の動作が任意選択的に組み合わされ、かつ/又は一部の動作の順序が任意選択的に変更される。
以下に説明するように、方法1100は、同じアプリケーションの2つ以上のインスタンスをアクティブ化する直感的なやり方を提供する。場合によっては、コンピューティングシステムのユーザは、アプリケーションの特定の特徴へのアクセスを、アプリケーション内で他の特徴を開くように選択した後に失う(例えば、ユーザは、受信した電子メールを、その受信した電子メールに返信するオプションを選択した後に見ることができない場合がある)。単一のアプリケーションの複数のインスタンスを開くことにより、ユーザは、これらの特定の特徴を見て使用し続けることが可能になる。ユーザが観察を継続し、これらの特定の特徴を見て使用し続けることを可能にすることにより、デバイスの操作性が向上し、(例えば、これらの特定の特徴をそれらが閉じられた後に再び開くために、ユーザが、複数の入力を与える必要なくこれらの特定の特徴を使用することを可能にすることによって)ヒューマンマシンインタフェースがより効率的になる。加えて、これにより、特定の特徴が閉じられた後又はもはや表示されていない後に、これらの特定の特徴を再び開く又はアクセスする方法を図示するために複数のジェスチャ又は入力を用いることによらなければ可能でなかったタッチ感知ディスプレイとの持続的な対話を可能にする。
いくつかの実施形態によれば、同じアプリケーションの2つ以上のインスタンスをアクティブ化する方法1100が提供される。例えば、メールアプリケーションの第1のインスタンス(例えば、受信箱の表示)は、画面の一方の側で開いており、一方、同じメールアプリケーションの第2のインスタンス(例えば、個々の電子メール返信の表示)は、画面の他方の側で開いている。インスタンスは、コンピュータプログラムの実行時間中に通常存在するオブジェクトの具体的な単一の発生であり、例えば、プログラム又はアプリケーションが実行される度に、それは、そのプログラムのインスタンスである。いくつかの実施形態によれば、この方法は、タッチ感知ディスプレイ(例えば、タッチスクリーン112、図1C)及び1つ以上のプロセッサを備える電子デバイス(例えば、ポータブル多機能デバイス100、図1A)において実行される。
この実施形態では、最初に、アプリケーションの第1のインスタンスが、タッチ感知ディスプレイの実質的に全てに表示される(1102)。次いで、アプリケーションの第1のインスタンス内に表示されたアフォーダンス上で接触が検出される(1104)。例えば、1106において、アプリケーションは電子メールアプリケーションであり、アフォーダンス上の接触は、電子メールアプリケーションの第1のインスタンス内に表示されるリンク又はアフォーダンス(例えば、返信の矢印又はアフォーダンス、全てに返信のアフォーダンス、新規メッセージ作成のリンク若しくはアフォーダンス、あるいはハイパーリンク)の上の接触である。
いくつかの実施形態では、ユーザ入力又は接触は、単純なタップ又はタッチではなく、代わりに深い又はよりハードな押圧であり(例えば、所定の接触力又は強度を上回る力若しくは強度を有する押圧、図3A~図3Cに関連する説明を参照)、あるいは所定の時間(例えば、1~3秒)にわたっての押圧及び保持である。タッチスクリーン(図1Aの112)、プロセッサ(図1Aの122)、接触強度センサ(図1の165)、及び/又は強度センサコントローラ(図1の159)は、ユーザ入力(例えば、接触又はジェスチャ)が、返信アフォーダンスの上の所定のタイプ(例えば、深い押圧、又は押圧及び保持)であるかどうかを判定する。
返信アフォーダンスの上の接触を検出すると(及びいくつかの実施形態では、ユーザ入力又は接触が所定のタイプのものであると判定すると)、タッチスクリーンディスプレイは、アプリケーションの新しいインスタンスのプレビューを表示する(1108)。例えば、1110において、アプリケーションは電子メールアプリケーションであり、アフォーダンスは、電子メールアプリケーションの第1のインスタンス内に表示されるメッセージの表現であり、接触が既定の強度閾値を超える接触の強度を有することを検出すると、又は(押圧及び保持の接触又はジェスチャと呼ばれる)接触が既定の時間量を超えてタッチ感知ディスプレイ上のアフォーダンスの上に留まることを検出すると、プレビューが表示される。
次いで、タッチ感知ディスプレイを横切る接触の移動が検出される(1112)。いくつかの実施形態では、この移動は、最初の接触と移動との間に接触のリフトオフなしに行われる必要がある(例えば、接触は、連続的であり、タッチ感知ディスプレイからの接触のリフトオフなしである)。
次に、1114において、接触がタッチ感知ディスプレイを横切って閾値距離(例えば、1~2センチメートル)を超えて移動したことを検出したことに応じて、(i)アプリケーションの第1のインスタンスは、タッチ感知ディスプレイの第1の部分(例えば、左半分)を占有するようにサイズ変更され、(ii)第1の部分に隣接したタッチ感知ディスプレイの既定の部分(例えば、第2の部分)(例えば、ディスプレイの右3分の1から半分)が明瞭化される。他の実施形態では、接触がタッチスクリーンの所定の部分(例えば、以下の第2の部分)に(例えば、スクリーンの右3分の1から半分へ)移動したことを検出したことに応じて、(i)アプリケーションの第1のインスタンスが、タッチ感知ディスプレイの第1の部分(例えば、左半分)を占有するようにサイズ変更され、及び(ii)第1の部分に隣接したタッチ感知ディスプレイの既定の部分(例えば、第2の部分)(例えば、ディスプレイの右3分の1から半分)が明瞭化される。更に他の実施形態では、これらの動作のいずれか又は両方により、分割ビューモードをアクティブ化する。
いくつかの実施形態では、既定の部分は、タッチ感知ディスプレイ(例えば、部分762、図7E)の全表示領域の約3分の1から半分を占有するブランク領域である。他の実施形態では、ブランク領域は、その既定領域内にデバイスのホーム画面を表示する。いくつかの実施形態では、このブランク領域を明瞭化することにより、接触のリフトオフの際に、(現在プレビューに示されている)コンテンツが、第1の部分に表示されるアプリケーションの現在サイズ変更された第1のインスタンスに隣接して、既定の部分に表示される視覚的な指示をユーザに提供する。このようにして、分割ビューモードがどのように見えるかについて視覚的プレビューを提供するために、コンピューティングシステムのユーザには、ディスプレイの第2の部分を明瞭化するプレビューが提供される。これにより、ユーザが、プレビューを見た後に、分割ビューモードをアクティブ化するか否かについて決定を行うことができるので、デバイスの操作性が向上し、それによって、分割ビューモードをアクティブ化する仕方をユーザが発見できることを確実にすると共に、モードをアクティブ化する前にそのようなモードをユーザがプレビューできることを確実にすることができる。
次に、1116において、接触がタッチ感知ディスプレイを横切って閾値距離だけ移動した後に、又は接触がディスプレイの既定の第2の部分へ移動した後に、接触のリフトオフを検出すると、同じアプリケーションの2つのインスタンスを並べて同時に表示する。具体的には、(i)アプリケーションの第1のインスタンスとは異なる第2のインスタンスが、選択されたアフォーダンスに関連付けられたコンテンツと共に表示され、(ii)アプリケーションの第1のインスタンスの少なくとも一部分が表示される。第2のインスタンス及び第1のインスタンス(又はその一部分)は、タッチ感知ディスプレイの表示可能領域の実質的に全てを占有するように表示される。
いくつかの実施形態では、1118に示されるように、分割ビュー動作モードは、タッチ感知ディスプレイの既定の部分(例えば、第2の部分)内にアプリケーションの第2のインスタンスを表示することを含む。
いくつかの実施形態では、アプリケーションの第1及び第2のインスタンスは、電子デバイスの1つ以上のプロセッサ上で実行している別個の実行可能なプロセス(例えば、電子デバイスの1つ以上のプロセッサ上で共に別々に実行するアプリケーションの2つの別個のインスタンス化)である。言い換えれば、リフトオフを検出した後、アプリケーションの第2のインスタンスはインスタンス化され、次いで、アプリケーションの第1のインスタンスと並べて表示され、それによって、ユーザが、第2のインスタンスと対話している間にも、第1のインスタンスからコンテンツを容易に/便利に見て使用することを可能にする。
図11A~図11Bにおける動作が説明された特定の順序は一例にすぎず、説明された順序は、動作を実行することができる唯一の順序であることを示すものではないことを理解されたい。当業者であれば、本明細書に記載される動作を再順序付けるための様々なやり方を認識するであろう。簡潔にするために、これらの詳細はここでは繰り返さない。
図12は、連続ジェスチャを使用してドックをアクティブ化し、次いでアプリケーションスイッチャユーザインタフェースをアクティブ化する方法1200を示すフローチャートである。図6A~図6Qを使用して、図12に関連して説明される方法及び/又はプロセスを示す。
いくつかの実施形態では、方法1200は、電子デバイス(例えば、ポータブル多機能デバイス100、図1A)、及び/又は電子デバイスの1つ以上の構成要素(例えば、I/Oサブシステム106、オペレーティングシステム126など)により実行される。いくつかの実施形態では、方法1200は、非一時的コンピュータ可読記憶媒体に記憶され、デバイス100の1つ以上のプロセッサ122(図1A)など、デバイスの1つ以上のプロセッサによって実行される命令によって統御される。説明を簡単にするために、以下に、デバイス100により実行されるものとして方法1200を説明する。いくつかの実施形態では、図1Aを参照すると、方法1100の動作は、少なくとも部分的にマルチタスクモジュール(例えば、マルチタスクモジュール180)及びその構成要素、接触/動きモジュール(例えば、接触/動きモジュール130)、グラフィックモジュール(例えば、グラフィックモジュール132)、並びにタッチ感知ディスプレイ(例えば、タッチ感知ディスプレイシステム112)によって実行されるか、又はこれらを使用する。方法1200の一部の動作が任意選択的に組み合わされ、かつ/又は一部の動作の順序が任意選択的に変更される。
以下に説明するように、方法1200は、ドックをアクティブ化することを可能にする単一の連続ジェスチャ、及びそしてアプリケーションスイッチャユーザインタフェースをユーザに提供する。この方法は、ドック及びアプリケーションスイッチャユーザインタフェースをアクティブ化するためにユーザから必要とされる入力の数を減少させ(例えば、ユーザは、複数の入力を実行する代わりに単純なジェスチャを行いさえすればよく)、それにより、より少ない数の入力を処理するために必要とされる電力が少なくなる(そして、ユーザがこのより直感的かつ単純なジェスチャに益々慣れるので、この節約は繰り返し実現される)ので、方法1200を実施する電子デバイスのバッテリ寿命を延ばすことを確実にする。以下更に詳細に説明されるように、方法1200の動作は、ユーザが持続的な対話に従事する(例えば、方法1200の動作は、それらのデバイスとのそれらの対話を中断する頻発アンドゥ挙動を必要としない)ことを確実にするのに役立つと共に、方法1200の動作は、より効率的なヒューマンマシンインタフェースを作り出すのに役立つ。
いくつかの実施形態では、方法1200を実行するように構成されたデバイスは、タッチ感知ディスプレイ上にコンテンツを表示する(1202)(例えば、デバイス100は、アプリケーション1を表示すると共に、図6Aのタッチ感知ディスプレイ上に分割ビューモードでビデオブラウジングアプリケーションも表示する)。次いで、デバイスは、タッチ感知ディスプレイの縁部に対して(例えば、+/-5度以内の)略直角な方向の接触(例えば、図6Aのジェスチャ602に関連付けられた接触)の移動を検出する(1204)(例えば、接触は、タッチ感知ディスプレイの(タッチ感知ディスプレイに向かってのユーザの見下ろしに対して)最下縁部に対して実質的に垂直方向に移動する)。接触の移動が第1の移動(例えば、接触が縁部から離れて閾値距離を超えて移動した、又は接触が第1の閾値速度又は加速度で/を用いて、又はそれを超えて移動した)に基づく閾値を満足していると判定すると、デバイスは、(例えば、図6A~図6Cに示されるように)コンテンツの少なくとも一部分にオーバーレイしてドックを表示し(1206)、このドックは、選択されるとき、電子デバイスに電子デバイス上で利用可能なそれぞれのアプリケーションを開かせる、複数のアフォーダンスを含む。いくつかの実施形態では、ドックは、接触が縁部に対して略直角な方向に移動するときに接触の移動又は速度に従って明瞭化される(例えば、まず、ドックは、接触が例えば1~2センチメートルの最初の閾値距離を移動し、次いでドックが静止位置に到達した後に表示され、それは第1の閾値距離、例えば、最初の閾値距離から1~2センチメートル、又は合計で2~4センチメートル離れて移動する)。上述した閾値距離は、最初の又は第1の閾値距離とすることができ、又は速度若しくは加速度に基づく閾値とすることもできる。
ドックを表示している間に、接触の移動が、第1の移動に基づく閾値よりも大きい第2の移動に基づく閾値を満足するとの判定に従って(例えば、接触が、縁部から3~6センチメートル離れて若しくは第1の閾値距離から更に1~2センチメートル離れてなどの第2の閾値距離を超えて移動したとの判定に従って、又は第1の閾値速度が4センチメートル/秒の速度に対応する場合、接触が、8センチメートル/秒の速度で移動したとの判定に従って、デバイスは、(図6C~図6Dに示すように)電子デバイス上で最近使用された少なくとも一部のアプリケーションのそれぞれの選択可能な表現を含むアプリケーションスイッチャユーザインタフェースをアクティブ化する(1208)。いくつかの実施形態では、接触がタッチ感知ディスプレイの縁部から離れて第2の閾値距離を超えて移動する又は第2の速度若しくは加速度閾値で/それを用いて、若しくはそれを上回って移動するとき、コンテンツ(例えば、フォアグラウンドアプリケーションに関連付けられたコンテンツ)は、(例えば、図6D~図6Eに示すように)アプリ切り替えUI内のその時系列の場所へ縮小する。
いくつかの実施形態では、第1及び第2の移動に基づく閾値は、距離閾値、速度閾値、又は加速度閾値からなる群から選択される(1210)。
いくつかの実施形態では、本明細書に記載された距離に基づく閾値のいずれか(例えば、ジェスチャ602に関連付けられた接触が、ドックを表示する前に一定の閾値距離を超えて移動するかどうかを判定し、次いで後でアプリケーションスイッチャユーザインタフェースを表示すること)は、特定のアクションを行う(例えば、ドックを表示し、次いでアプリケーションスイッチャユーザインタフェースを表示する)前に、接触が(少なくとも8センチメートル/秒の速度を有する)一定の速度閾値又は加速度閾値よりも大きい速度又は加速度で移動したかどうかを代わりに判定する移動に基づく閾値(例えば、距離に基づく閾値、又は移動及び速度若しくは速度の変化に基づく閾値、例えば、速度又は加速度に基づく閾値)と置き換えられてもよい。
いくつかの実施形態では、接触が第1の閾値距離を超えて移動し、次いでタッチ感知ディスプレイの縁部から離れる第2の閾値距離を超えて移動するときに、接触のリフトオフ(例えば、ジェスチャ602に関連付けられた接触、図6A~図6D)は検出されない(例えば、接触の移動は、まず電子デバイスにドックを表示させ、次いで電子デバイスにアプリケーションスイッチャユーザインタフェースを表示させる連続的な中断されていないジェスチャである)。
ドック及び次いでアプリケーションスイッチャユーザインタフェースをアクティブ化するために使用される単一のジェスチャを行うことによって、(例えば、ドックに別々にアクセスし、次いである後の時点でアプリケーションスイッチャユーザインタフェースにアクセスするために、複数の非効率的で時間がかかる入力を用いなければならない代わりに、ユーザは、ドック及びアプリケーションスイッチユーザインタフェースをアクティブ化するための単一の入力を行うことができるため)デバイスの操作性が向上し、ヒューマンマシンインタフェースがより効率的に動作する。
図12における動作が説明された特定の順序は、一例にすぎず、説明された順序は、動作を実行することができる唯一の順序であることを示すものではないことを理解されたい。当業者であれば、本明細書に記載される動作を再順序付けるための様々なやり方を認識するであろう。簡潔にするために、これらの詳細はここでは繰り返さない。
上記は、説明を目的として、特定の実施形態を参照して記述されている。しかしながら、上記の例示的な論考は、網羅的であること、又は開示される厳密な形態に本発明を限定することを意図するものではない。上記の教示を考慮して、多くの修正及び変形が可能である。本発明の原理及びその実際的な応用を最良の形で説明し、それによって他の当業者が、想到される特定の用途に適した様々な変更で本発明及び様々な記載された実施形態を最良の形で使用することを可能にするために、これらの実施形態を選択し記載した。