(57)【要約】【課題】アンドゥおよびリドゥのフィードバックをユーザに提供する。【解決手段】コンピュータにより実施される方法は、コンピュータプログラムとのユーザの対話のビデオ記録を作成するステップと、巻き戻しユーザコマンドおよび進行ユーザコマンドを受信するように構成された制御領域を表示するステップとを含む。巻き戻しユーザコマンドの受信に応答して、コンピュータプログラムは、記録されたユーザの対話のうちの少なくとも１つより前の第１の状態に逆戻りする。進行ユーザコマンドの受信に応答して、コンピュータプログラムは、コンピュータプログラムの第１の状態と最後の既知の状態との間にある第２の状態に進む。【選択図】図１
2013235590.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータプログラムとのユーザの対話のビデオ記録を作成するステップと、
巻き戻しユーザコマンドと進行ユーザコマンドとを受信するように構成された制御領域を表示するステップと、
前記巻き戻しユーザコマンドの受信に応答して、当該記録されたユーザの対話のうちの少なくとも１つより前の前記コンピュータプログラムの第１の状態に逆戻りするステップと、
前記進行ユーザコマンドの受信に応答して、前記コンピュータプログラムの前記第１の状態と最後の既知の状態との間にある前記コンピュータプログラムの第２の状態へ進むステップとを含むことを特徴とするコンピュータにより実施される方法。
【請求項２】
ビデオ記録を作成するステップは、前記ビデオ記録をメモリ領域内に格納するステップを含むことを特徴とする請求項１に記載のコンピュータにより実施される方法。
【請求項３】
前記記録されたユーザの対話のうちの少なくとも一部の前記ビデオ記録内のそれぞれの位置を前記制御領域の中に示すステップをさらに含むことを特徴とする請求項１に記載のコンピュータにより実施される方法。
【請求項４】
ビデオ記録を作成するステップは、前記コンピュータプログラムとの前記ユーザの対話をメモリ領域内に記録するステップを含み、各々のユーザの対話は、アクション識別子とタイムスタンプとを含むことを特徴とする請求項１に記載のコンピュータにより実施される方法。
【請求項５】
前記コンピュータプログラムの第１の状態に逆戻りするステップは、
選択されたユーザの対話のタイムスタンプと関連する時間に前記ビデオ記録を設定するステップと、
前記選択されたユーザの対話の前記タイムスタンプより前の、または等しい時間の前記コンピュータプログラムの状態に逆戻りするステップとを含むことを特徴とする請求項４に記載のコンピュータにより実施される方法。
【請求項６】
前記コンピュータプログラムの第２の状態へ進むステップは、
選択されたユーザの対話のタイムスタンプと関連する時間に前記ビデオ記録を設定するステップと、
前記選択されたユーザの対話の前記タイムスタンプに等しい、または後の時間の前記コンピュータプログラムの状態に進むステップとを含むことを特徴とする請求項４に記載のコンピュータにより実施される方法。
【請求項７】
表示装置と、
入力装置と、
コンピュータプログラムとのユーザの対話のビデオ記録を格納するように構成されたメモリ領域と、
前記表示装置、前記入力装置、および前記メモリ領域に連結されたプロセッサとを含むコンピュータであって、前記プロセッサは、
前記表示装置に制御領域を表示させ、
前記入力装置を介した巻き戻しユーザコマンドの受信に応答して、前記表示装置を、前記記録されたユーザの対話の少なくとも１つより前の前記コンピュータプログラムの第１の状態へ逆戻りさせ、
前記入力装置を介した進行ユーザコマンドの受信に応答して、前記表示装置を、前記コンピュータプログラムの前記第１の状態と最後の既知の状態との間にある前記コンピュータプログラムの第２の状態へ進ませるように構成されることを特徴とするコンピュータ。
【請求項８】
前記プロセッサが、前記記録されたユーザの対話の少なくとも一部のビデオ記録内のそれぞれの位置の前記制御領域の中のインジケータを前記表示装置に表示させるようにさらに構成されることを特徴とする請求項７に記載のコンピュータ。
【請求項９】
前記巻き戻しユーザコマンドの受信に応答して、前記プロセッサは、前記表示装置に、前記第１の状態の後に生じる前記記録されたユーザの対話のうちの少なくとも１つのインジケータを削除させるようにさらに構成されることを特徴とする請求項８に記載のコンピュータ。
【請求項１０】
前記メモリ領域は、前記コンピュータプログラムとの前記ユーザの対話を格納するようにさらに構成され、各々のユーザの対話は、アクション識別子とタイムスタンプとを含むことを特徴とする請求項７に記載のコンピュータ。
【請求項１１】
前記巻き戻しユーザコマンドの受信に応答して、前記プロセッサは、
選択されたユーザの対話のタイムスタンプと関連する時間に前記ビデオ記録を設定し、
前記選択されたユーザの対話の前記タイムスタンプより前の、または等しい時間の前記コンピュータプログラムの状態へ前記表示装置を逆戻りさせるようにさらに構成されることを特徴とする請求項１０に記載のコンピュータ。
【請求項１２】
前記進行ユーザコマンドの受信に応答して、前記プロセッサは、
選択されたユーザの対話のタイムスタンプと関連する時間に前記ビデオ記録を設定し、
前記選択されたユーザの対話の前記タイムスタンプに等しい、または後の時間の前記コンピュータプログラムの状態へ前記表示装置を進ませるようにさらに構成されることを特徴とする請求項１０に記載のコンピュータ。
【請求項１３】
前記入力装置が、ボタンの選択、位置インジケータのドラッグ動作、およびメニュー選択のうちの少なくとも１つを介して前記巻き戻しのユーザ入力および前記進行のユーザ入力を受信するように構成されることを特徴とする請求項７に記載のコンピュータ。
【請求項１４】
コンピュータで実行可能な構成要素を有する１つまたは複数の非一時的なコンピュータ読み取り可能な記憶媒体を含むコンピュータプログラム製品であって、前記構成要素は、
プロセッサによって実行されたとき前記プロセッサに、コンピュータプログラムとのユーザの対話のビデオ記録をメモリ領域の中に格納させる記録用構成要素と、
前記プロセッサによって実行されたとき前記プロセッサに、ユーザ入力を表わす信号を入力装置から受信させる入力認識構成要素と、
前記プロセッサによって実行されたとき前記プロセッサに、
制御領域を表わす信号を表示装置へと送信させ、
前記入力装置を介した巻き戻しユーザコマンドの受信に応答して、前記記録されたユーザの対話のうちの少なくとも１つより前の前記コンピュータプログラムの第１の状態への逆戻りを表わす信号を前記表示装置へと送信させ、
前記入力装置を介した進行ユーザコマンドの受信に応答して、前記コンピュータプログラムの前記第１の状態と最後の既知の状態との間にある前記コンピュータプログラムの第２の状態への進行を表わす信号を前記表示装置へと送信させる制御構成要素と
を含むことを特徴とするコンピュータプログラム製品。
【請求項１５】
前記制御構成要素はさらに、前記プロセッサに、前記記録されたユーザの対話の少なくとも一部のビデオ記録内のそれぞれの位置の前記制御領域の中に表示されるべきインジケータを表わす信号を前記表示装置へと送信させることを特徴とする請求項１４に記載のコンピュータプログラム製品。
【請求項１６】
前記巻き戻しユーザコマンドの受信に応答して、前記制御構成要素はさらに、前記プロセッサに、前記第１の状態の後に生じる前記記録されたユーザの対話のうちの少なくとも１つにあるインジケータの削除を表わす信号を前記表示装置へと送信させることを特徴とする請求項１５に記載のコンピュータプログラム製品。
【請求項１７】
前記記録用構成要素はさらに、前記プロセッサに、前記コンピュータプログラムとの前記ユーザの対話を前記メモリ領域内へ格納させ、各々のユーザの対話がアクション識別子とタイムスタンプとを含むことを特徴とする請求項１４に記載のコンピュータプログラム製品。
【請求項１８】
前記巻き戻しユーザコマンドの受信に応答して、前記制御構成要素はさらに、前記プロセッサに、
選択されたユーザの対話のタイムスタンプと関連する時間に前記ビデオ記録を設定させ、
前記選択されたユーザの対話の前記タイムスタンプより前の、または等しい時間の前記コンピュータプログラムの状態への逆戻りを表わす信号を前記表示装置へと送信させることを特徴とする請求項１７に記載のコンピュータプログラム製品。
【請求項１９】
前記進行ユーザコマンドの受信に応答して、前記制御構成要素はさらに、前記プロセッサに、
選択されたユーザの対話のタイムスタンプと関連する時間に前記ビデオ記録を設定させ、
前記選択されたユーザの対話の前記タイムスタンプに等しい、または後の時間の前記コンピュータプログラムの状態への進行を表わす信号を前記表示装置へと送信させることを特徴とする請求項１７に記載のコンピュータプログラム製品。
【請求項２０】
前記入力認識構成要素はさらに、前記プロセッサに、ボタンの選択、位置インジケータのドラッグ動作、およびメニュー選択のうちの少なくとも１つを介して前記巻き戻しのユーザ入力および前記進行のユーザ入力を受信させることを特徴とする請求項１４に記載のコンピュータプログラム製品。
【発明の詳細な説明】
【技術分野】
【０００１】
本明細書に記載の実施形態は、一般にコンピュータプログラムを操作することに関し、より詳細には、ユーザとコンピュータプログラムとの対話を追跡および修正することに関する。
【背景技術】
【０００２】
多くの知られているコンピュータプログラムは、文書に為された最後の変更を消去する「アンドゥ」コマンドを含む。このコマンドは文書をより古い状態に逆戻りさせる。同様に、多くの知られているコンピュータプログラムは、例えば文書のバッファをさらに最新の状態に進めることによって前回のアンドゥコマンドを逆進させる「リドゥ」コマンドを含む。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
しかしながら、アンドゥコマンドを使用するとき、少なくともいくつかの知られているコンピュータプログラムはアンドゥされた正確なコマンドについてユーザに適切なフィードバックを与えない。例えば、少なくともいくつかの知られているコンピュータプログラムを使用するとき、何が実際に変更されたかのヒントまたは指示を与えることなく文書が前の状態に復元される。そのような制限はアンドゥコマンドを繰り返し使用するときに特に問題になる。
【０００４】
少なくともいくつかの知られているコンピュータプログラムは、アンドゥまたはリドゥすることができるアクションの部分的リストを提供するアンドゥ／リドゥのログを使用してこの問題を軽減することを試行している。ユーザはこのリストからアンドゥされるべきアクションを選ぶことが可能であり、一般的に、そのアクションおよび進行中のそのアクション全てが元に戻される。しかしながら、特に、同じまたは極めて類似したアクションが繰り返されるときには、この手法であってもユーザにはほとんどフィードバックが提供されない。
【課題を解決するための手段】
【０００５】
一態様では、コンピュータによって実施される方法は、コンピュータプログラムとのユーザの対話のビデオ記録を作成するステップと、巻き戻しユーザコマンドと進行ユーザコマンドとを受信するように構成された制御領域を表示するステップとを含む。巻き戻しユーザコマンドの受信に応答して、コンピュータプログラムは、記録されたユーザの対話のうちの少なくとも１つより前の第１の状態に逆戻りする。進行ユーザコマンドの受信に応答して、コンピュータプログラムは、コンピュータプログラムの第１の状態と最後の既知の状態との間にある第２の状態に進む。
【０００６】
別の態様では、コンピュータは、表示装置、入力装置、およびコンピュータプログラムとのユーザの対話のビデオ記録を格納するように構成されたメモリ領域を含む。このコンピュータはまた、表示装置、入力装置、およびメモリ領域に連結されたプロセッサも含む。このプロセッサは、表示装置に制御領域を表示させるように構成される。入力装置を介した巻き戻しユーザコマンドの受信に応答して、プロセッサは、記録されたユーザの対話のうちの少なくとも１つより前であるコンピュータプログラムの第１の状態に表示装置を逆戻りさせる。入力装置を介した進行ユーザコマンドの受信に応答して、プロセッサは、コンピュータプログラムの第１の状態と最後の既知の状態との間にあるコンピュータプログラムの第２の状態に表示装置を進ませる。
【０００７】
別の態様では、コンピュータプログラム製品は、コンピュータ読み取り可能な１つまたは複数の非一時的な記憶媒体を含み、これがコンピュータで実行可能な構成要素を有する。この構成要素は、プロセッサによって実行されたときプロセッサにコンピュータプログラムとのユーザの対話のビデオ記録をメモリ領域の中へ格納させる記録用構成要素、および入力装置からのユーザ入力を表わす信号をプロセッサに受信させる入力認識用構成要素を含む。これらの構成要素はまた、プロセッサに、制御領域を表わす信号を表示装置へ送信させる制御用構成要素も含む。入力装置を介した巻き戻しユーザコマンドの受信に応答して、制御用構成要素はプロセッサに、記録されたユーザの対話のうちの少なくとも１つより前であるコンピュータプログラムの第１の状態への逆戻りを表わす信号を表示装置へ送信させる。入力装置を介した進行ユーザコマンドの受信に応答して、制御用構成要素はプロセッサに、コンピュータプログラムの第１の状態と最後の既知の状態との間にあるコンピュータプログラムの第２の状態への進行を表わす信号を表示装置へ送信させる。
【図面の簡単な説明】
【０００８】
本発明の１つまたは複数の実施形態の詳細が、添付の図面および下記の説明において述べられる。本発明の他の特徴、目的、および利点は、この説明と図面、および特許請求の範囲から明らかになろう。
【図１】例示的なコンピュータにより実施される方法のフローチャートである。
【図２Ａ】図１に示されるコンピュータにより実施される方法で使用することができる制御領域の一実施形態の例示的な図である。
【図２Ｂ】図１に示されるコンピュータにより実施される方法で使用することができる制御領域の一実施形態の例示的な図である。
【図３】コンピュータプログラム内の制御領域の例示的な実施を例示する図である。
【図４】コンピュータプログラム内の制御領域の例示的な実施を例示する図である。
【図５】図１に示される、コンピュータにより実施される方法で使用することができる例示的なコンピュータアーキテクチャの概略的なブロック図である。
【図６】図１に示される、コンピュータにより実施される方法で使用することができる例示的なコンピュータシステムの概略的なブロック図である。
【発明を実施するための形態】
【０００９】
コンピュータプログラムのインタフェースの中でアンドゥおよびリドゥの操作を可能にすることに使用するためのシステム、方法、装置、およびコンピュータプログラム製品の例示的な実施形態が本明細書で説明される。本明細書に記載の実施形態は、ユーザがコンピュータプログラムの中でどの操作が使用されたかという視覚的で一時的な記憶を利用することを可能にする。しばしば、ユーザがアンドゥすることを望む対話は最後の数秒または数分間といった最近の過去にある。ユーザはそれらのアクションの経過の視覚的記憶を有することができる。何が為されたかの動画描写を効果的に巻き戻すことによって変更をアンドゥまたはリドゥすることができることは、現在の手法よりはるかに直覚的であり、また正確でもあり、結果的にユーザの失敗がより少なくなる。
【００１０】
本明細書に記載のシステム、方法、装置、およびコンピュータプログラム製品の例示的な技術的効果は、（ａ）コンピュータアーキテクチャを使用してコンピュータプログラムとのユーザの対話のビデオ記録を作り出すこと、（ｂ）このビデオ記録をメモリ領域に格納すること、（ｃ）巻き戻しユーザコマンドおよび進行ユーザコマンドを受信するように構成された制御領域を表示すること、（ｄ）巻き戻しユーザコマンドの受信に応答してａを、記録されたユーザの対話のうちの少なくとも１つより前である第１の状態に逆戻りさせること、および（ｅ）進行ユーザコマンドの受信に応答してコンピュータプログラムの第１の状態と最後の既知の状態との間にある第２の状態に進めることのうちの少なくとも１つを含む。
【００１１】
図１は、コンピュータプログラムのインタフェースの中でアンドゥおよびリドゥ操作を可能にするための例示的なコンピュータにより実施される方法のフローチャート１００である。例示的な実施形態では、ユーザは当該技術で知られるようにコンピュータプログラムと対話する。このコンピュータプログラムはワード処理プログラム、表計算プログラム、プレゼンテーションプログラム、ビデオゲーム、画像編集プログラム、またはユーザの対話を受信して追跡することができるいずれかの他のコンピュータプログラムであってもよい。例示的な実施形態では、コンピュータプログラムは、ソフトウェアの表示およびユーザの対話のビデオ記録を作成する１０２。このビデオ記録は、コンピュータ画面を記録する任意の既知の方法を使用して作成されてもよい。コンピュータプログラムの中またはこれと共に使用されてもよい例示的なビデオ記録ソフトウェア、その類似物は、限定しないが、ＣａｍＳｔｕｄｉｏ（商標）、Ｃａｍｔａｓｉａ  Ｓｔｕｄｉｏ（登録商標）、またはＤｅｍｏＣｒｅａｔｏｒ（ＣａｍＳｔｕｄｉｏはＣａｍＳｔｕｄｉｏ．ｏｒｇから入手可能であり、Ｃａｍｔａｓｉａ  Ｓｔｕｄｉｏは米国ミシガン州オケモスのＴｅｃｈＳｍｉｔｈ  Ｃｏｒｐｏｒａｔｉｏｎから市販で入手可能であり、ＤｅｍｏＣｒｅａｔｏｒは中華人民共和国のＷｏｎｄｅｒｓｈａｒｅ  Ｓｏｆｔｗａｒｅ  Ｃｏ．，Ｌｔｄから市販で入手可能である）を含む。しかしながら、任意のビデオ記録用ソフトウェアが使用されてもよいことは理解されるべきである。あるいは、ビデオ記録は、特定のレートで捕捉される静止画フレームを使用して、またはソフトウェアの表示およびユーザの対話のビデオを再生することができる任意の他の方法で作成されてもよい。
【００１２】
例示的な実施形態では、ビデオ記録がメモリ領域に格納される１０４。下記でさらに詳しく説明されるように、このメモリ領域は、コンピュータの中に収容されてもよいがコンピュータの外で取り付けられてもよく、またはネットワークドライブのようにコンピュータの遠隔であってもよい。いくつかの実施形態では、ユーザはビデオ記録が格納される場所を指定することができる。さらに、例示的な実施形態では、コンピュータプログラムが実行しているコンピュータがユーザの対話を検出する１０６。「ユーザの対話」という用語は、文章の入力もしくは修正の対話、メニューの選択、フォーマッティングの対話、画像の入力もしくは修正の対話、またはコンピュータもしくはコンピュータプログラムによって追跡され得る任意の他のユーザの対話を含むが、これらのみを含むことに限定されない。ビデオ記録がメモリ領域に格納されるか、または、さらにより具体的には、ユーザの対話がメモリ領域に格納されると、コンピュータが各々のユーザの対話にタイムスタンプおよび独自の識別子を適用する１０８。これはコンピュータがさらに細分してユーザの対話を追跡することを可能にする。いくつかの実施形態では、コンピュータは、特定の数のユーザの対話のみがユーザに利用可能となるように、またはビデオ記録の中の或る時間量のみがユーザに利用可能となるように、ビデオ記録ファイルまたは複数のファイルのサイズ変更を実行すると考えられる。
【００１３】
例示的な実施形態では、コンピュータは、ユーザがコンピュータプログラムとのユーザの対話をアンドゥまたはリドゥすることを可能にする制御領域を表示する１１０。この制御領域は、例えばコンピュータプログラムのウィンドウの境界に沿って配置されてもよい。あるいは、この制御領域はコンピュータプログラムのウィンドウの中またはコンピュータプログラムのウィンドウの外側のフローティングモードの対話であってもよい。いくつかの実施形態では、ユーザは、制御領域をドラッグすることによって、制御領域を所望の場所に再配置してもよい。例示的な実施形態では、コンピュータは、記録されたユーザの対話の少なくとも一部分の時間位置を制御領域の中に示す１１２。ナビゲートしている間は、まるでユーザがコンピュータプログラムに為される変化のビデオを見ているかのように、コンピュータがユーザにコンピュータプログラムの変化の状態を表示する。
【００１４】
コンピュータプログラムの動作中に、コンピュータは、１つまたは複数のユーザの対話をアンドゥまたはリドゥすることに関するユーザの入力を受信する１１４。下記でさらに詳しく説明されるように、ユーザの入力は、マウスを使用してカーソルアイコンをタイムラインに沿ってドラッグすることを介して、矢印ボタン、ページアップとページダウンボタン、身振り、または任意の他の適切な入力方法を介してもよい。ユーザがカーソルを解放すると、コンピュータプログラムは、選択された時点の状態に復元される。入力の方法に関係なく、ユーザの入力は巻き戻しユーザコマンドまたは進行ユーザコマンドのどちらかであろう。さらに、ユーザは、アンドゥコマンドに影響を及ぼすために、過去の選択されたユーザの対話のインジケータを消去するようにカーソルを再配置する。あるいは、ユーザはリドゥコマンドに影響を及ぼすために、以前にアンドゥされたユーザの対話のインジケータが再び表示されるようにカーソルを再配置する。ユーザの入力が巻き戻しユーザコマンドであれば、コンピュータは、キャンセル、消去、またはアンドゥされるこのユーザの対話より前のコンピュータプログラムの第１の状態に逆戻りする。例えば、コンピュータは関連するインジケータをカーソルが通過すると各々のユーザの対話のタイムスタンプを判定する１１６。コンピュータは、キャンセル、消去、またはアンドゥされたユーザの対話の元の検出の直前の時間のコンピュータプログラムの状態を反映するためにコンピュータプログラムの表示も逆戻りさせる１１８。ユーザの入力が進行ユーザコマンドであれば、コンピュータはコンピュータプログラムの第１の状態と最後の既知の状態との間にあるコンピュータプログラムの第２の状態へ進む。例えば、コンピュータは関連するインジケータをカーソルが通過すると各々のユーザの対話のタイムスタンプを判定する１２０。以前にキャンセル、消去、またはアンドゥされたユーザの対話をリドゥするために、コンピュータは、現在復元されているユーザの対話の直後の時間のビデオ記録に示されるようなコンピュータプログラムの状態へ進む１２２。
【００１５】
図２Ａおよび図２Ｂは制御領域２００の一実施形態の例示的な図である。特に、図２Ａはカーソル２０４がユーザによって操作される前のコンピュータプログラムの状態を例示し、図２Ｂはカーソル２０４がユーザによって操作された後のコンピュータプログラムの状態を例示する。図２Ａおよび図２Ｂに示されるように、制御領域２００はタイムライン２０２およびカーソル２０４を含む。さらに制御領域２００は、各々がコンピュータプログラムとの特定のユーザの対話と関連するいくつかのユーザの対話のインジケータ２０６を含む。上記で言及したように、ユーザの対話は、文章の入力もしくは修正の対話、メニューの選択、フォーマッティングの対話、画像の入力もしくは修正の対話、またはコンピュータもしくはコンピュータプログラムによって追跡され得る任意の他のユーザの対話であってもよい。
【００１６】
ユーザが第１のインジケータ２０８などの特定のインジケータ２０６を過ぎてカーソル２０４を移動させると、図２Ａと図２Ｂとの間の違いで示されるように、第１のインジケータ２０８は制御領域２００から削除される。さらに、ユーザがカーソル２０４を時間的に後方（図２Ａおよび図２Ｂで左）へ移動させると、コンピュータプログラムは、キャンセル、消去、またはアンドゥされる各々のユーザの対話を示すように変化する。ユーザが、第１のインジケータ２０８を通過後など、カーソル２０４を時間的に後方に移動させることを止めると、コンピュータプログラムは、少なくとも第１のインジケータ２０８につながるユーザの対話より前の第１の状態を反映する。
【００１７】
逆に、ユーザが反対方向にカーソル２０４を移動させると、インジケータ２０６が制御領域２００に再び表示される。例えば、ユーザがカーソル２０４を時間的に前方（図２Ａおよび図２Ｂで右）に移動させると、コンピュータプログラムは、繰り返され、またはリドゥされる各々のユーザの対話をユーザに表示する。ユーザがカーソル２０４を時間的に前方に移動させることを止めると、コンピュータプログラムは、コンピュータプログラムの第１の状態と最後の既知の状態との間にある第２の状態を反映する。この機能の例は、カーソル２０４を図２Ｂの位置から図２Ａの位置へ移動させることであり、それによって第１のインジケータ２０８を復元する。
【００１８】
図３および図４はコンピュータプログラムの制御領域２００の例示的な実施を例示する図である。具体的には、図３はプレゼンテーションプログラムの制御領域２００の使用を例示し、図４はワード処理プログラムの制御領域２００の使用を例示している。
【００１９】
図３に示されるように、ユーザは当該技術で知られるようなユーザの対話を介して多数の文章と形状項目を作成した。図３に示された制御領域２００は、タイムライン２０２に沿ってカーソル２０４およびユーザの対話のインジケータ２０６を含む。各々のインジケータ２０６は、メモリ領域内で特定のユーザの対話と関連する。ユーザが第１のインジケータ２０８などの特定のインジケータ２０６を過ぎてカーソル２０４を移動させると、第１のインジケータ２０８は制御領域２００から削除される。さらに、ユーザがカーソル２０４を時間的に後方（すなわち、図３で左）へ移動させると、プレゼンテーションプログラムはキャンセル、消去、またはアンドゥされる各々のユーザの対話を示すように変化する。ユーザが第１のインジケータ２０８を通過後など、カーソル２０４を時間的に後方に移動させることを止めると、プレゼンテーションプログラムは少なくとも第１のインジケータ２０８につながるユーザの対話より前の第１の状態を反映する。
【００２０】
逆に、ユーザが反対方向にカーソル２０４を移動させると、インジケータ２０６が制御領域２００に再び表示される。例えば、ユーザがカーソル２０４を時間的に前方（すなわち、図３で右）に移動させると、プレゼンテーションプログラムは、繰り返され、またはリドゥされる各々のユーザの対話をユーザに表示する。ユーザがカーソル２０４を時間的に前方に移動させることを止めると、プレゼンテーションプログラムはプレゼンテーションプログラムの第１の状態と最後の既知の状態との間にある第２の状態を反映する。
【００２１】
図４は、ワード処理プログラムを使用するときの同様の例を例示している。図４に示されるように、ユーザは当該技術で知られるようなユーザの対話を介して多数の文章項目を作成した。図４に示された制御領域２００は、タイムライン２０２に沿ってカーソル２０４およびユーザの対話のインジケータ２０６を含む。各々のインジケータ２０６は、メモリ領域内で特定のユーザの対話と関連する。ユーザが第１のインジケータ２０８などの特定のインジケータ２０６を過ぎてカーソル２０４を移動させると、第１のインジケータ２０８は制御領域２００から削除される。さらに、ユーザがカーソル２０４を時間的に後方（すなわち、図４で左）へ移動させると、ワード処理プログラムは、キャンセル、消去、またはアンドゥされる各々のユーザの対話を示すように変化する。ユーザが第１のインジケータ２０８を通過後などでカーソル２０４を時間的に後方に移動させることを止めると、ワード処理プログラムは、少なくとも第１のインジケータ２０８につながるユーザの対話より前の第１の状態を反映する。
【００２２】
逆に、ユーザが反対方向にカーソル２０４を移動させると、インジケータ２０６が制御領域２００に再び表示される。例えば、ユーザがカーソル２０４を時間的に前方（すなわち、図４で右）に移動させると、ワード処理プログラムは、繰り返され、またはリドゥされる各々のユーザの対話をユーザに表示する。ユーザがカーソル２０４を時間的に前方に移動させることを止めると、ワード処理プログラムはワード処理プログラムの第１の状態と最後の既知の状態との間にある第２の状態を反映する。
【００２３】
図５は、コンピュータプログラムのインタフェースの中でアンドゥおよびリドゥ操作を可能にすることに使用するための例示的なコンピュータアーキテクチャ５００の概略的なブロック図である。図５のコンピュータアーキテクチャ５００はサーバシステムおよび／またはクライアントシステム（両方共に下記でさらに詳しく説明され、図６に示される）と共に使用されてもよい。
【００２４】
例示的な実施形態では、コンピュータアーキテクチャ５００は、上述の処理および／または上述のそれらと関連し得るいずれかの追加的な処理を遂行する１つまたは複数のプロセッサ５０２（ＣＰＵ）を含む。「プロセッサ」という用語は、概して、システムとマイクロコントローラ、縮小命令セット回路（ＲＩＳＣ）、特定用途向け集積回路（ＡＳＩＣ）、プログラム可能な論理回路、および／または本明細書に記載の機能を実行することができる任意の他の回路もしくはプロセッサを含む任意のプログラム可能なシステムを称することは理解されるべきである。上記の例は単に例示に過ぎず、したがって「プロセッサ」という用語の定義および／または意味を任意の方式で限定することは意図されていない。
【００２５】
上述の処理および／または上述のそれらに関係し得る任意の追加的な処理のステップは、コンピュータで実行可能な命令として、例えば、操作可能および／または通信可能な状態でシステムバス５０６によってプロセッサ５０２に連結されたメモリ領域５０４に格納されてもよい。本明細書で使用されるときの「メモリ領域」は、概して、コンピュータプログラムのインタフェースの中でアンドゥおよびリドゥ操作を可能にすることに役立つように、および／または上述の処理および／または上述のそれらに関係し得る追加的な処理を遂行することに使用するために１つまたは複数のプロセッサによって実行可能な非一時的なプログラム符号および命令を格納する任意の手段を称する。メモリ領域５０４は１つまたは複数のメモリの形態を含んでもよい。例えば、メモリ領域５０４はランダムアクセスメモリ（ＲＡＭ）５０８を含んでもよく、これは不揮発性ＲＡＭ、磁気ＲＡＭ、強誘電体ＲＡＭ、および／または他の形態のＲＡＭを含み得る。メモリ領域５０４は、読出し専用メモリ（ＲＯＭ）５１０、および／またはフラッシュメモリおよび／または電気的書き込み消去可能なＲＯＭ（ＥＥＰＲＯＭ）もやはり含み得る。ハードディスクドライブ（ＨＤＤ）５１２など任意の他の適切な磁気的、光学的、および／または半導体メモリが、それ自体で、または他の形態のメモリと組み合わせて、メモリ領域５０４内に含まれ得る。ＨＤＤ５１２はまた、プロセッサ５０２とメッセージを送受信することに使用するためのディスク制御装置５１４に連結されてもよい。さらに、メモリ領域５０４はカートリッジディスク、ＣＤ−ＲＯＭ、ＤＶＤ、またはＵＳＢメモリなどの着脱式または取り外し可能なメモリ５１６であってもよく、または含んでもよい。上記の例は単に例示に過ぎず、したがって「メモリ領域」という用語の定義および／または意味を任意の方式で限定することは意図されていない。
【００２６】
コンピュータアーキテクチャ５００はまた、ディスプレイ制御装置５２０に連結される、例えば操作可能状態で連結される表示装置５１８も含む。ディスプレイ制御装置５２０は表示装置５１８による表示のためにシステムバス５０６を介してデータを受信する。表示装置５１８は、限定しないが、モニタ、テレビのディスプレイ、プラズマディスプレイ、液晶ディスプレイ（ＬＣＤ）、発光ダイオード（ＬＥＤ）に基づいたディスプレイ、有機ＬＥＤ（ＯＬＥＤ）に基づいたディスプレイ、ポリマーＬＥＤに基づいたディスプレイ、表面伝導型電子放出素子に基づいたディスプレイ、投射および／または反射画像を含むディスプレイ、または任意の他の適切な電子装置もしくは表示機構であってもよい。さらに、表示装置５１８は関連するタッチスクリーン制御装置５２０を備えたタッチスクリーンを含んでもよい。上記の例は単に例示に過ぎず、したがって「表示装置」という用語の定義および／または意味を任意の方式で限定することは意図されていない。
【００２７】
さらに、コンピュータアーキテクチャ５００は、ネットワーク（図５に図示せず）と通信することに使用するためのネットワークインタフェース５２２を含む。さらに、コンピュータアーキテクチャ５００はキーボード５２４、および／またはローラーボール、マウス、タッチパッドなどのようなポインティングデバイス５２６といった１つまたは複数の入力装置を含む。これらの入力装置は、入出力（Ｉ／Ｏ）インタフェース５２０に連結されて制御され、これがさらにシステムバス５０６に連結される。
【００２８】
表示装置５１８、キーボード５２４、ポインティングデバイス５２６、並びにディスプレイ制御装置５２０、ディスク制御装置５１４、ネットワークインタフェース５２２、およびＩ／Ｏインタフェース５２８の一般的特徴および機能の説明は、これらの特徴が知られているので簡潔にするために本明細書では省略される。
【００２９】
動作中では、プロセッサ５０２はコンピュータプログラムの表示およびコンピュータプログラムとのユーザの対話のビデオ記録を作成する。ビデオ記録はコンピュータ画面を記録する任意の既知の方法を使用して作成されてもよい。あるいは、プロセッサ５０２は指定したレートで静止画フレームを捕捉することによってビデオ記録を作成してもよい。例示的な実施形態では、プロセッサ５０２はビデオ記録をメモリ領域５０４の中に格納する。いくつかの実施形態では、ユーザはビデオ記録が格納される場所を指定することができる。コンピュータプログラムを実行する責務を負うプロセッサ５０２はユーザの対話もやはり検出する。「ユーザの対話」という用語は、文章の入力もしくは修正の対話、メニューの選択、フォーマッティングの対話、画像の入力もしくは修正の対話、またはコンピュータもしくはコンピュータプログラムによって追跡され得る任意の他のユーザの対話も含むが、これらのみを含むことに限定されない。ビデオ記録がメモリ領域５０４に格納されると、プロセッサ５０２は各々のユーザの対話にタイムスタンプおよび独自の識別子を適用し、各ユーザの対話と関連する各々のメモリ領域に格納する。これはコンピュータアーキテクチャ５００がさらに細分してユーザの対話を追跡することを可能にする。いくつかの実施形態では、プロセッサ５０２は、ユーザの対話の或る数のみがユーザに利用可能となるように、またはビデオ記録の中の或る時間量のみがユーザに利用可能となるようにビデオ記録ファイルまたは複数のファイルのサイズ変更を実行する。
【００３０】
例示的な実施形態では、プロセッサ５０２はユーザがコンピュータプログラムとのユーザの対話をアンドゥまたはリドゥすることを可能にする制御領域２００（図２Ａ、図２Ｂ、図３、および図４に示される）などの制御領域を表示装置５１８に表示させる。制御領域２００は、例えばコンピュータプログラムのウィンドウの境界に沿って配置されてもよい。あるいは、制御領域２００は、コンピュータプログラムのウィンドウの中またはコンピュータプログラムのウィンドウの外側のフローティングモードの対話であってもよい。いくつかの実施形態では、ユーザは制御領域２００をドラッグすることによって制御領域２００を所望の場所に再配置してもよい。例示的な実施形態では、記録されたユーザの対話の少なくとも一部分の時間位置をユーザに表示するために、プロセッサ５０２は表示装置５１８に、制御領域２００の中の（図２Ａ、図２Ｂ、図３、および図４に示される）インジケータ２０６などといったインジケータもやはり表示させる。カーソル２０４（図２Ａ、図２Ｂ、図３、および図４に示される）を移動させている間、まるでユーザがコンピュータプログラムに為される変化のビデオを見ているかのように、表示装置５１８はユーザにコンピュータプログラムの変化の状態を表示する。
【００３１】
コンピュータプログラムを継続して使用している間では、プロセッサ５０２は、キーボード５２４および／またはポインティングデバイス５２６を介してユーザの入力を受信し、このユーザの入力は１つまたは複数の特定のユーザの対話をアンドゥまたはリドゥすることと関連する。ユーザの入力はポインティングデバイス５２６を使用してカーソルアイコンをタイムラインに沿ってドラッグすることを介して、キーボード５２４上の矢印ボタンまたはページアップとページダウンボタン、ポインティングデバイス５２６を通じた身振り入力を介してもよく、タッチスクリーンの事例では表示装置５１８を介して受信されてもよく、または任意の他の適切な入力方法でもよい。ユーザがカーソルを解放すると、コンピュータプログラムは選択された時点の状態に復元される。入力の方法に関係無く、ユーザの入力は巻き戻しユーザコマンドまたは進行ユーザコマンドのどちらかである。さらに、ユーザはアンドゥコマンドに影響を及ぼすために、過去の選択されたユーザの対話のインジケータを消去するようにカーソルを再配置する。あるいは、ユーザはリドゥコマンドに影響を及ぼすために、以前にアンドゥされたユーザの対話のインジケータが再び表示されるようにカーソルを再配置する。
【００３２】
ユーザの入力が巻き戻しユーザコマンドであれば、プロセッサ５０２は、キャンセル、消去、またはアンドゥされるこのユーザの対話より前のコンピュータプログラムの第１の状態に逆戻りする。さらに、プロセッサ５０２は表示装置５１８に第１の状態へのコンピュータプログラムの逆戻りを表示させる。例えば、プロセッサ５０２は関連するインジケータをカーソルが通過すると、例えばメモリ領域５０４を検索することによって各々のユーザの対話のタイムスタンプを判定する。プロセッサ５０２はやはり表示装置５１８に、キャンセル、消去、またはアンドゥされたユーザの対話の元の検出の直前の時間のコンピュータプログラムの状態を表示させる。
【００３３】
ユーザの入力が進行ユーザコマンドであれば、プロセッサ５０２はコンピュータプログラムの第１の状態と最後の既知の状態との間にあるコンピュータプログラムの第２の状態へ進む。さらに。プロセッサ５０２は、表示装置５１８に第１の状態と第２の状態との間のコンピュータプログラムの進行を表示させる。例えば、プロセッサ５０２は、関連するインジケータをカーソルが通過すると、例えばメモリ領域５０４を検索することによって各々のユーザの対話のタイムスタンプを判定する。以前にキャンセル、消去、またはアンドゥされたユーザの対話をリドゥするために、プロセッサ５０２は現在復元されているユーザの対話の直後の時間のビデオ記録に示されるようなコンピュータプログラムの状態へ進む。
【００３４】
図６はコンピュータプログラムのインタフェースの中でアンドゥおよびリドゥ操作を可能にすることに使用するため、および／または上述の処理および／または上述のそれらに関係し得る追加的な処理を実行することに使用するための例示的なコンピュータシステム６００の概略的なブロック図である。例示的な実施形態では、メモリ領域６０２はコンピュータプログラムを使用して作成されたファイル、そのようなファイルを作成するときおよび／またはそのようなコンピュータプログラムを使用するときに追跡されるユーザの対話記録、およびそのようなコンピュータプログラムとのユーザの対話のビデオ記録などのデータを格納することに使用するための１つまたは複数の記憶装置６０４を含む。いくつかの実施形態では、メモリ領域６０２はサーバシステム６０６に連結され、これが他方でネットワーク６１０を介して管理者のシステムおよび／またはユーザのシステムなどのクライアントシステム６０８に連結される。記憶装置６０４は１つまたは複数のデータベースとして具現されてもよく、単一または複数の地理的位置に配置されてもよく、またはサーバシステム６０６と一体化されてもよい。
【００３５】
理解できるように、ネットワーク６１０はインターネットのような公共のネットワーク、ＬＡＮもしくはＷＡＮネットワークのような私設ネットワーク、またはそれらの任意の組み合わせであってもよく、ＰＳＴＮもしくはＩＳＤＮサブネットワークを含むこともあり得る。ネットワーク６１０はまた、イーサネット（登録商標）網のような有線式であってもよく、またはＥＤＧＥ、３Ｇおよび４Ｇ無線セルラーシステムを含むセルラーネットワークのような無線式であってもよい。無線ネットワークはまた、ＷｉＦｉ、Ｂｌｕｅｔｏｏｔｈ（登録商標）、または任意の知られている他の無線通信形態であってもよい。したがって、ネットワーク６１０は単に例示に過ぎず、本願の進歩の範囲を制限することは決して無い。
【００３６】
クライアントシステム６０８は、図５を参照して上述のコンピュータアーキテクチャ５００などの任意の適切なコンピュータアーキテクチャであってもよく、または任意の既知の他のコンピューティングアーキテクチャであってもよい。さらに、サーバシステム６０６が上述の処理および／または上述のそれらに関係し得る任意の追加的な処理を実行するように構成されることは理解されるべきである。
【００３７】
サーバシステム６０６は、上述の処理を実行するためにコンピュータ読み取り可能な命令を格納し、ネットワーク６１０を介してこれらの命令をクライアントシステム６０８に提供する。さらに、サーバシステム６０６は、クライアントシステム６０８に必要とされるときにメモリ領域６０２からのデータを提供し、それによってクライアントシステム６０８は上述の処理を実行する。それ自体で、図６はクラウドコンピューティング、分散コンピューティングなどを介したコンピュータシステム６００の実現を含む。
【００３８】
動作中に、クライアントシステム６０８および／またはサーバシステム６０６は、ユーザの対話のビデオ記録を作成する。このビデオ記録はコンピュータ画面を記録する任意の既知の方法を使用して作成されてもよい。あるいは、クライアントシステム６０８および／またはサーバシステム６０６は特定のレートで静止画フレームを捕捉することによってビデオ記録を作成してもよい。例示的な実施形態では、サーバシステム６０６は、このビデオ記録をメモリ領域６０２内に格納する。いくつかの実施形態では、ユーザはビデオ記録が格納される場所を指定することができる。コンピュータプログラムを実行する責務を負うクライアントシステム６０８はユーザの対話も検出する。あるいは、クライアントシステム６０８が脆弱なクライアントであるとき、サーバシステム６０６がユーザの対話を検出してもよい。「ユーザの対話」という用語は、文章の入力もしくは修正の対話、メニューの選択、フォーマッティングの対話、画像の入力もしくは修正の対話、またはコンピュータもしくはコンピュータプログラムによって追跡され得る任意の他のユーザの対話を含むが、これらののみを含むことに限定されない。
【００３９】
ビデオ記録がメモリ領域６０２内に格納されると、サーバシステム６０６は各々のユーザの対話にタイムスタンプおよび独自の識別子を適用し、それぞれのユーザの対話と関連するメモリ領域内に各々を格納する。これはコンピュータシステム６００がさらに細分してユーザの対話を追跡することを可能にする。いくつかの実施形態では、サーバシステム６０６は、ユーザの対話の或る数のみがユーザに利用可能となるように、またはビデオ記録の中の或る時間量のみがユーザに利用可能となるようにビデオ記録ファイルまたは複数のファイルのサイズ変更を実行する。
【００４０】
例示的な実施形態では、クライアントシステム６０８は、ユーザがコンピュータプログラムとのユーザの対話をアンドゥまたはリドゥすることを可能にする制御領域２００（図２Ａ、図２Ｂ、図３、および図４に示される）などの制御領域２００を表示する。制御領域２００は、例えばコンピュータプログラムのウィンドウの境界に沿って配置されてもよい。あるいは、制御領域２００は、コンピュータプログラムのウィンドウの中またはコンピュータプログラムのウィンドウの外側のフローティングモードの対話であってもよい。いくつかの実施形態では、ユーザは制御領域２００をドラッグすることによって制御領域２００を所望の場所に再配置してもよい。例示的な実施形態では、記録されたユーザの対話の少なくとも一部分の時間位置をユーザに示すために、クライアントシステム６０８は制御領域２００の中の（図２Ａ、図２Ｂ、図３、および図４に示される）インジケータ２０６などのインジケータも表示する。カーソル２０４（図２Ａ、図２Ｂ、図３、および図４に示される）を移動させている間、まるでユーザがコンピュータプログラムに為される変化のビデオを見ているかのように、クライアントシステム６０８はユーザにコンピュータプログラムの変化の状態を表示する。
【００４１】
コンピュータプログラムを継続して使用している間では、クライアントシステム６０８および／またはサーバシステム６０６は入力装置を介してユーザの入力を受信し、このユーザの入力は１つまたは複数の特定のユーザの対話をアンドゥまたはリドゥすることと関連する。ユーザの入力はカーソルアイコンをタイムラインに沿ってドラッグすることを介して、矢印ボタンまたはページアップとページダウンボタン、身振り入力、または任意の他の適切な入力方法を介してもよい。ユーザがカーソルを解放すると、コンピュータプログラムは選択された時点の状態に復元される。入力の方法に関係なく、ユーザの入力は巻き戻しユーザコマンドまたは進行ユーザコマンドのどちらかである。さらに、ユーザはアンドゥコマンドに影響を及ぼすために、過去の選択されたユーザの対話のインジケータを消去するようにカーソルを再配置する。あるいは、ユーザはリドゥコマンドに影響を及ぼすために、以前にアンドゥされたユーザの対話のインジケータが再び表示されるようにカーソルを再配置する。
【００４２】
ユーザの入力が巻き戻しユーザコマンドであれば、サーバシステム６０６は、キャンセル、消去、またはアンドゥされるこのユーザの対話より前のコンピュータプログラムの第１の状態に逆戻りする。さらに、クライアントシステム６０８が第１の状態へのコンピュータプログラムの逆戻りを表示する。例えば、サーバシステム６０６は関連するインジケータをカーソルが通過すると、例えばメモリ領域６０２を検索することによって各々のユーザの対話のタイムスタンプを判定する。クライアントシステム６０８は、キャンセル、消去、またはアンドゥされたユーザの対話の元の検出の直前の時間のコンピュータプログラムの状態を表示する。
【００４３】
ユーザの入力が進行ユーザコマンドであれば、サーバシステム６０６はコンピュータプログラムの第１の状態と最後の既知の状態との間にあるコンピュータプログラムの第２の状態へ進む。さらに、クライアントシステム６０８が第１の状態と第２の状態との間のコンピュータプログラムの進行を表示する。例えば、サーバシステム６０６は関連するインジケータをカーソルが通過すると、例えばメモリ領域６０２を検索することによって各々のユーザの対話のタイムスタンプを判定する。以前にキャンセル、消去、またはアンドゥされたユーザの対話をリドゥするために、クライアントシステム６０８は現在復元されているユーザの対話の直後の時間のビデオ記録に示されるようなコンピュータプログラムの状態への進行を表示する。
【００４４】
コンピュータプログラムのインタフェースの中でアンドゥおよびリドゥ操作を可能にすることに使用するためのシステム、方法、装置、およびコンピュータプログラム製品の例示的な実施形態が上記で詳しく説明される。システム、方法、装置、およびコンピュータプログラム製品は、本明細書で説明された特定の実施形態に限定されず、むしろ方法の操作ならびに／またはシステムおよび／もしくは装置の構成要素は、本明細書で説明された他の操作および／または構成要素から独立および分離して利用されてもよい。さらに、説明された操作および／または構成要素は他のシステム、方法、および／または装置と組み合わせて規定または使用されることも可能であり、本明細書で説明されたシステム、方法、および記憶媒体のみで実行するように限定されない。
【００４５】
本明細書で説明されたクライアントシステムおよびサーバシステムなどのコンピュータは、少なくとも１つのプロセッサもしくは処理装置およびシステムメモリを含む。このコンピュータは通常では、少なくともいくつかの形態のコンピュータ読み取り可能な媒体を有する。例を挙げると、限定しないが、コンピュータ読み取り可能な媒体はコンピュータ記憶媒体および通信媒体を含む。コンピュータ記憶媒体は、コンピュータ読み取り可能な命令、データ構造、プログラムモジュール、または他のデータなどの情報の格納のための任意の方法または技術で実現される揮発性および不揮発性、取外し可能および取り外し不可能の媒体を含む。通信媒体は通常、コンピュータ読み取り可能な命令、データ構造、プログラムモジュール、または、他のデータを搬送波もしくは他の搬送機構などの変調されたデータ信号内で具現し、任意の情報配信媒体を含む。当業者は変調されたデータ信号には精通しており、これは１つまたは複数の特徴セットを有し、または信号内に情報を符号化するような方法で変えられる。上記のいずれの組み合わせもコンピュータ読み取り可能な媒体の範囲の中に含まれる。
【００４６】
本発明の実施形態は、１つまたは複数のコンピュータもしくは他の装置によって実行されるプログラム構成要素またはモジュールなどのコンピュータで実行可能な命令の全体的背景で説明されてもよい。本発明の態様は、構成要素またはモジュールの任意の数および構成で実現されてもよい。例えば、本発明の態様は、本明細書で図に例示されて説明された特定のコンピュータで実行可能な命令または特定の構成要素もしくはモジュールに限定されない。本発明の代替的実施形態は異なったコンピュータで実行可能な命令または構成要素を含んでもよく、これらが本明細書で例示されて説明された命令または構成要素よりも多い、または少ない機能を有してもよい。
【００４７】
本発明の実施形態は、コンピュータで実行可能な構成要素を有する１つまたは複数の非一時的なコンピュータ読み取り可能な記憶媒体を含むコンピュータプログラム製品を含む。そのようなコンピュータで実行可能な構成要素は、例えば記録用構成要素、入力認識構成要素、および制御構成要素を含む。例示的な実施形態では、記録用構成要素は、プロセッサ５０２（図５に示される）および／またはサーバシステム６０６（図６に示される）などのプロセッサに、コンピュータプログラムとのユーザの対話のビデオ記録をメモリ領域５０４（図５に示される）またはメモリ領域６０２（図６に示される）などのメモリ領域の中に格納させる。入力認識構成要素はプロセッサに、キーボード５２４、ポインティングデバイス５２６、および／または表示装置５１８（各々が図５に示される）などの入力装置からのユーザの入力を表わす信号を受信させる。制御構成要素はプロセッサに、制御領域２００（図２〜図４に示される）などの制御領域を表わす信号を表示装置へと送信させる。入力装置を介した巻き戻しユーザコマンドの受信に応答して、制御構成要素はプロセッサに、記録されたユーザの対話のうちの少なくとも１つより前のコンピュータプログラムの第１の状態への逆戻りを表わす信号を表示装置へと送信させる。入力装置を介した進行ユーザコマンドの受信に応答して、制御構成要素はプロセッサに、コンピュータプログラムの第１の状態と最後の既知の状態との間にあるコンピュータプログラムの第２の状態への進行を表わす信号を表示装置へと送信させる。
【００４８】
いくつかの実施形態では、制御構成要素はプロセッサに、記録されたユーザの対話のうちの少なくとも一部のビデオ記録内にあるそれぞれの位置の制御領域の中で表示されるべきインジケータを表わす信号を表示装置へと送信させる。さらに、いくつかの実施形態では、巻き戻しユーザコマンドの受信に応答して、制御構成要素はプロセッサに、第１の状態の後に生じる記録されたユーザの対話のうちの少なくとも１つのインジケータの削除を表わす信号も表示装置へと送信させる。
【００４９】
さらに、いくつかの実施形態では、記録用構成要素はプロセッサに、コンピュータプログラムとのユーザの対話であって各々がアクションの識別子とタイムスタンプとを含むユーザの対話をメモリ領域内に格納させる。いくつかの実施形態では、巻き戻しユーザコマンドの受信に応答して、制御構成要素はプロセッサに、選択されたユーザの対話のタイムスタンプと関連する時間にビデオ記録を設定させ、選択されたユーザの対話のタイムスタンプより前の、または等しい時間におけるコンピュータプログラムの状態への逆戻りを表わす信号を表示装置へと送信させる。さらに、いくつかの実施形態では、進行ユーザコマンドの受信に応答して、制御構成要素はさらにプロセッサに、選択されたユーザの対話のタイムスタンプと関連する時間にビデオ記録を設定させ、選択されたユーザの対話のタイムスタンプに等しい、または後の時間におけるコンピュータプログラムの状態への進行を表わす信号を表示装置へと送信させる。
【００５０】
いくつかの実施形態では、入力認識構成要素はプロセッサに、ボタン選択、位置インジケータのドラッグ動作、およびメニュー選択のうちの少なくとも１つを介した巻き戻しのユーザ入力および進行のユーザ入力を受信させる。
【００５１】
本明細書に例示されて説明された本発明の実施形態の操作の実行または遂行の順序は別途指定されない限り必須ではない。すなわち、これらの操作は、別途指定されない限りいずれの順序で遂行されてもよく、本発明の実施形態は本明細書に開示された操作に追加した、またはより少ない操作を含んでもよい。例えば、特定の操作を他の操作以前、同時、または以後で実行または実施することは本発明の態様の範囲内であることが諒解される。
【００５２】
本発明の態様またはその実施形態の要素を導入するとき、「ある」、「この」、「前記」などの冠詞は、１つまたは複数の要素があることを意味することが意図される。「包含する」、「含む」、「有する」という用語は、包括的であること、および列挙された要素以外に追加的な要素が有り得ることが意図される。
【００５３】
この記述された説明は最良の態様を含めて本発明を開示するため、また、任意の装置またはシステムを作製および使用すること、ならびに任意の組み入れた方法を遂行することを含めて、当業者が本発明を実施することも可能にするための例を使用している。本発明の特許性のある範囲は特許請求の範囲によって規定され、当業者が想到する他の例を包含し得る。そのような他の例は、それらが特許請求の範囲の文言と異ならない構造的要素を有する場合、または特許請求の範囲の文言と実質的な違いのない等価の構造的要素を含む場合、特許請求の範囲の中に入るものとする。
【図１】
2013235590.tif 000003
【図５】
2013235590.tif 000004
【図６】
2013235590.tif 000005
【図２Ａ】
2013235590.tif 000006
【図２Ｂ】
2013235590.tif 000007
【図３】
2013235590.tif 000008
【図４】
2013235590.tif 000009
【外国語明細書】
2013235590000001.pdf