(57)【要約】  プレゼンテーションウェブパーツを利用してプレゼンテーションコンテンツがウェブページ内に埋め込まれる。プレゼンテーションウェブパーツは、プレゼンテーションコンテンツを表示することができるインラインフレーム（「ｉＦｒａｍｅ」）などのウェブ要素を作成するように構成される。プレゼンテーションウェブパーツは、プレゼンテーションコンテンツの様々なスライドを進めることなどによってプレゼンテーションコンテンツを操作するためにプレゼンテーションウェブアプリケーションの機能を呼び出すために内部ＡＰＩのための、ｐｏｓｔＭｅｓｓａｇｅラッパーなどのメッセージラッパーとして機能する外部アプリケーションプログラミングインターフェイス（「ＡＰＩ」）によって構成される。例えば、プレゼンテーションウェブパーツ及び地図ウェブパーツは、ユーザーが地図ウェブパーツを介して都市又は他の場所を選択すると、プレゼンテーションウェブパーツがその選択された場所に関連付けられるプレゼンテーションコンテンツを表示するように、同じウェブページ上に表示されてもよい。他の使用事例が本明細書において提供される。
2014524069.tif 000002
【特許請求の範囲】
【請求項１】
コンピューター読み取り可能な命令を格納するコンピューター記憶媒体であって、前記コンピューター読み取り可能な命令は、コンピューターによって実行されると、前記コンピューターに、
プレゼンテーションコンテンツを表示するインラインフレームを作成させ、
前記インラインフレーム内でウェブアプリケーションを実行させ、
前記ウェブアプリケーションを実行することの結果として前記インラインフレーム内に前記プレゼンテーションコンテンツを表示させる
コンピューター記憶媒体。
【請求項２】
前記インラインフレームはプレゼンテーションウェブパーツのインラインフレームコンストラクターによって作成され、前記インラインフレームコンストラクターは、前記プレゼンテーションコンテンツを表示するために前記インラインフレーム内での実行のために前記ウェブアプリケーションを呼び出す内部アプリケーションプログラミングインターフェイスと通信するように構成される外部アプリケーションプログラミングインターフェイスによって提供される機能であり、
前記コンピューターによって実行されると、前記コンピューターに、前記外部アプリケーションプログラミングインターフェイスから前記内部アプリケーションプログラミングインターフェイスによって受け取られる命令ごとに前記インラインフレーム内で前記プレゼンテーションコンテンツを操作させる命令をさらに有し、前記プレゼンテーションコンテンツを操作する命令は、前記プレゼンテーションコンテンツを再生し、前記プレゼンテーションコンテンツを停止し、前記プレゼンテーションコンテンツの次のスライドを選択し、前記プレゼンテーションコンテンツの前のスライドを選択し、又は前記プレゼンテーションコンテンツの現在閲覧可能なスライドの識別情報を表示する命令を含む請求項１に記載のコンピューター記憶媒体。
【請求項３】
前記インラインフレームはビューアーを含み、前記インラインフレーム内で前記プレゼンテーションコンテンツを表示する命令は、前記ビューアー内に前記プレゼンテーションコンテンツを表示する命令を含む請求項１に記載の媒体。
【請求項４】
前記インラインフレームは、前記インラインフレームの外部にあるユーザーインターフェイスに関連付けられ、前記ビューアー内に表示される前記プレゼンテーションコンテンツを操作するように構成される請求項４に記載のコンピューター記憶媒体。
【請求項５】
プレゼンテーションコンテンツのサイズを選択するコンピューターにより実施される方法であって、
プレゼンテーションコンテンツを複数のサイズにスケーリングし、
前記プレゼンテーションコンテンツを前記複数のサイズでキャッシュし、
前記プレゼンテーションコンテンツの要求を受け取り、
前記プレゼンテーションコンテンツが表示されるべきターゲットインラインフレームについての前記複数のサイズのうちの適切なサイズで前記プレゼンテーションコンテンツを取得し、
前記適切なサイズのプレゼンテーションコンテンツを前記ターゲットインラインフレームに挿入する
ためのコンピューターにより実施される動作を実行するステップを含む方法。
【請求項６】
前記プレゼンテーションコンテンツに対する最初の要求を受け取るステップをさらに含み、前記プレゼンテーションコンテンツを前記複数のサイズにスケーリングするステップは、前記プレゼンテーションコンテンツに対する最初の要求に応答する請求項５に記載のコンピューターにより実施される方法。
【請求項７】
前記適切なサイズは、前記ターゲットインラインフレームのサイズ以下の、前記複数のサイズのうちの少なくとも１つである請求項５に記載のコンピューターにより実施される方法。
【請求項８】
前記プレゼンテーションコンテンツの要求を受け取ることに応答して、
前記ターゲットインラインフレームの寸法が前記複数のサイズのうちの第１のサイズの最小寸法以下であるかどうかを判定するステップと、
前記ターゲットインラインフレームの寸法が前記第１のサイズ以下である場合に、前記第１のサイズを適切なサイズとして選択するステップと、
前記ターゲットインラインフレームの寸法が前記第１のサイズの最小寸法以下でない場合に、第２のサイズを適切なサイズとして選択するステップと
をさらに含む請求項５に記載のコンピューターにより実施される方法。
【請求項９】
前記プレゼンテーションコンテンツの要求を受け取ることに応答して、
前記ターゲットインラインフレームの寸法が前記複数のサイズのうちの第１のサイズの第１の最小寸法以下であるかどうかを判定するステップと、
前記ターゲットインラインフレームの寸法が前記第１のサイズの前記第１の最小寸法以下である場合に、前記第１のサイズを適切な大きさとして選択するステップと、
前記ターゲットインラインフレームの寸法が前記第１の最小寸法以下でない場合に、前記ターゲットインラインフレームの寸法が第２のサイズの第２の最小寸法以下であるかどうかを判定するステップと、
前記ターゲットインラインフレームの寸法が前記第２のサイズの前記第２の最小寸法以下である場合に、前記第２のサイズを前記適切なサイズとして選択するステップと、
前記ターゲットインラインフレームの寸法が前記第２のサイズの前記最小寸法以下でない場合に、第３のサイズを前記適切なサイズとして選択するステップと
をさらに含む請求項５に記載のコンピューターにより実施される方法。
【請求項１０】
コンピューター読み取り可能な命令を格納するコンピューター記憶媒体であって、前記コンピューター読み取り可能な命令は、コンピューターによって実行されると、前記コンピューターに、
ウェブページ内で、インラインフレームをプレゼンテーションコンテンツウェブパートの一部として表示させ、
前記インラインフレーム内にプレゼンテーションコンテンツを表示させ、
内部アプリケーションプログラミングインターフェイスにおいて、外部アプリケーションプログラミングインターフェイスからのｐｏｓｔＭｅｓｓａｇｅ内の命令を受け取らせ、該命令は前記インラインフレーム内で前記プレゼンテーションコンテンツを操作するためのものであり、
前記ｐｏｓｔＭｅｓｓａｇｅ内で前記内部アプリケーションプログラミングインターフェイスによって受け取られた命令に従って、前記インラインフレーム内で前記プレゼンテーションコンテンツを操作させる
コンピューター記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プレゼンテーションアプリケーションのための埋め込みウェブビューアーに関する。
【背景技術】
【０００２】
[0001]ワードプロセッシングアプリケーション、スプレッドシートアプリケーション、プレゼンテーションアプリケーションなどのソフトウェアアプリケーションは、従来、コンピューターシステムにローカルにインストールされてきた。そのようなソフトウェアアプリケーションは、通常、ソフトウェアアプリケーションが様々なライセンス契約に従ってインストールされる、特定のコンピューターシステムやコンピューターシステムのグループに関連付けられる。ライセンスを購入して複数のコンピューターシステムにソフトウェアアプリケーションをインストールするコストのほかに、バグ修正、セキュリティ修正及び他の更新のためにアプリケーションを更新する必要性と潜在的なコストが、一部のユーザーがソフトウェアアプリケーションを推奨されるように更新しないことを原因とするソフトウェアのフラグメンテーションのきっかけとなり得る。
【０００３】
[0002]これらの及び他の問題の結果として、ローカルインストール用に開発された多くのソフトウェアアプリケーションは、もっぱらいくつかの場合において、ウェブアプリケーションとして現在開発されている。このウェブアプリケーションへの移行は、ソフトウェア開発者が、ソフトウェアのフラグメンテーションの懸念なく、最新のバージョンを一貫して提供することを可能にする。ウェブアプリケーションはまた、インターネット接続及び互換性のあるウェブブラウザーを有する任意のコンピューターシステムからユーザーがコンテンツを作成、閲覧及び編集することを可能にすることにより、ユーザーにより柔軟な作業環境を提供する。さらに、ウェブアプリケーションは、ソフトウェアアプリケーションが格納されるディスク又は他の媒体を製造し、出荷し、ストックすることに関連する諸経費の削減により、無料で又は従来のソフトウェアアプリケーションより少ないコストで提供することができる。
【０００４】
[0003]特定のウェブアプリケーションは、ウェブパーツ（Web parts）を使用して、コンテンツや機能を提供する。ウェブパーツは、ウェブページのコンテキスト内で実行されるサーバー側のコントロールである。ウェブパーツは、簡単にウェブページに追加することによってウェブページに機能を追加する能力をユーザーに与える。特定のウェブアプリケーションに関連付けられたコンテンツをユーザーが追加することを可能にするウェブパーツが存在するが、ワシントン州レドモンドのマイクロソフトから入手可能なＭＩＣＲＯＳＯＦＴ  ＰＯＷＥＲＰＯＩＮＴのネイティブバージョン又はウェブバージョンを使用して作成されたコンテンツなどのプレゼンテーションコンテンツをウェブページに追加するウェブパーツは存在しない。
【０００５】
[0004]表示のためにコンテンツを提供することに加えて、しばしば、別のウェブパーツ又はウェブページ上の他のコントロールを利用して、あるウェブパーツに表示されるコンテンツを操作することが望ましいことがある。例えば、ユーザーが地図上の場所、リスト中の項目を選択し、そうでなければユーザーインターフェイス要素とインタラクトする場合にプレゼンテーションコンテンツが有意義な方法で表示されるように、ページ内のマップ、リスト、及び／又は他のインタラクティブなユーザーインターフェイス要素などの他のコンテンツとの関連でプレゼンテーションコンテンツを表示することが望ましい場合がある。
【発明の概要】
【発明が解決しようとする課題】
【０００６】
プレゼンテーションアプリケーションのための埋め込み組み込みウェブビューアーを提供する。
【課題を解決するための手段】
【０００７】
[0005]本明細書においてなされる開示はこれら及び他の考慮に関して提示される。
[0006]プレゼンテーションウェブパーツを利用してウェブページ内にプレゼンテーションコンテンツを埋め込む概念及び技術が本明細書に記載される。本明細書に開示された概念と技術によれば、プレゼンテーションウェブパーツは、その中でプレゼンテーションコンテンツを表示することができるインラインフレーム（「ｉＦｒａｍｅ」）などのウェブ要素を作成するように構成される。ｉＦｒａｍｅは、本明細書に開示されるような、プレゼンテーションコンテンツを表示するためのビューアーなどの外部オブジェクトを含むように構成されるハイパーテキストマークアップ言語（「ＨＴＭＬ」）要素である。
【０００８】
[0007]プレゼンテーションウェブパーツは、プレゼンテーションコンテンツの様々なスライドを前に進めることなどによってプレゼンテーションコンテンツを操作するためにプレゼンテーションウェブアプリケーションの機能を呼び出す内部（inner）ＡＰＩに対して、ｐｏｓｔＭｅｓｓａｇｅラッパーなどのラッパーとして機能する外部（outer）アプリケーションプログラミングインターフェイス（「ＡＰＩ」）で構成される。ラッパーとして機能する外部ＡＰＩは、ウェブページ内に埋め込まれた異なるオブジェクトからの外部ＡＰＩと内部ＡＰＩとの間での協調的な情報交換を可能にするメソッドを呼び出すことができる。
【０００９】
[0008]１つの態様によれば、ｉＦｒａｍｅ  はプレゼンテーションウェブパーツの一部としてウェブページ内に表示され、プレゼンテーションコンテンツはｉＦｒａｍｅ内に表示される。内部ＡＰＩは、外部ＡＰＩから、ｐｏｓｔＭｅｓｓａｇｅなどのメッセージ内の指示を受け取り、内部ＡＰＩによって受け取られた指示に従って、ｉＦｒａｍｅ内でプレゼンテーションコンテンツを操作する。
【００１０】
[0009]別の態様によれば、プレゼンテーションコンテンツは、複数のサイズにスケーリングされてキャッシュされる。プレゼンテーションコンテンツの要求が受け取られて、当該要求に応答して、プレゼンテーションコンテンツの適切なサイズが取得され、ターゲットｉＦｒａｍｅに挿入される。
【００１１】
[0010]さらに別の態様によれば、プレゼンテーションコンテンツを表示するｉＦｒａｍｅが作成される。プレゼンテーションコンテンツを閲覧するためのウェブアプリケーションがｉＦｒａｍｅ内で実行され、プレゼンテーションコンテンツがウェブアプリケーションの実行結果としてｉＦｒａｍｅ内に表示される。
【００１２】
[0011]上述した主題は、コンピューター制御された装置、コンピュータープロセス、コンピューティングシステム、又はコンピューター読み取り可能な記憶媒体などの製品として実施することができることが理解されるべきである。これら及び他の様々な特徴は、以下の詳細な説明を読み関連する図面を検討することによって明らかになるであろう。
【００１３】
[0012]この概要は、詳細な説明で以下にさらに説明される概念の選択を簡略化された形で紹介するために設けられる。この概要は、特許請求される主題の重要な特徴又は不可欠な特徴を特定することを意図しておらず、この概要は特許請求される主題の範囲を限定するために使用されることも意図していない。さらに、特許請求される主題は、本開示の任意の部分に記載される任意の又はすべての欠点を解決する実施例に限定されるものではない。
【図面の簡単な説明】
【００１４】
【図１】[0013]本明細書に開示された様々な実施例のための例示的な動作環境を示すシステム図である。
【図２】[0014]例示的な実施例によるプレゼンテーションウェブパーツを示す図である。
【図３】[0015]例示的な実施例による設定（settings）ユーザーインターフェイスを示す図である。
【図４】[0016]例示的な実施例による、プレゼンテーションウェブパーツを含むウェブページを実行する方法の態様を示すフロー図である。
【図５】[0017]例示的な実施例による、プレゼンテーションデータをキャッシュする方法の態様を示すフロー図である。
【図６】[0018]例示的な実施例による、プレゼンテーションバンドルサイズを選択する方法の態様を示すフロー図である。
【図７】[0019]例示的な実施例による、ウェブアプリケーションの実施を呼び出す方法の態様を示すフロー図である。
【図８】[0020]例示的な実施例による、外部アプリケーションプログラミングインターフェイス（「ＡＰＩ」）と外部ＡＰＩを呼び出しているアプリケーションとの間の通信のための方法の態様を示すフロー図である。
【図９】[0021]本明細書に提示される実施例の態様を実施することができるコンピューティングシステムのための例示的なコンピューターハードウェア及びソフトウェアアーキテクチャーを示すコンピューターアーキテクチャー図である。
【発明を実施するための形態】
【００１５】
[0022]以下の詳細な説明は、プレゼンテーションウェブパーツを利用して、ウェブページ内にプレゼンテーションコンテンツを埋め込む概念及び技術に関するものである。本明細書に記載の概念と技術によれば、プレゼンテーションウェブパーツは、その中にプレゼンテーションコンテンツを表示することができる、ｉＦｒａｍｅなどのウェブ要素を作成するように構成される。プレゼンテーションウェブパーツは、プレゼンテーションコンテンツの様々なスライドを前に進めることなどによってプレゼンテーションコンテンツを操作するためにプレゼンテーションウェブアプリケーションの機能を呼び出す内部ＡＰＩに対して、ｐｏｓｔＭｅｓｓａｇｅラッパーなどのラッパーとして機能する外部アプリケーションプログラミングインターフェイス（「ＡＰＩ」）で構成される。
【００１６】
[0023]本明細書に記載の主題は、コンピューターシステム上のオペレーティングシステム及びアプリケーションプログラムの実行に関連して実行されるプログラムモジュールの一般的な文脈で提示されるが、当業者であれば、他の実施例が他のタイプのプログラムモジュールと組み合わせて実行されてもよいことを認識するであろう。一般に、プログラムモジュールは、特定のタスクを実行し又は特定の抽象データ型を実施するルーチン、プログラム、コンポーネント、データ構造、及び他のタイプの構造を含む。さらに、当業者であれば、本明細書に記載の主題が、ハンドヘルドデバイス、マルチプロセッサーシステム、マイクロプロセッサーベース又はプログラム可能な家庭用電化製品、ミニコンピューター、メインフレームコンピューターなどを含む他のコンピューターシステム構成で実施され得ることを理解するであろう。
【００１７】
[0024]以下の詳細な説明では、本明細書の一部を形成する添付の図面に対して参照がなされ、特定の実施例又は例が例として示される。いくつかの図面を通じて同様の数字が同様の要素を表す図面を参照して、プレゼンテーションウェブパーツを利用してウェブページ内にプレゼンテーションコンテンツを埋め込むコンピューティングシステム、コンピューター読み取り可能な記憶媒体、及びコンピューターにより実施される方法論の態様が、他の態様に加えて説明される。
【００１８】
[0025]ここで図１を参照すると、本明細書に提示される様々な実施例のためのある動作環境１００の態様が説明される。動作環境１００は、ネットワーク１０４上で動作する又はネットワーク１０４と通信するクライアントコンピューター１０２を含む。クライアントコンピューター１０２は、オペレーティングシステム１０６と、例えば、ウェブブラウザー１０８及び／又は他のアプリケーションプログラムなどの１つ又は複数のアプリケーションプログラムとを実行するように構成される。
【００１９】
[0026]オペレーティングシステム１０６は、クライアントコンピューター１０２の動作を制御するコンピュータープログラムである。アプリケーションプログラムは、本明細書に記載された様々な機能を提供するために、オペレーティングシステム１０６の上で実行するように構成された実行可能なプログラムである。ウェブブラウザー１０８は、ユーザーがネットワーク１０４を介してワールドワイドウェブ（「ウェブ」）上の情報リソースにアクセスできるようなアプリケーションプログラムである。さらに、ウェブブラウザー１０８は、ユーザーがサーバーコンピューター１１０によって提供される情報及びさまざまな機能にアクセスすることを可能にする。
【００２０】
[0027]図示されたサーバーコンピューター１１０は、オペレーティングシステム１１２と、例えば、１つ又は複数のウェブアプリケーション１１６及び／又は他のアプリケーションプログラムを含む協調プラットフォーム１１４の１つ又は複数のアプリケーションプログラムとを実行するように構成される。オペレーティングシステム１１２は、サーバーコンピューター１１０の動作を制御するためのコンピュータープログラムである。アプリケーションプログラムは、本明細書に記載された様々な機能を提供するためにオペレーティングシステム１１２の上で実行するように構成された実行可能なプログラムである。特に、１つ又は複数のウェブアプリケーション１１６は、ネットワーク１０４を介してウェブブラウザー１０８によってアクセス可能なアプリケーションプログラムである。
【００２１】
[0028]いくつかの実施例では、ウェブアプリケーション１１６は、少なくともプレゼンテーションウェブアプリケーションを含むが、１つ又は複数のワードプロセッシングアプリケーション、スプレッドシートアプリケーション、プレゼンテーションアプリケーション、電子メールアプリケーション、カレンダーアプリケーション、描画アプリケーション、及び／又はウェブブラウザー１０８によってアクセス可能な他のアプリケーションを含むことができる。たとえば、ウェブアプリケーション１１６は、ワシントン州レドモンドのマイクロソフトからすべてが入手可能である、ＭＩＣＲＯＳＯＦＴ  ＷＯＲＤ、ＭＩＣＲＯＳＯＦＴ  ＥＸＣＥＬ、ＭＩＣＲＯＳＯＦＴ  ＰＯＷＥＲＰＯＩＮＴ、ＭＩＣＲＯＳＯＦＴ  ＯＵＴＬＯＯＫ及び／又はＭＩＣＲＯＳＯＦＴ  ＶＩＳＩＯの、ウェブベースのバージョンを含んでもよい。代わりに又はそれに加えて、ウェブアプリケーション１１６は、カリフォルニア州マウンテンビューのＧＯＯＧＬＥからすべてが利用可能な、ＧＯＯＧＬＥ  ＤＯＣＵＭＥＮＴＳ、ＧＯＯＧＬＥ  ＳＰＲＥＡＤＳＨＥＥＴＳ、ＧＯＯＧＬＥ  ＰＲＥＳＥＮＴＡＴＩＯＮＳ、ＧＯＯＧＬＥ  ＭＡＩＬ、及び／又はＧＯＯＧＬＥ  ＤＲＡＷＩＮＧＳを含んでもよい。ソーシャルネットワーキングアプリケーション、写真アプリケーション、通信アプリケーション（例えば、ボイス・オーバー・ＩＰ及び／又はインスタントメッセージ）などを含む他のウェブアプリケーションが考えられる。
【００２２】
[0029]いくつかの実施例では、協調プラットフォーム１１４は、ウェブアプリケーション１１６の集中型のホストである。例えば、クライアントコンピューター１０２のユーザーは、ウェブブラウザー１０８を介して協調プラットフォーム１１４にアクセスして、ウェブアプリケーション１１６の１つ又は複数を利用して、コンテンツを作成、編集、及び／又は閲覧することができる。いくつかの実施例では、協調プラットフォーム１１４は、会議、インスタントメッセージ、電子メール、カレンダー、及び／又はコラボレーションワークスペースを含むがこれらに限定されない協調サービスを提供する。コラボレーションワークスペースは、例えば、ウェブアプリケーション１１６を介したコンテンツの作成又は編集に協力する複数のユーザーによって使用されてもよい。
【００２３】
[0030]いくつかの実施例では、協調プラットフォーム１１４はまた、あとで閲覧したり編集したりするために、ウェブアプリケーション１１６を介して作成されたコンテンツをユーザーが保存することができる、ストレージソリューションを提供する。協調プラットフォーム１１４は、代替的に又は加えて、協調プラットフォーム１１４における記憶のためにクライアントコンピューター１０２上でローカルに作成されたコンテンツを受け取るように構成されてもよい。協調プラットフォーム１１４にアップロードされたコンテンツ、又はウェブアプリケーション１１６を介して作成もしくは編集されたコンテンツは、サーバーコンピューター１１０においてデータ１１８として格納することができる。データ１１８は、クライアントコンピューター１０２及び／又は他のコンピューター（図示せず）によってアクセスすることができる。
【００２４】
[0031]協調プラットフォーム１１４は、いくつかの実施例では、１人以上のユーザーが１つ又は複数のウェブページを含むウェブサイトを作成することを可能にする。ウェブサイト及び１つ又は複数のウェブページは、サーバーコンピューター１１０に保存されてウェブブラウザー１０８を介して１つ又は複数のユニフォームリソースロケーター（「ＵＲＬ」）を介してアクセス可能なデータ１１８に含まれてもよい。１つ又は複数のウェブページは、１つ又は複数のウェブパーツ１２０を含むことができる。ウェブパーツ１２０は、協調プラットフォーム１１４内のウェブページのコンテキスト内で実行されるサーバー側のコントロールである。ウェブパーツ１２０は、クライアントコンピューター１０２のユーザーがブラウザー１０８を介して直接的にウェブページに機能を追加することを可能にする。たとえば、ウェブパーツ１２０を介して、クライアントコンピューター１０２のユーザーは、ブラウザー１０８を介してウェブページの内容、外観、及び／又は挙動を作成又は変更できる。
【００２５】
[0032]ウェブパーツ１２０は、協調プラットフォーム１１４の一部として提供されるデフォルトのウェブパーツ及び／又はクライアントコンピューター１０２のユーザーによって作成されるカスタムウェブパーツを含むことができる。いくつかの実施例では、ウェブパーツ１２０は、特に、ウェブページ内でプレゼンテーションコンテンツ（「プレゼンテーションバンドル」又は「プレゼンテーションデッキ」とも呼ばれる）を表示する機能を提供するようにウェブページに追加することができるプレゼンテーションウェブパーツ１２２を含む。いくつかの実施例では、プレゼンテーションコンテンツは、各々がテキスト、イメージ、ビデオ、ハイパーリンク、アニメーション、ゲーム及び／又は他のインタラクティブなもしくは非インタラクティブな要素などのコンテンツを含む、１つ又は複数のプレゼンテーションのスライドからなる、ＭＩＣＲＯＳＯＦＴ  ＰＯＷＥＲＰＯＩＮＴプレゼンテーションとしてフォーマットされる。
【００２６】
[0033]プレゼンテーションコンテンツは、専用のプレゼンテーションウェブアプリケーション又はクライアントコンピューター１０２上でローカルに実行されるネイティブアプリケーションを介して表示される場合にプレゼンテーションコンテンツが表示されるのと同じ方法で、プレゼンテーションウェブパーツ１２２によって表示されてもよいと考えられる。つまり、スライド内の要素のアニメーション及び／又はスライド間のアニメーションなどのプレゼンテーションコンテンツは、プレゼンテーションウェブパーツ１２２を介して保持することができる。
【００２７】
[0034]プレゼンテーションウェブパーツ１２２は、ウェブページに対して様々な拡張機能を提供するために、ウェブパーツ１２０の１つ又は複数の他のウェブパーツとインタラクトすることができると考えられる。例えば、プレゼンテーションウェブパーツ１２２及び地図ウェブパーツは、ユーザーが地図ウェブパーツを介して都市や他の場所を選択するとプレゼンテーションウェブパーツ１２２が選択された場所に関連付けられるプレゼンテーションコンテンツを表示するように、同じウェブページ上に表示されてもよい。プレゼンテーションウェブパーツ１２２によって表示されるプレゼンテーションコンテンツは、選択された場所に関連する１つ又は複数のプレゼンテーションのスライドを含むプレゼンテーションデッキであってもよい。あるいは、プレゼンテーションウェブパーツ１２２によって表示されるプレゼンテーションコンテンツは、選択された場所及び１つ又は複数の追加の場所を含む様々な場所についてのプレゼンテーションスライドを含むプレゼンテーションデッキ内の選択された位置に関連付けられたプレゼンテーションスライドであってもよい。１つ又は複数の他のウェブパーツとともにプレゼンテーションウェブパーツ１２２を使用する他の用途も考えられる。
【００２８】
[0035]ウェブパーツ１２０は、プレゼンテーションのウェブパーツ１２２に加えて、リストデータを表示し編集するのに使用されるリスト表示ウェブパーツ、書式付きの（formatted）テキスト、テーブル、ハイパーリンク及び／又はイメージを追加するのに使用されるコンテンツエディターウェブパーツ、別のウェブパーツ内に表示されるデータの列に接続してフィルタリングするのに使用されるフォームウェブパーツ、ピクチャーやグラフィックを追加してピクチャーやグラフィックを調整（例えば、整列、背景色など）するために使用されるイメージウェブパーツ、ウェブページ、ファイル、又はフォルダーを表示するのに使用されるページビューアーウェブパーツ、並びに、ＸＭＬを表示し、コンテンツが表示される前に拡張可能スタイルシート言語変換（「ＸＳＬＴ」）をＸＭＬに適用するのに使用される拡張可能マークアップ言語（「ＸＭＬ」）ウェブパーツ、のうちの１つ又は複数を含む。さらに、任意のウェブパーツ１２０は、ウェブパーツ１２０の機能を調整するために使用されるプリセット及び／又はカスタム設定を含むことができる。
【００２９】
[0036]いくつかの実施例では、協調プラットフォーム１１４は、ワシントン州レドモンドのマイクロソフトから入手できるＭＩＣＲＯＳＯＦＴ  ＳＨＡＲＥＰＯＩＮＴである。他の実施例では、協調プラットフォーム１１４は、カリフォルニア州マウンテンビューのグーグルから入手できるＧＯＯＧＬＥ  ＤＯＣＳである。さらに他の実施例では、協調プラットフォーム１１４は使用されず、ウェブパーツ１２０は、ウェブページに様々なコンテンツを追加するためのスタンドアロンのソリューションとして利用可能となる。
【００３０】
[0037]サーバーコンピューター１１０へのアクセスは、所有ファクター（ownership factors）（例えば、ＩＤカード、セキュリティトークン、携帯電話など）、知識ファクター（例えば、パスワード、パスフレーズ、個人識別番号（「ＰＩＮ」）、チャレンジレスポンス）、及び／又は固有のファクター（例えば、指紋、網膜パターン、ＤＮＡ配列、署名、顔認識、固有の生体電気信号、又は他の生体認証識別子（biometric identifiers））などを含むがこれらに限定されない、１つ又は複数の認証ファクターによって保護されてもよいことが考えられる。さらに、同じ、代替的な、又はさらなる認証が、協調プラットフォーム１１４、１つ又は複数のウェブアプリケーション１１６、及び／又はデータ１１８にアクセスするために必要とされてもよい。
【００３１】
[0038]様々な実施例によれば、クライアントコンピューター１０２及び／又はサーバーコンピューター１１０は、デスクトップ、タブレット、又はラップトップコンピューターシステムなどのパーソナルコンピューター（「ＰＣ」）である。クライアントコンピューター１０２及び／又はサーバーコンピューター１１０は、サーバーコンピューター、ハンドヘルドコンピューター、ネットブックコンピューター、組み込みコンピューターシステム、パーソナルデジタルアシスタント、携帯電話、スマートフォン、又は他のコンピューティングデバイスを含むがこれらに限定されない、他のタイプのコンピューティングシステムを含み得る。
【００３２】
[0039]動作環境１００のいくつかの実施例は、複数のクライアントコンピューター１０２、複数のネットワーク１０４、及び／又は複数のサーバーコンピューター１１０を含むことが理解されるべきである。また、複数のオペレーティングシステム１０６及び／又は複数のウェブブラウザー１０８がクライアントコンピューター１０２によって使用されてもよく、複数のオペレーティングシステム１１２がサーバーコンピューター１１０によって使用されてもよいことが理解されるべきである。したがって、説明される実施例は、例示的なものとして理解されるべきであり、何ら限定するものとして解釈されるべきではない。
【００３３】
[0040]ここで図２に移ると、例示的なウェブパーツアーキテクチャー２００の態様が詳細に説明される。ウェブパーツアーキテクチャー２００は、コアコンポーネント２０４及び１つ又は複数のホスト設定２０６を含む、（プレゼンテーションウェブパーツ１２２などの）プレゼンテーションウェブパーツ２０２を含む。いくつかの実施例では、ホスト設定２０６は、協調プラットフォーム１１４に関連付けられる設定である。いくつかの実施例では、コアコンポーネント２０４は、それがサーバー側のレンダリング（「ＳＳＲ」）コントロールとしてパッケージすることができるように作成される。他の実施例では、コアコンポーネント２０４は、クライアント側のレンダリング（「ＣＳＲ」）コントロールとしてパッケージすることができるように作成される。説明を簡単にするために、コアコンポーネント２０４は、本開示の残りの部分に関して、ＳＳＲコントロールとして考えられる。
【００３４】
[0041]コアコンポーネント２０４は、外部アプリケーションプログラミングインターフェイス（「外部ＡＰＩ」）２０８を含む。いくつかの実施例では、外部ＡＰＩ２０８は内部ＡＰＩ２１０のｐｏｓｔＭｅｓｓａｇｅラッパーである。特に、外部ＡＰＩ２０８は、ウェブページ内に埋め込まれた異なるオブジェクトからの外部ＡＰＩ２０８と内部ＡＰＩ２１０との間の協調的な情報交換を可能にするためにｐｏｓｔＭｅｓｓａｇｅを利用してもよい。いくつかの実施例では、外部ＡＰＩ２０８及び内部ＡＰＩ２１０は、ＪａｖａＳｃｒｉｐｔ（登録商標）言語で書かれる。ｐｏｓｔＭｅｓｓａｇｅはハイパーテキストマークアップ言語バージョン５（「ＨＴＭＬ５」）のＪａｖａＳｃｒｉｐｔ関数である。外部ＡＰＩ２０８及び内部ＡＰＩ２１０の機能が本明細書においてより詳細に説明される。
【００３５】
[0042]コアコンポーネント２０４はまた、インラインフレーム（「ｉＦｒａｍｅ」）２１４を作成するように構成されるｉＦｒａｍｅコンストラクター（iFrame constructor）２１２を含む。いくつかの実施例では、ｉＦｒａｍｅコンストラクター２１２は、外部ＡＰＩ２０８の一部として含まれる。ｉＦｒａｍｅコンストラクター２１２によって作成されたｉＦｒａｍｅ２１４は、外部オブジェクトを含むように構成されたＨＴＭＬ要素である。説明されるｉＦｒａｍｅ２１４は、ビューアー２１６として具現化される外部オブジェクトを含むように構成される。
【００３６】
[0043]説明されるｉＦｒａｍｅ２１４はビューアー２１６とは別のユーザーインターフェイス２１８に関連付けられる。いくつかの実施例では、ユーザーインターフェイス２１８は、ビューアー２１６の上に様々な機能を提供するために、ユーザー（例えば、ウェブサイトの開発者）によって追加される。これらの機能は、例えば、ウェブページ上の他のウェブパーツとの双方向性を提供することができる。代替的に、ユーザーインターフェイス２１８は、ユーザーがビューアー２１６のスライド表示２２２に含まれるプレゼンテーションコンテンツ２２０を表示し及び／又は操作することを可能にする機能を含むことができる。例えば、ユーザーインターフェイス２１８は、ユーザーが、プレゼンテーションコンテンツ２２０のスライドショーを再生し、スライドショーを停止し、スライドショーを一時停止し、次のスライドを選択し、以前のスライドを選択し、現在表示可能なスライドの識別情報（例えば、Ｙ個のスライドのうちのスライドＸ）を表示することができる、ボタンや他のインタラクティブな要素を提供することができる。プレゼンテーションコンテンツ２２０は、クライアントコンピューター１０２、データ１１８、又は別の場所から供給することができる。ユーザーインターフェイス２１８を含めることは、設計上の選択であってもよいし、特定の開発者によって又は特定の開発者についてカスタム設計されてもよい。
【００３７】
[0044]ユーザーインターフェイス２１８は、一時的もしくは永続的に特定のビューから隠されてもよいと考えられる。例えば、ユーザーインターフェイス２１８は、ユーザーインターフェイス２１８に関連付けられるウェブページの領域の上にカーソルが配置されるまで隠されてもよく、その時点でユーザーインターフェイス２１８が見せられる。ユーザーインターフェイス２１８は、代替的に、すべてのユーザー、又はアクセスが制限された（例えば、プレゼンテーションコンテンツ２２０又は特定のウェブサイトもしくはその中に含まれるページのすべてのコンテンツについての読み取り専用許可）ユーザーなどの特定のユーザーから永久に隠されてもよい。
【００３８】
[0045]ビューアー２１６はまた、クライアント設定２２４及びナビゲーション機能２２６に関連付けられる。クライアント設定２２４は、以下に詳細に説明するように、ユーザーがコンポーネント２０４に関する様々な機能、及びスライド表示２２２の位置を制御することを可能にする。ナビゲーション機能２２６は、プレゼンテーションコンテンツ２２０のスライドショーを再生し、スライドショーを停止し、スライドショーを一時停止し、次のスライドを選択し、以前のスライドを選択し、現在表示可能なスライドの識別情報（例えば、Ｙ個のスライドのうちのスライドＸ）を表示する機能であってもよい。
【００３９】
[0046]クライアント設定２２４及びナビゲーション機能２２６は、１つ又は複数のｐｏｓｔＭｅｓｓａｇｅ２２８において外部ＡＰＩ２０８から内部ＡＰＩ２１０によって受け取られた要求につきプレゼンテーションコンテンツを操作するために内部ＡＰＩ２１０によって使用される。例えば、外部ＡＰＩ２０８は、プレゼンテーションコンテンツ２２０を次のスライドへ進める命令を受け取るかもしれず、そのため、外部ＡＰＩ２０８は、そのような命令を含むｐｏｓｔＭｅｓｓａｇｅを２２８を生成し、内部ＡＰＩ２１０にそのｐｏｓｔＭｅｓｓａｇｅ２２８を送信し、これは、プレゼンテーションコンテンツ２２０を次のスライドへ進めるためにウェブアプリケーション１１６（すなわち、プレゼンテーションウェブアプリケーション）のうちの１つの関数を呼び出す。ここで、この関数は、次のスライドに進むためにプレゼンテーションウェブアプリケーションによって利用される特定の方法であってもよい。さらに、スライドを進めることに関連付けられる任意の移行又は他のアニメーションは、プレゼンテーションウェブアプリケーションによって利用されるアニメーションライブラリを呼び出すことによって、内部ＡＰＩ２１０によって取得することができる。
【００４０】
[0047]クライアント設定２２４はホスト設定２０６のサブセットであってもよい。ホスト設定２０６は、例えば、プレゼンテーションコンテンツ２２０のソース（すなわち、プレゼンテーションコンテンツ２２０を含む特定のファイルへのポイント）、プレゼンテーションコンテンツ２２０の初期サイズ（例えば、高さ及び幅）、及びナビゲーション機能２２６に含まれるコントロールを含む。いくつかのホスト設定２０６はまた、クライアント設定２２４であってもよい。例えば、オートアドバンス設定がホスト設定２０６及びクライアント設定２２４に含まれてもよい。
【００４１】
[0048]ここで図３を参照すると、ユーザーがプレゼンテーションコンテンツ２２０についての様々なホスト設定２０６を選択することができる設定ユーザーインターフェイス３００が、図１及び図２をさらに参照して説明される。図示されるように、設定ユーザーインターフェイス３００は、プレゼンテーション表示部３０２、ツールバー及びタイトルバー部３０４、ナビゲーション及び双方向性部３０６、外観部３０８、レイアウト部３１０を含む。図３に示したすべての設定は例示的なホスト設定２０６であり、そのうちのいくつかはまた例示的なクライアント設定であってもよいことが理解されるべきである。プレゼンテーションコンテンツ２２０の初期サイズ、レイアウト設定、及びタイトルバー／ツールバーを示すかどうかは、クライアント設定２２４の一部ではない。
【００４２】
[0049]プレゼンテーション表示部３０２は、ユーザーがスライド表示２２２に表示するべきプレゼンテーションコンテンツ２２０を選択することができるプレゼンテーションソース選択ボックス３１２を含む。いくつかの実施例において、プレゼンテーションソース選択ボックス３１２は、使用可能なプレゼンテーションコンテンツが事前に設定されるドロップダウンメニューである。いくつかの実施例では、ユーザーは、プレゼンテーションコンテンツ２２０へのパスを入力することができる。例えば、パスは、プレゼンテーションコンテンツ２２０のＵＲＬ位置、サーバーコンピューター１１０のデータ１１８内のプレゼンテーションコンテンツ２２０の位置、又は（例えば、サーバーコンピューター１１０へのアップロードのための）クライアントコンピューター１０２上のプレゼンテーションコンテンツ２２０の位置であってもよい。図示される実施例では、「ｓａｍｐｌｅ．ｐｐｔ」と名付けられるプレゼンテーションが選択される。＊．ｐｐｔファイル拡張子が示されるが、他のファイル拡張子がプレゼンテーションコンテンツ２２０のプレゼンテーションファイルフォーマットに基づいて使用されてもよいことが理解されるべきである。
【００４３】
[0050]ツールバー及びタイトルバー部３０４は、タイトルバー表示チェックボックス３１４及びツールバー表示チェックボックス３１６を含む。タイトルバー表示チェックボックス３１４は、ユーザーがプレゼンテーションのタイトルバーを示すこと／隠すことを切り替えることを可能にする。タイトルバーは、プレゼンテーションソース選択ボックス３１２で選択されたプレゼンテーションのファイル名（ファイルタイプの拡張子を含むか又は含まない）を含むことができる。ツールバー表示チェックボックス３１６は、ユーザーがツールバーを示すこと／隠すことを切り替えることを可能にする。図示される実施例では、タイトルバー表示チェックボックス３１４はチェックされず、ツールバー表示チェックボックス３１６がチェックされる。
【００４４】
[0051]ナビゲーション及び双方向性部３０６は、ナビゲーションチェックボックス３１８、オートアドバンスラジオボタン３２０Ａ、３２０Ｂ、及びオートアドバンス時間選択ボックス３２２を含む。ナビゲーションチェックボックス３１８は、ユーザーが、プレゼンテーションを進めるための、クリック、キーボードショートカット、又はスライド上で使用される他の入力の許可／却下を切り替えることを可能にする。オートアドバンスラジオボタン３２０Ａ、３２０Ｂは、ユーザーが、プレゼンテーションを自動的に進める（すなわち、オートアドバンスラジオボタン３２０Ａの選択）かどうか、又は、例えば、スライドの自動前進タイミングや手動前進についてのプレゼンテーションの作成中に設定された設定などのプレゼンテーションの設定を尊重する（すなわち、オートアドバンスラジオボタン３２０Ｂの選択）かどうかを選択することを可能にする。オートアドバンスラジオボタン３２０Ａは、選択されると、ユーザーがオードアドバンス時間選択ボックス３２２を介してオートアドバンスの間の時間間隔を指示することを可能にする。２秒の時間間隔が示されるが、これはいかなる意味においても限定的であると考えるべきではない。いくつかの実施例では、「ファイルからデフォルトのオードアドバンス設定を使用する」チェックボックスが、代替的に又はさらに設定ユーザーインターフェイス３００において提示される。このチェックボックスがチェックされると、プレゼンテーションコンテンツ２２０は、（例えば、スライドショービューのような）ファイル内の任意のオートアドバンス設定を使用する。このチェックボックスがチェックされない場合には、プレゼンテーションコンテンツ２２０は自動的に移動せず、各アニメーションは、（例えば、閲覧表示のように）プレゼンテーションコンテンツ２２０中で進むためにクリックを要する。
【００４５】
[0052]外観部３０８は、高さラジオボタン３２４Ａ、３２４Ｂ、固定高さ選択ボックス３２６、幅ラジオボタン３２８Ａ、３２８Ｂ、及び固定幅選択ボックス３３０を含む。高さラジオボタン３２４Ａ、３２４Ｂは、ユーザーが、プレゼンテーションウェブパーツ２０２の固定の高さを設定するかどうか、選択した領域に合うように高さを調整するかどうかを選択することを可能にする。高さラジオボタン３２４Ａは、選択されると、ユーザーが、固定高さ選択ボックス３２６を介してプレゼンテーションウェブパーツの固定の高さ２０２を指示することを可能にする。「３６０」ピクセルの固定の高さが示されるが、これはいかなる意味においても限定するものと考えるべきではない。幅ラジオボタン３２８Ａ、３２８Ｂは、ユーザーが、プレゼンテーションウェブパーツ２０２の固定幅を設定するかどうか、選択した領域に合うように幅を調整するかどうかを選択することを可能にする。幅ラジオボタン３２８Ａは、選択されると、ユーザーが固定幅選択ボックス３３０を介してプレゼンテーションウェブパーツ２０２の固定幅を指示することを可能にする。「６４０」ピクセルの固定幅が示されるが、これはいかなる意味においても限定するものと考えるべきではない。
【００４６】
[0053]レイアウト部３１０は、非表示チェックボックス３３２、領域選択ボックス３３４、及び領域インデックス選択ボックス３３６を含む。非表示チェックボックス３３２は、ユーザーが隠されたデータを切り替えることを可能にする。領域選択ボックス３３４は、ユーザーが、プレゼンテーションウェブパーツ２０２を挿入することを望むウェブページの領域（ゾーン）を選択することを可能にする。領域は、例えば、ウェブページのヘッダー、フッター、又は本体であってもよく、ウェブページ内の特定の列や行であってもよい。図示される実施例では、選択される領域は、ウェブページの中央の列である。領域インデックス選択ボックス３３６は、ユーザーが、選択された領域内の領域を選択することを可能にする。これらの領域は、図示される実施例のように、例えば、「０」などの整数によって示すことができる。いくつかの実施例では、レイアウト部３１０は、例えば、協調プラットフォーム１１４によって自動的にポピュレート（populate）される。
【００４７】
[0054]設定ユーザーインターフェイス３００はまた、「ＯＫ」ボタン３３８、「キャンセル」ボタン３４０及び「適用」ボタン３４２を含む。「ＯＫ」ボタン３３８を選択すると、任意の新しい設定が適用され、設定ユーザーインターフェイス３００が閉じられる。「キャンセル」ボタン３４０を選択すると、任意の新しい設定を保存せずに設定ユーザーインターフェイス３００が閉じられる。「適用」ボタン３４２を選択すると、任意の新しい設定が適用される。
【００４８】
[0055]設定ユーザーインターフェイス３００は、図３に示される設定のすべてを含まなくてもよいし、図３に明示的に示されない他の設定を含んでもよいし、図３に示されるものとは完全に異なる設定を含んでもよい。
【００４９】
[0056]ここで図４を参照すると、プレゼンテーションウェブパーツを含むウェブページを実行する方法４００の態様について詳細に説明される。本明細書に開示された方法の動作は、必ずしも特定の順序で提示されず、代替の順序での動作の一部又はすべての実行が可能であり、考えられることが理解されるべきである。動作は、記載及び説明を容易にするために示された順序で提示された。動作は、添付の特許請求の範囲から逸脱することなく、追加され、省略され、及び／又は同時に実行されてもよい。
【００５０】
[0057]説明された方法は、任意の時点で終了することができ、その全体としてそのまま実行される必要はないことが理解されるべきである。方法の動作の一部もしくはすべて及び／又は実質的に均等な動作は、以下に定義されるコンピューター記憶媒体に含まれるコンピューター読み取り可能な命令の実行によって行うことができる。明細書及び特許請求の範囲で使用されるとき、「コンピューター読み取り可能な命令」という用語、及びその変形は、ルーチン、アプリケーション、アプリケーションモジュール、プログラムモジュール、プログラム、コンポーネント、データ構造、アルゴリズムなどを含むように本明細書において拡張して用いられる。コンピューター読み取り可能な命令は、シングルプロセッサー又はマルチプロセッサーシステム、ミニコンピューター、メインフレームコンピューター、パーソナルコンピューター、ハンドヘルドコンピューティングデバイス、マイクロプロセッサーベースのプログラム可能な家庭用電化製品、それらの組み合わせなどを含む様々なシステム構成で実施することができる。
【００５１】
[0058]したがって、本明細書に記載の論理動作は、（１）コンピューターにより実施される行為のシーケンス又はコンピューティングシステム上で動作するプログラムモジュールとして及び／又は（２）コンピューティングシステム内の相互接続されたマシン論理回路又は回路モジュールとして実施されることが理解されるべきである。実施例は、コンピューティングシステムの性能及び他の要件に依存する選択の問題である。従って、本明細書に記載の論理動作は、状態動作（states operations）、構造的デバイス（structural devices）、行為（acts）、又はモジュールと様々に呼ばれる。これらの動作、構造的デバイス、行為、及びモジュールは、ソフトウェア、ファームウェア、特殊目的デジタルロジック、これらの任意の組み合わせで実施されてもよい。
【００５２】
[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]上述した主題は、例示のみの目的で提供され、限定するものとして解釈されるべきではない。様々な修正及び変更が、図示されて説明された例示的な実施例及び用途に従うことなく、添付の特許請求の範囲に記載される本発明の真の趣旨及び範囲から逸脱することなく、本明細書に記載の主題に対してなすことができる。
【図１】
2014524069.tif 000003
【図２】
2014524069.tif 000004
【図３】
2014524069.tif 000005
【図４】
2014524069.tif 000006
【図５】
2014524069.tif 000007
【図６】
2014524069.tif 000008
【図７】
2014524069.tif 000009
【図８】
2014524069.tif 000010
【図９】
2014524069.tif 000011
【国際調査報告】
2014524069.tif 000012
2014524069.tif 000013