[0014]簡単に前述したように、ドキュメントマークアップは、ドキュメントの本体からの減損を避けるシンプルなマークアップ表示でのヒントを使用して抽象化することができる。追跡される削除は説明のための例である。より多くの追跡される削除がドキュメント内に存在し、ページに表示されるものは、ドキュメントによって実際に提示されるものより少ない。ユーザーが個々のヒントを選択したり個々のヒントに関心を示したりするときに、マークアップの詳細をプログレッシブに提供してもよい。
[0015]以下の詳細な説明では、本明細書の一部を形成する添付の図面が参照され、図面には例として特定の実施例又は例が示される。これらの態様は組み合わされてもよく、他の態様が利用されてもよく、本開示の趣旨や範囲から逸脱することなく構造的変更がなされてもよい。したがって、以下の詳細な説明は限定的な意味に解釈されるべきではなく、本発明の範囲は添付の特許請求の範囲及びその均等物によって定義される。
[0016]実施例はコンピューティングデバイス上のオペレーティングシステム上で動作するアプリケーションプログラムとともに実行するプログラムモジュールの一般的な文脈で説明されるが、当業者であれば、態様を他のプログラムモジュールと組み合わせて実施することができることを認識するであろう。
[0017]一般に、プログラムモジュールは、特定のタスクを実行し又は特定の抽象データ型を実施する、ルーチン、プログラム、コンポーネント、データ構造、及び他のタイプの構造を含む。さらに、当業者であれば、実施例が、ハンドヘルドデバイス、マルチプロセッサーシステム、マイクロプロセッサーベース又はプログラム可能な家庭用電化製品、ミニコンピューター、メインフレームコンピューター、及び同等のコンピューティングデバイスを含む他のコンピューターシステム構成で実施できることを理解するであろう。実施例はまた、通信ネットワークを介してリンクされるリモート処理デバイスによってタスクが実行される分散コンピューティング環境で実施することができる。分散コンピューティング環境において、プログラムモジュールは、ローカルとリモートの両方のメモリーストレージデバイスに配置することができる。
[0018]実施例は、コンピューターにより実施されるプロセス(方法)、コンピューティングシステム、又はコンピュータープログラム製品やコンピューター読み取り可能な媒体などの製品として実施することができる。コンピュータープログラム製品は、コンピューターシステムによって読み取り可能であり、コンピューター又はコンピューティング・システムに例示的なプロセスを実行させるための命令を含むコンピュータープログラムを符号化する、コンピューター記憶媒体であってもよい。例えば、コンピューター読み取り可能な記憶媒体は、揮発性コンピューターメモリー、不揮発性メモリー、ハードドライブ、フラッシュドライブ、フロッピー(登録商標)ディスク、コンパクトディスク、及び同等の媒体のうちの1つ又は複数を介して実施することができる。
[0019]本明細書を通じて、「プラットフォーム」という用語は、ドキュメント処理サービスを提供するためのソフトウェア及びハードウェアコンポーネントの組み合わせであってもよい。プラットフォームの例は、限定はしないが、複数のサーバーを介して実行されるホストされるサービス、単一のコンピューティングデバイス上で実行されるアプリケーション、及び同等のシステムを含む。「サーバー」という用語は、一般に、典型的にはネットワーク化された環境内で1つ又は複数のソフトウェアプログラムを実行するコンピューティングデバイスを指す。しかしながら、サーバーはまた、ネットワーク上のサーバーと見なされる、1つ又は複数のコンピューティングデバイス上で実行される仮想サーバー(ソフトウェアプログラム)として実施されてもよい。これらの技術の詳細及び例示的な動作が以下で提供される。
[0020]図1は、ワープロドキュメントに関する、例示的な従来のマークアップといくつかの実施例による抽象化されたマークアップの比較を示している。100に示すように、従来のマークアップ表示102は、取り消し線フォントスタイル及びドキュメントの一端に沿ったインジケーターバー104による削除、下線フォントスタイル及び関連するインジケーターバー106による挿入、並びにグラフィック要素及びドキュメントの縁に沿った関連付けられたインジケーターバー108による書式変更などの変更を提示することができる。また、吹き出しバルーン(110)は変更を説明するために使用されてもよい。例示的な表示における変更は最小限であるが、多くの数の変更がなされるドキュメントにおいて、マークアップはドキュメントの内容を損なうことがある。
[0021]抽象化された表示112はいくつかの実施例によるマークアップの提示である。この表示では、コンテンツに対する変更は従来のマークアップ表示102と同じである。図に示すように、変更の詳細は表示されない。代わりに、「ヒント」又は実行可能なインジケーター要素114、118及び120が、ユーザーにドキュメントの変更の位置を示すために使用される。さらに以下に示すように、ユーザーがヒントのうちのいずれかを選択したりそれらの上でホバーリングしたりする場合、変更の詳細をプログレッシブに提示することができる。
[0022]ヒントは、バー、アイコン、グラフィック要素の組み合わせなどを含むがこれらに限定されない任意のグラフィック要素とすることができる。例示的な抽象化された表示112では、ヒントは、バー(例えば、114)と長方形(116)の組み合わせで表される。以下でより詳細に説明するように、多くの色、グラフィック要素、シェーディング、及び同様の方式が異なるタイプの変更を示すために使用されてもよい。
[0023]図2は、「シンプルな」又は抽象化された表示とマークアップ表示でのヒントの例を示す。上述のように、様々な色、グラフィック、及びシェーディング方式を、ヒントを表示する際の変更に関連する情報を提供するために使用することができる。
[0024]200における第1の例は色スキームの使用を示している。抽象化された表示232において、挿入による変更がある色でインジケーターバー234によって示され、削除による変更が他の色で別のインジケーターバー236によって表される。同じコンテンツがマークアップ表示238において変更とともに示されている。挿入242は下線フォントスタイルによって強調され、削除244は取り消し線フォントスタイルによって強調される。変更を示唆するインジケーター240はもはや色付けされておらず、抽象化された表示インジケーターバー234、236よりも薄い。
[0025]抽象化された表示246はヒントのための異なるスキームを示し、組み合わせのグラフィックスキームがさらなる情報を提供するために使用される。例示的なスキームでは、インジケーターバー248が挿入による変更を示す四角形をその上に含む一方で、インジケーターバー250は削除による変更を示す円をその上に含む。他の実施例では、他のグラフィック形状又は形式が使用されてもよい。スキームはまた、さらなる情報を提供するために拡張することができる。例えば、インジケーターバー上の形状は、空っぽ又は一杯であって、各々の場合で異なる状態や情報を表してもよい。対応するマークアップ表示252は、異なるフォントスタイルを使用して示される詳細を有するマークアップ表示238に類似している。
[0026]抽象化された表示254は、ヒントを提供するためのさらに別のスキームを示す。この特定の例では、アイコン256及び258は挿入及び削除による変更を表す。任意のアイコンが異なる変更を表すために使用されてもよい。マークアップ表示260は、下線や取り消し線フォントスタイル使用して、示唆される変更の詳細を示すマークアップ表示238及び252に類似する。また、これまでの例とは異なり、ヒントアイコン256、258及びインジケーターバー262はドキュメントの右端に沿って存在する。ヒントの配置は、ユーザーの好みに基づいてもよいし、ドキュメントの種類に応じた自動的なものであってもよい(例えば、右から左へのアルファベットでのワープロドキュメントは右端に沿ってヒントを自動的に含んでもよい)。
[0027]抽象化された表示264において、インジケーターバー250は、同様の位置にあり、抽象化された表示246と同じ削除動作を表す。しかし、この例において、抽象化された表示246とは異なり、挿入動作を表すインジケーターバー266は、テキスト内の挿入されたコンテンツの先頭に配置される。他の実施例では、インジケーターバー(又は同等のアイコン)は、挿入/削除/移動されたコンテンツの端、途中、又は別の適当な場所に配置されてもよい。マークアップ表示268は上記の例のように詳細を表示する。
[0028]抽象化された表示では、個々の変更の詳細は、ヒントに対するユーザーの関心を検出した際に提示されてもよい。ユーザーの関心は、ヒントの選択(例えば、インジケーターバーのクリック、ジェスチャーやタッチによるインジケーターバーの選択)や、インジケーターバーの上にポインターをホバリングさせることなどの一時的なアクションを含んでもよい。後者の場合、いくつかの実施例によれば、ユーザーが先へ進むまで、詳細が一時的に提示されてもよい。あるいは、選択アクションに応答して提示することができる完全な詳細に対して、変更されたコンテンツ領域を強調表示するなどの変更の指示や変更の種類を示す吹き出しバルーンがホバリングアクションに応答して表示されてもよい。さらに、ヒントは、ドキュメントの左端もしくは右端に沿って、又はある場合にはテキスト内の選択位置において表示されてもよい。
[0029]図3は、抽象化されたマークアップ表示における異なる種類のマークアップのプログレッシブな提示の例を示す。300はプログレッシブな提示の2つの例を示している。もちろん、本明細書で説明される原理を使用して他の提示を実施することができる。
[0030]第1の例では、抽象化された表示364は、組み合わせグラフィックスキームに従って挿入及び削除による変更を表す2つのヒント368及び370を含む。ヒント368のユーザー選択(例えば、クリック)を検出すると、表示は、部分的なマークアップ表示372において挿入による変更374を示して、表示されたコンテンツを変更する。ヒント370は同じままであるが、変更が詳細に表示されるので、挿入による変更の示唆が薄いインジケーターバー376に修正される。
[0031]第2の例では、同じドキュメントコンテンツが、ヒント380及び382を有する抽象化された表示378において使用される。ここでは、ユーザーが、削除による変更を表すヒント382の上でホバリングする(384)。これに応答して、吹き出しバルーン386が部分的マークアップ表示388に表示されて、指示された位置において削除が発生したことをユーザーに通知する。この場合、変更の詳細はまだ提示されていないため、ヒント382は変更されない。ホバリングアクションが一時的なものであるので、提示は一時的なものである。ユーザーがヒント382を選択した場合、部分的マークアップ表示372と同様の詳細が表示されてもよい。このように、マークアップのプログレッシブな提示は、段階的であってもよく、一時的であってもよく、永続的であってもよい。
[0032]図4は、他の実施例による協調的なオーサリング環境におけるドキュメント上でのプログレッシブなマークアップ提示の例を示している。400に示されるように、追跡された変更の提示はまた、共同作業環境においてプログレッシブなものとなり得る。
[0033]抽象化された表示402は、前述のように、組み合わせたグラフィックスキームに従ってヒント404、406、及び408を含む。共同作業環境では、これらの変更の各々が別の人によってなされてもよい一方、ドキュメントがサーバーによって格納され、別のユーザーによってアクセスされる。ヒントに加えて、抽象化された表示402はまた、協調的なオーサリング情報を表すアイコン410、412、及び414を含む。協調的なオーサリング情報は、特定の変更を行うユーザーのID、変更の日付/時刻、又は変更についてのユーザー間のメッセージの交換を含んでもよい。したがって、色、グラフィック、又はシェーディングスキームを、協調オーサリング情報の変更のソース又は他の属性を示すために用いてもよい(例えば、各色は異なるユーザーを表すことができる)。
[0034]部分的なマークアップ表示416において、ユーザーが協調的オーサリング情報アイコン412を選択することに応答して、協調的オーサリング情報の詳細418が表示される。表示される情報は、変更を行うユーザーのID、下線フォントスタイルを使用する挿入による変更420自体、及び(イタリックフォントスタイルでの)変更に関するユーザーからのコメントを含む。表示される情報は、さらに、別のユーザーからの応答コメント422を含む。協調的環境での交換は、ドキュメントの履歴についての有益な情報をユーザーに提供することができる。ただし、すべてが表示されると、ドキュメントを読むのが面倒で困難な作業になることがある。マークアップデータと同様の方法で協調的情報を抽象化することにより、ユーザーへのオンデマンドの提示のためにドキュメントの変更履歴に関する詳細を維持しながら、ドキュメントを効率的に読めるようにすることができる。
[0035]図5は、マークアップのプログレッシブな提示を構成するための例示的なユーザーインターフェイスのスクリーンショットを示す。スクリーンショット500は、マークアップ提示設定がドキュメントアプリケーションにおいてユーザーによってどのように定義/修正することができるかを示すことを意図している。
[0036]上述のように、変更追跡及び提示によるドキュメントの編集を可能にするドキュメントアプリケーションは、ワープロドキュメント、スプレッドシート、プレゼンテーションドキュメント、電子メール、カレンダー、及び同等のドキュメントを処理できるローカルにインストール又はホストされたアプリケーションであってもよい。スクリーンショット500に示すようなものなどのユーザーインターフェイスはマークアップ提示規則を設定するためにユーザーに提示することができる。設定は、挿入532、削除534、改行536などのさまざまな変更のための提示スタイルを含むことができる。選択のための様々なスタイルに加えて、マークアップを表示する際にカラースキーム538を提供することができる。
[0037]コンテンツ移動追跡、テーブルセル変更追跡、及びフォーマット追跡などの多くの他の設定も同じユーザーインターフェイスを介して設定することができる。実施例に係るドキュメントアプリケーションでは、ユーザーは、変更についての唯一のヒントが提示されるシンプルな表示と、変更の詳細が提示されるマークアップ表示との間で選択をすることができる(540)。別の選択は、所与の変更部分について切り替える際にユーザーがヒントと変更の詳細のどちらを見たいかをユーザーが選択することを可能にする、マークアップとヒントとの間での切り替え(542)のためのものであってもよい。
[0038]スクリーンショット500におけるものなどの特別なユーザーインターフェイスを介したマークアップ提示の設定に加えて、ユーザーは、利用可能な規則のテキスト記述の中から選択するか又は新しい規則自体を挿入することによって、また、ユーザーの資格に基づいて(例えば、監督者がすべてのマークアップの詳細を見る権限を有してもよい一方で、被監督者には詳細についての限定された表示が提供されてもよい)又はアプリケーションのタイプに基づいて(例えば、シンクライアントが機能のサブセットを提示することができる一方で、シッククライアントアプリケーションは完全な機能を提示することができる)、ユーザー独自の規則を定義することが可能であってもよい。
[0039]図1乃至5の例示的なシステムは、特定の例示的な要素、マークアップのタイプ、ドキュメント、及び設定について説明された。実施例はこれらの実施例に係るシステムに限定されない。ドキュメントマークアップをプログレッシブに提示するシステムは、より少ない又はさらなるコンポーネントを採用し、他のタスクを実行する構成で実施することができる。さらに、具体的なプロトコル及び/又はインターフェイスは、本明細書に記載の原理を用いて同様に実施することができる。
[0040]図6は、実施例を実施することができる例示的なネットワーク化された環境である。ドキュメントマークアップのプログレッシブな提示のためのシステムは、ホストされたサービスなどの1つ又は複数のサーバー614上で実行されるソフトウェアを介して実施されてもよい。プラットフォームは、ネットワーク610を介して、スマートフォン613、ラップトップコンピューター612、デスクトップコンピューター611(「クライアントデバイス」)などの個々のコンピューティングデバイス上のクライアントアプリケーションと通信することができる。
[0041]クライアントデバイス611−613のいずれかで実行されるクライアントアプリケーションは、サーバー614によって又は個々のサーバー616上で実行されるアプリケーションを介した通信を容易にすることができる。いずれかのサーバー上で実行されるアプリケーションは、クライアントアプリケーションによって提供されるユーザーインターフェイスを介して、ユーザーが、ワープロドキュメント、スプレッドシート、プレゼンテーションドキュメント、及び同等のものを作成、編集及びアクセスすることを可能にするホストされたドキュメントサービスを提供することができる。アプリケーションは、データストア619から直接又はデータベースサーバー618を介して関連するデータを取得し、クライアントデバイス611−613を介してユーザーに要求されたサービス(例えば、ドキュメントの編集)を提供することができる。
[0042]ネットワーク610は、任意のトポロジーのサーバー、クライアント、インターネットサービスプロバイダー、及び通信媒体を含むことができる。実施例によるシステムは、静的又は動的トポロジーを有してもよい。ネットワーク610は、企業ネットワークなどのセキュアなネットワーク、無線オープンネットワークなどのセキュアでないネットワーク、又はインターネットを含んでもよい。ネットワーク610はまた、公衆交換電話網(PSTN)やセルラーネットワークなどの他のネットワークを介した通信を調整することができる。さらに、ネットワーク610は、Bluetooth(登録商標)や類似のものなどの短距離無線ネットワークを含むことができる。ネットワーク610は本明細書に記載のノード間の通信を提供する。例として、限定はしないが、ネットワーク610は、音響、RF、赤外線及び他の無線媒体などの無線媒体を含むことができる。
[0043]多くの他の構成のコンピューティングデバイス、アプリケーション、データソース、データ配信システムは、ドキュメントのマークアップのプログレッシブな提示のためのプラットフォームを実施するために使用することができる。さらに、図6で説明されるネットワーク化された環境は説明の目的のみのためのものである。実施例は、例示的なアプリケーション、モジュール又はプロセスに限定されるものではない。
[0044]図7及び関連する説明は、実施例を実施できる適切なコンピューティング環境の簡潔で一般的な説明を提供することを意図している。図7を参照すると、コンピューティングデバイス700などの、実施例に係る用途のための例示的なコンピューティング動作環境のブロック図が示されている。基本構成では、コンピューティングデバイス700は、実施例によるドキュメントの編集を可能にするアプリケーションを実行する任意のコンピューティングデバイスとすることができ、少なくとも1つの処理ユニット702及びシステムメモリー704を含むことができる。コンピューティングデバイス700はまた、プログラムを実行する際に協働する複数の処理ユニットを含むことができる。コンピューティングデバイスの正確な構成及びタイプに応じて、システムメモリー704は、(RAMなどの)揮発性のもの、(ROM、フラッシュメモリーなどの)不揮発性のもの、又はその2つの何らかの組み合わせであってもよい。システムメモリー704は、通常、ワシントン州レドモンドのMICROSOFT CORPORATIONのWINDOWS(登録商標)オペレーティングシステムなどの、プラットフォームの動作を制御するのに適したオペレーティングシステム705を含む。システムメモリー704はまた、プログラムモジュール706、ドキュメントアプリケーション722、変更追跡モジュール724などの1つ又は複数のソフトウェアアプリケーションを含んでもよい。
[0045]ドキュメントアプリケーション722は、ユーザーが、ワープロドキュメント、スプレッドシート、プレゼンテーションドキュメント、電子メール、及び同様のものなどのドキュメントを作成し、編集し、そうでなければ処理することを可能にすることができる。動作の一部として、ドキュメントアプリケーション722は、編集されるドキュメントに対する変更をユーザーが追跡することを可能にしてもよい。変更追跡モジュール724をは、ドキュメントに対する変更の履歴を監視し保持して、プログレッシブな方法で(すなわち、抽象化された表示及びマークアップ表示を使用して)それらをユーザーに対して提示することができる。ドキュメントアプリケーション722及び変更追跡モジュール724は、別個のアプリケーションであってもよいし、ホストされたサービスの統合されたモジュールであってもよい。この基本的な構成は、破線708内のそれらのコンポーネントによって図7に示されている。
[0046]コンピューティングデバイス700は、さらなる特徴又は機能を有してもよい。例えば、コンピューティングデバイス700はまた、例えば、磁気ディスク、光ディスク、又はテープなどのさらなるデータ記憶デバイス(取り外し可能及び/又は取り外し不能)を含むことができる。このような追加のストレージは、取り外し可能なストレージ709及び取り外し不能なストレージ710によって図7に示されている。コンピューター読み取り可能な記憶媒体は、コンピューター読み取り可能な命令、データ構造、プログラムモジュール、又は他のデータなどの情報の記憶のための任意の方法又は技術で実施される、揮発性及び不揮発性、取り外し可能及び取り外し不能な媒体を含むことができる。システムメモリー704、取り外し可能なストレージ709及び取り外し不能なストレージ710は、すべて、コンピューター読み取り可能な記憶媒体の例である。コンピューター読み取り可能な記憶媒体は、限定はしないが、RAM、ROM、EEPROM、フラッシュメモリー又は他のメモリー技術、CD−ROM、デジタル多用途ディスク(DVD)又は他の光ストレージ、磁気テープ、磁気ディスクストレージ又は他の磁気記憶デバイス、あるいは所望の情報を格納するために用いることができコンピューティングデバイス700によってアクセスすることができる任意の他の媒体を含む。このような任意のコンピューター読み取り可能な記憶媒体はコンピューティングデバイス700の一部であってもよい。コンピューティングデバイス700はまた、キーボード、マウス、ペン、音声入力デバイス、タッチ入力デバイス、及び同等の入力デバイスなどの入力デバイス712を有してもよい。ディスプレイ、スピーカー、プリンター、及び他の種類の出力デバイスなどの出力デバイス714もまた含まれてもよい。これらのデバイスは、当技術分野において周知であり、ここで詳細に説明する必要はない。
[0047]コンピューティングデバイス700はまた、分散コンピューティング環境内の有線又は無線ネットワーク、衛星リンク、セルラーリンク、短距離ネットワーク、同等の機構を介するなどして、他のデバイス718とデバイスが通信することを可能にする通信接続716を含んでもよい。他のデバイス718は、通信アプリケーション、ウェブサーバー、及び同等のデバイスを実行するコンピューターデバイスを含むことができる。通信接続716は通信媒体の一例である。通信媒体は、その中に、コンピューター読み取り可能な命令、データ構造、プログラムモジュール、又は他のデータを含むことができる。例として、限定はしないが、通信媒体は、有線ネットワーク又は直接有線接続などの有線媒体、音響、RF、赤外線及び他の無線媒体などの無線媒体を含む。
[0048]例示的な実施例はまた方法を含む。これらの方法は、本明細書に記載された構造を含む任意の数の方法で実施することができる。1つのそのような方法は、本明細書に記載されるタイプのデバイスの機械操作によるものである。
[0049]別の任意の方法は、1人又は複数の人間のオペレーターがいくつかを実行することと併せて実行される方法の個々の操作の1つ又は複数についてのものである。これらの人間のオペレーターは、互いに一緒に配置される必要はなく、それぞれがプログラムの一部を実行するマシンとともにあればよい。
[0050]図8は、実施例によるプログレッシブな方法でドキュメントマークアップを提示するプロセス800の論理フロー図を示す。プロセス800は、ドキュメント編集アプリケーションを提供するコンピューティングデバイス上で実施することができる。
[0051]プロセス800は動作810で開始し、ドキュメントアプリケーションは、ユーザーがドキュメントを編集して内容、書式などに変更を行うことを可能にする。動作820において、ユーザーによりなされた変更がアプリケーションによって検出されて追跡される。動作830において、アプリケーションは表示の選択を決定することができる。例えば、ユーザーは、変更のヒントのみが提示されるシンプルな表示と、変更の詳細が提示されるマークアップ表示との間で選択することができる。選択は、デフォルトで設定されてもよいし、ユーザーにより選択されてもよいし、使用状況、ユーザー資格、アプリケーションの種類などに基づいて自動的に決定されてもよい。
[0052]抽象化された又はシンプルな表示が選択された表示タイプである場合は、ドキュメントアプリケーションは、動作840においてヒントを有する抽象化された表示を提示することができる。動作850において、抽象化された表示で、アプリケーションは、ヒントに対するユーザーの関心を検出すると、個々の変更の詳細を提示することができる。ユーザーの関心はヒントの選択(例えば、ヒントをクリックすること、ジェスチャーやタッチによってヒントを選択することなど)、ヒントの上にポインターをホバリングさせることなどの一時的なアクションを含んでもよい。後者の場合、いくつかの実施例によれば、ユーザーが先へ進むまで、詳細を一時的に提示することができる。
[0053]選択した表示が完全なマークアップ表示である場合は、動作860において、ユーザーにドキュメントに関するすべての変更の詳細を提示することができる。特定の変更についてのユーザーの関心を検出した際、変更の作者、変更の時刻などのいくつかのさらなる詳細がなお提示されてもよい。
[0054]プロセス800に含まれる動作は例示の目的のためのものである。ドキュメントマークアップのプログレッシブな提示は、本明細書に記載の原理を用いて、より少ない又は追加のステップを有する同様のプロセスによるほか、異なる順序の動作によって実施されてもよい。
[0055]上記の明細書、実施例及びデータは、実施例の構成の製造及び使用の完全な説明を提供する。主題は構造的特徴及び/又は方法論的動作に特有の言葉で説明してきたが、添付の特許請求の範囲で定義される主題は、必ずしも上述した特定の特徴又は動作に限定されないことを理解すべきである。むしろ、上述の特定の特徴及び動作は、特許請求の範囲及び実施例を実施する例示的形態として開示されるものである。