クライアントデバイス上にインストールされるウェブアプリケーションに関連付けられたウェブサイトのスタートURLへサイトモードブラウザーをナビゲートするステップと、前記スタートURLに関連付けられたウェブページ以外のウェブページへ前記サイトモードブラウザーをナビゲートするステップと、ウェブアプリケーションホームボタンの選択を受け取るステップと、前記ウェブアプリケーションホームボタンの選択を受け取ったことに応答して、前記サイトモードブラウザーを前記ウェブサイトのスタートURLへナビゲートするステップとを含む、コンピューターによって実施される方法。前記ウェブアプリケーションホームボタンが、ブランド化を可能にするように構成される、請求項1に記載の方法。前記ウェブアプリケーションホームボタンが、原色を使用したブランド化を可能にするように構成される、請求項1に記載の方法。前記ウェブアプリケーションホームボタンが、前記サイトモードブラウザーに関連付けられたナビゲーションボタンの隣に表示されるように構成される、請求項1に記載の方法。前記ウェブアプリケーションホームボタンが、前記サイトモードブラウザーに関連付けられたナビゲーションボタンの隣に表示されるように構成され、前記ナビゲーションボタンが、前記ウェブサイトに関連付けられた原色を利用する、請求項1に記載の方法。前記ウェブアプリケーションホームボタンが、前記サイトモードブラウザーに関連付けられた戻るおよび進むナビゲーションボタンの隣に表示されるように構成される、請求項1に記載の方法。前記ウェブサイトのスタートURLが、HTMLから確認される、請求項1に記載の方法。コンピューター実行可能命令を具体化する1つまたは複数のコンピューター可読記憶媒体であって、前記コンピューター実行可能命令が、実行されたときに、クライアントデバイス上にインストールされるウェブアプリケーションに関連付けられたウェブサイトのスタートURLへサイトモードブラウザーをナビゲートするステップと、前記スタートURLに関連付けられたウェブページ以外のウェブページへ前記サイトモードブラウザーをナビゲートするステップと、ウェブアプリケーションホームボタンの選択を受け取るステップと、前記ウェブアプリケーションホームボタンの選択を受け取ったことに応答して、前記サイトモードブラウザーを前記ウェブサイトのスタートURLへナビゲートするステップとを含む方法を実施する、1つまたは複数のコンピューター可読記憶媒体。前記ウェブアプリケーションホームボタンが、ブランド化を可能にするように構成される、請求項8に記載の1つまたは複数のコンピューター可読記憶媒体。前記ウェブアプリケーションホームボタンが、原色を使用したブランド化を可能にするように構成される、請求項8に記載の1つまたは複数のコンピューター可読記憶媒体。前記ウェブアプリケーションホームボタンが、前記サイトモードブラウザーに関連付けられたナビゲーションボタンの隣に表示されるように構成される、請求項8に記載の1つまたは複数のコンピューター可読記憶媒体。前記ウェブアプリケーションホームボタンが、前記サイトモードブラウザーに関連付けられたナビゲーションボタンの隣に表示されるように構成され、前記ナビゲーションボタンが、前記ウェブサイトに関連付けられた原色を利用する、請求項8に記載の1つまたは複数のコンピューター可読記憶媒体。前記ウェブアプリケーションホームボタンが、前記サイトモードブラウザーに関連付けられた戻るおよび進むナビゲーションボタンの隣に表示されるように構成される、請求項8に記載の1つまたは複数のコンピューター可読記憶媒体。前記ウェブアプリケーションホームボタンが、前記サイトモードブラウザーに関連付けられた戻るおよび進むナビゲーションボタンの隣に表示されるように構成され、前記戻るおよび進むナビゲーションボタンが、前記ウェブサイトに関連付けられた原色を利用する、請求項8に記載の1つまたは複数のコンピューター可読記憶媒体。コンピューター実行可能命令を具体化する1つまたは複数のコンピューター可読記憶媒体であって、前記コンピューター実行可能命令が、実行されたときに、1つまたは複数のナビゲーションボタンと、クライアントによってインストール可能なウェブアプリケーションに関連付けられるウェブアプリケーションホームボタンであって、前記ウェブアプリケーションに関連付けられたウェブサイトに関連付けられたスタートURLへのナビゲーションを可能にする、ウェブアプリケーションホームボタンとを含むサイトモードブラウザーを実施する、1つまたは複数のコンピューター可読記憶媒体。本発明は、ウェブアプリケーションホームボタンを提供する。0003この発明の概要は、以降の発明を実施するための形態においてさらに説明されるコンセプトから抜粋したものを、簡略化された形式で紹介するために提供される。この発明の概要は、特許請求される主題の鍵となる特徴または必要不可欠な特徴を特定することを意図されておらず、特許請求される主題の範囲を限定するために使用されることも意図されていない。0004さまざまな実施形態が、エンドユーザーがウェブアプリケーションおよびウェブサイトをクライアントデバイスデスクトップなどのクライアントデバイス上にインストールできるようにするメカニズムを提供する。1つまたは複数の実施形態によれば、ウェブサイトに関連付けられた開発者が、ユーザー対話に関連付けられた境界を定義すること、およびそれらの境界をランタイムエンジンによって施行させることを可能にするために、クライアント側コードが利用されることが可能である。少なくともいくつかの実施形態においては、開発者は、JavaScript登録商標コードを通じて、スタートメニューショートカットの作成、ナビゲーション、およびいわゆるジャンプリスト統合、ならびに複数のその他の機能のためのさまざまな構成を提供することができる。0005同様の機能を指すために、複数の図面を通じて同じ番号が使用される。概観0047さまざまな実施形態が、エンドユーザーがウェブアプリケーションおよびウェブサイトをクライアントデバイスデスクトップなどのクライアントデバイス上にインストールできるようにするメカニズムを提供する。1つまたは複数の実施形態によれば、ウェブサイトに関連付けられた開発者が、ユーザー対話に関連付けられた境界を定義すること、およびそれらの境界をランタイムエンジンによって施行させることを可能にするために、クライアント側コードが利用されることが可能である。少なくともいくつかの実施形態においては、開発者は、JavaScript登録商標コードを通じて、スタートメニューショートカットの作成、ナビゲーション、およびいわゆるジャンプリスト統合、ならびに複数のその他の機能のためのさまざまな構成を提供することができる。0048境界は、どのようにして機能がエンドユーザーに表示されるかに関する、開発者によって定義された経験と考えられることが可能である。境界は、別々のアプリケーションに関連付けられる可能性があるトップレベルドメインおよびサブドメインなどのウェブサイトドメイン、またはドメイン上にホストされるウェブサイトのサブセットに関連付けられる。したがって境界は、特定のウェブアプリケーションを機能させるために利用される一式のドメイン、サブドメイン、フォルダ、サブサイト、プロトコル、ホスト、パスなどによって定義されることが可能である。00491つまたは複数の実施形態においては、ウェブサイトは、上述および後述の機能を選択することができる。この場合には、開発者は、自分たちのウェブサイトとユーザーの経験との境界を定義するコード場合によっては、JavaScript登録商標で表されるを提供することができる。代替として、または追加として、上述および後述の機能を選択しないウェブサイトは、デフォルトの経験がユーザーに提供されるようにすることができる。0050以降の考察においては、動作環境と題されたセクションが提供され、このセクションは、1つまたは複数の実施形態が採用されることが可能である1つの環境を説明する。これに続いて、統合インフラストラクチャーと題されたセクションが、1つまたは複数の実施形態に従ってウェブアプリケーションがクライアントデバイス上に統合されることを可能にするインフラストラクチャーを説明する。次いで、ジャンプリスト統合と題されたセクションが、いわゆるジャンプリストが1つまたは複数の実施形態に従ってどのようにして統合されることが可能であるかを説明する。次いで、タスクバーの固定と題されたセクションが、ウェブアプリケーションが1つまたは複数の実施形態に従ってどのようにしてタスクバーに固定されることが可能であるかを説明する。これに続いて、証明書とログインセッションの関連付けと題されたセクションが、証明書とログインセッションが1つまたは複数の実施形態に従ってどのようにして関連付けられることが可能であるかを説明する。次いで、関連付けられた証明書を伴うウェブアプリケーションの作成および起動と題されたセクションが、ウェブアプリケーションが1つまたは複数の実施形態に従ってどのようにして作成され起動されることが可能であるかを説明する。これに続いて、ウェブアプリケーションタスクセッションと題されたセクションが、1つまたは複数の実施形態によるタスクセッションの概念を説明する。次いで、ウェブアプリケーションとブラウザーの間における遷移と題されたセクションが、ウェブアプリケーションとブラウザーの間における遷移が1つまたは複数の実施形態に従ってどのようにして生じることが可能であるかを説明する。これに続いて、ブラウザーからの一時的なウェブアプリケーションの作成と題されたセクションが、一時的なウェブアプリケーションが1つまたは複数の実施形態に従ってどのようにしてブラウザーから作成されることが可能であるかを説明する。次いで、インストールされたウェブアプリケーションへの一時的なウェブアプリケーションの変換と題されたセクションが、一時的なウェブアプリケーションが1つまたは複数の実施形態に従ってどのようにしてインストールされたウェブアプリケーションに変換されることが可能であるかを説明する。これに続いて、ウェブアプリケーションスーパーホームボタンと題されたセクションが、1つまたは複数の実施形態によるウェブアプリケーションに関連付けられたホームボタンを説明する。最後に、例示的なシステムと題されたセクションが、1つまたは複数の実施形態を実装するために利用されることが可能である例示的なシステムを説明する。0051次いで、1つまたは複数の実施形態が実装されることが可能である例示的な動作環境について考察されたい。動作環境0052図1は、1つまたは複数の実施形態による動作環境を全体として100で示す。環境100は、1つまたは複数のプロセッサー104と、1つまたは複数のコンピューター可読記憶媒体106と、コンピューター可読記憶媒体上に存在して1つまたは複数のプロセッサーによって実行可能である1つまたは複数のアプリケーション108とを有するコンピューティングデバイス102を含む。コンピューター可読記憶媒体は、典型的にはコンピューティングデバイスに関連付けられるすべての形態の揮発性および不揮発性のメモリーおよび/または記憶媒体を、限定ではなく例として含むことができる。そのような媒体は、ROM、RAM、フラッシュメモリー、ハードディスク、取り外し可能な媒体などを含むことができる。コンピューティングデバイスの具体的な一例が、以降で図41において示され、説明される。0053さらにコンピューティングデバイス102は、ウェブブラウザー110の形態のソフトウェアアプリケーションを含む。任意の適切なウェブブラウザーが使用されることが可能であり、その例は、本明細書の譲受人およびその他から入手可能である。さらにコンピューター可読記憶媒体106は、上述および後述のように機能するウェブアプリケーションモードブラウザー111を含むことができる。ウェブアプリケーションモードブラウザー111は、ウェブサイトからのAPIコールを受け取り、ウェブサイトへのAPIコールを行い、ウェブアプリケーションインストールプロセスを監視し、境界を施行し、上述および後述の機能を可能にするランタイムエンジンとして機能する。オペレーションにおいて、ウェブアプリケーションモードブラウザーは、完全なブラウザーの軽量化バージョンであり、通常のブラウザー機能の多くがオフにされている。いくつかの場合においては、ウェブアプリケーションモードブラウザーは、通常のブラウザーコントロールの多くを含まないクロムレスchromelessブラウザーと考えられることが可能である。しかし、いくつかのコマンドは、ミニチュアコントロールバーを通じて表示されることが可能である。したがってウェブアプリケーションモードブラウザーは、ユーザーにとって気を散らすものの多くを取り除き、ウェブサイトが自分たちのウェブアプリケーションとユーザーがどのようにして対話するかをコントロールすることができる、方向付けられた、ウェブサイトによって定義されたユーザー経験を可能にする。0054オペレーションにおいて、ウェブアプリケーションモードブラウザーは、ウェブサイトと、クライアントデバイスのオペレーティングシステムとの間に論理的に存在すると考えられることが可能である。したがってウェブアプリケーションモードブラウザーは、ウェブサイトからのコールを受け取り、それに応答して、本明細書に記載の機能に影響を与えるためにオペレーティングシステムコールを行うことができる。同様に、ウェブアプリケーションモードブラウザーは、ウェブサイトの機能に影響を与えることになるコールをオペレーティングシステムから受け取ることができる。たとえばオペレーティングシステムは、デスクトップのタスクバーとの対話を可能にするAPIを表示する。ウェブアプリケーションモードブラウザーは、ウェブサイトからのコールを受け取ることができ、それに応答して、以降で明らかになるようなタスクバー機能を可能にするAPIコールを行うことができる。0055ウェブアプリケーションモードブラウザー111は、スタンドアロンのコンポーネントとして実装されることが可能である。代替として、または追加として、ウェブアプリケーションモードブラウザー111は、アプリケーション108および/またはブラウザー110の一部として実装されることが可能である。0056さらに環境100は、インターネットなどのネットワーク112と、1つまたは複数のウェブサイト114とを含み、それらのウェブサイト114との間で、コンテンツが送受信されることが可能である。そのようなコンテンツは、上述および後述のように、クライアントデスクトップ上に統合される、またはクライアントデバイスを通じてその他の形で使用可能である、ウェブアプリケーションなどのコンテンツを含むことができる。0057コンピューティングデバイス102は、限定ではなく例として、デスクトップコンピューター、ポータブルコンピューター、携帯情報端末PDAなどのハンドヘルドコンピューター、携帯電話など、任意の適切なコンピューティングデバイスとして具体化されることが可能である。0058例示的な動作環境について説明してきたが、次いで、ウェブアプリケーションがクライアントデバイス上に統合されることを可能にするインフラストラクチャーに関する論考について考察されたい。統合インフラストラクチャー00591つまたは複数の実施形態によれば、ウェブサイトは、より一般的なサイトモードsitemodeの経験の一部として提供されるドメインナビゲーションを選択することができる。ドメインナビゲーションは、ウェブサイトが、ユーザーが特定のドメインの内側および外側のリンクにアクセスする際の自分たちの現行のウェブサイトの動作をカスタマイズできるようにする。開発者によって指定された境界の内側のリンクにアクセスする際には、コンテンツは、関連付けられたウェブアプリケーションの一部としてウェブアプリケーションモードブラウザーによってレンダリングされるウェブアプリケーションウィンドウ内でレンダリングされ消費されることが可能である。開発者によって指定された境界の外側のリンクにアクセスする際には、関連付けられたコンテンツは、ウェブアプリケーションモードブラウザーの外側にあるデフォルトブラウザーの内側でレンダリングされ消費されることが可能である。これは、ウェブサイトが、どのドメインがそのウェブサイトの拡張として扱われるべきか、およびどれがそのウェブサイトの拡張として扱われるべきでないかを定義できるようにする。00601つまたは複数の実施形態においては、ナビゲーションドメインは、ウェブ開発者によって定義されることが可能であり、統合されたウェブサイトの一部としてウェブアプリケーションモードブラウザーによって表示されるか、またはウェブアプリケーションモードブラウザーの外側でデフォルトブラウザー内に表示されるコンテンツのリンクを識別することができる。さらに、ウェブアプリケーションページの集合を共に関連付けるために使用されるデフォルトドメインパラメータが定義されることが可能である。0061一例として、下記のインラインドメインページ定義inlinedomainpagedefinitionを考察されたい。contosocrmdynamicscommicrosoftcom0062このドメインページ定義は、そのすぐ下のフォームのURIが同じデスクトップウェブアプリケーションウィンドウ内に表示されることを可能にする。salescontosocrmdynamicscomhrcontosocrmdynamicsmicrosoftcomcrm0063同様に、このドメインページ定義は、その他のURIが、たとえリンク参照がデスクトップウェブアプリケーションウィンドウ内のページの内側にあっても、デスクトップウェブアプリケーションウィンドウの外側に表示されるようにする。wwwbingcomhomelivecom0064上記のドメインページ定義においては、ウェブアプリケーションインストールAPIの内側でワイルドカードが利用される。このAPIは、典型的には、ウェブサイトによって提供されるウェブサイト統合リンクをユーザーが選択すると、ウェブサイトによってコールされる。このAPIは、デスクトップ、タスクバー、またはスタートメニュー、またはウェブサイトショートカットを起動するために使用されることになるその他の任意の適切な場所における情報およびコンテンツをウェブアプリケーションファイルすなわち.webappファイルに投入することができる。ウェブアプリケーションファイルを示すために任意の適切なファイル拡張子が使用されることが可能であるということを認識および理解されたい。ナビゲーションドメインおよびその他の境界の情報は、.webappファイル内に格納される。0065.webappファイルが起動されると、その内部のナビゲーションドメインが、ウェブアプリケーションモードブラウザー111によって施行される。ユーザーによって選択されたリンク、またはウェブサイトによってアクセスされたリンクは、ワイルドカードドメインとマッチする限り、ウェブアプリケーションウィンドウの内側で実行し続ける。しかし、定義されたナビゲーションドメインの外側にあるウェブサイトが検知されると、デフォルトブラウザーが、インスタンス化されるかまたはその他の形で使用され、そのウェブサイトに関連付けられたコンテンツが、ウェブアプリケーションウィンドウの外側に、かつデフォルトブラウザーの内側に表示される。0066一例として、図2を考察されたい。図2は、a.com202、b.com204、およびd.com206のナビゲーションドメインセットを有するウェブアプリケーションウィンドウ200を示し、これは、これらのドメインからのすべてのページが、ウェブアプリケーションウィンドウ200の内側に表示されることを意味する。c.com208またはe.com210からのページは、ウェブアプリケーションウィンドウ200内からアクセスされると、デフォルトブラウザーウィンドウに表示され、ウェブアプリケーションウィンドウ200には表示されない。0067図3は、1つまたは複数の実施形態によるJavaScriptAPIを300で示す。示されたJavaScriptAPIは、ウェブサイトがウェブアプリケーションをクライアントデスクトップと統合できるようにする。このAPIは、ウェブアプリケーションまたはランタイムエンジンによって施行されることになるナビゲーションドメインを定義する。この例においては、ナビゲーションドメインは、上述のようなワイルドカード表現を使用して記述される。このAPIは、クライアントデバイス上のコンテンツおよび情報を.webappアプリケーションファイル302に投入すること、またはそれらのコンテンツおよび情報で.webappアプリケーションファイル302を更新することを可能にし、ナビゲーションドメインおよびその他の情報を.webappアプリケーションファイル302に格納する。これらのナビゲーションドメインは、ウェブアプリケーションが起動されるときに施行される。0068図示され説明された実施形態においては、.webappアプリケーションファイル302は、ウェブサイトが自分のサイトモード構成に関して定義した情報を含む。この情報は、ウェブアプリケーションモードブラウザーによって表示される最初のページであるスタートURLと、ウェブサイトが指定したナビゲーションドメインのすべてと、ウェブアプリケーションタイトルと、いわゆるファビコンとを含む。以降で説明されるように、その他の情報が含まれることも可能である。0069次いで、ウェブアプリケーションがクライアント側で起動されると、ウェブアプリケーションモードブラウザーは、ウェブアプリケーションファイルを読み取り、その中で定義された境界を施行する。上述のように、ウェブアプリケーション経験は、特定のウェブサイトおよびそのニュアンスに精通した開発者によって定義されるため、完全な統合されたユーザー経験が提供されることが可能である。0070図4は、1つまたは複数の実施形態によるインストール方法におけるステップを示す流れ図である。この方法は、任意の適切なハードウェア、ソフトウェア、ファームウェア、またはそれらの組合せによって実行されることが可能である。少なくともいくつかの実施形態においては、この方法の態様は、クライアントデバイス上で実行するソフトウェアによって実行される。0071ステップ400は、ウェブサイト統合機能を選択する。このステップは、任意の適切な方法で実行されることが可能である。典型的には、このステップは、ユーザーが、ウェブアプリケーションインストールプロセスを開始するために手段を選択するか、またはその他の形でアクションを起こすと、実行される。たとえばユーザーは、ウェブアプリケーションを統合できるようにするリンクを選択することができる。これがどのようにして行われることが可能であるかについての具体的な例が、以降で提供される。0072ステップ402は、クライアントデバイス上で、ウェブアプリケーションファイルここでは、.webappファイルと示されるを作成する。このファイルは、はじめに作成されたときには、ウェブサイトから、またはウェブサイトのために受け取られるコンテンツおよび情報が後に投入されることが可能であるアーチファクトartifactまたはシェルshellを構成することができる。ステップ404は、ウェブアプリケーションコンテンツをウェブアプリケーションファイルに投入する。このステップは、任意の適切な方法で実行されることが可能である。たとえば、このステップは、JavaScriptAPIの使用を通じて実行されることが可能であり、そのJavaScriptAPIの例は、上記および下記で提供されている。代替として、または追加として、このステップは、HTMLなどのマークアップの使用を通じて実行されることが可能である。0073クライアント上にウェブアプリケーションファイルを作成し、そのウェブアプリケーションファイルにコンテンツを投入すると、ウェブアプリケーションは、起動され対話されることが可能になる。0074図5は、1つまたは複数の実施形態によるウェブアプリケーション対話方法におけるステップを示す流れ図である。この方法は、任意の適切なハードウェア、ソフトウェア、ファームウェア、またはそれらの組合せによって実行されることが可能である。少なくともいくつかの実施形態においては、この方法の態様は、クライアント上で実行するソフトウェア、およびウェブサイトをサポートするサーバにおいて実行するソフトウェアによって実行される。したがって、この図の1つの列は、クライアントによって、またはクライアントにおいて、たとえばウェブアプリケーションモードブラウザーによって実行されるステップを示すためにクライアントと表示され、1つの列は、ウェブサイトによって、またはウェブサイトのために実行されるステップを示すためにウェブサイトと表示される。0075ステップ500は、サイトモードのユーザー選択を受け取る。このステップは、任意の適切な方法で実行されることが可能である。たとえば、サイトモード選択を受け取るために、クライアントデスクトップ上にインストールされたショートカットが利用されることが可能である。サイトモード選択を受け取ったことに応答して、ステップ502は、スタートURLを要求する。スタートURLは、上述のウェブアプリケーションファイル内で見つけられることが可能である。0076ステップ504は、スタートURL要求を受け取る。ステップ506は、スタートURLに関連付けられたコンテンツを含む、関連付けられたウェブリソースをクライアントに返す。0077ステップ508は、関連付けられたウェブリソースを受け取り、ステップ510は、それらのウェブリソースをウェブアプリケーションウィンドウ内にレンダリングする。上述のように、ウェブアプリケーションウィンドウは、ウェブアプリケーションモードブラウザーによってレンダリングされる。ステップ512は、ウェブアプリケーションウィンドウ内にレンダリングされたリソースに関するユーザー対話を受け取る。ユーザー対話は、任意の適切なタイプのユーザー対話を含むことができる。たとえばユーザー対話は、ウェブアプリケーションウィンドウ内から生じるナビゲーションアクティビティーを含むことができる。ステップ514は、ユーザー対話が、ウェブアプリケーションファイルによって定義された境界内にあるかどうかを確かめる。ユーザー対話が、ウェブアプリケーションファイルによって定義された境界内にある場合には、ステップ516は、ユーザー対話に関連付けられたコンテンツをウェブアプリケーションウィンドウ内にレンダリングする。その一方で、ユーザー対話が、ウェブアプリケーションファイルによって定義された境界内にない場合には、ステップ518は、ユーザー対話に関連付けられたコンテンツをデフォルトウェブブラウザー内にレンダリングする。0078このようにして、ウェブサイト開発者によって所望されるとおりにユーザー経験が保持されることを確実にするために、特定のウェブサイトに関してそれらの開発者によって定義された境界が施行されることが可能である。たとえば、ウェブサイトによって定義されたスタートURLはホームページであり、ウェブアプリケーションモードにおけるそのホームページへの以降のアクセスは、ユーザーの独自に定義したブラウザーホームページではなく、スタートURLへとナビゲートする。これは、何らかの無関係なホームページではなく、ウェブアプリケーション固有のページへの迅速なアクセスを可能にする。これは、エンドユーザーが、正確に機能することもあれば正確に機能しないこともある自分たち自身のサイト固有の経験を定義しなければならない状況を緩和する。したがって、完全な、統合された、インテリジェントに管理された経験が、エンドユーザーに提供されることが可能である。0079例示的なインストールおよび対話の経験について説明してきたが、次いで、ジャンプリスト統合の概念について考察されたい。ジャンプリスト統合00801つまたは複数の実施形態においては、開発者は、ウェブサイトと対話するために使用されることが可能であるデスクトップ統合中の一連のいわゆるジャンプリストタスクをウェブサイトが定義できるようにすることができる。さらに、少なくともいくつかの実施形態においては、ウェブサイトは、カスタムジャンプリストを作成および更新することができる。0081ジャンプリストは、ユーザーに提示される関連するタスクまたはコンテンツのセットを構成するリストと考えられることが可能である。ジャンプリストを通じて、ウェブサイトは、ユーザーに対する関連する有用な情報の抽出を促進することができる。ジャンプリストは、特定のウェブアプリケーションの性能または機能に関連する。たとえば、電子メールアプリケーション用のジャンプリストは、連絡先を開く能力、新たな電子メールメッセージを作成する能力などをユーザーに与えるタスクを含むことができる。いくつかの場合においては、ジャンプリストは、関連する最も頻繁に使用されるコマンドおよびデータのリストを含むことができる。00821つまたは複数の実施形態においては、ジャンプリスト機能は、静的な要素と動的な要素の両方を含むように実装されることが可能である。0083開発者は、上述のようにウェブアプリケーションファイルを投入するウェブアプリケーションインストールプロセスの間に静的な要素を定義することができる。静的な要素に関連付けられた設定は、ウェブアプリケーションファイル内に格納されることが可能である。1つまたは複数の実施形態においては、それらの設定は、リスト名および関連付けられたタスクを含むことができる。少なくともいくつかの場合においては、静的な要素は、一般に使用される機能を表す要素を構成することができる。0084動的な要素に関連付けられた設定は、ウェブアプリケーションウィンドウ内で動作するウェブサイトページによって駆動されることが可能である。これらの設定は、ユーザーにとって識別可能な表示しるし、indiciaを動的に表示する設定を含む。たとえば、ある設定は、アイテムをカスタムジャンプリストに追加することができ、ある設定は、オーバーレイアイコンを表示することができ、オーバーレイアイコンの例は、以降で提供される。少なくともいくつかの実施形態においては、動的な設定は、ウェブアプリケーションが起動されるたびにクリアされることが可能であり、ウェブアプリケーションスクリプトコードによって構成されることが可能である。0085一実施形態によるカスタムジャンプリストの一例として、図6を考察されたい。図6は、クライアントデスクトップの一部を全体として600で示す。カスタムジャンプリスト602が、1つまたは複数の実施形態に従って表示される。ここでは、静的な要素が604で示され、動的な要素が606で示される。この例においては、静的な要素のリスト名は、Tasksタスクであり、タスクすなわち静的な要素は、NewE-mailMessage新たな電子メールメッセージ、NewAppointment新たなアポイントメント、NewContact新たな連絡先、およびNewTask新たなタスクを含む。動的な要素のリスト名は、Today今日であり、タスクすなわち動的な要素は、この例においては、ユーザーのカレンダーから生成されるリマインダーを含む。動的な要素は、関連付けられたウェブサイトによって動的に投入される。したがって、この例においては、動的な要素またはコンテンツは、典型的にはユーザーのアクションとは無関係に、ユーザーに通知を提供することに関連付けられる。0086上述のように、ジャンプリストは、デスクトップ統合プロセスの間に定義されることが可能である。タスクおよびジャンプリスト定義は、ウェブアプリケーションファイル内に格納されることが可能である。一例として、図7を考察されたい。図7は、1つまたは複数の実施形態によるJavaScriptAPIを700で示す。示されたJavaScriptAPIは、ウェブサイトがクライアントデスクトップと統合すること、およびジャンプリストを定義することを可能にする。このJavaScriptAPIは、customtaskカスタムタスクおよびcustomJumpListカスタムジャンプリストの存在を除いて、図3に関して説明されたJavaScriptAPIと同じかまたは同様のものとすることができる。簡潔にするために、図3の内容のうちのいくつかが省略されている。少なくともいくつかの実施形態においては、ジャンプリストタスクの静的なリストの最初の作成は、マークアップによって、たとえばHTMLドキュメント内で定義されるHTMLタグを使用して定義されることが可能である。0087たとえば、静的なリストの機能を記述するためにメタタグを使用するすぐ下の例を考察されたい。0088タスクが実行される際、1つまたは複数の実施形態においては、数個のオプションがある。たとえば、タスクに関連付けられたURLは、現在閲覧されているウェブページを含む同じウェブアプリケーション/ブラウザーウィンドウ内で開かれることが可能である。代替として、または追加として、新たなページが起動されることも可能である。代替として、または追加として、新たなポップアップウィンドウが表示されることも可能である。0089これらのパラメータは、定義されてシステムによって読み取られると、ユーザーが、ウェブサイトをスタートメニューに追加すること、または以降で説明されるようにウェブサイトをタスクバーに固定することなどによって、ウェブサイトを自分のデスクトップ上にインストールする際に、使用されることが可能である。同時に、少なくともいくつかの実施形態においては、ジャンプリスト上のウェブサイトクライアントコードによって操作されることが可能である動的な値のセットがある。0090カスタムタスクは、上述のように静的なタスクを定義するためにウェブサイトによって利用される。この例においては、静的なタスクは、新たなメッセージの静的なタスクである。このAPIは、デスクトップ上に.webappアプリケーションファイル702を作成し、図3の例におけるようなナビゲーションドメイン、およびジャンプリストに関連付けられた情報などのその他の情報を格納する。0091図示され説明された実施形態においては、.webappアプリケーションファイル702は、ウェブサイトが自分のサイトモード構成に関して定義した情報を含む。この情報は、スタートURLと、ウェブサイトが指定したナビゲーションドメインのすべて具体的には図示されていないと、ウェブアプリケーションタイトルと、いわゆるファビコンとを含む。その他の情報は、上述の新たなメッセージに関連付けられたカスタムタスクと、customlistカスタムリストとを含む。この例においては、カスタムリスト要素は、ウェブアプリケーションがクライアント上で動作しているときにウェブサイトによって動的に投入されることが可能である動的な要素である。ここでは、friends友人の表示は、動的なコンテンツに関連付けられるヘッダを含む。したがって、この場合には、動的なコンテンツは、ユーザーの友人がオンライン状態であるときにユーザーに通知を提供することに関連付けられる。ここでは、カスタムリストは、ウェブアプリケーション内に存在しない別個のAPIである。しかしカスタムタスクは、ウェブアプリケーション内に存在する。0092オペレーションにおいて、静的な要素に関連付けられたアイテムは、プリフェッチされ、ウェブアプリケーションが動作しているときのためにキャッシュに格納されることが可能である。その一方で、動的な要素に関連付けられたアイテムは、ウェブアプリケーションが動作しているときにウェブサイトによってオンザフライで提供されることが可能である。動的な要素に関連付けられたアイテムがどのようにしてウェブアプリケーションにオンザフライで提供されることが可能であるかについての実施例として、図8を考察されたい。0093図8は、メッセージが着信したことをユーザーがわかるようにするためにウェブサイトがどのようにしてカスタムジャンプリストと動的に対話することができるかを示す。この例においては、JavaScript800は、ウェブサイトが、ウェブアプリケーションモードブラウザー内にホストされるページに更新をどのようにして送信することができるかを示す。ブラウザー内で実行されるクライアント側コードは、更新を受け取ること、スクリーン上のコンテンツを更新すること、およびジャンプリストにそのリストを更新したいという要求を送信することを担当する。この例においては、ウェブサイトは、リアルタイムの経験を提供するために情報をジャンプリストに押し出すことができる。ここでは、新たなメッセージ、たとえばNewMessage0新たなメッセージ0およびNewMessage1新たなメッセージ1がウェブサイトによって受け取られると、ジャンプリスト802を更新するためにウェブアプリケーションからJavaScript登録商標コールが行われることが可能である。少なくともいくつかの実施形態においては、関連する情報が受け取られたことをユーザーに知らせるための通知がタスクバー804内に現れることができる。通知は、タスクバー内の任意の適切な場所に現れることができ、任意の適切なタイプの通知を含むことができる。たとえば通知は、ウェブアプリケーションに関連付けられるアイコン806のところに、またはその付近に現れることができる。代替として、または追加として、通知は、ユーザーの注目を得るために点滅することができる。0094一例として、図9を考察されたい。そこでは、クライアントデスクトップの一部が、全体として900で示される。タスクバー901が、現在のウェブアプリケーションに関連付けられたアイコン902を含む。ここでは、オーバーレイアイコン904が、アイコン902内にレンダリングされていることに留意されたい。この例においては、ユーザーが新たなメッセージを受け取っており、オーバーリーアイコン904がアイコン902内にレンダリングされるようにするために、上述のように、ウェブサイトがウェブアプリケーションへのコールを行っている。これは、新たなメッセージが着信しているという通知をユーザーに提供する。オーバーリーアイコン904を見たことに応答して、ユーザーは、現在生じているまたは生じつつあるアポイントメントを示す要素908を表示するために、ジャンプリスト905にアクセスすることができる。要素906も表示されるということにも留意されたい。JavaScript登録商標の抜粋910は、オーバーレイアイコンを更新するために使用されることが可能であるコードの一例を示す。0095ウェブサイトとウェブアプリケーションの間における動的な対話は、その他のさまざまな方法で生じることができる。たとえば、少なくともいくつかの実施形態においては、ウェブサイトに関するユーザーのアクションに応答して、プレビューウィンドウが、ウェブサイトからジャンプリストに押し出されることが可能である。図示され説明された実施形態においては、プレビューウィンドウは、ウェブサイトによって提供されるミニチュアビューである。プレビューウィンドウは、任意の適切なタイプのユーザーアクションに応答して提供されることが可能である。たとえば、少なくともいくつかの実施形態においては、ウェブサイトに関連付けられたタスクバーアイコンの上でのマウスホバーに応答して、プレビューウィンドウが、ウェブサイトからジャンプリストに押し出されることが可能である。代替として、または追加として、ウェブアプリケーションのタスクバーアイコンの上にカーソルを置いて左クリックすることによって、プレビューウィンドウが提供されることも可能である。0096一例として、図10を考察されたい。そこでは、クライアントデスクトップの一部が、全体として1000で示される。タスクバー1001が、現在のウェブアプリケーションに関連付けられたアイコン1002を含む。ここでは、ユーザーが自分のカーソルをアイコン1002の上に置いていることに留意されたい。それに応答して、プレビューウィンドウ1004がレンダリングされている。オペレーションにおいては、自分のカーソルをそのアイコンの上に置くというユーザーのアクションに応答して、イベントがウェブページに伝送される。次いで、そのイベントを受け取ったことに応答して、ウェブページは、プレビューを動的に提供すること、またはキャッシュに格納されていたプレビューウィンドウがレンダリングされるようにすることが可能である。0097少なくともいくつかの実施形態においては、プレビューウィンドウは、ツールバーボタンおよび関連付けられた動作を定義するためにウェブサイトによって使用されることも可能である。たとえば、図示され説明された実施形態においては、ウェブアプリケーションは、メディアプレーヤーアプリケーションを含み、3つのツールバーボタンが、プレビューウィンドウ1004の上にオーバーレイされるユーザーインターフェース手段1006内に現れる。これらのボタンは、一時停止ボタン、停止ボタン、および再生ボタンを含む。少なくともいくつかの実施形態においては、ツールバーボタンは、リモートサーバと対話しなければならない状況を回避するクライアント側コードを使用して実装されることが可能である。たとえば個々のボタンは、特定のウェブページ用として登録されることが可能である。それぞれのボタンは、設定されてIDを割り当てられる。1つのリスナーが、すべてのボタンイベントに関して登録される。ボタンが押されると、イベントが生成され、ブラウザーに返信され、次いでブラウザーは、そのイベントを、登録されたイベントリスナーに伝える。そのイベントは、押されたボタンを含む。これは、ボタンどうしの間におけるあいまい性の除去を可能にする。実施例0098一実施例においては、ウェブ開発者は、ジャンプリスト内のカスタムリストを更新するために、およびタスクバーオーバーレイアイコンを更新するために、下記のJavaScript登録商標機能を使用することができる。リスト作成動作0099これは、カスタムリストのタイトルであるリスト名を定義する。この値は、リストヘッダとして表示されることになる。任意選択で、アイテムの名前と、そのアイテムに関するURI値と、そのアイテムに関連付けられたイメージとを含むアイテムリストが、はじめにリストの投入を行うために提供されることが可能である。この機能は、ブラウザーがウェブアプリケーションモードで始動される場合にサポートされることが可能である。リスト更新動作00100特定のリストアイテムを更新するために、リストアイテム値が提供される。リストアイテム値は、アイテムに関する名前と、そのアイテムに関するURI値と、アイテムに関連付けられたイメージとを含む。この機能は、ブラウザーがウェブアプリケーションモードで始動される場合にサポートされることが可能である。オーバーレイアイコンの設定00101現行のタスクバーアイコンのためのオーバーレイとして使用されることになるアイコンを指すURI値が指定される。この機能は、ブラウザーがウェブアプリケーションモードで始動される場合にサポートされることが可能である。プレビューイメージの設定00102タスクバープレビューイメージまたはサムバープレビューthumbbarpreviewのための絵画表現として使用されることになるイメージを指すURI。ユーザーがマウスの左ボタンでタスクバーアイコンをクリックすると、プレビューが表示される。オーバーレイアイコンのクリア00103これは、タスクバーアイコン上の現行のオーバーリーアイコンを取り除く。この機能は、ブラウザーがウェブアプリケーションモードで始動される場合にサポートされることが可能である。00104ウェブ開発者は、特定のウェブサイトのタスクバープレビューウィンドウ内に表示される一式のツールバーボタンを定義および修正するために、下記のJavaScript登録商標機能を使用することができる。ツールバーボタンのインストール00105ボタンIDのリストが、ツールチップおよびイメージURLと共に指定される。イベントは、ユーザーがツールバーボタンを選択すると、処理用としてウェブサイトに渡される。次いでウェブサイトは、ボタンイベントどうしの間においてあいまい性を除去することができる。このコールは、ボタンが表示されるようにするためにサイトモードウィンドウが開かれると、少なくとも1回実行される。この機能は、ブラウザーがウェブアプリケーションモードで始動される場合にサポートされる。イメージの更新00106これは、指定されるボタンIDの状態および可視性を識別する。状態は、有効にされるかまたは無効にされることが可能である。少なくともいくつかの実施形態においては、デフォルトでは、ボタンは有効にされる。ビューは、表示または非表示のいずれかとすることができる。デフォルトでは、定義されたボタンは可視である。この機能は、ブラウザーがウェブアプリケーションモードで始動される場合にサポートされる。00107図11は、1つまたは複数の実施形態によるインストール方法におけるステップを示す流れ図である。この方法は、任意の適切なハードウェア、ソフトウェア、ファームウェア、またはそれらの組合せによって実行されることが可能である。少なくともいくつかの実施形態においては、この方法の態様は、クライアントデバイス上で実行するソフトウェアによって実行される。00108ステップ1100は、ウェブサイト統合機能を選択する。このステップは、任意の適切な方法で実行されることが可能である。典型的には、このステップは、ユーザーが、ウェブアプリケーションインストールプロセスを開始するために手段を選択するか、またはその他の形でアクションを起こすと、実行される。たとえばユーザーは、ウェブアプリケーションを統合できるようにするリンクを選択することができる。これがどのようにして行われることが可能であるかについての具体的な例が、以降で提供される。00109ステップ1102は、クライアントデバイス上で、ウェブアプリケーションファイルここでは、.webappファイルと示されるを作成する。このファイルは、はじめに作成されたときには、ウェブサイトから、またはウェブサイトのために受け取られるコンテンツおよび情報が後に投入されることが可能であるアーチファクトまたはシェルを構成することができる。ステップ1104は、この例においてはジャンプリストを含むウェブアプリケーションコンテンツをウェブアプリケーションファイルに投入する。このステップは、任意の適切な方法で実行されることが可能である。たとえば、このステップは、JavaScriptAPIの使用を通じて実行されることが可能であり、そのJavaScriptAPIの例は、上述のとおりである。代替として、または追加として、このステップの態様は、HTMLなどのマークアップの使用を通じて実行されることが可能である。00110クライアント上にウェブアプリケーションファイルを作成して投入を行うと、ウェブアプリケーションは、任意の適切なときに起動されることが可能になる。00111図12は、1つまたは複数の実施形態による方法のステップを示す流れ図である。これらのステップは、任意の適切なハードウェア、ソフトウェア、ファームウェア、またはそれらの組合せと共に実行されることが可能である。少なくともいくつかの実施形態においては、この方法は、サーバ上で実行するソフトウェアと関連してクライアント上で実行するソフトウェアによって実行されることが可能である。00112ステップ1200は、ジャンプリストに関連付けられたユーザーアクションを受け取る。任意の適切なユーザーアクションが受け取られることが可能であり、それらのユーザーアクションの例は、上記で提供されている。たとえば、少なくともいくつかの実施形態においては、ユーザーアクションは、具体的に表示されたジャンプリストまたは表示されていないジャンプリストに関して受け取られることが可能である。代替として、または追加として、ユーザーアクションは、ウェブアプリケーションに関連付けられている表示されたアイコンに関して受け取られることが可能である。アイコンは、たとえばデスクトップタスクバーまたはその他の任意の適切な場所に表示されることが可能である。そのようなアクションの例は、上記で提供されている。00113ステップ1202は、ユーザーアクションに関連付けられたコンテンツを提示する。たとえば、提示されるコンテンツは、ジャンプリストそのものを含むことができる。ジャンプリストは、任意の適切なタイプのユーザーアクションに応答して提示されることが可能であり、そのユーザーアクションの例は、上記で提供されている。提示されるコンテンツは、ジャンプリストそのもの以外のコンテンツを含むこともできる。たとえばカスタムプレビューウィンドウが、たとえばタスクバーアイコンを左クリックすることなどのユーザーアクションに応答して提示されることが可能である。たとえばユーザーは、新たな電子メールメッセージを作成または編成することを選択することができる。00114図13は、1つまたは複数の実施形態による方法におけるステップを示す流れ図である。この方法は、任意の適切なハードウェア、ソフトウェア、ファームウェア、またはそれらの組合せによって実行されることが可能である。少なくともいくつかの実施形態においては、この方法の態様は、クライアント上で実行するソフトウェア、およびウェブサイトをサポートするサーバにおいて実行するソフトウェアによって実行される。したがって、この図の1つの列は、クライアントによって、またはクライアントにおいて実行されるステップを示すためにクライアントと表示され、1つの列は、ウェブサイトによって、またはウェブサイトのために実行されるステップを示すためにウェブサイトと表示される。00115ステップ1300は、動的なジャンプリストアイテムに関連付けられた情報を受け取る。任意の適切なジャンプリストアイテムが、情報が受け取られる際の基礎として機能することができ、そのジャンプリストアイテムの例は、上記で提供されている。ステップ1302は、通知を作成し、ステップ1304は、ウェブアプリケーションを実行するクライアントデバイスにその通知を伝送する。00116ステップ1306は、その通知を受け取り、ステップ1308は、識別可能な通知をユーザーに提供する。任意の適切なタイプの識別可能な通知が提供されることが可能である。たとえば、少なくともいくつかの実施形態においては、識別可能な通知は、オーバーレイアイコンまたは点滅するウェブアプリケーションアイコンなどの視覚的に識別可能な通知とすることができる。代替として、または追加として、識別可能な通知は、ベルまたはブザーなどの可聴式に識別可能な通知を含むことができる。00117ジャンプリスト統合に関連付けられたさまざまな実施形態について考察してきたが、次いで、ウェブサイトが1つまたは複数の実施形態に従ってどのようにしてタスクバーなどのデスクトップ機能に固定されるようになることができるかに関する論考について考察されたい。タスクバーの固定00118ウェブアプリケーションがクライアントデスクトップまたはタスクバーと統合されるようになることができるさまざまな方法がある。少なくともいくつかの実施形態においては、ウェブアプリケーションは、ドラッグアンドドロップオペレーションを通じてデスクトップと統合されることが可能である。代替として、または追加として、ウェブアプリケーションは、ウェブブラウザーのメニュー選択を介して統合されることが可能である。代替として、または追加として、ウェブアプリケーションは、関連付けられたウェブサイトそのものによって統合されることが可能である。これらの実施形態のそれぞれは、以降でそれ自身の見出しのもとで論じられる。ドラッグアンドドロップオペレーションを通じた統合001191つまたは複数の実施形態においては、ウェブアプリケーションは、ドラッグアンドドロップオペレーションを通じてデスクトップまたはタスクバーと統合されることが可能である。一例として、図14を考察されたい。そこでは、クライアントデスクトップが、全体として1400で示される。ウェブブラウザーウィンドウ1402は、ウェブサイトURLが中に表示された状態のアドレスバー1404を含む。URLに関連して、ファビコンと呼ばれるアイコン1406が示される。加えて、デスクトップ1400は、タスクバー1408を含む。00120図15は、1つまたは複数の実施形態によるドラッグアンドドロップオペレーションを図式的に示す。この例においては、カーソルがファビコン1406の上に置かれている。ファビコンを左クリックしてタスクバー1408へドラッグすることによって、関連付けられたウェブアプリケーションこの場合は、メッセージボードアプリケーションが、デスクトップのタスクバー1408に固定されることが可能である。このドラッグアンドドロップオペレーションは、上述のようにウェブアプリケーションを統合する統合プロセスを始動し、ひいては、そのウェブアプリケーションをタスクバーに固定する。001211つまたは複数の実施態様においては、ウェブアプリケーションに関連付けられたウェブページがブラウザー内でタブを開かれている場合には、ファビコンがタスクバー上にドロップされると、関連付けられたタブは、ブラウザーのウィンドウから消えることができる。代替として、または追加として、タブが除去されるのではなく、代わりに、そのタブのコンテンツが新たなタブのページに入れ替えられることが可能である。ブラウザーウィンドウ内で単一のタブが開かれている場合には、そのブラウザーウィンドウは、ファビコンがタスクバーに固定されると消えることになる。この時点で、元のサイトに含まれるタブは、ブラウザーが閉じる前に、ただしウェブアプリケーションが固定された後で、除去されることが可能である。さらに、少なくともいくつかの実施形態においては、ドラッグオペレーションがタスクバーに入るときに、固定機能をユーザーに知らせるために、タスクバーに固定するという形態のツールチップが提示されることが可能である。00122さらに、タスクバーに固定されたウェブサイトまたはウェブアプリケーションの状態は、そのウェブアプリケーションが初めてインスタンス化されるときに、新たに表示されるウィンドウに移行されることが可能である。これは、ユーザーがそのアプリケーションを使用できるようになるためにサイトに証明書を再入力することを不要とすることができる。00123ウェブサイトまたはウェブアプリケーションをタスクバーに固定して、上述のようなインストールプロセスを完了すると、ウェブアプリケーションは、関連付けられたファビコンをクリックするだけでタスクバーから起動されることが可能となる。00124図16は、1つまたは複数の実施形態によるインストール方法におけるステップを示す流れ図である。この方法は、任意の適切なハードウェア、ソフトウェア、ファームウェア、またはそれらの組合せによって実行されることが可能である。少なくともいくつかの実施形態においては、この方法の態様は、クライアント上で実行するソフトウェアによって実行される。00125ステップ1600は、ウェブアプリケーションインストールに関連付けられたドラッグアンドドロップオペレーションの表示を受け取る。このステップは、任意の適切な方法で実行されることが可能である。すぐ上で説明された実施形態においては、このステップは、ユーザーが、関連付けられたウェブアプリケーションを自分のデスクトップに統合したいという希望をウェブサイトに示すために、ウェブサイトに関連付けられたファビコンなどのアイコンをドラッグアンドドロップすると、実行される。たとえばユーザーは、タスクバー、クイック起動エリア、または、デスクトップキャンバスなど、デスクトップ上のその他の何らかの場所にファビコンをドラッグアンドドロップすることができる。ステップ1602は、ドラッグアンドドロップオペレーションに応答してウェブアプリケーションファイルを作成する。図示され説明された実施形態においては、はじめに作成されるウェブアプリケーションファイルは、ジャンプリストタスク、スタートURL、ファビコン、または、静的なジャンプリストタスク、代替スタートURL、代替ファビコンなどのその他のプロパティーなど、関連付けられたウェブサイトからの情報をまだ含まないアーチファクトまたはシェルである。これらは、上述のような新たなマークアップおよび/またはJavaScriptAPIを通じて後から追加されることが可能である。JavaScriptAPIを採用する技術以外の技術が、特許請求される主題の趣旨および範囲から逸脱することなく利用されることが可能であるということを認識および理解されたい。ブラウザーメニュー選択を通じた統合001261つまたは複数の実施形態においては、ウェブアプリケーションは、ウェブブラウザーのメニュー選択を介して統合されることが可能である。一例として、図17を考察されたい。そこでは、クライアントデスクトップが、全体として1700で示される。ウェブブラウザーウィンドウ1702は、URLが表示された状態のアドレスバー1704を含む。さらにデスクトップ1700は、タスクバー1706を含む。ページメニューの形態のブラウザーメニューアイテム1708が示される。メニュー選択1710を表示するためにページメニューをドロップダウンすることによって、メニューアイテムまたは選択AddtoStartMenuスタートメニューに追加が表示される。このオプションを選択することによって、ウェブサイトまたはウェブアプリケーションがデスクトップのスタートメニューに追加されることが可能であり、上述のようにインストールプロセスが開始されることが可能である。代替として、または追加として、インストールプロセスの開始を可能にするためにAddtoTaskBarタスクバーに追加のメニューアイテムまたは選択が表示されることも可能である。00127図18は、1つまたは複数の実施形態によるインストール方法におけるステップを示す流れ図である。この方法は、任意の適切なハードウェア、ソフトウェア、ファームウェア、またはそれらの組合せによって実行されることが可能である。少なくともいくつかの実施形態においては、この方法の態様は、クライアント上で実行するソフトウェアによって実行される。00128ステップ1800は、ブラウザーメニュー選択を受け取る。このステップは、任意の適切な方法で実行されることが可能である。すぐ上で説明された実施形態においては、このステップは、ユーザーが特定のウェブサイトへナビゲートし、ブラウザーメニューをドロップダウンしてメニュー選択を表示し、そのウェブサイトに関連付けられたウェブアプリケーションのインストールを開始することに関連付けられたメニューアイテムを選択することによってアクションを起こすと、実行される。00129ステップ1802は、ブラウザーメニュー選択を受け取ったことに応答してウェブアプリケーションファイルを作成する。図示され説明された実施形態においては、はじめに作成されるウェブアプリケーションファイルは、ジャンプリストタスク、スタートURL、ファビコンなど、関連付けられたウェブサイトからの情報をまだ含まないアーチファクトまたはシェルである。これらは、上述のような新たなマークアップおよび/またはJavaScriptAPIを通じて後から追加されることが可能である。JavaScriptAPIを採用する技術以外の技術が、特許請求される主題の趣旨および範囲から逸脱することなく利用されることが可能であるということを認識および理解されたい。関連付けられたウェブサイトを通じた統合001301つまたは複数の実施形態においては、デスクトップとウェブアプリケーションの統合は、ウェブページから生じることができる。これらの実施形態においては、特定のウェブサイトが、ウェブアプリケーションをデスクトップ内に統合するための、JavaScript登録商標などのコードを使用することによる統合アクティビティーを選択することができる。これは、ウェブサイトが統合開始手段をコントロールできるようにする。00131一例として、図19を考察されたい。そこでは、クライアントデスクトップが、全体として1900で示される。ウェブブラウザーウィンドウ1902は、URLが中に表示された状態のアドレスバー1904を含む。加えて、デスクトップ1900は、タスクバー1906を含む。さらに、ブラウザーウィンドウ1902内に表示されたウェブページは、AddtoDesktopデスクトップに追加と題されたリンク1908を含む。このリンクをクリックすることによって、ユーザーは、上述のようなウェブアプリケーションインストールプロセスを開始することができる。00132少なくともいくつかの実施形態においては、リンク選択が行われると、ユーザーが行おうとしているユーザーアクションと、新たに作成されたショートカットにアクセスするのはどこかとを説明するモーダル確認ダイアログが提示されることが可能である。この確認ダイアログは、提示されているページのソースURLをユーザーに提示することができる。表示されるURLは、ウェブサイトのフルパスを含むことができる。これは、ユーザーがインストールしたいと望むウェブサイトが正しいサイトから提供されていることをユーザーが確認できるようにすることができる。これは、悪意あるサブディレクトリーに関連する状況を緩和することができる。00133さまざまな実施態様においては、デスクトップと統合されることになるウェブサイトのURLがチェックされて、そのウェブサイトが、そのウェブサイトを含むウェブページと同じドメイン上にあることが確認される。そのウェブサイトが、そのウェブサイトを含むウェブページと同じドメイン上にない場合には、エラーが表示されることが可能であり、そのオペレーションは、失敗に終わる可能性がある。ユーザーがオペレーションを確認すると、ダイアログが除去されることが可能であり、ウェブアプリケーションウィンドウが、正しいURLを伴って表示されることが可能である。00134図20は、1つまたは複数の実施形態によるインストール方法におけるステップを示す流れ図である。この方法は、任意の適切なハードウェア、ソフトウェア、ファームウェア、またはそれらの組合せによって実行されることが可能である。少なくともいくつかの実施形態においては、この方法の態様は、クライアント上で実行するソフトウェアによって実行される。00135ステップ2000は、統合リンクを伴うウェブページを表示する。このステップは、任意の適切な方法で実行されることが可能であり、その方法の例は、上記で提供されている。ステップ2002は、統合リンクの選択を受け取る。ステップ2004は、リンクの選択を受け取ったことに応答してウェブアプリケーションファイルを作成する。図示され説明された実施形態においては、はじめに作成されるウェブアプリケーションファイルは、ジャンプリストタスク、スタートURL、ファビコンなど、関連付けられたウェブサイトからの情報をまだ含まないアーチファクトまたはシェルである。これらは、上述のような新たなマークアップおよび/またはJavaScriptAPIを通じて後から追加されることが可能である。JavaScriptAPIを採用する技術以外の技術が、特許請求される主題の趣旨および範囲から逸脱することなく利用されることが可能であるということを認識および理解されたい。00136少なくともいくつかの実施形態においては、ウェブアプリケーションに関連付けられた複数のウィンドウまたはタブの視覚的な表示が、ユーザーに提供されることが可能である。一例として、図21を考察されたい。そこでは、デスクトップ2100が、ウェブアプリケーションアイコンが固定されているタスクバー2102を含む。アイコンをクリックすることによってウェブアプリケーションを起動するために、カーソルが使用されている。この例においては、ユーザーが、ウェブアプリケーションのスターティングページを使用して、複数のページへナビゲートしたと想定する。ウェブアプリケーションは、ユーザーがナビゲートした先のウェブページの集合2104を示す視覚化を可能にすることができる。具体的には、この例においては、集合2104は、ウェブアプリケーションのためのスターティングページ2106と、ユーザーがスターティングページからナビゲートした先の後続のページ2108および2110とを含む。00137さまざまなウェブアプリケーション統合技術について考察してきたが、次いで、ユーザー証明書がどのようにしてウェブアプリケーションのためのログインセッションに関連付けられることが可能であるかに関する論考について考察されたい。証明書とログインセッションの関連付け00138さまざまな実施形態は、ログイン/証明書情報loginorcredentialinformationを利用するウェブサイトに関連付けられる1つまたは複数のウェブアプリケーションが、1つのウェブアプリケーションの別々のインスタンスにわたってログイン/証明書情報を保持する様式で統合されることを可能にする。00139ブラウザーが、ログイン/証明書情報を利用するウェブサイトへナビゲートする場合には、そのログイン/証明書情報は、手動で入力されるか、または証明書ストアから検索されることが可能である。証明書ストアは、限定ではなく例として、ユーザー名およびパスワード、または特定のURLに関するユーザーの証明書など、ユーザーログイン情報を含むことができる。同一のURLまたはウェブサイトは、それぞれが別々のユーザーに関連付けられた複数のエントリーを有することができる。同様に、証明書ストアは、複数のURLに関するユーザーログイン情報または証明書を含むことができる。00140少なくともいくつかの実施形態においては、ユーザーがログインされているウェブサイトに関連付けられたウェブアプリケーションが、上述のようにデスクトップ上に統合され、対話されることが可能である。そのようなウェブアプリケーションが統合されるときに、プロセスは、そのウェブアプリケーションが関連付けられているのはどのウェブサイトかを、ならびにそのウェブサイトにログオンされているユーザーを特定する。プロセスは、関連付けられたログイン情報および/または証明書を求めて証明書ストアを検索する。次いでプロセスは、ユーザーと、作成されたウェブアプリケーションと、関連する証明書との間における関連付けを作成する。00141一例として、図22を考察されたい。図22は、1つまたは複数の実施形態による、ウェブサイトと、証明書ストアと、ウェブアプリケーションとの間における関係を示す。ブラウザー2200が、ログイン情報を利用するウェブサイトを表示する。URLを表示することに加えて、上述のようにウェブアプリケーションの統合を容易にするために選択されることが可能であるアイコン2210が表示される。証明書ストア2220が、複数のウェブサイトに関するログイン情報を含むエントリーを含む。そのような1つのエントリーが、2230で示される。ここでは、そのエントリーは、ウェブサイトURL、ユーザー名、およびパスワードを含む。図22は、ログイン情報を、ユーザー名およびパスワードを含むものとして示すが、他の形態のログイン情報または証明書が採用されることも可能であるということを認識および理解されたい。001421つまたは複数の実施形態においては、アイコン2210は、上述のように、かつアイコン2240によって示されるように、選択されてタスクバー2235上にドラッグアンドドロップされることが可能である。この手順は、ウェブサイトに関連付けられたウェブアプリケーションの統合を開始する。選択が受け取られると、プロセスは、どのユーザーが現在そのウェブサイトにログオンされているかを特定し、関連付けられた証明書を求めて証明書ストア2220を検索する。しかし、関連付けられた証明書は、特許請求される主題の趣旨から逸脱することなく、その他の方法で特定および/または入手されることが可能であるということを認識および理解されたい。00143ユーザーの証明書および/またはログイン情報を入手すると、証明書と、ウェブアプリケーション証明書ストア2250内のウェブアプリケーションとの間において関連付けが作成される。ウェブアプリケーション証明書ストア2250は、ウェブサイトと、ウェブアプリケーションと、関連する証明書との間における関連付けに関連するデータを含む1つまたは複数のエントリーを含む。00144たとえば図22は、エントリー2260を示し、このエントリー2260は、ユーザーjsmithに関するウェブサイトa.comに関連するログイン情報を含むものとして示される。URL、ユーザー名、およびパスワード情報に加えて、エントリー2260は、ウェブアプリケーションを対応する証明書に関連付けるために使用されることが可能であるアプリケーションIDすなわちAppIDも含む。ウェブアプリケーション証明書ストア2250は、同じウェブサイトa.comに関する一方で別のユーザー、bsmithに関する第2のエントリー2270も含む。このメカニズムは、同じウェブサイトからの個々のウェブアプリケーションを別々のユーザーおよびそれらのユーザーの関連付けられた証明書に関連付けることを可能にする。00145図22には示されていないが、さまざまな形態のユーザーログイン情報および/または証明書が、1つのウェブアプリケーションに関連付けられることが可能である。たとえば一実施形態においては、関連付けは、証明書ストア2220内の情報へ戻るポインタまたは参照を含むことができる。別の実施形態においては、ウェブアプリケーション証明書ストア2250は、証明書ストアからコピーされた情報を含むことができる。さらに別の実施形態においては、ユーザー名およびパスワードとは別個の証明書、またはユーザー名およびパスワードに追加した証明書が、1つのウェブアプリケーションに関連付けられることが可能である。たとえばバイオメトリック情報が、ウェブアプリケーション証明書ストア内で作成される関連付けの基礎を形成することができる。00146ウェブサイトと、証明書ストアと、ウェブアプリケーションとの間における関係について説明してきたが、次いで、関連付けられた証明書を採用するウェブサイトに関してウェブアプリケーションがどのようにして統合されることが可能であるかを考察されたい。関連付けられた証明書を伴うウェブアプリケーションの作成および起動00147図23は、1つまたは複数の実施形態による方法におけるステップを示す流れ図である。この方法は、任意の適切なハードウェア、ソフトウェア、ファームウェア、またはそれらの組合せによって実行されることが可能である。少なくともいくつかの実施形態においては、この方法の態様は、クライアント上で実行するソフトウェアによって実行される。00148ステップ2300は、ウェブサイト統合機能の選択を受け取る。これがどのようにして行われることが可能であるかの例は、上記で提供されている。上述のように、ウェブサイト統合機能は、クライアントのデスクトップ上におけるウェブアプリケーションのインストールに関連付けられる。ウェブサイト統合機能の選択を受け取ったことに応答して、ステップ2302は、上述のように、クライアントのデスクトップ上においてウェブアプリケーションをインストールするためのインストールプロセスを開始する。具体的には、クライアント上におけるこのプロセスの開始は、上述のようにウェブアプリケーションファイルを作成することを含むことができる。ステップ2304は、ウェブサイトに関連付けられた現在のウェブセッションに関連付けられたセッション情報を入手する。このステップは、任意の適切な方法で実行されることが可能である。たとえば一実施形態においては、セッション情報は、ウェブサイトに関連付けられたコンテンツをレンダリングするブラウザーと、インストールプロセスとの間における共有メモリーコンポーネントを使用して入手されることが可能である。別の実施形態においては、ウェブサイトは、ウェブサイト統合機能が選択されると、セッション情報を自動的に転送することができる。さらに別の実施形態においては、セッション情報がブラウザーによって格納されて、後からクエリーされることが可能である。00149セッション情報を入手したことに応答して、ステップ2306は、そのセッション情報に関連した証明書を入手する。一実施形態においては、証明書ストアは、ユーザーがログインされるウェブサイトに関連したログインおよび/または証明書を求めてクエリーされることが可能である。たとえば証明書ストアは、現在のセッションのウェブサイトおよびユーザーに関連付けられたユーザー名およびパスワードを求めてクエリーされることが可能である。ステップ2308は、セッション情報に関連した証明書および/またはログイン情報を1つのウェブアプリケーションに関連付ける。このステップは、任意の適切な方法で実行されることが可能である。たとえば証明書は、その後の参照のためにウェブアプリケーション証明書ストアにコピーされることが可能である。代替として、または追加として、証明書ストア内の証明書へのポインタまたは参照が、ウェブアプリケーション証明書ストア内に配置されることも可能である。1つのウェブアプリケーションのそれぞれのインスタンスと、関連した証明書および/またはログイン情報とに関する一意のIDを作成するために、セッション情報および/または証明書に少なくとも部分的に基づいて1つの識別番号が生成されることが可能である。この情報は、取得された証明書および/またはログイン情報を1つのウェブアプリケーションに関連付けるために、ウェブアプリケーション証明書ストアのエントリーに加えられることが可能である。しかし、特許請求される主題の趣旨および範囲から逸脱することなく、証明書を1つのウェブアプリケーションに関連付けるために任意の適切な技術が採用されることが可能であるということを認識および理解されたい。00150上述のように、それぞれのウェブアプリケーションインスタンスごとの一意のIDは、複数のウェブアプリケーションの複数のインスタンスが同じURLまたはウェブサイトに関連付けられ、かつ、それぞれのインスタンスが別々のユーザー証明書に関連付けられている状態を可能にする。00151図24は、1つまたは複数の実施形態による方法におけるステップを示す流れ図である。この方法は、任意の適切なハードウェア、ソフトウェア、ファームウェア、またはそれらの組合せによって実行されることが可能である。少なくともいくつかの実施形態においては、この方法の態様は、クライアント上で実行するソフトウェアによって実行される。00152ステップ2400は、起動するウェブアプリケーションの選択を受け取る。このステップは、任意の適切な方法で実行されることが可能である。たとえばアイコンの選択は、上述のように、そのアイコンが固定されているタスクバーから行われることが可能である。代替として、または追加として、デスクトップスタートメニューまたはシステムツールバーからの選択が行われることも可能である。起動するウェブアプリケーションの選択を受け取ると、ステップ2402は、ウェブアプリケーションに関連付けられた証明書を検索する。たとえば、1つまたは複数の実施形態においては、現在ログインされているユーザーに関するログイン情報を検索する目的でウェブアプリケーション証明書ストアを参照するために、AppIDが使用されることが可能である。ステップ2404は、ウェブアプリケーションおよび関連する証明書に関連付けられたURLおよび/またはFormIDを検索する。ステップ2402および2404で説明された情報を取得すると、ステップ2406は、ユーザーの介入を伴わずに、関連付けられたウェブサイトに自律的にログインする。ウェブサイトにログインすると、ステップ2408は、上述のように、スタートURLへナビゲートする。00153証明書に関連付けられた1つのウェブアプリケーションがどのようにして統合され起動されるかについて説明してきたが、次いで、関連付けられた証明書を伴う複数のウェブアプリケーションの複数のインスタンスに関する論考について考察されたい。関連付けられた証明書を伴う複数のウェブアプリケーションの複数のインスタンス00154図25は、証明書に関連付けられる複数のウェブアプリケーションインスタンスの一例を示す。ウェブアプリケーション証明書ストア2500が、ウェブアプリケーションに関連するデータと、ウェブサイトに関する関連付けられた証明書とを含む。ウェブアプリケーション証明書ストア2500内に含まれるのは、エントリー2510および2520であり、これらはそれぞれ、別々のユーザーに関する。図25に示されるように、エントリー2510は、ウェブサイトa.comに関連し、関連付けられたウェブサイトにログオンするために使用されるユーザー名jsmithおよびパスワードbulldogsなど、さらなる情報を含む。エントリー2510は、AppIDを含み、このAppIDは、そのエントリーをウェブアプリケーション2530に関連付けるために使用される。エントリー2520は、同様にウェブサイトa.comに関連し、その一方でユーザーbsmithに関するログイン情報を含み、ウェブアプリケーション2540に関連付けられる。図25は、エントリーを、URL/FormID、ユーザー名、パスワード、およびAppIDを含むように示すが、特許請求される主題の趣旨から逸脱することなく、別の形態の関連付けおよび証明書情報が使用されることが可能であるということを認識および理解されたい。したがって、ウェブアプリケーション証明書ストア内の複数のデータエントリーが、同じウェブサイトに関連付けられる別々のユーザー証明書をそれぞれが有してクライアントのデスクトップ上に統合される別々のウェブアプリケーションを識別するデータを含むことができる。001551つまたは複数の実施形態においては、同じウェブサイトに関連付けられる1つまたは複数のウェブアプリケーションが存在すること、または同時にアクティブ化されることが可能である。たとえば、ウェブアプリケーションが、デスクトップツールバーを介して起動されることと、そのウェブアプリケーションが起動されるときに、関連付けられた証明書を使用して、関連付けられたユーザーをウェブサイトに自動的にログインさせることとを可能にするようにソフトウェアモジュールが構成されることが可能である。単一のウェブアプリケーションを起動することに加えて、第2のウェブアプリケーションが選択されて起動されるときに同じウェブサイトまたは別のウェブサイトのいずれかに関して別々のユーザー証明書を使用して第2のウェブアプリケーションが起動されることを可能にするようにソフトウェアモジュールが構成されることも可能である。00156たとえば、図25の2つのウェブアプリケーション2530、2540は、同時にアクティブ化される。上述のように、それぞれは、ウェブサイトa.comに関連し、その一方で別々の証明書を関連付けられている。ウェブアプリケーション2530は、選択されて起動される際に、ユーザーjsmithに関連付けられた証明書を使用して、ウェブサイトa.comに自動的にログオンする。同様に、ウェブアプリケーション2540は、選択されて起動されるときに、ユーザーbsmithに関連付けられた証明書を使用して、ウェブサイトa.comにログオンする。このように、同じウェブサイトに関連付けられた複数のウェブアプリケーションの複数のインスタンスが、同時にアクティブ化され、別々の証明書に関連付けられることが可能である。00157関連付けられた証明書を伴うウェブアプリケーションの作成および起動という概念について説明してきたが、次いで、ウェブアプリケーションタスクセッションに関する論考について考察されたい。ウェブアプリケーションタスクセッション001581つまたは複数の実施形態においては、ウェブアプリケーションに関連付けられた状態情報がシステムに保存されることを可能にするために、タスクセッションが作成されることが可能である。状態情報は、限定ではなく例として、セッションクッキー、JavaScript登録商標状態、DOM状態、フォーム状態、タブおよびウィンドウの配置、ウィンドウサイズ、URL、履歴などを含むことができる。00159特定のタスクセッションに関連付けられた状態情報が保存されるため、ウェブアプリケーションが、閉じられて、そのウェブアプリケーションに関する状態情報を復元またはリハイドレートするために後から再び開かれることが可能である。状態情報は、自動的に、または手動の選択プロセスを通じて保存されることが可能である。00160一例として、図26を考察されたい。そこでは、デスクトップ2600が、ウェブアプリケーションウィンドウ2602を含み、そのウェブアプリケーションウィンドウ2602は、旅行を計画するために利用されている。デスクトップ2600は、タスクバー2604およびジャンプリスト2606も含む。ウェブアプリケーションディレクトリー2608が、ストレージ機能を提供し、このストレージ機能は、タスクセッション状態情報を格納するために利用されることが可能である。図示され説明された実施形態においては、ウェブアプリケーションディレクトリー2608が、システムのユーザースペース内に作成される。この例においては、ユーザーは、保存されている2つのタスクセッション、すなわち、プエルトリコ旅行に関連付けられたタスクセッションと、アラスカ旅行に関連付けられたタスクセッションとを有する。00161オペレーションにおいて、ユーザーは、ウェブアプリケーションと対話するときに、タスクセッションを作成および保存することを、任意の適切な手段を通じて選択することができる。図示された例においては、ジャンプリスト2606は、2つのエントリーを含むメニューアイテムTasksタスクを有する。第1のエントリーNewTaskSession新たなタスクセッションは、ユーザーが新たなタスクセッションを作成することを可能にする。第2のエントリーSaveCurrentTask現在のタスクを保存は、ユーザーが現在のタスクを保存することを可能にする。現在のタスクを保存することによって、タスクに関連付けられた状態情報が、ウェブアプリケーションディレクトリー2608に保存される。OpenTaskSessionsタスクセッションを開くと題されたメニューアイテムは、ウェブアプリケーションディレクトリー2608に保存された前のタスクセッションをユーザーが復元またはリハイドレートすることを可能にするエントリーを含む。ここでは、2つの前述した、前に保存されたタスクセッション、すなわちプエルトリコ旅行およびアラスカ旅行がある。00162上記の例からわかるように、個々のウェブアプリケーションに関して複数のタスクセッションが作成および保存されることが可能である。タスクセッションが保存される場合には、ウェブアプリケーションに関連付けられたアプリケーションIDが、そのタスクセッションと共に保存されることが可能である。次いで、保存されたタスクセッションに関連付けられた情報をどのウェブアプリケーションが利用することになるかを特定するために、アプリケーションIDが使用されることが可能である。00163タスクセッションが作成および保存されることを可能にするために、任意の適切な技術およびアプローチが利用されることが可能である。少なくともいくつかの実施形態においては、本システムは、本システムのウェブブラウザーに関連付けられたクラッシュ回復システムを活用またはその他の形で利用することができる。この場合には、たとえばユーザーが、現在のタスクを保存すること、または新たなタスクセッションを作成することを選択すると、クラッシュ回復機能がトリガーされることが可能である。このクラッシュ回復機能は、appdataファイルを作成することができ、このappdataファイルは、ユーザーのアプリケーションデータディレクトリー内に存在し、タスクセッションに関連付けられた情報を保存するために使用されることが可能である。クラッシュ回復システムの具体的なオペレーションは、当業者によって理解されるであろう。したがって、簡潔にするために、そのようなシステムは、本明細書においては説明されない。00164図27は、1つまたは複数の実施形態による、タスクセッション状態情報を保存するための方法におけるステップを示す流れ図である。これらのステップは、任意の適切なハードウェア、ソフトウェア、ファームウェア、またはそれらの組合せと共に実行されることが可能である。少なくともいくつかの実施形態においては、この方法は、サーバ上で実行するソフトウェアと関連してクライアント上で実行するソフトウェアによって実行されることが可能である。00165ステップ2700は、タスクセッション状態情報を保存することに関連付けられた入力を受け取る。任意の適切な入力が受け取られることが可能である。たとえば、受け取られる入力は、ユーザーから受け取られる入力を含むことができる。代替として、または追加として、入力は、何らかのタイプの自動的な、プログラムによる入力を含むことができる。少なくともいくつかの実施形態においては、ユーザー入力は、ジャンプリストを介して受け取られることが可能である。代替として、または追加として、ユーザー入力は、ショートカットを介して受け取られることが可能である。図示され説明された実施形態においては、ユーザー入力は、ウェブアプリケーションに関連付けられたタスクセッション状態情報を保存したいとユーザーが望んでいることを示す。ステップ2702は、ウェブアプリケーションディレクトリー内のタスクセッションデータ構造を作成するか、またはその他の形でそのタスクセッションデータ構造にアクセスする。タスクセッションデータ構造は、タスクセッション状態情報を保存するために利用される。ステップ2704は、タスクセッション状態情報をデータ構造内に保存する。このステップは、任意の適切な方法で実行されることが可能である。たとえば、このステップは、ユーザーがタスクセッション状態情報を保存することを選択すると、実行されることが可能である。代替として、または追加として、このステップは、ウェブアプリケーションとユーザーの対話中に定期的に実行されることが可能である。少なくともいくつかの実施形態においては、ステップ2702および2704は、ウェブブラウザーのクラッシュ回復システムを利用することによって実行されることが可能である。しかし、特許請求される主題の趣旨および範囲から逸脱することなく、他の技術が利用されることが可能であるということを認識および理解されたい。00166図28は、1つまたは複数の実施形態による、状態情報が保存されているタスクセッションを復元するための方法におけるステップを示す流れ図である。これらのステップは、任意の適切なハードウェア、ソフトウェア、ファームウェア、またはそれらの組合せと共に実行されることが可能である。少なくともいくつかの実施形態においては、この方法は、サーバ上で実行するソフトウェアと関連してクライアント上で実行するソフトウェアによって実行されることが可能である。00167ステップ2800は、状態情報が前に保存されたタスクセッションを復元することに関連付けられたユーザー入力を受け取る。ステップ2802は、ウェブアプリケーションディレクトリー内のタスクセッションデータ構造にアクセスする。上述のように、タスクセッションの状態情報は、タスクセッションデータ構造内に保存される。ステップ2804は、ウェブアプリケーションディレクトリーからタスクセッション状態情報を検索する。ステップ2806は、関連付けられたウェブアプリケーションを起動し、ウェブアプリケーションディレクトリーから検索されたタスクセッション状態情報を使用してタスクセッションを復元する。00168タスクセッション状態情報を保存および再利用するという概念について説明してきたが、次いで、ウェブアプリケーションとブラウザーの間においてどのようにして遷移が実行されることが可能であるかを考察されたい。ウェブアプリケーションとブラウザーの間における遷移001691つまたは複数の実施形態においては、ウェブアプリケーションは、そのウェブアプリケーションを可能にするウェブアプリケーションモードブラウザーによって提供されることが不可能であるブラウザー性能を活用できるようにするために、ブラウザー経験に遷移することができる。これは、いくつかの実施形態において、ウェブアプリケーションモードブラウザーが、よりサイト固有の経験を開発者たちが提供できるようにするために、軽量化されたまたはクロムレスのブラウザーであることに起因するということを想起されたい。ウェブアプリケーションモードブラウザーから除外されているそのような他の性能としては、たとえば、お気に入り、ツールバー、および/またはその他のアドオンを含むことができる。00170少なくともいくつかの実施形態においては、個々のタブに関連付けられたコンテンツおよび状態が、ウェブアプリケーションからウェブブラウザーに移行されることが可能である。代替として、または追加として、複数のタブに関連付けられたコンテンツおよび状態、ならびに/またはウェブアプリケーションのすべてのコンテンツおよび状態が、ウェブアプリケーションからウェブブラウザーに移行されることも可能である。代替として、または追加として、個々のタブに関連付けられたセッションが、ウェブアプリケーションからブラウザーに移行されることも可能である。00171ユーザーが、自分のデスクトップからウェブアプリケーションを始動しており、その中でナビゲートしており、新たなタブにおいて1つまたは複数のリンクを開く状況を考えていただきたい。一例として、図29を考察されたい。そこでは、デスクトップ2900が、ウェブアプリケーションウィンドウ2902を含み、ウェブアプリケーションウィンドウ2902は、ウェブアプリケーションのうちで旅行を計画するために利用されている部分を含む。デスクトップ2900は、タスクバー2904も含み、ウェブアプリケーションは、そのタスクバーに固定されている関連付けられたアイコンをクリックすることなどによって、そのタスクバー2904から起動された。ウェブアプリケーションウィンドウ2902は、3つのタブ2906、2908、および2910を含む。この場合には、ユーザーは、タブ2906を選択しており、ユーザーが開くことができるリンクClickheretosearchforflightsフライトを検索するためにはここをクリックしてくださいを有する。00172次いでユーザーは、関連付けられたリンクをクリックしてそのリンクを開き、そのリンクを開くと、タブ2906内に表示されているウェブサイトに関するお気に入りアイテムを作成したいと決心する、と想定する。この場合には、ユーザーは、ツールメニュー2912を開くか、またはその他の何らかのユーザーインターフェース手段を使用して、関連付けられたウェブブラウザー内にタブのコンテンツを開くというオプションを選択することができる。一例として、図30を考察されたい。図30は、図29と同様の番号を使用する。00173そこでは、ツールメニュー2912が、そのコンテンツ3000を表示するために開かれている。この例においては、ユーザーにとって、2つの選択、すなわちOpenTabinBrowser...ブラウザー内にタブを開く...およびOpenWebAppContentinBrowser...ブラウザー内にウェブアプリケーションコンテンツを開く...が利用可能である。第1の選択は、ユーザーが、選択されたタブのコンテンツをウェブブラウザー内に開くことを可能にする。選択されたタブがウェブブラウザー内に開かれる場合には、そのタブのコンテンツおよび状態が、ウェブブラウザーに移行される。このウェブブラウザーは、オープンインスタンスを有するものとすることができ、または別法として、起動されるものとすることもできる。第2の選択は、ユーザーが、ウェブアプリケーションのすべてのコンテンツをウェブブラウザー内に開くことを可能にする。これが行われる場合には、そのウェブアプリケーションのコンテンツおよび状態が、ウェブブラウザーに移行される。00174コンテンツおよび状態をウェブアプリケーションタブまたはウェブアプリケーションからウェブブラウザーに移行するために、任意の適切な技術が利用されることが可能である。少なくともいくつかの実施形態においては、移行は、上述のようなウェブブラウザーのクラッシュ回復システムの使用を通じて生じる。具体的には、コンテンツおよび状態をウェブアプリケーションからウェブブラウザーに移行したいという希望をユーザーが示すと、コンテンツおよび状態は、たとえば、移行されることになる関連するデータを含むappdataファイルを書き込むことによって、システムのディスクに書き込まれることが可能である。00175加えて、少なくともいくつかの場合においては、通常はウェブブラウザーのクラッシュ回復システムによって利用されない情報またはデータを移行するために、共有メモリーが利用されることが可能である。たとえば、証明書およびセッションクッキーなどのデータが共有メモリー内に格納されることが可能であり、そのようなデータがウェブブラウザーによって使用されることを可能にするために、その共有メモリーが利用されることが可能である。00176ツールメニュー2912内に表示される特定のオプションをユーザーが選択すると、情報またはデータは、ウェブブラウザーの最新のすなわち新たなインスタンスに移行されることが可能であり、ウェブアプリケーションウィンドウ2902内の関連付けられたタブは、閉じられることが可能である。1つまたは複数の実施形態においては、情報またはデータが移行されつつある元のタブが、ウェブアプリケーション内で開いている唯一のタブである場合には、ウェブアプリケーションは、移行が完了すると閉じられることが可能である。00177上述のアプローチは、1つのプロセス境界をまたいで別々のプロセスにおいてウェブアプリケーションおよびウェブブラウザーが実行する場合に功を奏する。すなわち、クラッシュ回復システムおよび共有メモリーを使用する移行は、プロセス境界をまたぐことに非常に適する。しかし、いくつかの場合には、プロセス境界を必ずしもまたぐ必要はない。むしろ、ウェブアプリケーションおよびその後に続くウェブブラウザー機能は、同じプロセス内から表示されることが可能である。具体的には、この場合、ウェブブラウザーユーザーインターフェースが、ウェブアプリケーションウィンドウ2902と共にインスタンス化されて使用されることが可能であり、ウェブアプリケーションモードブラウザーを通じて利用できない機能がオンにされて、ウェブブラウザーユーザーインターフェースを通じてアクセスできるようにされることが可能である。オペレーションにおいて、これを実施する1つの方法は、次のとおりである。ウェブアプリケーションは、はじめにいくつかのクラッシュ回復ファイルを作成する。新たなブラウザーが始動され、それらのクラッシュ回復ファイルからクラッシュ回復情報をロードする。次いで、この情報は、その新たなブラウザーの状態を構成するために使用される。ユーザーは、その新たなブラウザー内で作業するときには、そのブラウザーの標準のユーザーインターフェースを介してブラウザー機能のすべてにアクセスできることになる。00178図31は、一実施形態を示し、この実施形態においては、ユーザーが、1つのタブに関連付けられたコンテンツおよび状態を新たなブラウザーインスタンスに移行することを選択している。図29の例と同様の番号が、利用されている。ここでは、ユーザーがタブ2906に関してOpenTabinBrowserブラウザー内にタブを開くのメニュー選択図30を選択していると想定する。それに応答して、そのタブのコンテンツおよび状態が、ウェブブラウザーの新たなインスタンスに移行され、その関連付けられたユーザーインターフェースウィンドウが、3100で示される。ユーザーインターフェースウィンドウ3100は、アドレスバー3102と、ウェブアプリケーションから移行されたタブに関連付けられたタブ3104とを含む。この例においては、ウェブアプリケーションウィンドウ2902においてタブ2906図30が閉じられているが、複数のタブが開いているため、ウェブアプリケーションは開いたままであるということに留意されたい。00179図32は、1つまたは複数の実施形態による方法におけるステップを示す流れ図である。これらのステップは、任意の適切なハードウェア、ソフトウェア、ファームウェア、またはそれらの組合せと共に実行されることが可能である。少なくともいくつかの実施形態においては、この方法は、サーバ上で実行するソフトウェアと関連してクライアント上で実行するソフトウェアによって実行されることが可能である。00180ステップ3200は、ウェブアプリケーションのコンテンツおよび/または状態をウェブブラウザーに移行することに関連付けられたユーザー入力を受け取る。任意の適切な入力が受け取られることが可能である。たとえば、少なくともいくつかの実施形態においては、入力は、ウェブアプリケーションによって表示されるツールメニューを通じて受け取られることが可能である。ステップ3202は、ウェブアプリケーションのコンテンツおよび/または状態をウェブブラウザーに移行する。ウェブアプリケーションのコンテンツおよび/または状態を移行するために、任意の適切な技術が利用されることが可能である。加えて、任意の適切なレベルの細かさでコンテンツおよび/または状態が移行されることが可能である。たとえば、ウェブアプリケーションの個々のタブまたは複数のタブに関連付けられたコンテンツおよび/または状態が移行されることが可能である。代替として、または追加として、ウェブアプリケーションのコンテンツ全体が移行されることも可能である。さらに、少なくとも複数の実施形態においては、移行は、複数のプロセス境界をまたいで生じることが可能である。代替として、または追加として、移行は、同じプロセス内で生じることも可能である。00181図33は、1つまたは複数の実施形態による方法におけるステップを示す流れ図である。これらのステップは、任意の適切なハードウェア、ソフトウェア、ファームウェア、またはそれらの組合せと共に実行されることが可能である。少なくともいくつかの実施形態においては、この方法は、サーバ上で実行するソフトウェアと関連してクライアント上で実行するソフトウェアによって実行されることが可能である。00182ステップ3300は、ウェブアプリケーションのコンテンツおよび/または状態をウェブブラウザーに移行することに関連付けられたユーザー入力を受け取る。任意の適切な入力が受け取られることが可能である。たとえば、少なくともいくつかの実施形態においては、入力は、ウェブアプリケーションによって表示されるツールメニューを通じて受け取られることが可能である。ステップ3302は、ウェブブラウザーユーザーインターフェースをインスタンス化する。ステップ3304は、そのウェブブラウザーユーザーインターフェースを使用して機能を表示する。機能を表示することは、ウェブブラウザーユーザーインターフェースを通じたウェブアプリケーションコンテンツとの対話を可能にすることを含む。少なくともいくつかの実施形態においては、表示される機能は、ウェブアプリケーションまたはウェブアプリケーションモードブラウザーを通じて利用できない機能で、かつウェブアプリケーションコンテンツと対話するために使用されることが可能である機能を含む。そのような機能の例は、上記で提供されている。図33の方法は、ウェブアプリケーションのコンテンツおよび/または状態の移行が同じプロセス内で生じる状況において役に立つことができる。00183図34は、1つまたは複数の実施形態による方法におけるステップを示す流れ図である。これらのステップは、任意の適切なハードウェア、ソフトウェア、ファームウェア、またはそれらの組合せと共に実行されることが可能である。少なくともいくつかの実施形態においては、この方法は、サーバ上で実行するソフトウェアと関連してクライアント上で実行するソフトウェアによって実行されることが可能である。00184ステップ3400は、ウェブアプリケーションのコンテンツおよび/または状態をウェブブラウザーに移行することに関連付けられたユーザー入力を受け取る。任意の適切な入力が受け取られることが可能である。たとえば、少なくともいくつかの実施形態においては、入力は、ウェブアプリケーションによって表示されるツールメニューを通じて受け取られることが可能である。ステップ3402は、ウェブアプリケーションコンテンツに関連付けられたデータを保存する。このステップは、任意の適切な方法で実行されることが可能である。たとえば、少なくともいくつかの実施形態においては、データのうちの少なくともいくつかが、システムのディスクに書き込まれることが可能である。データをシステムのディスクに書き込むために、任意の適切な技術が利用されることが可能である。たとえば、少なくともいくつかの実施形態においては、データをシステムのディスクに書き込むために、ウェブブラウザーのクラッシュ回復システムが利用されることが可能である。さらに、少なくともいくつかの実施形態においては、ステップ3402は、ウェブアプリケーションとウェブブラウザーとの間において共有される共有メモリーを使用することによって実行されることが可能である。00185ステップ3404は、ウェブブラウザーが開いているかどうかを確かめる。ウェブブラウザーが開いている場合には、ステップ3406は、保存されたデータを使用して、ウェブアプリケーションコンテンツをウェブブラウザー内に提示する。その一方で、ウェブブラウザーが開いていない場合には、ステップ3408は、ウェブブラウザーを起動し、ステップ3406に戻って、保存されたデータを使用して、ウェブアプリケーションコンテンツを提示する。ブラウザーからの一時的なウェブアプリケーションの作成00186さまざまな実施形態が、1つまたは複数のいわゆる一時的なウェブアプリケーションの作成を可能にする。少なくともいくつかの実施形態においては、一時的なウェブアプリケーションをタスクバーに固定することなく、または上述のように一時的なウェブアプリケーションの関連付けられたファイルもしくは表示をクライアントのデスクトップにその他の形で統合することなく、一時的なウェブアプリケーションが作成されることが可能である。たとえば、一時的なウェブアプリケーションは、スタートメニュー上のショートカット、クライアントのタスクバー上のショートカットアイコンなど、その一時的なウェブアプリケーションが起動または再起動されることを可能にする方法を提供する、クライアントのデスクトップ上に統合されたユーザーインターフェース手段をまったく有さないことが可能である。しかし、そのような場合には、ユーザーは、一時的なウェブアプリケーションをその関連付けられたウェブサイトから起動することができ、そのウェブアプリケーションが上述のようにインストールまたは統合されていたならばそのウェブアプリケーションによって提供されることになるのと同じ機能にアクセスすることができる。一時的なウェブアプリケーションを使い終わると、その一時的なウェブアプリケーションは、ユーザーによって閉じられることが可能である。少なくともいくつかの実施形態においては、一時的なウェブアプリケーションが閉じられると、ユーザーは、もはやウェブアプリケーションのその特定のインスタンスにアクセスできなくなり、したがって、その一時的なウェブアプリケーションをクライアントのデスクトップツールバーまたはスタートメニューから再起動できなくする。これを行う1つの方法は、関連付けられたウェブサイトからウェブアプリケーションをユーザーが最初に起動したときにそのウェブアプリケーションに関して作成されたファイルまたはプロセスを削除することである。いくつかの実施形態においては、一時的なウェブアプリケーションは、インストールされたウェブアプリケーションに変換されることが可能であり、したがって、クライアントのデスクトップからそのウェブアプリケーションへのその後のアクセスを提供する。00187一例として、図35を考察されたい。図35は、一時的なウェブアプリケーションとブラウザーの間における関係を示す。ここでは、ブラウザー3500が、タブ付きシステムtabbedsystemを通じた複数のウェブページへのアクセスを可能にし、タブ3510が、ウェブサイトAnySearchPage任意の検索ページに関連付けられ、タブ3520が、ASecondOpenPage第2の開いたページに関連付けられる。1つまたは複数の実施形態においては、一時的なウェブアプリケーションは、開いているウェブページから作成されることが可能である。図35においては、一時的なウェブアプリケーション3530は、ユーザーがタブ3510を選択してその選択をデスクトップ上のブラウザー3500の外側にドラッグアンドドロップすることによって、生成または作成される。これが行われる場合、一時的なウェブアプリケーションファイルは、一時的な場所に作成されることが可能である。00188しかし、特許請求される主題の趣旨および範囲から逸脱することなく、その他の方法で一時的なウェブアプリケーションが生成されることも可能であるということを認識および理解されたい。たとえばブラウザー3500は、ウェブページの選択と、それに続く関連付けられた一時的なウェブアプリケーションの生成とを容易にするためのプルダウンメニューを有することができる。00189本明細書の文脈においては、一時的なウェブアプリケーションは、本明細書において上述されている方法でクライアントのシステム上にインストールされないウェブアプリケーションである。しかしウェブサイトは、それでもなお、インストールされたウェブアプリケーションにおいて実行されることが可能であるのと同じ機能を一時的なウェブアプリケーションにおいても実行すること、およびそうした機能へのアクセスを提供することが可能である。たとえばウェブサイトは、一時的なウェブアプリケーションの独立したジャンプリストを修正すること、オーバーレイアイコンを設定およびクリアすることなどが可能である。代替として、または追加として、一時的なウェブアプリケーションは、上述のように、一時的なウェブアプリケーション内から開かれるタブまたはウィンドウの独立した集合を提供することなど、インストールされたウェブアプリケーションと同じ動作をサポートすることができる。00190図36は、1つまたは複数の実施形態による方法におけるステップを示す流れ図を示す。この方法は、任意の適切なハードウェア、ソフトウェア、ファームウェア、またはそれらの組合せと共に実施されることが可能である。少なくともいくつかの実施形態においては、この方法の態様は、図1におけるような、クライアントデバイス上の適切に構成されたウェブブラウザーおよび/またはソフトウェアモジュールによって実施されることが可能である。00191ステップ3600は、ウェブアプリケーションを取得できる元となるウェブサイトの選択を受け取る。これは、タブ付きウェブブラウザー上のタブの選択を通じて、プルダウンメニューを通じてなど、任意の適切な方法で達成されることが可能である。ウェブサイトの選択を受け取ると、ステップ3602は、ウェブアプリケーションをクライアントデバイス上の一時的なウェブアプリケーションとして作成するための入力を受け取る。1つまたは複数の実施形態においては、これは、ウェブアプリケーションを生成するために使用されることが可能である要求またはその他の情報を含むメッセージまたはコールを受け取ることを含むことができる。その他の実施形態においては、これは、ウェブサイトに関連付けられた何らかの表示をユーザーがドラッグアンドドロップすることから生成された入力を受け取ることを含むことができる。ステップ3604は、選択されたウェブサイトに関連付けられる一時的なウェブアプリケーションを作成する。いくつかの実施形態においては、一時的なウェブアプリケーションを作成することによって、ウェブアプリケーションファイルおよび/またはプロセスが作成され、それらのウェブアプリケーションファイルおよび/またはプロセスまたは何らかの関連付けられた表示は、クライアントのデスクトップまたはスタートメニュー上に統合されない。たとえば、関連付けられたファイルは、統合されたウェブアプリケーションファイルが置かれる場所とは異なる一時的なファイルロケーションに保存されることが可能である。加えて、少なくともいくつかの実施形態においては、一時的なウェブアプリケーションの作成は、ウェブサイトの状態をブラウザーから一時的なウェブアプリケーションに転送することを含むことができる。00192図37は、1つまたは複数の実施形態による方法におけるステップを示す流れ図を示す。この方法は、任意の適切なハードウェア、ソフトウェア、ファームウェア、またはそれらの組合せと共に実施されることが可能である。少なくともいくつかの実施形態においては、この方法の態様は、図1におけるような、適切に構成されたウェブブラウザーおよび/またはソフトウェアモジュールによって実施されることが可能である。00193ステップ3700は、一時的なウェブアプリケーションを閉じるための入力を受け取る。このステップは、任意の適切な方法で実行されることが可能である。たとえば一実施形態においては、これは、開いている一時的なウェブアプリケーション上の閉じるボタンをユーザーが選択することから入力を受け取ることを含むことができる。別の実施形態においては、これは、一時的なウェブアプリケーションのプルダウンメニュー上の閉じるオプションをユーザーが選択することに基づいて入力を受け取ることを含むことができる。一時的なウェブアプリケーションを閉じるための入力を受け取ると、ステップ3702は、一時的なウェブアプリケーションを閉じる。一時的なウェブアプリケーションを閉じることは、一時的なウェブアプリケーションの関連付けられたファイルおよびプロセスを削除または除去することを含むことができる。したがって、一時的なウェブアプリケーションを閉じると、ユーザーは、上述のようにその一時的なウェブアプリケーションに再びアクセスするか、またはすぐ次に説明されるようにその一時的なウェブアプリケーションを一時的でないウェブアプリケーションとしてインストールしない限り、もはやその機能にアクセスすることはできない。00194一時的なウェブアプリケーションの作成および削除について説明してきたが、次いで、一時的なウェブアプリケーションが、1つまたは複数の実施形態に従って、固定されたまたはインストールされたウェブアプリケーションへとどのようにして変換されることが可能であるかについて考察されたい。インストールされたウェブアプリケーションへの一時的なウェブアプリケーションの変換001951つまたは複数の実施形態においては、一時的なウェブアプリケーションは、そのウェブアプリケーションが閉じられた後に永続的なアクセスを可能にするために、インストールされたまたは統合されたウェブアプリケーションへと変換されることが可能である。いったん変換されると、一時的なウェブアプリケーションは、一時的でないウェブアプリケーションと考えられることが可能である。00196図38は、ジャンプリストを含む一時的なウェブアプリケーションを示す。タスクバー3800が、クライアントデバイス上で開かれて動作している複数のプログラムを示す。一時的なウェブアプリケーション3810は、プログラム3840から生じたウェブアプリケーションである。一時的なウェブアプリケーション3810に関連付けられているのは、ジャンプリスト3820である。インストールされたまたは統合されたウェブアプリケーションの場合と同様に、ジャンプリスト3820は、インストールされたウェブアプリケーションに関連付けられたすべての潜在的な機能を有する。加えて、ジャンプリスト3820は、Pinthisprogramtotaskbarこのプログラムをタスクバーに固定すると題されたアイテム3830を含む。このオプションを選択することは、ウェブアプリケーションをクライアントのタスクバーに固定し、ひいては、そのウェブアプリケーションおよび関連付けられたユーザーインターフェース手段を上述のようにクライアントのデスクトップ上にインストールする。これは、今や一時的ではなくなったウェブアプリケーションがデスクトップから再起動されることを可能にする。しかし、特許請求される主題の趣旨および範囲から逸脱することなく、一時的なウェブアプリケーションを一時的でないウェブアプリケーションに変換するために、任意の適切な技術が採用されることが可能であるということを認識および理解されたい。たとえば、いくつかの実施形態においては、一時的なウェブアプリケーションは、そのウェブアプリケーションを統合およびインストールするためにクライアントのデスクトップのスタートメニューに追加されることが可能である。別の実施形態においては、一時的なウェブアプリケーションは、インストールプロセスを開始するオプションを伴うプルダウンメニューを有することができる。言うまでもなく、一時的なウェブアプリケーションを一時的でないウェブアプリケーションへと変換するために、多くの方法が利用されることが可能である。ウェブアプリケーションスーパーホームボタン00197ウェブアプリケーションと対話しているときに、ユーザーは、そのウェブアプリケーションが関連付けられているウェブサイトに直接関連付けられたドメイン以外のドメインへナビゲートすることが可能である。たとえばユーザーは、電子メールウェブアプリケーションを始動してから、外部リンクを辿って、ニュース、ショッピング、または娯楽のサイトなどの別のサイトに至ることができる。001981つまたは複数の実施形態においては、ウェブアプリケーションホームボタンが、ユーザーインターフェース経験の一部として提供される。ウェブアプリケーションホームボタンは、結合目的を果たす。第1に、ウェブアプリケーションホームボタンは、特定のウェブアプリケーションモードブラウザーサイトモードブラウザーsitemodebrowserとも呼ばれるインスタンスの目的が、関連付けられたウェブアプリケーションのためであるということを示す。ウェブアプリケーションホームボタンは、この情報を伝達するために、ブランド化およびその他の視覚的な手段を使用することができる。第2に、ウェブアプリケーションホームボタンは、ユーザーが、スタートURLにアクセスするためにウェブアプリケーションホームボタンをクリックするだけで、自分のウェブアプリケーション経験の起点に迅速かつ容易に戻ってスタートし直すことを可能にする。これは、関連付けられたウェブサイトに関するスタートURLにアクセスするために特定のウェブアプリケーションを閉じてから再起動しなければならない状況を緩和する。少なくともいくつかの実施形態においては、デフォルトで、スタートURLに関連付けられた値が、ユーザーがファビコンをタスクバー上にドラッグアンドドロップする元となるページから確認される。あるいはウェブ開発者は、スタートURLを記述するHTMLタグを自分のページの一部として定義することもできる。これは、ウェブ開発者が、自分が現在閲覧しているページと同じではない代替スタートURLを定義することを可能にする。00199一例として、図39を考察されたい。そこでは、ウェブアプリケーションモードブラウザー3900が、アドレスバー3902を含み、アドレスバー3902の中には、ウェブサイトに関するURLが現れている。加えて、ウェブアプリケーションホームボタン3904が、戻るおよび進むナビゲーションボタンの隣に現れている。ユーザーは、ウェブアプリケーションに関連付けられたウェブサイトの外側のドメインへナビゲートする際、いつでも、ウェブアプリケーションホームボタン3904をクリックするだけで、ウェブアプリケーションファイル内に記述されているウェブサイトのスタートURLへナビゲートすることができる。00200さらに、少なくともいくつかの実施形態においては、ナビゲーションの戻るボタンおよび進むボタンは、デフォルトブラウザーではなくウェブアプリケーション内の自らのコンテキストをユーザーに伝えるために、ウェブアプリケーションホームボタンを通じてウェブサイトのブランドの原色を利用または抽出することによって、そのサイトの独自性を帯びることができる。加えて、ウェブサイトがこれらのボタンの色を自らのHTMLページの一部として指定することを可能にするために、HTMLタグが利用されることが可能である。00201図40は、1つまたは複数の実施形態による方法におけるステップを示す流れ図である。この方法は、任意の適切なハードウェア、ソフトウェア、ファームウェア、またはそれらの組合せと共に実施されることが可能である。少なくともいくつかの実施形態においては、この方法は、上述のようなサイトモードブラウザーによって実施されることが可能である。00202ステップ4000は、クライアントデバイス上にインストールされるウェブアプリケーションに関連付けられたウェブサイトのスタートURLへサイトモードブラウザーをナビゲートする。このステップは、任意の適切な方法で実行されることが可能であり、そうした方法の例は、上記で提供されている。ステップ4002は、別のウェブページへナビゲートする。このウェブページは、スタートURLに関連付けられたウェブサイトに関連付けられることもあり、または関連付けられないこともある。ステップ4004は、ウェブアプリケーションホームボタンの選択を受け取る。ウェブアプリケーションホームボタンの選択を受け取ったことに応答して、ステップ4006は、サイトモードブラウザーをウェブサイトのスタートURLへナビゲートする。例示的なシステム00203図41は、上述のさまざまな実施形態を実装するために使用されることが可能である例示的なコンピューティングデバイス4100を示す。コンピューティングデバイス4100は、たとえば図1のコンピューティングデバイス102、またはその他の任意の適切なコンピューティングデバイスとすることができる。00204コンピューティングデバイス4100は、1つまたは複数のプロセッサーまたは処理装置4102と、1つまたは複数のメモリーおよび/またはストレージコンポーネント4104と、1つまたは複数の入力/出力I/Oデバイス4106と、さまざまなコンポーネントおよびデバイスどうしが相互に通信することを可能にするバス4108とを含む。バス4108は、メモリバスまたはメモリコントローラと、ペリフェラルバスと、アクセラレイティッドグラフィックスポートと、さまざまなバスアーキテクチャーのうちのいずれかを使用するプロセッサーまたはローカルバスとを含むいくつかのタイプのバス構造のいずれかのうちの1つまたは複数に相当する。バス4108は、有線バスおよび/またはワイヤレスバスを含むことができる。00205メモリー/ストレージコンポーネント4104は、1つまたは複数のコンピューター記憶媒体に相当する。コンポーネント4104は、揮発性の媒体ランダムアクセスメモリーRAMなど、および/または不揮発性の媒体読み取り専用メモリーROM、フラッシュメモリー、光ディスク、磁気ディスクなどを含むことができる。コンポーネント4104は、固定式の媒体たとえば、RAM、ROM、固定式のハードドライブなど、ならびに取り外し可能な媒体たとえば、フラッシュメモリードライブ、取り外し可能なハードドライブ、光ディスクなどを含むことができる。002061つまたは複数の入力/出力デバイス4106は、ユーザーがコマンドおよび情報をコンピューティングデバイス4100に入力することを可能にし、また、情報がユーザーおよび/またはその他のコンポーネントもしくはデバイスに提示されることを可能にする。入力デバイスの例は、キーボード、カーソルコントロールデバイスたとえばマウス、マイクロフォン、スキャナなどを含む。出力デバイスの例は、ディスプレイデバイスたとえば、モニターまたはプロジェクター、スピーカー、プリンター、ネットワークカードなどを含む。00207さまざまな技術が、本明細書ではソフトウェアモジュールまたはプログラムモジュールという一般的なコンテキストにおいて説明されることが可能である。一般にソフトウェアは、特定のタスクを実行するかまたは特定の抽象データ型を実装するルーチン、プログラム、オブジェクト、コンポーネント、データ構造などを含む。これらのモジュールおよび技術の実装形態は、何らかの形態のコンピューター可読媒体上に格納されること、またはそうしたコンピューター可読媒体を介して伝送されることが可能である。コンピューター可読媒体は、コンピューティングデバイスによってアクセスされることが可能である任意の利用可能な1つまたは複数の媒体とすることができる。限定ではなく例として、コンピューター可読媒体は、コンピューター可読記憶媒体を含むことができる。00208コンピューター可読記憶媒体は、コンピューター可読命令、データ構造、プログラムモジュール、またはその他のデータなどの情報を格納するための任意の方法またはテクノロジーにおいて実装される揮発性の媒体および不揮発性の媒体、ならびに取り外し可能な媒体および取り外し不能な媒体を含む。コンピューター可読記憶媒体は、RAM、ROM、EEPROM、フラッシュメモリー、もしくはその他のメモリーテクノロジー、CD-ROM、デジタル多用途ディスクDVD、もしくはその他の光ストレージ、磁気カセット、磁気テープ、磁気ディスクストレージ、もしくはその他の磁気ストレージデバイス、または所望の情報を格納するために使用されることが可能で、コンピューターによってアクセスされることが可能であるその他の任意の媒体を含むが、それらには限定されない。結論00209さまざまな実施形態が、エンドユーザーがウェブアプリケーションおよびウェブサイトを自分のデスクトップ上にインストールできるようにするメカニズムを提供する。1つまたは複数の実施形態によれば、ウェブサイトに関連付けられた開発者が、ユーザー対話に関連付けられた境界を定義すること、およびそれらの境界をランタイムエンジンによって施行させることを可能にするために、クライアント側コードが利用されることが可能である。少なくともいくつかの実施形態においては、開発者は、JavaScript登録商標コードを通じて、スタートメニューショートカットの作成、ナビゲーション、およびいわゆるジャンプリスト統合、ならびにその他のさまざまな機能のためのさまざまな構成を提供することができる。00210本主題は、構造的な特徴および/または方法論的な行為に特有の言葉で説明されたが、添付の特許請求の範囲において定義される本主題は、上述の特定の特徴または行為に必ずしも限定されるものではないということを理解されたい。むしろ、上述の特定の特徴および行為は、特許請求の範囲を実施する例示的な形態として開示されている。