(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-04-23
(54)【発明の名称】ツールキャスト管理システム
(51)【国際特許分類】
G06F 8/38 20180101AFI20240416BHJP
【FI】
G06F8/38
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2023565554
(86)(22)【出願日】2022-05-03
(85)【翻訳文提出日】2023-12-25
(86)【国際出願番号】 IL2022050463
(87)【国際公開番号】W WO2022234580
(87)【国際公開日】2022-11-10
(32)【優先日】2021-05-04
(33)【優先権主張国・地域又は機関】US
(32)【優先日】2021-05-06
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
(71)【出願人】
【識別番号】515217409
【氏名又は名称】ウィックス.コム リミテッド.
(74)【代理人】
【識別番号】110002952
【氏名又は名称】弁理士法人鷲田国際特許事務所
(72)【発明者】
【氏名】シェイクド ニヴ
(72)【発明者】
【氏名】ボゴモルニー エラド レヴ
【テーマコード(参考)】
5B376
【Fターム(参考)】
5B376BB11
5B376BC07
5B376BC43
5B376BC50
5B376BC67
5B376BC70
(57)【要約】
ツールキャストを作成し、表示するシステムが、プロセッサと、基礎的システムと通信するプロセッサ上で実行されるツールキャスト管理システムとを含む。ツールキャスト管理システムは、基礎的システムとのツールキャスト管理インターフェース、及びユーザと少なくとも1つのツールキャストとの間のインタラクションに従って、基礎的システムのユーザにメディアガイダンスを提供するために、少なくとも1つのツールキャストの作成、表示、及び更新を行う。ツールキャスト管理システムは、基礎的システムとインターフェースし、少なくとも1つのツールキャストの記録フェーズで記録されることになるオブジェクト、データ、アクティビティ、及びイベントのうちの少なくとも1つを検出するインターフェースモジュールと、少なくともインターフェースモジュールの出力に従って、上記の少なくとも1つのツールキャストの記録、生成、及び編集を行うツールキャストクリエータと、上記のユーザとインタラクションしながら上記の少なくとも1つのツールキャストを再生するツールキャストプレーヤと、を含む。
【選択図】
図5
【特許請求の範囲】
【請求項1】
ツールキャストを作成し、表示するシステムであって、
プロセッサと、
基礎的システムと通信する前記プロセッサ上で実行されるツールキャスト管理システムであって、前記ツールキャスト管理システムが、前記基礎的システムとのツールキャスト管理インターフェース、及びユーザと少なくとも1つのツールキャストとの間のインタラクションに従って、前記基礎的システムの前記ユーザにメディアガイダンスを提供するために、前記少なくとも1つのツールキャストの作成、表示、及び更新を行う、前記ツールキャスト管理システムと、
を備え、前記ツールキャスト管理システムが、
前記基礎的システムとインターフェースし、前記少なくとも1つのツールキャストの記録フェーズで記録されることになる前記基礎的システムのオブジェクト、データ、アクティビティ、及びイベントのうちの少なくとも1つを検出するインターフェースモジュールと、
少なくとも前記インターフェースモジュールの出力に従って、前記少なくとも1つのツールキャストの記録、生成、及び編集を行うTC(ツールキャスト)クリエータと、
前記ユーザとインタラクションしながら前記少なくとも1つのツールキャストを再生するTC(ツールキャスト)プレーヤと、
を備える、前記システム。
【請求項2】
前記基礎的システムは、前記ツールキャスト管理システムと統合される、請求項1に記載のシステム。
【請求項3】
前記少なくとも1つのツールキャストは、アクティブチュートリアル、ドキュメンテーション、コースウェア、及びユーザ内メッセージングのうちの少なくとも1つである、請求項1に記載のシステム。
【請求項4】
前記基礎的システムは、ウェブサイト、ウェブサイト構築システム、及び文書編集システムのうちの少なくとも1つである、請求項1に記載のシステム。
【請求項5】
前記少なくとも1つのツールキャストが、基本及び複合のうちの少なくとも1つである、請求項1に記載のシステム。
【請求項6】
基本ツールキャスト及び複合ツールキャストを保存するデータベース、
前記基礎的システムに変更が加えられたときに、前記少なくとも1つのツールキャストを維持するメンテナンスモジュール、
前記基礎的システムに変更が加えられたときに、前記少なくとも1つのツールキャストと他の関連ツールキャストとの同期をサポートするツールキャストシンクロナイザ、
前記少なくとも1つのツールキャストについて、前記基礎的システムの構造、関連付け、イベント、及びインターフェースの前記ツールキャスト管理システムへのマッピングを提供する基礎的システム構造マッパー、ならびに
前記基礎的システム及び前記ユーザに関するデータを収集して、それに応じて機械学習のトレーニング及びサポートを前記TCクリエータ及び前記TCプレーヤに提供するML(機械学習)マネージャ、
のうちの少なくとも1つをさらに備える、請求項5に記載のシステム。
【請求項7】
前記TCクリエータは、
前記少なくとも1つのツールキャストのストーリーボードを生成するツールキャストストーリーボードクリエータ、
前記少なくとも1つのツールキャストの前記ストーリーボード用のテキストを生成する生成的テキストエンジン、
前記基礎的システムの要素及びサイト構造を分析するUNS(基礎的システム)アナライザ、
前記基礎的システムから収集されたビジネスインテリジェンス(BI)情報を分析するBI(ビジネスインテリジェンス)アナライザ、
基本ツールキャストの階層を含む複合ツールキャストを作成するCTC(複合ツールキャスト)クリエータ、
前記少なくとも1つのツールキャストの設計者が、リッチテキストエディタを使用して、テキストベースのツールキャストを作成できるようにするテキストベースのレコーダ、
前記少なくとも1つのツールキャストの設計者が、自身を記録し、前記記録をツールキャストファイルに変換できるようにする音声ベースのレコーダ、
前記ツールキャスト管理システムと前記基礎的システムとのインターフェースされた構成においてツールキャストの関連付けを作成するアソシエーションマネージャ、
前記少なくとも1つのツールキャストのアクティビティのフローを決定し、最適化するTC(ツールキャスト)パスオプティマイザ、
前記少なくとも1つのツールキャストの前記設計者に編集のヒント及びオプションを提供する編集時レコメンダ、
前記少なくとも1つのツールキャストのツールキャスト定義に従って、前記基礎的システムと前記少なくとも1つのツールキャストとの間のミスマッチを検出するカバレッジアナライザ、ならびに
前記基礎的システムの統合編集または組み合わせ編集を前記少なくとも1つのツールキャストと共に提供するUNS(基礎的システム)/TC(ツールキャスト)エディタ、
のうちの少なくとも1つを備える、請求項1に記載のシステム。
【請求項8】
前記TCプレーヤは、
前記ユーザによる前記少なくとも1つのツールキャストのアクティブ化を自動的に有効にするTCアクティベータ、
前記少なくとも1つのツールキャストが、前記ユーザのアクションをシミュレートすることによって、前記基礎的システム上で、レスポンシブイベントをトリガできるようにするリモートユーザシミュレータ、
前記ユーザが前記少なくとも1つのツールキャストの表示を制御できるようにツールバーを表示するTC(ツールキャスト)コントロールバー表示部、
前記TCコントロールバー表示部によって前記表示の上に追加または拡張されたUI(ユーザインターフェース)要素を作成するACE(支援コンテンツ要素)表示部、及び
前記少なくとも1つのツールキャストの再生中に、前記少なくとも1つのツールキャストと前記ユーザとの間のインタラクションを可能にするユーザインタラクションマネージャ、
のうちの少なくとも1つを備える、請求項1に記載のシステム。
【請求項9】
前記インターフェースモジュールは、
統合された基礎的システムとインターフェースする統合インターフェース、
統合されていない基礎的システムとインターフェースする非統合インターフェース、及び
前記TCクリエータによる分析のためのデータを提供するために、基礎的システムデータベースとインターフェースするUNS(基礎的システム)データベースインターフェーサ、
のうちの少なくとも1つを備える、請求項1に記載のシステム。
【請求項10】
前記少なくとも1つのツールキャストがユーザ適応可能なツールキャストである、請求項1に記載のシステム。
【請求項11】
基礎的システムとのツールキャスト管理システムインターフェース、及びユーザと少なくとも1つのツールキャストとの間のインタラクションに従って、前記基礎的システムの前記ユーザにメディアガイダンスを提供するために、前記少なくとも1つのツールキャストの作成、表示、及び更新を行うこと、
を含み、前記作成、表示、及び更新を行うことが、
前記基礎的システムとインターフェースすることと、
前記少なくとも1つのツールキャストの記録フェーズで記録されることになる前記基礎的システムのオブジェクト、データ、アクティビティ、及びイベントのうちの少なくとも1つを検出することと、
少なくとも前記検出することの前記出力に従って、前記少なくとも1つのツールキャストの記録、生成、及び編集を行うことと、
前記ユーザとインタラクションしながら前記少なくとも1つのツールキャストを再生することと、
を含む、方法。
【請求項12】
前記基礎的システムは、前記ツールキャスト管理システムと統合される、請求項11に記載の方法。
【請求項13】
前記少なくとも1つのツールキャストは、アクティブチュートリアル、ドキュメンテーション、コースウェア、及びユーザ内メッセージングのうちの少なくとも1つである、請求項11に記載の方法。
【請求項14】
前記基礎的システムは、ウェブサイト、ウェブサイト構築システム、及び文書編集システムのうちの少なくとも1つである、請求項11に記載の方法。
【請求項15】
前記少なくとも1つのツールキャストが、基本及び複合のうちの少なくとも1つである、請求項11に記載の方法。
【請求項16】
基本ツールキャスト及び複合ツールキャストをデータベースに保存すること、
前記基礎的システムに変更が加えられたときに、前記少なくとも1つのツールキャストを維持すること、
前記基礎的システムに変更が加えられたときに、前記少なくとも1つのツールキャストと他の関連ツールキャストとの同期をサポートすること、
前記少なくとも1つのツールキャストについて、前記基礎的システムの構造、関連付け、イベント、及びインターフェースの前記ツールキャスト管理システムへのマッピングを提供すること、ならびに
前記基礎的システム及び前記ユーザに関するデータを収集し、それに応じて、前記少なくとも1つのツールキャストの、前記記録、生成、及び編集を行うことと、前記再生することとの機械学習トレーニング及びサポートを提供すること、
のうちの少なくとも1つをさらに含む、請求項15に記載の方法。
【請求項17】
前記少なくとも1つのツールキャストの前記記録、生成、及び編集を行うことは、
前記少なくとも1つのツールキャストのストーリーボードを生成すること、
前記少なくとも1つのツールキャストの前記ストーリーボード用のテキストを生成すること、
前記基礎的システムの要素及びサイト構造を分析すること、
前記基礎的システムから収集されたビジネスインテリジェンス(BI)情報を分析すること、
基本ツールキャストの階層を含む複合ツールキャストを作成すること、
前記少なくとも1つのツールキャストの設計者が、リッチテキストエディタを使用して、テキストベースのツールキャストを作成できるようにすること、
前記少なくとも1つのツールキャストの設計者が、自身を記録できるようにし、前記記録をツールキャストファイルに変換すること、
前記ツールキャスト管理システムと前記基礎的システムとのインターフェースされた構成においてツールキャストの関連付けを作成すること、
前記少なくとも1つのツールキャストのアクティビティのフローを決定し、最適化すること、
前記少なくとも1つのツールキャストの前記設計者に編集のヒント及びオプションを提供すること、
前記少なくとも1つのツールキャストのツールキャスト定義に従って、前記基礎的システムと前記少なくとも1つのツールキャストとの間のミスマッチを検出すること、ならびに
前記基礎的システムの統合編集または組み合わせ編集を前記少なくとも1つのツールキャストと共に提供すること、
のうちの少なくとも1つを含む、請求項11に記載の方法。
【請求項18】
前記少なくとも1つのツールキャストの前記再生することは、
前記ユーザによる前記少なくとも1つのツールキャストのアクティブ化を自動的に有効にすること、
前記少なくとも1つのツールキャストが、前記ユーザのアクションをシミュレートすることによって、前記基礎的システム上で、レスポンシブイベントをトリガできるようにすること、
前記ユーザが前記少なくとも1つのツールキャストの表示を制御できるようにツールバーを表示すること、
前記ツールバーを表示することによって前記表示の上に追加または拡張されたUI(ユーザインターフェース)要素を作成すること、及び
前記少なくとも1つのツールキャストの再生中に、前記少なくとも1つのツールキャストと前記ユーザとの間のインタラクションを可能にすること、
のうちの少なくとも1つを含む、請求項11に記載の方法。
【請求項19】
前記基礎的システムとの前記インターフェースすることは、
統合された基礎的システムとインターフェースすること、
統合されていない基礎的システムとインターフェースすること、
前記記録、生成、及び編集を行うことによる分析のためのデータを提供するために、基礎的システムデータベースとインターフェースすること、
のうちの少なくとも1つを含む、請求項11に記載の方法。
【請求項20】
前記少なくとも1つのツールキャストがユーザ適応可能なツールキャストである、請求項11に記載の方法。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願の相互参照
本出願は、2021年5月4日に出願された米国仮特許出願第63/183,662号、及び2021年5月6日に出願された米国仮特許出願第63/184,809号の優先権を主張するものであり、これらの米国仮特許出願の両方とも参照により本明細書に援用する。
【0002】
技術分野
本発明は、一般に支援コンテンツ要素の作成に関し、特にウェブサイト及びアプリケーションに関する。
【背景技術】
【0003】
ウェブサイト構築システム(WBS)は、インタラクティブなウェブサイトを作成するために初心者と専門家の両方に使用される。既存のWBSは、視覚編集モデルに基づいており、大部分のWBSは通常複数のテンプレートを提供し、テンプレートは、完全なサンプルウェブサイト、ウェブサイトセクション、単一ページ、またはページのセクションを含む可能性がある。
【0004】
WBSのユーザ(設計者、加入者、加入ユーザ、またはサイト編集者としても知られる)はウェブサイトを設計し得、ウェブサイトのエンドユーザ(「ユーザのユーザ」)は、ユーザによって作成されたウェブサイトにアクセスし得る。エンドユーザは、通常読み取り専用モードでシステムにアクセスするが、WBS(及びウェブサイト)は、エンドユーザがデータレコードの追加または編集、ニュース記事に対するトークバックの追加、ブログに対するブログエントリの追加など、ウェブサイトに変更を実行することを可能にし得る。WBSは、実際、複数のレベル(つまり、3つ以上のレベル)のユーザを許可し、各レベルに異なる許可及び機能を割り当て得る。(特に、本明細書で以下により詳細に説明される完全なまたは部分的なオンライン構成の)WBSのユーザは、ユーザ、ユーザのウェブサイト、及びエンドユーザによるアクセスを管理するWBSサーバに登録し得る。
【0005】
WBSはスタンドアロンシステムである場合もあれば、より大型の編集システム内部に組み込まれる場合もある。WBSはまた、オンライン(つまり、アプリケーションはサーバ上で編集及び格納される)、オフライン、または部分的にオンライン(ウェブサイトはローカルで編集されるが、公開のために中央サーバにアップロードされる)であってもよい。WBSは、WBSベースのサイトを格納するために内部データアーキテクチャを使用し得、このアーキテクチャは、処理されるサイトの内部データ及び要素をシステム内部で編成し得る。このアーキテクチャは、(例えば、エンドユーザによって見られる)サイトの外部ビューとは異なる場合がある。アーキテクチャはまた、通常、ブラウザに送信されるHTMLページが編成される方法とは異なっている。
【0006】
例えば、内部データアーキテクチャは、WBS内のサイトの編集及び保守に関連しているが、エンドユーザには(または一部の編集ユーザにも)外部からは見えない、ページ内の要素ごとの追加のプロパティ(作成者、作成時間、アクセス許可、テンプレートへのリンク、SEO(検索エンジン最適化)関連情報など)を含み得る。WBSは、(編集機能と実行時機能の両方を含む)その機能の一部をサーバまたはサーバセットに実装し、その機能の一部をクライアント要素に実装し得る。WBSはまた、一部の機能をサーバ上で実行するのか、それともクライアントプラットフォーム上で実行するのかを動的に決定し得る。
【0007】
WBSは、通常、ページ、コンテナ、及びコンポーネントから成り立つ視覚的に設計されたアプリケーション(ウェブサイトなど)の作成及び編集を処理する。ページは個別に表示され、コンポーネントが含まれ得る。コンポーネントは、コンテナ及びアトミックコンポーネントを含み得る。本発明のいくつかの明示的な実施形態に従って、ウェブサイト3を構築するために使用され得るウェブサイト構築システム(WBS)2の概略ブロック図である
図1が参照される。WBS2は、コンポーネント5(例えば、テキスト、画像、ビデオ)を含み得るページ4を含み得るウェブサイト3を、構築、制作、編集、及び/または生成するために使用され得る。
【0008】
WBSはまた、アトミックコンポーネント(テキスト、画像、形状、ビデオなど)及び他のコンポーネント(例えば、標準コンテナ、単一ページコンテナ、複数ページコンテナ、ギャライーコンテナなど)を含む様々なタイプのコンテナコンポーネントを使用して、コンポーネントの階層構成をサポートし得る。コンテナ内部に含まれるサブページはミニページと呼ばれ、そのそれぞれは、複数のコンポーネントを含み得る。いくつかのコンテナコンポーネントは、一度にミニページの1つだけしか表示し得ないが、他のコンテナは同時に複数ページを表示し得る。
【0009】
コンポーネントはコンテントがない場合もあれば、内部コンテンツを有する場合もある。第1のカテゴリの一例は、内部コンテンツを有さない(が、色、サイズ、位置、属性、及び他のパラメータを有する)星形のコンポーネントである。第2のカテゴリの一例はテキストパラグラフコンポーネントであり、その内部コンテンツは、内部テキスト、ならびにフォント、フォーマット、及びレイアウトの情報(コンポーネントの属性であるよりむしろ、コンテンツの一部でもある)を含む。このコンテンツは、テキストパラグラフコンポーネントのインスタンスごとに異なる場合があることは言うまでもない。コンテンツを有するコンポーネントは、多くの場合、フィールド(例えば、「テキストフィールド」)と呼ばれる。
【0010】
ページはテンプレート、つまり一般的なページテンプレートまたはコンポーネントテンプレートを使用し得る。テンプレートの具体的な事例は、他のすべての標準ページで複製されたコンポーネントを含むアプリケーションマスタページの使用、及び(すべてのページで反復する)アプリケーションのヘッダーまたはフッターの使用を含む。テンプレートは、完全なページに、またはページセクションに使用され得る。WBSは、複数レベル継承、多重継承、及びダイヤモンド継承(つまり、AがB及びCから継承し、BとCの両方がDから継承する)を含む可能性がある、テンプレート、ページ、またはコンポーネントの間で継承を提供し得る。
【0011】
ページ内部のコンポーネントの視覚的な配置は、レイアウトと呼ばれる。WBSはまた出願人が共有し、参照により本明細書に組み込まれる、2019年1月22日に付与された「Website Design System Integrating Dynamic Layout and Dynamic Content」と題する米国特許第10,185,703号にさらに説明されるように、所与のコンポーネント(または外部主導のコンテンツ変更など、所与のコンポーネントに影響を与える他の変更)の編集によって他のコンポーネントが影響を受ける場合があるプロセスである動的レイアウト処理をサポートし得る。
【0012】
WBSは、サードパーティアプリケーション及びそのコンポーネント(TPA)などのアドオンアプリケーション、(例えば、出願人が共有し、参照により本明細書に組み込まれる、2014年9月18日に公開された「WBS Integrating Data Lists with Dynamic Customization and Adaptation」と題する米国特許公報第2014/0282218号に説明される)リストアプリケーション、及びWBS構成可能アプリケーション(例えば、出願人が共有し、参照により本明細書に組み込まれる、2020年5月14日に公開された「System And Method for Creation and Handling of Configurable Applications for Website Building Systems」と題する米国特許公報第2020/0151266号に説明されるWCA)を使用して拡張し得る。これらのサードパーティアプリケーション及びリストアプリケーションは、設計されたウェブサイトに追加及び統合され得る。
【0013】
そのようなサードパーティアプリケーション及びリストアプリケーションは、(WBSのマーケットストアまたはその外部に統合された)アプリケーションストアから、例えば、WBS設計環境に事前に含まれているなど、いくつかの配布機構を通じて、またはサードパーティアプリケーションベンダから直接的に購入(またはそれ以外の場合、取得)され得る。
【0014】
サードパーティアプリケーションは、WBSベンダ独自のサーバ、サードパーティアプリケーションベンダのサーバで、またはフォースパーティサーバインフラストラクチャでホストされ得る。
【0015】
WBSはまた、システムのエンティティの一部またはすべてに手続きコードを加えることを可能にし得る。そのようなコードは、(JavaScriptなどの)標準的な言語、標準言語の拡張バージョン、または特定のWBS独自の言語で作成されるであろう。実行されたコードは、WBS自体または外部プロバイダによって提供されるAPIを参照し得る。コードはまた、ページ、コンポーネント、及びその属性などのWBSの内部構造体及びオブジェクトを参照し得る。
【0016】
手続き型コード要素は、マウスの移動またはクリック、ページ遷移などの)ユーザ活動、(別のユーザによって更新される基本的なデータベースまたは特定のデータベースレコードなどの)他のユーザに関連付けられる活動)、システムイベント、または他のタイプの条件に関連付けられ得るイベントトリガを介してアクティブ化され得る。このような手続き型コード要素の使用は、出願人が共有し、参照により本明細書に組み込まれる、2019年2月19日に付与され、「Custom back-end functionality in an online website building environment」と題する米国特許第10,209,966号にさらに説明される。
【0017】
アクティブ化されたコードは、サーバプラットフォーム上のWBSのクライアント要素の内部で、またはこの2つの組み合わせ、もしくは動的に決定された実行プラットフォームを使用することによって実行され得る。このようなシステムは、出願人が共有し、参照により本明細書に組み込まれる、2018年10月11日に公開された「System and Method for Smart Interaction Between Website Components」と題する米国特許公報第US2018/0293323号に説明される。
【0018】
典型的なサイト作成は、(ユーザが以前に作成されたサイトを編集する)視覚編集モデル、及び自動サイト生成モデル、またはここで参照される、出願人が共有し、参照により本明細書に組み込まれる、2018年9月11日に付与された「System and Method for the Creation and Update of Hierarchical Websites Based on Collected Business Knowledge」と題する米国特許第10,073,923号に説明される、
図2に示されるその組み合わせを含む、いくつかのモデルに基づく場合がある。
【0019】
明細書を通して、ウェブサイト構築システムを表すために、頭文字WBSが使用される場合があることが理解される。
図2は、WBSベンダスタッフ61、サイト設計者62(つまり、ユーザ)、サイトユーザ63(つまり、ユーザのユーザ)によって操作されるクライアントシステム及び外部システム70と通信する典型的なWBS2を含むシステム100を示す。WBS2は、WBSサイトマネージャ10と、オブジェクトマーケットプレース15と、WBS RT(実行時)サーバ20と、WBSエディタ30と、サイト生成システム40と、WBSコンテンツ管理システム(CMS)50とをさらに含み得る。
【0020】
視覚編集モデルでは、ユーザ(設計者)は、1つ以上のウェブサイトテンプレートに基づいてサイトを編集する。WBSプロバイダは、複数のサイト(または他の)テンプレートを提供し得、各テンプレートは、完全なサンプルウェブサイト、ウェブサイトセクション、単一ページ、またはページのセクションを含む可能性がある。ユーザは、空のサイト(基本的には、「空白ページ」テンプレート)で開始するオプションを有する場合があるが、通常は、実際のサイトテンプレートで開始することになる。
【0021】
WBSプロバイダは、非常に一般的なサイトテンプレート(例えば、モバイルサイト、eストア)からより具体的なサイトテンプレート(例えば、法律事務所、レストラン、花屋)、非常に具体的なサイトテンプレート(例えば、商業不動産法律事務所またはスペインのタパスレストラン)に及ぶサイトテンプレートを提供し得る。このようなテンプレートは、通常、WBSのユーザがアクセス可能なリポジトリに格納され、通常、業種、亜型、または業界に従って分類される。テンプレートはまた、単に業種に従ってではなく、スタイル、色の範囲、または他のパラメータに従って作成(及び分類)され得る。サイトテンプレートは、WBSと統合された本格的な垂直ソリューションとなるために、追加の(通常はバックエンドの)機能、サービス、及びコードで拡張され得る。
【0022】
サイトは、表示のためにHTMLに変換/レンダリングし得る。しかしながら、いくつかの実施形態では、コンポーネントは、ローカルにインストールまたはダウンロードされたコード、プラグイン、レンダリングフレームワーク(Reactなど)、グラフィックディスプレイフレームワーク(SVGなど)、または他の方法などの追加の技術を使用して実装及び/またはレンダリングされ得る。
【0023】
したがって、WBS視覚エディタを使用してサイトを作成するときのユーザの最初の経験は、通常、ユーザが(例えば、スタイルまたは業界タイプ/亜型に従って)テンプレート、場合によっては空のテンプレートを選び、次にコンテンツ、論理、レイアウト、及び属性の編集を含む視覚エディタでテンプレートを編集することである場合がある。このような編集は、(特に)テンプレート及びその要素をユーザのビジネスの詳細に適合させることを含み得る。ユーザは、次に、修正されたサイトを公開し得る。
【0024】
サイト生成モデルでは、WBSは、情報の一般的な要素を記入することによって修正された可能性があり、生成されたサイトのフォローアップ編集を可能にする可能性がある、選択されたテンプレートに基づいてユーザの初期サイトを生成する。様々な情報(商号または管理チームの説明など)がテンプレートのページ内の複数の場所に含まれるので、この記入が必要とされる。したがって、ユーザは、テンプレート全体で複数の場所で(例えば)商号を変更する必要がある場合がある。
【0025】
さらに、いくつかのテンプレート要素(例えば、一般製品ページ)が複数回表示される場合があり、各インスタンスは、基本的なエンティティ(例えば、サイトで提供される異なる製品)の異なるインスタンスの詳細を表示する。このような複数のインスタンスは、手動で指定される場合もあれば(例えば、会社の管理チームの異なる人物の詳細)、外部データベースから動的に導出される場合がある(例えば、「販売中の製品」データベースからの製品詳細)。このような構成は、多くの場合「リピータ」として知られている。
【0026】
テンプレートはまた、フィールドを含み得る。例えば、WBSは、テンプレート設計者が、テンプレート内部への値の挿入のために、例えば[CompanyName]、[ProductName]、[ProductPrice]などのフィールド(「プレースホルダ」としても知られる)を指定することを可能にし得る。ユーザはまた、ウェブサイトに選択されたテンプレートで定義されるフィールドの値を指定し得る。
【0027】
WBSによって、ユーザは、単純な値または複雑な値(例えば、テキスト及び画像)だけではなく、含まれるページもしくはサイト領域の選択、色、スタイル情報、リンク、フォーマットオプション、ウェブサイト表示オプション、装飾要素(例えば、境界線及び背景)などの追加の(フィールド以外の)情報を入力することも可能になり得る。
【0028】
WBSによって、また、ユーザは、テンプレートを選択する前にこの追加情報の一部を入力し、この情報を使用して、(例えば、提案されているテンプレートのセットを絞り込むことによって)テンプレートの選択を支援することが可能になり得る。例えば、ユーザは、特定の一般的なカラースキーム(例えば、パステルカラー)またはスタイル(例えば、ビジネス/正式)を選択し得、システムは、次にこの選択を使用して、提案されているテンプレートのセットを絞り込み得る。
【0029】
WBSはまた、ユーザが(定義されたフィールドと、上記の追加の情報の両方の)値または選択を入力することを可能にするために一連のビューまたはアンケートを表示し得る。WBSはさらに、(本明細書で上述されるような)テンプレートの複数のインスタンス要素と、表示されたインスタンスを生成するために使用されるデータインスタンスを提供する内部データベースまたは外部データベースとの間に接続(またはバインディング)を作成し得る。
【0030】
テンプレートが選択され、そのフィールド及び追加情報が(例えば、アンケートを通じてまたはデータソースへのバインディングを通じて)指定されると、WBSは結合された情報を含むウェブサイトを生成し得る。ユーザは、次に、(WBSまたはその他を通じて)サイトを公開し得る。
【0031】
WBSは、出願人が共有し、参照により本明細書に組み込まれる、2019年1月24日に公開された、「System and method for integration of search engine optimization in website building systems」と題する米国特許公報第US2019/0026280号に説明されるように、WBSに構築されたアプリケーションのSEOレビューをサポートし得る。
【0032】
WBSはまた、米国特許第10,073,923号に説明される異なるモデルを使用して、半自動サイト作成を実行し得る。このモデルで、システムは、例えば、ユーザが記入したアンケート、(既存のウェブサイトまたはソーシャルメディアのプレゼンスなど)既存のユーザのプレゼンス、(一般取引ウェブサイトなどの)業界のソース、オフライン情報、及び例えば、特定の業種(例えば、不動産弁護士と人身傷害弁護士を区別する)向けに精緻化された可能性がある、特定の業種(弁護士、レストラン、配管工、グラフィック設計者など)の基本テンプレート情報などの特定の業種に関する情報を提供する内部システムリポジトリを含み得る、複数のソースからユーザ及びユーザのウェブサイト要件に関する情報を収集する。
【0033】
WBSはまた、WBSにとって内部と外部の両方の他のサイトから外部情報を収集し得る。このような情報は、例えば、提供されるアンケート及びレイアウト要素、提案されるデフォルトなどの選択に影響を及ぼす場合がある。このような情報はまた、通常、任意の単一のユーザに属する情報を暴露せず、ユーザのプライバシー、匿名性、及び(著作権などの)法的権利を保護するために、統計または要約に基づいて収集される場合がある。このような情報は、直接的(例えば、既存のウェブサイトアドレス)である場合もあれば、間接的(企業についての情報を見つけるために使用できる商号及び地理的住所)である場合もあるユーザによって提供される情報に基づいて見つけられ得る。
【0034】
収集された情報は分析され、次にコンテンツ要素からコンテンツを提示し、レイアウト要素を結合してサイトを形成するレイアウト要素上にマッピングされる、コンテンツ要素のリポジトリに配置される。レイアウト要素のマッピング、選択、及び結合のプロセスは、完全に自動的である場合もあれば、半自動(つまり、ユーザインタラクションを含む)である場合もある。
【0035】
上記の機能をサポートするために、WBSは、通常、1つ以上のサーバまたはサーバファーム上に格納される一連のリポジトリを維持し得る。このようなリポジトリは、通常、ユーザ情報/プロファイルリポジトリ、WBS(WBS)コンポーネントリポジトリ、WBSサイトリポジトリ、ビジネスインテリジェンス(BI)リポジトリ、編集履歴リポジトリ、サードパーティアプリケーションストアリポジトリなどの様々な関連リポジトリを含み得る。システムはまた、アンケートタイプリポジトリ、コンテンツ要素タイプリポジトリ、レイアウト要素タイプリポジトリ、デザインキットリポジトリ、記入済みアンケートリポジトリ、コンテンツ要素リポジトリ、レイアウト要素リポジトリ、規則リポジトリ、ファミリー/業界リポジトリなどのサイト/コンテンツ作成関連リポジトリを含み得る。これらのリポジトリの説明は、米国特許第10,073,923号に記載されている。
【発明の概要】
【0036】
本発明の好ましい実施形態によれば、ツールキャストを作成し、表示するシステムが提供される。本システムは、プロセッサと、基礎的システムと通信するプロセッサ上で実行されるツールキャスト管理システムであって、ツールキャスト管理システムが、基礎的システムとのツールキャスト管理インターフェース、及びユーザと少なくとも1つのツールキャストとの間のインタラクションに従って、基礎的システムのユーザにメディアガイダンスを提供するために、少なくとも1つのツールキャストの作成、表示、及び更新を行う、ツールキャスト管理システムと、を備える。ツールキャスト管理システムは、基礎的システムとインターフェースし、少なくとも1つのツールキャストの記録フェーズで記録されることになる基礎的システムのオブジェクト、データ、アクティビティ、及びイベントのうちの少なくとも1つを検出するインターフェースモジュールと、少なくともインターフェースモジュールの出力に従って、少なくとも1つのツールキャストの記録、生成、及び編集を行うTC(ツールキャスト)クリエータと、ユーザとインタラクションしながら少なくとも1つのツールキャストを再生するTC(ツールキャスト)プレーヤと、を含む。
【0037】
さらに、本発明の好ましい実施形態によれば、基礎的システムはツールキャスト管理システムと統合されている。
【0038】
さらに、本発明の好ましい実施形態によれば、少なくとも1つのツールキャストは、アクティブチュートリアル、ドキュメンテーション、コースウェア、及びユーザ内メッセージングのうちの少なくとも1つである。
【0039】
さらに、本発明の好ましい実施形態によれば、基礎的システムは、ウェブサイト、ウェブサイト構築システム、及び文書編集システムのうちの少なくとも1つである。
【0040】
さらに、本発明の好ましい実施形態によれば、少なくとも1つのツールキャストは、基本及び複合のうちの少なくとも1つである。
【0041】
さらに、本発明の好ましい実施形態によれば、本システムは、基本ツールキャスト及び複合ツールキャストを保存するデータベース、基礎的システムに変更が加えられたときに、少なくとも1つのツールキャストを維持するメンテナンスモジュール、基礎的システムに変更が加えられたときに、少なくとも1つのツールキャストと他の関連ツールキャストとの同期をサポートするツールキャストシンクロナイザ、少なくとも1つのツールキャストについて、基礎的システムの構造、関連付け、イベント、及びインターフェースのツールキャスト管理システムへのマッピングを提供する基礎的システム構造マッパー、ならびに基礎的システムからのデータ及びユーザに関するデータを収集して、それに応じて機械学習のトレーニング及びサポートをTCクリエータ及びTCプレーヤに提供するML(機械学習)マネージャ、のうちの少なくとも1つを備える。
【0042】
さらに、本発明の好ましい実施形態によれば、TCクリエータは、少なくとも1つのツールキャストのストーリーボードを生成するツールキャストストーリーボードクリエータ、少なくとも1つのツールキャストのストーリーボード用のテキストを生成する生成的テキストエンジン、基礎的システムの要素及びサイト構造を分析するUNS(基礎的システム)アナライザ、基礎的システムから収集されたビジネスインテリジェンス(BI)情報を分析するBI(ビジネスインテリジェンス)アナライザ、基本ツールキャストの階層を含む複合ツールキャストを作成するCTC(複合ツールキャスト)クリエータ、少なくとも1つのツールキャストの設計者が、リッチテキストエディタを使用して、テキストベースのツールキャストを作成できるようにするテキストベースのレコーダ、少なくとも1つのツールキャストの設計者が、自身を記録し、記録をツールキャストファイルに変換できるようにする音声ベースのレコーダ、ツールキャスト管理システムと基礎的システムとのインターフェースされた構成においてツールキャストの関連付けを作成するアソシエーションマネージャ、少なくとも1つのツールキャストのアクティビティのフローを決定し、最適化するTC(ツールキャスト)パスオプティマイザ、少なくとも1つのツールキャストの設計者に編集のヒント及びオプションを提供する編集時レコメンダ、少なくとも1つのツールキャストのツールキャスト定義に従って、基礎的システムと少なくとも1つのツールキャストとの間のミスマッチを検出するカバレッジアナライザ、ならびに基礎的システムの統合編集または組み合わせ編集を少なくとも1つのツールキャストと共に提供するUNS(基礎的システム)/TC(ツールキャスト)エディタ、のうちの少なくとも1つを備える。
【0043】
さらに、本発明の好ましい実施形態によれば、TCプレーヤは、ユーザによる少なくとも1つのツールキャストのアクティブ化を自動的に有効にするTCアクティベータ、少なくとも1つのツールキャストが、ユーザのアクションをシミュレートすることによって、基礎的システム上で、レスポンシブイベントをトリガできるようにするリモートユーザシミュレータ、ユーザが少なくとも1つのツールキャストの表示を制御できるようにツールバーを表示するTC(ツールキャスト)コントロールバー表示部、TCコントロールバー表示部によって表示の上に追加または拡張されたUI(ユーザインターフェース)要素を作成するACE(支援コンテンツ要素)表示部、及び少なくとも1つのツールキャストの再生中に、少なくとも1つのツールキャストとユーザとの間のインタラクションを可能にするユーザインタラクションマネージャ、のうちの少なくとも1つを備える。
【0044】
さらに、本発明の好ましい実施形態によれば、インターフェースモジュールは、統合された基礎的システムとインターフェースする統合インターフェース、統合されていない基礎的システムとインターフェースする非統合インターフェース、及びTCクリエータによる分析のためのデータを提供するために、基礎的システムデータベースとインターフェースするUNS(基礎的システム)データベースインターフェーサ、のうちの少なくとも1つを備える。
【0045】
さらに、本発明の好ましい実施形態によれば、少なくとも1つのツールキャストはユーザ適応可能なツールキャストである。
【0046】
さらに、本発明の好ましい実施形態によれば、このシステムはまた、少なくとも1つのツールキャストを実行して代替製品を生成する追加の製品ジェネレータと、アプリストアを介して少なくとも1つのツールキャストを共有するためのアプリ(アプリケーション)ストアと、少なくとも1つのツールキャストを既存のツールチップに追加するツールチップハンドラとを備える。
【0047】
さらに、本発明の好ましい実施形態によれば、メンテナンスモジュールは、基礎的システムのバージョンを分析し、基礎となるシステム構造マッパーの初期情報を収集するためのTC(ツールキャスト)導入エージェント、少なくとも1つのツールキャストの要素への変更に関する情報を収集する情報収集部、情報収集部から情報を受信し、少なくとも1つのツールキャストから変更され機能していないツールキャスト要素を判定する更新アナライザ、更新アナライザの出力に従って、基礎的システムと設計者との少なくとも一方に通知する通知機能、少なくとも1つのツールキャストの非機能要素を適宜修正するTC(ツールキャスト)調整部、及び代替手段を通じて少なくとも1つのツールキャストのコンテンツを伝達するTC(ツールキャスト)フォールバック適用部、のうちの少なくとも1つを備える。
【0048】
本発明の好ましい実施形態によれば、方法が提供され、この方法は、基礎的システムとのツールキャスト管理システムインターフェース、及びユーザと少なくとも1つのツールキャストとの間のインタラクションに従って、基礎的システムのユーザにメディアガイダンスを提供するために、少なくとも1つのツールキャストの作成、表示、及び更新を行うこと、を含む。作成、表示、及び更新を行うことは、基礎的システムとインターフェースすることと、少なくとも1つのツールキャストの記録フェーズで記録されることになる基礎的システムのオブジェクト、データ、アクティビティ、及びイベントのうちの少なくとも1つを検出することと、少なくとも検出することの出力に従って、少なくとも1つのツールキャストの記録、生成、及び編集を行うことと、ユーザとインタラクションしながら少なくとも1つのツールキャストを再生することと、を含む。
【0049】
さらに、本発明の好ましい実施形態によれば、基礎的システムはツールキャスト管理システムと統合されている。
【0050】
さらに、本発明の好ましい実施形態によれば、少なくとも1つのツールキャストは、アクティブチュートリアル、ドキュメンテーション、コースウェア、及びユーザ内メッセージングのうちの少なくとも1つである。
【0051】
さらに、本発明の好ましい実施形態によれば、基礎的システムは、ウェブサイト、ウェブサイト構築システム、及び文書編集システムのうちの少なくとも1つである。
【0052】
さらに、本発明の好ましい実施形態によれば、少なくとも1つのツールキャストは、基本及び複合のうちの少なくとも1つである。
【0053】
さらに、本発明の好ましい実施形態によれば、この方法は、基本ツールキャスト及び複合ツールキャストをデータベースに保存すること、基礎的システムに変更が加えられたときに、少なくとも1つのツールキャストを維持すること、基礎的システムに変更が加えられたときに、少なくとも1つのツールキャストと他の関連ツールキャストとの同期をサポートすること、少なくとも1つのツールキャストについて、基礎的システムの構造、関連付け、イベント、及びインターフェースのツールキャスト管理システムへのマッピングを提供すること、ならびに基礎的システム及びユーザに関するデータを収集し、それに応じて、少なくとも1つのツールキャストの、記録、生成、及び編集を行うことと、再生することとの機械学習トレーニング及びサポートを提供すること、のうちの少なくとも1つをさらに含む。
【0054】
さらに、本発明の好ましい実施形態によれば、少なくとも1つのツールキャストの記録、生成、及び編集を行うことは、少なくとも1つのツールキャストのストーリーボードを生成すること、少なくとも1つのツールキャストのストーリーボード用のテキストを生成すること、基礎的システムの要素及びサイト構造を分析すること、基礎的システムから収集されたビジネスインテリジェンス(BI)情報を分析すること、基本ツールキャストの階層を含む複合ツールキャストを作成すること、少なくとも1つのツールキャストの設計者が、リッチテキストエディタを使用して、テキストベースのツールキャストを作成できるようにすること、少なくとも1つのツールキャストの設計者が、自身を記録できるようにし、記録をツールキャストファイルに変換すること、ツールキャスト管理システムと基礎的システムとのインターフェースされた構成においてツールキャストの関連付けを作成すること、少なくとも1つのツールキャストのアクティビティのフローを決定し、最適化すること、少なくとも1つのツールキャストの設計者に編集のヒント及びオプションを提供すること、少なくとも1つのツールキャストのツールキャスト定義に従って、基礎的システムと少なくとも1つのツールキャストとの間のミスマッチを検出すること、ならびに基礎的システムの統合編集または組み合わせ編集を少なくとも1つのツールキャストと共に提供すること、のうちの少なくとも1つを含む。
【0055】
さらに、本発明の好ましい実施形態によれば、少なくとも1つのツールキャストの再生することは、ユーザによる少なくとも1つのツールキャストのアクティブ化を自動的に有効にすること、少なくとも1つのツールキャストが、ユーザのアクションをシミュレートすることによって、基礎的システム上で、レスポンシブイベントをトリガできるようにすること、ユーザが少なくとも1つのツールキャストの表示を制御できるようにツールバーを表示すること、ツールバーを表示することによって表示の上に追加または拡張されたUI(ユーザインターフェース)要素を作成すること、及び少なくとも1つのツールキャストの再生中に、少なくとも1つのツールキャストとユーザとの間のインタラクションを可能にすること、のうちの少なくとも1つを含む。
【0056】
さらに、本発明の好ましい実施形態によれば、基礎的システムとのインターフェースすることは、統合された基礎的システムとインターフェースすること、統合されていない基礎的システムとインターフェースすること、記録、生成、及び編集を行うことによる分析のためのデータを提供するために、基礎的システムデータベースとインターフェースすること、のうちの少なくとも1つを含む。
【0057】
さらに、本発明の好ましい実施形態によれば、少なくとも1つのツールキャストはユーザ適応可能なツールキャストである。
【0058】
本発明と見なされる主題は、本明細書の終わりの部分において、具体的に指摘され、明確に特許請求される。しかしながら、本発明は、その目的、特徴、及び利点とともに、構成及び動作方法の両方に関して、添付の図面を参照しながら以下の詳細な説明を参照することによって最もよく理解され得る。
【図面の簡単な説明】
【0059】
【
図1】先行技術のウェブサイト構築システムの典型的な表現の概略図である。
【
図2】先行技術の階層ウェブサイトの作成及び更新のためのシステムの概略図である。
【
図3】A及びBは、本発明に従って構築され動作する、基礎的システムに関連するツールキャスト管理システムの概略図である。
【
図4】本発明に従って構築され動作する、ウェブサイト構築システムに統合されたツールキャスト管理システムの概略図である。
【
図5】本発明に従って構築され動作する、
図3A及び
図3Bのツールキャスト管理システムの要素の概略図である。
【
図6】本発明に従って構築され動作する、
図5のインターフェースモジュールの要素の概略図である。
【
図7】本発明に従って構築され動作する、
図5のTCクリエータの要素の概略図である。
【
図8】本発明に従って構築され動作する、
図7のテキストベースのレコーダの要素の概略図である。
【
図9】本発明に従って構築され動作する、
図7の音声ベースのレコーダの要素の概略図である。
【
図10】本発明に従って構築され動作する、
図7のCTCクリエータ及びエディタの要素の概略図である。
【
図11】本発明に従って構築され動作する、
図7のTCパスオプティマイザの要素の概略図である。
【
図12】本発明に従って構築され動作する、
図5のメンテナンスモジュールの要素の概略図である。
【
図13】本発明に従って構築され動作する、
図5のTCプレーヤの要素の概略図である。
【
図14】本発明に従って構築され動作する、
図13のTCアクティベータの要素の概略図である。
【
図15】本発明に従って構築され動作する、レストランメニュー構築システム用のツールキャストを使用するためのインターフェースの例示的なスクリーンショットである。
【
図16】本発明に従って構築され動作する、TCプレーヤ制御ツールバーを示す
図15のインターフェースの詳細である。
【
図17】本発明に従って構築され動作する、追加のコンテンツ要素を表示する
図15の詳細の一実施形態である。
【発明を実施するための形態】
【0060】
例示を簡潔かつ明瞭にするために、図面に示される要素は必ずしも縮尺通りに描かれていないことを理解されたい。例えば、要素のいくつかの寸法は、明確にするために他の要素に対して誇張される場合がある。さらに、適切であるとみなされる場合、参照数字は、対応するかまたは類似の要素を示すために、図の中で繰り返されることがある。
【0061】
以下の発明を実施するための形態では、本発明の完全な理解を提供するために、多くの具体的な詳細が述べられている。しかし、本発明が、これらの具体的な詳細なしで実施され得ることは、当業者であれば理解するであろう。他の例では、周知の方法、手順、及び構成要素は、本発明の実施形態を不明確にしないように、詳細説明されていない。
【0062】
ウェブサイト及びアプリケーションは、通常、複数の視覚的コンポーネントを含む複数のページ(またはアプリケーション画面)に関係する複雑なグラフィカルユーザインターフェース(GUI)で構成される。出願人は、そのようなアプリケーションのユーザは、そのようなウェブサイトやアプリケーションを構築するためにウェブサイト構築システムを使用する設計者など、基礎的システムの使用において支援や指導を必要とすることが多いことに気付いた。
【0063】
これらのニーズに対する非常に有益な解決策は、設計者またはユーザの隣に座る(または少なくとも共有画面システムを介してユーザとリモートで通信する)個人教師、指導者、または支援者である。人間の教師に代わる一般的な方法の1つは、基礎的システムとの特定のインタラクションを説明するビデオセグメントである。ただし、そのようなビデオはインタラクティブ性に欠けていることが多く、基礎的システムが変更されるとすぐに古くなってしまう。
【0064】
出願人はさらに、個人的な(人間の)指導者を必要としないツールキャスト管理システムによっても同じ利点が得られる可能性があることに気付いた。
【0065】
ツールキャスト管理システムは、基礎的システムとのインタラクションを基盤として使用するメディア形式であるツールキャストを通じて解決策を提供し得る。ツールキャスト形式は、アクティブなチュートリアル、ドキュメンテーション、コースウェア、及びユーザ内メッセージングなどの支援コンテンツ要素を使用してツールキャストを作成し、維持し、アクティブ化するための複数の技術と組み合わせて使用できる。メディアファイル及びプレーヤは、基礎的システム、同期されたナレーション、字幕、またはその他の支援コンテンツ要素とのインタラクション(及び場合によっては統合)を組み合わせる。ツールキャストは、基礎的システムによって保存されているユーザパラメータ、設定、及び属性(ユーザの地理的な位置またはブラウザの種類など)などのユーザ設定に従ってユーザに適応させることもできる。
【0066】
出願人らはまた、ウェブサイトなどの基礎的システムと統合され/通信するこのようなツールキャスト管理システムの利点には、ツールキャストを動的に実行する機能(ツールイベント、字幕、及びオーディオの生成)、ならびに直接ユーザとのインタラクションを行い、ウェブサイト自体の状態及びデータに従ってウェブサイト上でアクションを実行する機能が含まれる可能性があることにも気付いた。それらが、ユーザデータに基づいて動的にツールキャストを作成することを含む場合もある。
【0067】
ツールキャスト管理システムは、基礎的システムの上に拡張UI(ユーザインターフェース)要素を作成すること、または別の方法で基礎的システムコンポーネントとマージしたりすることもでき、(例えば)ウェブサイトの状態、ウェブサイトとのインタラクション、または書き込みもしくは会話によるシステムとのインタラクション(音声指示、チャットボットの使用、ガイド付きの質問、ユーザフローの確認を含む)を通じて、ツールキャストを提案するまたは自動再生することさえもできる。
【0068】
ツールキャスト管理システムは、行動/BI(ビジネスインテリジェンス)分析、テキストチャット、及び機械学習テクノロジによるユーザとの会話によって、ウェブサイト上でユーザが「必要とするもの」を検出することもある。
【0069】
さらに、ツールキャスト管理システムは、ウェブサイト上でユーザがアクションを実行するのを記録することからツールキャストを作成することができ、ウェブサイト及びツールキャスト記録の更新に基づいて、ウェブサイトの機能の説明が古くなったときを自動的に検出することができる。
【0070】
ツールキャスト管理システムの他のアプリケーションでは、ツールキャストを画像またはビデオを含むテキストなどの他のメディア形式に変換して更新し続けることができ、機械学習及びテキスト読み上げ技術に基づいてツールキャストを自動生成することができる。
【0071】
最後に、ツールキャスト管理システムは、サポートされている複数のブラウザでのリモートユーザのアクション(要素のクリック、ドラッグ、ホバー、スクロール、編集、及び作成)を反映するウェブサイトDOM上のレスポンシブイベントを処理することもできる。
【0072】
ツールキャスト管理システムは、以下に本明細書でより詳細に説明するように、ツールキャスト自体(システムを駆動するデータファイルである)、ツールキャストエディタ、ツールキャストプレーヤ、ツールキャスト展開エージェント、及び多数の追加要素で構成され得ることが理解されるであろう。これらの要素は、スマート再生を通じてツールキャストを実行する機能を共に提供する。これは、基礎的システムとインターフェースし、基礎的システム要素及びイベントを使用して、表示コメントを形成する。
【0073】
また、ツールキャスト管理システムのアーキテクチャにより、ユーザがインタラクションに積極的に参加できるようになる可能性があることも理解されよう。例えば、ツールキャストファイルの再生(及びそのフロー)は、ユーザが実行した特定のアクションに依存する場合がある。さらに、ユーザは任意の時点でツールキャストプレーヤを停止し、特定の停止時点から基礎的システムを使用し続けることができる。
【0074】
ツールキャスト管理システムは、さらに、オンライン再同期だけでなく、基礎的システムが変更されたときのツールキャストファイルの再同期も提供し得る。再同期は、(例えば)基礎的システムの実行タイムラインが、例えば通信パフォーマンスの違いにより変化する場合に、オンラインだけでなくオフラインでも行うことができる。または、計画外のイベント、例えば、事前に計画されたインタラクションの途中で発生する通知ポップアップが、基礎的システムのUI(ユーザインターフェース)に影響を与える場合である。
【0075】
ツールキャスト管理システムは、基礎的システムの表示が変更されたときに再同期することもある。例えば、表示レイアウトの変更(動的レイアウト、ウィンドウサイズ、縦向き/横向き、レスポンシブデザインの考慮事項によるコンポーネントの移動、表示されているさまざまなコンポーネントバリアントなど)により、基礎的システムコンポーネントが異なる方法で表示される場合である。
【0076】
ツールキャスト管理システムは、例えば、ユーザ提供のナレーションまたはタイトルと共に、基礎的システムとのユーザのインタラクションの記録を通じて、そのようなツールキャストファイルの作成及び編集をさらにサポートすることができる。以下本明細書でより詳細に説明するように、記録はスクリーンショットまたは画面ビデオのキャプチャでは構成されない。代わりに、この記録はオブジェクト指向の記録であり、この記録では、表示されたオブジェクト、それらとのユーザのインタラクション、ならびに関連するダイナミクス(例えば、動き)及びタイミング情報をキャプチャする。
【0077】
本明細書で先に説明したように、ツールキャスト管理システムは、基礎的システムと組み合わせて使用することができる。ここで
図3A及び
図3Bを参照する。
図3A及び
図3Bは、本発明の実施形態による、基礎的システム200と通信するツールキャスト管理システム80(
図3A)、及び基礎的システムと統合されるツールキャスト管理システム80(
図3B)を示す。
【0078】
以下の議論は、ツールキャスト管理システム80によって操作される関連ツールキャストファイルを通じて支援が提供されるシステムまたはアプリケーションを備えたツールキャスト管理システム80の統合バージョンに焦点を当てていることが理解されよう。このようなサポートされるシステム80には、ウェブサイトまたは他のウェブベースのアプリケーションなどのシステムが含まれ得る。ウェブベースのアプリケーションの場合、ツールキャスト管理システム80は、設計者が自身のウェブサイトのユーザにツールキャストを提供できるように、WBSを使用して、その機能をサービスとして設計者に提供できることが理解されよう。これらのサイトには、静的に定義されたサイトと動的に生成されたサイトとの両方が含まる。
【0079】
さらに、基礎的システムがWBS自体であってもよいことが理解されよう。このケースには、例えば、WBS環境の要素にトレーニングまたはドキュメンテーションを提供するためのツールキャスト管理システム80の使用が含まれる。このシナリオでは、サポートされるユーザは、WBSを使用するウェブサイト設計者、またはユーザに公開されたWBSのいくつかの態様(例えば、ブログウェブサイトのトークバック編集機能など)を使用するウェブサイトユーザということもあり得る。次に、
図2のWBS100と統合されたツールキャスト管理システム80を示す
図4を参照する。
【0080】
ツールキャストの使用は、管理機能、ダッシュボード、垂直アプリケーション(ならびにセットアップ及び構成GUI)などのWBS100の異なる領域(WBSエディタ30以外)に適用することができる。
【0081】
さらに、基礎となるWBSの要素は、同じWBS(すなわち、自己ホスト型WBS)または異なるWBSを使用して構築できることが理解されよう。したがって、ツールキャスト管理システム80は、そのようなWBSと組み合わせて、場合によっては複数のレベル(サービスのインターフェース及び提供の両方)で使用することができる。
【0082】
さらに、基礎的システム200は、プレインストールされているか、動的にインストールまたは実行されているかに関係なく、デスクトップアプリケーションまたはモバイルアプリケーションであってよい。
【0083】
基礎的システム200は、ワードプロセッサ、またはコードIDE(統合開発環境)などの何らかのタイプの文書編集システムであってもよい。このような基礎的システム200は、単一の「文書」(例えばワードプロセッサ文書またはウェブページ)または複数の同時文書の編集をサポートすることができる。基礎的システム200で動作するツールキャストは、(単一のツールキャストで)複数のドキュメントを編集するために使用されるUIをサポートすることができる。
【0084】
本明細書で上述したウェブベースのサイト及びアプリケーションには、クライアント側レンダリング、サーバ側レンダリング、混合レンダリング、またはフレームワーク(Reactウェブ開発フレームワークなど)によって提供されるレンダリングを介してレンダリングされたものが含まれる場合もあることが理解されよう。
【0085】
ツールキャスト管理システム80は、ウェアラブル環境、没入型環境(仮想現実及び拡張現実など)、及びビデオベースのアプリケーションなどの高度なアプリケーション展開環境に適用することもできる。
【0086】
したがって、ツールキャスト管理システム80は、以下本明細書でより詳細に説明するように、基礎的システム200のタイプに基づいて異なる態様及び実装の詳細を含むことができる。
【0087】
以下の説明では、通常、手動で開発されたかWBSベースかにかかわらず、ウェブサイト用のツールキャスト管理システム80の実装に焦点を当てることにする。本明細書で上述したように、そのようなサイトは、様々なレベル(サイト、ページ、セクション、コンポーネントセット、またはコンポーネントレベル)でのテンプレートの組み合わせに基づく場合がある。
【0088】
次に、ツールキャスト管理システム80の要素を示す
図5を参照する。ツールキャスト管理システムは、TC(ツールキャスト)クリエータ81、データベース82、インターフェースモジュール83、UNS(基礎的システム)構造マッパー84、TC(ツールキャスト)プレーヤ85、TC(ツールキャスト)シンクロナイザ86、メンテナンスモジュール87、ML(機械学習)エンジンマネージャ88、ならびに追加製品ジェネレータ89、アプリストア(Appstore)インターフェース8100、及びツールチップハンドラ8101を備え得る。MLエンジンマネージャ88は、データ収集部881及び複数のMLエンジン882をさらに備えることができ、追加製品ジェネレータ89は、自動実行部891をさらに備えることができる。これらの要素の機能については、以下本明細書で詳細に説明する。
【0089】
以下本明細書でより詳細に説明するように、MLエンジンマネージャ88がツールキャスト管理システム80の様々な要素にサービスを提供できることが理解されよう。
【0090】
Tcクリエータ81は、ツールキャストの記録、編集、及び生成を行い得る。データベース82は、ツールキャスト(以下本明細書でより詳細に説明する基本ツールキャスト及び複合ツールキャストを含む)を格納し得る。インターフェースモジュール83は、基礎的システム200のタイプ(統合型/非統合型)に応じてインターフェースを提供し得る。UNS(基礎的システム)構造マッパー84は、基礎的システム200の構造のマッピングだけでなく、基礎的システム200に影響を与えるのに使用される関連付け、イベント、及びインターフェースを提供し得る。TCプレーヤ85は、ツールキャスト及びTCシンクロナイザ86を再生するのに使用され得る。TCシンクロナイザ86は、関連するツールキャストとの同期をサポートするために、基礎的システム200への変更時にアクティブ化され得る。メンテナンスモジュール87は、基礎的システム200に変更が加えられるとツールキャストを維持し得る。MLエンジンマネージャ88は、機械学習トレーニング及びサポートを提供し得る。追加製品ジェネレータ89は、ツールキャストを実行して代替製品を生成し得る。アプリストアインターフェース8100は、作成されたツールキャストがアプリストア経由で共有されるようにし得る。ツールチップハンドラ8101は、既存のツールチップにツールキャストを追加し得る。これには、ツールキャストアクティブ化UIとして作成されたツールチップが含まれ得る。これらの要素の機能については、以下本明細書でさらに詳しく説明する。
【0091】
典型的な使用フローは、以下の段階を含むことができる。すなわち、基礎的システム200の設計者または開発者は、以下本明細書でより詳細に説明するように、ツールキャスト管理システム80を(例えば、ツールキャストサービスを様々なシステムに提供することができるホスト型サービスを通じて)使用して、基礎的システム200のツールキャストを記録し、編集することができる。これには、開発者または設計者が基礎的システム200及びツールキャスト管理システム80とインタラクションすることが含まれる。これは、基礎的システム開発者ではない別のツールキャスト開発者である場合もある。
【0092】
次いで、基礎的システム200の設計者は、ツールキャストを、基礎的システム200と共にローカルに、またはホストされたツールキャスト管理システム80内に格納することができる。その後、基礎的システム200は、それ自体で、またはユーザのアクションに基づいて、特定のツールキャストをアクティブ化することができる。次いで、TCプレーヤ85は、特定のツールキャストを実行し、基礎的システム200のエンドユーザとインタラクションしながら基礎的システム200を駆動することができる。
【0093】
ツールキャスト管理システム80は、基礎的システム200と双方向でインターフェースすることができる。インターフェースのタイプとその可能な実装方法については、以下本明細書で説明する。
【0094】
ツールキャスト管理システム80は、異なるアプリケーション領域及びシナリオに使用できることが理解されよう。これらの領域に関する以下の説明は、ウェブサイト設計者が自分のウェブサイトのユーザ(訪問者)に利益をもたらすためにツールキャスト管理システム80を使用するというコンテキストに基づいて行われるが、WBSベンダスタッフ61がWBSを使用して設計者にツールキャストを提供すること、サイト所有者62(WBSベースか否かにかかわらず)が、自サイトへの訪問者、及び様々なシステム(ウェブサイト、WBS、またはその他)のユーザにツールキャストを提供するサードパーティのツールキャストクリエータにツールキャストを提供することなど、他の使用例も利用できる(以下でさらに詳細に説明する)。
【0095】
ツールキャスト管理システム80の使用の1つのタイプは、インタラクティブチュートリアルの開発であり得る。ツールキャスト管理システム80は、探索可能かつインタラクティブなチュートリアルを作成するために使用できることが理解されよう。サイト設計者は、サイト使用セッション(例えば、サイトの特定の部分)を記録する場合がある。サイト訪問者は、これらの記録されたセッションを再生し、一時停止し、それらとインタラクションすることができる(例えば、チュートリアルを一時停止し、停止した所与の時点から実際のシステム使用を継続する)。
【0096】
このようなチュートリアルは、複数ステップの指示またはウィザード(例えば、ポップアップまたは画面サイドの指示)として提示される場合もある。チュートリアルは、表示された画面コンポーネントと組み合わせて提示することもでき、例えば、関連要素の近くに、または関連要素と併せて、支援コンテンツ要素を表示する。
【0097】
このようなチュートリアルはコースウェアとしても機能し得る。このようなチュートリアルには、クイズ、ユーザの応答に基づくロジック、スコアリング、及び学習管理機能が含まれる場合がある。
【0098】
ツールキャスト管理システム80はまた、「私と一緒に行いましょう(Do It With Me)」(DIWM)チュートリアルを提供することもできる。DIWMシナリオの下では、ツールキャスト管理システム80は、チュートリアルセクションの一部として、ユーザに代わって基礎的システム200上で操作を実行することをユーザに提案する(例えば、「タスクXを今すぐ実行できますか、それとも私があなたに代わってそれを行いましょうか?)」)ことができる。チュートリアルセッションは、チュートリアルマテリアルの配信、ユーザによって実行されるタスク、及びツールキャスト管理システム80によって実行されるDIWMタスクの混合を含むことができる。
【0099】
ツールキャスト管理システム80の別の使用は、インタラクティブドキュメンテーションの作成である。ツールキャスト管理システム80は、ツールキャストファイルをウェブサイトの特定の機能または要素に関連付けることによってウェブサイトを向上させるために使用され得る。このようなツールキャストファイルは、通常は静的ヘルプファイルによって提供される従来のヘルプ機能を置き換えることができる。
【0100】
ツールキャスト管理システム80のさらに別の使用は、基礎的システム200の機能または手順を記述する編集可能なビデオのようなメディアファイルの作成である。このようなファイルは、スクリーンキャプチャではなく、基礎的システム80のUI要素という観点から規定され得ることが理解されよう。
【0101】
ツールキャスト管理システム80は、ビデオファイルが同期していない場合(例えば、削除されたまたは他の形で変更されたサイト要素を参照する場合)を検出し、これを解決するか、または他に、以下本明細書でより詳細に説明するように、ツールキャストクリエータに通知することができる。このようなビデオは、ユーザサポートまたはマーケティングなどの多くの目的に使用できることが理解されよう。
【0102】
ツールキャスト管理システム80の別の使用は、基礎的システム200に関連するメッセージングであり得る。ツールキャスト管理システム80は、開発者、ユーザ、またはシステムサポート、ドキュメンテーション、マーケティング、テストなどに関与する人々など、基礎的システム200について通信する必要がある人々の間の通信方法として使用され得る。
【0103】
このような人々は、基礎的システム200の操作シーケンスに関連する情報を通信し、交換する必要があることが多く、提供されたスクリーンショットまたはスクリーンビデオ録画以外の追加情報を配信する必要がある。
【0104】
ツールキャスト管理システム80により、これらのユーザは、通常は伝達するのが難しい動的フローを含むツールキャストを迅速に記録し、作成することが可能になり得る。さらに、基礎的システム200と連携して動作する通信されたツールキャストにより、受信者は、記載された基礎的システム200のフローに関連付けられた基礎的システム200の内部状態にアクセスすることが可能になり得る。このようなメッセージングは、同期(例えば、ウェビナータイプのストリーミング)または非同期(例えば、メール/チャットタイプのメッセージング、これらは遅延する可能性がある)の場合がある。
【0105】
上述の説明は人々の間の通信に言及していることが理解されよう。ただし、そのような「人々」には、ボットまたはその他の人間ではない通信アクターなどのコンピュータ化されたノードが含まれる場合もある。
【0106】
そのようなメッセージング及び通信は、ウェブサイト設計者からエンドユーザへ、エンドユーザからエンドユーザへ、設計者から設計者へ、エンドユーザから設計者へ、エンドユーザ/設計者からWBSスタッフへ、及びWBSスタッフからエンドユーザ/設計者へなど、多方向であり得ることもまた理解されるであろう。
【0107】
ツールキャスト管理システム80は、視覚エディタ(例えば、WBSエディタ30などのWBS内にある)または他のIDEと併せて使用されることもある。視覚エディタまたはIDEのユーザは、記録されたツールキャストをエディタ内で再生することができ、本質的にIDEを(インタラクティブ)メディアプレーヤに変えることができることを理解されよう。ツールキャストは、基礎的システム80(または設計環境)のエディタと実際にインタラクションするため、ツールキャストのアクションは「ライブ」である(確定した記録メディアを単に表示するだけではない)。
【0108】
したがって、ユーザは、任意の時点でツールキャストを停止し、ツールキャストの影響を受ける新しい状態で基礎的システム200(またはそのコード)とインタラクションすることができる。ユーザは、この段階で自分のツールと環境とを使用し、ツールキャストによって行われる作業(及び実行された変更)から学ぶことができる。
【0109】
ツールキャスト管理システム80は、以下本明細書でさらに説明するように、場合によってはユーザによって行われた変更に適応することを含めて、ツールキャストが継続できるようにし得る。
【0110】
ツールキャスト管理システム80は、2022年2月17日に出願され、本発明の本願譲受人に譲渡され、参照により本明細書に組み込まれる、「Structured Communication System Integrating Dynamic Display」と題する米国特許出願第17/673,933号に記載されている顧客サポートなどの構造化通信システムと組み合わせて使用することもできる。このような構造化通信システムは、構造化通信システムを使用するユーザとエージェントとの間のインタラクション及び通信の媒体としてツールキャストを使用することができる。
【0111】
ツールキャスト管理システム80は、以下本明細書でより詳細に説明するように、TCプレーヤ85での使用以外のツールキャストの追加の使用を提供することもできる。
【0112】
本明細書で上記に説明したように、ツールキャストデータ形式は、ツールキャスト管理システム80がウェブサイトまたはアプリケーションとインタラクションするプロセスを記録し再生できるようにするメディア形式である。これは、所与のウェブサイトに固有の場合もあれば、関連する(または全体または部分的に類似した)ウェブサイトのグループに一般化される場合もある。
【0113】
ツールキャストデータ形式は、ファイル形式としてそのまま使用すること、またはより大きなコンテナもしくは表現形式を使用して(例えば、ビデオファイルコンテナファイル内で、XML、JSON、または同様の表現などを使用して)保存することができる。ツールキャストデータ形式は、データベースフィールドまたはレコード、リポジトリ、クラウドストレージ(例えば、クラウドストレージバケット内)、オブジェクト指向データベース(OODB)などの内部に格納されるデータの形式として使用されることもある。
【0114】
ツールキャストのデータ形式は階層的な場合があり、基本ツールキャスト(BTC)が、インタラクションの線形シーケンスに対応する線形タイムラインを実装し、上位レベルの複合ツールキャスト(CTC)が、複数のBTCを組み合わせて、それらの間のフロー及びルーティングを規定する。
【0115】
ツールキャストデータファイルは、支援コンテンツ要素(ACE)のセット、基礎的システム200上で実行されることになるアクションのセット、トリガ定義のセット、フロー管理要素を含むことができ、また、追加の表示可能なマテリアル、VR(仮想現実)/AR(拡張現実)環境で表示されるものなどの追加のタイプのメディア、及びインタラクティブなコンポーネントまたはアプリケーションを含むこともできる。
【0116】
オーディオや字幕などの支援コンテンツ要素(ACE)は、再生中に、例えばツールキャストベースのトレーニングセッション中に、表示され得る。これらのACEには、ウェブサイトに追加されることになる要素(注釈及び強調表示など)、またはそのコンポーネントのプロパティに影響を与えるために使用される値が含まれる場合もある。
【0117】
基礎的システム200上で実行されることになる一連のアクション(カーソルの移動、要素をクリックする、要素の近くに描画する、基礎的システム200のUI選択など)は、あたかもユーザがウェブサイトとインタラクションしていたかのように、基礎的システム200に影響を与え得る。これらのアクションには、以下でさらに説明するように、ウェブサイトに追加された情報、またはウェブサイトに影響を与える情報が含まれる場合もある。
【0118】
トリガ定義のセットは、ウェブサイトの要素、操作、アクティビティ、及びイベント(フロントエンドイベント(可視または不可視)とバックエンドイベントの両方を含み得る)に関連付けられ得る。ツールキャスト管理システム80は、基礎的システム200をリッスンして、イベント、状態、及び関連データを検出し、TCプレーヤ85による特定のアクション(基礎的システム200及び本明細書で一般的に上述したユーザに関連する情報を含む)をトリガすることができる。
【0119】
フロー管理要素は、アクションの実行方法を決定することができ、タイムラインまたは検出されたウェブサイトイベントに基づいてACEが表示される。フロー管理要素は、線形タイムライン(BTCの場合)、状態チャート、アクティビティグラフ(マルチレベルグラフを含む)、またはその他のメカニズムを使用する場合がある。ツールキャスト管理システム80は、上記のフロー管理要素の一部または全て(例えば、タイムライン、状態チャート(例えば、状態機械によって実行されるもの)及びアクティビティグラフ)と併せて、分岐及び入力処理をサポートし得る。
【0120】
ツールキャストファイルは、(コンポーネントが移動されても定義が影響を受けないように、)コンポーネント相対座標を使用して、イベント定義の一部または全てを保存することができる。このようなコンポーネント相対定義は、特定のコンポーネントまたは親コンテナに適用される場合があり、コンポーネントの隅、縁、中心、またはその他の部分へのアンカーに基づき得る。アンカーは、絶対的または相対的に(例えば、コンポーネントのサイズに基づいて)設けられ得る。ツールキャスト管理システム80はさらに、基礎的システム200によって使用されるレイアウトシステム(例えば、動的レイアウトまたはレスポンシブ表示システム)とインタラクションして、そのようなシステムによって作成される表示の非自明な変更に適応し得る。そのような変更には、例えば、レスポンシブウェブサイトの様々なブレークポイントの定義に従って、コンポーネントの位置、サイズ、または配置を変更することが含まれ得る。そのようなシステムは、2019年1月22日に付与された「Web Site Design System Integrating Dynamic Layout and Dynamic Content」と題する米国特許第10,185,703号、及び2021年4月20日に付与された「System and Method Providing Responsive Editing and Viewing, Integrating Hierarchical Fluid Components and Dynamic Layout」と題する米国特許第10,984,177号に記載されており、両方とも本発明の本願譲受人に譲渡されており、参照により本明細書に組み込まれる。
【0121】
本明細書で上記に説明したように、可能な一実施形態では、ツールキャスト管理システム80は、BTCを定義するためにタイムライン(例えば、ウェブサイト領域との特定のユーザインタラクションを記録することによって作成される)を使用することができる。これらのBTCは、所与のウェブサイトのより広い領域をカバーする複数のインタラクション及び分岐構造を含む、CTCの基礎的要素を形成する。
【0122】
そのようなより大きなCTCは、ウェブサイトもしくはアプリケーション全体とのインタラクションを網羅することができ、またはそのサブセットをカバーすることができる。ツールキャスト管理システム80は、CTCの階層を定義すること(マルチレベル階層を提供する)を可能にし得る。
【0123】
ツールキャストデータファイルは、コンテナ形式、既存のメディア形式の修正バージョン(ビデオ形式など)、または特殊なデータ形式などの多くのデータ形式を使用できることが理解されよう。ツールキャストは、基礎的システム200内の関連するUIオブジェクト定義に(例えば、データブロブとして)物理的にアタッチされてもよく、または別個に格納されてもよい。
【0124】
ACEに関しては、それらは、基礎的システム200と連携して、多くのタイプの表示メディアを含むことができる。ACEは、静的メディア、例えば、テキスト、字幕、または関連画像を含む場合があり、あるいは例えば、ナレーションまたはその他の目的で使用される音声など、本質的に動的/時間的であり得る。動的ACEはまた、ビデオなどの異なるメディアタイプを含む場合があるが、主なインタラクティブ視覚表示は通常、ウェブサイトとインタラクションするTCプレーヤ85によって生成されるようになる。
【0125】
追加の表示可能なマテリアルは、表示されたコンポーネントを指し示すか、または別の方法で強調する矢印またはその他の画面ハイライトである場合がある。そのような要素は、以下本明細書でさらに説明するように、追加層としてディスプレイに追加することができ、または基礎的システム200のディスプレイと統合することができる。
【0126】
インタラクティブなコンポーネントまたはアプリケーションは、ツールキャスト管理システム80(クライアント及びサーバ)の一部であってもよく、ツールキャスト管理システム80によって操作され、アクティブ化されてもよい。それらはまた、引き続きツールキャスト管理システム80によって指示されて開始されている(または別の方法で操作され、公開され、または開始されている)間、基礎的システム200(例えば、基礎となるWBSコンポーネント)の一部であってもよい。本明細書で上述した他の表示可能なACEと同様に、それらは、基礎的システム200の表示コンポーネントと組み合わせて、または別個に表示させて、別個の層として動作し得る。
本明細書で上述したように、ツールキャスト管理システム80は、基礎的システム200と双方向でインターフェースすることができる。
【0127】
ツールキャスト管理システム80は、直接リンク、検出、分析などを使用して、インターフェースモジュール83を介して、基礎的システム200のアクティビティに関する情報を受信することができる。インターフェースモジュール83は、ツールキャスト記録フェーズで記録すべき基礎的システム200のアクティビティを検出することができ、基礎的システム200のアクティビティを検出して、特定の基礎的システム200のオブジェクト、データ、アクティビティ、及びイベントに関連付けられたツールキャストをアクティブ化することができる。
【0128】
インターフェースモジュール83はまた、ツールキャストの再生中にその実行に影響を与える可能性がある基礎的システム200のオブジェクト、データ、アクティビティ及びイベントを検出するだけでなく、ツールキャスト及びツールキャスト管理システム80がツールキャストを再生する方法に影響を与える基礎的システム200の変更を検出することができる(例えば、ツールキャストのメンテナンスのため)。
【0129】
逆の方向では、ツールキャスト管理システム80が基礎的システム200に情報を送信するとき、インターフェースモジュール83は基礎的システム200内のユーザアクション(例えば、キーボードストローク、マウス移動、及びクリック)をシミュレートし、基礎的システム200データ構造の直接操作(例えば、ウェブサイトの表示されたブラウザDOMの変更)を提供することができる。
【0130】
インターフェースモジュール83はまた、基礎的システム200の動作に影響を与え、基礎的システム200の表示を(例えば、注釈を通じて)変更し、一般的に基礎的システム200に入力を提供し得る。ここで、インターフェースモジュール83の要素を示す
図6を参照する。インターフェースモジュール83は、統合インターフェーサ831、非統合インターフェーサ832、及びUNS(基礎的システム)データベースインターフェーサ833をさらに備えることができる。
【0131】
インターフェースは、基礎的システム200との間で直接やり取りされるのではなく、基礎的システム200と協働する一般的なシステム要素との間でやり取りされることが理解されよう。例えば、ツールキャスト管理システム80は、基礎となるウェブサイトを実行するブラウザ、またはウェブサイトを実行する開発フレームワーク/WBSランタイムモジュールの両方向で(インターフェースモジュール83を介して)インターフェースすることができるが、基礎となるウェブサイト自体とはインターフェースしない。インターフェースモジュール83は、複数の基礎的システム200とインターフェースすることができ、したがって、そのサブ要素は、以下本明細書でより詳細に説明するように、統合インターフェーサ831を使用して複数のターゲットをサポートすることができる。
【0132】
さらに、いくつかの実施形態では、基礎的システム200が、ツールキャスト管理システム80とインターフェースするためのインフラストラクチャ及び要素を含み得る(あるいは、そうでなければ適応されまたは修正される)ことが理解されるであろう。これらの基礎的システムは、統合された基礎的システムとして知られている。
【0133】
他の実施形態では、基礎的システム200は、ツールキャスト管理システム80とインターフェースするための必要なインフラストラクチャまたは要素を含まない場合がある。このような場合、ツールキャスト管理システム80は、非統合インターフェーサ832に関連して以下本明細書でより詳細に説明するように、例えば外部分析、検出、挿入されたフックなどを使用して、「外部から」基礎的システム200とインターフェースする必要がある場合がある。これらは、非統合または「外部」基礎的システム200として知られている。
【0134】
いくつかの実施形態は、この2つを組み合わせてもよく、例えば、基礎的システム200が一部のインターフェースを提供するが他のインターフェースを提供しない、または基礎的システム200がインターフェースを提供するが必要なパラメータ、情報、もしくはオプションの全てを提供するわけではない。ツールキャスト管理システム80は、複数のインターフェース方法を含むこともでき、そのいくつかは統合されており、いくつかは統合されていない。
【0135】
インターフェース及び統合は、実際の基礎的システム200とは異なるソフトウェアレベルで(完全にまたは部分的に)行われてもよいことが理解されるであろう。例えば、基礎となるWBSは、WBS上に実装されたウェブサイトを処理するためにツールキャスト管理システム80に必要なインターフェースを提供することができる。これには、ウェブサイト自体(実際の基礎的システム200である)にいかなる変更も特別なコードも必要としない。他の例には、基礎となるウェブサイト以外の追加の統合ポイント、例えば、オペレーティングシステム、ドライバ、ブラウザ、またはJSエンジンで行われる統合が含まれる場合がある。この統合は、基礎的システム200の開発及び展開に使用される他の開発フレームワークと行うこともできる。
【0136】
WBSベースのウェブサイトの基礎的システム200との統合の部分的な代替形態には、基礎となるウェブサイトに使用されるWBSとの実際の統合を行うことを含むが、余分のID、ヒント、メタデータ、または他の関連情報をウェブサイト自体に追加することが含まれることになる。
【0137】
したがって、そのような方法を使用すると、ツールキャスト管理システム80のユーザは、基礎となるウェブサイトに特定のまたは実質的な変更を要求することなく、統合ソリューションの利益を得ることができる。
【0138】
ツールキャスト管理システム80は、基礎的システム200とは別に(例えば、別の環境で、または別の物理的もしくは仮想プラットフォーム上に)実装することもできる。例えば、モバイルデバイス上では、ツールキャスト管理システム80はモバイルアプリケーションとして実装され、基礎的システム200はウェブサイトとして実装されてもよい(またはその逆)。ツールキャスト管理システム80は、2つの実装環境を接続するブリッジング機構(例えば、ローカル通信、ローカルウェブサービス、モバイルデバイス上でホストされる中間サーバ、ブラウザ拡張機能の実装、ローカルインターフェースなどなど)を介して(統合的または非統合的な方法で)基礎的システム200と引き続きインターフェースすることができる。
【0139】
ツールキャスト管理システム80は、複数の方法で統合基礎的システム200とインターフェースできることが理解されよう。統合インターフェーサ831は、(例えば)基礎となるウェブサイト(特定のウェブサービスまたはクライアント側統合ポイントを含む)を構築するために使用されたWBSにインターフェースすることができる。統合インターフェーサ831は、公的に利用可能なWBSサーバインターフェース(API、ウェブサービスなど)を使用することができる。非公開の利用可能なインターフェースを使用する場合もある。統合インターフェーサ831は、WBSサーバの内部文書管理システム(ウェブページ定義の記憶及び検索を処理する)またはWBSエディタインターフェース(ページ及びコンポーネントの編集を処理する)への直接インターフェースを含み得る。
【0140】
統合インターフェーサ831はまた、基礎となるウェブサイト、ウェブサーバ、またはアプリケーションのソースコードに追加されたインターフェースを通じて、及び基礎的システム200のバージョンを展開する際に使用される試験(ABまたは多変量テストなど)の定義への追加パラメータ及びフックを通じて、統合基礎的システムとインターフェースすることもできる。そのような試験は、2020年8月5日に付与され、本発明の本願譲受人に譲渡された「System and Method of Handling Complex Experiments in a Distributed System」と題する米国特許第10,733,078号に記載されており、参照により本明細書に組み込まれる(基礎となるWBSとの関連で使用される場合)。このシナリオでは、試験特有の統合及び関連付けがあり得ることが理解されるであろう(例えば、1つのツールキャストを試験オプションAに関連付け、別のツールキャストを試験オプションAに関連付けること)。
【0141】
このような統合には、外部のウェブサイト要素が含まれる場合があることが理解されるであろう。すなわち、本明細書で上述したように、ウェブサイトは、外部コンポーネント、サードパーティアプリケーション、垂直製品、サブシステム、アドオン、または他の要素などの外部要素を含む場合がある。このような要素には、WBSベンダサーバ、別個のサードパーティサーバ、またはクラウドプロバイダでホストされ得るサブ要素(フロントエンド及びバックエンドのサブ要素を含む)が含まれる場合がある。
【0142】
統合インターフェーサ831は、そのようなサードパーティ要素(内部データ、フロントエンド、バックエンド、または他のサブ要素の使用を含む)によって生成されるツールキャストトリガを処理する能力を含む、外部サイト要素との統合を実装することもできる。外部要素は、トリガに関連付けられた独自のツールキャスト(またはツールキャストのサブ要素)を提供することもできる。このような関連付けは、メインサイトコードからのトリガや外部サイト要素からのトリガと関連付けられ得る。メインウェブサイトのツールキャストは、完全なツールキャストフローを作成するために、そのようなサードパーティのツールキャストを含みまたは参照する場合もある。
【0143】
UNSデータベースインターフェーサ833は、以下本明細書でより詳細に説明するように、基礎的システム200のデータベースとインターフェースして、分析に使用されることになるデータを提供し得る。
【0144】
ここで、TCクリエータ81の要素を示す
図7を参照する。TCクリエータ81は、ツールキャストストーリーボードクリエータ811、生成的テキストエンジン812、UNS(基礎的システム)アナライザ813、BI(ビジネスインテリジェンス)アナライザ814、テキストベースのレコーダ815、音声ベースのレコーダ816、アソシエーションマネージャ817、CTCクリエータ及びエディタ818、TCパスオプティマイザ819、UNS(基礎的システム)/TC(ツールキャスト)エディタ8120、カバレッジアナライザ8121、及び編集時間レコメンダ8122をさらに備え得る。UNS/TCエディタ8120は、グラフアナライザ81201をさらに備え得る。これらの要素の機能については、以下本明細書でより詳細に説明する。
【0145】
アソシエーションマネージャ817は、
図3A及び
図3Bに示すように、統合セットアップ及び非統合セットアップの両方において、ツールキャスト管理システム80及び基礎的システム200のインターフェース構成のためのツールキャストの関連付けを作成し得る。基礎的システム200が、TCプレーヤ85を(例えば、関数呼び出し、ウェブサービス、ツールキャストをアクティブ化する追加の特定のコンポーネントなどを通じて)直接アクティブ化するように変更されるという意味で、この関連付けは明示的であり得ることが理解されよう。このようなアクティブ化コードは、ウェブサイト自体に追加することもでき、またはサイトの構築に使用されるWBSの一部にすることもできる(また、特定のツールキャストアクティブ化呼び出しを行うように構成することもできる)。このようなコードは通常、関連付け(及び基礎となるトリガ)がサイトの内部情報(基礎となるサイトデータリポジトリ内の特定のイベントなど)に関連する場合、そのようなイベントは外部から検出することが難しい場合があるので、必要になる。
【0146】
アソシエーションマネージャ817は、ツールキャストID(または他の命名または関連付けメカニズム)を使用して、どのツールキャストをアクティブ化するかを決定することができる。基礎的システム200は、これらのIDをトリガイベントの一部として渡すことができ、TCプレーヤ85は、そのIDを認識して、適切なツールキャストをアクティブ化することができる。
【0147】
ツールキャスト管理システム80は、ハンドコーディングされたサイトなどの「外部」(非統合)基礎的システム200と共に使用されることもある。これは、ツールキャスト管理システム80がサイト及びその生成手順を直接修正することまたは影響を与えることができない場合にも関係する。例えば、ユーザが編集権限を持たないサイトへのツールキャスト、または通常のウェブサイトではないアプリケーションへのツールキャストを作成している場合などである。このようなアプリケーション(ウェブ、モバイルまたはデスクトップ環境用)は、例えば、アプリケーションストアからバイナリインストールキットとして提供される場合がある。
【0148】
非統合インターフェーサ832は、ツールキャスト管理システム80と統合されていない異なる(「外部」)WBSを使用してもよく、ブラウザによって直接実行可能なコード(例えば、HTML、CSS、及びJavaScriptコード)を生成するまたは編集する異なるシステムを使用することによってもよいことが理解されよう。これは、そのようなコードを出力するWBS、またはユーザがそのようなコードを直接編集することを可能にするエディタ(AdobeのDreamWeaverCC(商標)やHTMLサポート付きのNotepad++など)であり得る。
【0149】
非統合インターフェーサ832は、ユーザが通常のHTML/CSS/JSモデルとは異なるモデルを使用してウェブサイトを作成することを可能にするフレームワーク(Facebook,Inc.のReactなど)を使用してインターフェースすることもできる。そのようなフレームワークは、独自のコンポーネントアーキテクチャまたは言語(JavaScriptに対するReactのJSX拡張機能など)を提供する場合がある。
【0150】
別の実装形式は、プレインストールされたまたはダウンロードされたコードを使用するサイトである。これは、例えば、サイトの部分を実装する統合アプレット(Javaベースのアプレットなど)、(モバイルアプリを含む)サイト全体のインタラクティブアプリケーション、またはバーチャルマシンベースのコンポーネントであり得る。このようなコードはまた、ネイティブコード、JITコンパイルされたコード、解釈されたコード、または他の実行方法を使用するコードを含み得る。
【0151】
サイト作成方法は、ツールキャスト管理システム80がサイトとインターフェースする方法、及びツールキャスト関連付けを定義し得る方法に影響を与える可能性があることを理解されよう。
【0152】
非統合インターフェーサ832は、(例えば)以下の方法を通じて、そのような外部サイトの情報及び(場合によっては)基礎となるオブジェクトアーキテクチャの一部にアクセスすることができる。非統合インターフェーサ832は、ホストサーバから直接的にサイトコード(HTML/CSS/JSまたはそれ以外)を読み取ることによって、補助ファイル(検索エンジンスパイダーによって読み取られるrobots.txtファイルなど)を読み取ることによって、格納されたページへのアクセスを提供するAPIまたはウェブサービスを介してサイトにアクセスすることによって、外部(非統合型)WBSにそれが提供するAPIまたはウェブサービスを通してアクセスすることによって、情報にアクセスし得る。
【0153】
非統合インターフェーサ832はまた、評価されたウェブサイトを搬送するために使用されるトラフィックにアクセスすることもできる。このアクセスは、ネットワーク通信を受動的にリッスンすること(及びその分析/デコード)を通じて、あるいはサーバ、クライアント、仲介マシン(CDN(コンテンツ配信ネットワーク)を運ぶものを含む)に埋め込まれたエージェント、または関連する通信を分析する追加の「中間エージェント」を通じて行われ得る。
【0154】
非統合インターフェーサ832は、ターゲットウェブサイトを「実行」し、その(内部)オブジェクトモデルまたはレンダリングされたコードをインターセプトできる特定のブラウザ(ヘッドレスかどうか)を使用することもでき、関連するツールキャスト管理システム80の要素をブラウザ拡張機能または既存のブラウザへのプラグインとして実装することができ、あるいは、ロード時にサイトのコードを分析し、変更することができる。
【0155】
非統合インターフェーサ832が情報にアクセスするために使用する別の方法は、ロード時に新しいコードまたは追加のコードをサイトに挿入することによるものであってもよい。挿入されるコードは、例えば、オブジェクトモデルまたはレンダリングプロセスとインタラクションするクライアント側エージェント(サイトコードと共に埋め込まれている)ということもあり得る。代わりに、このようなエージェントは、他のシステム要素(ブラウザまたは基礎となるオペレーティングシステムなど)とインタラクションすることもあり得る。
【0156】
非統合インターフェーサ832は、サイトによって生成された視覚的表示を追跡できるコードまたはハードウェアを追加することもできる。例としては、通常のインターフェースのための「フック」を持たない所与のモバイルアプリケーションによって生成された表示を(オペレーティングシステムレベルで)読み取り、分析できるモバイルデバイス上の追加ソフトウェアエージェントがある。
【0157】
非統合インターフェーサ832は、HTML、ブラウザオブジェクトモデル、またはその両方の分析に基づいて動作することもできる。また一方、UNSアナライザ813は、収集された情報の予備分析を実行して、サイト要素及び構造のより高いレベルのモデルを抽出し得る。このようなモデルは、構造(つまり、サイトがなにから成り立っているのか)、レイアウト関連、意味論的、及び挙動に関する態様を含み得る。特に、抽出されたモデルは、静的情報(例えば、所与の時点でのサイト構造)だけではなく、動的情報(様々な応答に対するサイトの動的挙動)も含み得る。
【0158】
UNSアナライザ813は、データベースのルール、特定の分析スクリプト、及び2022年3月15日に付与され、出願人によって共同所有されており、参照により本明細書に組み込まれる、「System and Method for Integrating User Feedback into Website Building System Services」と題する米国特許第11,275,815号に記載されているようなML(機械学習)モデルなどのツールを使用して予備分析を実行することができる。また、非統合型WBSを使用して作成されたサイトの場合、特定の規則、スクリプト、及びMLモデルが、特定のWBSに適合され得る。したがって、例えばサイトが、特定の外部WBS(例えば、WordPress)によって構築されているとして認識される場合、UNSアナライザ813は、その特定のプラグインアーキテクチャなど、WordPressの特定の要素を考慮に入れるようにその予備分析を適合し得る。
【0159】
UNSアナライザ813は、サイト構造、フロー、コード(クライアント及びサーバ)、BI情報、編集履歴、及び他のリポジトリをさらに分析することができる。分析には、幾何学的分析、意味分析、及び使用法の分析が含まれ得る。分析は、本明細書で上述したように、ツールキャスト管理システム80を介してアクセス可能な情報を基礎的システム200(または基礎的システムのWBSまたは開発フレームワーク)と統合することができる。これには、米国特許第11,275,815号に記載されているように、様々な形式のサイト分析、理解、及び学習が含まれ得る。
【0160】
この予備分析に基づいて、非統合インターフェーサ832は、基礎となる外部WBSまたはフレームワーク(そのようなものが使用されていた場合)の実際のコンポーネント構造を再構築することができる。例えば、予備分析は、(例えば、特定の生成されたHTML/CSS/JSを認識することによって)外部WBS生成サイトで複雑なギャラリーの使用をモデル化及び検出し、そのレンダリングされたサブコンポーネントからこのようなギャラリーを再構築し得る。
【0161】
上述の分析方法はまた、基礎となるウェブサイトに影響を与えまたは変更するTCプレーヤの要素をガイドするために(関連する場合)TCプレーヤ85によって使用されてもよい(以下本明細書でより詳細に説明する)。
【0162】
上述したように、生成された視覚表示の追跡に基づいてUNSアナライザ813によって分析されるサイトの場合、分析は、HTMLまたはブラウザオブジェクトモデルレベルではなく、画面イメージレベルで実行され得ることが理解されよう(例えば、モバイルアプリケーションのように、この構造にアクセスできない場合でも、表示された画面の「背後」にコンポーネント構造を再作成する)。
【0163】
MLモデルを使用する場合、MLエンジンマネージャ88は、以前に評価されたサイト上のMLエンジン882のモデルを再トレーニングして、それらを(例えば)基礎となる外部WBSの変更に適応させることができる。データ収集部881は、以下本明細書でより詳細に説明するように、基礎的システム200からのデータ及びユーザ情報を収集することができる。
【0164】
基礎的システム200内で(例えば、TCプレーヤ85をアクティブ化するために)行われる内部イベントのツールキャスト管理システム80の外部検出は、場合によってはサーバ側または他のサイト内部イベントの検出に拡張し得る。この検出は、サーバプロバイダ(例えば、クラウドコンピューティングベンダ)またはサイト所有者が、関連するアクセス資格情報をツールキャスト管理システム80のユーザに提供すること、または場合によっては関連するサーバ側監視ソフトウェアのインストール(またはインストールされたそのようなサーバ監視ソフトウェアへのアクセス)を許可することに依存し得る。このようなアクセスは、基礎的システム200のクライアントとサーバとの間の主要な通信に対する別個の並列チャネルとして実行され得る。
【0165】
ツールキャスト管理システム80は、(他の「X as a Service」プラットフォームと同様に)サービスとして構成され得ることが理解されよう。このような構成では、ツールキャスト管理システム80プロバイダは、他の様々なサービスプロバイダ(例えば、WBSプロバイダ、ISP、TPAプロバイダなど)との統合を作成することができる。このような統合は、関連する基礎的システム200関連のシステム及びサービスと並行して、別個の並行チャネルを介して安全なアクセスを提供することができる。これは、実際のツールキャスト管理システム80のユーザ(すなわち、ツールキャストを作成し、編集する人)に直接アクセス資格情報を提供することなく行うことができる。
【0166】
このような「サービスとしてのツールキャスト管理システム」構成では、実際のツールキャスト管理システム80の機能は、実際のツールキャスト管理システム80のサーバ、他のサーバ、ユーザのクライアントマシン、またはこれらの組み合わせの上に実装され得る。
【0167】
本明細書で上記に説明したように、上記のインターフェース方法は全て、複数の必要なインターフェースに使用することができる。これらの必須インターフェースには、ツールキャストの記録、ツールキャストとサイト要素、イベント、及びトリガとの間の関連付け(トリガの定義を含む)、ツールキャストのアクティブ化及び再生(ツールキャストの途中でのインタラクションを含む)、様々なツールキャストの前後処理(最適化など)、ならびにツールキャストの変更または同期を必要とする基礎的システム変更の検出が含まれ得る。
【0168】
ツールキャストを作成して編集する方法は数多くあることが理解されよう。以下の説明では、線形(タイムラインベース)BTCまたはBTCセクションを作成し、より大きな基礎的システム200(ウェブサイト全体など)またはその一部をカバーするより複雑なCTCを作成するための可能な手順について説明する。このような複雑なツールキャストでは、ステートチャートなどの追加の合成方法を使用して、複雑なツールキャストを作成する場合がある。この説明では、テンプレートツールキャストまたは完全なツールキャストの作成、テキストベースの記録、及び音声ベースの記録を含む、複数の作成方法を取り上げる。
【0169】
さらに、単一のBTCまたはCTCが複数の場所(ファイル、ライブラリ、データベース、リポジトリ、サーバまたはクラウドなど)にわたって分散できることも理解されるであろう。一例としては、基礎的システム200に含まれる共通コンポーネント及びテンプレートを記述する(別途定義された)再利用可能なサブCTCを含むトップレベルCTCが挙げられる。
【0170】
以下の説明では、一般に、別個のツールキャスト作成/編集フェーズとツールキャスト再生フェーズとを有する実施形態に焦点を当てている。しかしながら、いくつかの実施形態では、これらのフェーズが混合されてもよい。例えば、TCクリエータ81は、ツールキャストの再生中に新しいまたは変更されたツールキャストを自動的に生成することがあり、それらを再生フロー内で結合する(または現在再生中のツールキャストを別の方法で変える)ことがある。別の例として、TCクリエータ81は、一部のユーザが再生中に編集に入り、現在実行中のツールキャストまたは他のツールキャストを変更できるようにする場合がある。
【0171】
ツールキャストストーリーボードクリエータ811は、ツールキャストテンプレートの自動作成を提供することができる。本明細書でのこれらのツールキャストテンプレートは、WBSテンプレートと区別するために、「テンプレート」ではなく「ストーリーボード」と呼ばれることを理解されたい。ツールキャストストーリーボードクリエータ811は、ツールキャスト用に自動生成されたストーリーボード(及び半自動生成されたストーリーボード)の作成を提供することができる。あるいは、ツールキャストストーリーボードクリエータ811を使用して、本明細書で説明される技術及び構造に基づいて完全な(埋められた)ツールキャストを作成することもできる。
【0172】
ツールキャストストーリーボードクリエータ811がツールキャスト及びストーリーボードを作成する1つの方法は、ユーザによって行われた「予行演習」に基づくものである。ツールキャストストーリーボードクリエータ811は、ユーザが基礎的システム200の関連部分を通じて「予行演習」を実行できるようにすることができる。次いで、ツールキャストストーリーボードクリエータ811は、ユーザアクティビティを記録し、関連する構造と基礎的システムイベントへの関連付けとを含むテンプレートストーリーボードをユーザに提供することができる。
【0173】
明示的な「予行演習」を使用する代わりに、インターフェースモジュール83は、基礎的システム200の複数の定期的な実行の実際の動作を追跡することもできる。これは、ツールキャスト管理システム80内で、またはその動作の一部として収集されたデータを通じて基礎的システム200(またはその実行インフラストラクチャ)によって、行われ得る。この収集された情報に基づいて、TCパスオプティマイザ819は、どの経路が基礎的システム200を使用しているか、どの要素がアクティブであるか、どのインタラクションが許可されるか(及び許可されないか)などを決定することができる。これは、交通データを収集し分析して、実際の基礎となる地図と既存の道路とを求めるナビゲーションソフトウェア(WAZEなど)に似ている。
【0174】
ツールキャストストーリーボードクリエータ811は、さらに、適切な説明的コメントを作成するために、そのように埋めるべきテキスト内のプレースホルダ領域をユーザに提供することができる。このような領域の定義には、その中に何を記述すべきか(例えば、この領域で記述される基礎的システム200の要素、フロー、または機能の生成された記述)、この領域に適したテキストの量またはナレーションの時間、及び基礎的システム200内のヒントまたはそれに含まれるテンプレートに基づいて提供されるヒントなどの情報が含まれる場合がある。
【0175】
プレースホルダ領域には、生成的テキストエンジン(以下本明細書でより詳細に説明する)を使用して生成されたテキストセクションの例、パラメータ、モデル、及び特定のプレースホルダ(及び一般的なツールキャスト)を埋めるために機械学習(ML)モデルによって使用されるインスタンス化データがさらに含まれる場合がある。
【0176】
別の実施形態では、ツールキャストストーリーボードクリエータ811は、基礎となるWBSによって使用されるサイトテンプレートに基づいて動作し得る。これらには、ページセクションテンプレート、コンポーネントテンプレートなどが含まれ得る。そのようなツールキャストストーリーボードは事前に生成され、場合によってはツールキャストクリエータによる編集からのフィードバックに基づいて最適化され得る。
【0177】
生成的テキストエンジン812(GPT3または他のMLベースの自然言語生成エンジンなどの技術を使用する)は、ストーリーボード用のテキストを(予行演習ベースのストーリーボード内の全体またはセクションで)生成することができる。生成的テキストエンジン812は、異なるソースからのマテリアルに基づいて、または利用可能な情報の分析に基づいて、トレーニングされ、実行され得る。このようなソース及び分析には、(テキストチャット、音声指示、生成された質問への回答などを介して)ユーザによって提供された情報及び説明、サイトの生成に使用された基礎となるテンプレート、同じユーザによって作成された以前のツールキャスト、ウェブサイトの他の部分のために作成されたツールキャスト、及び基礎となるテンプレートまたはそれらを使用するサイト用に作成されたツールキャスト(関連する場合、ツールキャスト所有者の匿名性、プライバシー、及び知的財産権の対象となる)が含まれる場合がある。
【0178】
生成的テキストエンジン812はさらに、基礎的システム200の要素を分析することができるUNSアナライザ813の結果を使用することもでき、またはMLエンジン882を使用してデータ収集部881によって収集された情報を分析して、実際のユーザがサイトをどのように使用するかを判定することができる。このような分析には、基礎的システム200の内部情報(例えば、ウェブサイトDOM)及び外部情報(例えば、表示されたウェブサイト画面の画面イメージ)が含まれる場合がある。
【0179】
生成的テキストエンジン812はさらに、基礎となるWBSが収集したビジネスインテリジェンス(BI)情報(または基礎となるウェブサイトホスティングシステムによって収集された情報)を分析することができるBIアナライザ814の結果を使用することができる。これはまた、データ収集部881によって(例えば、基礎的システム200をリッスンすることによって)収集される特定のBIを含むこともあり、これは、異なるレベルの詳細を必要とし(そして収集し)、場合によっては全てのマウス、キーボード、及び他のUIインタラクションを収集する場合がある。
【0180】
UNSアナライザ813はまた、基礎的システム200に関連する記事、説明、仕様、及び他の技術情報を含むことができる基礎的システム200に関連する外部情報を分析することもできる。
【0181】
生成的テキストエンジン812はまた、サイトのどの領域に対してどのような順序でツールキャストを作成するかについてのユーザ提供の指示、ならびに生成的テキストエンジン812によって提供される質問に応えてユーザによって提供される追加のフィードバック及び回答を分析することもできる。ユーザとのインタラクションには、アンケートやフォームの明示的な使用、テキストチャットの使用、音声チャットの使用、センサーフィードバック(例えば、ジェスチャ認識)などを含む、複数の形式が取られ得る。
【0182】
生成的テキストエンジン812はさらに、追加情報なしでTCクリエータ81のユーザ記録セッションを使用することもできる(本明細書で上述した「予行演習」)。別のソースは、エンドユーザの使用、イベント、及び基礎的システム200を通るデータパスを記述するデータ収集部881(インターフェースモジュール83と連携して動作する)によって収集されるBIであってもよい。UNSアナライザ813によるそのような分析は、特に、(例えば、ユーザの行動及びたどられた経路の分析に基づいて)エンドユーザが基礎システム200の使用に困難を抱えている基礎システム200の領域の検出を含むことができる。このように特定された領域は、ツールキャストを関連付けることができる焦点として機能する場合がある。
【0183】
生成的テキストエンジン812はさらに、基礎的システム200に格納された基礎となるユーザデータと、基礎的システム200に関連するサポートコール及びサポートチケットからの情報とを使用することができる。このような情報には、基礎的システム200の実際のサポートセッションからの記録または抽出された情報が(例えば、サポート担当者のフィードバックを「トレーナーの声」として使用して)含まれ得る。
【0184】
ツールキャストストーリーボードクリエータ811はまた、ユーザのフィードバック及びサイト設計者によって行われたさらなる編集を使用して、以下本明細書でより詳細に説明するように、ストーリーボード要素及びアクション関連付けの生成を制御するMLモデルをトレーニングできることが理解されよう。このようなフィードバックには、(設計者によって)提案されたツールキャストに加えられた変更と、サイト閲覧者(ツールキャスト利用者)によるツールキャストの使用に関するフィードバックとの両方が含まれる場合がある。フィードバックには、追加の(別の)検閲者からのフィードバックが含まれる場合もある。フィードバックの統合により、生成されたツールキャストの品質をさらに向上させるフィードバックループが作成され得る。
【0185】
ツールキャストストーリーボードクリエータ811は、基礎的システム200においてユーザが何をする「必要がある」か、及びこれらのニーズを達成するために関連する知識を伝える最良の方法を理解するために、追加のステップを実行することができる。具体的には、ツールキャストストーリーボードクリエータ811は、MLエンジンマネージャ88を介してMLモデルを使用して、適切な基礎的システム200の動作をステップに分割し、これらのステップを通じてユーザをガイドし、可能であればユーザに自分でその作業を行わせることができる。
【0186】
したがって、ツールキャストストーリーボードクリエータ811は、必要に応じて(以下本明細書でより詳細に説明するように、ユーザインタラクションモジュールを使用する再生中を含む)ツールキャストセグメントの生成、変更、または操作を行い得る。ツールキャストストーリーボードクリエータ811は、ツールキャストとのユーザインタラクションに基づいて、既存のBTCの動的な再接続、再配置、または再構成を行うこともできる。例えば、ユーザがチュートリアルツールキャストを素早く閲覧する場合、ツールキャスト管理システム80は、BTCをより迅速に再生し、または通常のBTCの代わりにより簡潔なもしくは高度なBTCを使用することができる。
【0187】
本明細書において上述したツールキャストストーリーボードクリエータ811の機能は、テキストベースのツールキャストの作成及び編集を目的としていることが理解されよう。しかし、代替実施形態では、ツールキャストストーリーボードクリエータ811は、音声ベースの編集に同等の機能を提供することができる(以下本明細書でより詳細に説明する)。このような実施形態では、音声プレースホルダを音声記録で埋めることができ、生成されたテキストがテキスト読み上げによって読み取られ、一部のセクションを記録された音声セグメントで置き換えるように修正される可能性がある。
【0188】
本明細書上記で論じたように、ツールキャストストーリーボードクリエータ811は、フロー定義(線形/BTCまたはグラフ/CTC)及び必要なメディア(テキスト、音声など)を含む完全なツールキャストを生成することもできる。
【0189】
BTCの記録及び編集は通常、BTCがUIアクション及びアクティビティのシーケンスを反映するので、基礎的システム200のUI及びフローと結び付けられることが理解されよう。ツールキャスト管理システム80は、(スタンドアロンIDEを介してBTCを定義するなど)既知の方法を使用してBTCを作成し、編集することができる。また一方、BTC生成環境が統合された基礎的システム200を通じて、より良い結果を達成することができる。そのような2つの環境(テキストベース及び音声ベース)を、テキストベースのレコーダ815及び音声ベースのレコーダ816に関連して以下に説明する。
【0190】
さらに、記録/編集環境がリアルタイムのフィードバックを提供することが理解されるであろう。テキストベースのレコーダ815と音声ベースのレコーダ816とは両方とも基礎的システム200上で実行できるため、ユーザは結果と即座にインタラクションすることができる。例えば、基礎となるサイトでの操作により、正確なサイト応答(例えば、通常の使用条件下でユーザが受信するはずの応答)が生成される。
【0191】
次に、テキストベースのレコーダ815のサブ要素を示す
図8を参照する。テキストベースのレコーダ815は、リッチコンテンツエディタ8151、テキスト分析エンジン8152、TC(ツールキャスト)ファイナライゼーションモジュール8153、及びテキストデコーダ8154をさらに備え得る。
【0192】
次に、音声ベースのレコーダ816の要素を示す
図9を参照する。音声ベースのレコーダ816は、音声レコーダ8161、音声エディタ8162、音声ポストプロセッサ8163、及び音声デコーダ8164をさらに備え得る。
【0193】
テキストデコーダ8154及び音声デコーダ8164は、ユーザが入力したテキストまたは音声をデコードし、基礎的システム200とのインタラクション及び現在のユーザコンテキストの知識に基づいて、関連する要素またはアクションを指し示すことができる。TCクリエータ81はまた、ツールキャスト固有の自動完了を提供することもできる。このような自動完了は、一般的なIDEによって提供されるものよりも高レベルにすることができ、例えば、アクティビティやWBS操作の自動完了が含まれる場合がある。
【0194】
テキストベースのレコーダ815は、主要な編集環境として専用のリッチテキストエディタを使用してツールキャストの作成を可能にすることができる。テキスト編集を使用してインタラクティブなビデオのようなチュートリアルを作成し編集する機能により、TCクリエータ81は、トレーニング、ドキュメンテーション、及びサポートマテリアルを作成するための既存のツールと比較して、実質的に迅速かつ簡単なソリューションになる。
【0195】
ユーザ(サイト設計者/インストラクタ/クリエータ/オーディオ専門家であってもよい)によるツールキャストの作成に関与するステップには、リッチコンテンツエディタ8151を使用して、基礎となるトレーニングマテリアルとして使用されることになるテキストを作成することが含まれ得ることが理解されよう。このテキストは、ナレーション、字幕、またはその他の方法で配信され得る。このテキストは、作成されたツールキャストの「ストーリーボード」を形成する場合がある。
【0196】
リッチコンテンツエディタ8151は、テキスト属性(例えば、太字または斜体)をマークする方法と同様に、システムイベントとテキストの単語とをイベントと関連付けるために使用され得る。これらの関連イベントには、マウスの移動やクリック、テキスト入力などの基礎的システム200を駆動するイベント、またはコンポーネントの強調表示もしくは追加要素(例えば、矢印)の表示を含む基礎的システム200の画面表示に影響を与えるイベントが含まれてもよい。
【0197】
リッチコンテンツエディタ8151は、テキストに基づいて生成されたオーディオを制御するテキストマーカーを追加することもできる。これらは、例えば、SSML(音声合成マークアップ言語)標準で定義されたマーカーを使用できる。
【0198】
リッチコンテンツエディタ8151のUIがこれらの関連付けのグラフィック表現を提供できることが理解されるであろう。例えば、表示属性またはリンクがリッチテキストでどのように表されるかと同様に、UIはテキストの近くに、関連するターゲット位置(例えば、関連するUI要素)の小さな画像を表示する場合がある。背景色またはフレームは接続タイプを表す場合がある。ユーザが関連付け定義にリンクされたテキストにカーソルを合わせるか選択すると、UIがポップオーバーを開いて、ターゲットの場所または関連付け構成を編集できる。さらにテキストを編集することで、追加の情報が保存される場合がある。例えば、テキストを(例えば、コピー/ペーストを介して)移動すると、追加された補強要素も転送されるようになる。
【0199】
また、関連付け定義には、追加の構成情報、属性、及びパラメータが含まれる場合があることも理解されよう。
【0200】
テキストベースのレコーダ815は、イベント関連付けプロセスをサポートするためのツール及び環境を提供し得る。例えば、テキストベースのレコーダ815は、関連付けのターゲットとなる表示されたウェブサイトコンポーネントを識別するツールを提供し得る。
【0201】
例えば、テキストエディタの基礎的システムのためのツールキャストを作成する場合、ユーザは基礎となるテキストエディタのテキストのセクションを強調表示することができる。このシナリオでは、リッチコンテンツエディタ8151は、基礎的システム200内の関連するUIオプションを強調表示することができ、基礎的システム200に関連するポップアップメニューを表示させてそのオプションを強調表示させることができ、可能かつ関連する基礎的システム200のUIアクションのリストを提供することができる。
【0202】
ツールキャスト管理システム80は、(例えば)ブラウザ拡張機能もしくはプラグインを使用して、または基礎となるウェブサイトを実装しもしくはホストするために使用されるWBSの機能として、そのようなツールを実装することができる。
【0203】
テキストベースのレコーダ815は、このプロセスに追加レベルの自動化を提供することができる。テキスト分析エンジン8152は、提供されたストーリーボードのテキストを分析し、関連する要素の関連付け及びアクションを自動的に提案する(すなわち、私たちが話していることを検出する)ことができる。例えば、ストーリーボードは「[続行]ボタンを押す」と指定することができ、分析により、このテキストセグメントと、基礎的システム200の適切な場所にある関連する[続行]ボタンをクリックする操作との間の関連付けを作成することができる。このような関連付けは完全に自動で行われる場合もあれば、ユーザによる承認が必要な場合もある。
【0204】
テキスト分析エンジン8152が現在のウェブサイト表示のコンテキストの中で分析できることが理解されよう。したがって、汎用のテキスト分析よりも具体的で焦点を絞った結果を提供できる(例えば、現在表示されているウェブサイト要素のみが関連する場合がある)。
【0205】
テキスト分析エンジン8152は、場合によってはフロントエンド、バックエンド、及び手続き要素を含む、基礎となるウェブサイト(WBSベースまたは非WBSベース)の構造及びフローの別個の分析から利益を得ることもできる。テキスト分析エンジン8152は、分析の結果をテキストベースの分析の結果と相関させることができる。したがって、(例えば)ウェブサイトが、ボタンBの前にボタンAを押すことを要求する場合、テキスト分析エンジン8152は、不特定のボタン(テキスト中で参照される)を、それらの順序に従ってボタンA及びBに関連付けることができる、すなわち、ユーザがテキスト内で押すボタンに名前を付けていない状況を修正することができる。
【0206】
WBSベースのウェブサイトの場合、MLエンジン882は、WBSがMLエンジンマネージャ88を使用することによって提供される共通テンプレートでトレーニングできることが理解されよう。このトレーニングには、所与のサイトを、(サイトには複数のテンプレートの要素が含まれる場合があるため)その構築に使用される基礎となるテンプレートに関連付ける特定の機能が含まれる場合がある。したがって、テキスト分析エンジン8152は、そのようなトレーニング及び情報から利益を得ることができる。
【0207】
さらに、ツールキャストテキスト表現は、通常のリッチテキストドキュメントの編集と同様に、リッチコンテンツエディタ8151を使用して編集できることが理解されるであろう。テキストセグメントの削除、移動、及びコピーを行うことで、関連するイベントも変更される可能性がある。したがって、(例えば)テキストセグメントが複製される場合、マッチする同期アクションのセットも複製されることになる。
【0208】
TCクリエータ81はまた、追加のツールキャスト要素を作成することもできる。例えば、ツールキャスト管理システム80は、テキスト読み上げエンジンを介して提供されたテキストからナレーション音声を生成することができる(または逆に、ユーザが音声読み上げエンジンを介してテキストの一部を口述できるようにし、場合によっては以下で説明する音声ベースのエディタをテキストベースのエディタに統合することもできる)。
【0209】
ツールキャスト定義(ストーリーボードテキスト及び関連する関連付け定義を含む)が完了すると、TCファイナライゼーションモジュール8153がツールキャストを終了させることができる。
【0210】
TCファイナライゼーションモジュール8153は、ストーリーボードのテキストを(例えば、テキスト読み上げエンジンを介して)音声に、または画面上の関連する位置に配置された字幕のセットに(またはその両方に)変換することができる。
【0211】
TCファイナライゼーションモジュール8153は、スクリプト内の単語の適切なタイミングを算出することもできる。TCファイナライゼーションモジュール8153は、測定モードでツールキャストを実行し、(ツールキャストのイベント及び音声/字幕の最終的なタイムラインを作成するために)音声に変換されたツールキャストテキスト内の全ての単語の開始時刻及び終了時刻を決定することができる。代替実施形態では、音節または文などの他の音声単位を使用することもできる。
【0212】
このような実行は、「可変速度」を有する場合がある。すなわち、速度が、音声生成の妥当な速度によって設定される場合もあれば、基礎的システム200の実行時間によって設定される場合もある(つまり、音声はシステムが終了するまで待たなければならない)。このような実行は、(以下本明細書でより詳細に説明するように)実行による永続的な副作用を防ぐ特定の基礎的システム200のモードで行い得ることが理解されよう。
【0213】
このファイナライゼーションは、ツールキャスト公開プロセス(以下本明細書でより詳細に説明する)とは切り離されていることも理解されよう。TCファイナライゼーションモジュール8153は、基礎的システムのクライアント、サーバ、別個のサーバ、またはそれらの組み合わせの上で実行され得る。
【0214】
音声ベースのレコーダ816は、ユーザが自分自身を記録し、次いでその記録をリプレーできるように、その記録をツールキャストファイルに変換できるようにし得る。ユーザによっては、テキストを書くよりもこのフローの方が自然で操作しやすい可能性がある。結果として得られる記録は、ツールキャストリッチテキスト形式に変換して、後にテキストベースのレコーダ815で編集することもできる。
【0215】
したがって、ユーザは、基礎的システム200を使用しながら自分自身を記録することができる。ボイスレコーダ8161は、基礎的システム200のオーディオ及びアクションの両方を記録することができる。これは、追加の要素(基礎的システム200に追加された視覚的強調表示など)で強化することができる。
【0216】
次いで、音声エディタ8162は、音声テキスト化を使用して、オーディオをテキストに変換し、各単語(または他のテキストセクション)の開始及び終了のタイミングを取得することができる。音声エディタ8162は、生のユーザイベントを、要素に関連するツールキャスト準備完了イベントに変換することができる。音声エディタ8162は、記録されたツールキャストのリッチテキスト表現を(関連するアクションと共に)生成することができる。
【0217】
ツールキャスト管理システム80は、(上記のツールキャストストーリーボードクリエータ811の使用と同様に)2フェーズ法を使用するオーディオベースの記録をサポートすることもできる。この方法では、基礎的システム200が(ナレーションなしで)記録され、ナレーションが別のフォローアップフェーズで追加される。音声ベースのレコーダ816は、予備的なタイミング情報をユーザに提供して、ユーザがナレーションを計画するのに、そのように役立つことができる。
【0218】
音声ベースのレコーダ816が音声指向の編集を提供できることが理解されよう。例えば、音声エディタ8162は、ユーザが、記録の所与のセグメントを、既存の音声セグメントの「上に」新たに記録されたセグメントで置き換えることを可能にし得る。
【0219】
音声ポストプロセッサ8163は、音声品質の改善、「デッド」セグメントの除去または縮小、「ああ」などの「言い間違い」音声の除去、背景雑音の除去などの関連する後処理機能を提供することができる。そのような動作は、関連するアクションの存在と、基礎的システム200の機能とに適合させることができる。すなわち、音声のギャップを必要とするシステムアクション(表示に影響を及ぼさないものも含む)が並行して発生している場合、無音の録音セクションは自動的に削除されない可能性がある。
【0220】
本明細書において上記で説明したツールは、線形BTCの作成及び編集をサポートすることが理解されるであろう。CTCクリエータ及びエディタ818は、1つ以上のBTCを含むCTC、またはそのようなCTCの階層を作成し、編集し、それらを基礎的システム200で発生する特定のイベント及びトリガに関連付けるために使用され得る。
【0221】
ここで、CTCクリエータ及びエディタ818の要素を示す
図10を参照する。CTCクリエータ及びエディタ818は、タイムライン決定部8181、視覚グラフエディタ8182、及び記録アナライザ及びセパレータ8183をさらに備え得る。
【0222】
さらに、CTC定義は、CTCフローと、(本明細書で上述したように)CTC及びBTCが関連付けられるイベント及びトリガとを指定することが理解されるであろう。
【0223】
タイムライン決定部8181は、タイムラインまたは検出されたウェブサイトイベントに基づいて、アクションが実行される方法を決定することができる。これは、上位レベルのCTCに影響を与える可能性があり(例えば、CTCの様々な要素がいつどのように実行されるかを決定する)、基礎となるBTCにも影響を与える可能性がある(つまり、特定のBTCの実行方法に影響を与える)。
【0224】
CTC定義には、線形タイムライン(BTC及びCTCの場合)、状態チャート、アクティビティグラフ(マルチレベルグラフを含む)、スクリプト定義(スクリプトまたはプログラミング言語の使用)、またはその他のメカニズムが含まれ得る。
【0225】
一実施形態では、フローは、1つ以上の状態チャートを使用して定義され得る。これらの状態チャートは、以下本明細書でより詳細に説明するように、ツールキャスト要素がいつ、どのような条件で再生されるかを記述する。視覚グラフエディタ8182は、チャートの編集及び基礎的システム200との統合を可能にする視覚状態チャートエディタを提供し得る。
【0226】
視覚グラフエディタ8182は、有向グラフ、マルチレベルグラフ(すなわち、ノードがサブグラフを含むグラフ)、及びマルチグラフ(ノードペアが複数の接続エッジを有することができる)の編集のサポートを含み得る。
【0227】
別の実施形態では、記録アナライザ及びセパレータ8183は、クリックまたは意味のあるアクションをインターセプトし、それらのアクションによって接続された複数のBTCに線形記録を分離することによって、単一の記録から線形CTCを作成することができる。
【0228】
また、場合によっては、基礎的システム200のナビゲーションとCTC構造(例えば、状態チャートグラフ構造)との間のマッピングが明らかでないか、または自動的に決定できないことも理解されるであろう。したがって、視覚グラフエディタ8182は、ユーザと情報を交換して、正しい構造及びナビゲーションを決定することができる。これは、代替案(拒否、承認、または変更が可能)を提示すること、1つ以上の質問をすること、またはその他の手段によって行うことができる。
【0229】
BTCの場合、基礎となるグラフは単純なもの(例えば、場合によっては、いくつかのエントリポイント、エグジットポイント、または特定のサブシーケンスをスキップする分岐を伴うノードの線形シーケンス)である場合がある。ただし、CTCについて説明したのと同じ技術及びインターフェースが、BTC編集にも適用できる場合がある。
【0230】
本明細書で上述したレコーダ及びエディタは一般に、例えば音声ベースのツールキャスト生成を使用するとき、または予行演習方法を使用するときに、基礎的システム200内のユーザのアクションを記録することが理解されよう。このような記録は通常、直接的である。すなわち、基礎的システム200との実際のユーザインタラクションを記録し、このインタラクションを関連イベント、トリガ及びタイミング情報(ツールキャストが関連付けられる)の定義に変換する。
【0231】
しかしながら、そのような記録には、ユーザが想像するような、基礎的システム200のタスクを実行するための最良の方法が含まれていない可能性がある。ユーザは、無関係または間違ったステップを実行する場合があり、必要なステップを見逃して後でそのステップに戻る場合があり(ツールキャスト視聴者を混乱させる可能性がある)、または自分のステップを再追跡している場合がある。
【0232】
したがって、TCパスオプティマイザ819は、ユーザのステップを分析して、ユーザのアクティビティの最適化された、正規の、またはクリーンアップされたバージョンを作成することができる。このような分析は、コード最適化の分野の(例えば、コンパイラで使用されるような)技術を含む、様々な方法で実装され得る。
【0233】
ここで、TCパスオプティマイザ819の要素を示す
図11を参照する。TCパスオプティマイザ819は、記述パスジェネレータ8191及び適応エンジン8192を備え得る。
【0234】
TCパスオプティマイザ819は、MLエンジン882を使用して、基礎的システム200の構造、ユーザがとったステップ、(例えば、収集されたBI情報を通じて)同じシステムのエンドユーザがとったステップ、同様のテンプレートを使用して他のサイトのエンドユーザがとったステップ(他のユーザの匿名性、プライバシー、及び知的財産(IP)権の対象となる)を分析する(そしてそれらに関してトレーニングを受ける)。
【0235】
MLエンジン882は、テンプレート設計者によって提供されるヒント(例えば、WBS設定における事前定義されたテンプレートごとのパス定義)、関連する基礎的システム200のセクションに関連付けられた他の技術マテリアルで提供されるコンテンツまたは明示的なヒントをさらに分析し、それらに関してトレーニングすることができる。このようなマテリアルには、同じ機能またはフローを実行するための代替のパス、最適化されたパスまたはより単純なパスをおそらく作り出す設計、仕様、ドキュメンテーション、トレーニング、またはサポートが含まれ得る。
【0236】
記述パスジェネレータ8191は、最適化がどのように実行されたか、すなわち、提案された代替フロー(またはユーザ指定の再コード化フローに対して行われた変更)が、より良くまたは最適化されつつ、どのように結果を提供するかについての記述的情報/説明を生成することができる。このような説明は、記録されたフローと変更されたフローとの間のマッピングに基づくことができる。
【0237】
適応エンジン8192は、記録されたパスに対して行われた変更に関連してツールキャストの追加要素を適応させることができる。このような適応は、イベントトリガやACEなどの定義に影響を与える可能性がある。変換には、要素の並べ替え、冗長になった、不必要になった、または「孤立」した要素の削除、及び変更されたパスに適合するように(例えば、テキスト、画像、音声、またはビデオコンテンツなどの様々なACEの分析とその後の生成とを通じて)要素の実際のコンテンツを変更することが含まれ得る。
【0238】
適応エンジン8192は、変更を直接実行するか、ユーザによって評価され、受け入れられ、拒否され、またはさらに修正される変更計画(例えば、タスクリストとして提示される)を作成することができる。このような場合のユーザの応答は、適応エンジン8192のトレーニングのための追加のフィードバックを提供し得る。
【0239】
統合UNS/TCエディタ8120は、所与の基礎的システム200の統合編集または組み合わせ編集をそのツールキャストと共に提供できることが理解されるであろう。このような統合編集は、基礎的システム200の設計者が2つの同期を保つのに役立つ可能性がある。UNS/TCエディタ8120は、グラフアナライザ81201を備え得る。
【0240】
さらに、基礎的システム200とツールキャストの関係は多対多の関係であることが理解されよう。単一の基礎的システム200は、(例えば、異なるコンポーネント及びサブシステムのための)複数の関連ツールキャストを有することができる。このようなツールキャストは、「傘」のトップレベルCTCの下に統合される場合があるが、必ずしもそうである必要はない。
【0241】
単一のツールキャスト(例えば、共通コンポーネント用)が、複数の基礎的システム200(例えば、同じテンプレートを使用する、同じコンポーネントを使用する、複数の基礎となるウェブサイト、または同じ基礎的システム200の複数のインスタンス)に関連付けられ得る。
【0242】
本明細書で上記に説明したように、ツールキャストは通常、グラフ構造のオブジェクト(より正確には、マルチレベルのグラフ)である。これは、CTC(グラフベースの状態チャートを使用して記述できる)とBTC(グラフ表現が含まれる場合もある)との両方に当てはまる。
【0243】
基礎的システム200は、グラフ(または場合によってはマルチレベルグラフ)として記述することもでき、グラフアナライザ81201は、表示されたページ間の相互接続、及び場合によっては(フローが定義されている)単一ページのサブエリア間またはコンポーネント間の相互接続を決定することができる。
【0244】
基礎的システム200のグラフのノード間のナビゲーションは、明示的であっても暗黙的であってもよいことが理解されるであろう。例えば、明示的なナビゲーションは、基礎となるウェブサイトの異なるページ間の直接のハイパーリンクに基づく場合がある。暗黙的なナビゲーションは、分析、計算、検索結果、または外部データベース情報に基づいて生成されたナビゲーションターゲット(例えば、URL)に基づく場合がある。
【0245】
明示的なナビゲーションの場合、グラフアナライザ81201は、基礎的システム200の静的分析に基づいて(例えば、基礎となるウェブサイト内の配線された「href」リンクから)グラフアークを決定することができる。暗黙的ナビゲーションの場合、グラフアナライザ81201は、表示されるコンポーネント、ユーザフロー、及び実行時に収集される他の情報の動的(実行時)分析を使用して、基礎的システム200のグラフアーク(例えば、ウェブページ遷移)を決定し得る。
【0246】
基礎的システム200及びツールキャストグラフの両方は、切り離されていてもよく、すなわち、複数の互いに素なサブグラフから構成されていてもよい。これは、(例えば)基礎的システム200が外部パラメータ(例えば、時期、地理に基づいて検出されたユーザセグメンテーション、ユーザタイプなど)に基づいて提示される複数のウェブサイトを含む場合に、基礎的システム200で発生する可能性がある。
【0247】
統合されたUNS/TCエディタ8120は、基礎的システム200及び関連するツールキャストの同時編集、すなわち、基礎的システム200の編集機能(例えば、基礎となるWBS視覚エディタ)及びツールキャスト編集(例えば、CTCグラフ/状態チャートエディタ)の組み合わせを可能にし得る。統合されたTC/UNS編集は、2つのグラフを並行して編集できるように、基礎的システム200のグラフとTCグラフとの間のマッチングに基づき得る。したがって、例えばグラフ間の類似性(準同型性)の分析に基づいて、例えばグラフのうちの1つに加えられた変更を他のグラフに反映することができる。さらに、1つのグラフのノード(例えばウェブサイトのページ)の基礎となる要素で領域が変更されると、他のグラフのマッチするノードがメンテナンス対象としてマークされるようになり得る(例えば、そのページのマッチするツールキャストなど)。
【0248】
統合UNS/TCエディタ8120はまた、(アソシエーションマネージャ817を介して)基礎的システム200とユーザによって拒否、確認、または編集され得るツールキャストとの間の自動関連付けを提案することもできる。
【0249】
カバレッジアナライザ8121は、基礎的システム200とツールキャストとの間にミスマッチが存在する領域を検出し、それらをユーザに指し示して、例えばユーザが基礎的システム200またはツールキャストのいずれかを変更することによって状況を修正できるようにすることができる。これらは、カバレッジのない領域、ツールキャストのカバレッジが重複する状況、基礎的システム200とツールキャストが同期していない領域、異なるツールキャストのカバレッジを有する同様のサブ要素の使用などであり得る。カバレッジアナライザ8121は、ページ、コンポーネント、関連する手続きコード、及び基礎的システム200の他のユニットのツールキャストのカバレッジをチェックすることができる。また、ツールキャストに何が欠けているかを判定することもできる。カバレッジアナライザ8121は、ツールキャストテキストまたは音声の分析を使用して、ツールキャスト定義でカバーされていない言及された要素を検出することができる。
【0250】
編集時間レコメンダ8122は、ツールキャスト設計者に編集のヒント及びオプションを提供することができる。編集時間レコメンダ8122は、基礎的システム200(またはその基礎となる開発フレームワークもしくはWBS)及びツールキャスト管理システム80のユーザのアクティビティに基づいてトレーニングされてもよい。
【0251】
統合UNS/TCエディタ8120の使用例としては、ユーザがツールキャストを編集してツールキャストノードを追加し、それらを基礎的システム200内の適切なノード及びイベントに即座に関連付ける機能である。視覚グラフエディタ8182は、本明細書で上述した様々なツールキャストレコーダ(テキストベースのレコーダ815及び音声ベースのレコーダ816など)と統合させることもできる。
【0252】
ツールキャスト管理システム80が対処する必要がある1つの問題は、基礎的システム200が変更されたときにツールキャストをどのように維持するかであることが理解されるであろう。これには、ツールキャストがアクティブ化され、基礎的システム200が任意のレベルでツールキャストに定義された参照とマッチしない場合に何をすべきかも含まれる。これは、例えば、必要なメンテナンス操作が(正しくまたはまったく)実行されていない場合などに発生する可能性がある。このような変更は、基礎的システム200自体に対する変更、基礎的システム200の展開及び実行時環境に対する変更(例えば、基礎となるオペレーティングシステムに対する変更、または基礎的システム200によって使用される動的にリンクされたコードに対する変更)によって生じ得る。
【0253】
基礎的システム200は、多くの場合、開発フレームワークを使用して開発(及び展開)されることが理解されるであろう。この開発フレームワークは、継続的統合(CI)及び継続的展開(CD)サービスに基づくフレームワークであり、かつこれらを提供するフレームワークであり得る。以下の説明においては、WBSを開発フレームワークのカテゴリとみなすことができる。
【0254】
メンテナンスモジュール87は、上述のメンテナンス及びマッチングの問題を解決することができ、基礎的システム200の開発フレームワークと統合させることができる。このようにして、メンテナンスモジュール87は、基礎的システム200の変更(例えば、そのレイアウト、フロー、コンテンツ、またはデータの変更)の分析に基づいて、ツールキャストがいつ中断するかを自動的に認識することができる。
【0255】
このような統合は、特殊なインターフェース(例えば、ウェブサービス)、または開発フレームワークに統合されたツールキャスト管理システム80の展開エージェントもしくはプラグインの使用など、本明細書で上述した方法のいずれかで達成することができる。
【0256】
起こり得るツールキャスト中断に対応するために、ツールキャスト管理システム80は、以下本明細書でさらに詳述するように、フォールバック、通知、及び中断重大度検出を提供する要素を提供することができる。これは、TCクリエータ81及びTCプレーヤ85の両方で行うことができる。
【0257】
次に、メンテナンスモジュール87の要素を示す
図12を参照する。メンテナンスモジュール87は、TC(ツールキャスト)展開エージェント871、更新アナライザ872、情報収集部873、通知部874、TC(ツールキャスト)調整部875、及びTC(ツールキャスト)フォールバック適用部876をさらに備え得る。
【0258】
TC展開エージェント871は、開発フレームワーク内の基礎的システム200の要素に(例えば、追加モジュールとして)追加され得る。TC展開エージェント871は、関連する基礎的システム200のアプリID(または他のメタデータ)を介してのみ構成され得る汎用エージェントであってもよい。TC展開エージェント871は、ツールキャストプロジェクトに関連する追加の構成情報を、例えば、ツールキャスト管理システム80サービスを提供するサーバからフェッチすることができる。
【0259】
TC展開エージェント871は、基礎的システム200の変更が展開されようとしているときにアクティブ化され得る。更新アナライザ872は、壊れている、または何らかの他の理由で動作していないツールキャスト要素を検出するための分析を実行することができる。分析により、ツールキャストの中断レベルに関する情報が得られる場合がある。中断は、特定のBTCに関連する場合もあれば、ツールキャストの大部分に影響を与える場合もある。
【0260】
更新アナライザ872は、構造レベルで実行することができ、すなわち、ツールキャストに対応する基礎的システム200内の要素が総体的に変更されたかどうかを分析することができる。この分析には、所与の構造変更がいつどこで行われたか、さらにはID及びタイムスタンプの適合性が含まれる場合がある。分析では、ツールキャストが、変更または削除された所与の基礎的システム200要素を記述しているか、コンテンツ及び意図をも分析し得る。更新アナライザ872はまた、ツールキャスト及び基礎的システム200のコンテンツの認識及び分析を実行することもできる。ツールキャスト管理システム80が、基礎となるウェブサイトをホストするWBSと統合される特定のケースでは、情報収集部873は、WBSの文書管理サブシステムとインターフェースして、基礎となるウェブサイトで何が変更されたかに関する直接情報を取得することができる。あるいは、情報収集部873は、基礎となるサイトの異なるバージョンを(WBSオブジェクト形式の情報と共に)取得し、バージョンを比較して変更を検出することもできる。
【0261】
上記の2番目のシナリオは、例えば、サイト要素Aにアタッチされたツールキャストがサイト要素B(直接関連付けられたツールキャストを持たない)を記述する場合に関連する可能性がある。例えば、(B自体ではなく)Bに意味的に関連するAと組み合わせてBを説明する方が合理的である可能性がある。このようなシナリオでは、更新アナライザ872は必要な情報を提供することができる。
【0262】
更新アナライザ872は、開発者が提供するヒントによってサポートできることが理解されるであろう。例えば、Aのツールキャスト構成情報において、このツールキャストがAだけでなくBにも関連することを定義することによって、この分析に基づいて、更新アナライザ872は、どのツールキャスト要素(CTCまたはBTC)がどのような方法で変更されるべきかを決定することができる。
【0263】
通知部874は、基礎的システム200またはツールキャスト開発者にそのような更新を通知することができる。これには、関連するツールキャストに関連する説明メディアの生成が含まれる場合がある。
【0264】
TC調整部875は、ツールキャスト自体に自動修正または調整(例えば、位置フックまたはタイミング情報の調整)を提供することができる。
【0265】
TCフォールバック適用部876は、ツールキャスト要素の一部または全てにフォールバックを適用することができる。TCフォールバック適用部876はまた、基礎的システム200の要素の一部または全てのツールキャスト再生を無効にすることができ、ツールキャスト管理システム80を(例えば、ツールキャストが更新されるまで)シャットダウンすることができる。
【0266】
TCフォールバック適用部876は、代替技術を使用して、関連する基礎的システム200のサイトセクションを説明する通常のビデオなどの代替手段を通じて関連コンテンツを伝達することができる。
【0267】
UNSアナライザ813及び/または更新アナライザ872はまた、以下本明細書でより詳細に説明するように、TCプレーヤ85によって使用される基礎的システム200の状態マッピング情報を分析することもできる。
【0268】
基礎的システム200の開発者は、基礎的システム200の開発フレームワークにおいて基礎的システム200の複数のバージョン及び構成を管理できることが理解されるであろう。これらには、直列バージョン(時間的に互いに続く)、並列構成(複数の共存するバリアント)、及び暫定バージョン(まだ開発中)が含まれ得る。
【0269】
ツールキャスト管理システム80は、例えばバージョン/構成IDに基づいて、これらの複数のバージョン及び構成にマッチするツールキャストを維持することができる。
【0270】
基礎的システム200のそのような並列構成は、基礎となるコードの複数のバージョンを提供するA/Bテストまたは多変量テストを含むことができる。一部のA/Bテストはかなりの期間オープンにされる可能性があるため、基礎的システム200の開発者は、複数のA/Bテストブランチに対して複数のツールキャスト要素を作成することができる(例えば、UNSは、テストバリアントごとに異なるTC要素を表示することになる)。実際、ツールキャスト自体がA/Bテストの対象となり、どのツールキャストが、関連する基礎的システム200セクションのよりよい使用を提供するかをテストすることができる。
【0271】
これらの場合、TCクリエータ81及びTCプレーヤ85は、基礎的システム200を処理するテスト管理システム(米国特許第10,733,078号に記載されているものなど)とインターフェースし得る。
【0272】
さらに、基礎的システム200上のそのような並列構成には、ツールキャストの複数の言語バージョン(翻訳)も含まれ得ることが理解されるであろう。ツールキャスト管理システム80は、例えば、表示されたACE(複数の全メディアタイプを含む)の複数の言語バージョンの入力を可能にする翻訳UI拡張に基づいて、所与のツールキャストの複数のマッチする翻訳(テキスト翻訳及びイベント再配置を含む)をサポートし得る。
【0273】
ここで、TCプレーヤ85の要素を示す
図13を参照する。TCプレーヤ85は、TC(ツールキャスト)アクティベータ851、リモートユーザシミュレータ853、TC(ツールキャスト)制御ツールバー表示部854、ACE表示部855、及びユーザインタラクションマネージャ856を備え得る。ここで、TCアクティベータ851の要素を示す
図14を参照する。TCアクティベータ851は、アクティブ化情報収集部8511、アクティブ化情報アナライザ8512、及びランタイムレコメンダ8513をさらに備えることができる。
【0274】
TCアクティベータ851は、ユーザによる(例えば、特定のボタンを押すことによる)ツールキャストの明示的なアクティブ化を提供することができ、またツールキャストの自動アクティブ化を提供することもできる。すなわち、TCアクティベータ851はバックグラウンドで実行され、以下本明細書で説明するようにツールキャストを自動的にアクティブ化する。
【0275】
TCプレーヤ85は、ユーザの状態及びデータ、ならびに基礎的システム200におけるトリガ及びイベントに基づいて、ユーザの基礎的システム200上でツールキャストを動的に実行することができる。この実行には、個別のツールキャストのアクティブ化、または特定のマルチノードCTC内の特定のエントリポイント(状態チャートノードなどのグラフノード)を使用したアクティブ化及びエントリが含まれる場合がある。
【0276】
TCアクティベータ851は完全に自動であってもよいし、ユーザの確認を必要としてもよい。後者は、特定の基礎的システム200領域に対して、または特定の条件及びシステム状態の下で、複数のツールキャストがアクティブ化される(または別の方法で利用できる)場合に特に関連し得る。
【0277】
ツールキャストのアクティブ化またはナビゲーションの決定を行う場合、TCアクティベータ851は、現在表示されているページ、内部状態情報、及び任意の瞬間に表示されているものを含む基礎的システム200の状態、及びBI情報、サイトに関するデータ(デザイン、レイアウト、及びサイトデータを含む)、ならびに特定のユーザに関するデータを含む基礎的システム200(またはそれをホストするシステム)の任意の内部データベース及びリポジトリなど、複数のソースからアクティブ化情報収集部8511によって収集された情報を考慮に入れることができる。
【0278】
TCアクティベータ851は、利用可能な情報から決定されるユーザの状態を考慮することもできる。統合システムでは、この情報には、特定のウェブサイトに関連しないユーザ情報(例えば、ホストされている特定のウェブサイトだけでなく、ユーザ全般に関する統合されたWBS情報)を含む、基礎的システム200からアクティブ化情報収集部8511によって個別に収集されたユーザ関連情報が含まれる場合がある。
【0279】
TCアクティベータ851によるツールキャストのアクティブ化は、(本明細書で上述したように)関連付けに基づいて実行できることが理解されるであろう。このような関連付けには、アクティブ化の条件やルールも含まれる場合がある。これらの条件及びルールは、基礎的システム200(例えば、ユーザのウェブサイト)内またはその外部で発生する様々なイベント、ならびにアクティブ化情報アナライザ8512によって分析される基礎的システム200のデータに基づいて、ツールキャストをアクティブ化することができる。これらには、ボタンを押すこと、コンポーネントの近くでマウスをホバリングすること、基礎的システム200におけるフローなど、基礎的システム200からのリンクを押すことなどのユーザアクションが含まれてもよい。この押すことにより、ツールキャストがアクティブなサイトページが開く場合がある。リンクは、サイト内の一般的なリンクである場合もあれば、ツールキャストに関連する特定のリンクである場合もある。
【0280】
ツールキャストのアクティブ化は、API、ウェブサービス、または基礎的システム200に利用可能な他のインターフェースタイプを通じて行うこともできる。インターフェースモジュール83を介して、TCアクティベータ851は、ツールキャスト管理システム80によって実装される任意のロジック及び関連付けとは別に、いつツールキャストをトリガ及びアクティブ化するかについての独自のロジックを実装することができる。
【0281】
ウェブサイトである基礎的システム200の場合、アクティブ化情報アナライザ8512は、ウェブサイトのDOM及び状態情報(ならびに基礎的システム200の情報またはユーザデータ)を分析し、ツールキャストノードに変換して開くことができる情報を導き出すことができる。
【0282】
TCアクティベータ851はさらに、基礎的システム200内のポイントに関連付けることができる事前定義された初期ノードを介して、または内部/DOM分析に加えて外部の視覚的分析から画面を調べるアクティブ化情報アナライザ8512の結果からアクティブ化することができる。このような分析アルゴリズムの多くは、米国特許第11,275,815号に記載されている。
【0283】
アクティブ化は、基礎的システム200に関する、またはそれによって保存された、プロアクティブな分析、「ユーザが特定の基礎的システム200領域でスタックしているか、または問題を抱えているか」などの、アクティブ化情報アナライザ8512によるユーザ行動の分析、基礎的システム200に関するサーバ側情報に基づくことができる(そのため、通常の状況ではアクティブ化されない「シャドウ」ツールキャストをアクティブ化できる)。
【0284】
アクティブ化情報アナライザ8512はまた、アクティブ化、ユーザ関連のメトリクス、パラメータ、及びイベントを決定することもできる。これには、音声ベースの感情分析や音声ベースのトリガなどのユーザメトリクスの分析が含まれる場合がある。これらは、直接の音声コマンドや、ストレスやフラストレーションなどを示す音声分析に基づいていてもよい。
【0285】
アクティブ化はまた、例えば、センサ、ジェスチャ分析などを介した、ユーザに関連する検出によって、上述したツールキャスト管理システム80/基礎的システム200インターフェースを介して検出され得る他のイベントまたは条件によって、または基礎的システム200とのインタラクションによって、またはツールキャスト管理システム80自体(あらゆるマウス、キーボード、音声、または他のインタラクションを含む)によって、トリガされ得る。
【0286】
ランタイムレコメンダ8513は、どのCTCをアクティブ化するかを選択することができる。ランタイムレコメンダ8513は、規則ベースまたはMLベースであってもよく、本明細書で上述した関連付け及び他の情報及びイベントを使用してもよい。
【0287】
ランタイムレコメンダ8513は、所与の時点でどのツールキャストを実行するのが最適であるかを(内部フローエンジンではなく)ユーザに明示的に推奨することもできる。ランタイムレコメンダ8513はツールキャストごとの基礎となる条件仕様を使用し得る。すなわち、基礎的システム200の状態、必要な基礎的システム200構造の存在、及びユーザの以前のアクション(特定のURLへの移動など)に関して、ツールキャストが再生可能であるために必要な条件は何か、を使用し得る。ランタイムレコメンダ8513によって収集及び生成された情報(特定の時点で実行される可能性のあるツールキャストのリストなど)は、「詳細を教えてください」表示のツールキャストコンテンツテーブルを作成するために使用され得る。
【0288】
TCプレーヤ85は、基礎的システム200内のユーザの状態及びイベントに基づいてツールキャスト(BTC及びCTCの両方)内をナビゲートできることが理解されるであろう。このユーザ状態は、アクティブ化情報収集部8511及びUNSアナライザ813によって基礎的システム200(及び場合によっては基礎的システム200をホストする基礎的インフラストラクチャ)から抽出された情報に基づいて定義される。このような情報には、表示される基礎的システム200情報(例えば、サイトDOM)が含まれ得る。この情報には、現在表示されているURL/ページ、表示されている要素、各要素内のコンテンツの位置(スクロールバーの位置など)などの特定の詳細が含まれる場合がある。
【0289】
この情報には、別個の並列チャネルを通じて利用可能なデータ、及び本明細書で上述したように(統合されているかどうかにかかわらず、ツールキャスト管理システム80と基礎的システム200との間のインターフェースに関して)、基礎的システム200から抽出され、アクティブ化情報アナライザ8512によって分析されるデータを含む、基礎的システム200によって(クライアントまたはサーバ側から)公開されるデータも含まれ得る。
【0290】
ここで上述したアクティブ化情報アナライザ8512による分析の一部は事前に実行できることが理解されるであろう。例えば、実行時に分析を行う代わりに、TC展開エージェント871は、展開された基礎的システム200のバージョンの分析を実行し、基礎的システム200への変更が展開されるたびに状態マッピングモデルの初期情報を収集することができる。
【0291】
このような実行時分析または事前実行分析に基づいて、UNS構造マッパー84は、基礎的システム200の状態及びデータ(複雑なDOMツリーなど)と状態チャート内の明確に定義されたユーザ状態との間をマッピングするためのマッピングモデルを作成し、操作することができる。
【0292】
UNS構造マッパー84は、マッピングモデルを使用して、(本明細書で上記に定義したように)ユーザ状態を導出し、それをシステム状態に変換することができる。UNS構造マッパー84は、収集された情報(DOM、ユーザ位置、基礎的システム200のデータ、またはその他)を状態チャート内の状態にマッピングすることができる。次に、マップされたユーザイベント及びデータに基づいて状態チャート内の状態間を横断し、導出されたシステム状態に基づいてツールキャストをアクティブ化するようにTCアクティベータ851に指示することができる。次いで、UNS構造マッパー84は、以下本明細書でより詳細に説明するように、複数の出力タイプ及び効果を含む、アクティブ化されたツールキャストから出力を生成することができる。
【0293】
UNS構造マッパー84はまた、CTCに統合された(そしてCTCの基礎となるグラフ構造を形成する)状態チャートを実装することもできる。ツールキャスト管理システム80はまた、別個の状態チャート(例えば、基礎的システム200に関連し、CTCの一部ではないが、依然として別個のツールキャスト再生を駆動するもの)を実装することもできる。
【0294】
ツールキャスト管理システム80は、基礎的システム200の状態とデータ、ユーザアクティビティ、及びツールキャストフローとの間をマッピングするために代替構造を使用できることが理解されよう。これらの代替構造には、グラフ構造と分岐及び条件の使用とが含まれる場合がある。
【0295】
本明細書で上記に説明したように、ツールキャスト定義には、実行中のツールキャストによって操作、表示、またはアクティブ化される様々な「出力」が含まれ得る。これらには通常、基礎的システム200のイベント(キーボードまたはマウスイベントなど)の生成と、ACE(字幕やオーディオなど)の表示とが含まれる。ACEは、静的メディア及び動的メディアを含む、追加のメディアタイプを含むことができる。
【0296】
これらの出力は、ユーザ起源のイベントの影響を複製することによって、基礎的システム200に影響を与える可能性がある。TCプレーヤ85は、本明細書で上述したように、インターフェースモジュール83のインターフェースを通じてこれらの影響をアクティブ化することができる。特に、リモートユーザシミュレータ853は、ツールキャストが、あたかもリモートユーザがそれ(クリック、ドラッグ、ホバー、スクロール、編集、及び要素の作成)を行っているかのように、基礎となるウェブサイトDOM上でレスポンシブイベントをトリガできるようにすることができる。
【0297】
一般に、リモートユーザシミュレータ853は、通常のユーザアクション(例えば、マウスクリック)をシミュレートすることによってイベントをトリガすることができ、したがって、TCMSを基礎的システム200と統合するために必要な労力を最小限に抑えることができる。例えば、リモートユーザシミュレータ853は、DOMイベントを関連要素にディスパッチすることができる。この要素は通常、ディスパッチされたイベントが通常のユーザによってトリガされたかのように反応する。
【0298】
TCプレーヤ850は、本明細書で上述したように、TCクリエータ81とTCプレーヤ85との両方にユーザ入力を提供するために、ツールバーの形式で様々なUIを提供できることが理解されるであろう。TC制御ツールバー表示部854は、ユーザが必要に応じてツールキャストの表示を制御するためのツールバーを表示することができる。ここで、そのようなツールバーインターフェースを示す
図15、
図16、及び
図17を参照する。
【0299】
図15は、レストランメニュー構築システム用のツールキャストを実行するTCプレーヤ85を示しており、ツールキャストツールバーAがページの下部に表示されている。
【0300】
図16は、左側に示されている一時停止、再生、音量などのコントロールボタンDを示すツールバーAの拡大図であり、その脇に仮想トレーナーアバターBの画像(ツールキャストの「音声」を表す人、現在のサブタイトル(「レストランのセットアップを手伝ってください」)、及びツールキャストシステムを終了するための終了ボタンC)が示されている。
【0301】
次に、ツールバーAの異なる実施形態を示す
図17を参照する。このバージョンは、TCプレーヤ85によって基礎的システム200の画面の上に配置される追加の描画(ACE)Fを示す。この場合、図面はツールキャストのツールバー領域にあるが、基礎的システム200画面の他の場所に追加することもできる。図面には、関連するツールバーボタンの隣に「一時停止」及び「再生」ラベルとシェフの帽子Fが含まれている。ツールキャストビューアをガイドし、関連する要素を指し示すためのツールキャスト固有のカーソルGも存在することが理解されよう。この実施形態では、ツールキャストカーソルは、視聴者またはユーザにツールキャスト仮想トレーナーの擬人化を提供するために「Maya」というラベルが付けられている。
【0302】
統合された基礎的システム200により、ツールキャスト管理システム80が2つの重要な利点を有することが理解されるであろう。第1に、TC展開エージェント871は、基礎的システム200の開発フレームワークまたはWBSと統合されており、あらゆるツールキャストの故障を確実に検出することができる。第2に、必要なユーザイベントをシミュレートするのが難しい場合、インターフェースモジュール83は、リモートユーザシミュレータ853を基礎的システム200(またはその基礎となるフレームワーク)に注入して、これらのシミュレーションが難しいアクションを置き換えることができる。
【0303】
ACEディスプレイヤ855は、基礎となるウェブサイトの上に追加または拡張されたUI要素を作成するか、または既存の要素を変更することができる。これらの変更は、現在の基礎的システム200のビューの上に追加される「フローティング要素」の使用に基づくことができる(場合により、追加の表示「レイヤ」を使用する)。これにより、基礎的システム200の画面を使用して、ツールキャスト管理システム80のユーザがマーカー、矢印、テキストなどを追加できるスマートホワイトボードとして機能することが可能になる。
【0304】
ユーザインタラクションマネージャ856は、ユーザからの指示を受信し、ライブツールキャスト中に入力を必要とするポップアップアンケートなどの追加要素を処理するなど、ツールキャストの実行中にTCプレーヤ85とユーザとの間のインターフェースを管理することができる。
【0305】
TCプレーヤ85が各ユーザインタラクション(例えば、質問応答)に応答できることが理解されるであろう。
【0306】
ユーザインタラクションマネージャ856は、TC要素の動作(アクション/リアクションなど)の編集が、関連する基礎的システム200要素の修正バージョンと統合された方法で行われ得る「リアクションモード」を提供し得る。
【0307】
このようなモードでは、ユーザインタラクションマネージャ856は、特定の基礎的システム200要素の表示を変更して、その要素に関連付けられた現在のアクションを反映することができる。ユーザは、アクションを選択し、それを所与の基礎的システム200要素に関連付けることもできる。
【0308】
例えば、TCプレーヤ85は、黄色の境界線を持つ要素をクリックすると、その要素が別のツールキャストステップにつながる場合、その要素を変更することができる。また、この要素の領域をクリックするとツールキャストが停止する場合、赤い枠線の付いた要素が変更される場合もある。
【0309】
TCプレーヤ85は、基礎的システム200内の既存の要素を変更することもできる。このような変更には、要素の強調表示、非表示、または属性や設定の変更が含まれる場合がある。基礎となるウェブサイトの場合、そのような変更はDOMレベルで行われる場合がある。
【0310】
WBSがホストする基礎となるウェブサイトの場合、ツールキャスト管理システム80は、コンポーネントレベルでの追加及び変更をサポートすることができる。さらに、基礎となるWBSは、そのような効果やアクションの受信者として、新しいコンポーネントや変更されたコンポーネントに動的レイアウトや応答編集を適用するなどの追加サービスを提供する場合がある(米国特許第10,185,703号及び第10,984,177号に記載)。
【0311】
このようなウェブサイトの変更は、本明細書で上述したように、ウェブサイトの異なるレンダリング方法に適合させることができることを理解されよう。
【0312】
さらに、基礎的システム200は、ツールキャスト管理システム80なしで動作するのと同様に、通常、ツールキャスト管理システム80と連携して動作することが理解されよう。したがって、基礎的システム200をナビゲートして操作すると、データベースの変更や接続されたシステムに対して行われる要求など、複数の永続的な影響が生じる可能性がある。
【0313】
しかしながら、場合によっては、ツールキャスト管理システム80のユーザは、基礎的システム200の動作から生じる永続的な副作用を制限する方法で基礎的システム200と連携したいと考える。このようなケースには、フォローアップツールキャスト構築のための情報を収集するために、ツールキャストの「予行演習」を実行するときや、ツールキャストを編集するときが含まれる。例えば、製品の購入操作を説明するツールキャストの編集を複数回行う場合、ユーザはデモンストレーションに使用する製品の複数のコピーを注文したくない場合がある。
【0314】
ユーザはまた、ツールキャスト管理システム80がタイミング情報を収集するためにツールキャストの実行を実行するツールキャストファイナライゼーションフェーズ(本明細書で上述した)、及び実質的な副作用を伴う基礎的システム200の動作を研究する(及びツールキャスト上で巻き戻しまたは前進を使用する)ツールキャストの再生中においても、持続する副作用を制限することを望む場合がある。
【0315】
一部のツールキャストでは、ユーザが(副作用を引き起こす)操作を自分でアクティブにすることがツールキャストに要求されるため、副作用の問題は軽減される。TCプレーヤ85は、ユーザをガイドし、変更を行うよう促すことができるが、ユーザはそうするか否かを選択することができる。
【0316】
他のツールキャストの場合、ツールキャスト管理システム80は、基礎的システム200または基礎となるWBS/開発フレームワークレベルによって実装され得る多くの技術を使用し得る。これらのテクノロジには、基礎的システムによって行われた変更や副作用が永続的に保存されない特別なモードを実装する基礎的システムの使用が含まれる場合がある。基礎的システムは、ツールキャストセッション中にそのような変更を基礎的システムのデータベースに保存する可能性がある(そうしないと、ツールキャストセッションにコンテキストが欠けてしまう)。
【0317】
他のテクノロジには、基礎的システムの通常のデータベースの代わりにツールキャストを実行するときに使用される並列データベースの実装や、ロールバック/アンドゥ機能を備えた基礎となるトランザクションシステムの実装も含まれ得る。
【0318】
基礎的システム200は、追加の関連システムとインタラクションすることができる。これらの関連システムは、本明細書上記で詳述した技術を使用し、関連する複数のシステム間で調整されたロールバック/アンドゥをサポートすることも必要になり得る。
【0319】
本明細書で上述したように、ツールキャスト管理システム80は、分析、推奨事項の生成、変換、及びその他のニーズのために複数のML(機械学習)エンジン882を利用することができる。
【0320】
本明細書で上述したように、MLエンジンマネージャ88は、データを収集し、異なるニーズ及び異なるMLベースのエンジンに合わせて複数の異なるMLモデルをトレーニングすることができる。MLエンジンマネージャ88は、(収集されたトレーニングデータに基づいて)新しいモデルを生成し、既存のモデルに対してその性能を評価することができる。トレーニングデータには、収集された情報のほか、様々な推奨事項に基づいて実行されたアクションに関する情報が含まれる場合がある。
【0321】
MLモデルが、各MLベースのエンジンによって実施されるタスクまたはアクティビティに適した任意のモデルであってよいことが理解される。機械学習モデルは当技術分野で知られており、通常は何らかの形式のニューラルネットワークである。この用語は、既存のアルゴリズムとデータセットに基づいてパターンを認識し、ソリューションの概念を提供するシステムの機能を指す。システムはより多く訓練されるほど、システムが発展させる知識は多くなる。
【0322】
基本的なMLモデルは、学習モデル(教師ありまたは教師なし)であってよい。例として、そのようなアルゴリズムは、予測(例えば、線形回帰)アルゴリズム、分類(例えば、デシジョンツリー、k最近傍)アルゴリズム、時系列予測(例えば、回帰ベース)アルゴリズム、関連付けアルゴリズム、クラスタリングアルゴリズム(例えば、K平均法クラスタリング、混合ガウスモデル、DBscan)、またはベイジアン法(例えば、ナイーブベイズ、ベイジアンモデル平均化、ベイジアン適応トライアル)、画像間モデル(例えば、FCN、PSPNet、U-Net)シーケンスからシーケンスモデル(例えば、RNN、LSTM、BERT、オートエンコーダー)または生成モデル(例えば、GAN)とすることができる。
【0323】
代わりに、MLモデルは、次元縮退、仮説検定、一元配置分散分析(ANOVA)検定、主成分分析、結合分析、ニューラルネットワーク、サポートベクターマシン、決定木(ランダムフォレスト法を含む)、アンサンブル法、及びその他の技術などの統計アルゴリズムを実装し得る。他のMLモデルは、TC定義と要素とを生成する生成モデル(敵対的生成ネットワークまたは自動エンコーダなど)であってもよい。
【0324】
ほとんどの実施形態では、MLモデルは、製品またはランタイムフェーズにリリースされる前にトレーニングまたは学習フェーズを受けるか、既存のシステムまたはモデルからのモデルで動作を開始することができる。トレーニング段階または学習段階の間、MLモデルは、特定の変数に焦点を当てて、誤差マージンを削減するか、またはそれ以外の場合その性能を最適化するように調整され得る。MLモデルは、最初に、本明細書に説明される収集データなどの多種多様なデータからの入力を受け取り得る。
【0325】
別の実施形態では、特定のタスクにとって適切な場合、MLモデルの1つ以上は、エキスパートシステムまたは複数のAI技術を組み込んだハイブリッドインテリジェントシステムなどの規則ベースのシステムで実装され得る。これらは、en.wikipedia.comの「Rule-Based System」及び「Hybrid Intelligent System」と題するウィキペディアの記事で説明されている。
【0326】
ツールキャスト管理システム80がツールキャストに基づいて追加の機能を提供できることも理解されよう。このような機能は、TCプレーヤ85を介したツールキャストの通常の使用の範囲外である。
【0327】
ツールキャスト自体は(BTCレベルとCTCレベルの両方で)基礎的システム200と連携して動作し、基礎的システム200に入力を提供し、その動作をレビュー及び分析する。しかしながら、生成された製品はスタンドアロンで動作し、実行中の基礎的システム200と連動しなくてもよい。
【0328】
特に、自動実行部891は、ツールキャスト(またはその一部)を自動実行させて、多数の可能な代替製品(または成果物)を生成することができる。これらの製品は、線形または非線形/分岐構造を持つ場合があり、インタラクティブである場合とそうでない場合とがある。
【0329】
CTCレベルでは、自動実行部891は、様々なCTCサブ要素を線形表現のために適切な順序で配置することができる。これは、(例えば)CTC要素のコンテンツの分析またはCTC要素に含まれるヒントに基づく場合がある。自動実行部891は、基礎となるウェブサイトによって提供される情報及びヒントを直接、またはウェブサイトを構築するために使用される基礎となるテンプレートからのそのような情報及びヒントに基づいて使用することもできる。
【0330】
この自動実行は、基礎的システム200が、ユーザの代わりに基礎的システム200の一連の入力(例えば、UIインタラクション)を提供することを必要とする場合があることが理解されよう。このような入力は、既存のツールキャストでカバーされる入力シーケンスに追加される場合がある。これらの入力は、(上記のように)収集されたツールキャストユーザ(再生)応答に基づいて生成される場合がある。これらの入力は、ツールキャストを進めるための正しい方法を推奨するために、収集された入力を分析するMLモデルによって生成することもできる。
【0331】
生成された製品には、例えば、基礎的システム200を文書化するための、またはその使用方法のトレーニングを提供するための、通常のビデオが含まれる場合がある。このようなビデオは、通常のビデオファイルプレーヤ(VideoLANによるVLCなど)を使用して再生することができる。生成された製品には、別のインタラクティブビデオプレーヤを使用したインタラクティブビデオがさらに含まれる場合がある。このようなインタラクティブビデオは、例えば、ビデオ内でクリックするとビデオ内で分岐したり、ビデオの外側の外部メディアに分岐したりできる「ホット領域」の使用に基づいている場合がある。
【0332】
他の生成された製品には、スタンドアロンのウェブサイトまたはアプリケーション(例えば、モバイルまたはデスクトップ)が含まれ得、そのようなウェブサイトまたはアプリケーションは、実際の基礎的システム200へのアクセスを必要とせずに、基礎的システム200の視覚的なシミュレーションまたは基礎的システム200に関するトレーニングを提供することができる。
【0333】
スタンドアロンの再生可能なデータファイルも含まれる場合があり、そのような形式には、(例えば)専用のプレーヤによって実行されるインタラクティブなチュートリアルを提供するタイミング、テキスト、及び画像コンテンツが含まれる場合がある。プレーヤは依然として、基礎的システム200が存在すること、または動作するためにいかなる統合も必要とせず、分析及びカバレッジマップ、例えば、基礎的システム200のコード(または画面もしくはオブジェクト)のどの部分がツールキャストコンテンツによって「カバーされているか」を示すマップをさらに含み得る。
【0334】
本明細書で上述した追加のツールキャストベースの成果物も、基礎的システム200が変更されると、上述のツールキャストのメンテナンスと同様に、メンテナンスを必要とする可能性があることが理解されよう。このような場合、(基礎的システム200の変更処理のための)上記のメカニズムを、これらの追加のツールキャストベースの成果物に適用することができる。
【0335】
生成された製品には、表示された基礎的システム200のコンテンツと併せてツールキャストコンテンツに基づいて生成された書面による文書などのオフライン製品が含まれる可能性があることが理解されよう。
【0336】
アプリストアインターフェース8100は、アプリストアを介した(アプリ内購入を含む)ツールキャストの提供及び配信をサポートすることができる。アプリストアは、ツールキャストを個別の販売可能なオブジェクトとして提供できる。アプリストアは、関連するアプリストアで販売されている既存のアプリケーションへのアドオンとしてツールキャストを提供することもできる。
【0337】
ツールチップハンドラ8101は、ツールキャストアクティブ化UIとして作成されたツールチップを含む既存のツールチップにツールキャストを追加することができ、これにより、ツールキャストを用いてアプリを拡張する簡単な方法が可能になる。これらのツールチップはライブツールチップと呼ばれる場合がある。
【0338】
ライブツールチップは通常のツールチップと同じように見えるが、対応する「もっと詳しく」再生ボタンがあり、同じコンテキストでツールキャストがすぐに開始される。この迅速な置き換えにより、UI/UX(ユーザエクスペリエンス)の労力をほとんど必要とせずにツールキャストをシステムに統合する方法が可能になる。
【0339】
ツールキャストは、サードパーティのコンテンツクリエータまたは「インフルエンサー」によって記録され、その後、基礎的システム200の使用と連動してトリガされることもできることが理解されよう。これには、例えば特別なリンクを使用することが考えられる。このようにして、ウェブサイトへのリンクは、基礎的システム200の基礎と、サードパーティのコンテンツクリエータによって記録されたツールキャストとの両方を開くことになる。
【0340】
このシステムの一部として、ツールキャスト管理システム80/基礎的システム200の両方のベンダは、提供されるツールキャストの品質、機能性、安全性、適用範囲及び適切性を保証するために様々な手段を採用することができる。ツールキャスト管理システム80または基礎的システム200のベンダは、不正行為、基礎的システム200を適切に記述していないツールキャスト、低品質、知的財産権の侵害、及び(例えば、不適切な外部ウェブサイトへのリンクによってセキュリティリスク)などを引き起こす可能性のあるツールキャストを(完全または部分的に)不適格とすることもできる。
【0341】
したがって、ツールキャスト管理システムは、ウェブサイト構築システムなどの基礎的システムと組み合わせて使用され、ユーザデータや基礎的システムの状態に基づいてヘルプ、イベント、字幕などを提供するツールキャストを作成及び実行することができ、ユーザとの直接のインタラクションを処理することもできる。
【0342】
特に明記しない限り、これまでの議論から明らかなように、本明細書全体を通じて、「処理」、「コンピューティング」、「計算」、「判定」などの用語を使用する議論は、あらゆるタイプの汎用コンピュータ、例えば、クライアント/サーバシステム、モバイルコンピューティングデバイス、スマートアプライアンス、クラウドコンピューティングユニット、または、コンピューティングシステムのレジスタ及び/またはメモリ内のデータをコンピューティングシステムのメモリ、レジスタ、またはその他の同様の情報記憶装置、送信装置、または表示装置内の他のデータに操作及び/または変換する類似の電子コンピューティングデバイスなど、のアクション及び/またはプロセスを指すものであることが理解される。
【0343】
本発明の実施形態は、本明細書の動作を実行するための装置を含み得る。この装置は、所望の目的のために特別に構築される場合もあれば、装置は、通常、コンピュータに格納されたコンピュータプログラムによって選択的にアクティブ化されるか、または再構成される少なくとも1つのプロセッサ及び少なくとも1つのメモリを有するコンピューティングデバイスまたはシステムを含む場合もある。結果として生じる装置は、ソフトウェアによって命令されると、汎用コンピュータを本明細書に説明される本発明の要素に変換し得る。命令は、所望のコンピュータプラットフォームで動作する本発明の装置を定義することができる。このようなコンピュータプログラムは、光ディスク、光磁気ディスクを含む任意のタイプのディスク、読み取り専用メモリ(ROM)、揮発性メモリ及び不揮発性メモリ、ランダムアクセスメモリ(RAM)、電気的にプログラム可能な読み取り専用メモリ(EPROM)、電気的に消去及びプログラム可能な読み取り専用メモリ(EEPROM)、磁気カードまたは光カード、フラッシュメモリ、ディスクオンキー、または電子命令を保存するのに適した、コンピュータシステムバスに接続できるその他のタイプの媒体などの、コンピュータ可読記憶媒体に保存することができるが、これらに限定されない。コンピュータ可読記憶媒体は、クラウドストレージに実装されてもよい。
【0344】
一部の汎用コンピュータは、データネットワーク及び/または移動通信ネットワークとの通信を可能にするために少なくとも1つの通信要素を含み得る。
【0345】
ここで提示されるプロセス及び表示は、本質的に特定のコンピュータまたは他の装置に関連するものではない。様々な汎用システムを本明細書の教示に従って書かれたプログラムとともに使用することができ、あるいは、本所望の方法を実行するためにさらに特化した装置を構築するのが好都合であることが証明できる。これらの様々なシステムの所望の構造は、以下の説明から明らかになるであろう。加えて、本発明の実施形態は、特定のプログラミング言語を参照して説明されていない。本明細書で説明する本発明の教示を実装するために、様々なプログラミング言語を使用できることが理解されるであろう。
【0346】
本明細書には本発明の一定の特徴を例証して説明したが、当業者にはこれで多数の修正、置換、変更、及び同等物が発生するであろう。したがって、本発明の真の趣旨内に入るようなそのような修正及び変更すべてを網羅することを目的とすることが理解されよう。
【国際調査報告】