説明

コンテンツ生成用の自動画像キャプチャ

本発明は、ユーザインターフェイス(205)上で実施される全体タスクにおけるステップを完了する、作成者(201)のアクションに基づいて、画像を自動的に取り込むシステム(200)を対象とする。画像を取り込むために、作成者(201)は、記録コンポーネント(207)を活動化する。記録コンポーネント(207)は、ユーザインターフェイス(205)における作成者のアクションに対応する画像を記録する。記録コンポーネント(207)は、記録された画像を編集コンポーネント(240)に渡すことができ、編集コンポーネントにおいて、作成者は、画像に対応するテキストを生成して、アクションを記述することができる。画像は、所望される場合は、テキストに埋め込まれて公開することもできる。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ヘルプコンテンツなど、コンテンツの生成を扱う。より詳細には、本発明は、ユーザインターフェイスにおけるユーザのアクションを示す画像の自動取込みを扱う。
【背景技術】
【0002】
グラフィカルユーザインターフェイス(GUI)は、広く使われているインターフェイス機構である。GUIは、位置決めタスク(たとえば、矩形のサイズ変更)、表示修正タスク(たとえば、何かに、漠然とした青い影をつける)または選択タスク(たとえば、100枚の絵のうち、これが、自分が回転させたいものである)に非常に優れている。GUIは、素早いシングルステップ特徴への高速アクセスにも優れている。アプリケーションのGUIは、タスク志向の視点(たとえば、「自分のコンピュータをハッカーから守りたい」など、ユーザが行いたいと思う、より高いレベルのタスクによって編成される)ではなく、機能的な視点から編成される(たとえば、メニュー、ツールバーなどに編成される)有用なツールボックスである。
【0003】
しかし、GUIは、ユーザに多くの問題も提示する。ツールボックスの例えを用いると、ユーザがボックスにあるツールを見つける、またはどのようにツールを使って多数のステップからなるタスクを完了するかを把握するのが困難である。不透明な階層に押し込まれた単語、ごく小さいボタンおよびタブによって記述されるインターフェイスは、人々がそのタスクについて考えるのに適してはいない。GUIは、ユーザが、タスクを遂行するのにどのような要素が必要であるか判断するために、タスクを分解することを要求する。この要件は、複雑さにつながる。複雑さを別にしても、GUI要素(すなわち、メニュークリック、ダイアログクリックなど)を組み立てるのには時間がかかる。これは非効率的であり、エキスパートユーザの場合でも時間がかかる可能性がある。
【0004】
GUIの問題に対処する1つの既存のメカニズムが、文書型ヘルププロシージャである。ヘルププロシージャはしばしばヘルプドキュメント、PSS(製品サポートサービス)KB(知識ベース)記事、およびニュースグループ投稿の形をとり、これらは顧客のニーズとGUIの問題との間の隔たりを埋める。こうしたプロシージャは、ツールボックスに伴うマニュアルに類似しており、多くの利益を有している。こうした利益は、例として、以下のことを含む。
【0005】
1)技術的に言うと、技術者でない作成者にとっても、オーサリングするのが比較的容易である。
【0006】
2)サーバ上で更新するのが容易なので、接続されたユーザは、新規コンテンツに容易にアクセスできる。
【0007】
3)GUIに教示を行うことによって、ユーザに問題解決を制御させる。
【0008】
しかし、ヘルプドキュメント、PSS KB記事およびニュースグループは、それ自身も問題をもっている。こうした問題は、例として、以下のことを含む。
【0009】
1)複雑なタスクは、ユーザ側で大量の処理を必要とする。ユーザは、各ステップにおいて言われていることを、GUIにマッピングする必要がある。これにより、ステップがスキップされる、間違って記述される、または不完全に記述される、あるいは順不同に記述されることにより、エラーにつながる可能性がある。
【0010】
2)トラブルシュータ、およびプロシージャのヘルプドキュメントでさえも、ヘルプトピック内で複雑な分岐を作成する状態情報をしばしば含むため、トピックが長くなり、エンドユーザが読み取り、処理することが難しくなっている。ツールバーは、なくなっている場合や、次のステップをとることができる前にオンにする必要がある場合がある。トラブルシュータはしばしば、よくても苛立たしいような(トラブルシュータが自力で答えを見つけることができるはずなので)、最悪の場合は専門家以外には答えることができないような状態について質問する。
【0011】
3)数百万のドキュメントがあり、答えを検索するには、どこから検索を開始するかの問題と、次いで、検索された数千個の結果からどのようにして最良の検索結果を選ぶかの両方を伴う。
【0012】
4)共有のオーサリング構造がない。ニュースグループ投稿、KB記事、トラブルシュータおよびプロシージャヘルプドキュメントはすべて、異なる構造およびオーサリング戦略をもつが、それでも、すべてが同様の問題を解決する。
【0013】
5)ユーザにとって、ステップごとのテキストを読み取り、次いで記述されている要素を求めてUIを視覚的に検索し、その要素に関して記述されたアクションをとることは、かなり難しい。
【0014】
GUIの問題に対処する別の既存機構が、ウィザードである。ウィザードは、GUIおよび文書型ヘルププロシージャの弱点に対処するために作成された。現在、数千のウィザードがあり、こうしたウィザードは、製造されているほとんどすべてのソフトウェア製品に見ることができる。これは、ウィザードは、既存のテキストベースのヘルプおよび支援では現時点で対処されていない真の必要性を解決するからである。こうしたウィザードは、ユーザに、タスク志向のやり方で機能にアクセスさせ、GUIまたはツールを自動的に組み立てることができる。ウィザードは、プログラムマネージャおよび開発者に、顧客のタスクに対処する手段を与える。ウィザードは、タスクの成功のために必要なステップをユーザに踏ませる、ボックスに入った専門家のようである。一部のウィザードは、顧客がシステム(たとえば、セットアップウィザード)をセットアップするのを助け、一部のウィザードは、特徴のあるコンテンツを含み、顧客がコンテンツ(たとえば、ニュースレターウィザードやPowerPointのAutoContentウィザード)を作成するのを助け、一部のウィザードは、顧客が問題(たとえば、トラブルシュータ)を診断し解決するのを助ける。
【0015】
ウィザードは、ユーザに多くの利益をもたらす。ウィザードのこうした利益の一部は、以下の通りである。
【0016】
1)ウィザードは、「タスク」の概念を具体化することができる。ユーザには、ユーザが何を遂行するのをウィザードが手伝っているのかは、通常、明らかである。ステップごとのページを使うと、ユーザが選択を行うのが容易になる場合があり、適切に設計されたウィザードの場合、ユーザが視覚的に圧倒されてしまうようなことが起きる確率はしばしば低下する。
【0017】
2)ウィザードは、ソフトウェアの基底特徴を自動的に組み立て、それと対話し、顧客が選択を行うのに必要とされる情報または専門知識を含めることができる。こうすることにより、ユーザがタスクを実行する時間の節約になる。
【0018】
3)ウィザードは、コンテンツを自動的に生成することができ、テキストを作成しレイアウトを計画することによって、ユーザの時間を節約することができる。
【0019】
4)ウィザードは、質問し、応答を入手し、最も適切な次の質問または特徴に分岐する、優れた手段でもある。
【0020】
しかし、ウィザードは、それ自体の問題ももっている。こうした問題の一部は、人々が遂行しようとするタスクが、タスクを遂行するウィザードよりもさらに多くあることを含む。ウィザードおよびIUI(誘導型ユーザインターフェイス)は、どのようにして基底GUIを使うかを顧客に教えず、しばしば、ウィザードが完了すると、ユーザは、次にどこへ進むかについて確信がもてない。ウィザードのオーサリングコストは依然として高く、技術的な専門知識を有する担当者(たとえば、ソフトウェア開発者)がウィザードをオーサリングすることを必要とする。
【0021】
したがって、ユーザによってとられるべきプロシージャを記述する、こうしたタイプのコンテンツすべてをオーサリングすると、しばしばエラーを起こしやすい。ステップを飛ばしたり、ステップを間違って記述したり、または長い一連のUI操作においてどのステップが現在記述されているかを見失ったりということが、非常に起こりやすい。しかし、この文書プロシージャ型ヘルプコンテンツは、極めて一般的である。このようなヘルプコンテンツはしばしば、製品と一緒に出荷され、オンラインヘルプコンテンツが、製品サポートチーム向けに提供され、企業内部のプロシージャはしばしば、このようにして、特定の事業プロセス向けに文書化される。したがって、このタイプの情報は、オーサリングするのが難しく、しばしばエラーを含む。
【0022】
さらに、エンドユーザは一般に、オーサリングされているステップに従わなければならない。ステップごとのテキストを読み、次いで、記述されている特定のコントロール要素を求めてUIを検索し、次いで、そのコントロール要素を参照して正しいアクションをとるのが難しい場合がある。これを負担と感じるあまり、数多くのユーザがテキストの最初の1つまたは2つのステップに簡単に目を通し、次いで、書かれているテキストのステップにほとんど目を戻さずに、どのUI要素を次に作動する必要があるかを最善を尽くして判断していることが分かっている。また、目は、単語を読み取り頭の中で単語を絵に変換して対応するUIコントロール要素を見つけるよりも、はるかに容易に、絵を見つけて認識することができることも分かっている。しかしこれはまさに、過去に行われていたことであり、作成者は、アクションのどのようなタイプの視覚的描写も含めるために、各ステップのスクリーンショットを入念に撮り、画像を切り取り、ドキュメントの中のふさわしい場所に貼り付けなければならない。
【発明の開示】
【課題を解決するための手段】
【0023】
本発明の一実施形態は、数千のタスク(またはウィザード)をオーサリングし、GUIと統合し、タスクを実行するためまたはユーザの代わりにタスクを実行するためにGUIをどのようにして使うかをユーザに教える、簡単な方法を可能にするコンテンツコンポーネントを提供することによって、ウィザード、ヘルプ、知識ベース記事およびトラブルシュータの問題の一部に対処する。特定の一実施形態においては、本発明は、アクティブコンテンツウィザード(ACW)スクリプトのオーサリング、ならびにそのACWスクリプトの一部であるテキストおよび画像を扱う。
【0024】
本発明は、ユーザインターフェイス上で実施される全体タスクのステップを完了する際の、作成者のアクションに基づいて、画像を自動的に取り込むシステムを対象とする。画像を取り込むために、作成者は、記録コンポーネントを活性化する。記録コンポーネントは、ユーザインターフェイスにおける、作成者のアクションに対応する画像を記録する。記録コンポーネントは、記録された画像を編集コンポーネントに渡すことができ、編集コンポーネントにおいて、作成者は、画像に対応するテキストを生成して、アクションを記述することができる。画像は、所望される場合は、テキストに埋め込まれて公開することもできる。
【0025】
一実施形態では、テキストジェネレータが、画像に対応するテキストを自動的に生成する。このテキストは次いで、ユーザに命令または他の情報を与えるテキストドキュメントを形成するのに使うことができる。テキストドキュメントを生成するプロセスの間またはその後で、テキストは、ドキュメントの分かりやすさを向上させるために、エディタを使って編集することができる。
【発明を実施するための最良の形態】
【0026】
本発明は、ユーザインターフェイスにおけるユーザ操作に基づいて、画像を自動的に記録することを扱う。本発明をより詳細に論じる前に、本発明を利用することができる一例示的環境を説明する。
【0027】
図1は、本発明を実施することができる、適切なコンピューティングシステム環境100の例を示す。コンピューティングシステム環境100は、適切なコンピューティング環境の一例に過ぎず、本発明の使用または機能の範囲に対するどのような限定を示唆することも意図していない。コンピューティング環境100は、例示的な動作環境100に示されるどのコンポーネントまたはその組合せに関するどのような依存も要件も有していると解釈されるべきではない。
【0028】
本発明は、他の数多くの汎用または専用のコンピューティングシステム環境または構成と動作可能である。本発明とともに使用するのに適切であり得る他の公知のコンピューティングシステム、環境、および/または構成の例は、パーソナルコンピュータ、サーバコンピュータ、ハンドヘルドまたはラップトップデバイス、マルチプロセッサシステム、マイクロプロセッサベースのシステム、セットトップボックス、プログラム可能な家電製品、ネットワークPC、ミニコンピュータ、メインフレームコンピュータ、上記のシステムまたはデバイスのいずれかを含む分散型コンピューティング環境などを含むが、それに限定されない。
【0029】
本発明は、コンピュータによって実行される、プログラムモジュールなどのコンピュータ実行可能命令という一般的な文脈において説明することができる。概して、プログラムモジュールは、特定のタスクを実施しまたは特定の抽象データタイプを実装するルーチン、プログラム、オブジェクト、コンポーネント、データ構造などを含む。本発明は、通信ネットワークを介して連結されるリモート処理ユニットによってタスクが実施される分散型コンピューティング環境においても実施することができる。分散型コンピューティング環境では、プログラムモジュールは、メモリ格納デバイスを含むローカルおよびリモートコンピュータ格納媒体両方に置くことができる。
【0030】
図1を参照すると、本発明を実施する例示的なシステムは、汎用コンピューティングデバイスをコンピュータ110の形で含む。コンピュータ110のコンポーネントは、処理ユニット120と、システムメモリ130と、システムメモリなど様々なシステムコンポーネントを処理ユニット120に結合するシステムバス121とを含み得るが、それに限定されない。システムバス121は、メモリバスまたはメモリコントローラ、ペリフェラルバス、および様々なバスアーキテクチャのいずれかを使用するローカルバスなど、いくつかのタイプのバス構造のいずれでもよい。限定ではなく例として、このようなアーキテクチャは、ISA(業界標準アーキテクチャ)バス、MCA(マイクロチャネルアーキテクチャ)バス、EISA(拡張ISA)バス、VESA(ビデオ電子装置規格化協会)ローカルバス、およびメザニンバスとしても知られるPCI(周辺装置相互接続)バスを含む。
【0031】
コンピュータ110は通常、様々なコンピュータ可読媒体を含む。コンピュータ可読媒体は、コンピュータ110によってアクセスすることができ、揮発性媒体および不揮発性媒体両方、取外し可能媒体および固定式媒体を含む、入手可能などのような+媒体でもよい。限定ではなく例として、コンピュータ可読媒体は、コンピュータ格納媒体および通信媒体を含み得る。コンピュータ格納媒体は、コンピュータ可読命令、データ構造、プログラムモジュール、または他のデータなどの情報を格納するためのどの方法または技術でも実施される揮発性媒体および不揮発性媒体の両方、取外し可能媒体および固定式媒体を含む。コンピュータ格納媒体は、RAM、ROM、EEPROM、フラッシュメモリまたは他のメモリ技術、CD−ROM、DVD(デジタル多用途ディスク)または他の光学ディスク格納装置、磁気カセット、磁気テープ、磁気ディスク格納装置または他の磁気格納デバイス、あるいは、所望の情報を格納するのに使うことができるとともにコンピュータ110によってアクセスすることができる他のどの媒体も含むが、これらに限定されない。通信媒体は一般に、コンピュータ可読命令、データ構造、プログラムモジュール、または他のデータを、たとえば搬送波や他の移送機構などの変調データ信号の形にし、どのような情報配信媒体も含む。「変調データ信号」という用語は、信号中の情報をエンコードするようなやり方で設定または変更された特性を1つまたは複数有する信号を意味する。限定ではなく例として、通信媒体は、有線ネットワークまたは直接有線接続などの有線媒体、ならびに音響、RF、赤外線、および他の無線媒体などの無線媒体を含む。上記のどの組合せも、やはりコンピュータ可読媒体の範囲に含めるべきである。
【0032】
システムメモリ130は、コンピュータ格納媒体を、ROM(読取り専用メモリ)131およびRAM(ランダムアクセスメモリ)132など、揮発性および/または不揮発性メモリの形で含む。BIOS(基本入出力システム)133は、たとえば起動中にコンピュータ110内部の要素の間で情報を転送するのを助ける基本ルーチンを含み、通常はROM131に格納される。RAM132は、処理ユニット120に対して直接アクセス可能な、かつ/または処理ユニット120によって現在操作されているデータおよび/またはプログラムモジュールを典型的に含む。限定ではなく例として、図1は、オペレーティングシステム134、アプリケーションプログラム135、他のプログラムモジュール136、およびプログラムデータ137を示す。
【0033】
コンピュータ110は、他の取外し可能/固定式、揮発性/不揮発性コンピュータ格納媒体も含み得る。例としてのみ、図1では、固定式不揮発性磁気媒体に対して読取りまたは書込みを行うハードディスクドライブ141と、取外し可能な不揮発性磁気ディスク152に対して読取りまたは書込みを行う磁気ディスクドライブ151と、および、CD ROMや他の光学媒体など、取外し可能な不揮発性光ディスク156に対して読取りまたは書込みを行う光ディスクドライブ155とを示す。例示的な動作環境で使うことができる、他の取外し可能/固定式、揮発性/不揮発性コンピュータ格納媒体は、磁気テープカセット、フラッシュメモリカード、デジタル多用途ディスク、デジタルビデオテープ、固体RAM、固体ROMなどを含むが、それに限定されない。ハードディスクドライブ141は通常、インターフェイス140などの固定式メモリインターフェイスによって、システムバス121に接続され、磁気ディスクドライブ151および光ディスクドライブ155が通常、インターフェイス150などの取外し可能メモリインターフェイスによって、システムバス121に接続されている。
【0034】
上述され、かつ図1に示されているドライブおよびそれに関連するコンピュータ格納媒体は、コンピュータ可読命令、データ構造、プログラムモジュール、およびコンピュータ110用の他のデータの格納部を提供する。図1では、たとえば、ハードディスクドライブ141は、オペレーティングシステム144、アプリケーションプログラム145、他のプログラムモジュール146、およびプログラムデータ147を格納するものとして示してある。こうしたコンポーネントは、オペレーティングシステム134、アプリケーションプログラム135、他のプログラムモジュール136、およびプログラムデータ137と同じでも、異なってもよいことに留意されたい。これらが少なくとも異なるものであることを示すために、オペレーティングシステム144、アプリケーションプログラム145、他のプログラムモジュール146、およびプログラムデータ147には、ここでは異なる番号を与えてある。
【0035】
ユーザは、たとえばキーボード162や、マイクロホン163や、およびマウス、トラックボール、またはタッチパッドなどのポインティングデバイス161などの入力デバイスを介して、コマンドおよび情報をコンピュータ110に入力することができる。他の入力デバイス(図示せず)は、ジョイスティック、ゲーム用パッド、衛星パラボラアンテナ、スキャナなどを含み得る。こうしたおよび他の入力デバイスはしばしば、システムバスに結合されたユーザ入力インターフェイス160を介して処理ユニット120に接続されるが、他のインターフェイスおよびバス構造、たとえばパラレルポート、ゲームポート、USB(ユニバーサルシリアルバス)によって接続することもできる。モニタ191または他のタイプの表示デバイスも、ビデオインターフェイス190などのインターフェイスを介してシステムバス121に接続される。モニタに加え、コンピュータはスピーカ197およびプリンタ196など、他の周辺出力デバイスも含み得、これら周辺出力デバイスは出力周辺インターフェイス195を介して接続することができる。
【0036】
コンピュータ110は、リモートコンピュータ180などの、1つまたは複数のリモートコンピュータへの論理接続を使用してネットワーク接続された環境において動作することができる。リモートコンピュータ180は、パーソナルコンピュータ、ハンドヘルドデバイス、サーバ、ルータ、ネットワークPC、ピアデバイス、または他の共通ネットワークノードでよく、通常、コンピュータ110に関連して上述した要素の多くまたはすべてを含む。図1に示す論理接続は、LAN(ローカルエリアネットワーク)171およびWAN(ワイドエリアネットワーク)173を含むが、他のネットワークも含み得る。このようなネットワーク環境は、会社、企業規模のコンピュータネットワーク、イントラネットおよびインターネットにおいてよく見られる。
【0037】
LANネットワーク環境において使われる場合、コンピュータ110は、ネットワークインターフェイスまたはアダプタ170を介してLAN171に接続される。WANネットワーク環境において使われる場合、コンピュータ110は通常、モデム172、または、たとえばインターネットなどのWAN173を介して通信を確立する他の手段を含む。モデム172は、内部にあっても外部にあってもよく、ユーザ入力インターフェイス160または他の適切な機構を介してシステムバス121に接続することができる。ネットワーク接続された環境では、コンピュータ110に関連して図示したプログラムモジュールまたはその一部は、リモートメモリ格納デバイスに格納することができる。限定ではなく例として、図1では、リモートアプリケーションプログラム185を、リモートコンピュータ180に常駐するものとして示してある。図示したネットワーク接続は例示であり、コンピュータ間の通信リンクを確立する他の手段も使用できることが理解されよう。
【0038】
図2は、本発明の一実施形態による画像取込みシステム200のコンポーネントを示すブロック図である。図2は、レコーダ207および任意選択の自動テキストジェネレータ203を有するシステム200も示す。レコーダ207は、記録コンポーネント210と、フックコンポーネント212と、およびユーザインターフェイス(UI)自動化コンポーネント214とを含む。任意選択のテキストジェネレータ203は、テキストデータベース(またはデータストア)220、およびテキスト生成コンポーネント230を含む。画像取込みシステム200は、ユーザインターフェイス205と対話する。作成者は、システム200のコンポーネントを、ユーザインターフェイス205のコントロールに基づいて実施されるアクションに対応する画像を自動的に記録するように設定することができ、任意選択のテキストジェネレータ203は、そうしたアクションを記述するテキスト235を自動的に生成する。作成者201は、自動生成されたテキスト235を編集、またはエディタ240上ではじめからテキストを生成して、タスク(またはUIコントロールアクション)を記述する最終テキスト245を取得することもできる。最終テキスト245は例示的には、そこに埋め込まれた画像も含み得る。図2のいくつかのコンポーネントを、より詳細に記述する。
【0039】
ユーザインターフェイス205は、一実施形態では、タスクを実施するためのアクションをユーザがとれるようにするコントロールを有する、従来のグラフィカルユーザインターフェイスである。ユーザインターフェイス205は例示的に、図1に示す表示デバイス191上に表示される。このタイプのグラフィカルユーザインターフェイス(GUI)は、広く使われているインターフェイス機構である。
【0040】
記録コンポーネント210は、一実施形態では、作成者201または別のユーザに、ユーザインターフェイス205上でタスクを実施させるアプリケーションプログラムであり、タスクにおける各ステップの画像を取り込むことによって、タスクを記録する。後でより詳しく記述するように、作成者201が、ユーザインターフェイス205上でのタスクに関連づけられたステップを実施している間、記録コンポーネント210は、ユーザインターフェイス205上で作成者がどのコントロールおよびウィンドウと対話しているかの情報を記録する。この情報は、ヘルプドキュメントなどのドキュメント中でテキストを自動的に生成するため、任意選択的にテキストジェネレータ230に与えられる。
【0041】
記録コンポーネント210は、フック212およびユーザインターフェイス(UI)自動化コンポーネント214を介して、ユーザインターフェイス205と対話する。こうしたコンポーネントは、記録コンポーネント210とは別個のものでもよく、実施形態によっては、こうしたコンポーネントは、記録コンポーネント210と一体であってもよい。
【0042】
フックコンポーネント212は、一実施形態では、コンピュータによって使われるオペレーティングシステム内部のモジュールまたはコンポーネントである。マウスクリックに対してフックがセットされると、たとえば、マウスクリックを示す情報(メッセージなど)が、フックコンポーネント212に転送され、ここで情報が消費される。情報に関連づけられた画像が記録コンポーネント210によって記録されると、マウスクリックを受け取るように登録している、コンピュータ内の他のコンポーネントに対して情報が再生される。したがって、概して、フックコンポーネント212は、オペレーティングシステムと目標アプリケーションとの間のバッファとして働く。フックコンポーネント212は、たとえばシングルクリック、ダブルクリック、右または左クリック、キーボードアクション、タッチ感応スクリーン入力といった、受信された信号のタイプなど、実質的にどのような入力アクションをも探すように構成することができる。アクションを表す情報およびアクションを示すスクリーンショット画像が記録コンポーネント210によって記録されると、マウスクリックを(または記録されたどのようなアクションでも)表す情報は次いで、フックコンポーネント212によって、アプリケーション用に再生される。この理由は、ユーザが、第1のアクションが記録される前に、第2のアクションをとることができるからである。第2のアクションが、ユーザインターフェイスの状態を十分に変化させ、これにより第1のアクションの不適切な記録という結果につながる場合がある。たとえば、記録されるアクションがメニュー項目をクリックしていることである場合、クリックによってメニュー項目が消える。したがって、画像は、マウスクリックがアプリケーションに渡される前に取り込まれる。第1のマウスメッセージを消費し、記録が完了してから再生することによって、第1のアクションが確実に正しく記録されるようになる。
【0043】
フックコンポーネント212によって実施される機能(すなわち、マウスクリックを聴き、再生すること)が、例示的に別個のスレッド上で実施されることにも留意されたい。このことは、全ユーザインターフェイスアクション(たとえば、マウスクリック、キーボードアクションなど)が、何も取りこぼさずに、正しく記録され再生されることを確実にする。さらに、フックコンポーネント212の記録および再生機構は、オペレーティングシステム内部で暗黙的に実施されるいかなるタイムアウトの特徴を無効にすることができる。これは、オペレーティングシステムのタイムアウト期間が、アクションの正しい記録およびアクションを示す画像の取込みをするには短過ぎる場合に、必要になり得る。たとえば、画像を取り込むには、300〜400ms位、デスクトップ全体が取り込まれる場合は最大1秒もかかることがある。したがって、タイムアウトを無効にし、複数のスレッド上で動作を行うことが有益である。
【0044】
ユーザインターフェイス自動化コンポーネント214は例示的には、作成者またはユーザがユーザインターフェイス205を介して実施する全体タスクのための原子ステップを解釈するように構成されたコンピュータプログラムである。一実施形態では、ユーザインターフェイス自動化コンポーネント214は、ワシントン州レドモンドのマイクロソフトコーポレーションのマイクロソフトユーザインターフェイスオートメーションを用いて実装されるGUI自動化モジュールである。このモジュールは、可視ユーザインターフェイスについての情報にアクセスするため、また、プログラムによって可視ユーザインターフェイスと対話するための、プログラムによる方法を提供する。しかし、システムセットアップに応じて、ユーザインターフェイス自動化コンポーネント214は、プログラムによってグラフィカルユーザインターフェイスをナビゲートすること、およびユーザインターフェイス上でコマンドを検出する(また任意選択で、コマンドを実施し実行するために、プログラムによってGUIをナビゲートする)ことが可能な、どのアプリケーションを使っても実装することができる。
【0045】
ユーザインターフェイス自動化コンポーネント214はしたがって、ユーザインターフェイス205上で作成者201(または別のユーザ)によってタスク順で実施される所望のタスクに関連づけられたステップそれぞれを検出する。たとえば、後でより詳細に説明するように、タスクが、新規メニューまたはウィンドウを表示するためのGUI上のボタンをユーザがクリックすることを要求すると、ユーザインターフェイス自動化コンポーネント214は、ユーザインターフェイス205上のマウスカーソルの位置にどのコントロールが配置されているか、ならびにそのサイズおよびその親ウィンドウを判定する。記録コンポーネント210は、フックコンポーネント212からの情報(たとえば、コントロールのタイプ、名称および状態)を用いて、ステップを実施するのに使われたコントロールの名称およびプロパティを記録する。この情報は、ユーザインターフェイス自動化コンポーネント214およびフックコンポーネント212から、記録コンポーネント210に提供され、そうすることによって、記録コンポーネント210は、作成者によってステップを実施するのに使われたボタンまたはコントロールの画像を記録することができる。画像の取得については、図3を参照して後でより詳細に説明する。
【0046】
テキスト生成コンポーネント230は、プロセスを記録する間に実行または実施されるアクションを記述する自然言語テキストを生成するように構成されたプログラムまたはモジュールである。テキスト生成コンポーネント230は、記録された画像および記録コンポーネント210によって記録された他の情報を用いて、データベース220を検索し、また、記録されたステップに対応する正しいテンプレートまたはエントリをテキストデータベース220から選ぶ。
【0047】
テキストデータベース220は例示的には、テキストジェネレータ230によって検索可能なデータベースまたは他の情報格納システムである。テキストデータベース220は、ユーザインターフェイス205上で使用可能なコントロールに関連した情報を含む。この情報は、たとえば、コントロールの名称、コントロールのタイプ、コントロールに基づいて実施されるアクション、およびアクションの自然言語文でのテキスト記述を含み得る。
【0048】
いくつかの実施形態では、エントリに対するテキスト記述は、多数の言語で与えられる。テキスト記述が多数の言語で与えられている場合、正しい言語の選択を可能にする言語識別子が各エントリに与えられる。
【0049】
ただし、システムの必要性に応じて、テキストデータベース220中には他の情報も提供することができる。一実施形態では、テキストデータベース220中の一部のエントリは、順に実施される多数のコントロールによって例証される2つ以上のアクションに関連した情報をもつ。多数のコントロールに基づく多数のアクションが、テキストデータベース220中の1個のエントリで表されるとき、そのエントリに対するテキストは、両方のコントロールに基づいて実施されるアクションに関する自然言語記述を、一文として含む。2つのコマンドの記述を一文として組み合わせることによって、最終テキストドキュメントの読みやすさが向上する。
【0050】
一実施形態では、テキストデータベース220は、拡張マークアップ言語(XML)で書かれている。各エントリに対するデータは、一連のサブエントリとして格納することができ、エントリの各サブエントリは、タスクを識別するのに必要とされる個々の情報に言及している。ただし、データの格納には、他の形式も使うことができる。
【0051】
一実施形態では、テキスト生成コンポーネント230は、テキストデータベース220中にあるエントリを検索するとき、記録されたアクションの2つ以上を見る。これは、より流動性のあるテキストドキュメントを提供するために行うことができる。たとえば、優れたプロシージャ文書はしばしば、読みやすさの向上のために、複数のステップを一文に組み合わせている。テキスト生成コンポーネント230が、記録された情報と合致するものを2つ以上テキストデータベース220中に識別する場合、テキスト生成コンポーネント230は、データベース中のどのエントリを選ぶか決定するのに、例えば各エントリのスコアづけに基づいてエントリを明確にし最高スコアをもつエントリを選択するなど、公知のどのような方法でも用いることができる。
【0052】
一実施形態によると、ユーザインターフェイス上で作動されたコントロールのタイプ、および実施されたアクションに基づいて、テキスト生成コンポーネント230は、テキストデータベース220から、実行されるコントロールタイプおよびアクションに合致するエントリを検索する。テキストデータベース220中で合致が識別されると、テキスト生成コンポーネント230は、アクションに関連づけられた自然言語記述をテキストデータベース220から取得し、文命令として、生成されたテキストドキュメント235中に置く。代替実施形態では、テキスト生成コンポーネント220は、UI自動化モジュール214によって提供される情報に基づいて、テキストドキュメントの実行可能バージョンを生成することもできる。
【0053】
テキストデータベース235からテキスト記述を選ぶとき、テキスト生成コンポーネントは、コントロールの状態に注意を向けてもよい。これは、コントロールがチェックボックス、あるいは拡張可能または折畳み可能なツリーであるときに重要である。この場合、コントロールに対するアクションは所望の結果に関わらず同じなので、ボックスをクリックするだけでは、アクションを記述するには適切でない場合がある。したがって、こうした場合には、コントロールの新たな状態が、選択されたテキストに影響を与えることになる。たとえば、コントロールがチェックボックスであり、選択解除されるべきである場合、合致したテキストは、コントロールの新しい状態と、コントロールの名とに基づくはずである。
【0054】
テキストエディタ240は、自動生成されたテキスト235に対し、訂正、変更、または情報またはテキストを追加するように構成されたエディタである。テキストジェネレータ230によって生成された結果として得られるテキスト、および作成者によって実施されるアクションに応じて、テキストを、さらに理解しやすくするように編集することが必要な場合がある。したがって、テキストエディタ240は、生成されたテキスト235を受け取り、作成者201が生成されたテキストを編集できるようにする。
【0055】
テキストの編集は、たとえば、文法上の必要性によって、または記録されたステップの1つがユーザ操作を要求し、システムがそのユーザ操作に関する記録を記録時にリクエストしなかったことによっても、必要とされる場合がある。このようなケースでは(ユーザ入力が要求されるとき)、一実施形態に従って記録されるべきタスクを実施する間、テキストジェネレータ235は、このステップにおいてユーザが何をするべきかという命令/記述を作成者が与えるためのスペースをテキスト中に提供するだけである。
【0056】
たとえば、ユーザによって実施され記録コンポーネントによって記録されるタスクは、コンピュータのスクリーン上の、バックグラウンドパネリングを変更するものであると仮定する。これには、バックグラウンド用のパターンをユーザが選ぶことが必要である。したがって、バックグラウンドを変更する、記録されたユーザアクションに対してテキストデータベースから返されるテキストは、「[アクションの記述を挿入]を選択してください」であり、作成者は、テキストを、「リストから所望のバックグラウンドを選択してください」というように編集しなければならない。編集段階中にも、作成者201は、全体タスクの記述がタスクの記録に先立って与えられていない場合、その記述を与えることができる。テキストが編集されると、最終テキスト245はオーサリングツール200から出力され、所望される場合、ユーザが希望に応じて最終テキストを取得することができる適切な格納モードで格納される。
【0057】
図3は、システム200が、本発明の一実施形態に従ってどのように動作するかをより具体的に示すフロー図である。最初に、作成者201が、記録コンポーネント210を開始する。これは、図3のブロック400で示される。これを行うために、作成者201は単に、図4に示すコントロール402などのコントロールを作動する。記録ボタン410は、記録を始めるため、作成者201によって作動することができる。停止ボタン406は、記録を停止するために作動される。後で説明するように、作成者201は、テキストエディタ240におけるテキスト編集の間、ユーザ操作の記述を挿入することができる。これを行うために、ユーザは、ボタン408を作動する。同様に、後で説明するように、作成者201は、自動生成されたテキストを編集することができる。これは、図4のテキストボタン410を作動することによって行うことができる。さらに、いくつかの実施形態では、ユーザが値を設定するための、追加のボタンを提供することができる。これは例えばランタイム時に、ユーザが編集ボックスにテキストをタイプ入力するよう要求される状況において、正しいテキストを生成させるためである。当然ながら、他の、または異なるコントロールも、用いることができる。
【0058】
再度図3を参照すると、作成者201が記録コンポーネント210を開始すると、システムは単に、ユーザがユーザインターフェイス205上でアクションをとるのを待つ。図2は、ユーザが作成者201であることを示すが、ユーザは、異なるユーザでもよいことに留意されたい。
【0059】
ユーザが、(たとえば、ユーザインターフェイス上のコントロール要素を操作することによって)ユーザインターフェイス205上でアクションをとると、フックコンポーネント212は、そのユーザ操作を示すメッセージまたは他の信号を受け取る。上述したように、フックコンポーネント212に関しては、フックコンポーネント212は、メッセージを消費し、記録用のキューに置く。UI205上でアクションをとるユーザは、図3のブロック412で示される。
【0060】
記録コンポーネント210は次いで、UI自動化コンポーネント214から画像識別情報を受け取る。これは、図3のブロック414で示される。例示的な一実施形態において、UI自動化コンポーネント214は、ユーザがユーザインターフェイス205でとるアクションを表すまたはそれに対応する表示画面上の画像を記録コンポーネント210に記録することを可能にする、いくつかの情報項目を、記録コンポーネント210に与える。例示的な一実施形態において、こうした情報項目は、ユーザが作動あるいは操作した、表示画面上のコントロール要素の位置や、そのコントロール要素の包囲長方形またはサイズや、そのコントロール要素を含む親ウィンドウである。
【0061】
記録コンポーネント210は次いで、ユーザインターフェイス205に関連づけられたスクリーンショットを示し、かつユーザによってとられるアクションに対応またはそれを反映する、実際の画像情報を取得する。これは、図3のブロック416で示される。
【0062】
このステップを実施するために、記録コンポーネント210は、システムの動作を強化するためにいくつかのことを行うことができる。たとえば、記録コンポーネント210は、ユーザによって操作されるコントロール要素だけではなく、実際の画像情報(または実際のスクリーンショット)を記録することが有益であろうと判断することができる。これは、たとえば、同様のコントロール要素が、ユーザによって操作されているディスプレイ上に現在複数ある場合に真実であり得る。たとえば、ユーザが、ユーザインターフェイス上で「OKボタン」をクリックしたと仮定する。しかし、表示画面には、その時点で複数の「OKボタン」が存在し得る。したがって、様々な「OKボタン」同士を明確にするために、記録コンポーネント210は、ユーザによって操作された特定の「OKボタン」だけでなく、その「OKボタン」の周囲にある所望の数のピクセルに対する実際のスクリーンショット情報も取得することができる。これによる、コントロール自体の単なる画像より大きい背景を含む画像を提供できる。
【0063】
同様に、記録コンポーネント210は、コントロール要素を含む親ウィンドウ全体のスクリーンショット画像を記録することもできる。当然ながらこれは、ユーザが操作したコントロール要素を特定的に識別するのに使うことができる、特別背景をかなりの量含む。
【0064】
追加背景が記録コンポーネント210によって記録される必要があるかどうか判定するのに、記録コンポーネント210は、多種多様な技術のどれでも用いることができる。たとえば記録コンポーネント210は、記録するコンテキストの量を識別するヒューリスティックを利用することができる。ヒューリスティックは、操作されるコントロール要素のサイズおよび形状、操作されるコントロール要素の特定の機能、コントロール要素のタイプ(たとえば、チェックボックス、テキストボックス、ツリー表示)、スクリーン上でのコントロール要素の位置(たとえば、コントロール要素が左上の隅にある場合、記録コンポーネント210は、コントロール要素の右下側でより多くのピクセルをとり得る)に基づいてもよく、またはヒューリスティックは、そのコントロール要素がどこに配置されどのような機能がコントロール要素によって実施されるかに関わらず、その周囲でとられるべき一定数のピクセルを反映してもよい。
【0065】
記録コンポーネント210は、公知のどの技術を用いてでも、実際のスクリーンショット画像情報を取得することができる。たとえば、ほとんどのオペレーティングシステムでは、現在表示されているスクリーンのどのセクションのビットマップスクリーンショットでも、アプリケーションまたは他のコンピューティングコンポーネントに取得させることができるアプリケーションプログラミングインターフェイス(API)が公開されている。したがって、例示的な一実施形態において、記録コンポーネント210は、一旦、所望するスクリーンショット画像情報の座標や、コンテキスト情報の量や、さらに任意選択でコントロール要素の親ウィンドウが分かると、情報を取得するためのAPIコールを行うだけである。
【0066】
実際の画像情報を取得すると、記録コンポーネント210は、その情報を、後で使うために記録する。情報がどのように使われるかに応じて、記録コンポーネント210は、標準画像操作APIを使って、画像を圧縮することも、サイズ変更することもできる。これは、必要とされるメモリおよび最終ドキュメントのサイズを削減する。これは、図3のブロック418で示される。当然ながら、この時点では、記録コンポーネント210は、UI自動化コンポーネント214によって提供される他の情報を記録することができることにも留意されたい。たとえば、UI自動化コンポーネント214は例示的には、コントロール名、コントロールタイプ、コントロールに対して実施されるアクション、実施される操作のタイプ(たとえばマウスクリック、マウスホイールの回転、キーボードのキーストローク、タッチパッド入力など)を記録コンポーネント210に与える。この情報はすべて、記録コンポーネント210によって記録することができる。
【0067】
本発明の一実施形態によると、任意選択のテキスト生成コンポーネント230は、任意選択のテキストデータベース220と連動して、取り込まれる画像に関連づけられかつユーザがユーザインターフェイス205上でとるアクションに関連づけられたテキストを自動的に生成する。こうした項目が使われる実施形態では、記録コンポーネント210は、取り込まれた情報(たとえばクリックタイプ、コントロールタイプ、コントロール名称など)を、テキスト生成コンポーネント230に送る。これは、図3の任意選択のブロック420で示される。自動生成されたテキストは例示的には、ユーザインターフェイス205の多数の操作を必要とする全体タスクを実施するための、ユーザインターフェイス205の各ユーザ操作に関するステップごとの命令に対応する文書型プロシージャを提供する。
【0068】
このテキストを生成するために、テキスト生成コンポーネント230は、適切などのような方法でも用いることができる。例示的な一方法において、テキスト生成コンポーネント230は、記録コンポーネント210から受け取った情報に対応するエントリを求めてテキストデータストア220を検索する。たとえば、テキストデータストア220は例示的には、ユーザがユーザインターフェイス205上で操作するコントロールのタイプまたは他の項目、アクションのタイプ、およびそのアクションに対応するテキストを含む複数のエントリを含むXMLデータベースでよい。当然ながら、他のデータ格納方法も、データストア220を実装するのに用いることができ、データストア220は、追加のまたは異なる情報も含み得る。
【0069】
たとえば、記録コンポーネント210から受け取られた情報が、ユーザが「OKボタン」をクリックした(あるいは、呼び起こした)ことを示すと仮定する。次いで、テキスト生成コンポーネント230は、このタイプのアクションに合致するエントリを求めて、テキストデータストア220を検索する。合致が見つかると、テキスト生成コンポーネント230は、テキストデータストア220中のそのエントリから、そのタイプのアクションを記述するテキストを取得する。テキストは、たとえば、単に「クリックOK」というものでよい。
【0070】
いずれのケースでも、テキスト生成コンポーネント230は例示的に、また、任意選択で、ユーザインターフェイス205上でとられかつ記録コンポーネント210によって記録されたユーザアクションを記述するテキストを自動的に生成する。これは、図3のブロック422で示される。
【0071】
生成されたテキストは、図2のブロック235で示される。例示的な一実施形態において、記録コンポーネント210によって記録された画像は、生成されたテキスト235に自動的に埋め込まれ、または、プロセス中の後の方になってから互いに連動して再現し表示することができるよう、生成されたテキスト235に少なくとも関連づけられる。
【0072】
次に、記録コンポーネント210によって記録された画像データおよび任意選択の自動生成されたテキストが、エディタコンポーネント240に与えられる。記録コンポーネント210によって記録された画像および自動生成されたテキストは例示的には、作成者201が、そうした画像に対応するテキストを生成することができるように、エディタ240にある表示画面に表示される。画像の表示および生成コンポーネント230によって生成されたテキストの任意選択での表示は、図3のブロック424で示される。
【0073】
図5は、エディタ240において作成者201に、取り込まれた画像および任意選択で自動生成されたテキストを表示することができる一方法を示すスクリーンショットである。図5は、本発明に関連する2つの主要部分を含む。第1の部分は、テキスト表示部分426を備え、第2の部分は、画像表示部分428を備える。テキスト表示部分426は、任意選択の自動生成されたテキスト235、または作成者201によって作成されるテキストを表示する。画像表示部分428は、記録コンポーネント210によって記録された、取り込まれたスクリーンショット画像を表示する。
【0074】
テキストが自動的に生成される実施形態において、そのテキストは、表示部分426内の235に示され、作成者は、エディタコンポーネント240(そのスクリーンショットの1枚を、図5に示す)を使って編集することができる。したがって、作成者は、表示部分426に表示されるアクションそれぞれまたは他の項目を強調表示することができる。強調表示された項目に関連づけられた画像は、ウィンドウ部分428に表示される。したがって、図5に示す実施形態において、作成者は、アクセス支援オプションコントロールの作動に対応する2番のアクションを強調表示しており、対応する画像が、表示部分428に表示されている。ユーザは次いで、ユーザがユーザインターフェイス205で実施するステップの十分な記述を取得するために、テキストを入力することも、テキストを修正することも、所望通りにできる。テキストエディタ240を用いた、画像に対応するテキストの修正または生成は、図4のブロック436で示される。
【0075】
図5に示す実施形態において、ユーザは、ユーザインターフェイス205上のアクセス支援オプションコントロール430を作動している。記録コンポーネント210が、アクセス支援オプションコントロールに対応するコントロールボックス430だけでなく、アクセス支援オプションボタン430を囲むいくつかのピクセルを含む、より大きい背景ボックス432も取得していることが分かる。背景ボックス432は、スクリーンにより簡単に配置できるように、アクセス支援オプションコントロール430の周りに、追加コン背景を表示する。
【0076】
図5は、記録コンポーネント210が、アクセス支援オプションコントロール430を含む親ウィンドウ434を取得したことも示す。したがって作成者は、どのコントロールをユーザがユーザインターフェイス205上で操作したか、また、そのコントロールがその親ウィンドウのどこにあるかを、正確に見ることができる。これは、作成者が、ユーザインターフェイス上でとられるアクションを記述するテキストを生成または修正するのを大いに支援する。
【0077】
本発明が、非常に様々な異なるやり方で用いることができることが理解されよう。たとえば本発明は、取り込まれた画像がテキストまたはヘルプテキストに埋め込まれているコンテンツ(ヘルプコンテンツなど)を生成するのに用いることができる。この一例を、図6に示す。プロセス中の各ステップが、そのステップを遂行するために何をすべきかを記述するテキストだけでなく、そのステップがどこで実施されるべきかを示す視覚画像も含んでいることが分かる。テキスト中の埋込み画像を生成するのに本発明を用いている本実施形態では、本実施形態では、最終テキスト245は、埋込み画像と共に出力される。これは、図4の任意選択のブロック438で示される。
【0078】
しかし、本発明は、テキストに画像を埋め込むのに用いられる必要はない。代わりに本発明は、単に取り込まれた画像を作成者に表示するのに用いることができ、作成者は、とられているステップであって画像が取り込まれているステップの文書型記述を生成している。たとえば作成者は、ウイルスを修復またはコンピュータから除去するためのプロセスを記述するテキストを生成しているかもしれない。作成者は、そのテキストに埋込み画像を含むことを望まないかもしれない。その場合、ただ単に画像が表示され、任意選択で、自動生成されたテキストも作成者に表示され、作成者は、テキストが与えられる実施形態においては、はじめからテキストを生成、または自動生成されたテキストを修正することができる。
【0079】
いずれの場合でも、最終テキスト245は例示的に、どのようなスキーマであれ、コンテンツが最終的に公開されるスキーマで作成される、またはそのスキーマに変換される。これは、たとえば、マイクロソフトAssistanceマークアップ言語(MAML)、HTML、または他の何らかのXML形式でよい。
【0080】
したがって、本発明は、コンテンツのオーサリングを支援するのに用いることができることが分かる。ユーザが、ユーザインターフェイス205上で、全体タスクを実施するためのステップを実施するとき、マクロ記録コンポーネント210が監視を行う。ユーザがこうしたステップを実施するとき、レコーダは、作成者が作業した視覚UI要素を記録する。一実施形態では、こうした視覚画像は、操作されるコントロール(および可能性としては何らかの追加コンテキスト)、ならびにそのコントロールの親ウィンドウ両方のスクリーンショットを含む。全体タスクを実施するのに使われる一連の画像は次いで、各ステップに対応する明白で簡潔なテキストを作成者に生成させるために、記録された各ステップが何を指すのかを作成者にはっきりと理解させるのに使うことができる。あるいは、記録された画像は、オーサリングツールからエクスポートし、テキストコンテンツ自体に組み込むこともできる。その結果が、ステップを実施する際に自分でするべきことの画像と、各ステップを記述するテキストとをエンドユーザに1ステップずつ示す、コンテンツ(ヘルプトピックなど)である。
【0081】
特定の実施形態を参照して本発明を説明したが、本発明の精神および範囲から逸脱することなく、形体および細部において修正を行うことができることは、当業者には理解されよう。
【図面の簡単な説明】
【0082】
【図1】本発明を用いることができる一例示的環境を示すブロック図である。
【図2】本発明の自動画像取込みおよびテキスト生成システムのコンポーネントを示すブロック図である。
【図3】ユーザアクションに関連した画像の取込みにおける、図2に示すシステムの動作を示すフロー図である。
【図4】記録コンポーネント210用のコントロールを示すスクリーンショットを示す図である。
【図5】画像を使ってコンテンツをオーサリングすることができる一実施形態をより分かりやすく示すスクリーンショットを示す図である。
【図6】本発明の一実施形態による、埋込み画像を有する最終テキストの一実施形態を示す図である。

