(57)【要約】  コンピュータ化された腕時計が記載されており、コンピュータ化された腕時計は、現在実行されているアプリケーションから、当該アプリケーションによって実行されているユーザ制御可能な動作についての情報を受信する。コンピュータ化された腕時計は、当該アプリケーションによって実行されているユーザ制御可能な動作に関連付けられた動的制御要素を自動的に生成する。動的制御要素は、少なくとも当該アプリケーションによって実行されているユーザ制御可能な動作についての情報のサブセットを表示する第１の部分と、ユーザ制御可能な動作を制御するユーザ入力を取得する第２の部分とを含む。コンピュータ化された腕時計は、表示のためにユーザインターフェイスを出力し、ユーザインターフェイスは、動的制御要素と、コンピュータ化された腕時計によって実行されている他の動作を制御する１つ以上の静的制御要素とを含む。
2021523426.tif 000002
【特許請求の範囲】
【請求項１】
方法であって、
コンピュータ化された腕時計において実行される少なくとも１つのシステムサービスが、現在実行されているアプリケーションから、前記アプリケーションによって実行されているユーザ制御可能な動作についての情報を受信するステップと、
前記アプリケーションによって実行されている前記ユーザ制御可能な動作についての前記情報を受信したことに応答して、前記少なくとも１つのシステムサービスが、前記アプリケーションによって実行されている前記ユーザ制御可能な動作に関連付けられた動的制御要素を自動的に生成するステップとを備え、前記動的制御要素は、
少なくとも前記アプリケーションによって実行されている前記ユーザ制御可能な動作についての前記情報のサブセットを表示する第１の部分と、
前記ユーザ制御可能な動作を制御するユーザ入力を取得する第２の部分とを含み、
前記方法はさらに、
前記少なくとも１つのシステムサービスが、表示のためにユーザインターフェイスを出力するステップを備え、前記ユーザインターフェイスは、前記動的制御要素と、前記少なくとも１つのシステムサービスによって実行されている動作を制御する１つ以上の静的制御要素とを含む、方法。
【請求項２】
前記少なくとも１つのシステムサービスが、前記動的制御要素の外観および機能を制御するためのデータをやりとりするように構成されたインターフェイスを前記アプリケーションに提供するステップをさらに備え、
前記アプリケーションによって実行されている前記ユーザ制御可能な動作についての前記情報を受信するステップは、前記動的制御要素の外観および機能を制御するための前記データとして、前記アプリケーションによって実行されている前記ユーザ制御可能な動作についての前記情報を前記インターフェイスを介して受信するステップを備える、請求項１に記載の方法。
【請求項３】
前記動的制御要素の外観および機能を制御するための前記データは、
前記アプリケーションまたは前記アプリケーションによって実行されている前記動作に関連付けられたアプリケーションアイコン、
前記動的制御要素に含まれ、前記アプリケーションによって実行されている前記動作が実行されるにつれて変化する、テキスト、または
前記動的制御要素に含まれ、前記アプリケーションによって実行されている前記動作が実行されるにつれて変化する、グラフィカルな特徴、のうちの少なくとも１つを備える、請求項２に記載の方法。
【請求項４】
前記動的制御要素の外観および機能を制御するための前記データは、
前記動的制御要素が表示のために出力されるディスプレイデバイスの場所に対応する存在感知入力デバイスの場所で検出されるジェスチャの表示、
前記コンピュータ化された腕時計のマイクによって検出される音声入力の表示、または
前記コンピュータ化された腕時計のセンサによって検出される触覚入力の表示、のうちの少なくとも１つを備える、請求項２または３のいずれか１項に記載の方法。
【請求項５】
前記動的制御要素の外観および機能を経時的に変化させる、前記動的制御要素の外観および機能を制御するための前記データに対する更新を前記インターフェイスを介して受信するステップをさらに備える、請求項２〜４のいずれか１項に記載の方法。
【請求項６】
前記更新は、前記動的制御要素の前記外観を変更するための前記アプリケーションからの命令を含むか、または
前記更新は、前記動的制御要素とのユーザ対話についての前記少なくとも１つのシステムサービスからの入力情報を含むかのうちの少なくとも１つである、請求項５に記載の方法。
【請求項７】
前記アプリケーションによって実行されている前記ユーザ制御可能な動作についての前記情報を受信するステップの前に、前記少なくとも１つのシステムサービスが、前記ユーザインターフェイスのそれぞれの部分を前記１つ以上の静的制御要素の各々に割り当てるステップと、
前記アプリケーションによって実行されている前記ユーザ制御可能な動作についての前記情報を受信したことにさらに応答して、前記動的制御要素を動的に生成した後に、前記少なくとも１つのシステムサービスが、前記ユーザインターフェイスのそれぞれの部分を前記動的制御要素に動的に割り当てるステップとをさらに備え、
前記動的制御要素に割り当てられる前記ユーザインターフェイスの前記それぞれの部分は、前記１つ以上の静的制御要素の各々に割り当てられる前記ユーザインターフェイスの前記それぞれの部分とは異なる、請求項１〜６のいずれか１項に記載の方法。
【請求項８】
前記少なくとも１つのシステムサービスが、前記アプリケーションによって実行されている前記ユーザ制御可能な動作についての前記情報に基づいて、前記動的制御要素に割り当てられる前記ユーザインターフェイスの前記それぞれの部分のサイズまたは位置を判断するステップをさらに備える、請求項７に記載の方法。
【請求項９】
前記動的制御要素を生成したことに応答して、前記少なくとも１つのシステムサービスが、前記少なくとも１つのシステムによって維持されている全ての動的制御の記録に、前記動的制御要素または前記アプリケーションのうちの少なくとも１つの識別子を追加するステップと、
前記少なくとも１つのシステムサービスが、前記アプリケーションによって実行されている前記ユーザ制御可能な動作が完了したか否かを判断するステップと、
前記アプリケーションによって実行されている前記ユーザ制御可能な動作が完了したと判断したことに応答して、前記少なくとも１つのシステムサービスが、前記ユーザインターフェイスから前記動的制御要素を除去するステップと、
前記少なくとも１つのシステムサービスが、前記少なくとも１つのシステムによって維持されている動的制御の前記記録から、前記動的制御要素または前記アプリケーションのうちの少なくとも１つの前記識別子を除去するステップとをさらに備える、請求項１〜８のいずれか１項に記載の方法。
【請求項１０】
前記アプリケーションによって実行されている前記ユーザ制御可能な動作についての前記情報を受信するステップは、
前記少なくとも１つのシステムサービスが、前記アプリケーションによって実行されている前記ユーザ制御可能な動作についての前記情報を前記アプリケーションから要求するステップと、
前記アプリケーションによって実行されている前記ユーザ制御可能な動作についての前記情報を要求したことに応答して、前記アプリケーションによって実行されている前記ユーザ制御可能な動作についての前記情報を受信するステップとを備える、請求項１〜９のいずれか１項に記載の方法。
【請求項１１】
前記アプリケーションは、前記コンピュータ化された腕時計において実行される第１のアプリケーションであり、前記動的制御要素は、第１の動的制御要素であり、前記方法はさらに、
前記少なくとも１つのシステムサービスが、前記コンピュータ化された腕時計において実行される第２のアプリケーションから、前記第２のアプリケーションによって実行されているユーザ制御可能な動作についての情報を受信するステップを備え、前記第２のアプリケーションは、前記第１のアプリケーションとは異なり、前記方法はさらに、
前記第２のアプリケーションによって実行されている前記ユーザ制御可能な動作についての前記情報を受信したことに応答して、前記少なくとも１つのシステムサービスが、第２の動的制御要素を自動的に生成するステップを備え、前記第２の動的制御要素は、前記第２のアプリケーションによって実行されている前記ユーザ制御可能な動作に関連付けられ、前記方法はさらに、
前記少なくとも１つのシステムサービスが、表示のために更新後のユーザインターフェイスを出力するステップを備え、前記更新後のユーザインターフェイスは、前記第１の動的制御要素と、前記第２の動的制御要素と、前記複数の静的制御要素とを含む、請求項１〜１０のいずれか１項に記載の方法。
【請求項１２】
前記アプリケーションは、タイマアプリケーションであり、
前記ユーザ制御可能な動作についての前記情報は、タイマカウントダウンを備え、
前記動的制御要素は、前記タイマカウントダウンのテキストと、前記タイマカウントダウンを停止するための選択可能な要素とを備える、請求項１〜１１のいずれか１項に記載の方法。
【請求項１３】
前記アプリケーションは、メディア再生アプリケーションであり、
前記ユーザ制御可能な動作についての前記情報は、現在のメディア選択についての識別情報を備え、
前記動的制御要素は、前記現在のメディア選択についての前記識別情報の自動スクロールテキストを備える、請求項１〜１１のいずれか１項に記載の方法。
【請求項１４】
前記アプリケーションは、前記コンピュータ化された腕時計の１つ以上のプロセッサまたは前記コンピュータ化された腕時計とは異なるコンピューティングデバイスの少なくとも１つのプロセッサにおいて現在実行されている、請求項１〜１１のいずれか１項に記載の方法。
【請求項１４】
コンピューティングデバイスであって、
少なくとも１つのシステムサービスに関連付けられた命令を格納するように構成されたメモリと、
請求項１〜１３に記載の方法のいずれかを実行するために、前記少なくとも１つのシステムサービスに関連付けられた前記命令を実行するように構成された少なくとも１つのプロセッサとを備える、コンピューティングデバイス。
【請求項１５】
実行されるとコンピューティングデバイスの少なくとも１つのプロセッサに請求項１〜１３に記載の方法のいずれかを実行させる命令を備えるコンピュータ読取可能記憶媒体。
【発明の詳細な説明】
【背景技術】
【０００１】
背景
多くのコンピューティングデバイスは、ユーザインターフェイス（ＵＩ）を出力するために存在感知ディスプレイに頼っている。コンピュータ化された腕時計は、携帯電話または他のより大きなデバイスと比較して小型の存在感知ディスプレイを含み得る。小型であることにより、コンピュータ化された腕時計は、雑然としたＵＩを出力する場合があり、および／または、コンピュータ化された腕時計は、必ずしも正確にタッチターゲットを解釈できるとは限らないため、必ずしも思い通りに動作するとは限らない。コンピュータ化された腕時計の中には、複数の異なるカード、ウィンドウ、ページまたはビューにわたってＵＩを分散させることによって、雑然とした状態を減少させようとするものもある。ＵＩのさまざまな部分がさまざまなビューにあることにより、コンピュータ化された腕時計は、それらのＵＩのさまざまな部分間を移動して、コンピュータ化された腕時計に所期の動作を実行させるために、複数のユーザ入力および／または他のより時間のかかるユーザ対話を必要とし得る。
【発明の概要】
【課題を解決するための手段】
【０００２】
概要
概して、本開示の技術は、コンピューティングデバイスが、アプリケーションによって実行されているさまざまなアクティビティまたは動作を収容するように経時的に変化するアプリケーション制御要素を表示することを可能にすることに向けられる。一例として、コンピュータ化された腕時計は、ユーザインターフェイス（ＵＩ）をたとえば存在感知ディスプレイに出力する。ＵＩは、システム画面、ホーム画面または設定画面の一部であってもよい。ＵＩは、静的制御要素も動的制御要素も含む。静的制御要素は、経時的に変化しないそれぞれの機能に関連付けられる。たとえば、静的制御要素は、アプリケーションを起動させる場合もあれば、特定の設定（たとえば、スピーカの音量、画面の輝度、機内モード、フラッシュライトモード、または他の設定など）を調整する場合もある。静的制御要素が経時的に変化しないので、コンピュータ化された腕時計と通信しているアプリケーションによってどんなアクティビティまたは動作が実行されていようと、ＵＩは同一の静的制御要素を含み得る。一方、動的制御要素は、たとえばアプリケーションが時間の経過とともに実行する必要があるさまざまなタイプの機能を処理するために、経時的に変化する。たとえば、動的制御要素は、音楽アプリケーションからの音楽再生を調整する（たとえば、停止する、開始する、一時停止するなど）ための限定的な制御要素を含んでもよい。このように動的制御要素をＵＩに含めることによって、コンピュータ化された腕時計は、ＵＩのさまざまな部分間を移動して、システムサービスの制御外の現在のアクティビティおよび動作を制御するのに、ユーザ入力を必要としないで済む。したがって、コンピュータ化された腕時計は、システムサービスの範囲外で実行されるアプリケーションの動作を生じさせるのに必要なユーザ入力が少なくて済み、または少なくともより高速なユーザ入力を可能にし、それによって、コンピュータ化された腕時計がこれらの減少した入力を処理するために処理しなければならない命令が少なくなるので、電力消費量が減少する。
【０００３】
本開示全体にわたって、コンピューティングシステムおよび／またはデバイスが情報を分析する明確な許可をユーザから受け取った場合にのみ、コンピューシングデバイスおよび／またはコンピューティングシステムがコンピューティングシステムおよび／またはデバイスに関連付けられた情報（たとえば、進行中の動作またはアクティビティ）を分析できる例が記載されている。たとえば、コンピューティングデバイスにおいて実行されるさまざまなアプリケーションについての情報をコンピューティングデバイスが収集し得る下記の状況では、ユーザは、コンピューティングデバイスの他のアプリケーション、プログラムまたは特徴が当該情報を収集して利用できるか否かを制御するための入力を提供する機会を与えられてもよく、さらに、これらの他のアプリケーション、プログラムまたは特徴が当該情報を用いて何をすることができて何をすることができないかを制御する機会を与えられてもよい。また、特定の情報は、転送、格納または使用される前に１つ以上の方法で事前処理されてもよいため、個人を特定できる情報は除去される。したがって、ユーザは、情報が収集されるか否か、および収集される場合にはこのような情報がコンピューティングデバイスおよび／またはコンピューティングシステムによってどのように使用され得るかを制御することができる。
【０００４】
一例では、本開示は、方法に向けられ、上記方法は、コンピュータ化された腕時計において実行される少なくとも１つのシステムサービスが、アプリケーションから、上記アプリケーションによって実行されているユーザ制御可能な動作についての情報を受信するステップを含む。上記方法はさらに、上記アプリケーションによって実行されている上記ユーザ制御可能な動作についての上記情報を受信したことに応答して、上記少なくとも１つのシステムサービスが、上記アプリケーションによって実行されている上記ユーザ制御可能な動作に関連付けられた動的制御要素を自動的に生成するステップを含み、上記動的制御要素は、少なくとも上記アプリケーションによって実行されている上記ユーザ制御可能な動作についての上記情報のサブセットを表示する第１の部分と、上記ユーザ制御可能な動作を制御するユーザ入力を取得する第２の部分とを含む。上記方法はさらに、上記少なくとも１つのシステムサービスが、表示のためにユーザインターフェイスを出力するステップを含み、上記ユーザインターフェイスは、上記動的制御要素と、上記少なくとも１つのシステムサービスによって実行されている動作を制御する１つ以上の静的制御要素とを含む。
【０００５】
別の例では、本開示は、コンピューティングシステムに向けられ、上記コンピューティングシステムは、アプリケーションから、上記アプリケーションによって実行されているユーザ制御可能な動作についての情報を受信するための手段を含む。上記コンピューティングシステムはさらに、上記アプリケーションによって実行されている上記ユーザ制御可能な動作についての上記情報を受信したことに応答して、上記アプリケーションによって実行されている上記ユーザ制御可能な動作に関連付けられた動的制御要素を自動的に生成するための手段を含み、上記動的制御要素は、少なくとも上記アプリケーションによって実行されている上記ユーザ制御可能な動作についての上記情報のサブセットを表示する第１の部分と、上記ユーザ制御可能な動作を制御するユーザ入力を取得する第２の部分とを含む。上記コンピューティングシステムはさらに、表示のためにユーザインターフェイスを出力するための手段を含み、上記ユーザインターフェイスは、上記動的制御要素と、上記少なくとも１つのシステムサービスによって実行されている動作を制御する１つ以上の静的制御要素とを含む。
【０００６】
別の例では、本開示は、コンピューティングデバイスに向けられ、上記コンピューティングデバイスは、少なくとも１つのシステムサービスを実行する少なくとも１つのプロセッサを含み、上記少なくとも１つのシステムサービスは、アプリケーションから、上記アプリケーションによって実行されているユーザ制御可能な動作についての情報を受信するように構成される。上記少なくとも１つのシステムサービスはさらに、上記アプリケーションによって実行されている上記ユーザ制御可能な動作についての上記情報を受信したことに応答して、上記アプリケーションによって実行されている上記ユーザ制御可能な動作に関連付けられた動的制御要素を自動的に生成するように構成され、上記動的制御要素は、少なくとも上記アプリケーションによって実行されている上記ユーザ制御可能な動作についての上記情報のサブセットを表示する第１の部分と、上記ユーザ制御可能な動作を制御するユーザ入力を取得する第２の部分とを含む。上記少なくとも１つのシステムサービスはさらに、表示のためにユーザインターフェイスを出力するように構成され、上記ユーザインターフェイスは、上記動的制御要素と、上記少なくとも１つのシステムサービスによって実行されている動作を制御する１つ以上の静的制御要素とを含む。
【０００７】
別の例では、本開示は、命令を備えるコンピュータ読取可能記憶媒体に向けられ、上記命令は、少なくとも１つのプロセッサによって実行されると、コンピューティングデバイスのシステムサービスに、アプリケーションから、上記アプリケーションによって実行されているユーザ制御可能な動作についての情報を受信させる。上記命令はさらに、実行されると、上記システムサービスに、上記アプリケーションによって実行されている上記ユーザ制御可能な動作についての上記情報を受信したことに応答して、上記アプリケーションによって実行されている上記ユーザ制御可能な動作に関連付けられた動的制御要素を自動的に生成させ、上記動的制御要素は、少なくとも上記アプリケーションによって実行されている上記ユーザ制御可能な動作についての上記情報のサブセットを表示する第１の部分と、上記ユーザ制御可能な動作を制御するユーザ入力を取得する第２の部分とを含む。上記命令はさらに、実行されると、上記システムサービスに、表示のためにユーザインターフェイスを出力させ、上記ユーザインターフェイスは、上記動的制御要素と、上記少なくとも１つのシステムサービスによって実行されている動作を制御する１つ以上の静的制御要素とを含む。
【０００８】
１つ以上の例の詳細が添付の図面および以下の説明に記載されている。本開示の他の特徴、目的および利点は、明細書および図面、ならびに特許請求の範囲から明らかであろう。
【図面の簡単な説明】
【０００９】
【図１】本開示の１つ以上の局面に係る、動的制御要素を有するユーザインターフェイスを表示するように構成されたコンピューティングシステムの一例を示す概念図である。
【図２】本開示の１つ以上の局面に係る、動的制御要素を有するユーザインターフェイスを表示するように構成されたコンピューティングデバイスの一例を示すブロック図である。
【図３】本開示の１つ以上の局面に係る、動的制御要素を有するユーザインターフェイスの一例を示す概念図である。
【図４】本開示の１つ以上の局面に係る、動的制御要素を有するユーザインターフェイスの一例を示す概念図である。
【図５】本開示の１つ以上の局面に係る、動的制御要素を有するユーザインターフェイスを表示するように構成されたコンピューティングデバイスの一例によって実行される動作の例を示すフローチャートである。
【発明を実施するための形態】
【００１０】
詳細な説明
図１は、本開示の１つ以上の局面に係る、動的制御要素を有するユーザインターフェイスを表示するように構成されたコンピューティングシステムの一例を示す概念図である。システム１００は、各々がネットワーク１３０に通信可能に結合されたコンピューティングデバイス１０２および１１０を含む。システム１００に起因する動作は、主にコンピューティングデバイス１０２および１１０によって実行されるものとして記載されているが、いくつかの例では、システム１００の動作は、図１に示されているものよりもさらに追加されたまたはより少数のコンピューティングデバイスおよびシステムによって実行されてもよい。たとえば、システム１００は、システム１００の動作を実行するためにネットワーク１３０に通信可能に結合された追加のコンピューティングデバイスまたはリモートのコンピューティングシステムを含んでもよい。
【００１１】
ネットワーク１３０は、コンピューティングシステム、サーバおよびコンピューティングデバイス間でデータを伝送するための任意のパブリックまたはプライベート通信ネットワークである。ネットワーク１３０は、公衆交換電話網（ＰＳＴＮ）、無線ネットワーク（たとえば、セルラー、Ｗｉ−Ｆｉ（登録商標）、ブルートゥース（登録商標）および／もしくは他の無線ネットワーク）、有線ネットワーク（たとえば、ローカルエリアネットワーク（ＬＡＮ）、ワイドエリアネットワーク（ＷＡＮ）、インターネットなど）、インターネットプロトコル（ＩＰ）電話網（ボイス・オーバー・ＩＰ（ＶｏＩＰ）ネットワークなど）、またはその他のタイプの通信ネットワークであってもよい。ネットワーク１３０は、１つ以上のネットワークハブ、ネットワークスイッチ、ネットワークルータ、またはその他のネットワーク機器を含んでもよく、これらは、動作可能に相互結合されることによってコンピューティングデバイス１０２および１１０間で情報をやりとりする。コンピューティングデバイス１０２および１１０は、任意の好適な通信技術を使用してネットワーク１３０にわたってデータを送受信してもよい。
【００１２】
コンピューティングデバイス１０２は、ネットワーク（ネットワーク１３０など）を介して情報をやりとりして動的制御要素を含むユーザインターフェイスを生成するアプリケーションを実行することができる任意の好適なコンピューティングデバイスである。コンピューティングデバイス１０２は、単一のコンピューティングデバイスとして示されているが、複数のコンピューティングデバイスを含んでもよい。コンピューティングデバイス１０２の例としては、携帯電話、タブレットコンピュータ、ラップトップコンピュータ、デスクトップコンピュータ、サーバ、メインフレーム、ウェアラブルデバイス（たとえば、コンピュータ化された腕時計、コンピュータ化された眼鏡など）、ホームオートメーションデバイス、アシスタントデバイス（アシスタントスピーカもしくは他のカウンタートップデバイスを含む）、ゲーム機およびシステム、メディアプレーヤ、電子書籍リーダ、テレビプラットフォーム、自動車ナビゲーションもしくはインフォテインメントシステム、または、ネットワーク１３０などのネットワークを介して情報をやりとりするように構成されたその他のタイプのモバイル、非モバイル、ウェアラブルおよび非ウェアラブルコンピューティングデバイスが挙げられる。
【００１３】
コンピューティングデバイス１１０は、記載されている技術に係る動的制御要素を含むＵＩを出力するように構成された任意のコンピューティングデバイスである。コンピューティングデバイス１１０は、主にコンピュータ化された腕時計として記載されているが、コンピュータ化された眼鏡などの異なるタイプのウェアラブルデバイス、または他の好適なコンピューティングデバイスであってもよい。コンピューティングデバイス１１０の例としては、携帯電話、タブレットコンピュータ、ラップトップコンピュータ、デスクトップコンピュータ、サーバ、メインフレーム、ウェアラブルデバイス（たとえば、コンピュータ化された腕時計、コンピュータ化された眼鏡など）、ホームオートメーションデバイス、アシスタントデバイス（アシスタントスピーカもしくは他のカウンタートップデバイスを含む）、ゲーム機およびシステム、メディアプレーヤ、電子書籍リーダ、テレビプラットフォーム、自動車ナビゲーションもしくはインフォテインメントシステム、または、動的制御要素を有するＵＩを出力し、いくつかの例ではネットワークを介して情報をやりとりするように構成されたその他のタイプのモバイル、非モバイル、ウェアラブルおよび非ウェアラブルコンピューティングデバイスが挙げられる。
【００１４】
コンピューティングデバイス１１０は、システムサービスモジュール１２０と、１つ以上のアプリケーションモジュール１２２Ａとを含み、ユーザインターフェイス１１４を出力するように構成されたユーザインターフェイスコンポーネント（「ＵＩＣ」）１１２をさらに含む。
【００１５】
コンピューティングデバイス１１０のＵＩＣ１１２は、コンピューティングデバイス１１０のための入力および／または出力デバイスとして機能し得る。ＵＩＣ１１２は、さまざまな技術を使用して実現されてもよい。たとえば、ＵＩＣ１１２は、ユーザ入力の受信に使用される存在感知入力画面、マイク技術、赤外線センサ技術または他の入力デバイス技術を用いた入力デバイスとして機能してもよい。ＵＩＣ１１２は、ユーザへの情報の出力に使用される任意の１つ以上のディスプレイデバイス、スピーカ技術、触覚フィードバック技術または他の出力デバイス技術を用いてユーザに出力を表示するように構成された出力デバイスとして機能してもよい。ＵＩＣ１１２は、コンピューティングデバイス１１０によって、ユーザインターフェイス１１４などのＧＵＩを出力して表示するのに使用されてもよい。
【００１６】
モジュール１２０，１２２Ａおよび１２２Ｂは、コンピューティングデバイス１０２および１１０のうちの１つに存在し、および／または、コンピューティングデバイス１０２および１１０のうちの１つで実行されるソフトウェア、ハードウェア、ファームウェア、またはハードウェアとソフトウェアとファームウェアとの組み合わせを使用して、本明細書に記載されている動作を実行してもよい。コンピューティングデバイス１０２および１１０は、複数のプロセッサまたは複数のデバイスを有するモジュール１２０，１２２Ａおよび１２２Ｂを、基盤となるハードウェア上で実行される仮想マシンとして、オペレーティングシステムもしくはコンピューティングプラットフォームの１つ以上のサービスとして、および／または、コンピューティングプラットフォームのアプリケーション層における１つ以上の実行可能なプログラムとして、実行してもよい。いくつかの例では、コンピューティングデバイス１０２および１１０は、アプリケーションリポジトリ（たとえば、アプリケーションストア）または他のデータベースからモジュール１２０，１２２Ａおよび１２２Ｂのうちのいずれかをダウンロードしてもよい。いくつかの例では、コンピューティングデバイス１０２および１１０は、生産中、セットアップ中、またはユーザに提供される前に、モジュール１２０，１２２Ａおよび１２２Ｂのうちの１つ以上を予めロードされる。
【００１７】
コンピューティングデバイス１１０がシステムサービスモジュール１２０およびアプリケーションモジュール１２２Ａを含むものとして図１に示されているが、いくつかの例では、それらの機能は、異なった態様でコンピューティングデバイス１０２と１１０との間で分散されてもよい。一例として、コンピューティングデバイス１０２は、システムサービスモジュール１２０の機能のうちの全てまたは一部を含んでもよく、ネットワーク１３０を介して通信して、コンピューティングデバイス１１０に、記載されている技術に係る動的制御要素を含むユーザインターフェイス１１４などのＵＩを出力させてもよい。
【００１８】
「アプリケーションモジュール１２２」と総称されているが、アプリケーションモジュール１２２の各々は、コンピューティングデバイス１１０および１０２のうちの１つでローカルに実行されるかまたはコンピューティングデバイス１１０および１０２のうちの１つからアクセス可能な１つ以上の実行可能なスレッド、サービスまたはアプリケーションパッケージである。アプリケーションモジュール１２２は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組み合わせで実現されてもよい。アプリケーションモジュール１２２の例は、列挙するには多すぎるが、ゲームアプリケーション、通信アプリケーション、生産性アプリケーション、ユーティリティアプリケーション、またはＵＩに動的制御要素を含めたいその他のタイプのアプリケーションが挙げられる。
【００１９】
ユーザインターフェイス１１４は、記載されている技術に係る１つ以上の静的制御要素１１６と１つ以上の動的制御要素１１８とを含む、任意の少なくとも部分的にグラフィカルなユーザインターフェイスである。すなわち、ユーザインターフェイス１１４は、コンピューティングデバイス１１０のホーム画面、コンピューティングデバイス１１０の設定画面、または他のＵＩビューであってもよい。
【００２０】
静的制御要素１１６は、１つ以上のアイコン、ウィジェット、または他のグラフィカル要素を含んでもよく、これらは、ユーザ入力を介して選択されると、コンピューティングデバイス１１０にアプリケーションモジュール１２２のうちの対応する１つの他の機能を起動または実行させる。静的制御要素１１６の各々は、経時的に変化しないそれぞれの一次機能に関連付けられ、場合によっては、経時的に変化し得る１つ以上の二次機能に関連付けられる。たとえば、静的制御要素１１６のうちの１つの一次機能は、ユーザ入力に応答してアプリケーションモジュール１２２のうちの特定の１つを起動するというものであってもよい。アプリケーションに一次機能を実行させるタイプの入力とは異なるタイプのユーザ入力を介して作動される二次機能は、ディープリンク、ショートカット、またはアプリケーションに関連付けられた他の二次動作を実行することを含んでもよい。いくつかの例では、ユーザインターフェイス１１４がユーザインターフェイスの設定領域の一部である場合、静的制御要素１１６は、コンピューティングデバイス１１０の特定の設定（たとえば、スピーカの音量、画面の輝度、機内モード、フラッシュライトモード、または他の設定など）を調整してもよい。静的制御要素１１６の一次機能が経時的に変化しないので、アプリケーションモジュール１２２によってどんなアクティビティまたは動作が実行されていようと、ユーザインターフェイス１１４は同一の静的制御要素１１６を含み得る。
【００２１】
一方、動的制御要素１１８および動的制御要素１１８の機能は、経時的に変化する。たとえば、コンピューティングデバイス１１０は、アプリケーションモジュール１２２のうちのいずれかが時間の経過とともに実行する必要があるさまざまなタイプの機能を処理するように動的制御要素１１８を再構成してもよい。コンピューティングデバイス１１０は、ユーザインターフェイス１１４から必要に応じて／適宜動的制御要素１１８を追加または除去してもよい。すなわち、動的制御要素１１８が提供する機能が経時的に変化し得るだけでなく、ユーザインターフェイス１１４内の動的制御要素１１８の存在は一時的なものであってもよい。なぜなら、コンピューティングデバイス１１０は、コンピューティングデバイス１０２および／または１１０によって実行されているアプリケーションに基づいてユーザインターフェイス１１４から動的制御要素１１８を追加および除去してもよいからである。
【００２２】
動的制御要素１１８は、アプリケーションモジュール１２２によって実行されているユーザ制御可能な動作についての少なくともいくつかの情報を表示する１つ以上の部分１３４を含んでもよく、動的制御要素１１８は、当該ユーザ制御可能な動作を制御するユーザ入力を取得する１つ以上の部分１３２をさらに含んでもよい。一例として、動的制御要素１１８のうちの１つは、アプリケーションモジュール１２２の音楽アプリケーションからの音楽再生を調整する（たとえば、停止する、開始する、一時停止するなど）ための制御要素（たとえば、部分１３２）を含んでもよく、動的制御要素は、現在再生されている歌のタイトルまたはアーティストを示すテキストまたはグラフィカル要素（たとえば、部分１３４）を出力してもよい。
【００２３】
このように動的制御要素１１８をユーザインターフェイス１１４に含めることによって、コンピューティングデバイス１１０は、ユーザインターフェイス１１４から移動して、通常はユーザインターフェイス１１４では制御できないアプリケーションモジュール１２２の現在のアクティビティおよび動作を制御するのに、ユーザ入力を必要としないで済む。したがって、コンピューティングデバイス１１０は、アプリケーションモジュール１２２がコンピューティングデバイス１０２および１１０で実行されるときにアプリケーションモジュール１２２の動作を生じさせるのに必要なユーザ入力が少なくて済み、または少なくともより高速なユーザ入力を可能にし、それによって、コンピューティングデバイス１１０がこれらの減少した入力を処理するために処理しなければならない命令が少なくなるので、コンピューティングデバイス１１０の電力消費量が減少する。
【００２４】
コンピューティングデバイス１１０のシステムサービスモジュール１２０は、ＵＩＣ１１２を制御し、これは、ＵＩＣ１１２が何を表示するか、ならびに、ＵＩＣ１１２とコンピューティングデバイス１０２および１１０の他のアプリケーションまたはコンポーネントとの間でどのような情報がやりとりされるかを判断することを含む。たとえば、システムサービスモジュール１２０は、ユーザインターフェイス１１４を管理してもよく、これは、どの動的要素１１８をユーザインターフェイス１１４に含めるかを判断すること、および、ユーザインターフェイス１１４内のどこに動的要素１１８の各々を設置するかを判断することを含む。
【００２５】
ＵＩＣ１１２が何を表示するかを制御する際、システムサービスモジュール１２０は、ユーザインターフェイス１１４のうちの一部または全ての基礎をなす情報を、アプリケーションモジュール１２２のうちの１つなどのコンピューティングデバイス１０２または１１０のコンポーネントから受信してもよい。これに応答して、システムサービスモジュール１２０は、コンピューティングデバイス１０２または１１０のコンポーネントから受信した情報に従ってＵＩＣ１１２にユーザインターフェイス１１４を表示させる命令および情報をＵＩＣ１１２に出力してもよい。
【００２６】
システムサービスモジュール１２０は、ＵＩＣ１１２によって検出される入力を処理する際、ユーザインターフェイス１１４の要素が表示されるＵＩＣ１１２の表示コンポーネントの場所に対応するＵＩＣ１１２の存在感知入力コンポーネントの場所で入力が検出されたことに応答して、ＵＩＣ１１２から情報を受信してもよい。システムサービスモジュール１２０は、ＵＩＣ１１２によって検出された入力についての情報をコンピューティングデバイス１１０の他のコンポーネントに広めて、当該入力を解釈し、当該入力に応答してコンピューティングデバイス１１０に１つ以上の機能を実行させる。
【００２７】
システムサービスモジュール１２０は、コンピューティングデバイス１１０で実行されるオペレーティングシステムまたは他のアプリケーションの一部であってもよい。システムサービス１２０は、コンピューティングデバイス１１０のオペレーティングシステムから独立してコンピューティングデバイス１１０で実行されるスタンドアロンアプリケーションまたはサブルーチンであってもよい。
【００２８】
動作時、システムサービスモジュール１２０は、ユーザインターフェイス１１４を管理しながら、アプリケーションモジュール１２２のうちの１つによって実行されているユーザ制御可能な動作についての情報を当該アプリケーションモジュール１２２から受信してもよい。たとえば、アプリケーションモジュール１２２Ａのうちの１つは、ＵＩＣ１１２の１つ以上のスピーカに特定の歌の音声を出力させている音楽アプリケーションであってもよい。アプリケーションモジュール１２２Ａからの当該音楽アプリケーションは、当該特定の歌についての情報をシステムサービスモジュール１２０に送ってもよい。音楽アプリケーションがシステムサービスモジュール１２０に送る情報は、システムサービスモジュール１２０に、動的制御要素１１８のうちの１つを特定の歌の出力である音声に対応するユーザインターフェイス１１４に含めさせるための命令またはコマンドを含んでもよい。
【００２９】
システムサービスモジュール１２０がアプリケーションモジュール１２２のうちの１つから受信する情報は、動的制御要素１１８のうちの特定の１つをどのように表示すべきかを規定してもよい。たとえば、当該情報は、動的制御要素１１８のうちの特定の１つに関連付けられたユーザ制御可能な動作についての情報を伝達するために使用される部分１３４のうちのいずれかに何を含めるか、または、何を表示するかについての詳細を含んでもよい。同様に、当該情報は、動的制御要素１１８のうちの特定の１つに関連付けられたユーザ制御可能な動作を制御するためのユーザ入力を受信するために使用される部分１３２のうちのいずれかに何を含めるか、または、何を表示するかについての詳細を含んでもよい。
【００３０】
アプリケーションモジュール１２２のうちの１つによって実行されているユーザ制御可能な動作についての情報を受信したことに応答して、システムサービスモジュール１２０は、アプリケーションモジュール１２２のうちの１つによって実行されているユーザ制御可能な動作に関連付けられた動的制御要素を自動的に生成してもよい。言い換えれば、システムサービスモジュール１２０は、アプリケーションモジュール１２２のうちの１つから受信した情報を処理して、当該アプリケーションモジュールによって実行されている制御可能な動作またはアクティビティに結び付けられたユーザインターフェイス１１４の一部としてグラフィカルな要素を作成してもよい。
【００３１】
たとえば、システムサービスモジュール１２０は、アプリケーションモジュール１２２のうちの１つから受信した情報から、動的制御要素１１８のうちの１つのサイズ、位置、色、形状または他の特性を判断してもよい。当該情報は、システムサービスモジュール１２０によって選択される特定のシンタックスに従って動的制御要素１１８のサイズ、位置、色、形状または他の特性を規定してもよい。少なくとも一部にはアプリケーションモジュール１２２から受信した情報により、動的制御要素１１８が提供する機能が経時的に変化し得るだけでなく、ユーザインターフェイス１１４内の動的制御要素１１８の存在は一時的なものであってもよい。なぜなら、システムサービスモジュール１２０は、コンピューティングデバイス１０２および／または１１０によって実行されているアプリケーションに基づいてユーザインターフェイス１１４から動的制御要素１１８を追加および除去してもよいからである。
【００３２】
いくつかの例では、アプリケーションモジュール１２２のうちの１つから受信した動的制御要素１１８に関する情報は、機能に対する変更を示してもよく、またはユーザインターフェイス１１４内の動的制御要素１１８の存在を変更してもよい。たとえば、システムサービスモジュール１２０は、アプリケーションモジュール１２２のうちの１つから受信した情報から、動的制御要素１１８によって現在サポートされている現在の機能とは異なる、動的制御要素１１８に関連付けられた機能を判断してもよい。これに応答して、システムサービスモジュール１２０は、当該異なる機能を処理するように動的制御要素１１８を再構成してもよい。
【００３３】
いくつかの例では、アプリケーションモジュール１２２のうちの１つから受信した動的制御要素１１８に関する情報は、動的制御要素１１８をユーザインターフェイス１１４に除去または追加する必要性を示してもよい。たとえば、システムサービスモジュール１２０は、アプリケーションモジュール１２２のうちの１つから受信した情報から、ユーザインターフェイス１１４に含めるための代替または追加の動的制御要素１１８を判断してもよい。他の例では、システムサービスモジュール１２０は、動的制御要素のうちのいずれかがもはや不要であるか、またはもはやユーザインターフェイス１１４に関連していないと判断してもよい。いずれの場合にも、システムサービスモジュール１２０は、異なる機能を処理するように、またはコンピューティングデバイス１１０の現在のニーズをよりよくサポートするように、動的制御要素１１８を再構成してもよい。
【００３４】
システムサービスモジュール１２０は、動的制御要素１１８の外観および機能を制御するためのデータをやりとりするように構成された、アプリケーションモジュール１２２に対するアプリケーションプログラミングインターフェイス（ＡＰＩ）などのインターフェイスを提供してもよい。システムサービスモジュール１２０によって提供されるインターフェイスは、システムサービスモジュール１２０が、動的制御要素１１８を規定する情報をアプリケーションモジュール１２２から受信することを可能にし得る。アプリケーションモジュール１２２から受信した情報は、さらに、システムサービスモジュール１２０が、動的制御要素１１８に関連付けられたユーザ入力についての情報をアプリケーションモジュール１２２に送ることを可能にし得る。当該インターフェイスは、システムサービスモジュール１２０とアプリケーションモジュール１２２との間でやりとりされる情報のためのシンタックスを規定してもよい。当該シンタックスは、ハイパーテキストマークアップ言語（ＨＴＭＬ）、アクセラレイテッド・モバイルページ言語（ＡＭＰ）、エクステンシブルマークアップ言語（ＸＭＬ）、または他のマークアップ言語などのマークアップ言語に準拠してもよい。当該シンタックスは、システムサービスによって規定されるメッセージ共有プロトコル（たとえば、標準的な独占的なスキームなど）またはシステムサービスモジュール１２０によって規定されるアプリケーションデータ共有プロトコルに準拠してもよい。
【００３５】
システムサービスモジュール１２０は、動的制御要素１１８と静的制御要素１１６とを含むユーザインターフェイス１１４を表示のために出力してもよい。たとえば、動的制御要素１１８を生成したことに応答して、システムサービスモジュール１２０は、コンピューティングデバイス１１０のユーザがアプリケーションモジュール１２２によって実行される動作に対するユーザインターフェイス１１４からの制御に影響を及ぼすことができるように動的制御要素１１８が部分１３２および１３４を伴って現れるようにする命令をＵＩＣ１１２に送ってもよい。すなわち、ＵＩＣ１１２がユーザインターフェイス１１４を出力している間、ユーザは、動的制御要素１１８のうちの１つに関連付けられたＵＩＣ１１２の存在感知入力コンポーネントに入力を提供してもよい。システムサービスモジュール１２０は、アプリケーションモジュール１２２のうちの１つに提供されたインターフェイスを介して、ユーザ入力についての情報を中継してもよい。そして、アプリケーションモジュール１２２のうちの１つは、ユーザ入力についての情報を処理して、アプリケーションモジュール１２２のうちの１つによって実行される関連付けられた動作を変更または調整してもよい。このようにして、コンピューティングデバイス１１０は、一般にユーザインターフェイス１１４の外側からしか制御できない（たとえば、アプリケーションに特有のユーザインターフェイスを介して制御できる）アプリケーションモジュール１２２によって実行される動作に対する調整または制御を可能にする動的制御要素１１８をユーザインターフェイス１１４内に提供する。言い換えれば、動的制御要素１１８は、システムサービスモジュール１２０が、ユーザインターフェイス１１４を介して、システムサービスモジュール１２０の制御外の動作を制御するための入力を処理することを可能にする。
【００３６】
このように動的制御要素をＵＩに含めることによって、コンピュータ化された腕時計などのコンピューティングデバイスは、複数のウィンドウ、ページ、ビューまたは画面にわたって分散しているＵＩのさまざまな部分間を移動して、システムサービスによって管理されているユーザインターフェイスの制御外の現在のアクティビティおよび動作を制御するのに、ユーザ入力を必要としないで済む。したがって、コンピューティングデバイスは、システムサービスの範囲外で実行されるアプリケーションの動作を生じさせるのに必要なユーザ入力が少なくて済み、または少なくともより高速なユーザ入力を可能にし、それによって、コンピューティングデバイスがこれらの減少した入力を処理するために処理しなければならない命令が少なくなるので、電力消費量が減少する。
【００３７】
図２は、本開示の１つ以上の局面に係る、動的制御要素を有するユーザインターフェイスを表示するように構成されたコンピューティングデバイスの一例を示すブロック図である。図２は、図１の文脈の中で記載されている。たとえば、図２のコンピューティングデバイス２１０は、図１のコンピューティングデバイス１１０の一例である。図２は、コンピューティングデバイス２１０の特定の例を１つだけ示しているが、他の例ではコンピューティングデバイス２１０の多くの他の例が使用されてもよく、コンピューティングデバイス２１０の多くの他の例は、コンピューティングデバイス２１０の一例に含まれるコンポーネントのサブセットを含んでもよく、または図２に不図示の追加のコンポーネントを含んでもよい。
【００３８】
図２の例に示されるように、コンピューティングデバイス２１０は、ユーザインターフェイスコンポーネント（ＵＩＣ）２１２と、１つ以上のプロセッサ２４０と、１つ以上の通信ユニット２４２と、１つ以上の入力コンポーネント２４４と、１つ以上の出力コンポーネント２４６と、１つ以上のストレージコンポーネント２４８とを含む。ＵＩＣ２１２は、出力コンポーネント２０４と、入力コンポーネント２０６とを含む。コンピューティングデバイス２１０のストレージコンポーネント２４８は、システムサービスモジュール２２０と、アプリケーションモジュール２２２Ａ〜２２Ｎ（「アプリケーションモジュール２２２」と総称する）とを含む。システムサービスモジュール２２０は、動的制御要素（ＤＣＥ）モジュール２２６と、アプリケーションプログラミングインターフェイス（ＡＰＩ）モジュール２２４と、ユーザインターフェイス（ＵＩ）モジュール２２８とを含む。
【００３９】
通信チャネル２５０は、コンポーネント間通信のためにコンポーネント２１２，２４０，２４２，２４４，２４６および２４８の各々を（物理的に、通信可能に、および／または、動作可能に）相互接続してもよい。いくつかの例では、通信チャネル２５０は、システムバス、ネットワーク接続、プロセス間通信データ構造、またはその他のデータ通信方法を含んでもよい。
【００４０】
コンピューティングデバイス２１０の１つ以上の通信ユニット２４２は、１つ以上のネットワーク上でネットワーク信号を送信および／または受信することによって、１つ以上の有線および／または無線ネットワークを介して外部デバイスと通信してもよい。通信ユニット２４２の例としては、ネットワークインターフェイスカード（たとえば、イーサネット（登録商標）カードなど）、光トランシーバ、無線周波トランシーバ、ＧＰＳ受信機、または図１のネットワーク１３０などのネットワークを介して情報を送信および／または受信することができるその他のタイプの電気通信デバイスが挙げられる。通信ユニット２４２の他の例としては、短波ラジオ、セルラー音声またはデータラジオ、無線ネットワークラジオ、ユニバーサルシリアルバス（ＵＳＢ）コントローラ、ＶｏＩＰタイプ、ＩＭＳタイプおよびＣＳタイプの電話トランシーバ、ならびに他の電話装置を挙げることができる。
【００４１】
コンピューティングデバイス２１０の１つ以上の入力コンポーネント２４４は、入力を受信してもよい。入力の例は、触覚入力、音声入力および映像入力である。一例では、コンピューティングデバイス２１０の入力コンポーネント２４２は、存在感知入力デバイス（たとえば、タッチ式画面、ＰＳＤ）、マウス、キーボード、音声応答システム、ビデオカメラ、マイク、または人間もしくは機械からの入力を検出するためのその他のタイプのデバイスを含む。いくつかの例では、入力コンポーネント２４２は、１つ以上のセンサコンポーネント、１つ以上の位置センサ（ＧＰＳコンポーネント、Ｗｉ−Ｆｉコンポーネント、セルラーコンポーネント）、１つ以上の温度センサ、１つ以上の動作センサ（たとえば、加速度計、ジャイロ）、１つ以上の圧力センサ（たとえば、気圧計）、１つ以上の環境光センサ、および１つ以上の他のセンサ（たとえば、マイク、カメラ、赤外線近接センサ、湿度計など）を含み得る。他のセンサは、いくつかの他の非限定的な例を挙げると、心拍センサ、磁力計、グルコースセンサ、湿度計センサ、嗅覚センサ、コンパスセンサ、ステップカウンタセンサを含み得る。
【００４２】
コンピューティングデバイス１１０の１つ以上の出力コンポーネント２４６は、出力を生成してもよい。出力の例は、触覚出力、音声出力および映像出力である。一例では、コンピューティングデバイス２１０の出力コンポーネント２４６は、ＰＳＤ、サウンドカード、ビデオグラフィックスアダプタカード、スピーカ、陰極線管（ＣＲＴ）モニタ、液晶ディスプレイ（ＬＣＤ）、または人間もしくは機械への出力を生成するためのその他のタイプのデバイスを含む。
【００４３】
コンピューティングデバイス２１０のＵＩＣ２１２は、コンピューティングデバイス１１０のＵＩＣ１１２と同様であってもよく、出力コンポーネント２０６と入力コンポーネント２０４とを含む。出力コンポーネント２０４は、ＵＩＣ２１２によって情報が表示される画面などの表示コンポーネントであってもよく、入力コンポーネント２０６は、出力コンポーネント２０２でおよび／またはその付近で物体を検出する静電容量センサのタッチなどの存在感知入力コンポーネントであってもよい。出力コンポーネント２０４および入力コンポーネント２０６は、スピーカとマイクとの対、または、入力コンポーネント２４４および出力コンポーネント２４４などの１つ以上の入力および出力コンポーネントのその他の組み合わせであってもよい。図２の例では、ＵＩＣ２１２は、動的制御要素を有するユーザインターフェイス（図１のユーザインターフェイス１１４など）を表示してもよい。
【００４４】
範囲の一例として、存在感知入力コンポーネント２０６は、出力コンポーネント２０４の２インチ以下の範囲内の物体（１本以上の指、スタイラス、または１つ以上の他の入力ユニットなど）を検出してもよい。入力コンポーネント２０６は、物体が検出された出力コンポーネント２０４の場所（たとえば、［ｘ，ｙ］座標）を判断してもよい。範囲の別の例では、入力コンポーネント２０６は、出力コンポーネント２０４から６インチ以下の物体を検出してもよく、他の範囲も可能である。入力コンポーネント２０６は、静電容量技術、誘導技術および／または光学的認識技術を使用して、ユーザの指によって選択された出力コンポーネント２０４の場所を判断してもよい。いくつかの例では、入力コンポーネント２０６は、出力コンポーネント２０４に関して記載したような触刺激、可聴刺激または視覚刺激を使用してユーザに出力も提供する。
【００４５】
コンピューティングデバイス２１０のＵＩＣ２１２は、コンピューティングデバイス２１０のユーザからの入力として二次元および／または三次元ジェスチャを検出してもよい。たとえば、ＵＩＣ２１２のセンサは、ＵＩＣ２１２のセンサの閾値距離の範囲内のユーザの動き（たとえば、１本以上の手、腕、指、他の身体部分、ペン、スタイラスなどを動かすこと）を検出してもよい。ＵＩＣ２１２は、この動きの二次元または三次元ベクトル表現を判断し、このベクトル表現を、複数の次元を有するジェスチャ入力（たとえば、手振り、ピンチ、拍手、ペンストロークなど）に関連付けてもよい。言い換えれば、ＵＩＣ２１２は、ＵＩＣ２１２が表示のために情報を出力する画面もしくは面でまたはその付近でユーザがジャスチャをすることを必要とすることなく多次元ジェスチャを検出することができる。その代わりに、ＵＩＣ２１２は、センサでまたはその付近で実行される多次元ジェスチャを検出することができ、このセンサは、ＵＩＣ２１２が表示のために情報を出力する画面もしくは面の付近に位置している場合もあればそうでない場合もある。
【００４６】
ＵＩＣ２１２は、コンピューティングデバイス２１０の内部コンポーネントとして示されているが、入力および出力を送信および／または受信するためのデータ経路をコンピューティングデバイス２１０と共有する外部コンポーネントであってもよい。たとえば、一例では、ＵＩＣ２１２は、コンピューティングデバイス２１０の外部パッケージング内に位置し、外部パッケージングに物理的に接続されたコンピューティングデバイス２１０の内蔵コンポーネント（たとえば、携帯電話の画面）である。別の例では、ＵＩＣ２１２は、コンピューティングデバイス２１０のパッケージングまたはハウジング外に位置し、パッケージングまたはハウジングから物理的に分離されたコンピューティングデバイス２１０の外部コンポーネント（たとえば、有線および／または無線データ経路をコンピューティングデバイス２１０と共有するモニタ、プロジェクタなど）である。
【００４７】
コンピューティングデバイス２１０内の１つ以上のストレージコンポーネント２４８は、コンピューティングデバイス２１０の動作中に処理するための情報を格納してもよい（たとえば、コンピューティングデバイス２１０は、コンピューティングデバイス２１０での実行中にモジュール２２０，２２２，２２４，２２６および２２８によってアクセスされるデータを格納してもよい）。いくつかの例では、ストレージコンポーネント２４８は一時的なメモリであり、これは、ストレージコンポーネント２４８の主な目的が長期的格納ではないことを意味する。コンピューティングデバイス２１０のストレージコンポーネント２４８は、揮発性メモリとして情報を短期的に格納するように構成されてもよいため、電源がオフにされると、格納された内容を保持することができない。揮発性メモリの例としては、ランダムアクセスメモリ（ＲＡＭ）、ダイナミックランダムアクセスメモリ（ＤＲＡＭ）、スタティックランダムアクセスメモリ（ＳＲＡＭ）、および当該技術分野において公知の他の形態の揮発性メモリが挙げられる。
【００４８】
いくつかの例では、ストレージコンポーネント２４８は、１つ以上のコンピュータ読取可能記憶媒体も含む。いくつかの例では、ストレージコンポーネント２４８は、１つ以上の非一時的なコンピュータ読取可能記憶媒体を含む。ストレージコンポーネント２４８は、一般に揮発性メモリによって格納されるよりも多くの量の情報を格納するように構成されてもよい。さらに、ストレージコンポーネント２４８は、不揮発性メモリスペースとして情報を長期的に格納するように構成されてもよく、電源オン／オフサイクル後も情報を保持してもよい。不揮発性メモリの例としては、磁気ハードディスク、光ディスク、フロッピー（登録商標）ディスク、フラッシュメモリ、または電気的にプログラム可能なメモリ（ＥＰＲＯＭ）もしくは電気的に消去可能およびプログラム可能な（ＥＥＰＲＯＭ）メモリの形態が挙げられる。ストレージコンポーネント２４８は、モジュール２２０，２２２，２２４，２２６および２２８に関連付けられたプログラム命令および／または情報（たとえば、データ）を格納してもよい。ストレージコンポーネント２４８は、モジュール２２０，２２２，２２４，２２６および２２８に関連付けられたデータまたは他の情報を格納するように構成されたメモリを含んでもよい。
【００４９】
１つ以上のプロセッサ２４０は、コンピューティングデバイス２１０に関連付けられた機能を実現してもよく、および／または、コンピューティングデバイス２１０に関連付けられた命令を実行してもよい。プロセッサ２４０の例としては、アプリケーションプロセッサ、ディスプレイコントローラ、補助プロセッサ、１つ以上のセンサハブ、およびプロセッサ、処理ユニットまたは処理デバイスとして機能するように構成されたその他のハードウェアが挙げられる。モジュール２２０，２２２，２２４，２２６および２２８は、コンピューティングデバイス２１０のさまざまなアクション、動作または機能を実行するようにプロセッサ２４０によって動作可能であってもよい。たとえば、コンピューティングデバイス２１０のプロセッサ２４０は、モジュール２２０，２２２，２２４，２２６および２２８に起因する本明細書に記載されている動作をプロセッサ２４０に実行させる、ストレージコンポーネント２４８によって格納されている命令を検索して実行してもよい。これらの命令は、プロセッサ２４０によって実行されると、コンピューティングデバイス２１０に、ストレージコンポーネント２４８内への情報の格納を行わせてもよい。
【００５０】
アプリケーションモジュール２２２は、プロセッサ２４０においてローカルに実行されるか、またはリモートで実行されて少なくとも（たとえば、ネットワーク１３０を介して）コンピューティングデバイス２１０からアクセス可能な、実行ファイル、プログラム、サービスおよびアプリケーションの例である。アプリケーションモジュール２２２は、図１のコンピューティングデバイス１０２および１１０のアプリケーションモジュール１２２の全ての機能を含んでもよく、システムサービスモジュール２２０などの少なくとも１つのシステムサービスと情報をやりとりしてコンピューティングデバイス２１０のユーザインターフェイスに１つ以上の動的制御要素を含めさせるための、アプリケーションモジュール１２２と同様の動作を実行してもよい。具体的には、アプリケーションモジュール２２２は、何を動的制御要素に含めるかを示す情報をシステムサービスモジュール２２０に送ってもよく、動的制御要素に関連付けられたユーザ入力に応答してシステムサービスモジュール２２２から情報を受信してもよい。
【００５１】
システムサービスモジュール２２０は、図１のコンピューティングデバイス１１０のシステムサービスモジュール１２０の全ての機能を含んでもよく、アプリケーションモジュール２２２によって指定された動的制御要素を含むユーザインターフェイス（たとえば、ユーザインターフェイス１１４）を管理するための、システムサービスモジュール１２０と同様の動作を実行してもよい。たとえば、システムサービスモジュール２２０は、アプリケーションモジュール２２２から受信したコマンドまたは命令に基づいてＵＩＣ２１２のための命令またはコマンドを生成して、ＵＩＣ２１２に静的制御要素１１６と動的制御要素１１８とを含むユーザインターフェイス１１４を表示させてもよい。システムサービスモジュール２２０は、コンピューティングデバイス２１０のオペレーティングプラットフォームの一部であってもよく、またはコンピューティングデバイス２１０のオペレーティングプラットフォームに関連付けられてもよい。たとえば、システムサービスモジュール２２０は、コンピューティングデバイス２１０のコンピューティングプラットフォームまたはオペレーティングシステムから分離されたコンピューティングデバイス２１０のモジュールまたはアプリケーションであるのではなく、コンピューティングデバイス２１０のオペレーティングシステムのサブモジュール、サービスまたはアクティビティであってもよい。
【００５２】
システムサービスモジュール２２０のＡＰＩモジュール２２４は、ユーザインターフェイス１１４などのシステムサービスモジュール２２０のＵＩに含まれる動的制御要素の外観および機能を制御するためのデータを処理するように構成されたインターフェイスをアプリケーションモジュール２２２に提供する。すなわち、システムサービスモジュール２２０は、アプリケーションモジュール２２２によって実行されているユーザ制御可能な動作についての情報をＡＰＩモジュール２２４を介してアプリケーションモジュール２２２から受信し、ＵＩＣに当該動作に関連付けられた動的制御要素を表示させてもよい。これに応答して、ユーザ入力がコンピューティングデバイス２１０のユーザインターフェイスの動的制御要素において検出されると、システムサービスモジュール２２０は、動的制御要素に関連付けられたユーザ入力についての情報をＡＰＩモジュール２２４を介してアプリケーションモジュール２２２と共有することにより、アプリケーションモジュール２２２は、アプリケーションモジュール２２２によって実行されているユーザ制御可能な動作に対する調整または変更を判断することができる。このようにして、ＡＰＩモジュール２２４は、アプリケーションモジュール２２２に対して、システムサービスモジュール２２０と直接通信するための固有の方法を提供して、システムサービスモジュール２２０によって制御されるがアプリケーションモジュール２２２の直接制御外であるＵＩに現れる動的制御要素の外観に影響を及ぼす。ＡＰＩモジュール２２４に関連付けられたこの固有の通信インターフェイスは、必要なユーザ入力および対話時間が少ない、より合理的なユーザエクスペリエンスを可能にし得る。システムサービスモジュール２２０のＵＩの外側での移動を必要とするのではなく、ＡＰＩモジュール２２４は、ユーザ対話データをアプリケーションモジュール２２２と共有することを可能にすることにより、アプリケーションモジュール２２２は、システムサービスモジュール２２０の制御外の、動的制御要素に関連付けられた動作を直接制御することができる。
【００５３】
ＡＰＩモジュール２２４を介してやりとりされるデータのタイプの例は多数ある。いくつかの例として、ＡＰＩモジュール２２４は、アプリケーションモジュール２２２のうちの１つに関連付けられたアプリケーションアイコンを指定するデータ、または、アプリケーションモジュール２２２のうちの１つによって実行されている動作の詳細を指定するデータを含む、動的制御要素の外観および機能を制御するためのデータを受信してもよい。動的制御要素の外観および機能を制御するためのデータは、動的制御要素に含まれるグラフィックスまたはテキストを指定してもよい。たとえば、データは、動作が実行されるにつれてグラフィックスまたはテキストが変化することを指定してもよい。いくつかの例では、データは、動的制御要素に含まれる他のグラフィカルな特徴または制御要素を指定してもよい。たとえば、グラフィカルな特徴（たとえば、ボタン、セレクタ、ドングル、または他の要素もしくは制御要素）は、グラフィカルな特徴におけるユーザ入力に応答して、アプリケーションモジュール２２２のうちの１つによって実行される動作に影響を及ぼす。
【００５４】
ＡＰＩモジュール２２４を介してやりとりされるデータのタイプのいくつかのさらなる例として、ＡＰＩモジュール２２４は、ＵＩＣ２１２において検出されるユーザ入力の表示を含むデータ（たとえば、特定の動的制御要素が表示のために出力される出力コンポーネント２０４の表示特徴の場所に対応する入力コンポーネント２０６の存在感知入力特徴の場所で検出されるジェスチャについての情報）をアプリケーションモジュール２２２に送ってもよい。いくつかの例では、ＡＰＩモジュール２２４は、ＵＩＣ２１２または入力コンポーネント２４４のマイクによって検出される音声入力（たとえば、動的制御要素を変更することを意図したユーザからの音声入力）の表示を含むデータをアプリケーションモジュール２２２に送ってもよい。いくつかの例では、ＡＰＩモジュール２２４は、動的制御要素を調整することを意図した、ＵＩＣ２１２または入力コンポーネント２４４のセンサによって検出される触覚入力（たとえば、デバイスの振動、デバイスの回転など）の表示を含むデータをＡＰＩモジュール２２４を介してアプリケーションモジュール２２２に送ってもよい。
【００５５】
さらに、ＡＰＩモジュール２２４は、動的制御要素に関連する更新後の情報をシステムサービスモジュール２２０およびアプリケーションモジュール２２２がやりとりするための方法を提供してもよい。たとえば、ＡＰＩモジュール２２４は、動的制御要素の外観および機能を経時的に変化させるデータに対する更新を経時的に受信してもよい。このような更新は、動的制御要素の外観を変更するためのアプリケーションモジュール２２２からの命令を含んでもよい。このような更新は、アプリケーションモジュール２２２に提供されるフィードバック情報、たとえば動的制御要素とのユーザ対話についての入力情報を含んでもよい。
【００５６】
アプリケーションモジュール２２２およびシステムサービスモジュール２２０は、システムサービスモジュール２２０の外側で実行される動作を変更するために直感的かつ便利な動的制御要素を提供し続ける動的なユーザインターフェイスをコンピューティングデバイス２１０に提供するように、ＡＰＩモジュール２２４を介してやりとりされているデータを必要に応じて定期的に更新してもよい。このような更新は、システム割り込みがシステムサービスモジュール２２０によって生成されたことに応答してもよく、または、このような更新は、更新の利用可能性をシステムサービスモジュール２２０に積極的に知らせるアプリケーションモジュール２２２からのものであってもよい。
【００５７】
いくつかの例では、システムサービスモジュール２２０は、アプリケーションモジュール２２２のうちの１つによって実行されているユーザ制御可能な動作についての情報を要求してもよい。ユーザ制御可能な動作についての初期情報または更新後の情報を要求したことに応答して、システムサービスモジュール２２０は、アプリケーションによって実行されているユーザ制御可能な動作についての情報または更新後の情報をＡＰＩモジュール２２４を介して受信してもよい。他の場合には、このような更新は、アプリケーションモジュール２２２のうちの１つがフラグを設定するかまたはＡＰＩモジュール２２４と直接的または間接的に通信してシステムサービスモジュール２２０に更新を意識させたときに、システムサービスモジュール２２０に積極的に通信されてもよい。
【００５８】
たとえば、ＡＰＩモジュール２２４またはシステムサービスモジュール２２０の他の部分は、（利用可能であれば）初期情報または更新後の情報をＡＰＩモジュール２２４に提供して、いつ完了するかを通知するようにアプリケーションモジュール２２２のうちの１つに合図する割り込みを生成してもよい。ＡＰＩモジュール２２４またはシステムサービスモジュール２２０の他の部分は、動的制御要素に関連付けられた各アプリケーションモジュール２２２を中断して、各アプリケーションモジュール２２２に更新後の情報を提供する機会を与えてもよい。
【００５９】
システムサービスモジュール２２０のＤＣＥモジュール２２６は、ＡＰＩモジュール２２４がアプリケーションモジュール２２２とやりとりする情報に基づいて、システムサービスモジュール２２０によって管理されるユーザインターフェイスに含めるために動的制御要素を自動的に生成する。ＤＣＥモジュール２２６は、システムサービスモジュール２２０を代表して、どのアプリケーションモジュール２２２が管理すべき動的制御要素を有しているかを追跡してもよく、動的制御要素をどこに表示すべきかおよびどのように表示すべきかを指定する情報を維持してもよい。
【００６０】
たとえば、ＡＰＩモジュール２２４がアプリケーションモジュール２２２Ａから情報を受信したことに応答して、ＤＣＥモジュール２２６は、当該情報を処理して、動的制御要素を生成してもよい。ＤＣＥモジュール２２６は、ユーザに出力を伝えるための部分を指定する情報の部分、および、ユーザから入力を受信するための部分を指定する情報の部分を識別してもよい。ＤＣＥモジュール２２６およびアプリケーションモジュール２２２は、データをやりとりするための特定のシンタックスまたはフォーマットを使用してもよい。
【００６１】
データは、動的制御要素の場所、サイズ、色、形状および他の特性を示す特定のパラメータを含んでもよい。他のパラメータは、ＡＰＩモジュール２２４を介して伝えられない他のデータをアプリケーションモジュール２２２が維持しているストレージデバイス２４８のメモリコンポーネント内の場所を含んでもよい。たとえば、パラメータは、ＤＣＥモジュール２２６が、動的制御要素の生成に関連してユーザ入力値を格納したりアプリケーションによって定義される出力値を検索したりするメモリ場所へのポインタを指定してもよい。
【００６２】
いくつかの例では、ＤＣＥモジュール２２６は、動的制御要素テンプレートセットを含む。これらのテンプレートは、１つ以上の出力変数（たとえば、動的制御要素がどのように動作するかを指定する）および１つ以上の入力変数（たとえば、動的制御要素に関連付けられた入力をどのように受信するかを指定する）に関連付けられた１つ以上の予め定義されたフィールドを有してもよい。ＤＣＥモジュール２２６がＡＰＩモジュール２２４から受信する情報に基づいて、ＤＣＥモジュール２２６は、アプリケーションモジュール２２２のうちの特定の１つに関連付けられた特定のテンプレートのフィールドを投入して、アプリケーションモジュール２２２のうちの当該特定の１つの動作を制御するための動的制御要素を生成してもよい。
【００６３】
ＤＣＥモジュール２２６は、システムサービスモジュール２２０によって現在管理されている全ての動的制御要素の記録を維持してもよい。たとえば、動的制御要素を生成したことに応答して、ＤＣＥモジュール２２６は、動的制御要素またはアプリケーションのうちの少なくとも１つの識別子を記録に追加してもよい。当該識別子は、アプリケーション名、アプリケーションモジュール２２２のうちの１つのための数値識別子、アプリケーション開発者、アプリケーションカテゴリ、またはアプリケーションモジュール２２２のうちの１つについての他の識別情報を含んでもよい。
【００６４】
ＤＣＥモジュール２２６は、ＡＰＩモジュール２２４とアプリケーションモジュール２２２との間でやりとりされているトラフィックをモニタリングして、いずれの動的制御要素も廃止されているまたはもはや不要であるか否かを判断してもよい。たとえば、ＤＣＥモジュール２２６は、フラグ、コマンド、変数値、または動作がもはや実行されていないことを示す、アプリケーションモジュール２２２からのデータ内の他の表示を識別してもよい。
【００６５】
アプリケーションモジュール２２２からＡＰＩモジュール２２４を介して取得した情報に基づいて、ＤＣＥモジュール２２６は、特定の動的制御要素に関連して、アプリケーションモジュール２２２のうちの１つによって実行されているユーザ制御可能な動作が完了したか否かを判断してもよい。たとえば、ＤＣＥモジュール２２６は、動作がもはや実行されていないことを示すアプリケーションモジュール２２２からのデータ内の表示を識別したことに応答して、動作の状態変化を反映するように記録を更新してもよい。言い換えれば、アプリケーションモジュール１２２のうちの１つによって実行されているユーザ制御可能な動作が完了した、中断された、または停止されたと判断したことに応答して、ＤＣＥモジュール２２６は、動的制御要素をユーザインターフェイス１１４から除去するようにシステムサービスモジュール２２０（たとえば、ＵＩモジュール２２８）に指示してもよい。ＤＣＥモジュール２２６は、動的制御要素またはアプリケーションモジュール２２２のうちの１つのうちの少なくとも１つの識別子を動的制御要素の記録から除去してもよい。
【００６６】
いくつかの例では、ＤＣＥモジュール２２６は、ＡＰＩモジュール２２４を介して取得した情報に基づいて、動的制御要素に割り当てられるシステムサービスモジュール２２０のユーザインターフェイスのそれぞれの部分のサイズまたは位置を判断してもよい。言い換えれば、いくつかの動的制御要素は、異なる特性（たとえば、サイズ、色、形状、回転など）を有してもよく、これらの特性は、ＡＰＩモジュール２２４を介してアプリケーションモジュール２２２によって共有されるデータによって定義される。
【００６７】
ＡＰＩモジュール２２４がシステムサービスモジュール２２０とアプリケーションモジュール２２２との間のデータ転送を処理し、ＤＣＥモジュール２２６がアプリケーションモジュール２２２に関連付けられた動的制御要素を管理して追跡している間、ＵＩモジュール２２８は、システムサービスモジュール２２０によって提供されるＵＩ全体を管理する。すなわち、ＵＩモジュール２２８は、システムサービスモジュール２２０のＵＩに含めるために利用できるさまざまな動的制御要素についての、ＤＣＥモジュール２２６から受信する情報に依拠し、当該情報を使用して動的制御要素のためのＵＩ内の空間を割り当てる。
【００６８】
ＵＩモジュール２２８は、ＵＩの静的制御要素または他の特徴の位置決めなどのＵＩの他の要素の配置を検討して処理しながら、動的制御要素のための空間を割り当てる。たとえば、ＡＰＩモジュール２２４がアプリケーションモジュール２２２のうちの１つによって実行されているユーザ制御可能な動作についての情報を受信する前に、ＵＩモジュール２２８は、１つ以上の静的制御要素（たとえば、システム状態情報を表示するため、および、通常はシステムサービスモジュール２２０のＵＩに含まれる他の情報を表示するための静的制御要素１１６）を表示するためにＵＩＣ２１２の出力コンポーネント２０４の表示特徴の一部を確保または割り当ててもよい。これに対して、アプリケーションモジュール２２２のうちの１つによって実行されているユーザ制御可能な動作についての情報を受信したことに応答して、および、ＤＣＥモジュール２２６がユーザ制御可能な動作のための動的制御要素を動的に生成したことに応答して、ＵＩモジュール２２８は、当該動的制御要素のためにシステムサービスモジュール２２０のＵＩのそれぞれの部分を動的に割り当てまたは確保してもよい。ＵＩにおける雑然とした状態またはユーザの混乱を最小化するために、いくつかの例では、ＵＩモジュール２２８は、動的制御要素に割り当てられるシステムサービスモジュール２２０のＵＩのそれぞれの部分が、静的制御要素およびＵＩの他の特徴に既に割り当てられている他の領域とは異なることを確実にしてもよい。言い換えれば、ＵＩモジュール２２８は、システムサービスモジュール１２０の制御外の特定のアプリケーションモジュール２２２によって実行されている動作をユーザがどのように調整し得るかをＵＩの動的制御要素がユーザにはっきりと示すことを確実にしてもよい。
【００６９】
ＵＩモジュール２２８は、システムサービスモジュール２２０が単一のＵＩにおける複数の動的制御要素を処理することを可能にしてもよい。動的制御要素の各々は、単一のアプリケーションまたは複数のアプリケーションに関連付けられてもよい。
【００７０】
たとえば、アプリケーションモジュール２２２からの第１のアプリケーションに関連付けられた動的制御要素をＵＩ内に表示した後、ＡＰＩモジュール２２４は、アプリケーションモジュール２２２からの第２のアプリケーション（第２のアプリケーションは第１のアプリケーションとは異なる）から、第２のアプリケーションによって実行されているユーザ制御可能な動作についての情報を受信してもよい。第２のアプリケーションによって実行されているユーザ制御可能な動作についての情報を受信したことに応答して、ＤＣＥモジュール２２６は、第２の動的制御要素を自動的に生成してもよく、第２の動的制御要素は、第２のアプリケーションによって実行されているユーザ制御可能な動作に関連付けられる。ＵＩモジュール２２８は、ＵＩＣ２１２に、第１の動的制御要素と、第２の動的制御要素と、第２の動的制御要素が生成される前にＵＩに含まれていた１つ以上の静的制御要素または他の要素とを含む更新後のＵＩを表示のために出力させてもよい。
【００７１】
図３および図４は、本開示の１つ以上の局面に係る、動的制御要素を有するユーザインターフェイスの一例を示す概念図である。図３および図４の各々は、図１のシステム１００の文脈の中で記載されている。
【００７２】
図３は、図１からのユーザインターフェイス１１４の一例としてユーザインターフェイス３１４を含む。ユーザインターフェイス３１４は、コンピューティングデバイス１１０などのコンピューティングデバイスのユーザインターフェイスの設定メニューまたは設定画面の一部として表示されてもよい。たとえば、コンピューティングデバイス１１０は、ＵＩＣ２１２に、コンピューティングデバイス１１０の基礎をなすオペレーティングシステムの設定メニューの一部として表示するためにユーザインターフェイス３１４を出力させてもよい。
【００７３】
ユーザインターフェイス３１４は、静的制御要素３１６Ａ〜３１６Ｊ（まとめて「静的制御要素３１６」）を含む。静的制御要素３１６の各々は、経時的に変化しないそれぞれの機能に関連付けられてもよい。たとえば、ユーザによって選択されると、静的制御要素３１６Ａは、コンピューティングデバイス１１０に完全なまたはより詳細な設定メニューの起動を行わせてもよく、静的制御要素３１６Ｂは、コンピューティングデバイス１１０にフラッシュライトモードなどへの移行を行わせてもよい。静的制御要素３１６が自動的には経時的に変化しないので、コンピューティングデバイス１１０において実行されているかまたはコンピューティングデバイス１１０と通信しているアプリケーションによってどんなアクティビティまたは動作が実行されていようと、コンピューティングデバイス１１０は実質的に同一の静的制御要素３１６をユーザインターフェイス３１４内に含み得る。
【００７４】
ユーザインターフェイス３１４は、状態インジケータ３３６をさらに含む。状態インジケータは、状態インジケータ３３６の各々がユーザインターフェイス３１４の複数の画面にわたって持続し得るのに対して静的制御要素３１６がそうではないという点以外は、静的制御要素３１６と同様である。
【００７５】
ユーザインターフェイス３１４は、動的制御要素３１８Ａおよび３１８Ｂ（まとめて「動的制御要素３１８」）をさらに含む。静的制御要素３１６とは異なって、動的制御要素３１８は、たとえばアプリケーションが時間の経過とともに実行する必要があるさまざまなタイプの機能を処理するために、経時的に変化する。たとえば、ユーザによって選択されると、動的制御要素３１８Ａは、コンピューティングデバイス１１０に、コンピューティングデバイス１１０において実行されているかまたはコンピューティングデバイス１１０と通信しているアプリケーションのアラームまたはタイマ特徴の制御を行わせてもよい。一方、動的制御要素３１８Ｂがユーザによって選択されると、動的制御要素３１８Ｂは、コンピューティングデバイス１１０に、コンピューティングデバイス１１０において実行されているかまたはコンピューティングデバイス１１０と通信しているアプリケーションによって再生されている音楽の制御を行わせてもよい。
【００７６】
動的制御要素３１８の各々の中には、少なくとも、アプリケーションによって実行されているユーザ制御可能な動作についての情報の少なくとも一部を表示する第１の部分と、ユーザ制御可能な動作を制御するユーザ入力を取得する第２の部分とがある。たとえば、アプリケーションによって実行されているユーザ制御可能な動作についての情報の少なくとも一部を表示する部分に関して、動的制御要素３１８Ａはアプリケーションアイコン３３２Ａを含み、動的制御要素３１８Ｂはアプリケーションアイコン３３２Ｂを含む。アプリケーションアイコン３３２Ａおよび３３２Ｂの各々は、特定のアプリケーションまたは特定のアプリケーションによって実行されている特定の動作に関連付けられる。たとえば、アプリケーションアイコン３３２Ａはストップウォッチアイコンであり、アプリケーションアイコン３３２Ｂは音楽アイコンである。
【００７７】
いくつかの例では、アプリケーションアイコン３３２Ａおよび３３２Ｂは、たとえば実行されている動作が変化すると変化し得る。たとえば、アプリケーションアイコン３３２Ａは、動的制御要素３１８Ａに関連付けられたアプリケーションが動作を変化させると、ストップウォッチアイコンからアラームクロックアイコンに変化し得る。
【００７８】
いくつかの例では、動的制御要素３１８Ａおよび３１８Ｂは、アプリケーションによって実行されている動作が実行されるにつれて変化するテキストまたは他のグラフィカルな特徴を含む。たとえば、動的制御要素３１８Ａは、現在の時刻を示すテキスト出力３３４Ａを含み、動的制御要素３１８Ｂは、現在の歌についての詳細な情報を示すスクロールテキストを含む。
【００７９】
ユーザ制御可能な動作を制御するユーザ入力を取得する第２の部分に関して、動的制御要素３１８Ａは入力特徴３３０Ａを含み、動的制御要素３１８Ｂは入力特徴３３０Ｂを含む。入力特徴３３０Ａおよび３３０Ｂは、アプリケーションの動作を調整するための限定的な制御要素を含んでもよい。具体的には、ユーザが入力特徴３３０Ａを選択すると、コンピューティングデバイス１１０は、動的制御要素３１８Ａに関連付けられたタイマアプリケーションに、タイマを一時停止または停止させてもよい。一方、ユーザが入力特徴３３０Ｂを選択すると、コンピューティングデバイス１１０は、動的制御要素３１８Ｂに関連付けられた音楽アプリケーションに、歌を一時停止または停止させてもよい。
【００８０】
図３に示されるように動的制御要素３１８Ａおよび３１８Ｂを設定ＵＩの一部に含めることによって、コンピューティングデバイスの一例は、ユーザインターフェイス３１４から移動して、ユーザインターフェイス３１４の制御外のアプリケーションによって実行されている現在のアクティビティおよび動作を制御するのに、ユーザ入力を必要としないで済む。したがって、コンピューティングデバイス１１０は、ユーザインターフェイス３１４の外側で実行されるアプリケーションの動作を生じさせるのに必要なユーザ入力が少なくて済み、または少なくともより高速なユーザ入力を可能にし、それによって、コンピューティングデバイス１１０がこれらの減少した入力を処理するために処理しなければならない命令が少なくなるので、電力消費量が減少する。
【００８１】
図４は、図１からのユーザインターフェイス１１４の一例としてユーザインターフェイス４１４を含む。ユーザインターフェイス４１４は、コンピューティングデバイス１１０などのコンピューティングデバイスのウォッチフェイスとして表示されてもよい。たとえば、コンピューティングデバイス１１０は、主にコンピューティングデバイス１１０のユーザが時刻を確認できるようにするために、ＵＩＣ１１２に、表示のためにユーザインターフェイス４１４を出力させてもよい。
【００８２】
ユーザインターフェイス４１４は、静的制御要素４１６を含む。静的制御要素３１６の各々と同様に、静的制御要素４１６は、経時的に変化しない特定の機能に関連付けられる。たとえば、ユーザによって選択されると、静的制御要素４１６は、コンピューティングデバイス１１０に、メッセージングアプリケーションのユーザインターフェイスの起動を行わせてもよい。他の例では、ユーザインターフェイス４１４は、静的制御要素４１６の他に、追加の静的制御要素を含む。
【００８３】
ユーザインターフェイス４１４は、状態インジケータ４３６をさらに含む。状態インジケータ４３６は、状態インジケータ３３６と同等である。状態インジケータ４３６の各々は、ユーザインターフェイス４１４の複数の画面にわたって持続し得るのに対して、静的制御要素４１６はそうではない。
【００８４】
ユーザインターフェイス４１４は、動的制御要素４１８をさらに含む。静的制御要素４１６とは異なって、動的制御要素４１８は、たとえばアプリケーションが時間の経過とともに実行する必要があるさまざまなタイプの機能を処理するために、経時的に変化する。たとえば、ユーザによって選択されると、動的制御要素４１８は、コンピューティングデバイス１１０に、コンピューティングデバイス１１０において実行されているかまたはコンピューティングデバイス１１０と通信しているアプリケーションの目覚まし時計またはスヌーズ特徴の停止を行わせてもよい。
【００８５】
動的制御要素４１８内には、少なくとも、アプリケーションによって実行されているユーザ制御可能な動作についての情報の少なくとも一部を表示する第１の部分と、ユーザ制御可能な動作を制御するユーザ入力を取得する第２の部分とがある。たとえば、動的制御要素４１８は、アプリケーションアイコン４３２，すなわち目覚まし時計アイコンを含む。いくつかの例では、アプリケーションアイコン４３２は、たとえば実行されている動作が変化すると変化し得る。たとえば、アプリケーションアイコン４３２は、動的制御要素４１８に関連付けられたアプリケーションがアラームからストップウォッチ機能に変化すると、目覚まし時計アイコンからストップウォッチアイコンに変化し得る。動的制御要素４１８は、スヌーズ時間の現在の残量を示すテキスト出力４３４をさらに含む。
【００８６】
動的制御要素４１８は、入力特徴４３０をさらに含む。入力特徴４３０は、アプリケーションの動作を調整するための制御要素を含んでもよい。具体的には、ユーザが入力特徴４３０を選択すると、コンピューティングデバイス１１０は、動的制御要素４１８に関連付けられた目覚まし時計アプリケーションに、目覚まし時計（または、さらにスヌーズ）を停止させてもよい。
【００８７】
図４に示されるように動的制御要素４１８をウォッチフェイスＵＩの一部に含めることによって、コンピューティングデバイスの一例は、ユーザインターフェイス４１４から移動して、ユーザインターフェイス４１４の制御外のアプリケーションによって実行されている現在のアクティビティおよび動作を制御するのに、ユーザ入力を必要としないで済む。したがって、コンピューティングデバイス１１０は、ユーザインターフェイス４１４の外側で実行されるアプリケーションの動作を生じさせるのに必要なユーザ入力が少なくて済み、または少なくともより高速なユーザ入力を可能にし、それによって、コンピューティングデバイス１１０がこれらの減少した入力を処理するために処理しなければならない命令が少なくなるので、電力消費量が減少する。
【００８８】
図５は、本開示の１つ以上の局面に係る、動的制御要素を有するユーザインターフェイスを表示するように構成されたコンピューティングデバイスの一例によって実行される動作の例を示すフローチャートである。図５は、図１の文脈の中で記載されている。たとえば、動作５００〜５９０は、コンピューティングデバイス１０２，１１０またはそれらの組み合わせによって実行されてもよい。動作５００〜５９０は、異なる順序で実行されてもよく、または図５に示されている動作と比較して追加のもしくはより少ない動作で実行されてもよい。
【００８９】
本開示の技術に従って、コンピューティングデバイス１１０は、動的制御要素の外観および機能を制御するためのデータをやりとりするように構成されたインターフェイスを提供してもよい（５００）。たとえば、システムサービスモジュール１２０は、ＡＰＩを提供し、当該ＡＰＩを介して、アプリケーションモジュール１２２Ａおよびシステムサービスモジュール１２０は、動的制御要素１１８の機能および／または外観を変更するための情報をやりとりすることができる。
【００９０】
コンピューティングデバイス１１０は、アプリケーションによって実行されているユーザ制御可能な動作についての情報をインターフェイスを介して受信してもよい（５１０）。たとえば、システムサービスモジュール１２０は、とりわけ動的制御要素に含めるためのグラフィカルな特徴またはダイナミックテキストと、当該動的制御要素の機能または動作を制御するための１つ以上の入力特徴とを示すデータを、ＡＰＩを介して、コンピューティングデバイス１１０において実行されているアプリケーションから受信してもよい。
【００９１】
コンピューティングデバイス１１０は、動作および／またはアプリケーションのための識別子を既存の動的制御要素の記録に追加してもよい（５２０）。たとえば、システムサービスモジュール１２０は、ユーザインターフェイス１１４に現在含まれている全ての動的制御要素のリストまたは他の記録を維持してもよい。システムサービスモジュール１２０は、リスト内の項目を、コンピューティングデバイス１１０がステップ５１０を実行したときに受信したデータに関連付けられた動作および／またはアプリケーションに割り当ててもよい。
【００９２】
コンピューティングデバイス１１０は、アプリケーションによって実行されているユーザ制御可能な動作に関連付けられた動的制御要素を自動的に生成してもよい（５３０）。たとえば、システムサービスモジュール１２０は、ＡＰＩを介して受信したデータを処理して、動的制御要素１１８のうちの１つを生成してもよく、動的制御要素１１８のうちの１つは、アプリケーションによって実行されているユーザ制御可能な動作についての情報の少なくとも一部を表示する部分１３４（たとえば、アプリケーションアイコン、動的更新テキストなど）と、ユーザ制御可能な動作を制御するユーザ入力を取得する部分１３２（たとえば、ソフトボタン、セレクタまたは他の入力特徴）とを含む。
【００９３】
コンピューティングデバイス１１０は、表示のためにユーザインターフェイスを出力してもよく、ユーザインターフェイスは、動的制御要素と、少なくとも１つのシステムサービスによって実行されている動作を制御するための１つ以上の静的制御要素とを含む（５４０）。たとえば、コンピューティングデバイス１１０は、ＵＩＣ１１２に、動的制御要素１１８と静的制御要素１１６とを含むユーザインターフェイス１１４を表示させてもよい。
【００９４】
コンピューティングデバイス１１０は、アプリケーションによって実行されているユーザ制御可能な動作についての情報に対する更新をインターフェイスを介して受信してもよい（５５０）。ユーザ制御可能な動作についての情報に対する更新を受信したことに応答して（５６０においてＹＥＳ）、コンピューティングデバイス１１０は、ステップ５３０および５４０に戻って、当該更新に基づいて動的制御要素およびユーザインターフェイスを更新してもよい。ユーザ制御可能な動作についての情報に対する更新を受信しなかったことに応答して（５６０においてＮＯ）、コンピューティングデバイス１１０は、動作が完了していることを示す表示をインターフェイスを介して最終的に受信してもよい（５７０）。たとえば、動的制御要素１１８のうちの１つに関連付けられたアプリケーションは、アプリケーションがもはや動作を実行していないことをシステムサービスモジュール１２０に示すメッセージをＡＰＩを介して送ってもよい。
【００９５】
コンピューティングデバイス１１０は、既存の動的制御要素の記録から識別子を除去し（５８０）、ユーザインターフェイスから動的制御要素を除去してもよい（５９０）。たとえば、システムサービスモジュール１２０は、アプリケーションによってもはや実行されていない動作に関連付けられた動的制御要素を除去するように、既存の動的制御要素のリストを更新してもよい。システムサービスモジュール１２０は、記録から除去される動的制御要素を除去することによってＵＩＣ１１２にユーザインターフェイス１１４を更新させる命令をＵＩＣ１１２に送る。
【００９６】
第１項
方法であって、
コンピュータ化された腕時計において実行される少なくとも１つのシステムサービスが、アプリケーションから、前記アプリケーションによって実行されているユーザ制御可能な動作についての情報を受信するステップと、
前記アプリケーションによって実行されている前記ユーザ制御可能な動作についての前記情報を受信したことに応答して、前記少なくとも１つのシステムサービスが、前記アプリケーションによって実行されている前記ユーザ制御可能な動作に関連付けられた動的制御要素を自動的に生成するステップとを備え、前記動的制御要素は、
少なくとも前記アプリケーションによって実行されている前記ユーザ制御可能な動作についての前記情報の一部を表示する第１の部分と、
前記ユーザ制御可能な動作を制御するユーザ入力を取得する第２の部分とを含み、
前記方法はさらに、
前記少なくとも１つのシステムサービスが、表示のためにユーザインターフェイスを出力するステップを備え、前記ユーザインターフェイスは、前記動的制御要素と、前記少なくとも１つのシステムサービスによって実行されている動作を制御する１つ以上の静的制御要素とを含む、方法。
【００９７】
第２項
前記少なくとも１つのシステムサービスが、前記動的制御要素の外観および機能を制御するためのデータをやりとりするように構成されたインターフェイスを前記アプリケーションに提供するステップをさらに備え、
前記アプリケーションによって実行されている前記ユーザ制御可能な動作についての前記情報を受信するステップは、前記動的制御要素の外観および機能を制御するための前記データとして、前記アプリケーションによって実行されている前記ユーザ制御可能な動作についての前記情報を前記インターフェイスを介して受信するステップを備える、第１項に記載の方法。
【００９８】
第３項
前記動的制御要素の外観および機能を制御するための前記データは、
前記アプリケーションまたは前記アプリケーションによって実行されている前記動作に関連付けられたアプリケーションアイコン、
前記動的制御要素に含まれ、前記アプリケーションによって実行されている前記動作が実行されるにつれて変化する、テキスト、または
前記動的制御要素に含まれ、前記アプリケーションによって実行されている前記動作が実行されるにつれて変化する、グラフィカルな特徴、のうちの少なくとも１つを備える、第２項に記載の方法。
【００９９】
第４項
前記動的制御要素の外観および機能を制御するための前記データは、
前記動的制御要素が表示のために出力されるディスプレイデバイスの場所に対応する存在感知入力デバイスの場所で検出されるジェスチャの表示、
前記コンピュータ化された腕時計のマイクによって検出される音声入力の表示、または
前記コンピュータ化された腕時計のセンサによって検出される触覚入力の表示、のうちの少なくとも１つを備える、第２項または第３項のいずれか１項に記載の方法。
【０１００】
第５項
前記動的制御要素の外観および機能を経時的に変化させる、前記動的制御要素の外観および機能を制御するための前記データに対する更新を前記インターフェイスを介して受信するステップをさらに備える、第２項〜第４項のいずれか１項に記載の方法。
【０１０１】
第６項
前記更新は、前記動的制御要素の前記外観を変更するための前記アプリケーションからの命令を含むか、または
前記更新は、前記動的制御要素とのユーザ対話についての前記少なくとも１つのシステムサービスからの入力情報を含むかのうちの少なくとも１つである、第５項に記載の方法。
【０１０２】
第７項
前記アプリケーションによって実行されている前記ユーザ制御可能な動作についての前記情報を受信するステップの前に、前記少なくとも１つのシステムサービスが、前記ユーザインターフェイスのそれぞれの部分を前記１つ以上の静的制御要素の各々に割り当てるステップと、
前記アプリケーションによって実行されている前記ユーザ制御可能な動作についての前記情報を受信したことにさらに応答して、前記動的制御要素を動的に生成した後に、前記少なくとも１つのシステムサービスが、前記ユーザインターフェイスのそれぞれの部分を前記動的制御要素に動的に割り当てるステップとをさらに備え、
前記動的制御要素に割り当てられる前記ユーザインターフェイスの前記それぞれの部分は、前記１つ以上の静的制御要素の各々に割り当てられる前記ユーザインターフェイスの前記それぞれの部分とは異なる、第１項〜第６項のいずれか１項に記載の方法。
【０１０３】
第８項
前記少なくとも１つのシステムサービスが、前記アプリケーションによって実行されている前記ユーザ制御可能な動作についての前記情報に基づいて、前記動的制御要素に割り当てられる前記ユーザインターフェイスの前記それぞれの部分のサイズまたは位置を判断するステップをさらに備える、第７項に記載の方法。
【０１０４】
第９項
前記動的制御要素を生成したことに応答して、前記少なくとも１つのシステムサービスが、前記少なくとも１つのシステムによって維持されている全ての動的制御の記録に、前記動的制御要素または前記アプリケーションのうちの少なくとも１つの識別子を追加するステップと、
前記少なくとも１つのシステムサービスが、前記アプリケーションによって実行されている前記ユーザ制御可能な動作が完了したか否かを判断するステップと、
前記アプリケーションによって実行されている前記ユーザ制御可能な動作が完了したと判断したことに応答して、前記少なくとも１つのシステムサービスが、前記ユーザインターフェイスから前記動的制御要素を除去するステップと、
前記少なくとも１つのシステムサービスが、前記少なくとも１つのシステムによって維持されている動的制御の前記記録から、前記動的制御要素または前記アプリケーションのうちの少なくとも１つの前記識別子を除去するステップとをさらに備える、第１項〜第８項のいずれか１項に記載の方法。
【０１０５】
第１０項
前記アプリケーションによって実行されている前記ユーザ制御可能な動作についての前記情報を受信するステップは、
前記少なくとも１つのシステムサービスが、前記アプリケーションによって実行されている前記ユーザ制御可能な動作についての前記情報を前記アプリケーションから要求するステップと、
前記アプリケーションによって実行されている前記ユーザ制御可能な動作についての前記情報を要求したことに応答して、前記アプリケーションによって実行されている前記ユーザ制御可能な動作についての前記情報を受信するステップとを備える、第１項〜第９項のいずれか１項に記載の方法。
【０１０６】
第１１項
前記アプリケーションは、前記コンピュータ化された腕時計において実行される第１のアプリケーションであり、前記動的制御要素は、第１の動的制御要素であり、前記方法はさらに、
前記少なくとも１つのシステムサービスが、前記コンピュータ化された腕時計において実行される第２のアプリケーションから、前記第２のアプリケーションによって実行されているユーザ制御可能な動作についての情報を受信するステップを備え、前記第２のアプリケーションは、前記第１のアプリケーションとは異なり、前記方法はさらに、
前記第２のアプリケーションによって実行されている前記ユーザ制御可能な動作についての前記情報を受信したことに応答して、前記少なくとも１つのシステムサービスが、第２の動的制御要素を自動的に生成するステップを備え、前記第２の動的制御要素は、前記第２のアプリケーションによって実行されている前記ユーザ制御可能な動作に関連付けられ、前記方法はさらに、
前記少なくとも１つのシステムサービスが、表示のために更新後のユーザインターフェイスを出力するステップを備え、前記更新後のユーザインターフェイスは、前記第１の動的制御要素と、前記第２の動的制御要素と、前記複数の静的制御要素とを含む、第１項〜第１０項のいずれか１項に記載の方法。
【０１０７】
第１２項
前記アプリケーションは、タイマアプリケーションであり、
前記ユーザ制御可能な動作についての前記情報は、タイマカウントダウンを備え、
前記動的制御要素は、前記タイマカウントダウンのテキストと、前記タイマカウントダウンを停止するための選択可能な要素とを備える、第１項〜第１１項のいずれか１項に記載の方法。
【０１０８】
第１３項
前記アプリケーションは、メディア再生アプリケーションであり、
前記ユーザ制御可能な動作についての前記情報は、現在のメディア選択についての識別情報を備え、
前記動的制御要素は、前記現在のメディア選択についての前記識別情報の自動スクロールテキストを備える、第１項〜第１１項のいずれか１項に記載の方法。
【０１０９】
第１４項
コンピューティングデバイスであって、
少なくとも１つのシステムサービスに関連付けられた命令を格納するように構成されたメモリと、
第１項〜第１３項に記載の方法のいずれかを実行するために、前記少なくとも１つのシステムサービスに関連付けられた前記命令を実行するように構成された少なくとも１つのプロセッサとを備える、コンピューティングデバイス。
【０１１０】
第１５項
実行されるとコンピューティングデバイスの少なくとも１つのプロセッサに第１項〜第１３項に記載の方法のいずれかを実行させる命令を備えるコンピュータ読取可能記憶媒体。
【０１１１】
第１６項
第１項〜第１３項に記載の方法のいずれかを実行するための手段を備えるシステム。
【０１１２】
限定としてではなく一例として、このようなコンピュータ読取可能記憶媒体は、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、ＣＤ−ＲＯＭもしくは他の光ディスクストレージ、磁気ディスクストレージ、または他の磁気ストレージデバイス、フラッシュメモリ、または、所望のプログラムコードを命令もしくはデータ構造の形態で格納するのに使用可能であり、コンピュータによってアクセス可能なその他の記憶媒体を備え得る。また、いかなる接続もコンピュータ読取可能媒体と呼ぶにふさわしい。たとえば、同軸ケーブル、光ファイバケーブル、ツイストペア、デジタル加入者線（ＤＳＬ）、または無線技術（赤外線、無線およびマイクロ波など）を使用して、ウェブサイト、サーバまたは他のリモートソースから命令が送信される場合には、これらの同軸ケーブル、光ファイバケーブル、ツイストペア、ＤＳＬ、または無線技術（赤外線、無線およびマイクロ波など）は、媒体に定義に含まれる。しかし、コンピュータ読取可能記憶媒体およびメディアおよびデータ記憶媒体は、接続、搬送波、信号または他の一時的な媒体を含むのではなく、その代わりに非一時的な有形の記憶媒体に向けられる、ということが理解されるべきである。本明細書におけるディスク（ｄｉｓｋおよびｄｉｓｃ）は、コンパクトディスク（ＣＤ）、レーザディスク、光ディスク、デジタル多用途ディスク（ＤＶＤ）、フロッピーディスクおよびブルーレイディスクを含み、ｄｉｓｋは通常磁気的にデータを再生するのに対して、ｄｉｓｃはレーザにより光学的にデータを再生する。上記の組み合わせもコンピュータ読取可能媒体の範囲内に含まれるべきである。
【０１１３】
命令は、１つ以上のプロセッサ（１つ以上のデジタル信号プロセッサ（ＤＳＰ）、汎用マイクロプロセッサ、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルロジックアレイ（ＦＰＧＡ）、または他の等価の集積回路もしくはディスクリート論理回路など）によって実行されてもよい。したがって、本明細書における「プロセッサ」という表現は、本明細書に記載されている技術の実現に適した上記の構造またはその他の構造を指してもよい。また、いくつかの例では、本明細書に記載されている機能は、専用のハードウェアおよび／またはソフトウェアモジュール内に設けられてもよい。また、これらの技術は、１つ以上の回路または論理要素において完全に実現されてもよい。
【０１１４】
本開示の技術は、無線ハンドセット、集積回路（ＩＣ）またはＩＣセット（たとえば、チップセット）を含む多種多様なデバイスまたは装置において実現されてもよい。開示されている技術を実行するように構成されたデバイスの機能的局面を強調するようにさまざまなコンポーネント、モジュールまたはユニットが本開示に記載されているが、必ずしもさまざまなハードウェアユニットによる実現を必要とするものではない。それどころか、上記のように、さまざまなユニットは、ハードウェアユニットにおいて組み合わせられてもよく、または、好適なソフトウェアおよび／もしくはファームウェアと連携して、上記の１つ以上のプロセッサを含む相互動作可能なハードウェアユニットの集合体によって提供されてもよい。
【０１１５】
さまざまな実施形態について説明してきた。これらのおよび他の実施形態は、以下の特許請求の範囲の範囲内である。
【図１】
2021523426.tif 000003
【図２】
2021523426.tif 000004
【図３】
2021523426.tif 000005
【図４】
2021523426.tif 000006
【図５】
2021523426.tif 000007
【手続補正書】
【提出日】令和2年11月6日(2020.11.6)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
方法であって、
コンピュータ化された腕時計において実行される少なくとも１つのシステムサービスが、現在実行されているアプリケーションから、前記アプリケーションによって実行されているユーザ制御可能な動作についての情報を受信するステップと、
前記アプリケーションによって実行されている前記ユーザ制御可能な動作についての前記情報を受信したことに応答して、前記少なくとも１つのシステムサービスが、前記アプリケーションによって実行されている前記ユーザ制御可能な動作に関連付けられた動的制御要素を自動的に生成するステップとを備え、前記動的制御要素は、
少なくとも前記アプリケーションによって実行されている前記ユーザ制御可能な動作についての前記情報のサブセットを表示する第１の部分と、
前記ユーザ制御可能な動作を制御するユーザ入力を取得する第２の部分とを含み、
前記方法はさらに、
前記少なくとも１つのシステムサービスが、表示のためにユーザインターフェイスを出力するステップを備え、前記ユーザインターフェイスは、前記動的制御要素と、前記少なくとも１つのシステムサービスによって実行されている動作を制御する１つ以上の静的制御要素とを含む、方法。
【請求項２】
前記少なくとも１つのシステムサービスが、前記動的制御要素の外観および機能を制御するためのデータをやりとりするように構成されたインターフェイスを前記アプリケーションに提供するステップをさらに備え、
前記アプリケーションによって実行されている前記ユーザ制御可能な動作についての前記情報を受信するステップは、前記動的制御要素の外観および機能を制御するための前記データとして、前記アプリケーションによって実行されている前記ユーザ制御可能な動作についての前記情報を前記インターフェイスを介して受信するステップを備える、請求項１に記載の方法。
【請求項３】
前記動的制御要素の外観および機能を制御するための前記データは、
前記アプリケーションまたは前記アプリケーションによって実行されている前記動作に関連付けられたアプリケーションアイコン、
前記動的制御要素に含まれ、前記アプリケーションによって実行されている前記動作が実行されるにつれて変化する、テキスト、または
前記動的制御要素に含まれ、前記アプリケーションによって実行されている前記動作が実行されるにつれて変化する、グラフィカルな特徴、のうちの少なくとも１つを備える、請求項２に記載の方法。
【請求項４】
前記動的制御要素の外観および機能を制御するための前記データは、
前記動的制御要素が表示のために出力されるディスプレイデバイスの場所に対応する存在感知入力デバイスの場所で検出されるジェスチャの表示、
前記コンピュータ化された腕時計のマイクによって検出される音声入力の表示、または
前記コンピュータ化された腕時計のセンサによって検出される触覚入力の表示、のうちの少なくとも１つを備える、請求項２または３のいずれか１項に記載の方法。
【請求項５】
前記動的制御要素の外観および機能を経時的に変化させる、前記動的制御要素の外観および機能を制御するための前記データに対する更新を前記インターフェイスを介して受信するステップをさらに備える、請求項２〜４のいずれか１項に記載の方法。
【請求項６】
前記更新は、前記動的制御要素の前記外観を変更するための前記アプリケーションからの命令を含むか、または
前記更新は、前記動的制御要素とのユーザ対話についての前記少なくとも１つのシステムサービスからの入力情報を含むかのうちの少なくとも１つである、請求項５に記載の方法。
【請求項７】
前記アプリケーションによって実行されている前記ユーザ制御可能な動作についての前記情報を受信するステップの前に、前記少なくとも１つのシステムサービスが、前記ユーザインターフェイスのそれぞれの部分を前記１つ以上の静的制御要素の各々に割り当てるステップと、
前記アプリケーションによって実行されている前記ユーザ制御可能な動作についての前記情報を受信したことにさらに応答して、前記動的制御要素を動的に生成した後に、前記少なくとも１つのシステムサービスが、前記ユーザインターフェイスのそれぞれの部分を前記動的制御要素に動的に割り当てるステップとをさらに備え、
前記動的制御要素に割り当てられる前記ユーザインターフェイスの前記それぞれの部分は、前記１つ以上の静的制御要素の各々に割り当てられる前記ユーザインターフェイスの前記それぞれの部分とは異なる、請求項１〜６のいずれか１項に記載の方法。
【請求項８】
前記少なくとも１つのシステムサービスが、前記アプリケーションによって実行されている前記ユーザ制御可能な動作についての前記情報に基づいて、前記動的制御要素に割り当てられる前記ユーザインターフェイスの前記それぞれの部分のサイズまたは位置を判断するステップをさらに備える、請求項７に記載の方法。
【請求項９】
前記動的制御要素を生成したことに応答して、前記少なくとも１つのシステムサービスが、前記少なくとも１つのシステムによって維持されている全ての動的制御の記録に、前記動的制御要素または前記アプリケーションのうちの少なくとも１つの識別子を追加するステップと、
前記少なくとも１つのシステムサービスが、前記アプリケーションによって実行されている前記ユーザ制御可能な動作が完了したか否かを判断するステップと、
前記アプリケーションによって実行されている前記ユーザ制御可能な動作が完了したと判断したことに応答して、前記少なくとも１つのシステムサービスが、前記ユーザインターフェイスから前記動的制御要素を除去するステップと、
前記少なくとも１つのシステムサービスが、前記少なくとも１つのシステムによって維持されている動的制御の前記記録から、前記動的制御要素または前記アプリケーションのうちの少なくとも１つの前記識別子を除去するステップとをさらに備える、請求項１〜８のいずれか１項に記載の方法。
【請求項１０】
前記アプリケーションによって実行されている前記ユーザ制御可能な動作についての前記情報を受信するステップは、
前記少なくとも１つのシステムサービスが、前記アプリケーションによって実行されている前記ユーザ制御可能な動作についての前記情報を前記アプリケーションから要求するステップと、
前記アプリケーションによって実行されている前記ユーザ制御可能な動作についての前記情報を要求したことに応答して、前記アプリケーションによって実行されている前記ユーザ制御可能な動作についての前記情報を受信するステップとを備える、請求項１〜９のいずれか１項に記載の方法。
【請求項１１】
前記アプリケーションは、前記コンピュータ化された腕時計において実行される第１のアプリケーションであり、前記動的制御要素は、第１の動的制御要素であり、前記方法はさらに、
前記少なくとも１つのシステムサービスが、前記コンピュータ化された腕時計において実行される第２のアプリケーションから、前記第２のアプリケーションによって実行されているユーザ制御可能な動作についての情報を受信するステップを備え、前記第２のアプリケーションは、前記第１のアプリケーションとは異なり、前記方法はさらに、
前記第２のアプリケーションによって実行されている前記ユーザ制御可能な動作についての前記情報を受信したことに応答して、前記少なくとも１つのシステムサービスが、第２の動的制御要素を自動的に生成するステップを備え、前記第２の動的制御要素は、前記第２のアプリケーションによって実行されている前記ユーザ制御可能な動作に関連付けられ、前記方法はさらに、
前記少なくとも１つのシステムサービスが、表示のために更新後のユーザインターフェイスを出力するステップを備え、前記更新後のユーザインターフェイスは、前記第１の動的制御要素と、前記第２の動的制御要素と、前記複数の静的制御要素とを含む、請求項１〜１０のいずれか１項に記載の方法。
【請求項１２】
前記アプリケーションは、タイマアプリケーションであり、
前記ユーザ制御可能な動作についての前記情報は、タイマカウントダウンを備え、
前記動的制御要素は、前記タイマカウントダウンのテキストと、前記タイマカウントダウンを停止するための選択可能な要素とを備える、請求項１〜１１のいずれか１項に記載の方法。
【請求項１３】
前記アプリケーションは、メディア再生アプリケーションであり、
前記ユーザ制御可能な動作についての前記情報は、現在のメディア選択についての識別情報を備え、
前記動的制御要素は、前記現在のメディア選択についての前記識別情報の自動スクロールテキストを備える、請求項１〜１１のいずれか１項に記載の方法。
【請求項１４】
前記アプリケーションは、前記コンピュータ化された腕時計の１つ以上のプロセッサまたは前記コンピュータ化された腕時計とは異なるコンピューティングデバイスの少なくとも１つのプロセッサにおいて現在実行されている、請求項１〜１１のいずれか１項に記載の方法。
【請求項１５】
コンピューティングデバイスであって、
少なくとも１つのシステムサービスに関連付けられた命令を格納するように構成されたメモリと、
請求項１〜１４のいずれか１項に記載の方法を実行するために、前記少なくとも１つのシステムサービスに関連付けられた前記命令を実行するように構成された少なくとも１つのプロセッサとを備える、コンピューティングデバイス。
【請求項１６】
実行されるとコンピューティングデバイスの少なくとも１つのプロセッサに請求項１〜１４のいずれか１項に記載の方法を実行させる命令を備えるコンピュータプログラム。
【国際調査報告】
2021523426.tif 000008
2021523426.tif 000009
2021523426.tif 000010