(57)【特許請求の範囲】
【請求項１】
モバイル機器で実行するアプリケーションを作成する方法であって、
ウィザード方式の環境をユーザに提供し、前記ユーザがウィザードと対話して前記アプリケーションの少なくとも１つのユーザ・インタフェース・ページを作成できるようにするステップと、
前記アプリケーションの作成が完了したことを示す前記ユーザからの入力を検出するステップと、
前記アプリケーションの定義ファイルを自動的に作成するステップであって、前記定義ファイルは、ユーザ・インタフェース・ページの階層、ユーザ・インタフェース・ページ（複数可）、ユーザ・インタフェース・オブジェクト（複数可）、アクション（複数可）、機器設定（複数可）、および領域に関する定義を含む、ステップと、
前記定義ファイルの内容をオペレーティング・システムに固有の実行時ファイルと組み合わせてアプリケーション・ファイルを生成するステップと、を備え、
前記アプリケーションの定義ファイルを自動的に作成するステップは、
（ａ）前記アプリケーションの前記少なくとも１つのユーザ・インタフェース・ページ上に前記ユーザにより定義されたユーザ・インタフェース・オブジェクトを自動的に検出するステップと、
（ｂ）前記アプリケーションで使用されるＧＰＳアプリケーション・イベントについてＧＰＳ位置領域を定義する領域を自動的に検出するステップと、
（ｃ）前記アプリケーションで使用される、ＧＰＳ、時計、または加速度計を含む各機器の初期設定を定義する機器設定を自動的に検出するステップと、
（ｄ）アプリケーションが複数のユーザ・インタフェース・ページを含む場合、前記複数のユーザ・インタフェース・ページ間の階層を自動的に検出するステップと、
（ｅ）前記ユーザ・インタフェース・ページ各々に関して、前記ユーザ・インタフェース・ページの設定を自動的に検出し、前記ユーザ・インタフェース・ページ各々に関して、前記ユーザ・インタフェース・ページに含まれる少なくとも１つの機能性、及び、前記ユーザ・インタフェースまたは前記機器からトリガされる各イベントについて規定すべきアクションを自動的に検出するステップと、
（ｆ）（ａ）〜（ｅ）で検出された項目に対応するソフトウェア・コードを自動的に書くステップと、を含み、
前記アプリケーション・ファイルを生成するステップは、
リンク付けに必要なライブラリを用意するステップと、
前記定義ファイルをコンパイラ環境で受け取るステップと、
バイナリ・ジェネレータにより前記定義ファイルの少なくとも一部と前記ライブラリとリンクして前記アプリケーション・ファイルを生成するステップと、を含む方法。
【請求項２】
前記ウィザード方式の環境は、前記ユーザが、ドラッグおよびドロップ機能を使用して前記アプリケーションの前記少なくとも１つのユーザ・インタフェース・ページを作成することを可能にする、請求項１に記載の方法。
【請求項３】
特定のモバイル機器の特性が前記定義ファイルの内容と互換性がない場合は、前記ウィザード方式の環境を前記ユーザに提供し、前記ユーザが前記ウィザードと対話して前記定義ファイルの内容を変更できるようにするステップをさらに含む、請求項１に記載の方法。
【請求項４】
モバイル機器で実行するアプリケーションを作成するプロセッサを有する装置であって、
ウィザード方式の環境をユーザに提供し、前記ユーザがウィザードと対話して前記アプリケーションの少なくとも１つのユーザ・インタフェース・ページを作成できるようにし、
前記アプリケーションの作成が完了したことを示す前記ユーザからの入力を検出し、
前記アプリケーションの定義ファイルを自動的に作成し、前記定義ファイルは、ユーザ・インタフェース・ページの階層、ユーザ・インタフェース・ページ（複数可）、ユーザ・インタフェース・オブジェクト（複数可）、アクション（複数可）、機器設定（複数可）、および領域に関する定義を含む、
ように構成されたモジュールと、
前記定義ファイルの内容をオペレーティング・システムに固有の実行時ファイルと組み合わせてアプリケーション・ファイルを生成するバイナリ生成モジュールと、を備え、
前記モジュールは、前記アプリケーションの定義ファイルを自動的に作成する際、
（ａ）前記アプリケーションの前記少なくとも１つのユーザ・インタフェース・ページ上に前記ユーザにより定義されたユーザ・インタフェース・オブジェクトを自動的に検出し、
（ｂ）前記アプリケーションで使用されるＧＰＳアプリケーション・イベントについてＧＰＳ位置領域を定義する領域を自動的に検出し、
（ｃ）前記アプリケーションで使用される、ＧＰＳ、時計、または加速度計を含む各機器の初期設定を定義する機器設定を自動的に検出し、
（ｄ）アプリケーションが複数のユーザ・インタフェース・ページを含む場合、前記複数のユーザ・インタフェース・ページ間の階層を自動的に検出し、
（ｅ）前記ユーザ・インタフェース・ページ各々に関して、前記ユーザ・インタフェース・ページの設定を自動的に検出し、前記ユーザ・インタフェース・ページ各々に関して、前記ユーザ・インタフェース・ページに含まれる少なくとも１つの機能性、及び、前記ユーザ・インタフェースまたは前記機器からトリガされる各イベントについて規定すべきアクションを自動的に検出し、
（ｆ）（ａ）〜（ｅ）で検出された項目に対応するソフトウェア・コードを自動的に書き、
前記バイナリ生成モジュールは、前記アプリケーション・ファイルを生成する際、
リンク付けに必要なライブラリを用意し、
前記定義ファイルをコンパイラ環境で受け取り、
バイナリ・ジェネレータにより前記定義ファイルの少なくとも一部と前記ライブラリとをリンクして前記アプリケーション・ファイルを生成する、装置。
【請求項５】
前記ウィザード方式の環境は、前記ユーザが、ドラッグおよびドロップ機能を使用して前記アプリケーションの前記少なくとも１つのユーザ・インタフェース・ページを作成することを可能にする、請求項４に記載の装置。
【請求項６】
前記ウィザード方式の環境をユーザに提供し、特定のモバイル機器の特性が前記定義ファイルの内容と互換性がない場合は、前記ユーザが前記ウィザードと対話して前記定義ファイルの内容を変更できるようにするようにさらに構成されている、請求項４に記載の装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、モバイル・アプリケーションの分野に関する。より詳細には、本発明は、多プラットフォーム向けのモバイル・アプリケーションの開発を可能にするモバイル・アプリケーション開発環境を構築するシステムおよび方法に関する。
【背景技術】
【０００２】
一般に、アプリケーションの開発環境が使用されて、携帯電話で実行されるモバイル・アプリケーションを開発する。市場に出回っている従来のモバイル・アプリケーション開発環境は、使用するのが非常に複雑であり、また非常に高価格である。さらに、そのようなアプリケーション開発環境は、多プラットフォームのモバイル機器に合わせてアプリケーションを開発する選択肢を提供しない。また、既存の環境は、モバイル・アプリケーションを構築するためにコードが必要とされるため、ソフトウェア・コーディングに技術的に熟練した者しか使用することができない。ソフトウェア・コーディングに熟練していない場合は、ユーザがそのようなモバイル・アプリケーションを構築するのは困難な作業となる。
【０００３】
さらに、費用効果が高く、使い勝手のよいモバイルを設計することも、ユーザの種類および熟練レベルが様々に異なるために、今一つの困難な作業である。さらに、モバイル・アプリケーションを構築する際に種々の機能を利用するために、種々の機能をユーザが使用できるようにしなければならない。また、アプリケーションの作成および設計に関わる様々な工程は単調で時間のかかるものであってはならない。加えて、構築中のアプリケーションをプレビューする選択肢もユーザに与えなければならない。しかし、既存のモバイル・アプリケーション開発環境はプレビュー機能を備えない。
【０００４】
モバイル機器で使用するための多くのアプリケーションが、個人ユーザ、ならびに中小規模のビジネス／企業による使用のために構築されている。この好機は、モバイルの価値連鎖を利用して、既存の顧客と新規の顧客の両方に製品およびサービスを提供する動向が盛んになるのに伴い増大している。中小規模のビジネス／企業がモバイルの取引モデルに転換する割合は現在１５％である。これは利用すべき好機である。さらに、機器製造業者では、９５％のアプリケーションが非収益モデルとなっている。これも大きな転換の好機である。
【０００５】
さらに、中小規模のビジネス／企業が費用効果の高い第３者のソリューションを使用して製品およびサービスに対してモバイル・アプリケーションを使用するように遷移する動きも世界規模の好機である。そのような企業は、有形または無形の事業利益を最大に高める費用効果の高いソリューションを求め続けていくと予想される。したがって、モバイル・アプリケーションのソリューションは利用すべき大きな可能性である。
【０００６】
したがって、ウィザード方式の環境とドラッグ・ドロップ機能を使用してモバイル・アプリケーションの構築を可能にする、機器の製造元に依存しない、完全に自動化されたモバイル・エコシステムを構築する必要が常に存在する。この特徴は、モバイル・アプリケーション開発環境を単純かつ費用効果の高いものにする。また、ユーザが構築中のモバイル・アプリケーションのリアル・タイムの開発を描写するのを支援するために、シミュレータを構築する必要もある。
【発明の概要】
【発明が解決しようとする課題】
【０００７】
本発明の主要な目的は、モバイル・アプリケーションの開発が可能なモバイル・アプリケーション開発環境を構築するための費用効果が高く、時間のかからないシステムおよび方法を提供することである。
【課題を解決するための手段】
【０００８】
したがって、本発明は、モバイル機器で実行するアプリケーションを作成する方法を提供し、この方法は以下のステップを含む。
ａ．ウィザード方式の環境をユーザに提供し、ユーザがウィザードと対話して前記アプリケーションの少なくとも１つのユーザ・インタフェース・ページを作成できるようにするステップと、
ｂ．アプリケーションの作成が完了したことを示す前記ユーザからの入力を検出するステップと、
ｃ．そのように作成されたアプリケーションの定義ファイルを自動的に作成するステップであって、前記定義ファイルは、ユーザ・インタフェース・ページの階層、ユーザ・インタフェース・ページ（複数可）、ユーザ・インタフェース・オブジェクト（複数可）、アクション（複数可）、機器設定（複数可）、および領域に関する定義を含む、ステップと、
ｄ．定義ファイルの内容をオペレーティング・システムに固有の実行時ファイルと組み合わせてアプリケーション・ファイルを生成するステップ。
【０００９】
本発明の一実施形態では、ウィザード方式の環境は、ユーザが、ドラッグおよびドロップ機能を使用してアプリケーションの少なくとも１つのユーザ・インタフェース・ページを作成することを可能にする。
【００１０】
本発明の別の実施形態では、アプリケーションの定義ファイルを自動的に作成するステップは、
（ａ）アプリケーションの前記１つまたは複数のユーザ・インタフェース・ページ上にユーザにより定義されたユーザ・インタフェース・オブジェクトを自動的に検出するステップと、
（ｂ）アプリケーションで使用されるＧＰＳアプリケーション・イベントについてＧＰＳ位置領域を定義する領域を自動的に検出するステップと、
（ｃ）アプリケーションで使用される、ＧＰＳ、時計、または加速度計のような各機器の初期設定を定義する機器設定を自動的に検出するステップと、
（ｄ）アプリケーションが複数のユーザ・インタフェース・ページを含む場合、複数のユーザ・インタフェース・ページ間の階層を自動的に検出するステップと、
（ｅ）ユーザ・インタフェース・ページ各々に関して、ユーザ・インタフェース・ページの設定を自動的に検出するステップと、
（ｆ）ユーザ・インタフェース・ページ各々に関して、ユーザ・インタフェース・ページに含まれる機能を自動的に検出するステップと、
（ｇ）ユーザ・インタフェース・ページ各々に関して、ユーザ・インタフェースまたは機器からトリガされる各イベントについて規定すべきアクションを自動的に検出するステップと、
（ｈ）（ａ）〜（ｇ）で検出された項目に対応するソフトウェア・コードを自動的に書くステップとを含む。
【００１１】
本発明のさらに別の実施形態では、定義ファイルの内容をオペレーティング・システムに固有の実行時ファイルと組み合わせてアプリケーション・ファイルを生成するステップは、
（ａ）リンク付けに必要なライブラリを用意するステップと、
（ｂ）定義ファイルをコンパイラ環境で受け取るステップと、
（ｃ）バイナリ・ジェネレータにより定義ファイルの少なくとも一部とライブラリとをリンクしてアプリケーション・ファイルを生成するステップとを含む。
【００１２】
さらに別の実施形態では、本発明の方法は、特定のモバイル機器の特性が定義ファイルの内容と互換性がない場合は、ウィザード方式の環境をユーザに提供し、ユーザがウィザードと対話して定義ファイルの内容を変更できるようにするステップをさらに含む。
【００１３】
本発明は、モバイル機器で実行するためのアプリケーションを作成する装置も提供し、この装置は、
モジュール（４０１）であって、
・ウィザード方式の環境をユーザに提供し、ユーザがウィザードと対話してアプリケーションの少なくとも１つのユーザ・インタフェース・ページを作成できるようにし、
・アプリケーションの作成が完了したことを示すユーザからの入力を検出し、
・そのように作成されたアプリケーションの定義ファイルを自動的に作成するように構成されたモジュール（４０１）であって、前記定義ファイルは、ユーザ・インタフェース・ページの階層、ユーザ・インタフェース・ページ（複数可）、ユーザ・インタフェース・オブジェクト（複数可）、アクション（複数可）、機器設定（複数可）、および領域に関する定義を含む、モジュール（４０１）と、
定義ファイルの内容をオペレーティング・システムに固有の実行時ファイルと組み合わせてアプリケーション・ファイルを生成するバイナリ・ジェネレータ・モジュール（４０２）とを備える。
【図面の簡単な説明】
【００１４】
本発明の特徴は、添付の特許請求の範囲に具体的に述べる。本発明自体とそのさらなる特徴および付随する利点は、添付図面と併せて以下の詳細な説明を検討することから明らかになろう。以下に、本発明の１つまたは複数の実施形態を添付図面を参照して単なる例として説明する。図面中では、同様の参照符号は同様の要素を表す。
【図１】本発明の教示に係るモバイル・アプリケーション開発方法を説明する流れ図である。
【図２】ユーザがアプリケーションの少なくとも１つのユーザ・インタフェース・ページを作成するのを支援するウィザード方式の環境の一部をなすプロジェクト・マネジャ・ユーザ・インタフェースのスクリーンショット図である。
【図３】ユーザがアプリケーションの少なくとも１つのユーザ・インタフェース・ページを作成するのを支援するウィザード方式の環境の一部をなすアプリケーション・マネジャ・ユーザ・インタフェースのスクリーンショット図である。
【図４】ユーザがアプリケーションの少なくとも１つのユーザ・インタフェース・ページを作成するのを支援するウィザード方式の環境の一部をなすページ・マネジャ・ユーザ・インタフェースのスクリーンショット図である。
【図５】ユーザがアプリケーションの少なくとも１つのユーザ・インタフェース・ページを作成するのを支援するウィザード方式の環境の一部をなすページ・エディタ・ユーザ・インタフェースのスクリーンショット図である。
【図６】ユーザがアプリケーションの少なくとも１つのユーザ・インタフェース・ページを作成するのを支援するウィザード方式の環境の一部をなす、アクションに対する反応をユーザが定義することが可能なユーザ・インタフェースのスクリーンショット図である。
【図７】ユーザがアプリケーションの少なくとも１つのユーザ・インタフェース・ページを作成するのを支援するウィザード方式の環境の一部をなす、アクションの条件をユーザが定義することが可能なユーザ・インタフェースのスクリーンショット図である。
【図８】ページ・エディタ・ユーザ・インタフェースの一部をなすフィールド・リスト・エディタ・ユーザ・インタフェースのスクリーンショット図である。
【図９】ユーザがアプリケーションの少なくとも１つのユーザ・インタフェース・ページを作成するのを支援するウィザード方式の環境の一部をなすリソース・マネジャ・ユーザ・インタフェースのスクリーンショット図である。
【図１０】ユーザがアプリケーションの少なくとも１つのユーザ・インタフェース・ページを作成するのを支援するウィザード方式の環境の一部をなすデータベース・マネジャ・ユーザ・インタフェースのスクリーンショット図である。
【図１１】ユーザがテーブル情報を編集することができる、データベース・マネジャ・ユーザ・インタフェースの一部をなすデータベース・テーブル・エディタ・ユーザ・インタフェースのスクリーンショット図である。
【図１２】ユーザがテーブル中に存在する各種欄を編集することができる、データベース・マネジャ・ユーザ・インタフェースの一部をなすデータベース・テーブル・エディタ・ユーザ・インタフェースのスクリーンショット図である。
【図１３】ユーザがアプリケーションの少なくとも１つのユーザ・インタフェース・ページを作成するのを支援するウィザード方式の環境の一部をなす機器マネジャ・ユーザ・インタフェースのスクリーンショット図である。
【図１４】本発明の一実施形態に係る、パーツ・セレクタからアクティブなワーク・シートにオブジェクトをドラッグおよびドロップする際のスクリーンショット図である。
【図１５】本発明の一実施形態に係る、ラベル・オブジェクトに出現するテキストのプロパティを編集する際のスクリーンショット図である。
【図１６】本発明の一実施形態に係る、アクション・リストにイベントを追加する際のスクリーンショット図である。
【図１７】本発明の一実施形態に係る、アクション・リストに出現するイベントのプロパティを編集する際のスクリーンショット図である。
【図１８】定義ファイル作成の工程を説明する流れ図である。
【図１９】定義ファイルの内容をオペレーティング・システムに固有の実行時ファイルと組み合わせる工程の流れ図である。
【図２０】本発明の教示により生成された定義ファイルの構造の図である。
【図２１】本発明の教示により構築されたシステムのブロック図である。
【図２２】本発明の教示により開発されたモバイル・アプリケーションがどのように機能するかを説明する図である。
【発明を実施するための形態】
【００１５】
本発明に係る実施形態を詳細に説明する前に、方法のステップおよびそれら方法ステップを実施する対応する装置の構成は、図面中で適切な箇所では従来の符号で表し、本発明の実施形態の理解に関連する特定の詳細事項のみを示して、本明細書の記載の利益を有する当業者には直ちに明らかになる詳細で本開示を不明瞭にしないようにしていることに留意されたい。
【００１６】
用語「〜を含む（comprises、comprising）」またはその変化形は、非排他的な包含を対象として含むことを意図し、一連のステップを含む工程、方法は、それらの方法のみを含むのではなく、明示的に記載されない他のステップ、またはそのような工程、方法に固有の他のステップを含んでよい。同様に、「〜を含む」の後に来るシステムまたは装置中の１つまたは複数の要素は、そのシステムまたは装置に他の要素または追加的な要素が存在することをさらに制約なしに排除しない。
【００１７】
本発明は、モバイル・アプリケーションを自動的に構築するための独自のウィザード方式のモバイル・アプリケーション環境を構築するシステムおよび方法に関する。この環境は、中小規模のビジネス／企業が単純で費用効果が高く、時間がかからない方式でアプリケーションを自動的に構築することを可能にする。より重要な点として、この環境は、自動的にコードを生成し、それにより熟練していない者でもモバイル・アプリケーションを使用し、構築できるようにすることにより、いくつかのモバイル・アプリケーションを構築することを可能にする。このアプリケーション開発環境は、第３者への外注時に発生する費用と不必要な複雑化を劇的に減らす。アプリケーションは、非常に簡単なウィザード方式の環境で構築される。このアプリケーションを使用するユーザは、単に自身の必要条件を定義し、単にアプリケーション開発環境に表示される複数の画面にある次のボタンをクリックするだけで、モバイル・アプリケーションを完全に構築することができる。さらに、ユーザがアプリケーションの構築を開始すると、シミュレータを使用してそのアプリケーションを実時間で同時に確認することができる。
【００１８】
図１を参照すると、本発明は、モバイル機器で実行するアプリケーションを作成する、コンピュータを利用した方法を提供し、この方法は、
（ａ）ウィザード方式の環境をユーザに提供し、ユーザがウィザードと対話してアプリケーションの少なくとも１つのユーザ・インタフェース・ページを作成できるようにするステップ（ステップ１０１）と、
（ｂ）アプリケーションの作成が完了したことを示すユーザからの入力を検出するステップ（ステップ１０３）と、
（ｃ）そのように作成されたアプリケーションの定義ファイルを自動的に作成するステップであって、前記定義ファイルは、ユーザ・インタフェース・ページの階層、ユーザ・インタフェース・ページ（複数可）、ユーザ・インタフェース・オブジェクト（複数可）、アクション（複数可）、機器設定（複数可）、および領域に関する定義を含む、ステップ（ステップ１０５）と、
（ｄ）定義ファイルの内容をオペレーティング・システムに固有の実行時ファイルと組み合わせてアプリケーション・ファイルを生成するステップ（ステップ１０7）とを含む。
【００１９】
ステップ（１０１）により、少なくとも１つのユーザ・インタフェース・ページを備えるモバイル・アプリケーションをユーザがより効率的に作成するのを支援するウィザード方式の環境が提供されることに気付かれよう。図２〜図１３を参照すると、ウィザード方式の環境の様々な箇所が図示される。まず、ウィザード方式の環境は、図２に示されるようにプロジェクト・マネジャ・ユーザ・インタフェースを提供し、これを使用して新しいプロジェクトの名前を付け、作成することができ、これがモバイル・アプリケーションを定義する開始点となる。プロジェクト・マネジャでは、既存のプロジェクトの更新、既存のプロジェクトの削除、または、プロジェクトのクローニング（cloning）も行うことができ、プロジェクトのクローニングは、既存のプロジェクトに新しい名前を付けて複製コピーを作成する工程である。プロジェクト・マネジャからは、一般向けのモバイル・アプリケーション店やネット上のモバイル・アプリケーション市場にプロジェクトを公開することもでき、また、一般向けのモバイル・アプリケーション店またはネット上のモバイル・アプリケーション市場に公開するための提出工程の前に、新しく構築したプロジェクトの完全性を確認することができる。
【００２０】
図３を参照すると、アプリケーション・マネジャのユーザ・インタフェースは、特定プロジェクトのためのウィザード方式のモバイル・アプリケーション開発環境のノード（nodal）点である。アプリケーション・マネジャ・ユーザ・インタフェースは、ページ・マネジャ、リソース・マネジャ、データベース・マネジャ、機器マネジャ、位置マネジャ、ローカリゼーション・マネジャ、およびアプリケーション・プロパティ・マネジャ、の構成要素からなる。ローカリゼーション・マネジャは、アプリケーションに出現するすべてのテキストをある言語から別の言語に変換するために使用できる、ウィザード方式のモバイル・アプリケーション開発環境の構成要素である。ローカリゼーション・マネジャは、アプリケーションに出現するすべてのテキストを自動的に認識し、別の言語（開発者により選択される）におけるそのテキストの訳語を開発者に提案し、提案された選択肢の中から選択するか、または開発者自身の訳語を入力するように開発者を促す。開発者が特定の単語の訳語を選択すると、ローカリゼーション・マネジャは自動的に元の単語を開発者が選択した単語（他の言語）に置き換える。アプリケーション・プロパティ・マネジャは、特定のページや機器機能だけでなく、モバイル・アプリケーション全体に適用される設定を定義するために使用できるウィザード方式のモバイル・アプリケーション開発環境の構成要素である。開発者により選択された選択肢は、モバイル・アプリケーションのすべてのページに適用される。
【００２１】
図４を参照すると、ページ・マネジャは、モバイル・アプリケーションを構成するページの階層と、特定プロジェクトの各ページの詳細な仕様を定義するのを助けるウィザード方式のモバイル・アプリケーション開発環境の構成要素である。ユーザは、自由レイアウト、自由スクロール、もしくはページ・スクロール、またはデータベース・ドリブン・ページの種類の１つなどの利用可能な選択肢からページの種類を選択し、選択したページ種類のページをページ階層中の適切なレベルに配置することができる。そして、ユーザは、新しく定義したページを掘り下げ、ページ・エディタ・コンポーネントを使用してページの各部分を定義することができる。
【００２２】
図５を参照すると、パーツ・ツールボックスを備えたページ・エディタが示され、各種のページ・コントロールを移動し、ページ・レイアウトの上に適切に配置することができ、その後それらのページ・コントロールにアクションが定義される。
【００２３】
図６および図７を参照すると、ＵＩページ・コントロールの種類ごとに固有のイベントとそれに対応するアクションを定義する方法が示される。図８は、一連のシングル・クリックのアクションにより複数のページを生成するために使用できるフィールド・リスト・エディタを示す。
【００２４】
図９を参照するとリソース・マネジャが示され、これは、画像、音声、および映像ファイルのようなリソース・ファイルを定義し、収集して、それらのファイルがモバイル・アプリケーションに含められるように環境に入れるのを助けるウィザード方式のモバイル・アプリケーション開発環境の構成要素である。そのようにアップロードされたそれらのリソース・ファイルはすべてアプリケーション開発環境に保存されて、アプリケーションが公開される時にバイナリ形態で配布される。リソース・ファイルの種類は、画像、映像音声、または背景音楽ファイルである。
【００２５】
図１０〜図１２を参照すると、データベース・マネジャが示され、これは、モバイル・アプリケーションと共にローカルのデータベースに記憶されるか、または実行時に遠隔の場所からアクセスされるデータを定義し、収集することを助けるウィザード方式のモバイル・アプリケーション開発環境の構成要素である。まず、ユーザは、データベースをローカル・データベースとして定義するか、リモート・データベースとして定義するかを選択する。ユーザはそして、各データベース・フィールドの名前、種類、および大きさ（図１１および図１２を参照）に至る、データベース・テーブルの仕様を定義する。ローカル・データベースの場合は、データベース・マネジャ・コンポーネントも使用して、データベース・マネジャ・コンポーネントを使用して事前に定義されたテーブルと一致する定義と共に、対応するコンマで区切られたファイルをアップロードすることにより、そのように定義されたローカル・データベース・テーブルにデータを入れる。
【００２６】
図１３を参照すると、機器マネジャが示され、これは、上記のように開発されたアプリケーションで使用されるジャイロスコープ、コンパス、加速度計のような機器レベルの機能を定義することを助けるウィザード方式のモバイル・アプリケーション開発環境の構成要素である。初めに、ユーザは、定義する必要のある機器機能の種類を定義することを選択する。そして、ユーザは、イベントおよび特定の機器機能に関連するイベントに対応するアクションを含む機能の仕様を定義する。
【００２７】
図１４を参照すると、本発明の一実施形態に係る、パーツ・セレクタからアクティブなワーク・シートにオブジェクトをドラッグおよびドロップする方法が示され、図１５には、ドラッグおよびドロップされたラベル・オブジェクト（図１４）に出現するテキストのプロパティを編集する方法が示される。図１６を参照すると、本発明の一実施形態に係る、図１４によりドラッグおよびドロップされたオブジェクトにイベントを追加する方法が示され、図１７には、アクション・リストに出現するイベントのプロパティを編集する方法が示される。図１４〜図１７は、ウィザード方式のアプリケーション開発環境を使用してアプリケーションを作成する際に伴う様々な段階を示している。これらの図は、レイアウトの構成部分および所望の各ページの流れおよびモバイル・アプリケーションの機能がウィザードを使用して対応づけられる際に、アプリケーションの構築時にどのようにアプリケーション定義ファイルが構築されるかを示す。レイアウトと共にページ階層が定義され、使用するパーツの名前を付けられ、適切なプロパティも指定される。また、使用するボタンが選択され、アプリケーションの実行時に表示されるラベルも記述される。要求されるアクションを始めとするすべてが選択され、それらアクションの詳細がプロンプト表示され、適切に選択される。ユーザが行う各種アクションを記述するアクション・リストは、アクション・セレクタから選択することにより埋められる。さらに、ページの遷移も選択することができ、順序通りの遷移とするか、または特定のページに遷移することができる。上記に加えて、必要な場合はキーボードのショートカットが定義され、提供される。上記以外に、使用されるパーツが詳細に定義され、それらの各パーツに対して呼び出されるプロパティも定義される。パーツのいくつかの例は、ラベル、テキスト入力、画像、ピッカー等である。
【００２８】
図１８を参照すると、アプリケーションの定義ファイルを自動的に作成する方法が示される。この方法は、
・アプリケーションの前記１つまたは複数のユーザ・インタフェース・ページ上にユーザにより定義されたユーザ・インタフェース・オブジェクトを自動的に検出するステップ（ステップ２０１）と、
・アプリケーションで使用されるＧＰＳアプリケーション・イベントについてＧＰＳ位置領域を定義する領域を自動的に検出するステップ（ステップ２０２）と、
・アプリケーションで使用される、ＧＰＳ、時計、または加速度計のような各機器の初期設定を定義する機器設定を自動的に検出するステップ（ステップ２０３）と、
・アプリケーションが複数のユーザ・インタフェース・ページを含む場合、複数のユーザ・インタフェース・ページ間の階層を自動的に検出するステップ（ステップ２０４）と、
・ユーザ・インタフェース・ページ各々に関して、ユーザ・インタフェース・ページの設定を自動的に検出するステップ（ステップ２０５）と、
・ユーザ・インタフェース・ページ各々に関して、ユーザ・インタフェース・ページに含まれる機能を自動的に検出するステップ（ステップ２０６）と、
・ユーザ・インタフェース・ページ各々に関して、ユーザ・インタフェースまたは機器からトリガされる各イベントについて規定すべきアクションを自動的に検出するステップ（ステップ２０７）と、
・ステップ２０１〜２０７で検出された項目に対応するソフトウェア・コードを自動的に書くステップ（ステップ２０８）とを含む。
【００２９】
図２０に、本発明の教示により上記のステップに従うことによって生成される定義ファイルの構造を示す。モバイル・アプリケーションの定義ファイルまたは定義ファイルは非常に重要であり、どのモバイル機器またはオペレーティング・システムにも依存せず、本発明の中核をなす。この定義ファイルは以下の定義を含み、それぞれを簡単に説明する。
・「ページ定義の部分」。この部分は、ユーザ・インタフェース（ＵＩ）オブジェクト定義、ページ階層定義、および「アクション定義」の３つの部分からなる定義ファイル（ＡＤＦ）の一部である。
・「ページ階層定義」この部分は、アプリケーションを構築する開発者が各種のページ遷移を計画するのを助けるページ階層を定義する。アプリケーションの定義ファイル（ＡＤＦ）のこの部分は、モバイル・アプリケーションの種々のページまたは画面ビュー間の流れおよび関係も指定する。
・「ＵＩオブジェクト定義」。アプリケーションの定義ファイル（ＡＤＦ）のこの部分は、ユーザにより定義され、アプリケーションの１つまたは複数の特定ページに設定されるユーザ・インタフェース・オブジェクトを指定する。
・「アクション定義」。アプリケーションの定義ファイル（ＡＤＦ）のこの部分は、ユーザ・インタフェースまたは機器からトリガされる各イベントに対して規定すべきアクションを定義する。
・「機器設定定義」。アプリケーションの定義ファイルのこの部分は、ＧＰＳ、時計、または加速度計のような各機器の初期設定を定義する。
・「領域定義」。アプリケーションの定義ファイルのこの部分は、ＧＰＳアプリケーションのイベントについてのＧＰＳの位置領域を定義する。
【００３０】
図２０に示し、上記で説明したような構造を持つ定義ファイルが作成されると、その定義ファイルの内容をオペレーティング・システム固有の実行時ファイルと組み合わせる必要がある。図１９を参照すると、定義ファイルの内容をオペレーティング・システムに固有の実行時ファイルと組み合わせるステップは、
・リンク付けに必要なライブラリを用意するステップ（ステップ３０１）と、
・定義ファイルをコンパイラ環境で受け取るステップ（ステップ３０３）と、
・バイナリ・ジェネレータにより定義ファイルの少なくとも一部とライブラリとをリンクしてアプリケーション・ファイルを生成するステップ（ステップ３０５）とを含む。
【００３１】
さらに別の実施形態では、本発明の方法はさらに、特定のモバイル機器の特性が定義ファイルの内容と互換性がない場合は、ウィザード方式の環境をユーザに提供し、ユーザがウィザードと対話して定義ファイルの内容を変更できるようにするステップをさらに含む。
【００３２】
図２１を参照すると、図１を参照して説明した方法を行うように構成された本発明の装置（４００）のブロック図が示される。この装置は、モバイル・アプリケーションを構築するモジュール（４０１）を含み、このモジュールは、適切な機能（図２〜図１７に示し、参照して説明した）と共に、開発者がモバイル・アプリケーションの各種のユーザ・インタフェース・ページを構築するのを支援し、その後図１８に記載および図示した方法を行うことにより自動的に定義ファイルを作成するように構成される。装置（４００）はさらに、図１９に記載および図示する方法を行うことにより定義ファイルの内容をオペレーティング・システムに固有の実行時ファイルと組み合わせるバイナリ・ジェネレータ・モジュール（４０２）を含む。
【００３３】
上記のように、アプリケーション開発のあらゆる段階で、作成中のモバイル・アプリケーションの完全性の状態を描写するために、シミュレータが同時にアプリケーション開発環境に提供されることが見て取れる。適切な段階で、ユーザは、実際のモバイル機器で機器をテストすることができる。
【００３４】
完全性のチェックリストが確認されると、完成したアプリケーションの定義ファイルを送付することによりアプリケーションの構築を完了することができる。
【００３５】
図２２を参照すると、上記のようにして開発されたモバイル・アプリケーションは、モバイル機器のオペレーティング・システムにあり、適切なアプリケーション提供者のサーバと対話して、要求される機能を行う。例として、アプリケーション提供者のサーバは、上記の要領で開発されたモバイル・アプリケーションと対話して適切な機能を提供するように構成された１つまたは複数のモジュールからなる。一実施形態では、アプリケーション提供者のサーバは、アプリケーション・マネジャ（以降「アプリケーション・マネジャ・モジュール」）、オブジェクト・マネジャ（以降「オブジェクト・マネジャ・モジュール」）、およびアクション・マネジャ（以降「アクション・マネジャ・モジュール」）を備える。さらに、アプリケーション・マネジャは、上記の要領で開発されたモバイル・アプリケーションが機能する際に必要とされるすべてのユーザ・インタフェース（ＵＩ）オブジェクトを記憶するオブジェクトＤＢ（「オブジェクト・データベース」と同義）を備える。
【００３６】
初めに、特にモバイル機器では、モバイル機器のオペレーティング・システムがその機器内のアプリケーション・マネジャを起動する要求を発行する。要求を受け取ると、アプリケーション・マネジャは、アプリケーション・マネジャに関連付けられた実行可能ファイルをダウンロードする。ダウンロード後、アプリケーション・マネジャ・モジュールは、アプリケーションの構築時にインストールされる中間ファイルであるアプリケーションの定義ファイルを分析し、処理する。このファイルが存在するために、機器に依存する機能およびＯＳに依存する機能のアプリケーション・プログラムの開発が回避される。アプリケーション・マネジャ・モジュールは、アプリケーションの定義ファイルを参照した後に実行時にアプリケーションを構築し、初期化後にオブジェクト・マネジャ・モジュールに制御権を渡すように構成される。モバイル・アプリケーションのページおよびページ・フローを作成するために、オブジェクト・マネジャ・モジュールは、アプリケーションの定義ファイルのページ定義の部分を参照するように構成される。さらに、オブジェクト・マネジャ・モジュールは、オブジェクト・データベースからモバイル・アプリケーションのオブジェクトを定義するために、アプリケーションの定義ファイルのパーツ定義の部分を参照するように構成される。アプリケーション・マネジャはさらに、モバイル機器上ですべてのユーザ・インタフェース（ＵＩ）オブジェクトを生成する初期化機能を呼び出すように構成される。そして、イベント・ハンドラ機能が制御権を引き継ぎ、アプリケーション・サーバに存在するアクション・マネジャ・モジュールを起動し、アクション・マネジャ・モジュールは、アプリケーションの定義ファイルのパーツ定義の部分およびコントローラ定義を使用してイベントを制御し、アプリケーション・マネジャ中に存在する構築コンポーネントを使用して作成されたアプリケーションの固有の定義ごとにユーザ入力を捕捉する。イベントの一例はボタンの「クリック」イベントであり、このイベントが発生すると、アプリケーションの定義ファイル（ＡＤＦ）の参照された部分が実行される。この時、アクション・マネジャが制御権を引き継ぎ、モバイル・アプリケーションのユーザから受け取られた入力または値を使用して、ユーザ・インタフェース（ＵＩ）オブジェクトを更新し、定義に従って値を設定する。モバイル機器の特定のコンポーネントを使用する必要がある時は、アクション・マネジャ・モジュールによりアクション委譲機能が起動されて、機器およびライブラリを制御する（ライブラリの内容を定義する）。その結果、ＧＰＳやジャイロスコープなどのハードウェアに依存する機能を制御することができる。さらに、このコントローラ定義を使用して、すべてのファイル操作とデータベース操作をアクション・マネジャ・モジュールにより定義し、管理することができ、開発者は、ソフトウェア・コーディングを書く必要なしにモバイル・アプリケーションを構築することができる。
【００３７】
イベント・ハンドラ機能を使用する際に、アクション・マネジャ・モジュールがユーザ・インタフェースからの停止要求に遭遇すると、アクション・マネジャはモバイル・アプリケーションの実行を終了し、すべての一時的なメモリ割り当てを解除し、モバイルオペレーティング・システム（ＯＳ）に制御権を返す。
【００３８】
このモバイル・アプリケーション開発環境のいくつかの利点は以下の通りである。
・非技術者でもその業務上の必要性に合ったアプリケーションを構築することができる
・コストが最大限に低減する
・完全に自動化された工程により、市場に出るまでの時間が１０分の１以下に劇的に短縮する
本明細書に記載される本発明の実施形態（特にモジュール（４０１）およびバイナリ・ジェネレータ（４０２）各々）は、１つまたは複数の従来のプロセッサと、１つまたは複数のプロセッサを制御して、非プロセッサ回路と連携して、本明細書に記載されるアービトレーション（arbitration）機能の一部、大半、またはすべてを実施する独自の記憶されたプログラム命令とから構成されうることが理解されよう。あるいは、アービトレーション機能の一部またはすべては、記憶されたプログラム命令を持たない状態機械、または１つまたは複数の特定用途集積回路（ＡＳＩＣ）で実施することもでき、ＡＳＩＣの場合は、各機能または機能のうち特定のものの組み合わせがカスタム・ロジックとして実施される。
【００３９】
言うまでもなく、上記２つの方式を組み合わせたものを使用することもできる。上記のように、それらの機能の方法および手段を本明細書に記載した。さらに、当業者は、例えば利用可能な時間や、現在の技術、経済的な考慮事項に応じて生じる可能性としては多くの手間と多くの設計上の選択肢にも関わらず、本明細書に開示される概念および原理に導かれれば、最小限の実験でそのようなソフトウェア命令およびプログラムおよびＩＣを容易に生成できることが予想される。
【００４０】
本発明の特定の好ましい実施形態を図示し、説明したが、当業者には、本発明の教示から逸脱することなく、変更および改変を加えることが可能であることが明らかであろう。したがって、本発明は、上記で開示し、本明細書に特許請求される基礎となる原理の範囲に該当するすべての改変、変形、および均等物を包含することが企図される。
【図１】
0005941541.tif 000002
【図２】
0005941541.tif 000003
【図３】
0005941541.tif 000004
【図４】
0005941541.tif 000005
【図５】
0005941541.tif 000006
【図６】
0005941541.tif 000007
【図７】
0005941541.tif 000008
【図８】
0005941541.tif 000009
【図９】
0005941541.tif 000010
【図１０】
0005941541.tif 000011
【図１１】
0005941541.tif 000012
【図１２】
0005941541.tif 000013
【図１３】
0005941541.tif 000014
【図１８】
0005941541.tif 000015
【図１９】
0005941541.tif 000016
【図２０】
0005941541.tif 000017
【図２１】
0005941541.tif 000018
【図２２】
0005941541.tif 000019
【図１４】
0005941541.tif 000020
【図１５】
0005941541.tif 000021
【図１６】
0005941541.tif 000022
【図１７】
0005941541.tif 000023