【特許請求の範囲】
【請求項1】
タスクを実施するためにユーザインターフェイス上でとられるステップを示すコンテンツを生成する方法であって、
前記ユーザインターフェイス上におけるコントロールのユーザ操作を示すユーザ入力を受け取る段階と、
前記ユーザ入力に応答して、前記ユーザインターフェイス上で前記ユーザが操作した前記コントロールの画像を記録する段階とを含むことを特徴とする方法。
【請求項2】
前記コントロールの前記ユーザ操作のテキスト記述を受け取るように構成されたエディタコンポーネント上に、前記コントロールの前記記録された画像を表示する段階をさらに含むことを特徴とする請求項1に記載の方法。
【請求項3】
前記記録された画像をエディタコンポーネントに表示するのに先立って、前記コントロールのユーザ操作に対応するテキストを自動的に生成する段階をさらに含むことを特徴とする請求項2に記載の方法。
【請求項4】
前記テキスト記述に前記画像を埋め込む段階をさらに含むことを特徴とする請求項3に記載の方法。
【請求項5】
前記画像を記録する段階は、前記ユーザインターフェイス上での前記コントロールの位置を示す位置情報を受け取る段階を含む段階を特徴とする請求項2に記載の方法。
【請求項6】
前記画像を記録する段階は、前記ユーザインターフェイス上での前記コントロールのサイズを示すサイズ情報を受け取る段階を含むことを特徴とする請求項5に記載の方法。
【請求項7】
前記記録する段階は、前記サイズ情報および前記位置情報に基づいて、前記ユーザインターフェイス上で、前記コントロールの背景を見せる背景画像を示す背景画像情報を記録する段階を含むことを特徴とする請求項6に記載の方法。
【請求項8】
前記背景情報を記録する段階は、記録するための前記背景情報をヒュリスティックに基づいて計算する段階を含むことを特徴とする請求項7に記載の方法。
【請求項9】
前記背景情報を記録する段階は、前記コントロールの前記画像の周辺の画像の少なくとも一部分を記録する段階を含むことを特徴とする請求項7に記載の方法。
【請求項10】
前記画像を記録する段階は、前記ユーザインターフェイス上の前記コントロールの親ウィンドウを示す親ウィンドウ情報を受け取る段階を含むことを特徴とする請求項7に記載の方法。
【請求項11】
前記画像を記録する段階は、前記コントロールの前記親ウィンドウの画像を記録する段階を含むことを特徴とする請求項10に記載の方法。
【請求項12】
前記画像を表示する段階は、前記コントロールの前記画像と、前記背景画像と、前記親ウィンドウの前記画像とを前記エディタコンポーネント上に表示する段階を含むことを特徴とする請求項11に記載の方法。
【請求項13】
前記表示する段階は、前記コントロールの前記画像と、前記背景画像と、前記親ウィンドウの前記画像とを、前記エディタコンポーネントの第1の表示部分に表示する段階と、
前記タスクを実施するためにとられる前記ステップの選択可能なインジケータを、前記エディタコンポーネントの第2の表示部分に表示する段階とを含むことを特徴とする請求項12に記載の方法。
【請求項14】
前記選択可能なインジケータの1つが選択されると、前記選択されたインジケータに関連づけられた前記ステップに対応する画像が、前記エディタコンポーネントの前記第1の表示部分に表示されるように、前記エディタコンポーネントが構成されていることを特徴とする請求項13に記載の方法。
【請求項15】
ユーザインターフェイス上でタスクを実施するために、ユーザによってとられたステップを記述するコンテンツを生成するためのコンテンツ生成システムであって、
前記ユーザがステップをとったという連絡を受けるように、また、前記ステップを識別する前記ユーザインターフェイスの画像の少なくとも一部分を記録するように構成された記録システムを備えることを特徴とするコンテンツ生成システム。
【請求項16】
記録された画像を表示し、関連づけられたテキストを受け取るように構成されたエディタコンポーネントをさらに備えることを特徴とする請求項15に記載のコンテンツ生成システム。
【請求項17】
前記エディタコンポーネントは、前記関連づけられたテキストに埋め込まれた前記画像を有する最終コンテンツを生成するように構成されていることを特徴とする請求項16に記載のコンテンツ生成システム。
【請求項18】
前記記録システムは、前記記録されたステップを識別するステップ識別情報を記録するように構成されていることを特徴とする請求項16に記載のコンテンツ生成システム。
【請求項19】
前記ステップ識別情報を受け取り、前記識別情報に基づいて、前記ステップを記述するテキストを自動的に生成するように構成された自動テキスト生成システムをさらに備えていることを特徴とする請求項18に記載のコンテンツ生成システム。
【請求項20】
前記ユーザは、前記ユーザインターフェイス上でコントロールを操作することによってステップ前記ステップをとり、前記記録システムは、
前記ユーザによって操作される前記コントロールの、前記ユーザインターフェイス上での位置およびサイズを識別するように構成されたコンポーネントを備えていることを特徴とする請求項16に記載のコンテンツ生成システム。
【請求項21】
前記記録システムは、前記ユーザインターフェイス上での、前記コントロールの前記位置およびサイズに基づいて、前記コントロールの画像を記録するように構成されていることを特徴とする請求項20に記載のコンテンツ生成システム。
【請求項22】
前記記録システムは、前記コントロールの前記画像より大きい背景画像を識別し、また前記背景画像を記録するように構成されていることを特徴とする請求項21に記載のコンテンツ生成システム。
【請求項23】
前記記録システムは、前記コントロールの親である、前記ユーザインターフェイス上の親ウィンドウの画像を記録するように構成されることを特徴とする請求項22に記載のコンテンツ生成システム。
【請求項24】
前記エディタコンポーネントは、前記背景画像および前記親ウィンドウの前記画像を、表示画面の第1の部分に表示するように構成されていることを特徴とする請求項23に記載のコンテンツ生成システム。
【請求項25】
前記エディタコンポーネントは、前記ユーザによってとられた前記ステップに関連づけられた前記テキストを、前記表示画面の第2の部分に表示するように構成され、前記テキストは、各ステップに1つずつの、複数のインジケータを含むことを特徴とする請求項24に記載のコンテンツ生成システム。
【請求項26】
前記エディタコンポーネントは、前記表示画面の前記第2の部分の前記インジケータのうち1つのユーザ選択を受け取り、前記選択されたインジケータに関連づけられた前記背景画像および前記親ウィンドウの前記画像を、前記表示画面の前記第1の部分に表示するように構成されていることを特徴とする請求項25に記載のテキスト生成システム。
【請求項27】
命令を格納するコンピュータ可読媒体であって、コンピュータによって読み取られたとき、
ユーザインターフェイス上の要素のユーザ操作を検出するステップと、
前記ユーザ操作に応答して、前記要素を示す画像を前記ユーザインターフェイスから記録するステップとを、前記コンピュータに実施させることを特徴とするコンピュータ可読媒体。
【請求項28】
前記検出するステップは、前記要素のサイズおよび位置を識別するステップを含むことを特徴とする請求項27に記載のコンピュータ可読媒体。
【請求項29】
前記記録するステップは、前記要素の前記サイズおよび位置に基づいて、前記要素の画像を記録するステップを含むことを特徴とする請求項28に記載のコンピュータ可読媒体。
【請求項30】
前記要素の画像を記録するステップは、前記ユーザインターフェイス上の前記要素の少なくとも一部分の周りの背景画像を記録するステップを含むことを特徴とする請求項29に記載のコンピュータ可読媒体。
【請求項31】
前記検出するステップは、前記要素の親ウィンドウを検出するステップと、
前記親ウィンドウの画像を記録するステップとを含むことを特徴とする請求項30に記載のコンピュータ可読媒体。
【請求項32】
前記要素の前記画像と、前記背景と、前記親ウィンドウとを、関連づけられたテキストを受け取るように構成されたエディタに表示するステップをさらに含むことを特徴とする請求項31に記載のコンピュータ可読媒体。
【請求項33】
前記記録された画像に関連づけられたテキストを自動的に生成するステップをさらに含むことを特徴とする請求項27に記載のコンピュータ可読媒体。
【請求項34】
前記要素は、コントロール要素を含むことを特徴とする請求項27に記載のコンピュータ可読媒体。
【請求項35】
前記要素は、テキストボックスを含むことを特徴とする請求項34に記載のコンピュータ可読媒体。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate


【公表番号】特表2008−506184(P2008−506184A)
【公表日】平成20年2月28日(2008.2.28)
【国際特許分類】
【出願番号】特願2007−520283(P2007−520283)
【出願日】平成16年7月8日(2004.7.8)
【国際出願番号】PCT/US2004/022054
【国際公開番号】WO2006/016866
【国際公開日】平成18年2月16日(2006.2.16)
【出願人】(500046438)マイクロソフト コーポレーション (3,165)
【Fターム(参考)】