(57)【要約】  さまざまな実施形態は、エンドユーザーがデスクトップにウェブアプリケーションおよびウェブサイトをインストールすることを可能にする機構を提供する。１つまたは複数の実施形態によれば、クライアントサイドコードを利用して、ウェブサイトに関連する開発者が、ユーザー対話に関連する境界を定義することを可能にし、これらの境界をランタイムエンジンによって実施させることができる。少なくともいくつかの実施形態では、開発者は、ＪａｖａＳｃｒｉｐｔコードおよび／またはＨＴＭＬマークアップを介して、スタートメニューショートカットの作成、ナビゲーション、およびいわゆるジャンプリスト統合に関するさまざまな構成を提供することができる。
2014504753.tif 000002
【特許請求の範囲】
【請求項１】
実行されると、
クライアントデバイス上で、ウェブサイトに関連するウェブアプリケーションをインストールすることに関連する指示を受け取るステップであって、ブラウザーメニュー選択を含むブラウザーは、非永続セッションモードで実行されるように構成される、ステップと、
受け取る前記ステップに応答して、
前記ウェブサイトから受信できる情報を含み、
前記ウェブアプリケーションが前記ブラウザーの前記非永続セッションモードの状態で起動されることを可能にするために、前記状態を反映する情報を含む
ように構成されたウェブアプリケーションファイルを作成するステップと
を含む方法を実施するコンピューター可読命令を含む１つまたは複数のコンピューター可読記憶媒体。
【請求項２】
前記指示は、デスクトップのスタートメニュー上に前記ウェブアプリケーションをインストールすることに関連する、請求項１に記載の１つまたは複数のコンピューター可読記憶媒体。
【請求項３】
ＪａｖａＳｃｒｉｐｔ  ＡＰＩを介して前記情報のうちの少なくとも一部を受け取るステップをさらに含む、請求項１に記載の１つまたは複数のコンピューター可読記憶媒体。
【請求項４】
前記ウェブアプリケーションファイルは、前記ウェブサイトに関連する、前記ウェブサイトの代わりに定義される境界が実施されることを可能にするように構成される、請求項１に記載の１つまたは複数のコンピューター可読記憶媒体。
【請求項５】
前記方法は、前記ウェブアプリケーションファイル内の前記情報に少なくとも部分的に基づいて、非永続セッションモード状態で前記ウェブアプリケーションを起動するステップをさらに含む、請求項１に記載の１つまたは複数のコンピューター可読記憶媒体。
【請求項６】
前記非永続セッションモードの状態を反映する前記情報は、フラグを含む、請求項１に記載の１つまたは複数のコンピューター可読記憶媒体。
【請求項７】
実行されると、１つまたは複数のプロセッサーに、
ウェブアプリケーションの非永続セッションモード状態に関連する、前記ウェブアプリケーションに関連する少なくとも１つのプロパティを表示し、
前記少なくとも１つのプロパティが変更されることを可能にし、
前記少なくとも１つのプロパティの変化に応答して、前記変化に関連する情報を用いる前記ウェブアプリケーションに関連するウェブアプリケーションファイルに対する更新を可能にする
ように構成されたユーザーインターフェイスを実施させるコンピューター可読命令を含む１つまたは複数のコンピューター可読記憶媒体。
【請求項８】
前記ユーザーインターフェイスは、前記変更を適用する指示の受取に応答して前記ウェブアプリケーションファイルに対する更新を可能にするようにさらに構成される、請求項７に記載のコンピューター可読記憶媒体。
【請求項９】
前記命令は、前記１つまたは複数のプロセッサーに、さらに、
前記ウェブアプリケーションに関連する前記ウェブアプリケーションファイル内の前記情報に少なくとも部分的に基づいて、非永続セッションモード状態で前記ウェブアプリケーションを起動させる
請求項７に記載のコンピューター可読記憶媒体。
【請求項１０】
前記ウェブアプリケーションに関連するウェブアプリケーションファイルに対する前記更新は、フラグの状態を更新することを含む、請求項７に記載のコンピューター可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、タスクバーピン留め、ジャンプリストタスク起動およびジャンプリストアイテム起動を含むプライベートピン留めに関する。
【背景技術】
【０００２】
[0001]より最近に、産業界は、ウェブアプリケーションまたはウェブサイトをユーザーのコンピューターデスクトップ環境または「デスクトップ」に統合するという概念に焦点を合わせ始めた。しかし、それを行うことに関連する難題がある。たとえば、現在、ウェブサイトが、デスクトップ統合のためにそのサイトの境界を定義することは難しい。したがって、エンドユーザーは、開発するクライアントサイドスクリプトを介してエンドユーザー自身が境界を定義することが委ねられる。これは、特定のウェブサイトがどのように構成されるのかをエンドユーザーが必ずしも知らない場合があるので、問題になる可能性がある。たとえば、エンドユーザーは、リンク、ウェブプロパティの間の関係、またはユーザーに機能性を提供するためにウェブサイトによって使用される他のニュアンスのすべてを必ずしも知らない可能性がある。したがって、エンドユーザーのスクリプトが、これらのリンクまたはニュアンスを正しく認識しない場合があり、したがって、ユーザー経験が望ましくないものになり、または途切れる可能性がある。
【０００３】
[0002]さらに、ユーザーは、現在、デュアルブート問題と称するものに直面している。具体的には、ユーザーは、彼らのパーソナルコンピューターをブートし、彼らのブラウザーを開始し、最後に、彼らが操作することを望む特定のウェブアプリケーションを起動することを強制される。この問題は、ブラウザーが、ブラウザーのクロムに現れるものなどのあまりに多くのユーザーの気を散らすものを提供する可能性があり、ウェブアプリケーションに関連する考慮中の特定のタスクにユーザーが単純に集中することを可能にしないという事実によってさらに悪化する。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
タスクバーピン留め、ジャンプリストタスク起動およびジャンプリストアイテム起動を含むプライベートピン留めを提供する。
【課題を解決するための手段】
【０００５】
[0003]この「課題を解決するための手段」は、下の「発明を実施するための形態」でさらに説明される概念の選択物を単純化された形で紹介するために提供されるものである。この「課題を解決するための手段」は、請求される主題の主要な特徴または本質的特徴を識別することを意図されたものではなく、請求される主題の範囲を限定するのに使用されることも意図されていない。
【０００６】
[0004]さまざまな実施形態は、エンドユーザーがクライアントデバイスデスクトップなどのクライアントデバイスにウェブアプリケーションおよびウェブサイトをインストールすることを可能にする機構を提供する。１つまたは複数の実施形態によれば、クライアントサイドコードを利用して、ウェブサイトに関連する開発者が、ユーザー対話に関連する境界を定義することを可能にし、これらの境界をランタイムエンジンによって実施させることができる。少なくともいくつかの実施形態では、開発者は、ＪａｖａＳｃｒｉｐｔ（登録商標）コードを介して、スタートメニューショートカットの作成、ナビゲーション、およびいわゆるジャンプリスト統合、ならびに多数の他の特徴に関するさまざまな構成を提供することができる。
【０００７】
[0005]いくつかの実施形態では、ウェブアプリケーションを、非永続セッションモードなどの少なくとも１つの特定のモードで実行するように構成することができる。少なくともいくつかの実施形態では、ウェブアプリケーションの少なくとも１つのモードを、インストール中に自動的に構成することができる。その代わりにまたはそれに加えて、ウェブアプリケーションの少なくとも１つのモードを、手動で構成することができる。
【０００８】
[0006]同一の符号は、図面のすべてを通じて同様の特徴を参照するのに使用される。
【図面の簡単な説明】
【０００９】
【図１】[0007]本明細書で説明されるさまざまな原理を１つまたは複数の実施形態に従って使用できるオペレーティング環境を示す図である。
【図２】[0008]１つまたは複数の実施形態によるウェブアプリケーションウィンドウを示す図である。
【図３】[0009]１つまたは複数の実施形態によるＪａｖａＳｃｒｉｐｔ（登録商標）  ＡＰＩを示す図である。
【図４】[0010]１つまたは複数の実施形態によるインストール方法のステップを説明する流れ図である。
【図５】[0011]１つまたは複数の実施形態によるウェブアプリケーション対話方法のステップを説明する流れ図である。
【図６】[0012]１つまたは複数の実施形態によるクライアントデスクトップの一部を示す図である。
【図７】[0013]１つまたは複数の実施形態によるＪａｖａＳｃｒｉｐｔ（登録商標）  ＡＰＩを示す図である。
【図８】[0014]１つまたは複数の実施形態によるウェブサイトとカスタムジャンプリストとの間の動的対話を示す図である。
【図９】[0015]１つまたは複数の実施形態によるクライアントデスクトップの一部を示す図である。
【図１０】[0016]１つまたは複数の実施形態によるクライアントデスクトップの一部を示す図である。
【図１１】[0017]１つまたは複数の実施形態によるインストール方法のステップを説明する流れ図である。
【図１２】[0018]１つまたは複数の実施形態による方法のステップを説明する流れ図である。
【図１３】[0019]１つまたは複数の実施形態による方法のステップを説明する流れ図である。
【図１４】[0020]１つまたは複数の実施形態によるクライアントデスクトップを示す図である。
【図１５ａ】[0021]１つまたは複数の実施形態によるドラッグアンドドロップ操作を概略的に示す図である。
【図１５ｂ】１つまたは複数の実施形態によるドラッグアンドドロップ操作を概略的に示す図である。
【図１６】[0022]１つまたは複数の実施形態によるインストール方法のステップを説明する流れ図である。
【図１７】[0023]１つまたは複数の実施形態によるクライアントデスクトップを示す図である。
【図１８】[0024]１つまたは複数の実施形態によるインストール方法のステップを説明する流れ図である。
【図１９】[0025]１つまたは複数の実施形態によるクライアントデスクトップを示す図である。
【図２０】[0026]１つまたは複数の実施形態による方法のステップを説明する流れ図である。
【図２１】[0027]１つまたは複数の実施形態による例示的な実施態様を示す図である。
【図２２】[0028]１つまたは複数の実施形態を実施するのに利用できる例示的なシステムを示す図である。
【発明を実施するための形態】
【００１０】
概要
[0029]さまざまな実施形態は、エンドユーザーがクライアントデバイスデスクトップなどのクライアントデバイスにウェブアプリケーションおよびウェブサイトをインストールすることを可能にする機構を提供する。１つまたは複数の実施形態によれば、クライアントサイドコードを利用して、ウェブサイトに関連する開発者が、ユーザー対話に関連する境界を定義することを可能にし、これらの境界をランタイムエンジンによって実施させることができる。少なくともいくつかの実施形態では、開発者は、ＪａｖａＳｃｒｉｐｔ（登録商標）コードを介して、スタートメニューショートカットの作成、ナビゲーション、およびいわゆるジャンプリスト統合、ならびに他の特徴に関するさまざまな構成を提供することができる。
【００１１】
[0030]いくつかの実施形態では、ウェブアプリケーションを、非永続セッションモードなどの少なくとも１つの特定のモードで実行するように構成することができる。ウェブアプリケーションインストールプロセスの一部として、ウェブアプリケーションの少なくとも１つのモードを、関連する．ｗｅｂｓｉｔｅファイル内にモード情報を含めることによるなど、自動的に構成することができる。その代わりにまたはそれに加えて、ウェブアプリケーションモードを、手動で構成することができる。
【００１２】
[0031]境界を、機能性がエンドユーザーにどのように公開されるのかに関する、開発者が定義する経験と考えることができる。境界は、別々のアプリケーションに関連付けることができるトップレベルドメインおよびサブドメインなどのウェブサイトドメイン、またはドメイン上でホスティングされるウェブサイトのサブセットに関連する。したがって、境界を、特定のウェブアプリケーションを働かせるのに利用されるドメイン、サブドメイン、フォルダ、サブサイト、プロトコル、ホスト、パス、および類似物のセットによって定義することができる。
【００１３】
[0032]１つまたは複数の実施形態では、ウェブサイトは、上および下で説明される機能性を選ぶことができる。この場合に、開発者は、いくつかの場合にＪａｖａＳｃｒｉｐｔ（登録商標）で表される、彼らのウェブサイトに関するユーザーの経験の境界を定義するコードを提供することができる。その代わりにまたはそれに加えて、上および下で説明される機能性を選ばないウェブサイトは、彼らに提供されるデフォルト経験を有することができる。
【００１４】
[0033]次の議論では、「オペレーティング環境」という題名のセクションが、提供され、１つまたは複数の実施形態を使用できる１つの環境を説明する。これに続いて、「統合インフラストラクチャ」という題名のセクションが、１つまたは複数の実施形態に従って、ウェブアプリケーションをクライアントデバイスに統合することを可能にするインフラストラクチャを説明する。次に、「ジャンプリスト統合」という題名のセクションでは、１つまたは複数の実施形態に従って、いわゆるジャンプリストをどのように統合できるのかを説明する。次に、「タスクバーピン留め」という題名のセクションでは、１つまたは複数の実施形態に従って、ウェブアプリケーションをどのようにしてタスクバーにピン留めできるのかを説明する。これに続いて、「ウェブアプリケーションモードの手動構成」という題名のセクションでは、ウェブアプリケーションが実行されるモード（１つまたは複数）をユーザーがどのように手動で変更し、かつ／または構成できるのかを説明する。最後に、「例示的なシステム」という題名のセクションでは、１つまたは複数の実施形態を実施するのに利用できる例示的なシステムを説明する。
【００１５】
[0034]これから、１つまたは複数の実施形態を実施できる例示的なオペレーティング環境を検討されたい。
オペレーティング環境
[0035]図１に、全体的に１００に、１つまたは複数の実施形態によるオペレーティング環境を示す。環境１００は、１つまたは複数のプロセッサー１０４、１つまたは複数のコンピューター可読記憶媒体１０６、およびコンピューター可読記憶媒体上に常駐し、プロセッサー（１つまたは複数）によって実行可能な１つまたは複数のアプリケーション１０８を有するコンピューティングデバイス１０２を含む。コンピューター可読記憶媒体は、限定ではなく例として、通常はコンピューティングデバイスに関連するすべての形の揮発性および不揮発性のメモリおよび／または記憶媒体を含むことができる。そのような媒体は、ＲＯＭ、ＲＡＭ、フラッシュメモリ、ハードディスク、リムーバブル媒体、および類似物を含むことができる。コンピューティングデバイスの一特定の例を、図２２に示し、下で説明する。
【００１６】
[0036]さらに、コンピューティングデバイス１０２は、ウェブブラウザー１１０の形のソフトウェアアプリケーションを含む。任意の適切なウェブブラウザーを使用することができ、ウェブブラウザーの例は、本文書の譲受人および他者から入手可能である。さらに、コンピューター可読記憶媒体１０６は、上および下で説明されるように動作するウェブアプリケーションモードブラウザー１１１を含むことができる。ウェブアプリケーションモードブラウザー１１１は、それぞれウェブサイトからおよびウェブサイトへのＡＰＩ呼出しを受け取り、行い、ウェブアプリケーションインストールプロセスを監督し、境界を実施し、上および下で説明される機能性を使用可能にする、ランタイムエンジンとして働く。動作時に、ウェブアプリケーションモードブラウザーは、フルブラウザーの切り詰められたバージョンであり、通常のブラウザー機能性の多くがオフに切り替えられている。いくつかの場合に、ウェブアプリケーションモードブラウザーを、通常のブラウザーコントロールの多くを含まない「クロムレス」ブラウザーと考えることができる。しかし、いくつかのコマンドを、ミニチュアコントロールバーを介して公開することができる。したがって、ウェブアプリケーションモードブラウザーは、ユーザーの気を散らすものの多くを除去し、ユーザーが彼らのウェブアプリケーションとどのように対話するのかをウェブサイトが制御できる、方向付けられたウェブサイト定義のユーザー経験を可能にする。
【００１７】
[0037]動作時に、ウェブアプリケーションモードブラウザーを、ウェブサイトとクライアントデバイスのオペレーティングシステムとの間に論理的に常駐するものと考えることができる。したがって、ウェブアプリケーションモードブラウザーは、ウェブサイトから呼出しを受信し、それに応答して、本明細書で説明される機能性に影響するためにオペレーティングシステム呼出しを行う。同様に、ウェブアプリケーションモードブラウザーは、ウェブサイトの機能性に影響する、オペレーティングシステムからの呼出しを受け取ることができる。たとえば、オペレーティングシステムは、デスクトップのタスクバーとの対話を可能にするＡＰＩを公開する。ウェブアプリケーションモードブラウザーは、下で明らかになるように、ウェブサイトから呼出しを受信し、それに応答して、タスクバー機能性を使用可能にするＡＰＩ呼出しを行うことができる。
【００１８】
[0038]ウェブアプリケーションモードブラウザー１１１を、スタンドアロンコンポーネントとして実施することができる。その代わりにまたはそれに加えて、ウェブアプリケーションモードブラウザー１１１を、アプリケーション１０８および／またはウェブブラウザー１１０の一部として実施することができる。
【００１９】
[0039]さらに、環境１００は、インターネットなどのネットワーク１１２と、コンテンツをそれから受信し、それに送信できる１つまたは複数のウェブサイト１１４とを含む。そのようなコンテンツは、上および下で説明されるように、ウェブアプリケーションなど、クライアントデスクトップに統合されまたは他の形でクライアントデバイスを介して使用可能なコンテンツを含むことができる。
【００２０】
[0040]コンピューティングデバイス１０２を、限定ではなく例として、デスクトップコンピューター、ポータブルコンピューター、携帯情報端末（ＰＤＡ）などのハンドヘルドコンピューター、セル電話機、および類似物などの任意の適切なコンピューティングデバイスとして実施することができる。
【００２１】
[0041]例示的なオペレーティング環境を説明したので、ここで、ウェブアプリケーションをクライアントデバイスに統合することを可能にするインフラストラクチャの議論を検討されたい。
統合インフラストラクチャ
[0042]１つまたは複数の実施形態によれば、ウェブサイトは、より一般的な「サイトモード」経験の一部として提供されるドメインナビゲーションを選ぶことができる。ドメインナビゲーションは、ユーザーが特定のドメインの内部および外部のリンクにアクセスする時に、ウェブサイトがその既存のウェブサイトの挙動をカスタマイズすることを可能にする。開発者が指定した境界の内部のリンクにアクセスする時に、関連するウェブアプリケーションの一部としてウェブアプリケーションモードブラウザーによってレンダリングされるウェブアプリケーションウィンドウ内で、コンテンツをレンダリングし、消費することができる。開発者が指定した境界の外部のリンクにアクセスする時に、関連するコンテンツを、ウェブアプリケーションモードブラウザーの外部のデフォルトブラウザーの内部でレンダリングし、消費することができる。これは、どのドメインをウェブサイトの拡張として扱わなければならず、どのドメインを拡張として扱ってはならないのかを、ウェブサイトが定義することを可能にする。
【００２２】
[0043]１つまたは複数の実施形態では、ナビゲーションドメインは、ウェブ開発者によって定義され、そのコンテンツが統合されたウェブサイトの一部としてウェブアプリケーションモードブラウザーによってまたはウェブアプリケーションモードブラウザーの外部でデフォルトブラウザー内で表示されるリンクを識別することができる。さらに、ウェブアプリケーションページの集合を一緒に関連付けるのに使用されるデフォルトドメインパラメータを定義することができる。
【００２３】
[0044]一例として、次のインラインドメインページ定義を検討されたい。
＊ｃｏｎｔｏｓｏ．ｃｒｍ．ｄｙｎａｍｉｃｓ．ｃｏｍ＼＊；＊．ｍｉｃｒｏｓｏｆｔ．ｃｏｍ＼＊；
[0045]このドメインページ定義は、下の形のＵＲＩを、同一のデスクトップウェブアプリケーションウィンドウ内に表示することを可能にする。
【００２４】
ｓａｌｅｓ．ｃｏｎｔｏｓｏ．ｃｒｍ．ｄｙｎａｍｉｃｓ．ｃｏｍ＼＊
ｈｒ．ｃｏｎｔｏｓｏ．ｃｒｍ．ｄｙｎａｍｉｃｓ＼＊
＊．ｍｉｃｒｏｓｏｆｔ．ｃｏｍ＼ｃｒｍ＼
[0046]同様に、このドメインページ定義は、リンク参照がデスクトップウェブアプリケーションウィンドウ内のページの内部である場合であっても、他のＵＲＩをデスクトップウェブアプリケーションウィンドウの外部に表示することを強制する。
【００２５】
ｗｗｗ．ｂｉｎｇ．ｃｏｍ
ｈｏｍｅ．ｌｉｖｅ．ｃｏｍ
[0047]上のドメインページ定義では、ワイルドカードが、ウェブアプリケーションインストールＡＰＩの内部で利用される。このＡＰＩは、通常、ユーザーがウェブサイトによって提供されるウェブサイト統合リンクを選択する時に、ウェブサイトによって呼び出される。このＡＰＩは、ウェブアプリケーションファイルまたは「．ｗｅｂｓｉｔｅ」ファイルに、デスクトップ、タスクバー、もしくはスタートメニュー内、またはウェブサイトショートカットを起動するのに使用される任意の他の適切な位置内の情報およびコンテンツを投入することができる。任意の適切なファイル拡張子を使用して、ウェブアプリケーションファイルを指定できることを了解し、理解されたい。ナビゲーションドメインおよび他の境界情報は、．ｗｅｂｓｉｔｅファイル内に格納される。
【００２６】
[0048]．ｗｅｂｓｉｔｅファイルが起動される時に、その中のナビゲーションドメインは、ウェブアプリケーションモードブラウザー１１１によって実施される。ユーザーによって選択されまたはウェブサイトによってアクセスされるリンクは、それらがワイルドカードドメインと一致する限り、ウェブアプリケーションウィンドウの内部で実行され続ける。しかし、定義されたナビゲーションドメインの外部のウェブサイトが検出される時には、デフォルトブラウザーが、インスタンス化されるか他の形で使用され、そのウェブサイトに関連するコンテンツは、ウェブアプリケーションウィンドウの外部でデフォルトブラウザーの内部に表示される。
【００２７】
[0049]一例として、図２を検討されたく、図２は、ａ．ｃｏｍ（２０２）、ｂ．ｃｏｍ（２０４）、およびｄ．ｃｏｍ（２０６）のナビゲーションドメインセットを有するウェブアプリケーションウィンドウ２００を示し、これは、これらのドメインからのすべてのページが、ウェブアプリケーションウィンドウ２００の内部に表示されることを暗示する。ｃ．ｃｏｍ（２０８）またはｅ．ｃｏｍ（２１０）からのページがウェブアプリケーションウィンドウ２００内からアクセスされる時には、これらは、ウェブアプリケーションウィンドウ２００内ではなくデフォルトブラウザーウィンドウ内に表示される。
【００２８】
[0050]図３に、１つまたは複数の実施形態によるＪａｖａＳｃｒｉｐｔ（登録商標）  ＡＰＩを３００に示す。図示のＪａｖａＳｃｒｉｐｔ（登録商標）  ＡＰＩは、ウェブサイトがウェブアプリケーションをクライアントデスクトップと統合することを可能にする。このＡＰＩは、ウェブアプリケーションまたはランタイムエンジンによって実施されるナビゲーションドメインを定義する。この例では、ナビゲーションドメインは、上で示したようにワイルドカード表現を使用して記述される。このＡＰＩは、クライアントデバイス上のコンテンツおよび情報を用いる．ｗｅｂｓｉｔｅアプリケーションファイル３０２の投入または更新を可能にし、ナビゲーションドメインおよび他の情報を．ｗｅｂｓｉｔｅアプリケーションファイル３０２に格納する。これらのナビゲーションドメインは、ウェブアプリケーションが起動される時に実施される。
【００２９】
[0051]その代わりにまたはそれに加えて、ウェブサイトアプリケーションファイルは、ウェブアプリケーションの１つまたは複数のモードに関連する構成パラメータ（１つまたは複数）および／またはフラグ（１つまたは複数）を含むことができる。たとえば、．ｗｅｂｓｉｔｅアプリケーションファイル３０２は、関連するウェブアプリケーションを起動すべきモードを示すのに使用できるフラグ、ｂＮｏｎＰｅｒｓｉｓｔｅｎｔＳｅｓｓｉｏｎＭｏｄｅを含む。この特定の例では、ｂＮｏｎＰｅｒｓｉｓｔｅｎｔＳｅｓｓｉｏｎＭｏｄｅには真がセットされ、これは、関連するウェブアプリケーションを「非永続セッション」モードまたは「プライベート」モードで起動することに対応する。ウェブブラウジングセッション中に、訪問されたウェブサイトの履歴、ログイン資格情報、ユーザーが入力した情報、および類似物など、ブラウジングセッションに関連する情報を保持するように、アプリケーションを構成することができる。いくつかの実施形態では、アプリケーションを、「プライベート」モードで実行するように構成することができ、このモードでは、ブラウジングセッションに関連する情報は、保持されず、かつ／またはブラウジングセッションの終りにシステムメモリから消去される。ウェブアプリケーションを「プライベート」になるようにまたは「非永続セッション」モードで構成することによって、ウェブアプリケーションに関連するブラウジングセッション情報は、保持されない。もう１つの例では、ユーザーは、ピン留めされたウェブサイトがアクセスされるたびに新しいセッションを起動するようにウェブアプリケーションを構成することができる。たとえば、複数のユーザーが１台のコンピューティングデバイスを共有する環境では、セッション情報を保存させるが、各ユーザーが彼または彼女のログイン情報を入力することを強制するために、ピン留めされたウェブサイトがアクセスされるたびに、新しいウェブアプリケーションを起動することが望ましい場合がある。「非永続セッション」モードの場合と同様に、上および下で説明されるように、さまざまな機構を介して「アクセスごとの新規セッション」モッドで起動されまたは実行されるように、ウェブアプリケーションを構成することができる。
【００３０】
[0052]図示され説明される実施形態では、．ｗｅｂｓｉｔｅアプリケーションファイル３０２は、ウェブサイトがそのサイトモード構成のために定義した情報ならびにウェブアプリケーションモードブラウザー構成（１つまたは複数）に関連する情報を含む。この情報は、ウェブアプリケーションモードブラウザーによって表示される初期ページである開始ＵＲＬ、ウェブサイトが指定したナビゲーションドメインのすべて、ウェブアプリケーションタイトル、およびいわゆるお気に入りアイコンを含む。下で説明するように、他の情報を含めることができる。
【００３１】
[0053]ここで、ウェブアプリケーションがクライアントサイドで起動された後に、ウェブアプリケーションモードブラウザーは、ウェブアプリケーションファイルを読み取り、その中で定義された境界およびモード（１つまたは複数）を実施する。上で注記したように、ウェブアプリケーション経験は、特定のウェブサイトおよびそのニュアンスの知識を有する開発者によって定義されるので、完全で統合されたユーザー経験を提供することができる。
【００３２】
[0054]図４は、１つまたは複数の実施形態によるインストール方法のステップを説明する流れ図である。この方法を、任意の適切なハードウェア、ソフトウェア、ファームウェア、またはその組合せによって実行することができる。少なくともいくつかの実施形態では、この方法の諸態様は、クライアントデバイス上で実行されるソフトウェアによって実行される。
【００３３】
[0055]ステップ４００では、ウェブサイト統合特徴を選択する。このステップを、任意の適切な形で実行することができる。通常、このステップは、ユーザーが、ウェブアプリケーションインストールプロセスを開始するために手段を選択するか他の形でアクションを行う時に実行される。たとえば、ユーザーは、彼がウェブアプリケーションを統合することを可能にするリンクを選択することができる。これをどのように行うことができるのかの特定の例を、下で提供する。
【００３４】
[0056]ステップ４０２では、クライアントデバイス上でウェブアプリケーションファイル（本明細書では「．ｗｅｂｓｉｔｅ」ファイルと表す）を作成する。このファイルは、当初に作成される時に、ウェブサイトからまたはウェブサイトの代わりに受信されたコンテンツおよび情報ならびにウェブアプリケーションモード構成（１つまたは複数）をその後に投入できるアーティファクトまたはシェルを構成することができる。ステップ４０４では、ウェブアプリケーションファイルにウェブアプリケーションコンテンツを投入する。このステップを、任意の適切な形で実行することができる。たとえば、このステップを、上および下で提供されるＪａｖａＳｃｒｉｐｔ（登録商標）  ＡＰＩ例を使用することによって実行することができる。その代わりにまたはそれに加えて、このステップを、ＨＴＭＬなどのマークアップの使用を介して実行することができる。
【００３５】
[0057]クライアント上でウェブアプリケーションファイルを作成し、これにコンテンツを投入したので、今や、ウェブアプリケーションを起動し、これと対話することができる。
【００３６】
[0058]図５は、１つまたは複数の実施形態によるウェブアプリケーション対話方法のステップを説明する流れ図である。この方法を、任意の適切なハードウェア、ソフトウェア、ファームウェア、またはその組合せによって実行することができる。少なくともいくつかの実施形態では、この方法の諸態様は、クライアント上で実行されるソフトウェアおよびウェブサイトをサポートするサーバーで実行されるソフトウェアによって実行される。したがって、この図の１つの列は、これらのステップがクライアントによってまたはクライアントでたとえばウェブアプリケーションモードブラウザーによって実行されることを示すために「クライアント」と示され、１つの列は、これらのステップがウェブサイトによってまたはウェブサイトの代わりに実行されることを示すために「ウェブサイト」と示される。
【００３７】
[0059]ステップ５００では、サイトモードのユーザー選択を受け取る。このステップを、任意の適切な形で実行することができる。たとえば、クライアントデスクトップ上にインストールされたショートカットを利用して、サイトモード選択を受け取ることができる。サイトモード選択の受取に応答して、ステップ５０２では、開始ＵＲＬを要求する。開始ＵＲＬは、上で説明したウェブアプリケーションファイル内で見つけることができる。
【００３８】
[0060]ステップ５０４では、開始ＵＲＬ要求を受信する。ステップ５０６では、開始ＵＲＬに関連するコンテンツを含む関連するウェブリソースをクライアントに返す。
[0061]ステップ５０８では、関連するウェブリソースを受信し、ステップ５１０では、ウェブリソースをウェブアプリケーションウィンドウ内でレンダリングする。上で説明されるように、ウェブアプリケーションウィンドウは、ウェブアプリケーションモードブラウザーによってレンダリングされる。いくつかの実施形態では、上で説明されるように、ウェブアプリケーションモードブラウザーランタイム構成を、部分的にウェブアプリケーションファイル内で見つけることができる。ステップ５１２では、ウェブアプリケーションウィンドウ内でレンダリングされたリソースに関するユーザー対話を受け取る。ユーザー対話は、任意の適切なタイプのユーザー対話を含むことができる。たとえば、ユーザー対話は、ウェブアプリケーションウィンドウ内から発するナビゲーションアクティビティを含むことができる。ステップ５１４では、ユーザー対話がウェブアプリケーションファイルによって定義される境界内であるかどうかを確かめる。ユーザー対話がウェブアプリケーションファイルによって定義される境界内である場合には、ステップ５１６で、ウェブアプリケーションウィンドウ内でユーザー対話に関連するコンテンツをレンダリングする。その一方で、ユーザー対話がウェブアプリケーションファイルによって定義される境界内ではない場合には、ステップ５１８で、デフォルトウェブブラウザー内でユーザー対話に関連するコンテンツをレンダリングする。
【００３９】
[0062]この形で、特定のウェブサイトについてウェブサイト開発者によって定義された境界を実施して、ユーザー経験が開発者の望み通りに保たれることを保証することができる。たとえば、ウェブサイトによって定義された開始ＵＲＬは、ホームページであり、ウェブアプリケーションモードでのホームページへの後続アクセスは、ユーザーの元々定義されたブラウザーホームページではなく、開始ＵＲＬにナビゲートする。これは、いくつかの関連しないホームページではなく、ウェブアプリケーション固有ページへのすばやいアクセスを可能にする。これは、エンドユーザーが、正確に働く場合とそうでない場合とがある彼ら自体のサイト固有経験を定義する必要を軽減する。したがって、完全で統合されたインテリジェントに管理される経験を、エンドユーザーに提供することができる。
【００４０】
[0063]例示的なインストールおよび対話経験を説明したので、ここで、ジャンプリスト統合の概念を検討されたい。
ジャンプリスト統合
[0064]１つまたは複数の実施形態では、開発者は、ウェブサイトが、そのウェブサイトと対話するのに使用できる一連のいわゆるジャンプリストタスクをデスクトップ統合中に定義することを可能にすることができる。さらに、少なくともいくつかの実施形態では、ウェブサイトは、カスタムジャンプリストを作成し、更新することができる。
【００４１】
[0065]ジャンプリストを、ユーザーに提示される関連するタスクまたはコンテンツのセットを構成するリストと考えることができる。ジャンプリストを介して、ウェブサイトは、ユーザーへの関連する有用な情報の留出を促進することができる。ジャンプリストは、特定のウェブアプリケーションの能力または機能性に関連する。たとえば、電子メールアプリケーションのジャンプリストは、連絡先を開き、新規電子メールメッセージを作成するなどの能力をユーザーに与えるタスクを含むことができる。いくつかの場合に、ジャンプリストは、関連する最もしばしば使用されるコマンドおよびデータのリストを含むことができる。
【００４２】
[0066]１つまたは複数の実施形態では、ジャンプリスト機能性を、静的要素と動的要素との両方を含むように実施することができる。
[0067]開発者は、上で説明したように、ウェブアプリケーションファイルに投入するウェブアプリケーションインストールプロセス中に静的要素を定義することができる。静的要素に関連するセッティングを、ウェブアプリケーションファイルの内部に格納することができる。１つまたは複数の実施形態では、セッティングは、リスト名および関連するタスクを含むことができる。少なくともいくつかの例では、静的要素は、一般的に使用される機能性を表す要素を構成することができる。
【００４３】
[0068]動的要素に関連するセッティングを、ウェブアプリケーションウィンドウの内部で走行するウェブサイトページによって駆動することができる。これらのセッティングは、ユーザーにとって認識できるしるしを動的に公開するセッティングを含む。たとえば、あるセッティングが、カスタムジャンプリストにアイテムを追加することができ、あるセッティングが、オーバーレイアイコンを表示することができ、その例は、下で提供される。少なくともいくつかの実施形態では、動的セッティングを、ウェブアプリケーションが起動されるたびにクリアし、ウェブアプリケーションスクリプトコードによって構成することができる。
【００４４】
[0069]一実施形態によるカスタムジャンプリストの例として、全体的に６００にクライアントデスクトップの一部を示す図６を検討されたい。カスタムジャンプリスト６０２が、１つまたは複数の実施形態に従って公開されている。ここで、静的要素は、６０４に示され、動的要素は、６０６に示されている。この例では、静的要素リスト名は、「タスク」であり、タスクまたは静的要素は、「新規電子メールメッセージ」、「新規面会予約」、「新規連絡先」、および「新規タスク」である。動的要素リスト名は、「今日」であり、タスクまたは動的要素は、この例では、ユーザーのカレンダから生成されたリマインダーを含む。動的要素は、関連するウェブサイトによって動的に投入される。したがって、この例では、動的要素またはコンテンツは、通常はユーザーのアクションと独立の、ユーザーへの通知の提供に関連する。
【００４５】
[0070]上で注記したように、ジャンプリストを、デスクトップ統合プロセス中に定義することができる。タスクおよびジャンプリスト定義を、ウェブアプリケーションファイルの内部に格納することができる。一例として、７００に１つまたは複数の実施形態によるＪａｖａＳｃｒｉｐｔ（登録商標）  ＡＰＩを示す図７を検討されたい。図示のＪａｖａＳｃｒｉｐｔ（登録商標）  ＡＰＩは、ウェブサイトがクライアントデスクトップと統合し、ジャンプリストを定義することを可能にする。このＪａｖａＳｃｒｉｐｔ（登録商標）  ＡＰＩは、「ｃｕｓｔｏｍ  ｔａｓｋ」および「ｃｕｓｔｏｍＪｕｍｐＬｉｓｔ」の存在を除いて、図３に関して説明されたものと同一またはこれに類似するものとすることができる。簡潔さのために、図３の内容の一部は、省略されている。少なくともいくつかの実施形態では、ジャンプリストタスクの静的リストの初期作成を、ＨＴＭＬ文書の内部で定義されるマークアップによって、たとえばＨＴＭＬタグを使用して定義することができる。
【００４６】
[0071]たとえば、静的リスト機能性を記述するのにメタタグを使用する、すぐ下の例を検討されたい。
＜ＭＥＴＡ  ｎａｍｅ＝”ｍｓａｐｐｌｉｃａｔｉｏｎ−ｔａｓｋ”
ｃｏｎｔｅｎｔ＝”ｎａｍｅ＝Ｔａｓｋ；
ｕｒｉ＝ｈｔｔｐ：／／ｍａｒａｐ／ｔｅｓｔ３．ｈｔｍｌ；
ｉｃｏｎ−ｕｒｉ＝ｈｔｔｐ：／／ｍａｒａｐ／ｉｃｏｎ３．ｉｃｏ”／＞
[0072]タスクが実行される時に、１つまたは複数の実施形態では、２つのオプションがある。たとえば、タスクに関連するＵＲＬを、現在見られているウェブページを含むものと同一のウェブアプリケーション／ブラウザーウィンドウの内部で開くことができる。その代わりにまたはそれに加えて、新しいページを起動することができる。その代わりにまたはそれに加えて、新しいポップアップウィンドウを表示することができる。
【００４７】
[0073]これらのパラメータが定義され、システムによって読み取られた後に、下で説明するように、ユーザーが彼らのデスクトップ上にウェブサイトをインストールする時に、スタートメニューに追加することまたはタスクバーにピン留めすることによって、これらのパラメータを使用することができる。それと同時に、少なくともいくつかの実施形態では、ジャンプリスト上でウェブサイトクライアントコードによって操作できる動的値のセットがある。
【００４８】
[0074]「カスタムタスク」は、ウェブサイトによって、上で説明されたように静的タスクを定義するのに利用される。この例では、静的タスクは新規メッセージ静的タスクである。このＡＰＩは、デスクトップ上に．ｗｅｂｓｉｔｅアプリケーションファイル７０２を作成し、ナビゲーションドメイン（図３の例と同様）およびジャンプリストに関連する情報などの他の情報を格納する。
【００４９】
[0075]図示の説明される実施形態では、．ｗｅｂｓｉｔｅアプリケーションファイル７０２は、ウェブサイトがそのサイトモード構成のために定義した情報を含む。この情報は、開始ＵＲＬ、ウェブサイトが指定したナビゲーションドメインのすべて（具体的には図示せず）、ウェブアプリケーションタイトル、およびいわゆるお気に入りアイコンを含む。他の情報は、上で言及した新規メッセージに関連するカスタムタスクと、「カスタムリスト」とを含む。この例では、カスタムリスト要素は、ウェブアプリケーションがクライアント上で走行しつつある時にウェブサイトによって動的に投入され得る動的要素である。ここで、「ｆｒｉｅｎｄｓ（友人）」指定は、動的コンテンツに関連するヘッダを含む。したがって、この場合に、動的コンテンツは、彼らの友人がオンラインである時のユーザーへの通知の提供に関連する。ここで、カスタムリストは、ウェブアプリケーション内に常駐していない別々のＡＰＩである。しかし、カスタムタスクは、ウェブアプリケーション内に常駐する。
【００５０】
[0076]上で述べられるように、．ｗｅｂｓｉｔｅファイルを使用して、「非永続セッション」モードなどの特定のモード（１つまたは複数）で実行するようにウェブアプリケーションを構成することができる。いくつかの実施形態では、そのようなウェブアプリケーションに関連するジャンプリストタスクが選択される時に、新しいウェブアプリケーションを指定されたモード（１つまたは複数）で起動することができる。もう１つの実施形態では、ジャンプリストタスクが選択される時に、ウェブアプリケーションが既に起動され、実行されている場合に、タスクを、ウェブアプリケーションのモード（１つまたは複数）を変更せずに実行することができる。たとえば、実行されているウェブアプリケーションが、「非永続セッション」モードで実行されていない場合には、選択されたジャンプリストタスクの実行は、関連する．ｗｅｂｓｉｔｅファイルに含まれるものにかかわりなく、ウェブアプリケーションのモードを変更しない。
【００５１】
[0077]動作時に、ウェブアプリケーションが走行しつつある時に、静的要素に関連するアイテムを、事前にフェッチし、キャッシングすることができる。その一方で、ウェブアプリケーションが走行しつつある時に、動的要素に関連するアイテムを、ウェブサイトによってオンザフライで提供することができる。動的要素に関連するアイテムをウェブアプリケーションにオンザフライでどのように提供できるのかの実施態様の例として、図８を検討されたい。
【００５２】
[0078]図８に、メッセージが到着したことをユーザーが知ることを可能にするために、ウェブサイトがカスタムジャンプリストと動的にどのように対話できるのかを示す。この例では、ＪａｖａＳｃｒｉｐｔ（登録商標）８００は、ウェブサイトが、ウェブアプリケーションモードブラウザー内でホスティングされるページに更新をどのようにして送信できるのかを示す。ブラウザー内で実行されるクライアントサイドコードは、更新を受信し、スクリーン上でコンテンツを更新し、ジャンプリストにそのリストを更新する要求を送る責任を負う。この例では、ウェブサイトは、リアルタイム経験を提供するためにジャンプリストに情報をプッシュすることができる。ここで、新しいメッセージ、たとえば新規メッセージ０および新規メッセージ１がウェブサイトによって受信される時に、ＪａｖａＳｃｒｉｐｔ（登録商標）呼出しを、ウェブアプリケーションから行って、ジャンプリスト８０２を更新することができる。少なくともいくつかの実施形態では、通知が、タスクバー８０４内に現れて、関連情報が受信されたことをユーザーに知らせることができる。通知は、タスクバー内の任意の適切な位置に現れることができ、任意の適切なタイプの通知を含むことができる。たとえば、通知は、ウェブアプリケーションに関連するアイコン８０６の中またはその付近に現れることができる。その代わりにまたはそれに加えて、通知は、ユーザーの目を引くために点滅することができる。
【００５３】
[0079]一例として、図９を検討されたい。この図では、クライアントデスクトップの一部が、全体的に９００に示されている。タスクバー９０１は、現在のウェブアプリケーションに関連するアイコン９０２を含む。ここでは、オーバーレイアイコン９０４が、アイコン９０２内にレンダリングされていることに留意されたい。この例では、ユーザーは、新規メッセージを受信しており、ウェブサイトは、上で説明したようにウェブアプリケーションを呼び出して、過度にアイコン９０４をアイコン９０２内にレンダリングさせた。これは、新規メッセージが到着したことの通知をユーザーに提供する。過度にアイコン９０４を見ることに応答して、ユーザーは、ジャンプリスト９０５にアクセスして、現在起こりつつあるまたはこれから起ころうとしている面会予約を示す要素９０８を公開する。要素９０６も公開されることにも留意されたい。ＪａｖａＳｃｒｉｐｔ（登録商標）抜粋９１０は、オーバーレイアイコンを更新するのに使用できるコードの一例を示す。
【００５４】
[0080]ウェブサイトとウェブアプリケーションとの間の動的対話は、さまざまな他の形で発生することができる。たとえば、少なくともいくつかの実施形態で、プレビューウィンドウを、ウェブサイトに関するユーザーのアクションに応答して、そのウェブサイトからジャンプリストにプッシュすることができる。図示され説明される実施形態では、プレビューウィンドウは、ウェブサイトによって提供されるミニチュアビューである。プレビューウィンドウを、任意の適切なタイプのユーザーアクションに応答して提供することができる。たとえば、少なくともいくつかの実施形態では、プレビューウィンドウを、ウェブサイトに関連するタスクバーアイコンの上でのマウスホバーに応答して、そのウェブサイトからジャンプリストにプッシュすることができる。その代わりにまたはそれに加えて、プレビューウィンドウを、ウェブアプリケーションのタスクバーアイコンの上にカーソルを置き、左クリックすることによって提供することができる。
【００５５】
[0081]一例として、図１０を検討されたい。この図には、クライアントデスクトップの一部が、全体的に１０００に示されている。タスクバー１００１は、現在のウェブアプリケーションに関連するアイコン１００２を含む。ここでは、ユーザーが、カーソルをアイコン１００２の上に置いていることに留意されたい。それに応答して、プレビューウィンドウ１００４がレンダリングされている。動作時に、カーソルをアイコンの上に置くユーザーのアクションに応答して、イベントが、ウェブページに送信される。そのイベントの受信に応答して、ウェブページは、プレビューを動的に提供することができ、あるいは、キャッシングされたプレビューウィンドウをレンダリングさせることができる。
【００５６】
[0082]少なくともいくつかの実施形態では、プレビューウィンドウをウェブサイトによって使用して、ツールバーボタンおよび関連する挙動を定義することもできる。たとえば、図示され説明される実施形態では、ウェブアプリケーションは、メディアプレイヤアプリケーションと、プレビューウィンドウ１００４にオーバーレイされるユーザーインターフェイス手段１００６内に現れる３つのツールバーボタンとを含む。これらのボタンは、一時停止ボタン、停止ボタン、および再生ボタンを含む。少なくともいくつかの実施形態では、ツールバーボタンを、リモートサーバーと対話する必要を回避するクライアントサイドコードを使用して実施することができる。たとえば、個々のボタンを、特定のウェブページについて登録することができる。各ボタンは、構成され、ＩＤを割り当てられる。ある「リスナ」が、すべてのボタンイベントについて登録される。ボタンが押し下げられた時に、イベントが、生成され、ブラウザーに戻って通信され、このブラウザーは、そのイベントを登録されたイベントリスナに伝搬させる。イベントは、押し下げられたボタンを含む。これは、ボタンの間の曖昧さ排除を可能にする。
実施態様の例
[0083]実施態様の例では、ウェブ開発者は、次のＪａｖａＳｃｒｉｐｔ（登録商標）関数を使用して、ジャンプリスト内のカスタムリストを更新し、タスクバーオーバーレイアイコンを更新することができる。
Ｌｉｓｔ  Ｃｒｅａｔｉｏｎ  Ｂｅｈａｖｉｏｒ（リスト作成挙動）
[0084]これは、カスタムリストのタイトルであるリスト名を定義する。この値は、リストヘッダとして表示される。オプションで、アイテムの名前を含むアイテムリスト、そのアイテムのＵＲＩ値、およびそのアイテムに関連するイメージを提供して、当初にリストに投入することができる。ブラウザーがウェブアプリケーションモードで開始される時に、この機能性をサポートすることができる。
Ｌｉｓｔ  Ｕｐｄａｔｅ  Ｂｅｈａｖｉｏｒ（リスト更新挙動）
[0085]リストアイテム値は、特定のリストアイテムを更新するために提供される。リストアイテム値は、アイテムの名前、そのアイテムのＵＲＩ値、およびそのアイテムに関連するイメージを含む。ブラウザーがウェブアプリケーションモードで開始される時に、この機能性をサポートすることができる。
Ｓｅｔ  Ｏｖｅｒｌａｙ  Ｉｃｏｎ（オーバーレイアイコンをセット）
[0086]既存のタスクバーアイコンのオーバーレイとして使用されるアイコンをポイントするＵＲＩ値が指定される。ブラウザーがウェブアプリケーションモードで開始される時に、この機能性をサポートすることができる。
Ｓｅｔ  Ｐｒｅｖｉｅｗ  Ｉｍａｇｅ（プレビューイメージをセット）
[0087]タスクバープレビューイメージ（またはサムバープレビュー）の絵図表現として使用されなければならないイメージをポイントするＵＲＩ。プレビューは、ユーザーがタスクバーアイコンを左マウスボタンでクリックする時に表示される。
Ｃｌｅａｒ  Ｏｖｅｒｌａｙ  Ｉｃｏｎ（オーバーレイアイコンをクリア）
[0088]これは、タスクバーアイコン上の既存の過度にアイコンを除去する。ブラウザーがウェブアプリケーションモードで開始される時に、この機能性をサポートすることができる。
【００５７】
[0089]ウェブ開発者は、次のＪａｖａＳｃｒｉｐｔ（登録商標）関数を使用して、特定のウェブサイトのタスクバープレビューウィンドウ内に表示されるツールバーボタンのセットを定義し、変更することができる。
Ｔｏｏｌｂａｒ  Ｂｕｔｔｏｎ  Ｉｎｓｔａｌｌａｔｉｏｎ（ツールバーボタンインストール）
[0090]ボタンＩＤのリストが、ヒントおよびイメージＵＲＬと共に指定される。イベントは、ユーザーがツールバーボタンを選択した時に、処理のためにウェブサイトに渡される。ウェブサイトは、ボタンイベントの間の曖昧さを排除することができる。この呼出しは、ボタンを表示するためにサイトモードウィンドウが開かれる時に、少なくとも１回実行される。ブラウザーがウェブアプリケーションモードで開始される時に、この機能性をサポートすることができる。
Ｕｐｄａｔｅ  Ｉｍａｇｅ（イメージを更新）
[0091]これは、指定されたボタンＩＤの状態および可視性を識別する。状態は、有効または無効とすることができる。少なくともいくつかの実施形態では、デフォルトで、ボタンは有効である。ビューは、表示するまたは隠すのいずれかとすることができる。デフォルトで、定義されたボタンは可視である。ブラウザーがウェブアプリケーションモードで開始される時に、この機能性をサポートすることができる。
【００５８】
[0092]図１１は、１つまたは複数の実施形態によるインストール方法のステップを説明する流れ図である。この方法を、任意の適切なハードウェア、ソフトウェア、ファームウェア、またはその組合せによって実行することができる。少なくともいくつかの実施形態では、この方法の諸態様は、クライアントデバイス上で実行されるソフトウェアによって実行される。
【００５９】
[0093]ステップ１１００では、ウェブサイト統合特徴を選択する。このステップを、任意の適切な形で実行することができる。通常、このステップは、ユーザーが、ウェブアプリケーションインストールプロセスを開始するために、手段を選択するか、他の形でアクションを行う時に実行される。たとえば、ユーザーは、彼がウェブアプリケーションを統合することを可能にするリンクを選択することができる。これをどのように行うことができるのかの特定の例は、下で提供される。
【００６０】
[0094]ステップ１１０２では、クライアントデバイス上でウェブアプリケーションファイル（本明細書では「．ｗｅｂｓｉｔｅ」ファイルと表す）を作成する。このファイルは、当初に作成される時に、ウェブサイトからまたはウェブサイトの代わりに受信されたコンテンツおよび情報ならびにすべての関連するウェブアプリケーションを起動すべき少なくとも１つのモードに関連するコンテンツ、情報、および／またはフラグをその後に投入できるアーティファクトまたはシェルを構成することができる。ステップ１１０４では、この例ではジャンプリストを含むウェブアプリケーションコンテンツをウェブアプリケーションファイルに投入する。このステップを、任意の適切な形で実行することができる。たとえば、このステップを、その例が上で説明されるＪａｖａＳｃｒｉｐｔ（登録商標）  ＡＰＩの使用を介して実行することができる。その代わりにまたはそれに加えて、このステップの諸態様を、ＨＴＭＬなどのマークアップの使用を介して実行することができる。
【００６１】
[0095]クライアント上でウェブアプリケーションファイルを作成し、投入したので、今や、ウェブアプリケーションを任意の適切な時に起動することができる。
[0096]図１２は、１つまたは複数の実施形態による方法のステップを説明する流れ図である。これらのステップを、任意の適切なハードウェア、ソフトウェア、ファームウェア、またはその組合せによって実行することができる。少なくともいくつかの実施形態では、この方法を、サーバー上で実行されるソフトウェアに関連してクライアント上で実行されるソフトウェアによって実行することができる。
【００６２】
[0097]ステップ１２００では、ジャンプリストに関連するユーザーアクションを受け取る。任意の適切なユーザーアクションを受け取ることができ、その例は上で提供される。たとえば、少なくともいくつかの実施形態では、ユーザーアクションを、明確に表示されたジャンプリストまたは表示されていないジャンプリストに関して受け取ることができる。その代わりにまたはそれに加えて、ユーザーアクションを、ウェブアプリケーションに関連する表示されたアイコンに関して受け取ることができる。アイコンを、たとえば、デスクトップタスクバー内または任意の他の適切な位置に表示することができる。そのようなアクションの例は、上で提供される。
【００６３】
[0098]ステップ１２０２では、ユーザーアクションに関連するコンテンツを提示する。たとえば、提示されるコンテンツは、ジャンプリスト自体を含むことができる。ジャンプリストを、任意の適切なタイプのユーザーアクションに応答して提示することができ、このユーザーアクションの例は、上で提供される。提示されるコンテンツは、ジャンプリスト自体以外のコンテンツを含むこともできる。たとえば、カスタムプレビューウィンドウを、たとえばタスクバーアイコンの左クリックなどのユーザーアクションに応答して提示することができる。たとえば、ユーザーは、新規メールメッセージを作成するか作文することを選択することができる。
【００６４】
[0099]図１３は、１つまたは複数の実施形態による方法のステップを説明する流れ図である。この方法を、任意の適切なハードウェア、ソフトウェア、ファームウェア、またはその組合せによって実行することができる。少なくともいくつかの実施形態では、この方法の諸態様は、クライアント上で実行されるソフトウェアおよびウェブサイトをサポートするサーバー上で実行されるソフトウェアによって実行される。したがって、この図の１つの列は、これらのステップがクライアントによってまたはクライアントで実行されることを示すために「クライアント」と示され、１つの列は、これらのステップがウェブサイトによってまたはウェブサイトの代わりに実行されることを示すために「ウェブサイト」と示される。
【００６５】
[00100]ステップ１３００では、動的ジャンプリストアイテムに関連する情報を受け取る。任意の適切なジャンプリストアイテムが、情報がその上で受け取られる基礎として働くことができ、その例は上で提供される。ステップ１３０２では、通知を生成し、ステップ１３０４では、ウェブアプリケーションを実行するクライアントデバイスに通知を送信する。
【００６６】
[00101]ステップ１３０６では、通知を受信し、ステップ１３０８では、認識できる通知をユーザーに提供する。任意の適切なタイプの認識できる通知を提供することができる。たとえば、少なくともいくつかの実施形態では、認識できる通知を、オーバーレイアイコンまたは点滅するウェブアプリケーションアイコンなどの視覚的に認識できる通知とすることができる。その代わりにまたはそれに加えて、認識できる通知は、ベルまたはブザーなどの聴覚的に認識できる通知を含むことができる。
【００６７】
[00102]ジャンプリスト統合に関連するさまざまな実施形態を検討したので、これから、１つまたは複数の実施形態による、ウェブサイトがタスクバーなどのデスクトップ特徴にどのようにして「ピン留め」されるようになることができるのかの議論を検討されたい。
タスクバーピン留め
[00103]ウェブアプリケーションがクライアントデスクトップまたはタスクバーと統合されるようになることができるさまざまな形がある。少なくともいくつかの実施形態では、ウェブアプリケーションを、ドラッグアンドドロップ操作を介してデスクトップと統合することができる。その代わりにまたはそれに加えて、ウェブアプリケーションを、ウェブブラウザーのメニュー選択を介して統合することができる。その代わりにまたはそれに加えて、ウェブアプリケーションを、関連するウェブサイト自体によって統合することができる。これらの実施形態の例を、下でそれ自体の見出しの下で議論する。
ドラッグアンドドロップ操作を介する統合
[00104]１つまたは複数の実施形態では、ウェブアプリケーションを、ドラッグアンドドロップ操作を介してデスクトップまたはタスクバーに統合することができる。一例として、図１４を検討されたい。この図では、クライアントデスクトップが、全体的に１４００に示されている。ウェブブラウザーウィンドウ１４０２は、ウェブサイトＵＲＬをその中に表示されたアドレスバー１４０４を含む。このＵＲＬに関連して、「お気に入りアイコン」１４０６と呼ばれるアイコンが示されている。さらに、デスクトップ１４００は、タスクバー１４０８を含む。
【００６８】
[00105]図１５に、１つまたは複数の実施形態によるドラッグアンドドロップ操作を概略的に示す。この例では、カーソルは、お気に入りアイコン１４０６の上に置かれている。お気に入りアイコンを左クリックし、これをタスクバー１４０８に沿ってドラッグすることによって、関連するウェブアプリケーション（この場合にはメッセージボードアプリケーション）を、デスクトップのタスクバー１４０８にピン留めすることができる。ドラッグアンドドロップ操作は、上で説明したようにウェブアプリケーションを統合する統合プロセスを開始し、したがって、これをタスクバーにピン留めする。
【００６９】
[00106]１つまたは複数の実施態様では、ウェブアプリケーションに関連するウェブページが、ブラウザー内に開かれたタブを有する場合に、お気に入りアイコンがタスクバー上にドロップされた後に、関連するタブは、ブラウザーのウィンドウから消えることができる。その代わりにまたはそれに加えて、タブを除去するのではなく、タブの内容を「新規タブ」ページに置換することができる。単一のタブがブラウザーウィンドウ内で開かれている場合には、お気に入りアイコンがタスクバーにピン留めされた後に、ブラウザーウィンドウが消える。この点で、元のサイトに含まれたタブを、ブラウザーが閉じる前だがウェブアプリケーションがピン留めされた後に除去することができる。さらに、少なくともいくつかの実施形態では、ドラッグ操作がタスクバーに入る時に、「タスクバーへピン留め」の形のヒントを提示して、ピン留め機能性についてユーザーに知らせることができる。
【００７０】
[00107]さらに、タスクバーにピン留めされたウェブサイトまたはウェブアプリケーションの状態を、ウェブアプリケーションが初めてインスタンス化される時に、新たに表示されるウィンドウに移植することができる。これは、ユーザーが、アプリケーションを使用できるようになるためにサイトへ資格情報を再入力する必要をなくすことができる。
【００７１】
[00108]いくつかの実施形態では、少なくとも１つの特定のモードで起動されるように、ウェブアプリケーションを自動的に構成することができる。やはり１つまたは複数の実施形態によるドラッグアンドドロップ操作を示す図１５ｂを検討されたい。この特定の例では、ウェブブラウザーウィンドウ１４０２は、指示バー１５０２によって示されるように、この場合には「ＩｎＰｒｉｖａｔｅ（インプライベート）」モードと説明される非永続セッションモードで実行されている。ドラッグアンドドロップ操作が、上で説明されるようにウェブアプリケーションを統合する統合プロセスを開始する時に、統合プロセスは、ウェブブラウザーウィンドウ１４０２がどのモード（１つまたは複数）で実行されているか、この場合には「ＩｎＰｒｉｖａｔｅ」モードが有効になった状態で実行されていることを自動的に識別することができ、識別されたモードの状態を反映する関連するｗｅｂｓｉｔｅファイルにコンテンツを追加することができる。ウェブアプリケーションがその後に起動される時には、．ｗｅｂｓｉｔｅファイル情報を使用して、ウェブアプリケーションを特定のモード（１つまたは複数）で自動的に起動することができる。
【００７２】
[00109]上で説明されるように、ウェブサイトまたはウェブアプリケーションをタスクバーにピン留めし、インストールプロセスを完了したので、今や、ウェブアプリケーションを、関連するお気に入りアイコンを単純にクリックすることによって、タスクバーから起動することができる。
【００７３】
[00110]図１６は、１つまたは複数の実施形態によるインストール方法のステップを説明する流れ図である。この方法を、任意の適切なハードウェア、ソフトウェア、ファームウェア、またはその組合せによって実行することができる。少なくともいくつかの実施形態では、この方法の諸態様は、クライアント上で実行されるソフトウェアによって実行される。
【００７４】
[00111]ステップ１６００では、ウェブアプリケーションインスタンス化に関連するドラッグアンドドロップ操作の指示を受け取る。このステップを、任意の適切な形で実行することができる。すぐ上で説明した実施形態では、このステップは、ユーザーが、関連するウェブアプリケーションを彼らのデスクトップに統合する欲求をウェブサイトに示すために、ウェブサイトに関連するお気に入りアイコンなどのアイコンをドラッグアンドドロップする時に実行される。たとえば、ユーザーは、タスクバー、クイック起動領域、またはデスクトップキャンバスなどのデスクトップ上のある他の位置にお気に入りアイコンをドラッグアンドドロップすることができる。ステップ１６０２では、ドラッグアンドドロップ操作に応答して、ウェブアプリケーションファイルを作成する。図示され説明される実施形態では、当初に作成されるウェブアプリケーションファイルは、ジャンプリストタスク、開始ＵＲＬ、お気に入りアイコン、または静的ジャンプリストタスク、代替開始ＵＲＬ、代替お気に入りアイコン、および類似物などの他のプロパティなどの関連するウェブサイトからの情報をまだ含まないアーティファクトまたはシェルである。これらを、上で説明されたように新しいマークアップおよび／またはＪａｖａＳｃｒｉｐｔ（登録商標）  ＡＰＩを介して後に追加することができる。それに加えてまたはその代わりに、ウェブアプリケーションファイルは、非永続セッションモードで実行するなど、ウェブアプリケーションを特定のモード（１つまたは複数）で起動することに関連する情報を含むことができる。ＪａｖａＳｃｒｉｐｔ（登録商標）  ＡＰＩを使用するもの以外の技法を、請求される主題の趣旨および範囲から逸脱せずに利用できることを了解し、理解されたい。
ブラウザーメニュー選択を介する統合
[00112]１つまたは複数の実施形態では、ウェブアプリケーションを、ウェブブラウザーのメニュー選択を介して統合することができる。一例として、図１７を検討されたい。この図では、クライアントデスクトップが、全体的に１７００に示されている。ウェブブラウザーウィンドウ１７０２は、ＵＬＲを表示されたアドレスバー１７０４を含む。さらに、デスクトップ１７００は、タスクバー１７０６を含む。ページメニューの形のブラウザーメニューアイテム１７０８が、示されている。ページメニューをドロップダウンしてメニュー選択１７１０を公開することによって、メニューアイテムまたはメニュー選択「スタートメニューに追加」が表示される。このオプションを選択することによって、ウェブサイトまたはウェブアプリケーションを、デスクトップのスタートメニューに追加することができ、インストールプロセスを、上で説明されたように開始することができる。その代わりにまたはそれに加えて、「タスクバーに追加」メニューアイテムまたはメニュー選択を表示して、インストールプロセスの開始を可能にすることができる。図１７には示されていないが、ウェブブラウザーウィンドウ１７０２が、非永続セッションモードなどのさまざまなモード（１つまたは複数）で実行中であってもよいことを了解し、理解されたい。これらのモード（１つまたは複数）は、インストールプロセス中に識別され得、ウェブアプリケーションがどのようにインストールされ、かつ／または起動されるのかに影響することができる。
【００７５】
[00113]図１８は、１つまたは複数の実施形態によるインストール方法のステップを説明する流れ図である。この方法を、任意の適切なハードウェア、ソフトウェア、ファームウェア、またはその組合せによって実行することができる。少なくともいくつかの実施形態では、この方法の諸態様は、クライアント上で実行されるソフトウェアによって実行される。
【００７６】
[00114]ステップ１８００では、ブラウザーメニュー選択を受け取る。このステップを、任意の適切な形で実行することができる。すぐ上で説明した実施形態では、このステップは、ユーザーが、特定のウェブサイトにナビゲートし、メニュー選択を公開するためにブラウザーメニューをドロップダウンし、その後、ウェブサイトに関連するウェブアプリケーションのインストールの開始に関連するメニューアイテムを選択することによってアクションを行う時に実行される。
【００７７】
[00115]ステップ１８０２では、ブラウザーメニュー選択の受取に応答してウェブアプリケーションファイルを作成する。図示され説明される実施形態では、当初に作成されるウェブアプリケーションファイルは、ジャンプリストタスク、開始ＵＲＬ、お気に入りアイコン、および類似物などの関連するウェブサイトからの情報をまだ含まないアーティファクトまたはシェルである。これらを、上で説明されたように新しいマークアップおよび／またはＪａｖａＳｃｒｉｐｔ（登録商標）  ＡＰＩを介して後に追加することができる。その代わりにまたはそれに加えて、ウェブアプリケーションファイルは、上で述べられるように、関連するウェブアプリケーションが起動される少なくともいくつかのモード（１つまたは複数）を指定する情報を含むことができる。ＪａｖａＳｃｒｉｐｔ（登録商標）  ＡＰＩを使用するもの以外の技法を、請求される主題の趣旨および範囲から逸脱せずに利用できることを了解し、理解されたい。
関連するウェブサイトを介する統合
[00116]１つまたは複数の実施形態では、デスクトップとのウェブアプリケーションの統合を、ウェブページから行うことができる。これらの実施形態では、特定のウェブサイトは、ウェブアプリケーションをデスクトップに統合するのにＪａｖａＳｃｒｉｐｔ（登録商標）などのコードを使用することによって、統合アクティビティを選ぶことができる。これは、ウェブサイトが、統合開始手段を制御することを可能にする。
【００７８】
[00117]一例として、図１９を検討されたい。この図には、クライアントデスクトップが、全体的に１９００に示されている。ウェブブラウザーウィンドウ１９０２は、ＵＲＬをその中に表示されたアドレスバー１９０４を含む。さらに、デスクトップ１９００は、タスクバー１９０６を含む。さらに、ブラウザーウィンドウ１９０２内に表示されるウェブページは、「デスクトップに追加」という題名のリンク１９０８を含む。このリンクをクリックすることによって、ユーザーは、上で説明されたようにウェブアプリケーションインストールプロセスを開始することができる。図１９には示されていないが、ウェブブラウザーウィンドウ１９０２が、非永続セッションモードなど、さまざまなモード（１つまたは複数）で実行中であってもよいことを了解し、理解されたい。これらのモード（１つまたは複数）は、インストールプロセス中に識別され得、ウェブアプリケーションがどのようにインストールされ、かつ／またはその後に起動されるのかに影響することができる。
【００７９】
[00118]少なくともいくつかの実施形態では、リンク選択が行われた後に、ユーザーが行おうとしているユーザーアクションと、彼らの新たに作成されるショートカットにどこでアクセスすべきかとを説明する、モーダル確認ダイアログを提示することができる。この確認ダイアログは、ユーザーに、提示されつつあるページのソースＵＲＬを提示することができる。表示されるＵＲＬは、ウェブサイトのフルパスを含むことができる。これは、ユーザーが、彼らがインストールを望むウェブサイトが正しいサイトから供給されつつあることを検証することを可能にすることができる。これは、悪意のあるサブディレクトリに関連する状況を軽減することができる。
【００８０】
[00119]さまざまな実施態様では、デスクトップに統合されるウェブサイトのＵＲＬは、それが、それを含むウェブページと同一のドメインにあることを確認するためにチェックされる。そうではない場合には、エラーを表示することができ、動作をエラーにすることができる。ユーザーが動作を確認した後に、ダイアログを除去することができ、ウェブアプリケーションウィンドウを、正しいＵＲＬを用いて表示することができる。
【００８１】
[00120]図２０は、１つまたは複数の実施形態によるインストール方法のステップを説明する流れ図である。この方法を、任意の適切なハードウェア、ソフトウェア、ファームウェア、またはその組合せによって実行することができる。少なくともいくつかの実施形態では、この方法の諸態様は、クライアント上で実行されるソフトウェアによって実行される。
【００８２】
[00121]ステップ２０００では、統合リンクと共にウェブページを表示する。このステップを、任意の適切な形で実行することができ、その例は、上で提供される。ステップ２００２では、統合リンクの選択を受け取る。ステップ２００４では、リンク選択の受取に応答してウェブアプリケーションファイルを作成する。図示され説明される実施形態では、当初に作成されるウェブアプリケーションファイルは、ジャンプリストタスク、開始ＵＲＬ、お気に入りアイコン、および類似物などの関連するウェブサイトからの情報をまだ含まないアーティファクトまたはシェルである。これらを、上で説明されたように新しいマークアップおよび／またはＪａｖａＳｃｒｉｐｔ（登録商標）  ＡＰＩを介して後に追加することができる。その代わりにまたはそれに加えて、上で述べられるように、ウェブアプリケーションファイルは、関連するウェブアプリケーションが起動される少なくともいくつかのモード（１つまたは複数）を指定する情報を含むことができる。ＪａｖａＳｃｒｉｐｔ（登録商標）  ＡＰＩを使用するもの以外の技法を、請求される主題の趣旨および範囲から逸脱せずに利用できることを了解し、理解されたい。
【００８３】
[00122]さまざまなウェブアプリケーション統合技法を検討したので、これから、ウェブアプリケーションモードをどのようにして手動で構成できるのかの議論を検討されたい。
ウェブアプリケーションモードの手動構成
[00123]上で説明したように、ウェブアプリケーションインストール中に．ｗｅｂｓｉｔｅファイルに追加された情報を介してなど、１つまたは複数の特定のモード（１つまたは複数）で実行されるように、ウェブアプリケーションを自動的に構成することができる。しかし、時々、ユーザーが、ウェブアプリケーションが実行されるモードを変更することを望む場合がある。いくつかの実施形態では、ウェブアプリケーションのモードを、手動で構成し、さらに、ウェブアプリケーションが起動される時に適用することができる。
【００８４】
[00124]たとえば、．ｗｅｂｓｉｔｅファイルに関連するプロパティダイアログタブ２１００を示す図２１を検討されたい。プロパティダイアログタブ２１００は、．ｗｅｂｓｉｔｅファイル内で記述される「Ｉｎ−Ｐｒｉｖａｔｅ（インプライベート）ブラウジング」モードに対応するチェックボックス２１０２と、やはり．ｗｅｂｓｉｔｅファイル内で記述され得る「ブラウザーコントロールを表示する」モードに対応するチェックボックス２１０４とを含む。「Ｉｎ−Ｐｒｉｖａｔｅブラウジング」モードは、ウェブアプリケーションが、非永続セッションモードが有効または無効のどちらにされて起動されるのかに対応することができ、「ブラウザーコントロールを表示する」モードは、ブラウザーのクロム上に表示される追加のナビゲーション特徴および／または伝統的特徴など、関連するウェブアプリケーションの追加のコントロール特徴が有効または無効のどちらにされるのかを統制することができる。図２１では、チェックボックス２１０１および２１０４のそれぞれが、「Ｉｎ−Ｐｒｉｖａｔｅ」モードと「ブラウザーコントロールを表示する」モードとの両方が有効にされていることを示す、それぞれのボックスの内部のチェックマークを含む。チェックボックス２１０２の状態（たとえば、選択済みまたは選択解除）をトグルすることによって、ユーザーは、「Ｉｎ−Ｐｒｉｖａｔｅブラウジング」モードが有効または無効のどちらにされるのかを手動で構成することができる。同様に、チェックボックス２１０４の状態をトグルすることによって、ユーザーは、「ブラウザーコントロールを表示する」モードが有効または無効のどちらにされるのかを手動で構成することができる。たとえば、チェックボックスをトグルすることによるなど、モードの状態が変化する時に、関連する．ｗｅｂｓｉｔｅファイルを更新して、現在望まれている状態を反映することができる。その代わりにまたはそれに加えて、ユーザーが適用ボタン２１０６および／またはＯＫボタン２１０８を押す時に、．ｗｅｂｓｉｔｅファイルを更新することができる。いくつかのモード変化は、動的に変更されるようには構成されない。いくつかの実施形態では、これらの変化は、関連する．ｗｅｂｓｉｔｅファイル内で更新されるが、開かれているウェブアプリケーションのいずれにも適用されない。そうではなく、更新された．ｗｅｂｓｉｔｅファイル情報を、ウェブアプリケーションが起動される時にそのウェブアプリケーションに適用することができ、したがって、ユーザーが、後に実行するウェブアプリケーション（１つまたは複数）を手動で構成することが可能になる。
【００８５】
[00125]さまざまなウェブアプリケーション統合技法を検討したので、これから、上で説明された実施形態のうちの１つまたは複数を実施するのに利用できる例示的なシステムを検討されたい。
例示的なシステム
[00126]図２２に、上で説明されたさまざまな実施形態を実施するのに使用できる例示的なコンピューティングデバイス２２００を示す。コンピューティングデバイス２２００は、たとえば、図１のコンピューティングデバイス１０２または任意の他の適切なコンピューティングデバイスとすることができる。
【００８６】
[00127]コンピューティングデバイス２２００は、１つまたは複数のプロセッサーまたは処理ユニット２２０２、１つまたは複数のメモリおよび／またはストレージコンポーネント２２０４、１つまたは複数の入出力（Ｉ／Ｏ）デバイス２２０６、ならびにさまざまなコンポーネントおよびデバイスがお互いと通信することを可能にするバス２２０８を含む。バス２２０８は、メモリバスまたはメモリコントローラ、周辺バス、ａｃｃｅｌｅｒａｔｅｄ  ｇｒａｐｈｉｃｓ  ｐｏｒｔ、およびさまざまなバスアーキテクチャのいずれかを使用するプロセッサーバスまたはローカルバスを含む、複数のタイプのバス構造のいずれかのうちの１つまたは複数を表す。バス２２０８は、有線バスおよび／または無線バスを含むことができる。
【００８７】
[00128]メモリ／ストレージコンポーネント２２０４は、１つまたは複数のコンピューター記憶媒体を表す。コンポーネント２２０４は、揮発性媒体（ランダムアクセスメモリ（ＲＡＭ）など）および／または不揮発性媒体（読取専用メモリ（ＲＯＭ）、フラッシュメモリ、光ディスク、磁気ディスク、その他など）を含むことができる。コンポーネント２２０４は、固定媒体（たとえば、ＲＡＭ、ＲＯＭ、固定ハードドライブなど）ならびにリムーバブル媒体（たとえば、フラッシュメモリドライブ、リムーバブルハードドライブ、光ディスクなど）を含むことができる。
【００８８】
[00129]１つまたは複数の入出力デバイス２２０６は、ユーザーが、コンピューティングデバイス２２００にコマンドおよび情報を入力することを可能にし、また、情報をユーザーおよび／または他のコンポーネントもしくはデバイスに提示することを可能にする。入力デバイスの例は、キーボード、カーソル制御デバイス（たとえば、マウス）、マイクロホン、スキャナなどを含む。出力デバイスの例は、ディスプレイデバイス（たとえば、モニタまたはプロジェクタ）、スピーカ、プリンタ、ネットワークカードなどを含む。
【００８９】
[00130]さまざまな技法が、本明細書でソフトウェアまたはプログラムモジュールの全般的文脈で説明される場合がある。一般に、ソフトウェアは、特定のタスクを実行するか特定の抽象データ型を実施する、ルーチン、プログラム、オブジェクト、コンポーネント、データ構造などを含む。これらのモジュールおよび技法の実施態様を、ある形のコンピューター可読媒体上に格納し、またはこれを介して伝送することができる。コンピューター可読媒体を、コンピューティングデバイスによってアクセスできる１つまたは複数の任意の使用可能な媒体とすることができる。限定ではなく例として、コンピューター可読媒体は、「コンピューター可読記憶媒体」を含むことができる。
【００９０】
[00131]「コンピューター可読記憶媒体」は、コンピューター可読命令、データ構造、プログラムモジュール、または他のデータなどの情報のストレージの任意の方法または技術で実施された、揮発性および不揮発性の、リムーバブルまたはノンリムーバブルの媒体を含む。コンピューター可読記憶媒体は、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、フラッシュメモリ、もしくは他のメモリ技術、ＣＤ−ＲＯＭ、ディジタル多用途ディスク（ＤＶＤ）、もしくは他の光学ストレージ、磁気カセット、磁気テープ、磁気ディスクストレージ、もしくは他の磁気ストレージデバイス、または所望の情報を格納するのに使用でき、コンピューターによってアクセスできる任意の他の媒体を含むが、これに限定されない。
結論
[00132]さまざまな実施形態は、エンドユーザーがウェブアプリケーションおよびウェブサイトを彼らのデスクトップにインストールすることを可能にする機構を提供する。１つまたは複数の実施形態によれば、クライアントサイドコードを利用して、ウェブサイトに関連する開発者が、ユーザー対話に関連する境界を定義することを可能にし、これらの境界をランタイムエンジンによって実施させることができる。少なくともいくつかの実施形態では、開発者は、ＪａｖａＳｃｒｉｐｔ（登録商標）コードを介して、スタートメニューショートカットの作成、ナビゲーション、およびいわゆるジャンプリスト統合、ならびにさまざまな他の機能性に関するさまざまな構成を提供することができる。
【００９１】
[00133]いくつかの実施形態では、非永続セッションモードなど、少なくとも１つの特定のモードで実行するように、ウェブアプリケーションを構成することができる。少なくともいくつかの実施形態では、ウェブアプリケーションの少なくとも１つのモードを、インストール中に自動的に構成することができる。その代わりにまたはそれに加えて、ウェブアプリケーションの少なくとも１つのモードを、手動で構成することができる。
【００９２】
[00134]主題を、構造的特徴および／または方法論的行為に固有の言葉で説明したが、添付の特許請求の範囲で定義される主題が、必ずしも上で説明された特定の特徴または行為に限定されないことを理解されたい。そうではなく、上で説明された特定の特徴および行為は、特許請求の範囲を実施する例の形として開示されるものである。
【図１】
2014504753.tif 000003
【図２】
2014504753.tif 000004
【図３】
2014504753.tif 000005
【図４】
2014504753.tif 000006
【図５】
2014504753.tif 000007
【図６】
2014504753.tif 000008
【図７】
2014504753.tif 000009
【図８】
2014504753.tif 000010
【図９】
2014504753.tif 000011
【図１０】
2014504753.tif 000012
【図１１】
2014504753.tif 000013
【図１２】
2014504753.tif 000014
【図１３】
2014504753.tif 000015
【図１４】
2014504753.tif 000016
【図１５ａ】
2014504753.tif 000017
【図１５ｂ】
2014504753.tif 000018
【図１６】
2014504753.tif 000019
【図１７】
2014504753.tif 000020
【図１８】
2014504753.tif 000021
【図１９】
2014504753.tif 000022
【図２０】
2014504753.tif 000023
【図２１】
2014504753.tif 000024
【図２２】
2014504753.tif 000025
【国際調査報告】
2014504753.tif 000026
2014504753.tif 000027