"クライアントデバイスにピン留めされたウェブアプリケーションをクライアントデバイス上で開始するステップと、前記クライアントデバイス上でそれを用いてコンテンツを提示すべきサイト指定のコンベイヤンスを確かめるステップと、前記サイト指定のコンベイヤンスを使用してコンテンツを提示するステップとを含む、コンピューターにより実施される方法。前記ウェブアプリケーションは、前記クライアントデバイスに関連するタスクバーにピン留めされる、請求項1に記載のコンピューターにより実施される方法。確かめる前記ステップは、前記サイトによって提供されるウェブページに関連する1つまたは複数のメタタグを介して前記サイト指定のコンベイヤンスを確かめるステップによって実行される、請求項1に記載のコンピューターにより実施される方法。確かめる前記ステップは、それを介して前記サイトが前記コンベイヤンスを指定できるJavaScriptを介して前記サイト指定のコンベイヤンスを確かめるステップによって実行される、請求項1に記載のコンピューターにより実施される方法。前記サイト指定のコンベイヤンスは、ポップアップウィンドウを含む、請求項1に記載のコンピューターにより実施される方法。前記サイト指定のコンベイヤンスは、タブ、ブラウザーウィンドウ、またはインプレースナビゲーションを含む群から選択されるコンベイヤンスを含む、請求項1に記載のコンピューターにより実施される方法。実行された時に、ジャンプリストとの対話に応答して、クライアントデバイス上でそれを用いてコンテンツを提示すべきサイト指定のコンベイヤンスを確かめ、前記サイト指定のコンベイヤンスを使用してウェブアプリケーション内でコンテンツを提示するように構成されたウェブアプリケーションモードブラウザーを実施するコンピューター可読命令を含む1つまたは複数のコンピューター可読記憶媒体。前記対話は、ジャンプリストタスクまたはジャンプリストアイテムとの対話を含む、請求項7に記載の1つまたは複数のコンピューター可読記憶媒体。前記確かめることは、前記サイトによって提供されるウェブページに関連する1つまたは複数のメタタグを介して前記サイト指定のコンベイヤンスを確かめることによって実行される、請求項7に記載の1つまたは複数のコンピューター可読記憶媒体。前記確かめることは、それを介して前記サイトが前記コンベイヤンスを指定できるスクリプトを介して前記サイト指定のコンベイヤンスを確かめることによって実行される、請求項7に記載の1つまたは複数のコンピューター可読記憶媒体。ジャンプリストタスクおよびジャンプリストアイテムからアクセスされるコンテンツを含むコンテンツのサーフェシングを提供する。0003この課題を解決するための手段は、下の発明を実施するための形態でさらに説明される概念の選択物を単純化された形で紹介するために提供されるものである。この課題を解決するための手段は、請求される主題の主要な特徴または本質的特徴を識別することを意図されたものではなく、請求される主題の範囲を限定するのに使用されることも意図されていない。0004さまざまな実施形態は、エンドユーザーがクライアントデバイスデスクトップなどのクライアントデバイスにウェブアプリケーションおよびウェブサイトをインストールすることを可能にする機構を提供する。1つまたは複数の実施形態によれば、クライアントサイドコードを利用して、ウェブサイトに関連する開発者が、ユーザー対話に関連する境界を定義することを可能にし、これらの境界をランタイムエンジンによって実施させることができる。少なくともいくつかの実施形態では、開発者は、JavaScript登録商標コードを介して、スタートメニューショートカットの作成、ナビゲーション、およびいわゆるジャンプリスト統合、ならびに多数の他の特徴に関するさまざまな構成を提供することができる。0005さまざまな実施形態は、サイト開発者が、ジャンプリストタスクまたはジャンプリストアイテムからアクセスされるコンテンツを含むコンテンツがクライアントデバイス上でどのようにサーフェシングsurfaceされなければならないのかを定義することを可能にする。コンテンツを、さまざまなコンテンツコンベイヤンスコンテンツ伝達、contentconveyanceを介してサーフェシングすることができる。たとえば、コンテンツを、タブ、ポップアップウィンドウ、ブラウザーウィンドウ、インプレースナビゲーションを使用して、または、フレームまたは他の要素内など、ページ内など、異なるレベルでサーフェシングすることができる。さらに、コンテンツを、HTMLマークアップなどのマークアップなどの宣言的手法および/またはJavaScript登録商標の使用を介するなどのスクリプトベースの手法を使用するものなど、異なるサーフェシング機構を使用してサーフェシングさせることができる。0006同一の符号は、図面のすべてを通じて同様の特徴を参照するのに使用される。概要0029さまざまな実施形態は、エンドユーザーがクライアントデバイスデスクトップなどのクライアントデバイスにウェブアプリケーションおよびウェブサイトをインストールすることを可能にする機構を提供する。1つまたは複数の実施形態によれば、クライアントサイドコードを利用して、ウェブサイトに関連する開発者が、ユーザー対話に関連する境界を定義することを可能にし、これらの境界をランタイムエンジンによって実施させることができる。少なくともいくつかの実施形態では、開発者は、JavaScript登録商標コードを介して、スタートメニューショートカットの作成、ナビゲーション、およびいわゆるジャンプリスト統合、ならびに他の特徴に関するさまざまな構成を提供することができる。0030さまざまな実施形態は、サイト開発者が、ジャンプリストタスクまたはジャンプリストアイテムからアクセスされるコンテンツを含むコンテンツがクライアントデバイス上でどのようにサーフェシングされなければならないのかを定義することを可能にする。コンテンツを、さまざまなコンテンツコンベイヤンスを介してサーフェシングすることができる。たとえば、コンテンツを、タブ、ポップアップウィンドウ、ブラウザーウィンドウ、インプレースナビゲーションを使用して、または、フレームまたは他の要素内など、ページ内など、異なるレベルでサーフェシングすることができる。さらに、コンテンツを、HTMLマークアップなどのマークアップなどの宣言的手法および/またはJavaScript登録商標の使用を介するなどのスクリプトベースの手法を使用するものなど、異なるサーフェシング機構を使用してサーフェシングさせることができる。0031境界を、機能性がエンドユーザーにどのように公開されるのかに関する、開発者が定義する経験と考えることができる。境界は、別々のアプリケーションに関連付けることができるトップレベルドメインおよびサブドメインなどのウェブサイトドメイン、またはドメイン上でホスティングされるウェブサイトのサブセットに関連する。したがって、境界を、特定のウェブアプリケーションを働かせるのに利用されるドメイン、サブドメイン、フォルダ、サブサイト、プロトコル、ホスト、パス、および類似物のセットによって定義することができる。00321つまたは複数の実施形態では、ウェブサイトは、上および下で説明される機能性を選ぶことができる。この場合に、開発者は、いくつかの場合にJavaScript登録商標で表される、彼らのウェブサイトに関するユーザーの経験の境界を定義するコードを提供することができる。そのようなコードは、サイト開発者が、たとえば、ジャンプリストタスクまたはジャンプリストアイテムからアクセスされるコンテンツを含むコンテンツがクライアントデバイス上でどのようにサーフェシングされなければならないのかなど、ユーザーの経験の複数の異なる態様を定義することを可能にすることができる。その代わりにまたはそれに加えて、上および下で説明される機能性を選ばないウェブサイトは、彼らに提供されるデフォルト経験を有することができる。0033次の議論では、オペレーティング環境という題名のセクションが、提供され、1つまたは複数の実施形態を使用できる1つの環境を説明する。これに続いて、統合インフラストラクチャという題名のセクションでは、1つまたは複数の実施形態に従って、ウェブアプリケーションをクライアントデバイスに統合することを可能にするインフラストラクチャを説明する。次に、ジャンプリスト統合という題名のセクションでは、1つまたは複数の実施形態に従って、いわゆるジャンプリストをどのように統合できるのかを説明する。次に、タスクバーピン留めという題名のセクションでは、1つまたは複数の実施形態に従って、ウェブアプリケーションをどのようにしてタスクバーにピン留めできるのかを説明する。これに続いて、コンテンツがどのようにサーフェシングされなければならないのかを定義するためのメタタグの使用という題名のセクションでは、1つまたは複数の実施形態に従ってコンテンツをサーフェシングできるビジュアルコンベイヤンスを定義するのにメタタグが使用される実施形態を説明する。これに続いて、コンテンツがどのようにサーフェシングされなければならないのかを定義するためのスクリプトの使用という題名のセクションでは、1つまたは複数の実施形態に従ってコンテンツをサーフェシングできるビジュアルコンベイヤンスを定義するのにスクリプトをどのように使用できるのかを説明する。最後に、例示的なシステムという題名のセクションでは、1つまたは複数の実施形態を実施するのに利用できる例示的なシステムを説明する。0034これから、1つまたは複数の実施形態を実施できる例示的なオペレーティング環境を検討されたい。オペレーティング環境0035図1に、全体的に100に、1つまたは複数の実施形態によるオペレーティング環境を示す。環境100は、1つまたは複数のプロセッサ104、1つまたは複数のコンピューター可読記憶媒体106、およびコンピューター可読記憶媒体上に常駐し、プロセッサ1つまたは複数によって実行可能な1つまたは複数のアプリケーション108を有するコンピューティングデバイス102を含む。コンピューター可読記憶媒体は、限定ではなく例として、通常はコンピューティングデバイスに関連するすべての形の揮発性および不揮発性のメモリおよび/または記憶媒体を含むことができる。そのような媒体は、ROM、RAM、フラッシュメモリ、ハードディスク、リムーバブル媒体、および類似物を含むことができる。コンピューティングデバイスの一特定の例を、図22に示し、下で説明する。0036さらに、コンピューティングデバイス102は、ウェブブラウザー110の形のソフトウェアアプリケーションを含む。任意の適切なウェブブラウザーを使用することができ、ウェブブラウザーの例は、本文書の譲受人および他者から入手可能である。さらに、コンピューター可読記憶媒体106は、上および下で説明されるように動作するウェブアプリケーションモードブラウザー111を含むことができる。ウェブアプリケーションモードブラウザー111は、それぞれウェブサイトからおよびウェブサイトへのAPI呼出しを受け取り、行い、ウェブアプリケーションインストールプロセスを監督し、境界を実施し、上および下で説明される機能性を使用可能にする、ランタイムエンジンとして働く。動作時に、ウェブアプリケーションモードブラウザーは、フルブラウザーの切り詰められたバージョンであり、通常のブラウザー機能性の多くがオフに切り替えられている。いくつかの場合に、ウェブアプリケーションモードブラウザーを、通常のブラウザーコントロールの多くを含まないクロムレスブラウザーと考えることができる。しかし、いくつかのコマンドを、ミニチュアコントロールバーを介して公開することができる。したがって、ウェブアプリケーションモードブラウザーは、ユーザーの気を散らすものの多くを除去し、ユーザーが彼らのウェブアプリケーションとどのように対話するのかをウェブサイトが制御できる、方向付けられたウェブサイト定義のユーザー経験を可能にする。0037動作時に、ウェブアプリケーションモードブラウザーを、ウェブサイトとクライアントデバイスのオペレーティングシステムとの間に論理的に常駐するものと考えることができる。したがって、ウェブアプリケーションモードブラウザーは、ウェブサイトから呼出しを受信し、それに応答して、本明細書で説明される機能性に影響するためにオペレーティングシステム呼出しを行う。同様に、ウェブアプリケーションモードブラウザーは、ウェブサイトの機能性に影響する、オペレーティングシステムからの呼出しを受け取ることができる。たとえば、オペレーティングシステムは、デスクトップのタスクバーとの対話を可能にするAPIを公開する。ウェブアプリケーションモードブラウザーは、下で明らかになるように、ウェブサイトから呼出しを受信し、それに応答して、タスクバー機能性ならびに他の機能性を使用可能にするAPI呼出しを行うことができる。0038ウェブアプリケーションモードブラウザー111を、スタンドアロンコンポーネントとして実施することができる。その代わりにまたはそれに加えて、ウェブアプリケーションモードブラウザー111を、アプリケーション108および/またはウェブブラウザー110の一部として実施することができる。0039さらに、環境100は、インターネットなどのネットワーク112と、コンテンツをそれから受信し、それに送信できる1つまたは複数のウェブサイト114とを含む。そのようなコンテンツは、上および下で説明されるように、ウェブアプリケーションなど、クライアントデスクトップに統合されまたは他の形でクライアントデバイスを介して使用可能なコンテンツを含むことができる。0040コンピューティングデバイス102を、限定ではなく例として、デスクトップコンピューター、ポータブルコンピューター、携帯情報端末PDAなどのハンドヘルドコンピューター、セル電話機、および類似物などの任意の適切なコンピューティングデバイスとして実施することができる。0041例示的なオペレーティング環境を説明したので、ここで、ウェブアプリケーションをクライアントデバイスに統合することを可能にするインフラストラクチャの議論を検討されたい。統合インフラストラクチャ00421つまたは複数の実施形態によれば、ウェブサイトは、より一般的なサイトモード経験の一部として提供されるドメインナビゲーションを選ぶことができる。ドメインナビゲーションは、ユーザーが特定のドメインの内部および外部のリンクにアクセスする時に、ウェブサイトがその既存のウェブサイトの挙動をカスタマイズすることを可能にする。開発者が指定した境界の内部のリンクにアクセスする時に、ウェブアプリケーションウィンドウまたは、関連するウェブアプリケーションの一部としてウェブアプリケーションモードブラウザーによってレンダリングされる、サイトまたは開発者によって定義されたものなどの、ある他のコンベイヤンス内で、コンテンツをレンダリングし、消費することができる。開発者が指定した境界の外部のリンクにアクセスする時に、関連するコンテンツを、ウェブアプリケーションモードブラウザーの外部のデフォルトブラウザーの内部でレンダリングし、消費することができる。これは、どのドメインをウェブサイトの拡張として扱わなければならず、どのドメインを拡張として扱ってはならないのかを、ウェブサイトが定義することを可能にする。00431つまたは複数の実施形態では、ナビゲーションドメインは、ウェブ開発者によって定義され、そのコンテンツが統合されたウェブサイトの一部としてウェブアプリケーションモードブラウザーによってまたはウェブアプリケーションモードブラウザーの外部でデフォルトブラウザー内で表示されるリンクを識別することができる。さらに、ウェブアプリケーションページの集合を一緒に関連付けるのに使用されるデフォルトドメインパラメータを定義することができる。0044一例として、次のインラインドメインページ定義を検討されたい。contoso.crm.dynamics.com\;.microsoft.com\;0045このドメインページ定義は、下の形のURIを、同一のデスクトップウェブアプリケーションウィンドウ内に表示することを可能にする。sales.contoso.crm.dynamics.com\hr.contoso.crm.dynamics\.microsoft.com\crm\0046同様に、このドメインページ定義は、リンク参照がデスクトップウェブアプリケーションウィンドウ内のページの内部である場合であっても、他のURIをデスクトップウェブアプリケーションウィンドウの外部に表示することを強制する。www.bing.comhome.live.com0047上のドメインページ定義では、ワイルドカードが、ウェブアプリケーションインストールAPIの内部で利用される。このAPIは、通常、ユーザーがウェブサイトによって提供されるウェブサイト統合リンクを選択する時に、ウェブサイトによって呼び出される。このAPIは、ウェブアプリケーションファイルまたは.websiteファイルに、デスクトップ、タスクバー、もしくはスタートメニュー内、またはウェブサイトショートカットを起動するのに使用される任意の他の適切な位置内の情報およびコンテンツを投入することができる。任意の適切なファイル拡張子を使用して、ウェブアプリケーションファイルを指定できることを了解し、理解されたい。ナビゲーションドメインおよび他の境界情報は、.websiteファイル内に格納される。0048.websiteファイルが起動される時に、その中のナビゲーションドメインは、ウェブアプリケーションモードブラウザー111によって実施される。ユーザーによって選択されまたはウェブサイトによってアクセスされるリンクは、それらがワイルドカードドメインと一致する限り、ウェブアプリケーションウィンドウの内部で実行され続ける。しかし、定義されたナビゲーションドメインの外部のウェブサイトが検出される時には、デフォルトブラウザーが、インスタンス化されるか他の形で使用され、そのウェブサイトに関連するコンテンツは、ウェブアプリケーションウィンドウの外部でデフォルトブラウザーの内部に表示される。0049一例として、図2を検討されたく、図2は、a.com202、b.com204、およびd.com206のナビゲーションドメインセットを有するウェブアプリケーションウィンドウ200を示し、これは、これらのドメインからのすべてのページが、ウェブアプリケーションウィンドウ200の内部に表示されることを暗示する。c.com208またはe.com210からのページがウェブアプリケーションウィンドウ200内からアクセスされる時には、これらは、ウェブアプリケーションウィンドウ200内ではなくデフォルトブラウザーウィンドウ内に表示される。0050図3に、1つまたは複数の実施形態によるJavaScript登録商標APIを300に示す。図示のJavaScript登録商標APIは、ウェブサイトがウェブアプリケーションをクライアントデスクトップと統合することを可能にする。このAPIは、ウェブアプリケーションまたはランタイムエンジンによって実施されるナビゲーションドメインを定義する。この例では、ナビゲーションドメインは、上で示したようにワイルドカード表現を使用して記述される。このAPIは、クライアントデバイス上のコンテンツおよび情報を用いる.websiteアプリケーションファイル302の投入または更新を可能にし、ナビゲーションドメインおよび他の情報を.websiteアプリケーションファイル302に格納する。これらのナビゲーションドメインは、ウェブアプリケーションが起動される時に実施される。0051図示の説明される実施形態では、.websiteアプリケーションファイル302は、ウェブサイトがそのサイトモード構成のために定義した情報を含む。この情報は、ウェブアプリケーションモードブラウザーによって表示される初期ページである開始URL、ウェブサイトが指定したナビゲーションドメインのすべて、ウェブアプリケーションタイトル、およびいわゆるお気に入りアイコンを含む。下で説明されるように、他の情報を含めることができる。0052ここで、ウェブアプリケーションがクライアントサイドで起動された後に、ウェブアプリケーションモードブラウザーは、ウェブアプリケーションファイルを読み取り、その中で定義された境界を実施する。上で注記したように、ウェブアプリケーション経験は、特定のウェブサイトおよびそのニュアンスの知識を有する開発者によって定義されるので、完全で統合されたユーザー経験を提供することができる。0053図4は、1つまたは複数の実施形態によるインストール方法のステップを説明する流れ図である。この方法を、任意の適切なハードウェア、ソフトウェア、ファームウェア、またはその組合せによって実行することができる。少なくともいくつかの実施形態では、この方法の諸態様は、クライアントデバイス上で実行されるソフトウェアによって実行される。0054ステップ400では、ウェブサイト統合特徴を選択する。このステップを、任意の適切な形で実行することができる。通常、このステップは、ユーザーが、ウェブアプリケーションインストールプロセスを開始するために手段を選択するか他の形でアクションを行う時に実行される。たとえば、ユーザーは、彼がウェブアプリケーションを統合することを可能にするリンクを選択することができる。これをどのように行うことができるのかの特定の例を、下で提供する。0055ステップ402では、クライアントデバイス上でウェブアプリケーションファイル本明細書では.websiteファイルと表すを作成する。このファイルは、当初に作成される時に、ウェブサイトからまたはウェブサイトの代わりに受信されたコンテンツおよび情報をその後に投入できるアーティファクトまたはシェルを構成することができる。ステップ404では、ウェブアプリケーションファイルにウェブアプリケーションコンテンツを投入する。このステップを、任意の適切な形で実行することができる。たとえば、このステップを、上および下で提供されるJavaScript登録商標API例を使用することによって実行することができる。その代わりにまたはそれに加えて、このステップを、HTMLなどのマークアップの使用を介して実行することができる。0056クライアント上でウェブアプリケーションファイルを作成し、これにコンテンツを投入したので、今や、ウェブアプリケーションを起動し、これと対話することができる。0057図5は、1つまたは複数の実施形態によるウェブアプリケーション対話方法のステップを説明する流れ図である。この方法を、任意の適切なハードウェア、ソフトウェア、ファームウェア、またはその組合せによって実行することができる。少なくともいくつかの実施形態では、この方法の諸態様は、クライアント上で実行されるソフトウェアおよびウェブサイトをサポートするサーバーで実行されるソフトウェアによって実行される。したがって、この図の1つの列は、これらのステップがクライアントによってまたはクライアントでたとえばウェブアプリケーションモードブラウザーによって実行されることを示すためにクライアントと示され、1つの列は、これらのステップがウェブサイトによってまたはウェブサイトの代わりに実行されることを示すためにウェブサイトと示される。0058ステップ500では、サイトモードのユーザー選択を受け取る。このステップを、任意の適切な形で実行することができる。たとえば、クライアントデスクトップ上にインストールされたショートカットを利用して、サイトモード選択を受け取ることができる。サイトモード選択の受取に応答して、ステップ502では、開始URLを要求する。開始URLは、上で説明したウェブアプリケーションファイル内で見つけることができる。0059ステップ504では、開始URL要求を受信する。ステップ506では、開始URLに関連するコンテンツを含む関連するウェブリソースをクライアントに返す。0060ステップ508では、関連するウェブリソースを受信し、ステップ510では、ウェブリソースをウェブアプリケーションウィンドウ内でレンダリングする。上で説明したように、ウェブアプリケーションウィンドウは、ウェブアプリケーションモードブラウザーによってレンダリングされる。いくつかの実施形態では、ウェブアプリケーションモードブラウザーランタイム構成は、少なくとも部分的に、ウェブアプリケーションファイルの内容によって定義される。1つまたは複数の他の実施形態では、下で明白になるように、ランタイム構成を、少なくとも部分的に、1つまたは複数のローカルキャッシュなどの他の位置で維持されるデータによって定義することができる。ステップ512では、ウェブアプリケーションウィンドウ内でレンダリングされたリソースに関するユーザー対話を受け取る。ユーザー対話は、任意の適切なタイプのユーザー対話を含むことができる。たとえば、ユーザー対話は、ウェブアプリケーションウィンドウ内から発するナビゲーションアクティビティを含むことができる。ステップ514では、ユーザー対話がウェブアプリケーションファイルによって定義される境界内であるかどうかを確かめる。ユーザー対話がウェブアプリケーションファイルによって定義される境界内である場合には、ステップ516で、ウェブアプリケーションウィンドウ内でユーザー対話に関連するコンテンツをレンダリングする。その一方で、ユーザー対話がウェブアプリケーションファイルによって定義される境界内ではない場合には、ステップ518で、デフォルトウェブブラウザー内でユーザー対話に関連するコンテンツをレンダリングする。0061この形で、特定のウェブサイトについてウェブサイト開発者によって定義された境界を実施して、ユーザー経験が開発者の望み通りに保たれることを保証することができる。たとえば、ウェブサイトによって定義された開始URLは、ホームページであり、ウェブアプリケーションモードでのホームページへの後続アクセスは、ユーザーの元々定義されたブラウザーホームページではなく、開始URLにナビゲートする。これは、いくつかの関連しないホームページではなく、ウェブアプリケーション固有ページへのすばやいアクセスを可能にする。これは、エンドユーザーが、正確に働く場合とそうでない場合とがある彼ら自体のサイト固有経験を定義する必要を軽減する。したがって、完全で統合されたインテリジェントに管理される経験を、エンドユーザーに提供することができる。0062例示的なインストールおよび対話経験を説明したので、ここで、ジャンプリスト統合の概念を検討されたい。ジャンプリスト統合00631つまたは複数の実施形態では、開発者は、ウェブサイトが、そのウェブサイトと対話するのに使用できる一連のいわゆるジャンプリストタスクをデスクトップ統合中に定義することを可能にすることができる。さらに、少なくともいくつかの実施形態では、ウェブサイトは、カスタムジャンプリストを作成し、更新することができる。0064ジャンプリストを、ユーザーに提示される関連するタスクまたはコンテンツのセットを構成するリストと考えることができる。ジャンプリストを介して、ウェブサイトは、ユーザーへの関連する有用な情報の留出を促進することができる。ジャンプリストは、特定のウェブアプリケーションの能力または機能性に関連する。たとえば、電子メールアプリケーションのジャンプリストは、連絡先を開き、新規電子メールメッセージを作成するなどの能力をユーザーに与えるタスクを含むことができる。いくつかの場合に、ジャンプリストは、関連する最もしばしば使用されるコマンドおよびデータのリストを含むことができる。00651つまたは複数の実施形態では、ジャンプリスト機能性を、静的要素と動的要素との両方を含むように実施することができる。0066開発者は、上で説明したように、ウェブアプリケーションファイルに投入するウェブアプリケーションインストールプロセス中に静的要素を定義することができる。静的要素に関連するセッティングを、ウェブアプリケーションファイルの内部に格納することができる。1つまたは複数の実施形態では、セッティングは、リスト名および関連するタスクを含むことができる。少なくともいくつかの例では、静的要素は、一般的に使用される機能性を表す要素を構成することができる。0067動的要素に関連するセッティングを、ウェブアプリケーションウィンドウの内部で走行するウェブサイトページによって駆動することができる。これらのセッティングは、ユーザーにとって認識できるしるしを動的に公開するセッティングを含む。たとえば、あるセッティングが、カスタムジャンプリストにアイテムを追加することができ、あるセッティングが、オーバーレイアイコンを表示することができ、その例は、下で提供される。少なくともいくつかの実施形態では、動的セッティングを、ウェブアプリケーションが起動されるたびにクリアし、ウェブアプリケーションスクリプトコードによって構成することができる。0068一実施形態によるカスタムジャンプリストの例として、全体的に600にクライアントデスクトップの一部を示す図6を検討されたい。カスタムジャンプリスト602が、1つまたは複数の実施形態に従って公開されている。ここで、静的要素は、604に示され、動的要素は、606に示されている。この例では、静的要素リスト名は、タスクであり、タスクまたは静的要素は、新規電子メールメッセージ、新規面会予約、新規連絡先、および新規タスクである。動的要素リスト名は、今日であり、タスクまたは動的要素は、この例では、ユーザーのカレンダから生成されたリマインダーを含む。動的要素は、関連するウェブサイトによって動的に投入される。したがって、この例では、動的要素またはコンテンツは、通常はユーザーのアクションと独立の、ユーザーへの通知の提供に関連する。0069上で注記したように、ジャンプリストを、デスクトップ統合プロセス中に定義することができる。タスクおよびジャンプリスト定義を、ウェブアプリケーションファイルの内部に格納することができる。一例として、700に1つまたは複数の実施形態によるJavaScript登録商標APIを示す図7を検討されたい。図示のJavaScript登録商標APIは、ウェブサイトがクライアントデスクトップと統合し、ジャンプリストを定義することを可能にする。このJavaScript登録商標APIは、customtaskおよびcustomJumpListの存在を除いて、図3に関して説明されたものと同一またはこれに類似するものとすることができる。簡潔さのために、図3の内容の一部は、省略されている。少なくともいくつかの実施形態では、ジャンプリストタスクの静的リストの初期作成を、HTML文書の内部で定義されるマークアップによって、たとえばHTMLタグを使用して定義することができる。0070たとえば、静的リスト機能性を記述するのにメタタグを使用する、すぐ下の例を検討されたい。<METAname=msapplication-taskcontent=name=Task;uri=http://marap/test3.html;icon-uri=http://marap/icon3.ico/>0071タスクが実行される時に、1つまたは複数の実施形態では、2つのオプションがある。たとえば、タスクに関連するURLを、現在見られているウェブページを含むものと同一のウェブアプリケーション/ブラウザーウィンドウの内部で開くことができる。その代わりにまたはそれに加えて、新しいページを起動することができる。その代わりにまたはそれに加えて、新しいポップアップウィンドウを表示することができる。0072これらのパラメータが定義され、システムによって読み取られた後に、下で説明するように、ユーザーが彼らのデスクトップ上にウェブサイトをインストールする時に、スタートメニューに追加することまたはタスクバーにピン留めすることによって、これらのパラメータを使用することができる。それと同時に、少なくともいくつかの実施形態では、ジャンプリスト上でウェブサイトクライアントコードによって操作できる動的値のセットがある。0073カスタムタスクは、ウェブサイトによって、上で説明されたように静的タスクを定義するのに利用される。この例では、静的タスクは新規メッセージ静的タスクである。このAPIは、デスクトップ上に.websiteアプリケーションファイル702を作成し、ナビゲーションドメイン図3の例と同様およびジャンプリストに関連する情報などの他の情報を格納する。0074図示の説明される実施形態では、.websiteアプリケーションファイル702は、ウェブサイトがそのサイトモード構成のために定義した情報を含む。この情報は、開始URL、ウェブサイトが指定したナビゲーションドメインのすべて具体的には図示せず、ウェブアプリケーションタイトル、およびいわゆるお気に入りアイコンを含む。他の情報は、上で言及した新規メッセージに関連するカスタムタスクと、カスタムリストとを含む。この例では、カスタムリスト要素は、ウェブアプリケーションがクライアント上で走行しつつある時にウェブサイトによって動的に投入され得る動的要素である。ここで、friends友人指定は、動的コンテンツに関連するヘッダを含む。したがって、この場合に、動的コンテンツは、彼らの友人がオンラインである時のユーザーへの通知の提供に関連する。ここで、カスタムリストは、ウェブアプリケーション内に常駐していない別々のAPIである。しかし、カスタムタスクは、ウェブアプリケーション内に常駐する。0075動作時に、ウェブアプリケーションが走行しつつある時に、静的要素に関連するアイテムを、事前にフェッチし、キャッシングすることができる。その一方で、ウェブアプリケーションが走行しつつある時に、動的要素に関連するアイテムを、ウェブサイトによってオンザフライで提供することができる。動的要素に関連するアイテムをウェブアプリケーションにオンザフライでどのように提供できるのかの実施態様の例として、図8を検討されたい。0076図8に、メッセージが到着したことをユーザーが知ることを可能にするために、ウェブサイトがカスタムジャンプリストと動的にどのように対話できるのかを示す。この例では、JavaScript登録商標800は、ウェブサイトが、ウェブアプリケーションモードブラウザー内でホスティングされるページに更新をどのようにして送信できるのかを示す。ブラウザー内で実行されるクライアントサイドコードは、更新を受信し、スクリーン上でコンテンツを更新し、ジャンプリストにそのリストを更新する要求を送る責任を負う。この例では、ウェブサイトは、リアルタイム経験を提供するためにジャンプリストに情報をプッシュすることができる。ここで、新しいメッセージ、たとえば新規メッセージ0および新規メッセージ1がウェブサイトによって受信される時に、JavaScript登録商標呼出しを、ウェブアプリケーションから行って、ジャンプリスト802を更新することができる。少なくともいくつかの実施形態では、通知が、タスクバー804内に現れて、関連情報が受信されたことをユーザーに知らせることができる。通知は、タスクバー内の任意の適切な位置に現れることができ、任意の適切なタイプの通知を含むことができる。たとえば、通知は、ウェブアプリケーションに関連するアイコン806の中またはその付近に現れることができる。その代わりにまたはそれに加えて、通知は、ユーザーの目を引くために点滅することができる。0077一例として、図9を検討されたい。この図では、クライアントデスクトップの一部が、全体的に900に示されている。タスクバー901は、現在のウェブアプリケーションに関連するアイコン902を含む。ここでは、オーバーレイアイコン904が、アイコン902内にレンダリングされていることに留意されたい。この例では、ユーザーは、新規メッセージを受信しており、ウェブサイトは、上で説明したようにウェブアプリケーションを呼び出して、過度にアイコン904をアイコン902内にレンダリングさせた。これは、新規メッセージが到着したことの通知をユーザーに提供する。過度にアイコン904を見ることに応答して、ユーザーは、ジャンプリスト905にアクセスして、現在起こりつつあるまたはこれから起ころうとしている面会予約を示す要素908を公開する。要素906も公開されることにも留意されたい。JavaScript登録商標抜粋910は、オーバーレイアイコンを更新するのに使用できるコードの一例を示す。0078ウェブサイトとウェブアプリケーションとの間の動的対話は、さまざまな他の形で発生することができる。たとえば、少なくともいくつかの実施形態で、プレビューウィンドウを、ウェブサイトに関するユーザーのアクションに応答して、そのウェブサイトからジャンプリストにプッシュすることができる。図示され説明される実施形態では、プレビューウィンドウは、ウェブサイトによって提供されるミニチュアビューである。プレビューウィンドウを、任意の適切なタイプのユーザーアクションに応答して提供することができる。たとえば、少なくともいくつかの実施形態では、プレビューウィンドウを、ウェブサイトに関連するタスクバーアイコンの上でのマウスホバーに応答して、そのウェブサイトからジャンプリストにプッシュすることができる。その代わりにまたはそれに加えて、プレビューウィンドウを、ウェブアプリケーションのタスクバーアイコンの上にカーソルを置き、左クリックすることによって提供することができる。0079一例として、図10を検討されたい。この図には、クライアントデスクトップの一部が、全体的に1000に示されている。タスクバー1001は、現在のウェブアプリケーションに関連するアイコン1002を含む。ここでは、ユーザーが、カーソルをアイコン1002の上に置いていることに留意されたい。それに応答して、プレビューウィンドウ1004がレンダリングされている。動作時に、カーソルをアイコンの上に置くユーザーのアクションに応答して、イベントが、ウェブページに送信される。そのイベントの受信に応答して、ウェブページは、プレビューを動的に提供することができ、あるいは、キャッシングされたプレビューウィンドウをレンダリングさせることができる。0080少なくともいくつかの実施形態では、プレビューウィンドウをウェブサイトによって使用して、ツールバーボタンおよび関連する挙動を定義することもできる。たとえば、図示され説明される実施形態では、ウェブアプリケーションは、メディアプレイヤアプリケーションと、プレビューウィンドウ1004にオーバーレイされるユーザーインターフェース手段1006内に現れる3つのツールバーボタンとを含む。これらのボタンは、一時停止ボタン、停止ボタン、および再生ボタンを含む。少なくともいくつかの実施形態では、ツールバーボタンを、リモートサーバーと対話する必要を回避するクライアントサイドコードを使用して実施することができる。たとえば、個々のボタンを、特定のウェブページについて登録することができる。各ボタンは、構成され、IDを割り当てられる。あるリスナが、すべてのボタンイベントについて登録される。ボタンが押し下げられた時に、イベントが、生成され、ブラウザーに戻って通信され、このブラウザーは、そのイベントを登録されたイベントリスナに伝搬させる。イベントは、押し下げられたボタンを含む。これは、ボタンの間の曖昧さ排除を可能にする。実施態様の例0081実施態様の例では、ウェブ開発者は、次のJavaScript登録商標関数を使用して、ジャンプリスト内のカスタムリストを更新し、タスクバーオーバーレイアイコンを更新することができる。ListCreationBehaviorリスト作成挙動0082これは、カスタムリストのタイトルであるリスト名を定義する。この値は、リストヘッダとして表示される。オプションで、アイテムの名前を含むアイテムリスト、そのアイテムのURI値、およびそのアイテムに関連するイメージを提供して、当初にリストに投入することができる。ブラウザーがウェブアプリケーションモードで開始される時に、この機能性をサポートすることができる。ListUpdateBehaviorリスト更新挙動0083リストアイテム値は、特定のリストアイテムを更新するために提供される。リストアイテム値は、アイテムの名前、そのアイテムのURI値、およびそのアイテムに関連するイメージを含む。ブラウザーがウェブアプリケーションモードで開始される時に、この機能性をサポートすることができる。SetOverlayIconオーバーレイアイコンをセット0084既存のタスクバーアイコンのオーバーレイとして使用されるアイコンをポイントするURI値が指定される。ブラウザーがウェブアプリケーションモードで開始される時に、この機能性をサポートすることができる。SetPreviewImageプレビューイメージをセット0085タスクバープレビューイメージまたはサムバープレビューの絵図表現として使用されなければならないイメージをポイントするURI。プレビューは、ユーザーがタスクバーアイコンを左マウスボタンでクリックする時に表示される。ClearOverlayIconオーバーレイアイコンをクリア0086これは、タスクバーアイコン上の既存の過度にアイコンを除去する。ブラウザーがウェブアプリケーションモードで開始される時に、この機能性をサポートすることができる。0087ウェブ開発者は、次のJavaScript登録商標関数を使用して、特定のウェブサイトのタスクバープレビューウィンドウ内に表示されるツールバーボタンのセットを定義し、変更することができる。ToolbarButtonInstallationツールバーボタンインストール0088ボタンIDのリストが、ヒントおよびイメージURLと共に指定される。イベントは、ユーザーがツールバーボタンを選択した時に、処理のためにウェブサイトに渡される。ウェブサイトは、ボタンイベントの間の曖昧さを排除することができる。この呼出しは、ボタンを表示するためにサイトモードウィンドウが開かれる時に、少なくとも1回実行される。ブラウザーがウェブアプリケーションモードで開始される時に、この機能性をサポートすることができる。UpdateImageイメージを更新0089これは、指定されたボタンIDの状態および可視性を識別する。状態は、有効または無効とすることができる。少なくともいくつかの実施形態では、デフォルトで、ボタンは有効である。ビューは、表示するまたは隠すのいずれかとすることができる。デフォルトで、定義されたボタンは可視である。ブラウザーがウェブアプリケーションモードで開始される時に、この機能性をサポートすることができる。0090図11は、1つまたは複数の実施形態によるインストール方法のステップを説明する流れ図である。この方法を、任意の適切なハードウェア、ソフトウェア、ファームウェア、またはその組合せによって実行することができる。少なくともいくつかの実施形態では、この方法の諸態様は、クライアントデバイス上で実行されるソフトウェアによって実行される。0091ステップ1100では、ウェブサイト統合特徴を選択する。このステップを、任意の適切な形で実行することができる。通常、このステップは、ユーザーが、ウェブアプリケーションインストールプロセスを開始するために、手段を選択するか、他の形でアクションを行う時に実行される。たとえば、ユーザーは、彼がウェブアプリケーションを統合することを可能にするリンクを選択することができる。これをどのように行うことができるのかの特定の例は、下で提供される。0092ステップ1102では、クライアントデバイス上でウェブアプリケーションファイル本明細書では.websiteファイルと表すを作成する。このファイルは、当初に作成される時に、ウェブサイトからまたはウェブサイトの代わりに受信されたコンテンツおよび情報をその後に投入できるアーティファクトまたはシェルを構成することができる。ステップ1104では、この例ではジャンプリストを含むウェブアプリケーションコンテンツをウェブアプリケーションファイルに投入する。このステップを、任意の適切な形で実行することができる。たとえば、このステップを、その例が上で説明されるJavaScript登録商標APIの使用を介して実行することができる。その代わりにまたはそれに加えて、このステップの諸態様を、HTMLなどのマークアップの使用を介して実行することができる。0093クライアント上でウェブアプリケーションファイルを作成し、投入したので、今や、ウェブアプリケーションを任意の適切な時に起動することができる。0094図12は、1つまたは複数の実施形態による方法のステップを説明する流れ図である。これらのステップを、任意の適切なハードウェア、ソフトウェア、ファームウェア、またはその組合せによって実行することができる。少なくともいくつかの実施形態では、この方法を、サーバー上で実行されるソフトウェアに関連してクライアント上で実行されるソフトウェアによって実行することができる。0095ステップ1200では、ジャンプリストに関連するユーザーアクションを受け取る。任意の適切なユーザーアクションを受け取ることができ、その例は上で提供される。たとえば、少なくともいくつかの実施形態では、ユーザーアクションを、明確に表示されたジャンプリストまたは表示されていないジャンプリストに関して受け取ることができる。その代わりにまたはそれに加えて、ユーザーアクションを、ウェブアプリケーションに関連する表示されたアイコンに関して受け取ることができる。アイコンを、たとえば、デスクトップタスクバー内または任意の他の適切な位置に表示することができる。そのようなアクションの例は、上で提供される。0096ステップ1202では、ユーザーアクションに関連するコンテンツを提示する。たとえば、提示されるコンテンツは、ジャンプリスト自体を含むことができる。ジャンプリストを、任意の適切なタイプのユーザーアクションに応答して提示することができ、このユーザーアクションの例は、上で提供される。提示されるコンテンツは、ジャンプリスト自体以外のコンテンツを含むこともできる。たとえば、カスタムプレビューウィンドウを、たとえばタスクバーアイコンの左クリックなどのユーザーアクションに応答して提示することができる。たとえば、ユーザーは、新規メールメッセージを作成するか作文することを選択することができる。0097図13は、1つまたは複数の実施形態による方法のステップを説明する流れ図である。この方法を、任意の適切なハードウェア、ソフトウェア、ファームウェア、またはその組合せによって実行することができる。少なくともいくつかの実施形態では、この方法の諸態様は、クライアント上で実行されるソフトウェアおよびウェブサイトをサポートするサーバー上で実行されるソフトウェアによって実行される。したがって、この図の1つの列は、これらのステップがクライアントによってまたはクライアントで実行されることを示すためにクライアントと示され、1つの列は、これらのステップがウェブサイトによってまたはウェブサイトの代わりに実行されることを示すためにウェブサイトと示される。0098ステップ1300では、動的ジャンプリストアイテムに関連する情報を受け取る。任意の適切なジャンプリストアイテムが、情報がその上で受け取られる基礎として働くことができ、その例は上で提供される。ステップ1302では、通知を生成し、ステップ1304では、ウェブアプリケーションを実行するクライアントデバイスに通知を送信する。0099ステップ1306では、通知を受信し、ステップ1308では、認識できる通知をユーザーに提供する。任意の適切なタイプの認識できる通知を提供することができる。たとえば、少なくともいくつかの実施形態では、認識できる通知を、オーバーレイアイコンまたは点滅するウェブアプリケーションアイコンなどの視覚的に認識できる通知とすることができる。その代わりにまたはそれに加えて、認識できる通知は、ベルまたはブザーなどの聴覚的に認識できる通知を含むことができる。00100ジャンプリスト統合に関連するさまざまな実施形態を検討したので、これから、1つまたは複数の実施形態による、ウェブサイトがタスクバーなどのデスクトップ特徴にどのようにしてピン留めされるようになることができるのかの議論を検討されたい。タスクバーピン留め00101ウェブアプリケーションがクライアントデスクトップまたはタスクバーと統合されるようになることができるさまざまな形がある。少なくともいくつかの実施形態では、ウェブアプリケーションを、ドラッグアンドドロップ操作を介してデスクトップと統合することができる。その代わりにまたはそれに加えて、ウェブアプリケーションを、ウェブブラウザーのメニュー選択を介して統合することができる。その代わりにまたはそれに加えて、ウェブアプリケーションを、関連するウェブサイト自体によって統合することができる。これらの実施形態の例を、下でそれ自体の見出しの下で議論する。ドラッグアンドドロップ操作を介する統合001021つまたは複数の実施形態では、ウェブアプリケーションを、ドラッグアンドドロップ操作を介してデスクトップまたはタスクバーに統合することができる。一例として、図14を検討されたい。この図では、クライアントデスクトップが、全体的に1400に示されている。ウェブブラウザーウィンドウ1402は、ウェブサイトURLをその中に表示されたアドレスバー1404を含む。このURLに関連して、お気に入りアイコン1406と呼ばれるアイコンが示されている。さらに、デスクトップ1400は、タスクバー1408を含む。00103図15に、1つまたは複数の実施形態によるドラッグアンドドロップ操作を概略的に示す。この例では、カーソルは、お気に入りアイコン1406の上に置かれている。お気に入りアイコンを左クリックし、これをタスクバー1408に沿ってドラッグすることによって、関連するウェブアプリケーションこの場合にはメッセージボードアプリケーションを、デスクトップのタスクバー1408にピン留めすることができる。ドラッグアンドドロップ操作は、上で説明したようにウェブアプリケーションを統合する統合プロセスを開始し、したがって、これをタスクバーにピン留めする。001041つまたは複数の実施態様では、ウェブアプリケーションに関連するウェブページが、ブラウザー内に開かれたタブを有する場合に、お気に入りアイコンがタスクバー上にドロップされた後に、関連するタブは、ブラウザーのウィンドウから消えることができる。その代わりにまたはそれに加えて、タブを除去するのではなく、タブの内容を新規タブページに置換することができる。単一のタブがブラウザーウィンドウ内で開かれている場合には、お気に入りアイコンがタスクバーにピン留めされた後に、ブラウザーウィンドウが消える。この点で、元のサイトに含まれたタブを、ブラウザーが閉じる前だがウェブアプリケーションがピン留めされた後に除去することができる。さらに、少なくともいくつかの実施形態では、ドラッグ操作がタスクバーに入る時に、タスクバーへピン留めの形のヒントを提示して、ピン留め機能性についてユーザーに知らせることができる。00105さらに、タスクバーにピン留めされたウェブサイトまたはウェブアプリケーションの状態を、ウェブアプリケーションが初めてインスタンス化される時に、新たに表示されるウィンドウに移植することができる。これは、ユーザーが、アプリケーションを使用できるようになるためにサイトへ資格情報を再入力する必要をなくすことができる。00106図16は、1つまたは複数の実施形態によるインストール方法のステップを説明する流れ図である。この方法を、任意の適切なハードウェア、ソフトウェア、ファームウェア、またはその組合せによって実行することができる。少なくともいくつかの実施形態では、この方法の諸態様は、クライアント上で実行されるソフトウェアによって実行される。00107ステップ1600では、ウェブアプリケーションインストールに関連するドラッグアンドドロップ操作の指示を受け取る。このステップを、任意の適切な形で実行することができる。すぐ上で説明した実施形態では、このステップは、ユーザーが、関連するウェブアプリケーションを彼らのデスクトップに統合する欲求をウェブサイトに示すために、ウェブサイトに関連するお気に入りアイコンなどのアイコンをドラッグアンドドロップする時に実行される。たとえば、ユーザーは、タスクバー、クイック起動領域、またはデスクトップキャンバスなどのデスクトップ上のある他の位置にお気に入りアイコンをドラッグアンドドロップすることができる。ステップ1602では、ドラッグアンドドロップ操作に応答して、ウェブアプリケーションファイルを作成する。図示され説明される実施形態では、当初に作成されるウェブアプリケーションファイルは、ジャンプリストタスク、開始URL、お気に入りアイコン、または静的ジャンプリストタスク、代替開始URL、代替お気に入りアイコン、および類似物などの他のプロパティなどの関連するウェブサイトからの情報をまだ含まないアーティファクトまたはシェルである。これらを、上で説明されたように新しいマークアップおよび/またはJavaScript登録商標APIを介して後に追加することができる。JavaScript登録商標APIを使用するもの以外の技法を、請求される主題の趣旨および範囲から逸脱せずに利用できることを了解し、理解されたい。ブラウザーメニュー選択を介する統合001081つまたは複数の実施形態では、ウェブアプリケーションを、ウェブブラウザーのメニュー選択を介して統合することができる。一例として、図17を検討されたい。この図では、クライアントデスクトップが、全体的に1700に示されている。ウェブブラウザーウィンドウ1702は、ULRを表示されたアドレスバー1704を含む。さらに、デスクトップ1700は、タスクバー1706を含む。ページメニューの形のブラウザーメニューアイテム1708が、示されている。ページメニューをドロップダウンしてメニュー選択1710を公開することによって、メニューアイテムまたはメニュー選択スタートメニューに追加が表示される。このオプションを選択することによって、ウェブサイトまたはウェブアプリケーションを、デスクトップのスタートメニューに追加することができ、インストールプロセスを、上で説明されたように開始することができる。その代わりにまたはそれに加えて、タスクバーに追加メニューアイテムまたはメニュー選択を表示して、インストールプロセスの開始を可能にすることができる。00109図18は、1つまたは複数の実施形態によるインストール方法のステップを説明する流れ図である。この方法を、任意の適切なハードウェア、ソフトウェア、ファームウェア、またはその組合せによって実行することができる。少なくともいくつかの実施形態では、この方法の諸態様は、クライアント上で実行されるソフトウェアによって実行される。00110ステップ1800では、ブラウザーメニュー選択を受け取る。このステップを、任意の適切な形で実行することができる。すぐ上で説明した実施形態では、このステップは、ユーザーが、特定のウェブサイトにナビゲートし、メニュー選択を公開するためにブラウザーメニューをドロップダウンし、その後、ウェブサイトに関連するウェブアプリケーションのインストールの開始に関連するメニューアイテムを選択することによってアクションを行う時に実行される。00111ステップ1802では、ブラウザーメニュー選択の受取に応答してウェブアプリケーションファイルを作成する。図示され説明される実施形態では、当初に作成されるウェブアプリケーションファイルは、ジャンプリストタスク、開始URL、お気に入りアイコン、および類似物などの関連するウェブサイトからの情報をまだ含まないアーティファクトまたはシェルである。これらを、上で説明されたように新しいマークアップおよび/またはJavaScript登録商標APIを介して後に追加することができる。JavaScript登録商標APIを使用するもの以外の技法を、請求される主題の趣旨および範囲から逸脱せずに利用できることを了解し、理解されたい。関連するウェブサイトを介する統合001121つまたは複数の実施形態では、デスクトップとのウェブアプリケーションの統合を、ウェブページから行うことができる。これらの実施形態では、特定のウェブサイトは、ウェブアプリケーションをデスクトップに統合するのにJavaScript登録商標などのコードを使用することによって、統合アクティビティを選ぶことができる。これは、ウェブサイトが、統合開始手段を制御することを可能にする。00113一例として、図19を検討されたい。この図には、クライアントデスクトップが、全体的に1900に示されている。ウェブブラウザーウィンドウ1902は、URLをその中に表示されたアドレスバー1904を含む。さらに、デスクトップ1900は、タスクバー1906を含む。さらに、ブラウザーウィンドウ1902内に表示されるウェブページは、デスクトップに追加という題名のリンク1908を含む。このリンクをクリックすることによって、ユーザーは、上で説明されたようにウェブアプリケーションインストールプロセスを開始することができる。00114少なくともいくつかの実施形態では、リンク選択が行われた後に、ユーザーが行おうとしているユーザーアクションと、彼らの新たに作成されるショートカットにどこでアクセスすべきかとを説明する、モーダル確認ダイアログを提示することができる。この確認ダイアログは、ユーザーに、提示されつつあるページのソースURLを提示することができる。表示されるURLは、ウェブサイトのフルパスを含むことができる。これは、ユーザーが、彼らがインストールを望むウェブサイトが正しいサイトから供給されつつあることを検証することを可能にすることができる。これは、悪意のあるサブディレクトリに関連する状況を軽減することができる。00115さまざまな実施態様では、デスクトップに統合されるウェブサイトのURLは、それが、それを含むウェブページと同一のドメインにあることを確認するためにチェックされる。そうではない場合には、エラーを表示することができ、動作をエラーにすることができる。ユーザーが動作を確認した後に、ダイアログを除去することができ、ウェブアプリケーションウィンドウを、正しいURLを用いて表示することができる。00116図20は、1つまたは複数の実施形態によるインストール方法のステップを説明する流れ図である。この方法を、任意の適切なハードウェア、ソフトウェア、ファームウェア、またはその組合せによって実行することができる。少なくともいくつかの実施形態では、この方法の諸態様は、クライアント上で実行されるソフトウェアによって実行される。00117ステップ2000では、統合リンクと共にウェブページを表示する。このステップを、任意の適切な形で実行することができ、その例は、上で提供される。ステップ2002では、統合リンクの選択を受け取る。ステップ2004では、リンク選択の受取に応答してウェブアプリケーションファイルを作成する。図示され説明される実施形態では、当初に作成されるウェブアプリケーションファイルは、ジャンプリストタスク、開始URL、お気に入りアイコン、および類似物などの関連するウェブサイトからの情報をまだ含まないアーティファクトまたはシェルである。これらを、上で説明したように新しいマークアップおよび/またはJavaScript登録商標APIを介して後に追加することができる。JavaScript登録商標APIを使用するもの以外の技法を、請求される主題の趣旨および範囲から逸脱せずに利用できることを了解し、理解されたい。00118上で説明されるさまざまな実施形態を検討したので、これから、ジャンプリストタスクまたはジャンプリストアイテムからアクセスされるコンテンツを含むコンテンツがクライアントデバイス上でどのようにサーフェシングされなければならないのかを開発者およびウェブサイトが定義できる実施形態を検討されたい。上で注記したように、コンテンツを、さまざまなコンテンツコンベイヤンスを介してサーフェシングすることができる。たとえば、コンテンツを、タブ、ポップアップウィンドウ、ブラウザーウィンドウ、インプレースナビゲーションを使用して、またはフレームもしくは他の要素内などのページ内などの異なるレベルでサーフェシングすることができる。さらに、コンテンツを、HTMLマークアップなどのマークアップなどの宣言的手法および/またはJavascript登録商標の使用を介するなどのスクリプトベースの手法を使用するものなど、異なるサーフェシング機構を使用してサーフェシングさせることができる。00119すぐ下で説明された実施形態を、上で説明した実施形態のいずれかおよび/またはすべてに関連して使用することができることを了解し、理解されたい。コンテンツがどのようにサーフェシングされなければならないのかを定義するためのメタタグの使用001201つまたは複数の実施形態では、メタタグを利用して、コンテンツがクライアントデバイス上でどのようにサーフェシングされなければならないのかを定義することができる。メタタグを、開始URLに関連するウェブページまたは特定のウェブサイトに関連するある他のウェブページを含むHTMLの一部として含めることができる。メタタグを利用して、ジャンプリスト内でサーフェシングされる経験のタイプを定義することができる。メタタグは、ビジュアルコンベイヤンスのタイプおよび/またはコンテンツをユーザーに伝えるのに利用されなければならないその寸法を定義するウィンドウパラメータおよび他の関連するパラメータなどの追加の属性を記述するのに使用される。001211つまたは複数の実施形態による特定のメタタグの例として、次を検討されたい。00122ジャンプリスト選択に関連する新しいタブを開くために、次のメタタグを利用することができる。<METAname=msapplication-taskcontent=name=tab;window-type=tab;action-uri=http://ie-snap/scratchtests/jposey/html/tab.html;icon-uri=/>00123このメタタグは、ウェブアプリケーションモードブラウザーが、受け取られたユーザーアクションに関連する対応するタブを開くことを可能にする。ウェブアプリケーションモードブラウザーは、たとえばオペレーティングシステムまたはある他のシステムコンポーネントに対して行うことができる適当なウィンドウオープン呼出しにメタタグに含まれる情報を伝えることによって、これを行う。たとえば、ユーザーは、静的ジャンプリストタスクを選択することができる。このメタタグフォーマットは、ウェブアプリケーションブラウザーに、ジャンプリスト選択に関連するタブを開くように命ずる。window-typeが、サイト情報がその中に表示されるウィンドウのタイプを含むことに留意されたい。00124ジャンプリスト選択に関連するフルブラウザーウィンドウを開くために、次のメタタグを利用することができる。<METAname=msapplication-taskcontent=name=window;window-type=window;action-uri=http://ie-snap/scratchtests/jposey/html/window.html;icon-uri=/>00125このメタタグは、ウェブアプリケーションモードブラウザーが、受け取られたユーザーアクションに関連する対応するフルブラウザーを開くことを可能にする。ウェブアプリケーションモードブラウザーは、たとえばオペレーティングシステムまたはある他のシステムコンポーネントに対して行うことができる適当なウィンドウオープン呼出しにメタタグに含まれる情報を伝えることによって、これを行う。たとえば、ユーザーは、ジャンプリストタスクを選択することができる。このメタタグフォーマットは、ウェブアプリケーションモードブラウザーに、ジャンプリスト選択に関連するフルブラウザーウィンドウを開くように命ずる。window-typeが、サイト情報がその中に表示されるウィンドウのタイプを含むことに留意されたい。00126インプレースでナビゲートし、現在のウィンドウ内にレンダリングされているコンテンツを新しいコンテンツに置換するために、次のメタタグを利用することができる。<METAname=msapplication-taskcontent=name=self1;window-type=self;action-uri=http://ie-snap/scratchtests/jposey/html/self1.html;icon-uri=/>00127このメタタグは、ウェブアプリケーションモードブラウザーが、受け取られたユーザーアクションに関連するインプレースナビゲーションを行うことを可能にする。ウェブアプリケーションモードブラウザーは、たとえばオペレーティングシステムまたはある他のシステムコンポーネントに対して行うことができる適当なウィンドウオープン呼出しにメタタグに含まれる情報を伝えることによって、これを行う。たとえば、ユーザーは、彼らのウェブアプリケーション内で新しいラジオ局を開くことに関連するジャンプリストタスクを選択することができる。このメタタグフォーマットは、ウェブアプリケーションモードブラウザーに、ジャンプリスト選択に関連するインプレースナビゲーションを行うように命ずる。window-typeが、サイト情報がその中に表示されるウィンドウのタイプを含むことに留意されたい。00128ポップアップウィンドウを開くために、次のメタタグを利用することができる。<METAname=msapplication-taskcontent=name=NoScrollbars;Window-type=window;width=600;height=300;scrollbars=no;action-uri=http://ie-snap/scratchtests/phle/html/NoScrollbars.html;icon-uri=/>00129このメタタグは、ウェブアプリケーションモードブラウザーが、受け取られたユーザーアクションに関連するポップアップウィンドウを開くことを可能にする。ウェブアプリケーションモードブラウザーは、たとえばオペレーティングシステムまたはある他のシステムコンポーネントに対して行うことができる適当なウィンドウオープン呼出しにメタタグに含まれる情報を伝えることによって、これを行う。たとえば、ユーザーは、新規電子メールメッセージを開くことに関連するジャンプリストタスクを選択することができる。このメタタグフォーマットは、ウェブアプリケーションモードブラウザーに、ジャンプリスト選択に関連する新規電子メールメッセージインターフェースを開くように命ずる。window-typeが、サイト情報がその中に表示されるウィンドウのタイプを含むことに留意されたい。また、この例では、メタタグは、開かれるポップアップウィンドウの寸法などの他のパラメータを含む。00130少なくともいくつかの実施形態では、開発者は、サイトがピン留めされた後にタスクバーから直接起動される開始するウィンドウを、デフォルトブラウザーウィンドウ内またはカスタマイズされたポップアップウィンドウ内で開くことができることを指定することができる。これを、すぐ下に示されたメタタグを使用して可能にすることができる。<metaname=msapplication-windowcontent=width=800;height=600;location=no;toolbar=no;resizable=no;scrollbars=no;menubar=no;/>00131上の手法を、性質において全体的に静的なジャンプリストタスクと性質においてより動的なジャンプリストアイテムとの両方に使用することができる。00132さまざまなメタタグに含まれる情報を、任意の適切な位置に格納することができる。たとえば、少なくともいくつかの実施形態では、上で説明されるようにサイトがピン留めされている時に、情報を.websiteファイルに格納することができる。その代わりにまたはそれに加えて、たとえば上で説明されるようにサイトがピン留めされている時に、情報を、クライアントデバイスに関連する1つまたは複数のキャッシュまたはストアに格納することができる。00133たとえば、少なくともいくつかの実施形態では、この情報を、ウェブブラウザーに関連する履歴キャッシュストア内に格納することができる。その代わりにまたはそれに加えて、情報を、ウェブアプリケーションモードブラウザーに関連する内部ストアに格納することができる。ストア内での情報の格納は、ジャンプリストから直接に起動されることによるなど、開始URLから開始されない時に、ウェブアプリケーションを、適当な構成情報を用いて開始することを可能にすることができる。たとえば、ユーザーは、ジャンプリストアイテム選択からウェブアプリケーションを開始することができる。この場合に、情報を、内部キャッシュまたはストアから取り出し、正しい定義されたコンベイヤンスがユーザーのためにコンテンツをサーフェシングするのに使用されることを保証するのに使用することができる。コンテンツがどのようにサーフェシングされなければならないのかを定義するためのスクリプトの使用001341つまたは複数の実施形態では、上で説明されたメタタグ手法に加えてまたはその代わりに、スクリプトを利用して、コンテンツがどのようにサーフェシングされなければならないのかを定義することができる。任意の適切なスクリプトまたはコードベースの手法を、請求される主題の趣旨範囲から逸脱せずに利用することができる。少なくともいくつかの実施形態では、JavaScript登録商標を利用して、コンテンツがクライアントデバイス上でどのようにサーフェシングされなければならないのかを定義することができる。JavaScript登録商標APIを、ウェブサイトによって呼び出して、ウェブアプリケーションモードブラウザーが、その中でユーザーのためにコンテンツを提示すべき特定のウィンドウを開くことを可能にする情報を提供することができる。JavaScript登録商標APIの使用は、たとえば、ジャンプリストアイテムに関連するものなどの動的なシナリオで特に有用である。00135JavaScript登録商標をどのように利用できるのかの単に1つの例として、次を検討されたい。00136ジャンプリスト選択に関連する新しいタブを開くために、次のJavaScript登録商標APIを利用することができる。window.external.msSiteModeAddJumpListItem’tab’,’http://ie-snap/scratchtests/jposey/html2/tab.html’,’http://ie-snap/scratchtests/jposey/icons/SheepPorcelaine.ico’,’tab’00137このJavaScript登録商標は、ウェブアプリケーションモードブラウザーが、受け取られたユーザーアクションに関連する対応するタブを開くことを可能にする。ウェブアプリケーションモードブラウザーは、たとえばオペレーティングシステムまたはある他のシステムコンポーネントに対して行うことができる適当なウィンドウオープン呼出しにJavaScript登録商標呼出しに含まれる情報を伝えることによって、これを行う。最後のパラメータが、サイト情報がその中に表示されるウィンドウのタイプを取り込むことに留意されたい。00138ジャンプリスト選択に関連するフルブラウザーウィンドウを開くために、次のJavaScript登録商標APIを利用することができる。window.external.msSiteModeAddJumpListItem’window’,’http://ie-snap/scratchtests/jposey/html2/window.html’,’http://ie-snap/scratchtests/jposey/icons/SheepPorcelaine.ico’,’window’00139このJavaScript登録商標は、ウェブアプリケーションモードブラウザーが、受け取られたユーザーアクションに関連する対応するフルブラウザーウィンドウを開くことを可能にする。ウェブアプリケーションモードブラウザーは、たとえばオペレーティングシステムまたはある他のシステムコンポーネントに対して行うことができる適当なウィンドウオープン呼出しにJavaScript登録商標呼出しに含まれる情報を伝えることによって、これを行う。最後のパラメータが、サイト情報がその中に表示されるウィンドウのタイプを取り込むことに留意されたい。00140インプレースでナビゲートし、現在のウィンドウ内にレンダリングされているコンテンツを新しいコンテンツに置換するために、次のJavaScript登録商標を利用することができる。window.external.msSiteModeAddJumpListItem’self1’,’http://ie-snap/scratchtests/jposey/html2/self1.html’,’http://ie-snap/scratchtests/jposey/icons/PandaPorcelaine.ico’,’self00141このJavaScript登録商標は、ウェブアプリケーションモードブラウザーが、受け取られたユーザーアクションに関連するインプレースナビゲーションを行うことを可能にする。ウェブアプリケーションモードブラウザーは、たとえばオペレーティングシステムまたはある他のシステムコンポーネントに対して行うことができる適当なウィンドウオープン呼出しにJavaScript登録商標呼出しに含まれる情報を伝えることによって、これを行う。最後のパラメータが、サイト情報がその中に表示されるウィンドウのタイプを取り込むことに留意されたい。00142図21は、1つまたは複数の実施形態による方法のステップを説明する流れ図である。この方法を、任意の適切なハードウェア、ソフトウェア、ファームウェア、またはその組合せによって実行することができる。少なくともいくつかの実施形態では、この方法の諸態様は、適切に構成されたウェブアプリケーションモードブラウザーなどのクライアント上で実行されるソフトウェアによって実行される。00143ステップ2100では、クライアントデバイス上でウェブアプリケーションを開始する。これをどのように行うことができるのかの例は、上で提供される。1つまたは複数の実施形態では、ウェブアプリケーションは、上で説明したようにクライアントデバイス上で構成される。たとえば、ウェブアプリケーションを、クライアントデバイス上でたとえばタスクバー、スタートメニュー、またはデスクトップにピン留めすることができる。ステップ2102では、関連するクライアントデバイス上でそれを用いてコンテンツを提示すべきサイト指定のコンベイヤンスを確かめる。コンベイヤンスのタイプを、任意の適切な形で指定することができる。たとえば、少なくともいくつかの実施形態で、サイト指定のコンベイヤンスを、限定ではなく例として、HTMLなどのマークアップの使用を介するなど、宣言的な形で指定することができる。その代わりにまたはそれに加えて、サイト指定のコンベイヤンスを、JavaScript登録商標などのスクリプトの使用に対して指定することができる。ステップ2104では、サイト指定のコンベイヤンスを使用してコンテンツを提示する。00144さまざまなウェブアプリケーション統合技法を検討したので、これから、上で説明された実施形態のうちの1つまたは複数を実施するのに利用できる例示的なシステムを検討されたい。例示的なシステム00145図22に、上で説明されたさまざまな実施形態を実施するのに使用できる例示的なコンピューティングデバイス2200を示す。コンピューティングデバイス2200は、たとえば、図1のコンピューティングデバイス102または任意の他の適切なコンピューティングデバイスとすることができる。00146コンピューティングデバイス2200は、1つまたは複数のプロセッサまたは処理ユニット2202、1つまたは複数のメモリおよび/またはストレージコンポーネント2204、1つまたは複数の入出力I/Oデバイス2206、ならびにさまざまなコンポーネントおよびデバイスがお互いと通信することを可能にするバス2208を含む。バス2208は、メモリバスまたはメモリコントローラ、周辺バス、acceleratedgraphicsport、およびさまざまなバスアーキテクチャのいずれかを使用するプロセッサバスまたはローカルバスを含む、複数のタイプのバス構造のいずれかのうちの1つまたは複数を表す。バス2208は、有線バスおよび/または無線バスを含むことができる。00147メモリ/ストレージコンポーネント2204は、1つまたは複数のコンピューター記憶媒体を表す。コンポーネント2204は、揮発性媒体ランダムアクセスメモリRAMなどおよび/または不揮発性媒体読取専用メモリROM、フラッシュメモリ、光ディスク、磁気ディスク、その他などを含むことができる。コンポーネント2204は、固定媒体たとえば、RAM、ROM、固定ハードドライブなどならびにリムーバブル媒体たとえば、フラッシュメモリドライブ、リムーバブルハードドライブ、光ディスクなどを含むことができる。001481つまたは複数の入出力デバイス2206は、ユーザーが、コンピューティングデバイス2200にコマンドおよび情報を入力することを可能にし、また、情報をユーザーおよび/または他のコンポーネントもしくはデバイスに提示することを可能にする。入力デバイスの例は、キーボード、カーソル制御デバイスたとえば、マウス、マイクロホン、スキャナなどを含む。出力デバイスの例は、ディスプレイデバイスたとえば、モニタまたはプロジェクタ、スピーカ、プリンタ、ネットワークカードなどを含む。00149さまざまな技法が、本明細書でソフトウェアまたはプログラムモジュールの全般的文脈で説明される場合がある。一般に、ソフトウェアは、特定のタスクを実行するか特定の抽象データ型を実施する、ルーチン、プログラム、オブジェクト、コンポーネント、データ構造などを含む。これらのモジュールおよび技法の実施態様を、ある形のコンピューター可読媒体上に格納し、またはこれを介して伝送することができる。コンピューター可読媒体を、コンピューティングデバイスによってアクセスできる1つまたは複数の任意の使用可能な媒体とすることができる。限定ではなく例として、コンピューター可読媒体は、コンピューター可読記憶媒体を含むことができる。00150コンピューター可読記憶媒体は、コンピューター可読命令、データ構造、プログラムモジュール、または他のデータなどの情報のストレージの任意の方法または技術で実施された、揮発性および不揮発性の、リムーバブルまたはノンリムーバブルの媒体を含む。コンピューター可読記憶媒体は、RAM、ROM、EEPROM、フラッシュメモリ、もしくは他のメモリ技術、CD-ROM、ディジタル多用途ディスクDVD、もしくは他の光学ストレージ、磁気カセット、磁気テープ、磁気ディスクストレージ、もしくは他の磁気ストレージデバイス、または所望の情報を格納するのに使用でき、コンピューターによってアクセスできる任意の他の媒体を含むが、これに限定されない。結論00151さまざまな実施形態は、エンドユーザーがウェブアプリケーションおよびウェブサイトを彼らのデスクトップにインストールすることを可能にする機構を提供する。1つまたは複数の実施形態によれば、クライアントサイドコードを利用して、ウェブサイトに関連する開発者が、ユーザー対話に関連する境界を定義することを可能にし、これらの境界をランタイムエンジンによって実施させることができる。少なくともいくつかの実施形態では、開発者は、JavaScript登録商標コードを介して、スタートメニューショートカットの作成、ナビゲーション、およびいわゆるジャンプリスト統合、ならびにさまざまな他の機能性に関するさまざまな構成を提供することができる。00152さまざまな実施形態は、サイト開発者が、ジャンプリストタスクまたはジャンプリストアイテムからアクセスされるコンテンツを含むコンテンツがクライアントデバイス上でどのようにサーフェシングされなければならないのかを定義することを可能にする。コンテンツを、さまざまなコンテンツコンベイヤンスを介してサーフェシングすることができる。たとえば、コンテンツを、タブ、ポップアップウィンドウ、ブラウザーウィンドウ、インプレースナビゲーションを使用して、または、フレームまたは他の要素内など、ページ内など、異なるレベルでサーフェシングすることができる。さらに、コンテンツを、HTMLマークアップなどのマークアップなどの宣言的手法および/またはJavaScript登録商標の使用を介するなどのスクリプトベースの手法を使用するものなど、異なるサーフェシング機構を使用してサーフェシングさせることができる。00153主題を、構造的特徴および/または方法論的行為に固有の言葉で説明したが、添付の特許請求の範囲で定義される主題が、必ずしも上で説明された特定の特徴または行為に限定されないことを理解されたい。そうではなく、上で説明された特定の特徴および行為は、特許請求の範囲を実施する例の形として開示されるものである。"