(57)【要約】  様々な実施形態が、関連するアプリケーション（すなわち「アプリ」）の透過的なインストールを可能にするように構成されたアプリケーションハイパーリンクを提供する。アプリハイパーリンクは、ウェブプラットフォームまたはオペレーティングシステムが、プラットフォーム・アプリ・ストアからアプリケーションイメージをダウンロードし、アプリケーションをインストールし、プロセスについての視覚フィードバックをユーザーに提供し、完了すると、「アプリ切り替え」または同様の操作を行うことによってアプリケーションを呼び出すようにするために、選択されることが可能である視覚表示を提供する。
2016521879.tif 000002
【特許請求の範囲】
【請求項１】
コンピューティングデバイスで第１のアプリケーションを実行するステップと、
第２のアプリケーションへの視覚リンクを取得するステップと、
前記第１のアプリケーション内に前記視覚リンクをレンダリングするステップと、
前記視覚リンクの選択を受信するステップと、
前記視覚リンクの選択を受信することに応答して、前記第２のアプリケーションと関連するアプリケーションパッケージのダウンロードを要求するステップと、
前記アプリケーションパッケージを受信するステップと、
前記アプリケーションパッケージを前記コンピューティングデバイスにインストールするステップと、
前記第１のアプリケーションから前記第２のアプリケーションへ自動的に切り替わるステップと
を含む、コンピューターにより実施される方法。
【請求項２】
前記要求するステップが、前記第２のアプリケーションの以前にインストールされたバージョンのバージョン番号を含めるステップを含む、請求項１に記載のコンピューターにより実施される方法。
【請求項３】
前記要求するステップが、前記第２のアプリケーションの以前にインストールされたバージョンのバージョン番号を含めるステップを含む、請求項１に記載のコンピューターにより実施される方法。
【請求項４】
取得する、レンダリングする、選択を受信する、要求する、前記アプリケーションパッケージを受信する、インストールする、および自動的に切り替わるという行為が、オペレーティングシステムによって行われる、請求項１に記載のコンピューターにより実施される方法。
【請求項５】
取得する、レンダリングする、選択を受信する、要求する、前記アプリケーションパッケージを受信する、インストールする、および自動的に切り替わるという行為が、オペレーティングシステム以外のソフトウェアによって行われる、請求項１に記載のコンピューターにより実施される方法。
【請求項６】
前記インストールするステップが、前記第２のアプリケーションの視覚的なしるし(indicia)を前記コンピューティングデバイスのスタート画面またはタスクバーに置くことなく行われる、請求項１に記載のコンピューターにより実施される方法。
【請求項７】
前記要求するステップが、アプリストア(app store)からの前記アプリケーションパッケージのダウンロードを要求するステップを含む、請求項１に記載のコンピューターにより実施される方法。
【請求項８】
前記アプリケーションパッケージを受信する前記ステップ、および前記アプリケーションパッケージをインストールする前記ステップが、関連するユーザーを前記第２のアプリケーションが入手される関連するアプリストアへナビゲートさせることなく行われる、請求項１に記載のコンピューターにより実施される方法。
【請求項９】
前記第２のアプリケーションが、個人がネットワークを通じて電話をかけられるようにする通信アプリケーションを含む、請求項１に記載のコンピューターにより実施される方法。
【請求項１０】
コンピューター可読命令を組み入れた１つまたは複数のコンピューター可読記憶メモリであって、前記コンピューター可読命令が実行されると、
コンピューティングデバイスで第１のアプリケーションを実行するステップと、
第２のアプリケーションへの視覚リンクを取得するステップと、
前記第１のアプリケーション内に前記視覚リンクをレンダリングするステップと、
前記視覚リンクの選択を受信するステップと、
前記視覚リンクの選択を受信することに応答して、前記第２のアプリケーションと関連するアプリケーションパッケージのダウンロードを要求するステップと、
前記アプリケーションパッケージを受信するステップと、
前記アプリケーションパッケージを前記コンピューティングデバイスにインストールするステップと、
前記第１のアプリケーションから前記第２のアプリケーションへ自動的に切り替わるステップと
を含む方法を実施し、
前記アプリケーションパッケージを受信する前記ステップ、および前記アプリケーションパッケージをインストールする前記ステップが、関連するユーザーを前記第２のアプリケーションが入手される関連するアプリストアへナビゲートさせることなく行われ、
前記第２のアプリケーションが、個人がネットワークを通じて電話をかけられるようにする通信アプリケーションを含む、コンピューター可読記憶メモリ。
【発明の詳細な説明】
【技術分野】
【０００１】
本願発明の一実施例は、例えば、ウェブページからのアプリケーションの呼び出しまたは他のアプリケーションの呼び出しに関する。
【背景技術】
【０００２】
[0001]今日、ウェブは、ハイパーリンクの使用により、ウェブページからウェブページへ移動するための非常に簡単なモデルを提供している。ユーザーがハイパーリンクをクリックすると、ブラウザは新しいコンテンツを自動的にフェッチし、ユーザーのためにこれをレンダリングする。このコンテンツは、簡単なウェブページから、ＧｍａｉｌまたはＯｕｔｌｏｏｋなどの本格的なアプリケーションまで、何でも含むことができる。
【０００３】
[0002]モバイルクライアントおよび最近のオペレーティングシステムについて、業界は、ウェブページの代わりにアプリケーション（「アプリ（ａｐｐ）」としても知られる）の使用が急増すると見ている。しかしながら、アプリには、ウェブページにはある主要な特徴のいくつかがない。詳細には、アプリにはハイパーリンクの概念がない。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
本願発明の一実施例は、例えば、ウェブページからのアプリケーションの呼び出しまたは他のアプリケーションの呼び出しに関する。
【課題を解決するための手段】
【０００５】
[0003]この発明の概要は、以下の発明を実施するための形態にさらに記載する概念の抜粋を簡略化して紹介するために提供される。この発明の概要は、特許請求される主題の主要な特徴または本質的特徴を特定しようとするものではない。
【０００６】
[0004]様々な実施形態が、アプリケーション（すなわち「アプリ」）ハイパーリンクを提供する。アプリハイパーリンクは、関連するアプリケーションの透過的なインストールを可能にするように構成される。
【０００７】
[0005]１つまたは複数の実施形態では、アプリハイパーリンクは、ウェブサイト開発者またはアプリ開発者がそのサイトまたはアプリケーションに含めることができる小さな埋め込み可能なコードである。アプリハイパーリンクは、選択した結果、たとえばこのアプリハイパーリンクをクリックした、またはタッチした結果の視覚表示をユーザーに提供するために、ウェブブラウザ、またはオペレーティングシステムなどのウェブプラットフォームによってレンダリングされる。ユーザーがアプリハイパーリンクを選択すると、ブラウザまたはオペレーティングシステムは、プラットフォーム・アプリ・ストアからアプリケーションイメージをダウンロードし、アプリケーションをインストールし、プロセスについての視覚フィードバックをユーザーに提供し、完了すると、「アプリ切り替え」または同様の操作を行うことによってアプリケーションを呼び出す。
【０００８】
[0006]少なくともいくつかの実施形態では、技術的にはアプリはユーザーのシステムに現在「インストールされて」いるが、ユーザーのスタートメニューまたはホーム画面にアイコンは残されていない。その結果、ユーザーがこのアプリケーションを終了する場合、ユーザーに可視的な痕跡（visible trace）が残されない。ユーザーは、当然ながら、プラットフォーム上のアプリストアを訪れ、アプリを検索し、これを見つけ、これを「インストールする」ことを選ぶことができる。このような場合、キャッシュされたアプリイメージがまだ最新である場合、ダウンロードおよびインストールプロセスはスキップされることが可能であり、代わりにアプリのアイコンが、このとき初めてユーザーのホーム画面に置かれる。
【０００９】
[0007]添付の図面に関して、詳細な説明を行う。図では、参照番号の最も左の桁（複数桁を含む）は、その参照番号が最初に表示された図を識別する。説明および図において異なる事例で同じ参照番号を使用して、同様のまたは同一の項目を示すことができる。
【図面の簡単な説明】
【００１０】
【図１】[0008]１つまたは複数の実施形態に従った例示的実施の環境を示す図である。
【図２】[0009]図１に示す例示的実施のシステムをより詳細に示す図である。
【図３】[0010]１つまたは複数の実施形態に従った例示的なシステムアーキテクチャを示す図である。
【図４】[0011]１つまたは複数の実施形態に従った例示的なユーザーインターフェースを示す図である。
【図５】[0012]１つまたは複数の実施形態に従った例示的なユーザーインターフェースを示す図である。
【図６】[0013]１つまたは複数の実施形態に従った方法におけるステップを説明する流れ図である。
【図７】[0014]本明細書に記載する様々な実施形態を実施するために使用され得る例示的なコンピューティングデバイスを示す図である。
【発明を実施するための形態】
【００１１】
概要
[0015]今日、ユーザーが、１つのアプリ（またはウェブサイト）を訪れながら、リンクをクリックし、ただ１回のクリックでアプリがアプリストアから自動的にフェッチされ、ダウンロードされ、インストールされ、次いで呼び出されるようにすることは、現在のところ可能ではない。最近のオペレーティングシステムはアプリＵＲＬを提供するが、これらのＵＲＬは一般に、ユーザーをアプリストアに連れて行き、ユーザーが「インストール」をさらにクリックし、次いでアプリケーションを起動するためにもう一度クリックすることを要求する。これらのさらなるクリックは、アプリ間をシームレスに移動することに対する妨げとなっている。さらに、アプリストアからアプリをインストールすると、一般的にユーザーのスタート画面にアイコンを残し、したがって、本質的に、あるレベルの関与（commitment）または永続性（permanence）を要する。
【００１２】
[0016]一方、ハイパーリンクは、ユーザーがサイトからサイトへ移動できるようにし、訪問に永続性はない。ユーザーはサイトをお気に入りに登録することができ、コンテンツはキャッシュされ得るが、サイトを訪問することへの永続的な影響はない。
【００１３】
[0017]その結果、ハイパーリンクの概念なしでは、アプリケーション間の移動は困難であり、コンテンツからコンテンツへ素早く移動する手段、コンテンツを共有する手段、およびコンテンツをバイラルに広める手段としてのウェブ上のハイパーリンクの能力は、アプリエコシステムに欠けている。
【００１４】
[0018]様々な実施形態が、アプリケーション（すなわち「アプリ」）ハイパーリンクを提供する。アプリハイパーリンクは、関連するアプリケーションの透過的なインストールおよび実行を可能にするように構成される。
【００１５】
[0019]１つまたは複数の実施形態では、アプリハイパーリンクは、ウェブサイト開発者またはアプリ開発者がそのサイトまたはアプリケーションに含めることができる小さな埋め込み可能なコードである。アプリハイパーリンクは、選択した結果、たとえばこのアプリハイパーリンクをクリックした、またはタッチした結果の視覚表示をユーザーに提供するために、ウェブブラウザ、またはオペレーティングシステムなどのウェブプラットフォームによってレンダリングされる。ユーザーがアプリハイパーリンクを選択すると、ブラウザまたはオペレーティングシステムは、プラットフォーム・アプリ・ストアからアプリケーションイメージをダウンロードし、アプリケーションをインストールし、プロセスについての視覚フィードバックをユーザーに提供し、完了すると、「アプリ切り替え」または同様の操作を行うことによってアプリケーションを呼び出す。
【００１６】
[0020]少なくともいくつかの実施形態では、技術的にはアプリはユーザーのシステムに現在「インストールされて」いるが、ユーザーのスタートメニューまたはホーム画面にアイコンは残されていない。その結果、ユーザーがこのアプリケーションを終了する場合、ユーザーに可視的な痕跡が残されない。ユーザーは、当然ながら、その後プラットフォーム上のアプリストアを訪れ、アプリを検索し、これを見つけ、これを「インストールする」ことを選ぶことができる。このような場合、キャッシュされたアプリイメージがまだ最新である場合、ダウンロードおよびインストールプロセスはスキップされることが可能であり、代わりにアプリのアイコンが、このとき初めてユーザーのホーム画面に置かれる。
【００１７】
[0021]上述のように、ウェブプラットフォームは、ウェブのコンテンツ、たとえば公開コンテンツと関連して機能するプラットフォームである。ウェブプラットフォームは、限定ではなく例として、ＵＲＬ、ＨＴＴＰ、ＲＥＳＴ、ＨＴＭＬ、ＣＳＳ、ＪａｖａＳｃｒｉｐｔ（登録商標）、ＤＯＭ、ならびの他の技術などの多くの異なるタイプの技術を含み、利用することができる。ウェブプラットフォームは、ＸＭＬ、ＪＳＯＮなどの様々なデータフォーマットで機能することもできる。ウェブプラットフォームは、ウェブブラウザ、ユーザーのローカルコンピューティングデバイスでインストールされ、実行されることが可能であるＷｉｎｄｏｗｓ（登録商標）ストアアプリケーションなどのローカルアプリケーションなどを含むことができる。
【００１８】
[0022]次の説明では、最初に、本明細書に記載する技法を使用するよう機能する例示的環境について述べる。次いで、例示的な環境ならびに他の環境で使用され得る、様々な実施形態の例示的な説明について述べる。したがって、例示的な環境は、記載する実施形態を行うことに限定されず、記載する実施形態は、例示的な環境における実施に限定されない。
例示的な動作環境
[0023]図１は、この文書に記載する技法を使用するように動作することができる例示的な実施における環境１００の図である。図示した環境１００は、様々な方法で構成され得るコンピューティングデバイス１０２の一例を含む。たとえば、コンピューティングデバイス１０２は、図２に関してさらに述べるように、伝統的なコンピューター（たとえば、デスクトップパーソナルコンピュータ、ラップトップコンピューターなど）、移動局、エンターテイメント機器（entertainment appliance）、テレビに通信可能に接続されたセットトップボックス、無線電話、ネットブック、ゲーム機、ハンドヘルドデバイスなどとして構成され得る。したがって、コンピューティングデバイス１０２は、かなりのメモリおよびプロセッサリソースを有する十分なリソースのデバイス（たとえば、パーソナルコンピューター、ゲーム機）から、限られたメモリおよび／または処理リソースを有する低リソースのデバイス（たとえば、伝統的なセットトップボックス、ハンドヘルドのゲーム機）におよぶことがある。コンピューティングデバイス１０２はまた、コンピューティングデバイス１０２に以下に記載するような１つまたは複数の動作を行わせるソフトウェアを含む。
【００１９】
[0024]コンピューティングデバイス１０２はまた、ウェブプラットフォーム１０４を含む。上記のように、ウェブプラットフォームは、ウェブのコンテンツ、たとえばウェブページなどの公開コンテンツと関連して機能する。ウェブプラットフォームは、限定ではなく例として、ＵＲＬ、ＨＴＴＰ、ＲＥＳＴ、ＨＴＭＬ、ＣＳＳ、ＪａｖａＳｃｒｉｐｔ（登録商標）、ＤＯＭなどの多くの異なるタイプの技術を含み、利用することができる。ウェブプラットフォームは、ＸＭＬ、ＪＳＯＮなどの様々なデータフォーマットで機能することもできる。ウェブプラットフォームは、ウェブブラウザ、Ｗｉｎｄｏｗｓ（登録商標）ストアアプリケーションなどのローカルアプリケーションを含むことができる。
【００２０】
[0025]コンピューティングデバイス１０２はまた、１本または複数の指によって行われ得る入力ポインタージェスチャーを認識し、ジェスチャーに対応する動作またはアクションが行われるようにするジェスチャーモジュール１０５を含む。ジェスチャーは、様々な異なる方法でモジュール１０５によって認識されてもよい。たとえば、ジェスチャーモジュール１０５は、タッチスクリーン機能、またはたとえば近接場技術（near field technology）を使用してディスプレイデバイス１０８に必ずしも物理的に触れているとは限らないユーザーの指の接近を感知する機能を使用して、コンピューティングデバイス１０２のディスプレイデバイス１０８の近くにあるユーザーの手１０６ａの指などのタッチ入力を認識するように構成されてもよい。モジュール１０５は、１本指のジェスチャーおよびベゼルジェスチャー、複数指／同じ手のジェスチャーおよびベゼルジェスチャー、ならびに／または複数指／異なる手のジェスチャーおよびベゼルジェスチャーを認識するように利用され得る。
【００２１】
[0026]コンピューティングデバイス１０２はまた、コンピューティングデバイス上で実行するために呼び出すことができる１つまたは複数のアプリケーション１０６を含む。任意の適切なタイプのアプリケーションが提供され得る。これらのアプリケーションは、さらなるアプリケーションが呼び出されることを可能にするアプリケーションハイパーリンクを含むことができる。アプリハイパーリンクは、関連するアプリケーションの透過的なインストールを可能にするように構成される。
【００２２】
[0027]１つまたは複数の実施形態では、アプリハイパーリンクは、ウェブサイト開発者またはアプリ開発者がそのサイトまたはアプリケーションに含めることができる小さな埋め込み可能なコードである。アプリハイパーリンクは、選択した結果、たとえばこのアプリハイパーリンクをクリックしたまたはタッチした結果のユーザーへの視覚表示を提供するために、ウェブブラウザ、またはオペレーティングシステムなどのウェブプラットフォーム１０４によってレンダリングされることが可能である。ユーザーがアプリハイパーリンクを選択すると、ブラウザまたはオペレーティングシステムは、プラットフォーム・アプリ・ストアからアプリケーションイメージをダウンロードし、アプリケーションをインストールし、プロセスについての視覚フィードバックをユーザーに提供し、完了すると、「アプリ切り替え」または同様の操作を行うことによってアプリケーションを呼び出す。
【００２３】
[0028]少なくともいくつかの実施形態では、技術的にはアプリはユーザーのシステムに現在「インストールされて」いるが、ユーザーのスタートメニューまたはホーム画面にアイコンは残されていない。その結果、ユーザーがこのアプリケーションを終了する場合、ユーザーに可視的な痕跡が残されない。ユーザーは、当然ながら、プラットフォーム上のアプリストアを訪れ、アプリを検索し、これを見つけ、これを「インストールする」ことを選ぶことができる。このような場合、キャッシュされたアプリイメージがまだ最新である場合、ダウンロードおよびインストールプロセスはスキップされることが可能であり、代わりにアプリのアイコンが、このとき初めてユーザーのホーム画面に置かれる。
【００２４】
[0029]したがって、アプリハイパーリンクは、次の特徴の１つまたは複数と関連して利用され得る。
・  オペレーティングシステムまたはウェブブラウザは、アプリの透過的なインストールおよび起動を可能にするために選択可能であるアプリハイパーリンクと関連するイメージまたはアイコンをレンダリングすることができる。
・  アプリと関連するイメージまたはアイコンは、ウェブブラウザまたはオペレーティングシステムにクラウド内の適切なアプリストアと取引（transact）させ、したがってアプリのために適切なイメージを検索することによって入手され得る。
・  イメージまたはアイコンは、たとえば、アプリによって提供される機能と関連するイメージなど、アプリプロバイダからのコンテンツを含むことができる。
・  オペレーティングシステムまたはウェブブラウザは、アプリハイパーリンクがクリックされると、アプリを自動的にダウンロードし、インストールすることができ、ユーザーをアプリストアにナビゲートさせて、結局、アプリを取得するために様々なオプションを選択してクリックスルー（click through）しなければならないプログレッシブユーザーインターフェース体験をさせる結果となることはない。
・  アプリは、ユーザーのスタート画面またはタスクバーに視覚的なしるし（visual indicia）、たとえばタイルまたはアイコンを置くことなく、自動的にダウンロードされ、インストールされ得る。
・  次にユーザーが、たとえばアプリストアでアプリを選択することによってアプリを選択するとき、プロセスが回避されるように、ダウンロードされたアプリは、キャッシュされ得る。
・  キャッシュされたアプリのバージョンは、アプリストアサービスに問い合わせることによって旧式化（obsolescence）していないかをチェックされ得る。アプリが旧式である場合、アプリの現在のバージョンがユーザーのデバイスに提供され得る。
【００２５】
[0030]コンピューティングデバイス１０２はまた、タッチ入力と（たとえば、ユーザーの手１０６ａの１本または複数の指によって提供される）、スタイラス入力（たとえば、スタイラス１１６によって提供される）とを検出し、区別するように構成され得る。区別は、ユーザーの手１０６ａの指によって接触されるディスプレイデバイス１０８の量対スタイラス１１６によって接触されるディスプレイデバイス１０８の量を検出することによるなど、様々な方法で行われ得る。
【００２６】
[0031]したがって、ジェスチャーモジュール１０５は、スタイラスとタッチ入力との区分の認識および活用（leverage）、ならびに異なるタイプのタッチ入力および非タッチ入力により様々な異なるジェスチャー技法をサポートすることができる。
【００２７】
[0032]図２は、図１に関して説明するような、コンピューティングデバイス１０２を含んだ例示的なシステム２００を示す。例示的なシステム２００は、パーソナルコンピューター（ＰＣ）、テレビ装置、および／またはモバイルデバイスでアプリケーションを実行するときのシームレスなユーザー体験のためのユビキタス環境を可能にする。サービスおよびアプリケーションは、アプリケーションを使用しながら、ビデオゲームをしながら、ビデオを観ながら、その他を行いながら、１つのデバイスから次のデバイスに移行するときの共通のユーザー体験のために３つのすべての環境において実質的に同様に動作する。
【００２８】
[0033]例示的システム２００では、複数のデバイスが、中央コンピューティングデバイスを介して相互接続される。中央コンピューティングデバイスは、複数のデバイスにローカルにあってもよい、または複数のデバイスからリモートに位置していても良い。１つの実施形態では、中央コンピューティングデバイスは、１つまたは複数のサーバーコンピューターのクラウドであってもよい。これらのコンピューターは、ネットワーク、インターネット、または他のデータ通信リンクを介して複数のデバイスに接続され得る。１つの実施形態では、この相互接続アーキテクチャにより、機能が複数のデバイスにわたって配信されて、共通の、シームレスな体験を複数のデバイスのユーザーに提供することが可能となる。複数のデバイスのそれぞれが、異なる物理的要件および能力を有することができ、中央コンピューティングデバイスは、デバイスに適合され、なおかつすべてのデバイスに共通のデバイスへの体験の配信を可能にするためにプラットフォームを使用する。１つの実施形態では、ターゲットデバイスのクラスが作成され、体験は、デバイスの汎用クラスに適合される。デバイスのクラスが、デバイスの物理的特徴、使用のタイプ、または他の共通の特徴によって定義されてもよい。
【００２９】
[0034]様々な実施において、コンピューティングデバイス１０２は、コンピューター２０２用途、モバイル２０４用途、およびテレビ２０６用途など、様々な異なる構成を仮定することができる。これらの構成のそれぞれが、一般的に異なる構造および能力を有することができるデバイスを含み、したがって、コンピューティングデバイス１０２は、異なるデバイスクラスの１つまたは複数に従って構成され得る。たとえば、コンピューティングデバイス１０２は、パーソナルコンピューター、デスクトップコンピューター、マルチ画面コンピューター、ラップトップコンピューター、ネットブックなどを含むデバイスのコンピューター２０２クラスとして実施され得る。これらの異なる構成のそれぞれが、上記および下記のとおり、ウェブプラットフォーム、たとえばウェブブラウザを使用することができる。
【００３０】
[0035]コンピューティングデバイス１０２はまた、携帯電話、携帯音楽プレーヤー、携帯ゲーム機、タブレットコンピューター、マルチ画面コンピューターなどのモバイルデバイスを含むデバイスのモバイル２０４クラスとして実施され得る。コンピューティングデバイス１０２はまた、日常的な視聴環境において一般的により大きい画面を有するまたはこれに接続されたデバイスを含む、デバイスのテレビ２０６クラスとして実施され得る。これらのデバイスは、テレビ、セットトップボックス、ゲーム機などを含む。本明細書に記載する技法は、コンピューティングデバイス１０２のこれらの様々な構成によってサポートされることが可能であり、本明細書に記載する技法の特定の例に限定されない。
【００３１】
[0036]クラウド２０８は、コンテンツサービス２１２のためのプラットフォーム２１０を含むおよび／またはこれを表わすものである。プラットフォーム２１０は、クラウド２０８のハードウェア（たとえば、サーバー）およびソフトウェアリソースの基本的な機能を抽象化する。コンテンツサービス２１２は、コンピューターデバイス１０２からリモートのサーバー上でコンピューター処理が行われる間に利用され得るアプリケーションおよび／またはデータを含むことができる。コンテンツサービス２１２は、インターネットを通じたおよび／またはセルラーもしくはＷｉ−Ｆｉネットワークなどの加入者ネットワークを介したサービスとして提供され得る。
【００３２】
[0037]プラットフォーム２１０は、リソースおよび機能を抽象化して、コンピューティングデバイス１０２を他のコンピューティングデバイスと接続することができる。プラットフォーム２１０はまた、リソースのスケーリングを抽象化して、プラットフォーム２１０を介して実施されるコンテンツサービス２１２に対する直面する需要に対応するレベルのスケールを提供するように機能することができる。したがって、相互接続されたデバイス環境では、本明細書に記載する機能の実施は、システム２００全体にわたって分散され得る。たとえば、機能は、クラウド２０８の機能を抽象化するプラットフォーム２１０を介して実施されるだけでなく、一部がコンピューティングデバイス１０２上で実施されてもよい。
【００３３】
[0038]一般的に、本明細書に記載する機能のいずれも、ソフトウェア、ファームウェア、ハードウェア（たとえば、固定論理回路）、手動処理、またはこれらの実施形態の組合せを使用して実施されることが可能である。本明細書で使用する「モジュール」、「機能」、および「論理」という用語は、一般的に、ソフトウェア、ファームウェア、ハードウェア、またはこれらの組合せを表わす。ソフトウェア実施形態の場合、モジュール、機能、または論理は、プロセッサ（たとえば、１つまたは複数のＣＰＵ）上でまたはプロセッサによって実行されるとき指定されたタスクを行うプログラムコードを表わす。プログラムコードは、１つまたは複数のコンピューター可読メモリデバイスに記憶されることが可能である。以下に記載するジェスチャー技法の特徴は、プラットフォームに依存しないものであり、つまりこの技法は、様々なプロセッサを有する様々な商用コンピューティングプラットフォームにおいて実施され得る。
【００３４】
[0039]次の説明では、様々なセクションが様々な例示的な実施形態について記載する。「例示的なアーキテクチャ」と題するセクションは、１つまたは複数の実施形態に従って例示的なアーキテクチャについて記載する。次に、「例示的な方法」と題するセクションは、１つまたは複数の実施形態に従って例示的な方法について記載する。最後に、「例示的なデバイス」と題するセクションは、１つまたは複数の実施形態を実施するように使用され得る例示的デバイスの態様について記載する。
【００３５】
[0040]発明の原理が使用され得る例示的な動作環境について説明したが、次に様々な実施形態の説明を検討する。
例示的なアーキテクチャ
[0041]図３は、１つまたは複数の実施形態に従った例示的なシステムアーキテクチャの全体を３００に示す。この例では、アーキテクチャは、上述のようなコンピューティングデバイスなどのコンピューティングデバイス１０２を含む。コンピューティングデバイスは、デバイスハードウェア３０２と、オペレーティングシステム３０４と、様々なアプリケーションすなわちアプリ３０６、３０８、３１０とを含む。アプリケーションは、ウェブブラウザなどのウェブプラットフォームを含むことができる。アーキテクチャはまた、以下に詳細に説明するように、インターネットなどのクラウド２０８と、オペレーティングシステム３０４ならびに／またはアプリ３０６、３０８、および３１０の１つもしくは複数によって呼び出され得るウェブＡＰＩを含んだアプリストアウェブサービス３１２とを含む。
【００３６】
[0042]図示して説明する例では、オペレーティングシステム３０４ならびに／またはアプリケ−ション３０６、３０８、および３１０は、さらなるアプリケーションが呼び出され得る実行環境として機能する。
【００３７】
[0043]次にアプリケーションがオペレーティングシステム３０４内で動作していると仮定する。アプリケーションは、オペレーティングシステム３０４がアプリケーション内に視覚リンクをレンダリングするようにする、ウェブＡＰＩなどのＡＰＩにアクセスすることができる。たとえば、ＨＴＭＬ５で書かれたアプリケーションを検討する。このアプリケーションは、以下のような参照を含むことができる：
＜ａ  ｈｒｅｆ＝“ａｐｐｌｉｎｋ：ｓｋｙｐｅ？ｕｓｅｒｉｄ＝Ｘａｍ”  ｓｉｚｅ＝“１００×１００”／＞
[0044]この参照は、アプリケーションにハイパーリンクを埋め込む。このハイパーリンクは、任意の適切な方法で現れる。たとえば、ハイパーリンクは、アプリケーションのユーザーインターフェース内にクリックできる１００×１００ピクセルのボタンとして現れ得る。オペレーティングシステムまたはウェブブラウザがこの参照に遭遇するとき、オペレーティングシステムまたはウェブブラウザは、ウェブＡＰＩによりアプリストアウェブサービス３１２にアクセスすることができる。アプリストアウェブサービス３１２によって公開される（exposed）ウェブＡＰＩにより、オペレーティングシステムまたはブラウザはレンダリングするイメージを問い合わせることができる。
【００３８】
[0045]たとえば、アプリストアＡＰＩは、以下のような形をとることができる：
ｈｔｔｐ：／／ａｐｐｓｔｏｒｅ．ｏｐｅｒａｔｉｎｇ−ｓｙｓｔｅｍ．ｃｏｍ／ｇｅｔｉｃｏｎ／ｓｋｙｐｅ？ｕｓｅｒＩＤ＆ｓｉｚｅ＝１００×１００
[0046]これは、アプリストアウェブサービス３１２に、「スカイプ」は有効なアプリであることを確認すること、およびアップリンクＵＲＩ  ｓｋｙｐｅ？ｕｓｅｒｉｄ＝Ｘａｍに適切なアイコンをフェッチすることを求める。アプリストアウェブサービス３１２は、アプリが存在し、関連するプラットフォームでフリーアプリケーションとしてサポートされることを確認する。この特定の例では、どのアイコンをレンダリングするかを確かめるために、アプリストアウェブサービス３１２は、スカイプ用のその独自のアイコン（スカイプロゴ）をスカイプの独自のウェブサービスから入手された追加イメージコンテンツと組み合わせる。そうするために、アプリストアウェブサービス３１２は、スカイプウェブサービスを呼び出す。このウェブサービスは、アプリをサブミットするプロセスの一部としてアプリストアに登録され得る。スカイプウェブサービスは、その結果として、パラメータ（userid=Xam）をとり、Ｘａｍのためのプロファイル画像を取得し、これをウェブストアアプリサービス３１２に返す。ウェブストアアプリサービス３１２は、アプリケーションのために有するアイコン（たとえば、スカイプロゴ）とこれを組み合わせ、組み合わせたセットをオペレーティングシステム３０４またはブラウザに返す。
【００３９】
[0047]１つまたは複数の実施形態では、アプリのアイコン自体は、信頼度を与えるために、スカイプウェブサービスではなくアプリストアによって提供される。これは、オペレーティングシステムがアプリストアウェブサービス３１２を信頼するからである。
【００４０】
[0048]オペレーティングシステムがアイコンを受信すると、オペレーティングシステムは、アプリケーションのユーザーインターフェースにアイコンをレンダリングする。例として、図４を検討する。
【００４１】
[0049]ここに、ソーシャルネットワーキングアプリケーションのユーザーインターフェースの全体が４００に示されている。この特定の例では、ユーザーは、「Ｘａｍ  Ｒｅｌｄａｓ」という名前の個人をフォローしている。この場合、アプリケーションまたはオペレーティングシステムは、アプリストアウェブサービス３１２に問い合わせ、異なるアプリケーション、この例ではスカイプによって提供される通信アプリケーションと関連するアイコン４０２を受信している。通信アプリケーションにより個人は、インターネットなどのネットワークを通じて電話をかけることができる。ウェブサービス３１２はまた、Ｘａｍのプロファイル画像を返した。
【００４２】
[0050]次に、ユーザーがアイコン４０２をクリックする、あるいは選択する場合、オペレーティングシステムは、アプリストア上の別のウェブサービスを呼び出し、今度はアイコン４０２と関連するアプリパッケージのダウンロードを要求する。アプリが以前にインストールされていない場合、アプリストアウェブサービスは、アプリケーションパッケージをオペレーティングシステムに返す。一方、アプリが以前にインストールされている場合、オペレーティングシステムは、この要求に、現在キャッシュされているアプリイメージのバージョン番号を含むことができる。アプリストアウェブサービスがこの要求を受信するとき、バージョン番号が含まれている場合、アプリストアウェブサービスはバージョン番号をチェックし、それが最新のバージョン番号よりも古い場合、アプリストアウェブサービスは、最新のアプリパッケージをオペレーティングシステムに返す。そうでなければ、アプリストアウェブサービスは、現在キャッシュされているバージョンが有効であると伝える応答を返す。これは、通常のｈｔｔｐキャッシュ制御ヘッダ、またはウェブサービス固有のパラメーターを使用して行われ得る。１つまたは複数の実施形態では、アプリパッケージをダウンロードしているプロセス中に、オペレーティングシステムは、アプリのアイコンを更新して、ダウンロード／インストールに関する進行状況バーを提供することができる。
【００４３】
[0051]アプリパッケージがダウンロードされると、オペレーティングシステムは、アプリパッケージをインストールする。１つまたは複数の実施形態では、オペレーティングシステムは、アプリのアイコンをユーザーのホーム／スタート画面に置かない。オペレーティングシステムは次に、任意の適切なアプリ切り替え技法を使用して、そのアプリに切り替えることができる。新しくインストールされたアプリにコンテキストを与えるために、アプリを呼び出すとき、ＵＲＬがアプリに渡され得る。この特定の例では、オペレーティングシステムは、スカイプアプリに、電話する相手のユーザーＩＤ、この場合はＸａｍを提供することができる。例として、図５を検討する。
【００４４】
[0052]ここに、新しくインストールされたアプリのユーザーインターフェースの全体が５００に示されている。この特定の例では、Ｘａｍに電話がかけられており、Ｘａｍの以前に取得されたプロファイル画像が５０２に示されている。発呼者の画像は、５０４に示されている。
【００４５】
[0053]ＵＲＬはまた、アプリを呼び出す様々な方法を可能にすることができる。たとえば、いくつかのオペレーティングシステムでは、アプリが特定のモード、たとえばスナップモード（左もしくは右）またはフル画面モードで開始される予定であることを示すために、ＵＲＬパラメーターが使用され得る。あるいは、呼び出し中のアプリ内にアプリのユーザーインターフェースを埋め込み、それによって埋め込み体験（embedded experience）を可能にすることを指定するＵＲＬパラメーターがあり得る。
【００４６】
[0054]様々な実施形態について述べたが、次に、１つまたは複数の実施形態に従って例示的な方法を検討する。
例示的な方法
[0055]図６は、１つまたは複数の実施形態に従って方法のステップを説明する流れ図である。この方法は、任意の適切なハードウェア、ソフトウェア、ファームウェア、またはその組合せと関連して実行されることが可能である。少なくともいくつかの実施形態では、方法は、適切に構成されたオペレーティングシステム、アプリケーション、ウェブプラットフォーム、またはウェブブラウザによって実施され得る。
【００４７】
[0056]ステップ６００は、第１のアプリケーションを実行する。このステップは、任意の適切な方法で行われることが可能であり、任意の適切に構成されたアプリケーションを含むことができる。ステップ６０２は、第２のアプリケーションへの視覚リンクを取得する。このステップは、任意の適切な方法で行われ得る。たとえば、このステップは、その一例を上述した適切に構成されたＡＰＩを呼び出すことによって行われ得る。ステップ６０４は、第１のアプリケーション内に視覚リンクをレンダリングする。これが行われ得る方法の一例は、上述している。
【００４８】
[0057]ステップ６０６は、視覚リンクの選択を受信する。このステップは、任意の適切な方法で行われ得る。たとえば、少なくともいくつかの実施形態では、視覚リンクは、タッチ対応デバイスでタッチ選択され（touched-selected）得る。代替的にまたは追加的に、視覚リンクは、マウス、スタイラスなどの入力機構を用いて選択され得る。代替的にまたは追加的に、視覚リンクは、ナチュラルユーザーインターフェース（ＮＵＩ）によって選択され得る。視覚リンクの選択を受信することに応答して、ステップ６０８は、第２のアプリケーションと関連するアプリケーションパッケージのダウンロードを要求する。このステップは、様々な方法で行われ得る。たとえば、第２のアプリケーションが以前にインストールされている場合、要求は、インストールされた第２のアプリケーションが最新であるかどうかを確かめるために、上述のように、バージョン番号を含むことができる。第２のアプリケーションが以前にインストールされていない場合、生成されたリクエストは、単に第２のアプリケーションと関連するアプリケーションを要求する。
【００４９】
[0058]ステップ６１０は、アプリケーションパッケージを受信し、ステップ６１２は、アプリケーションパッケージをユーザーのコンピューティングデバイスにインストールする。ステップ６１４は、第１のアプリケーションから第２のアプリケーションへ自動的に切り替わる。このステップは、任意の適切な方法で行われ得る。
【００５０】
[0059]様々な実施形態を検討したが、次に、上述の実施形態を実施するために使用され得る例示的なデバイスの説明を検討する。
例示的なデバイス
[0060]図７は、本明細書に記載するアニメーションライブラリの実施形態を実施するための、図１および図２を参照して説明する携帯デバイスおよび／またはコンピューターデバイスのいずれかのタイプとして実施され得る例示的なデバイス７００の様々な構成要素を示す。デバイス７００は、デバイスデータ７０４（たとえば、受信されたデータ、受信中のデータ、ブロードキャストを予定されているデータ、データのデータパケットなど）の有線および／または無線通信を可能にする通信デバイス７０２を含む。デバイスデータ７０４、または他のデバイスコンテンツは、デバイスの構成設定、デバイスに格納されたメディアコンテンツ、および／またはデバイスのユーザーと関連する情報を含むことができる。デバイス７００に格納されたメディアコンテンツは、任意のタイプの音声、ビデオ、および／またはイメージデータを含むことができる。デバイス７００は、１つまたは複数のデータ入力７０６を含み、これにより、ユーザーが選択可能な入力、メッセージ、音楽、テレビメディアコンテンツ、録画されたビデオコンテンツ、ならびに任意のコンテンツおよび／またはデータソースから受信されるその他のタイプの音声、ビデオ、および／またはイメージデータなど、いかなるタイプのデータ、メディアコンテンツ、および／または入力も受信され得る。
【００５１】
[0061]デバイス７００はまた、シリアルおよび／またはパラレルインターフェース、無線インターフェース、任意のタイプのネットワークインターフェース、モデムのうちのいずれか１つまたは複数として、ならびにその他のタイプの通信インターフェースとして実施されることが可能な通信インターフェース７０８を含む。通信インターフェース７０８は、デバイス７００と通信ネットワークとの間の接続および／または通信リンクを提供し、これにより他の電子デバイス、コンピューティングデバイス、および通信デバイスが、デバイス７００とデータを通信する。
【００５２】
[0062]デバイス７００は、デバイス７００の動作を制御するための、および上述の実施形態を実施するための、様々なコンピューター実行可能または可読命令を処理する１つまたは複数のプロセッサ７１０（たとえば、マイクロプロセッサ、コントローラーなどのいずれか）を含む。代替的にまたは加えて、デバイス７００は、ハードウェア、ファームウェア、または、７１２に全体を特定される処理および制御回路と接続されて実施される固定論理回路のいずれか１つまたは組合せで実施され得る。図示していないが、デバイス７００は、デバイス内の様々な構成要素を結合するシステムバスまたはデータ転送システムを含むことができる。システムバスは、メモリバスもしくはメモリコントローラー、周辺機器用バス、ユニバーサルシリアルバス、および／または様々なバスアーキテクチャのいずれかを使用するプロセッサバスもしくはローカルバスなど、様々なバス構造のいずれか１つまたは組合せを含むことができる。
【００５３】
[0063]デバイス７００はまた、１つまたは複数のメモリ構成要素などのコンピューター可読媒体７１４を含み、その例には、ランダムアクセスメモリ（ＲＡＭ）、不揮発性メモリ（たとえば、リードオンリーメモリ（ＲＯＭ）、フラッシュメモリ、ＥＰＲＯＭ、ＥＥＰＲＯＭなどのいずれか１つまたは複数）、およびディスク記憶装置が含まれる。ディスク記憶装置は、ハードディスクドライブ、記録可能および／または書き換え可能コンパクトディスク（ＣＤ）、任意のタイプのデジタル多用途ディスク（ＤＶＤ）などの、任意のタイプの磁気または光記憶デバイスとして実施されることがある。デバイス７００はまた、大容量記憶媒体装置７１６を含むことができる。
【００５４】
[0064]コンピューター可読媒体７１４は、デバイスデータ７０４、さらには様々なデバイスアプリケーション７１８、ならびにデバイス７００の操作面に関するその他のタイプの情報および／またはデータを記憶するためのデータ記憶機構を提供する。たとえば、オペレーティングシステム７２０は、コンピューター可読媒体７１４でコンピューターアプリケーションとして保持され、プロセッサ７１０で実行され得る。デバイスアプリケーション７１８は、デバイスマネージャー（たとえば、コントロールアプリケーション、ソフトウェアアプリケーション、信号処理および制御モジュール、特定のデバイスに固有のコード、特定のデバイスのハードウェア抽象化レイヤーなど）、ならびに、ウェブブラウザ、イメージ処理アプリケーション、インスタントメッセージングアプリケーションなどの通信アプリケーション、文書処理アプリケーション、および様々な他の異なるアプリケーションを含むことができる他のアプリケーションを含むことができる。デバイスアプリケーション７１８はまた、本明細書に記載する技法の実施形態を実施するための任意のシステム構成要素またはモジュールを含む。この例では、デバイスアプリケーション７１８は、ソフトウェアモジュールおよび／またはコンピューターアプリケーションとして示されているインターフェースアプリケーション７２２と、ジェスチャー取り込みドライバー７２４とを含む。ジェスチャー取り込みドライバー７２４は、タッチスクリーン、トラックパッド、カメラなどの、ジェスチャーを取り込むように構成されたデバイスとのインターフェースを提供するために使用されるソフトウェアを表している。代替的にまたは加えて、インターフェースアプリケーション７２２およびジェスチャー取り込みドライバー７２４は、ハードウェア、ソフトウェア、ファームウェア、またはその任意の組合せとして実施され得る。加えて、コンピューター可読媒体７１４は、上述のように機能するウェブプラットフォーム７２５ａおよびジェスチャーモジュール７２５ｂを含むことができる。
【００５５】
[0065]デバイス７００はまた、音声データを音声システム７２８に提供する、および／またはビデオデータをディスプレイシステム７３０に提供する、音声および／またはビデオ入出力システム７２６を含む。音声システム７２８および／またはディスプレイシステム７３０は、音声、ビデオ、およびイメージデータを処理する、表示する、および／または他にはレンダリングする任意のデバイスを含むことができる。ビデオ信号および音声信号は、ＲＦ（高周波）リンク、Ｓビデオリンク、コンポジットビデオリンク、コンポーネントビデオリンク、ＤＶＩ（デジタルビデオインターフェース）、アナログ音声接続、または他の同様の通信リンクを介して、デバイス７００から音声デバイスへおよび／またはディスプレイデバイスへ伝えられ得る。一実施形態では、音声システム７２８および／またはディスプレイシステム７３０は、デバイス７００に対する外部構成要素として実施される。あるいは、音声システム７２８および／またはディスプレイシステム７３０は、例示的なデバイス７００の内蔵構成要素として実施される。
結論
[0066]様々な実施形態が、アプリケーション（すなわち「アプリ」）ハイパーリンクを提供する。アプリハイパーリンクは、関連するアプリケーションの透過的なインストールを可能にするように構成される。
【００５６】
[0067]１つまたは複数の実施形態では、アプリハイパーリンクは、ウェブサイト開発者またはアプリ開発者がそのサイトまたはアプリケーションに含めることができる小さな埋め込み可能なコードである。アプリハイパーリンクは、選択した結果、たとえばこのアプリハイパーリンクをクリックした、またはタッチした結果の視覚表示をユーザーに提供するために、ウェブブラウザ、またはオペレーティングシステムなどのウェブプラットフォームによってレンダリングされる。ユーザーがアプリハイパーリンクを選択すると、ブラウザまたはオペレーティングシステムは、プラットフォーム・アプリ・ストアからアプリケーションイメージをダウンロードし、アプリケーションをインストールし、プロセスについての視覚フィードバックをユーザーに提供し、完了すると、「アプリ切り替え」または同様の操作を行うことによってアプリケーションを呼び出す。
【００５７】
[0068]実施形態について、構造的特徴および／または方法論的行為に特有の言語で説明したが、添付の特許請求の範囲に定義される実施形態は、説明した特定の特徴または行為に必ずしも限定されないことを理解されたい。むしろ特定の特徴および行為は、特許請求される実施形態を実施する例示的な形式として開示している。
【図１】
2016521879.tif 000003
【図２】
2016521879.tif 000004
【図３】
2016521879.tif 000005
【図４】
2016521879.tif 000006
【図５】
2016521879.tif 000007
【図６】
2016521879.tif 000008
【図７】
2016521879.tif 000009
【国際調査報告】
2016521879.tif 000010