(57)【要約】【課題】モバイルアプリケーション開発及び展開プラットフォームを通して、モバイル機器アプリケーションを開発、カスタマイズ、展開するためのシステムと方法を提供する。【解決手段】システムと方法は、非技術的ユーザが洗練され、カスタマイズ可能なプラットフォーム間モバイルアプリケーションを構築することができるインターネットベース環境において実装される。プラットフォームは、ユーザが、様々なコンテンツ、デザイン特性、アプリケーション構成部分を選択、入力、作成、カスタマイズ、結合することを可能し、モバイルアプリケーションをコンパイルし、モバイルアプリケーションに対する構成ファイルを生成することを可能にする。モバイルアプリケーションが、モバイル機器にインストールされ、実行されるとき、構成ファイルは、モバイルアプリケーションに関連する様々なデータを読み出すことを可能にする。【選択図】図３
2014512611.tif 000002
【特許請求の範囲】
【請求項１】
複数のモバイル・オペレーティングシステム上で動作するようコンパイルされたモバイルアプリケーションを開発及びカスタマイズするためのシステムであって、
物理メモリー内に格納されたコンピューター読み取り可能媒体を有するコンピューター装置を有し、該コンピューター読み取り可能媒体は、該コンピューター装置に、
モバイルアプリケーションの開発及びカスタマイズにおいてユーザを補助するよう適合されたモバイルアプリケーション開発プラットフォームへのアクセスをユーザに許可するステップと、
前記ユーザに表示される複数のカスタマイズ可能な構成部分に関連する情報を送信するステップであって、該複数のカスタマイズ可能な構成部分は、前記ユーザによりカスタマイズされるモバイルアプリケーションの機能、デザイン及びコンテンツに関連するステップと、
前記表示された複数のカスタマイズ可能な構成部分に関連する複数のユーザ選択を受信するステップと、
前記複数のカスタマイズ可能な構成部分に関連する前記複数のユーザ選択に少なくとも部分的に基づいて、前記モバイルアプリケーションにアプリケーションデータを関連付けるステップであって、該アプリケーションデータは、前記モバイルアプリケーションに対するユーザ定義の機能、デザイン及びコンテンツを表すステップと、
前記アプリケーションデータを保存するステップと、
少なくとも１つのモバイル・オペレーティングシステムに関連する構築ツールを用いて、前記アプリケーションデータに基づき、前記モバイルアプリケーションに対するコンパイルされたデータを生成するステップと、
前記モバイルアプリケーションに対する識別子を有する構成ファイルを生成するステップであって、前記構成ファイルは、前記少なくとも１つのモバイル・オペレーティングシステムを実行するモバイル機器への送信、及び該モバイル機器での実行に対し適合されるステップと、
を実行させるよう構成され、
前記モバイルアプリケーションが、前記モバイル機器上にインストールされ、又は前記モバイル機器により実行されることに応答して、前記識別子は、前記モバイル機器が前記コンパイルされたアプリケーションデータの少なくとも一部分を読み出すことを可能にする、システム。
【請求項２】
前記モバイルアプリケーション開発プラットフォームは、インターネットを通して、前記ユーザによりアクセスされるウェブベースサービスを含む、請求項１に記載のシステム。
【請求項３】
前記モバイルアプリケーション開発プラットフォームは、前記ユーザに関連するコンピューター上にインストールされたソフトウェアアプリケーションを通してアクセスされる、請求項１に記載のシステム。
【請求項４】
前記コンピューター読み取り可能媒体は、前記モバイルアプリケーションに対する１以上の識別特性を、前記ユーザから受信するよう更に構成される、請求項１に記載のシステム。
【請求項５】
前記１以上の識別特性は、名前、タイプ、カテゴリー、記述、固有識別子及び日付からなるグループから選択される、請求項４に記載のシステム。
【請求項６】
前記１以上の識別特性は、前記モバイルアプリケーションに関連するアプリケーションカテゴリーのインジケーターを有するアプリケーションタイプ特性を含み、前記コンピューター読み取り可能媒体は、
新たなモバイルアプリケーションを作成するための要求を前記ユーザから受信し、
前記ユーザから前記１以上の識別特性を受信することに応答して、前記アプリケーションタイプ特性に少なくとも部分的に基づいて、複数のカスタマイズ可能な構成部分に関連する情報を決定するよう更に構成される、請求項４に記載のシステム。
【請求項７】
前記１以上の識別特性は、現在のモバイルアプリケーションを一意に識別するアプリケーション識別子特性を含み、前記コンピューター読み取り可能媒体は、
現在のモバイルアプリケーションを変更するための要求を前記ユーザから受信し、
前記ユーザから前記１以上の識別特性を受信することに応答して、前記アプリケーション識別子特性に少なくとも部分的に基づいて、複数のカスタマイズ可能な構成部分に関連する情報を決定するよう更に構成される、請求項４に記載のシステム。
【請求項８】
前記モバイルアプリケーションに関連する前記アプリケーションデータは、
前記モバイルアプリケーションにより提供されるユーザ定義の機能を表すアプリケーション構成部分、
モバイル機器上の前記モバイルアプリケーションの提示に関連するユーザ定義のデザイン特性を表すデザイン要素、
前記モバイルアプリケーションを通してアクセスされるユーザ定義のコンテンツを表すコンテンツ要素、
を有する、請求項１に記載のシステム。
【請求項９】
前記ユーザ定義の機能は、モバイル機器の少なくとも１つのセットに関連する機器固有機能を有する、請求項８に記載のシステム。
【請求項１０】
前記機器固有機能は、コンパス、ＧＰＳ、ジャイロスコープ、タッチスクリーン、カメラ、スピーカー、マイク、ブルートゥース、ＷｉＦｉ、ＵＳＢ接続及び近接センサーからなるグループから選択される、請求項９に記載のシステム。
【請求項１１】
前記ユーザ定義のデザイン特性は、レイアウト、テーマ、方向、フォント及びスタイルからなるグループから選択される、請求項８に記載のシステム。
【請求項１２】
前記ユーザ定義のコンテンツは、イメージ、ビデオ、サウンド、歌、リンク、アニメーション、ドキュメント及びテキストからなるグループから選択されるデータを有する、請求項８に記載のシステム。
【請求項１３】
前記ユーザ定義の機能、デザイン特性及びコンテンツの１つ以上は、前記ユーザに関連するコンピューターから、前記ユーザによりアップロードされたデータと関連する、請求項８に記載のシステム。
【請求項１４】
前記アプリケーションデータは、１以上の所定の構成部分又は要素を更に有し、該１以上の所定の構成部分又は要素のそれぞれは、前記モバイルアプリケーションに関連するデフォルトの機能、デザイン特性又はコンテンツを表す、請求項８に記載のシステム。
【請求項１５】
前記１以上の所定の構成部分又は要素は、前記モバイルアプリケーションに関連するアプリケーションのカテゴリーに少なくとも部分的に基づいて決定される、請求項１４に記載のシステム。
【請求項１６】
前記アプリケーションデータを保存するステップは、前記コンピューター装置の前記物理メモリー内に前記アプリケーションデータを保存するステップを有する、請求項１に記載のシステム。
【請求項１７】
前記コンピューター装置は、第１のコンピューター装置であり、前記アプリケーションデータを保存するステップは、第２のコンピューター装置に関連するメモリー内に保存するため、前記アプリケーションデータを該第２のコンピューター装置に送信するステップを有する、請求項１に記載のシステム。
【請求項１８】
前記第２のコンピューター装置は、リモートデータベースサーバーを有し、前記アプリケーションデータは、ネットワーク上で前記第２のコンピューター装置に送信される、請求項１７に記載のシステム。
【請求項１９】
前記アプリケーションデータを保存するステップは、前記モバイルアプリケーションに関連するアプリケーションデータベース内に前記アプリケーションデータを保存するステップを有する、請求項１に記載のシステム。
【請求項２０】
前記コンピューター読み取り可能媒体は、前記コンピューター装置に、
現在のモバイルアプリケーションを変更するための要求を前記ユーザから受信するステップと、
現在のモバイルアプリケーションを変更するための前記要求を受信することに応答して、前記アプリケーションデータベースから前記現在のモバイルアプリケーションに関連する保存されたアプリケーションデータを読み出すステップと、
前記保存されたアプリケーションデータに少なくとも部分的に基づいて、複数のカスタマイズ可能な構成部分に関連する情報を決定するステップと、
を実行させるよう更に構成される、請求項１９に記載のシステム。
【請求項２１】
前記コンピューター読み取り可能媒体は、前記コンピューター装置に、前記モバイルアプリケーションに関連する対象モバイル機器のセットを決定するステップを実行させるよう更に構成され、
前記少なくとも１つのモバイル・オペレーティングシステムは、前記対象モバイル機器のセットに基づく、請求項１に記載のシステム。
【請求項２２】
前記対象モバイル機器のセットを決定するステップは、前記モバイルアプリケーションを実行する対象モバイル機器のセットに関連するインジケーターを有する対象機器の選択を前記ユーザから受信するステップを有する、請求項２１に記載のシステム。
【請求項２３】
前記対象モバイル機器のセットを決定するステップは、前記モバイルアプリケーションと対象モバイル機器のデフォルトセットを関連付けるステップを有する、請求項２１に記載のシステム。
【請求項２４】
前記対象モバイル機器のセットは、モバイル機器カテゴリー、モバイル機器タイプ及びモバイル機器モデルからなるグループから選択される、請求項２１に記載のシステム。
【請求項２５】
前記コンピューター読み取り可能媒体は、前記コンピューター装置に、
前記モバイルアプリケーションをエンドユーザに展開するための要求を前記ユーザから受信するステップと、
前記モバイルアプリケーションを展開するための前記要求を受信することに応答して、前記モバイル・オペレーティングシステムに関連するディジタル配布プラットフォームに前記モバイルアプリケーションを提出するステップと、
エンドユーザへの配布のために、前記ディジタル配布プラットフォームに前記構成ファイルを転送するステップと、
を実行させるよう更に構成される、請求項１に記載のシステム。
【請求項２６】
前記コンピューター読み取り可能媒体は、前記コンピューター装置に、前記ディジタル配布プラットフォームへの前記モバイルアプリケーションの前記提出に関連する承認プロセスを自動的に管理するステップを実行させるよう更に構成される、請求項２５に記載のシステム。
【請求項２７】
前記構成ファイルは、前記コンパイルされたアプリケーションデータの少なくとも一部を更に有する、請求項１に記載のシステム。
【請求項２８】
前記コンピューター読み取り可能媒体は、前記コンピューター装置に、
以前にエンドユーザに配布された展開されたモバイルアプリケーションを更新するための要求を前記ユーザから受信するステップと、
前記展開されたモバイルアプリケーションに関連する保存されたアプリケーションデータを読み出すステップと、
前記ユーザに表示されるユーザ定義のカスタマイズ可能な構成部分に関連する情報を送信するステップであって、該ユーザ定義のカスタマイズ可能な構成部分は、前記保存されたアプリケーションデータに少なくとも部分的に基づくステップと、
前記表示されたユーザ定義のカスタマイズ可能な構成部分に関連する１以上のユーザ更新の選択を受信するステップと、
前記ユーザ定義のカスタマイズ可能な構成部分に関連する前記１以上のユーザ更新の選択に少なくとも部分的に基づいて、前記モバイルアプリケーションに関連する前記保存されたアプリケーションデータを更新するステップと、
を実行させるよう更に構成される、請求項１に記載のシステム。
【請求項２９】
前記展開されたモバイルアプリケーションは、前記モバイル機器にインストールされ、前記コンピューター読み取り可能媒体は、前記コンピューター装置に、
前記展開されたモバイルアプリケーションが前記モバイル機器上で立ち上げられ、又は実行されることに応答して、前記モバイル機器から要求を受信するステップであって、該要求は、前記展開されたモバイルアプリケーションに関連する識別子を含むステップと、
前記展開されたモバイルアプリケーションに関連する前記更新された保存されたアプリケーションデータの少なくとも一部分を前記モバイル機器に送信するステップと、
を実行させるよう更に構成される、請求項２８に記載のシステム。
【請求項３０】
複数のモバイル・オペレーティングシステム上で動作するようコンパイルされたモバイルアプリケーションを開発及びカスタマイズするための方法であって、
前記方法は、コンピューター装置に、
ユーザ入力装置を通して、ユーザからモバイルアプリケーション開発プラットフォームにアクセスするための要求を、前記コンピューター装置において受信するステップであって、該モバイルアプリケーション開発プラットフォームは、モバイルアプリケーションの開発とカスタマイズにおいてユーザを補助するよう適応されたステップと、
前記モバイルアプリケーション開発プラットフォームへのアクセスをユーザに許可するステップと、
複数のカスタマイズ可能な構成部分を、前記ユーザ入力装置に関連するディスプレイ上で前記ユーザに提示させる情報を前記コンピューター装置から送信するステップであって、前記複数のカスタマイズ可能な構成部分は、前記ユーザによりカスタマイズされるモバイルアプリケーションの機能、デザイン及びコンテンツに関連するステップと、
前記提示された複数のカスタマイズ可能な構成部分に関連する複数のユーザ選択を、前記コンピューター装置において受信するステップと、
前記複数のカスタマイズ可能な構成部分に関連する前記複数のユーザ選択に少なくとも部分的に基づいて、前記モバイルアプリケーションにアプリケーションデータを関連付けるステップであって、該アプリケーションデータは、前記コンピューター装置に関連するメモリー内に保存されているステップと、
少なくとも１つのモバイル・オペレーティングシステムに関連する構築ツールを用いて、前記アプリケーションデータに基づき、前記モバイルアプリケーションに対するコンパイルされたデータを、前記コンピューター装置において生成するステップと、
前記モバイルアプリケーションに対する識別子を有する構成ファイルを、前記コンピューター装置において生成するステップであって、前記構成ファイルは、前記少なくとも１つのモバイル・オペレーティングシステムを実行するモバイル機器への送信、及び該モバイル機器での実行に対し適合されるステップと、
を実行させる命令を通して実施され、
前記モバイルアプリケーションが、前記モバイル機器上にインストールされ、又は前記モバイル機器により実行されることに応答して、前記識別子は、前記モバイル機器による前記コンパイルされたアプリケーションデータの少なくとも一部分を読み出すことを可能にする、方法。
【請求項３１】
複数のモバイル・オペレーティングシステム上で動作するようコンパイルされたモバイルアプリケーションを開発及びカスタマイズするためのシステムであって、
第１のプロセッサーを有し、モバイルアプリケーションの開発及びカスタマイズにおいてユーザを補助するよう適合されたモバイルアプリケーション開発プラットフォームを提供するよう構成された第１のコンピューターと、
第２のプロセッサー、及び該第２のプロセッサーと接続された物理メモリーを有し、前記第１のコンピューターと通信するよう構成された第２のコンピューターと、
を有し、
前記第１のプロセッサーは、
ディスプレイ回路を含むユーザ入力装置を通して、前記モバイルアプリケーション開発プラットフォームへのアクセスをユーザに許可し、
前記ユーザ入力装置上での表示のために複数のカスタマイズ可能な構成部分に関連する情報を前記ユーザ入力装置に送信し、該複数のカスタマイズ可能な構成部分は、前記ユーザによりカスタマイズされるモバイルアプリケーションの機能、デザイン及びコンテンツに関連し、
前記送信された複数のカスタマイズ可能な構成部分に関連する複数のユーザ選択を、前記ユーザ入力装置から受信し、
前記モバイルアプリケーションに関連するアプリケーションデータを前記第２のコンピューターに転送し、前記アプリケーションデータは、前記複数のカスタマイズ可能な構成部分に関連する前記複数のユーザ選択に少なくとも部分的に基づき、
少なくとも１つのモバイル・オペレーティングシステムに関連する構築ツールを用いて、前記アプリケーションデータに基づき、前記モバイルアプリケーションに対するコンパイルされたデータを生成し、
前記モバイルアプリケーションに対する識別子を有する構成ファイルを生成し、該構成ファイルは、前記少なくとも１つのモバイル・オペレーティングシステムを実行するモバイル機器への送信、及び該モバイル機器での実行に対し適合される、
よう適合され、
前記第１のコンピューターから前記アプリケーションデータを受信することに応答して、前記第２のプロセッサーは、前記第２のコンピューターの前記物理メモリーに前記アプリケーションデータを保存するよう適合され、
前記モバイルアプリケーションが、前記モバイル機器上にインストールされ、又は前記モバイル機器により実行されることに応答して、前記識別子は、前記モバイル機器による前記コンパイルされたデータの少なくとも一部分を読み出すことを可能にする、システム。
【請求項３２】
前記第１のコンピューターと前記第２のコンピューターは、１つのコンピューターに統合される、請求項３１に記載のシステム。
【請求項３３】
前記第２のプロセッサーは、前記第１のプロセッサーに統合される、請求項３２に記載のシステム。
【請求項３４】
コンパイルされたデータを生成する機能及び構成ファイルを生成する機能の１つ、又は両方が、前記第２のプロセッサーにより実行される、請求項３１に記載のシステム。
【請求項３５】
前記モバイル機器から、前記モバイルアプリケーションに関連する識別子を含む要求を受信することを応答して、前記第２のプロセッサーは、前記コンパイルされたデータの少なくとも一部分を前記モバイル機器に送信するよう更に適合される、請求項３４に記載のシステム。
【請求項３６】
様々なモバイル機器に関連する複数のモバイル・オペレーティングシステム上で動作するようコンパイルされたモバイルアプリケーションを開発するためのシステムであって、
物理メモリー内に格納されたコンピューター読み取り可能媒体を有するコンピューター装置を有し、該コンピューター読み取り可能媒体は、該コンピューター装置に、
モバイルアプリケーションの開発及びカスタマイズにおいてユーザを補助するよう適合されたモバイルアプリケーション開発プラットフォームへのアクセスをユーザに許可するステップと、
前記ユーザによりカスタマイズされるモバイルアプリケーションに関連するアプリケーションカテゴリーのインジケーターを有するアプリケーションタイプ特性の選択を前記ユーザから受信するステップと、
前記選択されたアプリケーションタイプ特性に少なくとも部分的に基づいて、複数のカスタマイズ可能な構成部分を決定するステップであって、前記複数のカスタマイズ可能な構成部分は、前記モバイルアプリケーションの機能、デザイン及びコンテンツに関連するステップと、
前記複数のカスタマイズ可能な構成部分を前記ユーザに提示させる情報を送信するステップと、
前記ユーザに提示される前記複数のカスタマイズ可能な構成部分に関連する複数のユーザ選択を受信するステップと、
前記提示された複数のカスタマイズ可能な構成部分に関連する前記複数のユーザ選択に少なくとも部分的に基づいて、前記モバイルアプリケーションにアプリケーションデータを関連付けるステップであって、該アプリケーションデータは、前記物理メモリーに保存されているステップと、
前記モバイルアプリケーションが実行される対象モバイル機器の少なくとも１つのセットを決定するステップと、
モバイル・オペレーティングシステムに関連する構築ツールを用いて、前記アプリケーションデータに基づき、前記モバイルアプリケーションに対するコンパイルされたデータを生成するステップであって、該モバイル・オペレーティングシステムは、前記少なくとも１つのセットの対象モバイル機器に関連するステップと、
前記モバイルアプリケーションに対する識別子を有する構成ファイルを生成するステップであって、該構成ファイルは、前記対象モバイル機器のセットに関連するモバイル機器への送信、及び該モバイル機器での実行に対し適合されるステップと、
を実行させるよう構成され、
前記アプリケーションデータは、
前記モバイルアプリケーションにより提供されるユーザ定義の機能を表す少なくとも１つのアプリケーション構成部分、
モバイル機器上の前記モバイルアプリケーションの提示に関連するユーザ定義のデザイン特性を表す少なくとも１つのデザイン要素、
前記モバイルアプリケーションを通してアクセスされるユーザ定義のコンテンツを表す少なくとも１つのコンテンツ要素、
を有し、
前記モバイルアプリケーションが、前記モバイル機器上にインストールされ、又は前記モバイル機器により実行されることに応答して、前記識別子は、前記モバイル機器が前記コンパイルされたデータの少なくとも一部分を、リモート格納位置から読み出すことを可能にする、システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般には、コンピューターソフトウェア・アプリケーションを開発するためのシステムと方法に関連する。詳細には、特定の実施例は、非技術的なユーザや開発者が洗練され、高度にカスタマイズ可能なアプリケーションを構築することを可能にするインターネットベースのモバイルアプリケーション開発及び展開（deployment）プラットフォームを介して、プラットフォーム間モバイル機器アプリケーションを開発、展開及び更新するためのシステムと方法に関係する。
【背景技術】
【０００２】
スマートフォン、タブレットＰＣ、その他携帯端末などのモバイル機器は、広範に普及し、多くの消費者やビジネスの日常業務に重要となっている。従来、これらタイプの機器は、主に、通信機器としてのサービスを行ってきた。しかし、近年、消費者は、広い範囲の個人及び仕事に関連した作業の実行における不可欠なツールとして、これら機器に増々依存している。これに応じて、携帯電話やその他の無線携帯端末は、同等に複雑なコンピューターハードウェアとソフトウェアを持つ複雑なコンピューター機器に進化している。
【０００３】
これらのモバイル機器の多くは、様々な形式の通信（例えば、音声コールやテキストメッセージ）に対して、引き続き使用されているが、それらは、一般的に、ウェブサイトへのアクセスと表示、Ｅメールの送信と受信、写真とビデオの撮影と表示、音楽やその他形式のオーディオの再生などを含む、その他様々な機能性をも提供する。これら、及び多くのその他の機能性は、通常、機器のモバイル・オペレーティングシステムに内蔵されたソフトウェア構成部分（component）の形式、又はオペレーティングシステムに加えて動作する別個のモバイルアプリケーション（モバイルアプリ（ａｐｐ））の形式のどちらか一方で、ソフトウェアアプリケーションにより実行される。近年、モバイルアプリの開発と使用は大量となっており、現在、数千のアプリが、多彩なモバイル機器にまたがり存在する。
【０００４】
多数の競合する製造業者、開発者、及びその他のサービスプロバイダーが、近年、モバイル機器の分野に入ってきており、モバイル・オペレーティングシステムの形式で、ハードウェア、ソフトウェア、又は幾つかの場合には、ハードウェアとソフトウェア両方の組合せを提供している。これにより、次々に、多数の異種で互換性のないモバイル機器プラットフォーム及び環境の開発がもたらされてきた。これら機器の間の幾つかの違いは、ハードウェア構成部分、オペレーティングシステム及び入出力能力を含んでいる。実際、ブラックベリー、アイフォーン及びアンドロイドベースの機器など、最も広く使用されているモバイル機器の多くは、異なるオペレーティングシステム（例えば、シンビアン、ｉＯＳ、アンドロイド、ｗｅｂＯＳ）を使用し、これらの多くは、これら自身のプログラミング環境やソフトウェア開発ツールを持っている。
【０００５】
一般的に、これらの異なるオペレーティングシステムと機器に対するモバイルアプリケーションを開発することは、様々な設計技術とプログラミング言語、更に、別個のオペレーティングシステム又は機器固有のソフトウェアコードとコンパイルの使用を必要とする。この結果、開発者にとって、複数タイプのモバイル機器に移植可能なソフトウェアアプリケーションを作成することは、しばしば困難となる。代りに、モバイルアプリ開発者は、異なる機器をサポートするために、ソフトウェアの全て、又は少なくともかなりの部分を書き直すことをしばしば余儀なくされる。
【０００６】
特定タイプのモバイル・オペレーティングシステム及び／又は機器に対するモバイルアプリの開発を促進し、容易にするため、これらシステム及び機器の製造業者及び開発者は、それら機器及び／又はオペレーティングシステムに関連するソフトウェア開発キット（software development kits: SDK）（又は、その特定のバージョンやリリース）をしばしば配布する。特に、これらＳＤＫは、アプリケーション開発者が、サポートされるモバイル機器及び／又はモバイル・オペレーティングシステムのユーザに対するプログラム又はアプリケーションを作成することを可能にする。これらＳＤＫはモバイルアプリの開発を補助するものであるが、これらＳＤＫを利用するためには、通常、ソフトウェアプログラミングとモバイル機器についてのかなりの程度の技術的知識と専門性が要求される。特に、これらＳＤＫの使用は、プログラミング言語と、アプリケーションが開発される固有のモバイル・オペレーティングシステム・プラットフォームの両方についての理解と経験を持つことが、プログラマーに要求される。
【０００７】
モバイルアプリを構築することに関連した挑戦に加え、これらのアプリケーションを展開し、それらをエンドユーザに配布することは、しばしば、複雑で込み入った処理となる。一部分において、これは、多くのモバイル機器及びオペレーティングシステムの製造業者と開発者が、これらの機器やオペレーティングシステムと共に使用されることになる全てのモバイルアプリを、彼らのディジタル配布プラットフォーム（例えば、ｉＯＳのアプリストア、アンドロイドマーケット、ｗｅｂＯＳのアプリカタログ）を通して配布しなければならないことを要求するという事実による。通常、アプリは、配布プラットフォームに組み込まれる前に、製造業者又は開発者により承認されなければならない。モバイルアプリケーションに対するそのような承認を得ることは、時間を消費し、複雑な手続きとなる。この結果、アプリケーションをモバイル機器のユーザに無事に、そして効率的に展開及び配布するために、製造業者に課せられる要求と制限の理解、及びこれに伴う経験が必要となる。
【０００８】
同様に、これらの製造業者と開発者は、更新、プラグイン、拡張、コンテンツなど、アプリケーションに関連した追加のデータを、彼らのディジタル配布プラットフォームを通して配布することもまた度々要求する。幾つかの場合、特定のタイプの更新は、製造業者による別個の承認も受ける。このため、これらの制限は、モバイルアプリケーションの配布と管理を更に複雑に、そして鈍化させる。
【０００９】
モバイルアプリケーションを作成、展開及び更新するために、高いレベルの技術と専門知識が必要だとすると、多くの非技術的な個人、更に特定のプログラミング言語、モバイル・オペレーティングシステム又はディジタル配布プラットフォームの経験を欠く個人は、モバイルアプリケーションを開発及び／又は配布することができない。プログラミングや特定のモバイル・オペレーティングシステムのプラットフォームに十分な経験のない人々がモバイルアプリケーションを作成することを可能にするソフトウェアシステムを通して、モバイルアプリケーション開発をより広い層に更に身近にさせるための試みがなされているが、これらのシステムは、幾つかの難点や制限を示しており、消費者に広く採用されることに失敗した結果となっている。
【００１０】
例えば、１つの欠点は、これらソフトウェアシステムの多くは、非技術的なユーザが１つのモバイル・オペレーティングシステム、例えば、ｉＯＳ、アンドロイド、ｗｅｂＯＳ、シンビアン（又は、オペレーティングシステムの限定的なサブセット）のみに対してアプリケーションを作成することを可能にしていることである。幾つかの異なるモバイル・オペレーティングシステム、これらの幾つかは広く用いられている、を考慮すると、全てのモバイル・オペレーティングシステム（又は、少なくとも重要な消費者の基盤を有するもの）に対して簡単に移植（port）ができるアプリケーションを開発するための能力が、効率的で簡易化されたモバイルアプリケーション開発を促進する上で重要である。
【００１１】
その他の欠点は、これらソフトウェアシステムの多くが、相当の技術知識や専門知識をまだ必要としていることであり、それ故、これらのシステムは、モバイルアプリ開発を非技術的ユーザに利用可能にさせるために必要な程度までに、処理を簡単にできない。これらのシステムの幾つかは、使用に直観的でなく、ユーザの訓練を含み、及び／又は、アプリケーションプログラムや設計に身を置くなど、少なくとも基本的レベルの技術知識を必要とする。
【００１２】
その他の欠点は、多くのこれらソフトウェアシステムが、このシステムを用いて構築できるアプリケーションのタイプにかなりの制限を課していることである。例えば、これらのシステムの多くは、単純で、非柔軟なアプリケーションを作成するための能力をユーザに提供するだけであり、多くのモバイル機器及びそれらに対応するモバイル・オペレーティングシステム内に含まれる広範な機構（feature）や特定の機能性、例えば、コンパス、ＧＰＳ、ジャイロスコープ、タッチスクリーン、カメラ、スピーカー、マイク、ブルートゥース、ＷｉＦｉ、ＵＳＢ接続、近接センサーなど、の利用を禁止している。この結果、これらタイプのシステムにおいて、これらの機構や機能性を利用する更に洗練されたモバイルアプリを作成するために、追加の構成部分、プラグイン、モジュール又はエミュレーターを使用／インストールするための特別なプログラミング技術と専門知識が求められる。また、既存のシステム又は開発ツールを用いて構築された結果としてのアプリケーションの幾つかは、ユーザの機器が「オンライン」の間のみ使用可能である。加えて、これらシステムの幾つかは、アプリケーション開発者から直接ではなく、むしろモバイル・オペレーティングシステムのディジタル配布プラットフォームなど、第三者からアプリケーションの更新をダウンロードすることをユーザに求める。
【００１３】
それ故、モバイルソフトウェア・アプリケーションの開発、展開及び更新を簡素化し、合理化するシステムが必要であり、これにより、改善されたユーザ親和的な体験を通して、非技術的ユーザに処理を利用可能にする。また、ユーザが、任意のモバイル機器のオペレーティングシステム上で実行できるアプリケーションを開発することを可能にするシステムも必要となる。更に、ユーザが、モバイル機器とモバイル・オペレーティングシステムの機構と機能性のカスタマイズされた組合せを利用する洗練されたアプリケーションを作成することを可能にするシステムが必要となる。更にまた、ウェブベースであり、一方で、オフラインのプラットフォームを通して開発されたアプリケーションにユーザがアクセスすることを可能にするシステムが必要となる。また、モバイル・オペレーティングシステムのディジタル配布プラットフォームにアクセスする必要なしに、アプリケーションに関連した更新をユーザに直接的に提供するシステムが必要となる。
【発明の概要】
【発明が解決しようとする課題】
【００１４】
本発明の１つの側面は、開発者が、モバイルソフトウェア・アプリケーションを設計、構築、配布及び管理することを可能にするモバイルアプリケーション開発及び展開プラットフォームを提供することである。本発明のその他の側面は、非技術的ユーザにアクセス可能で、コンピュータープログラミング又はモバイル機器やアプリケーションに関する専門知識を持つことをユーザに要求しない使い勝手が良く、直観的なユーザインターフェースを通して操作可能なプラットフォームを提供することである。本発明の更にその他の側面は、高い程度のカスタマイズ可能性を許容し、アプリタイプ、モジュール、コンテンツ要素、テンプレートなどの様々な構成部分のカスタマイズ化と組み合わせを通して、様々なモバイル機器とモバイル・オペレーティングシステムの機構にアクセスできる洗練されたアプリケーションをユーザが作成することを可能にするプラットフォームを提供することである。本発明のその他の側面は、開発プラットフォームを通して、ユーザが、モバイルゲーム、テレビアプリケーション、ウェブアプリケーションなどのその他のタイプのアプリケーションを作成、カスタマイズ、更新、展開することを可能にするプラットフォームを提供することである。
【００１５】
本発明のその他の側面は、ユーザが何らかの別個のソフトウェアをダウンロード又はインストールする必要なしにインターネットを介してアクセスでき、一方で、プラットフォームを通して開発されたアプリケーションにオフラインでアクセス可能にするモバイル開発プラットフォームを提供することである。本発明の更にその他の側面は、ユーザが、広範なモバイル機器及びオペレーティングシステムにおける使用に対してコンパイルできる単一のアプリケーションを構築することを可能にするプラットフォームを提供することである。本発明のその他の側面は、プラットフォームを用いて開発されたアプリケーションの第三者のディジタル配布プラットフォームを通した展開と配布を管理するプラットフォームを提供することである。本発明の更にその他の側面は、アプリケーションが、エンドユーザによりダウンロードされ、リモートソースからアプリケーションデータにアクセスするために使用されるアプリケーションへのリファレンス及び／又はアプリケーションのサブセットを含む構成ファイル（configuration file）の使用を通して、オンザフライ（on-the-fly）でアセンブル及び更新されることを可能にするプラットフォームを提供することである。本発明のその他の側面は、ユーザが、ディジタル配布プラットフォームから、アプリケーションを再インストールする、あるいは更新、コンテンツ又はデータをダウンロードする必要なしに、アプリケーションに関連する更新、コンテンツ及びその他データをユーザに直接的に提供するプラットフォームを提供することである。
【課題を解決するための手段】
【００１６】
上記した、及びその他の側面の１つ以上は、モバイルアプリケーション開発及び展開プラットフォームにおけるシステムと方法を通して実現できる。特定の実施例において、モバイル開発及び展開プラットフォーム及び対応する装置（arrangement）は、プラットフォーム間相互運用性、ユーザ親和性、カスタマイズ可能性及び多様性など、非技術的なユーザやモバイルアプリ開発者が直面する問題に対処するために提供される。幾つかの実施例は、コンピュータープログラミング及びモバイル機器やオペレーティングシステムについての経験など、技術知識や専門知識に対する必要性なしに、非技術的なユーザ及びアプリケーション開発者が、プラットフォームを通してモバイルアプリケーションを開発することを可能にする。
【００１７】
特定の実施例において、モバイルアプリケーションの開発とカスタマイズにおいてユーザを補助するため、モバイルアプリケーション開発プラットフォームへのアクセスをユーザに認めるコンピューターシステムと方法が提供される。これら特定の実施例において、ユーザは、ユーザによりカスタマイズされることになるモバイルアプリケーションの機能性、デザイン及びコンテンツに付随するカスタマイズ可能な構成部分に関連する情報を提示される。特定の実施例において、ユーザに提示されたカスタマイズ可能な構成部分に関連して、ユーザから選択が受信される。ユーザの選択に基づき、ユーザ定義された機能性、デザイン及びコンテンツを表すアプリケーションデータは、モバイルアプリケーションに関連し、コンピューターシステムにより格納される。特定の実施例において、コンパイルされたデータは、モバイル・オペレーティングシステムに対する構築ツールを用いて、アプリケーションデータに基づくモバイルアプリケーションに対して生成される。モバイルアプリケーションに対する識別子を含む構成ファイルが生成される。これら特定の実施例において、構成ファイルは、モバイル・オペレーティングシステムを実行するモバイル機器への送信、及びモバイル機器上での実行に適用できる。特定の実施例において、モバイルアプリケーションがモバイル機器にインストールされる、あるいはモバイル機器により実行されることに応答して、識別子は、コンパイルされたアプリケーションデータの少なくとも一部分をモバイル機器が読み出す（retrieve）ことを可能にする。
【００１８】
特定の実施例において、モバイルアプリケーションの開発とカスタマイズ化においてユーザを補助するため、モバイルアプリケーション開発プラットフォームへのユーザのアクセスを承認するコンピューターシステム及び方法が提供される。これら特定の実施例において、ユーザによりカスタマイズされるモバイルアプリケーションに対するアプリケーションカテゴリーを示すアプリケーションタイプ・プロパティが、ユーザから受信される。アプリケーションタイプ・プロパティは、モバイルアプリケーションに関連するアプリケーションカテゴリーに基づいて、モバイルアプリケーションの機能性、デザイン及びコンテンツに付随するカスタマイズ可能な構成部分を決定するために使用される。特定の実施例において、カスタマイズ可能な構成部分をユーザに提示させる情報が、ユーザに送信される。特定の実施例において、提示されたカスタマイズ可能な構成部分に関連した選択が、ユーザから受信される。アプリケーションデータは、ユーザの選択に基づくモバイルアプリケーションに関連し、コンピューターシステムの物理メモリーに格納される。特定の実施例において、アプリケーションデータは、モバイルアプリケーションにより提供されるユーザ定義の機能性を示す１以上のアプリケーション構成部分、モバイル機器上のモバイルアプリケーションの提示に関連したユーザ定義のデザイン特性を示す１以上のデザイン要素、及び／又はモバイルアプリケーションを通してアクセスされるユーザ定義のコンテンツデータを示す１以上のコンテンツ要素を有することができる。
【００１９】
特定の実施例において、モバイルアプリケーションが実行されることになる対象のモバイル機器のセットが決定される。コンパイルされたデータは、対象モバイル機器のセットに関連した１つのモバイル・オペレーティングシステムに対する構築ツールを用いて、アプリケーションデータに基づいたモバイルアプリケーションに対し生成される。モバイルアプリケーションに対する識別子を含む構成ファイルが生成される。特定の実施例において、構成ファイルは、対象モバイル機器のセットに関連したモバイル機器への送信、及びモバイル機器での実行に適応される。特定の実施例において、モバイルアプリケーションがモバイル機器にインストールされる、又はモバイル機器により実行されることに応答して、識別子は、モバイル機器がリモート格納位置からコンパイルされたアプリケーションデータの少なくとも一部分を読み出すことを可能にする。
【００２０】
特定の実施例において、ユーザは、複数のモバイル・オペレーティングシステム及び／又はモバイル機器で動作することができるアプリケーションを構築し、コンパイルできる。これら特定の実施例において、プラットフォームは、ユーザが、モバイル機器及びオペレーティングシステムの特定のタイプに固有な様々な機構と機能性を活用することを可能にし、これは、これらの機構にアクセスする構成部分を組み込み、及び組み合わせることによる。特定の実施例において、プラットフォームは、非技術的なユーザ及びアプリケーション開発者が、モバイルゲーム、テレビアプリケーション、ウェブアプリケーションなど、その他タイプのアプリケーションを同様の方法で、開発及び展開することを可能にする。
【００２１】
特定の実施例において、モバイル開発プラットフォームは、ウェブベースのアプリケーション開発環境及びサービスの形式で提供される。ウェブベースサービスは、モバイルアプリケーションを開発及び展開するプロセスでユーザを補助し、そのプロセスを通してユーザを誘導する直観的で、ユーザ親和的なグラフィカル・ユーザー・インターフェースを、ユーザに提供できる。特定の実施例によれば、ユーザは、希望するモバイルアプリケーションの特定の機構、コンテンツ及びレイアウトを明確にすることにより、モバイルアプリを設計、作成、カスタマイズ及び変形することができる。これら特定の実施例において、ユーザは、モジュール、アプリタイプ、テーマ、テンプレート、設定及びコンテンツを含む様々な所定で、ユーザによりアップロードされた構成部分を選択、組合せ及びカスタマイズできる。特定の実施例において、ユーザは、アプリケーションが構築され、そしてアプリが実行される１以上のモバイル・オペレーティングシステム及び／又はモバイル機器を選択することができる。
【００２２】
特定の実施例において、プラットフォームを通して開発されたアプリケーションは、モバイル・オペレーティングシステムに関連した自動化された構築ツールを用いてコンパイルされる。これら特定の実施例によれば、コンパイル（compilation）は、アプリケーションに対するデータの完全なコレクションを含むことはできないが、代わりに、設定又は構成ファイル、及び／又はアプリケーションデータのサブセットなど、識別リファレンス及び／又はその他の基本情報を含むことができる。この情報は、様々な構成部分、レイアウト、機構及びコンテンツを含むアプリケーションと関連する、及び／又はアプリケーションにより必要となる特定データを、リモート格納媒体から読み出すために、後に使用することができる（例えば、アプリケーションがユーザによりダウンロードされ、立ち上げられ（launch）又は実行されるとき）。アプリケーションは、任意の更新又は変更を検査するため、及び／又はダウンロードするため、この情報を使用することもできる。これら特定の実施例において、アプリケーションは、アプリケーションが立ち上がるたびに、そのような更新を自動的に検査し、及び／又はダウンロードすることができる。
【００２３】
特定の実施例において、アプリケーションは、コンパイルされた後、１以上のモバイル・オペレーティングシステム及び／又は機器に関連したディジタル配布プラットフォームに提示される。これら特定の実施例において、ディジタル配布プラットフォームは、アプリケーションをエンドユーザに展開し、配布することができるようにする前に、アプリケーションが承認プロセスを通過することを要求できる。これら特定の実施例によれば、モバイル開発プラットフォームは、承認及び配布のために、１以上のディジタル配布プラットフォームにアプリケーションを自動的に提示できる。その他の特定の実施例において、このプロセスは、手動で実行できる。
【００２４】
特定の実施例において、モバイル開発プラットフォームを通して開発されたアプリケーションは、インストール及び／又はユーザのモバイル機器での実行のため、エンドユーザによりダウンロードされる。これら特定の実施例において、アプリケーションは、サポートされるモバイル機器での使用のため、ディジタル配布プラットフォームからダウンロードできる。その他の特定の実施例において、アプリケーションは、開発プラットフォーム又は第三者アプリケーション・ホスティング（hosting）サービスからダウンロードできる。特定の実施例において、アプリケーションがダウンロードされ、及び／又は立ち上げられた後、アプリケーションは、アプリケーションに対する機構、コンテンツ及びレイアウトを含む様々なデータを読み出すためにリモート格納媒体にアクセスし、そのデータをエンドユーザに表示できる。これら特定の実施例において、アプリケーションデータは、モバイル開発プラットフォームから直接的にアクセスすることができる。その他の実施例において、アプリケーションデータは、ディジタル配布プラットフォーム又は第三者サービスを通してアクセスできる。特定の実施例において、アプリケーション及び／又はモバイル機器は、リモート格納媒体から読み出された特定のアプリケーションデータをキャッシュ（cache）することができる。これら特定の実施例において、アプリケーションがこのキャッシュされたデータを使用すべきかどうか、又はリモート格納媒体からアプリケーションデータにアクセスすべきかどうか、アプリケーションは決定することができる。
【００２５】
特定の実施例によれば、モバイル開発プラットフォームをホスティングするサーバー、又はその他の第三者サーバーやシステムは、開発プラットフォームを通して作成され、エンドユーザに配布されるアプリケーションに広告、又はその他の形式の補足のコンテンツを挿入することができる。アプリケーション内に挿入される広告は、アプリケーションタイプ、コンテンツ、ユーザ情報（例えば、総人口統計データ）、及び／又は地域若しくは時間情報など、様々な特性に基づく。これら特定の実施例において、広告は、非負担な方法（non-intrusive manner）でエンドユーザに提示される。広告は、アプリケーションに含まれる特定のコンテンツ要素の内部あるいは上部に提示され、及び／又は一時的に、あるいはアプリケーション実行の所定の段階において表示される。特定の実施例において、ダウンロードされたアプリケーション、ダウンロードされたアプリケーションを作成した開発者から利用可能な新たなアプリケーション、一般的なアプリケーション及び／又は高評価のアプリケーションの更新の有効性に関連した情報など、その他の補足通知が、エンドユーザに送信され、及び／又はプラットフォームを通して開発されたアプリケーション内に挿入される。
【００２６】
特定の実施例において、開発プラットフォームは、モバイルアプリケーションを作成し、配布するためにモバイル開発プラットフォームを利用する開発者とユーザを関連付けることにより、様々なソーシャルネットワーク機能を提供できる。これら特定の実施例によれば、ソーシャルネットワーク機能は、ウェブベースのグラフィカル・インターフェースを通してなど、開発プラットフォーム自体の中に構築される。その他の特定の実施例において、これらの機能は、別個のサービスを介して提供することができる。特定の実施例において、開発者は、開設されたソーシャルメディア・ウェブサイトとの既存の接続を発見することなどにより、その他の開発者やユーザにアクセスし、接続し、及び交流することができる。そのような機能を用いることで、開発者は、協調し、情報を共有し、及びカスタマイズされたテンプレート、モジュール、アプリタイプ又はアプリケーションを交換できる。
【００２７】
本発明の更なる特徴、その本質、様々な利点が、添付の図面と併せて、以下の好適な実施例の詳細な説明からより明らかとなる。図面において、同様の参照番号は同様の部分を参照する。
【図面の簡単な説明】
【００２８】
【図１】特定の実施例に従い、モバイル開発及び配布プラットフォームを含むシステムを示す図である。
【図２】特定の実施例に従い、モバイル開発及び配布プラットフォームのアプリケーション開発環境の一部分を示す概略図である。
【図３】特定の実施例に従い、モバイル開発プラットフォームを通してモバイルアプリケーションを開発するためのプロセスを示すフロー図である。
【図４】特定の実施例に従い、モバイル開発及び配布プラットフォームを通して開発されたモバイルアプリに対するアプリケーションデータを格納及び表示するために使用できる典型的なデータモデルを示すブロック図である。
【図５】特定の実施例に従い、モバイル開発及び配布プラットフォームを通して開発されたモバイルアプリケーションを実行することに関連して使用されるプロセスを示すフロー図である。
【図６】特定の実施例に従い、モバイル開発及び配布プラットフォームを通して、通知を閲覧、作成及び／又は変更するためのプロセスを示すフロー図である。
【図７】特定の実施例に従い、モバイル開発及び配布プラットフォームを通して開発者に提示される通知マネージャーの表示の一部分を示す図である。
【図８】特定の実施例に従い、モバイル開発及び配布プラットフォームを通して、モジュールをモバイルアプリに追加するために使用されるプロセスを示すフロー図である。
【図９】特定の実施例に従い、モバイル開発及び配布プラットフォームを通して開発されたモバイルアプリに含まれる接触モジュールをカスタマイズするためのプロセスを示すフロー図である。
【図１０】特定の実施例に従い、モバイル開発及び配布プラットフォームを通して、開発者によりアクセスされる接触マネージャーを含むアプリケーション開発環境の表示の一部分を示す図である。
【図１１】モバイル開発及び配布プラットフォームを通して開発されたモバイルアプリに含まれる電子ブックモジュールをカスタマイズするためのプロセスを示すフロー図である。
【図１２】特定の実施例に従い、モバイル開発及び配布プラットフォームを通して、開発者によりアクセスされる電子ブックマネージャーを含むアプリケーション開発環境の表示の一部分を示す図である。
【図１３】特定の実施例に従い、モバイル開発及び配布プラットフォームを通して開発されたモバイルアプリに含まれる双方向ブックモジュールをカスタマイズするためのプロセスを示すフロー図である。
【図１４】特定の実施例に従い、モバイル開発及び配布プラットフォームを通して開発された双方向ブックモジュールを有するモバイルアプリの表示の一部分を示す図である。
【図１５】特定の実施例に従い、モバイル開発及び配布プラットフォームを通して開発されたモバイルアプリに含まれるイベントモジュールをカスタマイズするためのプロセスを示すフロー図である。
【図１６】特定の実施例に従い、モバイル開発及び配布プラットフォームを通して、開発者によりアクセスされるイベントマネージャーを含むアプリケーション開発環境の表示の一部分を示す図である。
【図１７】特定の実施例に従い、モバイル開発及び配布プラットフォームを通して開発されたモバイルアプリに含まれるフィードモジュールをカスタマイズするためのプロセスを示すフロー図である。
【図１８】特定の実施例に従い、モバイル開発及び配布プラットフォームを通して、開発者によりアクセスされるフィードマネージャーを含むアプリケーション開発環境の表示の一部分を示す図である。
【図１９】特定の実施例に従い、モバイル開発及び配布プラットフォームを通して開発されたモバイルアプリに含まれるフォームモジュールをカスタマイズするためのプロセスを示すフロー図である。
【図２０】特定の実施例に従い、モバイル開発及び配布プラットフォームを通して、開発者によりアクセスされるフォームマネージャーを含むアプリケーション開発環境の表示の一部分を示す図である。
【図２０Ａ】特定の実施例に従い、モバイル開発及び配布プラットフォームを通して、開発者によりアクセスされるフォームマネージャーを含むアプリケーション開発環境の表示の一部分を示す図である。
【図２１】特定の実施例に従い、モバイル開発及び配布プラットフォームを通して開発されたモバイルアプリに含まれるＨＴＭＬモジュールをカスタマイズするためのプロセスを示すフロー図である。
【図２２】特定の実施例に従い、モバイル開発及び配布プラットフォームを通して、開発者によりアクセスされるＨＴＭＬマネージャーを含むアプリケーション開発環境の表示の一部分を示す図である。
【図２３】特定の実施例に従い、モバイル開発及び配布プラットフォームを通して開発されたモバイルアプリに対するリンクモジュールをカスタマイズするためのプロセスを示すフロー図である。
【図２３Ａ】特定の実施例に従い、モバイル開発及び配布プラットフォームを通して開発されたリンクモジュールを有するモバイルアプリの表示の一部分を示す図である。
【図２４】特定の実施例に従い、モバイル開発及び配布プラットフォームを通して、開発者によりアクセスされるリンクマネージャーを含むアプリケーション開発環境の表示の一部分を示す図である。
【図２５】特定の実施例に従い、モバイル開発及び配布プラットフォームを通して、開発者によりアクセスされるリンクマネージャーを含むアプリケーション開発環境の表示の一部分を示す図である。
【図２６】特定の実施例に従い、モバイル開発及び配布プラットフォームを通して開発されたモバイルアプリに含まれる写真又はビデオモジュールをカスタマイズするためのプロセスを示すフロー図である。
【図２７】特定の実施例に従い、モバイル開発及び配布プラットフォームを通して、開発者によりアクセスされる写真又はビデオマネージャーを含むアプリケーション開発環境の表示の一部分を示す図である。
【図２７Ａ】特定の実施例に従い、モバイル機器のディスプレイ上の写真又はビデオモジュールの表示の一部分を示す図である。
【図２８】特定の実施例に従い、モバイル開発及び配布プラットフォームを通して、開発者によりアクセスされる写真又はビデオマネージャーを含むアプリケーション開発環境の表示の一部分を示す図である。
【図２８Ａ】特定の実施例に従い、モバイル機器のディスプレイ上の写真又はビデオモジュールの表示の一部分を示す図である。
【図２９】特定の実施例に従い、モバイル開発及び配布プラットフォームを通して開発されたモバイルアプリに含まれるサウンドボード（soundboard）モジュールをカスタマイズするためのプロセスを示すフロー図である。
【図３０】特定の実施例に従い、モバイル開発及び配布プラットフォームを通して、開発者によりアクセスされるサウンドボードマネージャーを含むアプリケーション開発環境の表示の一部分を示す図である。
【図３０Ａ】特定の実施例に従い、モバイル機器のディスプレイ上のサウンドボードモジュールの表示の一部分を示す図である。
【図３１】特定の実施例に従い、モバイル開発及び配布プラットフォームを通して開発されたモバイルアプリに含まれるステッカー（sticker）モジュールをカスタマイズするためのプロセスを示すフロー図である。
【図３２】特定の実施例に従い、モバイル開発及び配布プラットフォームを通して、開発者によりアクセスされるステッカーマネージャーを含むアプリケーション開発環境の表示の一部分を示す図である。
【図３２Ａ】特定の実施例に従い、モバイル機器のディスプレイ上のステッカーモジュールの表示の一部分を示す図である。
【図３３】特定の実施例に従い、モバイル開発及び配布プラットフォームを通して開発されたモバイルアプリに対するメニュー又はリストモジュールをカスタマイズするためのプロセスを示すフロー図である。
【図３４】特定の実施例に従い、モバイル開発及び配布プラットフォームを通して、開発者によりアクセスされるリストマネージャーを含むアプリケーション開発環境の表示の一部分を示す図である。
【図３４Ａ】特定の実施例に従い、モバイル開発及び配布プラットフォームを通して開発されたメニューモジュールを有するモバイルアプリの表示の一部分を示す図である。
【図３４Ｂ】特定の実施例に従い、モバイル開発及び配布プラットフォームを通して、開発者によりアクセスされるｅコマース（eCommerce）マネージャーを含むアプリケーション開発環境の表示の一部分を示す図である。
【図３４Ｃ】特定の実施例に従い、モバイル開発及び配布プラットフォームを通して、開発者によりアクセスされるｅコマースマネージャーを含むアプリケーション開発環境の表示の一部分を示す図である。
【図３５】特定の実施例に従い、モバイル開発及び配布プラットフォームを通して開発されたモバイルアプリに含まれるクーポンモジュールをカスタマイズするためのプロセスを示すフロー図である。
【図３６】特定の実施例に従い、モバイル開発及び配布プラットフォームを通して、開発者によりアクセスされるクーポンマネージャーを含むアプリケーション開発環境の表示の一部分を示す図である。
【図３７】特定の実施例に従い、モバイル開発及び配布プラットフォームを通して開発されたモバイルアプリに含まれるディスコグラフィーモジュールをカスタマイズするためのプロセスを示すフロー図である。
【図３８】特定の実施例に従い、モバイル開発及び配布プラットフォームを通して、開発者によりアクセスされるディスコグラフィーマネージャーを含むアプリケーション開発環境の表示の一部分を示す図である。
【図３９】特定の実施例に従い、モバイル開発及び配布プラットフォームを通して、開発者によりアクセスされるディスコグラフィーマネージャーを含むアプリケーション開発環境の表示の一部分を示す図である。
【図４０】特定の実施例に従い、モバイル開発及び配布プラットフォームを通して開発されたクイズモジュールを有するモバイルアプリを表示するモバイル機器の一部分を示す図である。
【図４１】特定の実施例に従い、モバイル開発及び配布プラットフォームを通して、開発者によりアクセスされる話し友達（talking friend）マネージャーを含むアプリケーション開発環境の表示の一部分を示す図である。
【図４２】特定の実施例に従い、モバイル開発及び配布プラットフォームを通して開発された話し友達モジュールを有するモバイルアプリの表示の一部分を示す図である。
【図４３Ａ】特定の実施例に従い、モバイル開発及び配布プラットフォームを通して、モバイルゲームを作成、変更及びカスタマイズするために開発者により使用されるゲーム開発環境の表示の一部分を示す図である。
【図４３Ｂ】特定の実施例に従い、モバイル開発及び配布プラットフォームを通して、モバイルゲームを作成、変更及びカスタマイズするために開発者により使用されるゲーム開発環境の表示の一部分を示す図である。
【図４３Ｃ】特定の実施例に従い、モバイル開発及び配布プラットフォームを通して、モバイルゲームを作成、変更及びカスタマイズするために開発者により使用されるゲーム開発環境の表示の一部分を示す図である。
【発明を実施するための形態】
【００２９】
上記のように、非技術的なモバイル機器のユーザ及びその他の個人は、様々なタイプのモバイル機器に対するモバイルアプリケーション（「モバイルアプリ」又は「アプリ（ａｐｐ）」）を開発するため、既存の非ユーザ親和的なソフトウェアシステムに依存した困難な時間を過ごしている。これは、特に、複数のモバイル機器・オペレーティングシステムの特定の機器固有の機構と機能性を利用するモバイルアプリの開発、リリース及び更新を望むユーザに対して真実である。そのようなユーザに対する負荷を減らし、開発及び展開プロセスをユーザにアクセス可能にするため、ユーザが、コンピュータープログラミングとモバイル機器の技術的知識に対する必要性なしに、複数のモバイル・オペレーティングシステムにわたりモバイルアプリを開発及び配布することを可能にするシステムと方法がここに提供される。
【００３０】
特定の実施例は、モバイル開発及び配布プラットフォーム及び対応するに装置（arrangement）に関連し、これは、非技術的なユーザ及びアプリケーション開発者が、プログラミングの知識や経験の必要性なしに、複数のモバイル・オペレーティングシステム及び／又はモバイル機器で実行し、様々な機器やオペレーティングシステム固有の機構を利用するために構築され、コンパイルされるプラットフォームを通して、モバイルアプリを開発することを可能にする。これら特定の実施例は、ユーザが、様々な所定の構成部分、機構、アプリケーションデザイン及びコンテンツを選択し、組合せ、及び／又はアプリタイプやモジュールなど、新たな構成部分を作成することにより、プラットフォームを通して開発されたモバイルアプリを高度にカスタマイズすることを可能にする。特定の実施例は、ユーザが、コンパイルされたアプリケーションを、１以上のタイプのモバイル・オペレーティングシステム及び／又はモバイル機器に関連したディジタル配布プラットフォームに提出することにより、プラットフォームを通して開発されたアプリを展開することを可能にする。これら特定の実施例は、コンパイルが、アプリケーションデータそのものより、識別リファレンス及び／又はその他の基本情報からなることを可能にし、これは、リモートソースからアプリケーションデータを読み出すために使用され、エンドユーザがアプリケーションをダウンロード又は実行するときにアプリケーションを構築し、構成する。特定の実施例は、ユーザ及び開発者が、モバイル開発プラットフォームを通して直接にアプリとそれらのコンテンツを変更又は更新することを可能にする。以下に記載するモバイル開発プラットフォーム、対応する装置及びシステムと方法は、モバイルアプリ開発に関して現在存在する多くのハードルと制限に対処し、プロセスが非技術的ユーザに利用し易くなるようにするために、技術的知識や経験の必要性を取り除くことによりプロセスを本質的に簡素化し、取り組みにかかる時間と努力を最小化する。
【００３１】
モバイル開発及び配布プラットフォームとアーキテクチャー
図１は、特定の実施例に従って、モバイル開発及び配布プラットフォームを含むシステムの図である。図１に示されるように、このシステムは、モバイル開発及び配布プラットフォームの一部であるサーバー、プロセッサー、ネットワーク、及び個人機器を含む。図１のシステムは、サーバー200を有し、これはコンピューターのハードウェア、ソフトウェア、又はそれらの組合せであり、幾つかの物理的又はバーチャルなコンピューターサーバー、あるいはその他の適切なコンピューター機器を含んでいる。特定の実施例において、サーバー200は、非技術的なユーザ、アプリケーション設計者又はソフトウェア開発者、及び／又はモバイルアプリを構築及び／又は展開することを望むその他タイプのユーザなど、様々な開発者によりアクセスできるモバイル開発サービスへのアクセスをホスティングし、運営し、及び／又は提供する。特定の実施例において、モバイル開発サービスは、サーバー200上で実行するソフトウェア開発環境の形式とすることができる。その他特定の実施例において、モバイル開発サービスは、開発者がモバイルアプリを作成、変更及び／又は展開することを可能にするハードウェア、ソフトウェア、又はハードウェアとソフトウェアの組合せの任意の適切な形式とすることができる。これら特定の実施例において、開発者は、図１に示されるように、開発者コンピューター100を通してサーバーコンピューター200にアクセスできる。開発者コンピューター100は、サーバー200と通信し、開発者にサーバー200へのアクセスを提供することを可能にするパーソナルコンピューター、ラップトップ、タブレットＰＣ、モバイル機器、又はその他の適切なコンピューターハードウェア及び／又はソフトウェアとすることができる。
【００３２】
特定の実施例において、サーバー200及び／又はモバイル開発サービスは、１以上の第三者サービスプロバイダーによりホスティング及び運営され、及び／又は開発者コンピューター100を用いて、ネットワーク500を介して開発者によりアクセスされる。これら特定の実施例において、ネットワーク500は、開発者が開発者コンピューター100を介してサーバー200にアクセスすることを可能にするインターネットネットワーク又は専用ネットワークなど、任意の適切なタイプの有線及び／又は無線ネットワークとすることができる。例えば、図１に示されるように、サーバー200は、インターネットを介して、開発者コンピューター100を用いて開発者によりアクセスできるウェブサーバーの形式とすることができる。開発者は、開発者コンピューター100上の標準的なウェブブラウザーを用いて、１以上のウェブページに移動（navigate）することにより、モバイル開発サービスにアクセスすることができ、これにより、開発者コンピューター100に別個のソフトウェアをダウンロード及び／又はインストールする必要性を取り除く。その他の特定の実施例において、モバイル開発サービスは、異なるクライアントの、又はスタンドアローンのソフトウェアアプリケーションとすることができ、サーバー200及び／又は１以上のその他の第三者サーバーから開発者によりダウンロードすることができ、あるいは、その他任意の適切な手段（例えば、ＣＤ、物理ディスクなど）を介して開発者に供給されて、開発者コンピューター100にインストールされる。サーバー200は、例示を目的として、図１に示されているが、当然のことであるが、特定の実施例において、モバイル開発サービスなど、サーバー200により提供される機能性は、幾つかのサーバーにより、ホスティング及び運営され、あるいは開発者コンピューター100に統合することができる。
【００３３】
サーバー200がウェブサーバーであるなど、特定の実施例において、モバイル開発サービスは、ウェブベースサービスの形式で提供される。これら特定の実施例において、ウェブベースサービスは、開発者がモバイルアプリを作成、変更及び展開することを可能にするアプリケーション開発環境へのアクセスを開発者に提供できる。例えば、ウェブベースサービスは、様々なウェブページを提供し、開発者がこれらウェブページと相互にやり取りすることを可能にするウェブサイトなど、グラフィカル・インターフェースの形式とすることができる。これら特定の実施例において、開発者は、アプリタイプやモジュールなどの様々なアプリケーション構成部分、レイアウト、テーマ、表示オプションなどのデザイン要素、テスト、イメージ、ビデオ、サウンド、歌、ドキュメントやアプリにおけるその他の同様のデータなどのコンテンツ要素を定義する（例えば、選択、作成、カスタマイズ及び／又はアップロードする）ことにより、モバイルアプリを設計、作成及び／又は変更することができる。このプロセスは、図２に関連して、以下で更に詳細に説明する。
【００３４】
図１に示されるように、特定の実施例において、サーバー200は、データベースサーバー210など、１以上のデータベースサーバーを利用することもできる。特定の実施例において、データベースサーバー210は、サーバー200により読み出すことができ、アプリケーション開発プロセスの間に開発者に提示される、テンプレート、モジュール、レイアウト、コンテンツなど、様々な所定の又は一般的なアプリケーションデータを格納することができる。これら特定の実施例において、データベースサーバー210は、モバイル開発サービスを通して開発者により開発されている、あるいは開発されたモバイルアプリケーションを格納し、読み出すため、サーバー200により使用される。例えば、開発者がモバイルアプリを作成及び／又は変更するとき、サーバー200は、開発者により選択、作成又はカスタマイズされたアプリケーション構成部分及びデザイン要素、及び／又はアップロードされたコンテンツなど、アプリに関連したデータをデータベースサーバー210内に格納する。これら特定の実施例によれば、サーバー200は、格納されたアプリケーションデータを読み出し、及び／又は、その後、開発者がモバイル開発サービスにアクセスしたときなど、開発者に提示することができる。
【００３５】
特定の実施例において、データベースサーバー210は、第三者サービスプロバイダーによりホスティング及び運営される。第三者サービスプロバイダーは、別個のサービスプロバイダーとすることができ、又はサーバー200をホスティング及び運営する同一のサービスプロバイダーとすることができる。これら特定の実施例において、図１に示されるように、サーバー200は、ネットワーク500を介して、データベースサーバー210にアクセスし、通信することができる。その他の特定の実施例において、データベースサーバー210は、サーバー200に統合する（又は、直接接続する）ことができる。サーバー200が開発者によりホスティング及び運営されるなど、更にその他実施例において、データベースサーバー210は、開発者コンピューター100に統合する（又は、直接接続する）ことができる。
【００３６】
特定の実施例によれば、サーバー200は、ネットワーク500を介して、ディジタル配布プラットフォーム300など、１以上のディジタル配布プラットフォームと通信することができる。ディジタル配布プラットフォーム300は、モバイルアプリをホスティングし、それらをエンドユーザに配布することができる任意の適切なネットワークサービスとすることができる。これら特定の実施例において、ディジタル配布プラットフォーム300は、ｉＯＳのアプリストア、アンドロイドのマーケット、ｗｅｂＯＳのアプリカタログなど、特定の（複数の）モバイル・オペレーティングシステム及び／又は（複数の）モバイル機器の製造業者又は開発者と関連し、及び／又はそれらにホスティング及び運営されるウェブベースサービスとすることができる。その他の特定の実施例において、ディジタル配布プラットフォーム300は、第三者プロバイダー又は開発者によりホスティング及び運営され、及び／又はサーバー200又は開発者コンピューター100に統合することができる。これら特定の実施例において、図１に示されるように、サーバー200は、ネットワーク500を介して、ディジタル配布プラットフォーム300と通信することができる。
【００３７】
例えば、サーバー200及び／又はモバイル開発サービスを通してモバイルアプリを作成又は変更している間、あるいはその後、開発者は、１以上の対象モバイル機器セットを選択し、これは、モバイルアプリケーションが動作することになる１以上のモバイル・オペレーティングシステム及び／又はモバイル機器を含む。例えば、対象モバイル機器セットは、モバイル機器カテゴリー、モバイル機器タイプ又はモバイル機器モデルを含むことができる。各モバイル機器カテゴリーは、特定のモバイル・オペレーティングシステム（例えば、ｉＯＳモバイル・オペレーティングシステムを動作させる様々なバージョンのアップルのｉＰｈｏｎｅ、ｉＰａｄ、ｉＴｏｕｃｈ）を動作させるモバイル機器のグループと関連する。各モバイル機器タイプは、モバイル機器のタイプ（例えば、スマートフォン、タブレットなど）に基づいて、モバイル機器カテゴリーのサブセットと関連する。各モバイル機器モデルは、単一のモバイル機器（例えば、アップルのｉＰｈｏｎｅ ４）又は特定のモバイル機器（例えば、アップルのｉＰｈｏｎｅ）の全モデルに関連する。特定の実施例において、デフォルトの対象モバイル機器セットは、モバイル開発プラットフォーム及び／又はサービスにより、択一的に又は追加として設定される。特定の実施例において、サーバー200は、選択されたモバイル機器カテゴリー及び／又はモバイル機器タイプに基づいてアプリをコンパイルし、及び／又はエンドユーザに配布するため、ディジタル配布プラットフォーム300など、１以上のディジタル配布プラットフォームにコンパイルされたアプリを転送する。これら特定の実施例において、サーバー200は、モバイル開発サービスを通して開発されたアプリを自動的にディジタル配布プラットフォーム300に送信することができる。その他の特定の実施例において、開発者は、これらのアプリを手動で送信することを要求される。
【００３８】
ディジタル配布プラットフォーム300が、モバイル・オペレーティングシステム、又はモバイル機器製造業者や開発者によりホスティング及び運営されるなど、特定の実施例において、ディジタル配布プラットフォーム300を通して受理され、及び／又は配布される前に、モバイルアプリが承認のために提示されることが要求される。これら特定の実施例において、ディジタル配布プラットフォーム300を通して配布され、及び／又はプラットフォームによりサポートされるモバイル・オペレーティングシステム及び／又は機器に固有の特定の機構又は機能性を利用するために、モバイルアプリが、ディジタル署名及び／又は固有の識別子を含むことをモバイル・オペレーティングシステム、又はモバイル機器製造業者や開発者は要求することができる。これら特定の実施例によれば、サーバー200は、モバイルアプリのコンパイルの間などに、アプリに対するディジタル署名及び／又は固有の識別子を作成することができ、及び／又はディジタル配布プラットフォーム300により要求される任意の承認プロセス又は送信手順を管理することができる。
【００３９】
図１に示されるように、特定の実施例において、ディジタル配布プラットフォーム300は、モバイル機器400など、モバイル機器での実行のために、モバイルアプリをエンドユーザに配布する。モバイル機器400は、モバイル・オペレーティングシステム（例えば、ｉＯＳ、アンドロイド、シンビアン、ブラックベリーＯＳ、ウィンドウズモバイル、ウィンドウズフォン）を実行するスマートフォン、タブレット、スレート（slate）又はその他タイプの機器を含む、モバイルアプリを実行することができる任意の適切なタイプのモバイル機器とすることができる。例えば、ディジタル配布プラットフォーム300は、モバイル開発サービスを通して開発されたモバイルアプリを含む幾つかのモバイルアプリをホスティングすることができる。これら特定の実施例において、エンドユーザは、ダウンロードに有効な特定のモバイルアプリを閲覧（browse）し、選択するために、ディジタル配布プラットフォーム300にアクセスすることができる。そして、選択されたモバイルアプリは、エンドユーザに提示され、モバイル機器400にインストールされる。これら特定の実施例において、ウェブサイトリンク、Ｅメール、テキストメッセージ、セルラーデータ、又はディジタル配布プラットフォーム300とモバイル機器400との間の任意のその他適切な形式の通信を介してなど、エンドユーザは、モバイル機器400から選択されたモバイルアプリにアクセスし、直接的にモバイル機器400にアプリをダウンロードできる。代わりに、又は加えて、エンドユーザは、パーソナルコンピューター、ラップトップ、タブレットなど、別個の機器を用いて選択されたアプリにアクセスし、ダウンロードすることができ、そしてモバイル機器400にダウンロードされたアプリを転送し、インストールすることができる。その他特定の実施例によれば、エンドユーザは、開発者コンピューター100又はサーバー200の一方から直接的にモバイルアプリをダウンロードすることができる。
【００４０】
サーバー200及び／又はモバイル開発サービスを通して開発されたモバイルアプリは、図３〜５に関連して以下に説明及び記載されるように、特定のモバイル機器カテゴリー及び／又はモバイル機器タイプでの使用のためにコンパイルされる。特定の実施例において、コンパイルは、全体のアプリを含まず、むしろ、識別リファレンス、及び／又は構成又は初期化ファイルなど、アプリに関連したデータのサブセットを含むことができる。そして、コンパイルは、上記の方法と同様の方法で、モバイル機器へのダウンロード及びインストールに対して、エンドユーザに利用可能となる。例えば、エンドユーザは、モバイル機器400に選択されたモバイルアプリに対するコンパイルをダウンロード及び／又はインストールすることができる。これら特定の実施例によれば、コンパイルをダウンロードし、アプリをインストールし、及び／又はアプリを実行した後、モバイルアプリ及び／又はモバイル機器400は、リモート格納媒体から追加のアプリケーションデータを読み出すことができる。この追加のアプリケーションデータは、アプリ及びそのコンテンツを構築、フォーマットし、及び／又はエンドユーザに提示するために使用される。例えば、図１に示されるように、モバイル機器400は、ネットワーク500を介してデータベースサーバー210と通信することができる。これら特定の実施例において、モバイル機器400は、コンテンツ、レイアウト、テンプレート、モジュール、又はアプリに関連し、及び／又はアプリに必要なその他の構成部分など、特定のアプリケーションデータにアクセスできる。その他の実施例において、モバイル機器400及び／又はモバイルアプリは、ディジタル配布プラットフォーム300、サーバー200、開発者コンピューター100、及び／又はアプリケーションデータをホスティング及び提供する任意の第三者サービスプロバイダーからアプリケーションデータを読み出すことができる。特定の実施例において、モバイルアプリケーションは、立ち上がるとき、アプリケーションデータを読み出し、及び／又はアプリケーション及び／又はそのコンテンツに対し行われた任意の更新を検査し、ダウンロードするため、データベースサーバー210に自動的にアクセスする。
【００４１】
上記載から明らかなように、ここに記載されるシステムと方法の１つの利点は、モバイルアプリ開発者が、専門的な技術知識や技能の必要なしに、複数のモバイル・オペレーティングシステム及び配布プラットフォームの間の洗練されたモバイルアプリを設計、構築及び展開するための能力である。その他の利点は、記載されるプラットフォームを通して開発されたモバイルアプリケーションを、簡潔なフォーマットでエンドユーザに配布することができることであり、これは、アプリの実行又はインストールにおいて、アプリケーションに関連し、及び／又はアプリケーションに必要なデータに、リモートソースからアクセスする。同様に、これは、アプリ開発者が、配布の後、リモートソースにおいて格納されるアプリケーションデータを単に更新することにより、アプリのフォーマット、機構、機能性及びコンテンツを変更又は更新することを可能にし、アプリを再インストールする必要なしに、又はディジタル配布プラットフォーム又はその他の第三者サービスプロバイダーに手動で接続し、何かのデータをダウンロードする必要なしに、アプリが立ち上がったときに、そのような更新をエンドユーザに自動的に提供する。
【００４２】
モバイルアプリ開発ツール
図２は、特定の実施例によるモバイル開発及び配布プラットフォームのアプリケーション開発環境の一部分を示す図である。図２に示される特定のディスプレイは、開発者がモバイルアプリを設計し、開発することを可能にするために、開発者に提示されるウェブサイトの形式でのウェブツールの例示的な図である。これら特定の実施例において、図１に関連して記載され、説明されるように、アプリケーション開発環境は、サーバー200及び／又はモバイル開発サービスにより提供され、開発者コンピューター100を用いて開発者によりアクセスされる。例えば、サーバー200は、ウェブベースツールの一部であるウェブページをホスティングし、ネットワーク500を介して、開発者コンピューター100に送信する。
【００４３】
図２に示されるように、特定の実施例において、モバイル開発環境は、ディスプレイスクリーン102など、開発者コンピューター100に関連するディスプレイ上で、開発者に表示される。例えば、ディスプレイスクリーン102は、開発ウィンドウ110など、表示ウィンドウ内にモバイル開発環境を提示できる。開発ウィンドウ110は、開発者にモバイル開発環境を提示するために適切な任意の形式の表示とすることができる。特定の実施例において、図２に示されるように、開発ウィンドウ110は、開発者が、特定の選択を閲覧し、選び、データを入力し、アップロードし、及び／又は所定のアプリケーションデータをカスタマイズし、変更するなどにより、モバイルアプリを構築するために、様々な視覚的構成部分とやり取りすることを可能にするグラフィカル・ユーザー・インターフェースの形式で提示される。
【００４４】
モバイル開発環境がウェブベースサービスを通して提供されるなど、特定の実施例において、開発ウィンドウ110は、モバイルアプリを作成又は更新するため、開発者がその間を移動し（navigate）、やり取りすることができる幾つかのウェブページの形式で、グラフィカル・ユーザー・インターフェースを開発者に提示する。モバイル開発環境がスタンドアローンのソフトウェアアプリケーションの形式であるなど、その他の特定の実施例において、開発ウィンドウ110は、ソフトウェアアプリケーションと関連したグラフィカル出力を表示する。特定の実施例において、モバイル開発環境は、開発者が、アプリタイプとモジュールなどの所定のアプリケーション構成部分、テキスト、イメージ、ビデオ、オーディオなどのコンテンツ要素、及び／又はテーマ、レイアウト、フォーマット、スタイルなどのアプリケーションデザイン要素を組み合わせ、彼ら自身のアプリケーション構成部分、コンテンツ要素及びデザイン要素を作成することを可能にし、これにより、このような開発者が、ソフトウェアコードを理解又は記述する必要なしに、モバイルアプリを作成することを可能にする。例えば、開発者は、モバイルアプリ及び／又はその構成部分に対する所定のデザイン要素を提示され、それらを選択及び／又は変更することができ、これは、開発者が、モバイルアプリ及びそのユーザインターフェースのデザインと提示を作成、変更及びカスタマイズすることを可能にする。
【００４５】
その他の例として、特定の実施例において、アプリをカスタマイズするために、開発者が選択、変更及び結合することができるアプリタイプとモジュールなど、特定の所定のアプリケーション構成部分を開発者は提示される。これら特定の実施例において、各アプリタイプは、レストランアプリ、法律事務所アプリ、雑誌アプリ、ブログアプリ、医者アプリ、博物館アプリなど、特定のカテゴリーのアプリと関連する。特定の実施例において、モジュールは、アプリに含まれる特定の機能性や機構（例えば、接触、イメージビューワー、地図機能、Ｅメール機能、メッセージ機能など）と関連する。これら特定の実施例において、モジュールは、１以上のモバイル機器カテゴリー及び／又はモバイル機器タイプ（例えば、タッチスクリーン・インターフェース、ビデオカメラなど）に固有の機構及び機能性、更にメニューなど、そのようなモジュールが所定の方法で機能することを可能にする対応するアプリケーション論理（logic）及びコードを含むことができる。
【００４６】
ここに記載されるシステムと方法に関連して使用される特定のアプリタイプとモジュールの更なる例は、図９〜４２に関連して、以下に記載され、説明される。当然のことであるが、上記した特定のアプリケーションデザイン要素及び構成部分（例えば、レイアウト、テーマ、アプリタイプ、モジュール）とそれらの対応する名前は、単に例示を目的として提供され、アプリケーション構成部分とデザイン要素の様々なその他のタイプと名前を利用することができる。
【００４７】
図２に示されるように、特定の実施例において、開発ウィンドウ110は、１以上のアプリケーション構成部分、デザイン要素、コンテンツ要素及び／又は様々な設定やオプションを開発者に表示するためのコンポーネントウィンドウ112などのサブウィンドウを含む。例えば、開発者が新たなアプリを作成したとき、コンポーネントウィンドウは、アプリ内で使用される幾つかの有効なレイアウト、アプリタイプ及び／又はモジュールを開発者に提示することができる。特定の実施例において、開発ウィンドウは、１以上の選択可能アイコン、入力フィールド及び／又はボタン120〜122などのボタンを含み、これは、開発者が、アプリケーション構成部分、デザイン要素、設定を選択、作成及び変更し、及び／又はコンテンツやその他データを入力するなどにより、モバイル開発環境と相互やり取りすることを可能にする。
【００４８】
例えば、開発者は、ボタン120と122をクリックすることにより、コンポーネントウィンドウ112に表示される特定の有効なアプリケーション構成部分、コンテンツ要素及びデザイン要素の間を閲覧できる。開発者が希望する構成部分又は要素に達したとき、開発者は、ボタン121をクリックすることにより、現在のモバイルアプリに構成部分又は要素を追加することができる。これら特定の実施例において、以前に選択され、又は作成された構成部分及びデザイン要素は、開発者により選択及び／又は変更された表示されている構成部分又はデザイン要素と関連した様々なオプション及び設定と共に、コンポーネントウィンドウ112に表示される。これら特定の実施例において、開発者は、ボタン121などにより、モバイルアプリから以前に選択された構成部分又は要素を取り除くことができる。当然のことであるが、ここに記載される特定のユーザインターフェース及びユーザ入力は、例示的なものであり、音声認識、視覚的入力、タッチスクリーンなど、当技術分野で既知のユーザインターフェースのその他の適切な形式により置換し、又はそれらと組み合わせたりすることができる。
【００４９】
特定の実施例によれば、図２に示されるように、開発ウィンドウ110は、機器画像（representation）116など、１以上のモバイル機器のグラフィカルな画像を含むことができる。これら特定の実施例において、画像表示された特定のモバイル機器は、１以上のモバイル機器カテゴリー又はモバイル機器タイプと関連して、開発者により先に行われた選択に基づき、そのようなモバイル機器カテゴリー又はタイプに対してモバイルアプリが開発されている。その他の特定の実施例において、開発者は、開発ウィンドウ110に含まれるボタンをクリックする、あるいはメニューをドロップダウンするなどにより、機器画像116により表される複数のモバイル機器（又は、それらのカテゴリー及び／又はタイプ）の間で、選択し、更新し、及び／又は切り替えを行うことができる。
【００５０】
特定の実施例において、機器画像116は、アプリタイプ、モジュール、レイアウト、テーマなど、特定のアプリケーション構成部分、コンテンツ要素及び／又はデザイン要素が、どの様に表示されたモバイル機器上に表現され、機能するのかを、開発者が見ることを可能にする。これら特定の実施例において、機器画像116は、開発者により行われた選択、及び／又は入力されたコンテンツやデータに基づき更新される。例えば、開発者が特定のアプリケーション構成部分とデザイン要素を選択、作成又は変更したとき、機器画像116は、説明の（illustrative）機器スクリーン内で、そのような選択を反映するために更新又は再読み込みされ、これにより、様々な選択と変更が、１以上のモバイル機器カテゴリー、モバイル機器タイプ又は特定のモバイル機器におけるモバイルアプリの表示及び／又は動作にどのように影響を与えるかを、開発者がリアルタイムで見て、理解することを可能にする。これら特定の実施例において、機器画像116は、アプリの現在状態のシミュレーションを提供し、開発者が、機器画像116によりシミュレーションされたアプリの様々な部分をクリックするなどにより、アプリと相互やり取りし、アプリを通して移動（navigate）することを可能にする。開発者が機器画像116を通してアプリの一部分を選択することに応じて、開発ウィンドウ110は、アプリの選択された部分に関連する特定のアプリケーション構成部分、コンテンツ要素又はデザイン要素を表示し、及び／又は、開発者が、これら構成部分とデザイン要素に関連した様々な機構、オプション、デザイン及びコンテンツを追加、変更、アップロード及び除去することを可能にする。
【００５１】
図２に示されるように、開発ウィンドウ110は、モバイルアプリを設計、作成及び／又は変更するプロセスを通して、開発者を補助し、案内するグラフィカルウィザード114など、拡張されたユーザ親和的なツールを有することができる。特定の実施例において、グラフィカルウィザード114は、アプリに対する様々なアプリタイプ、モジュール、レイアウト、テーマ、設定及びコンテンツを推薦するなどにより、様々なアプリケーション構成部分、デザイン要素及びコンテンツ要素の選択、作成、入力、結合及び／又はカスタマイズにおいて、開発者を補助する。例えば、グラフィカルウィザード114は、開発者に、特定のヒント、ヘルプテキスト、示唆を提示し、及び／又は特定の要求される選択又は入力を開発者に通知し、これらは、開発ウィンドウ110内で、あるいはオーディオなどのその他の適切な形式の出力を通して、開発者に提示される。これら特定の実施例において、開発者は、グラフィカルウィザード114に関連する開発ウィンドウ110内のアイコン又はボタンをクリックする、又はマウスを合わせることにより、そのような情報を見ることができる。特定の実施例において、グラフィカルウィザード114は、図２に示されるロボットなど、代理のキャラクター又はアイコンの形式で提示され、またはそれらを含む。その他の特定の実施例において、ウィザード又はガイドツールのその他の適切なキャラクター又はグラフィカルな表現が使用できる。特定の実施例において、開発者は、グラフィカルウィザード114を有効に、及び無効にすることができる。
【００５２】
特定の実施例において、アプリケーション開発ウィンドウ110は、図２に示される進捗（progress）バー118など、進捗インジケーターを有し、アプリケーション開発プロセスを通しての開発者の進捗を表示できる。特定の実施例において、進捗バー118は、完成された１以上のステップ、及び／又は現在のモバイルアプリを仕上げるために開発者により完成すべき更なる１以上のステップを表示することができる。例えば、アプリケーション作成及び展開プロセスは、幾つかのサブプロセスに分割することができる。開発者がアプリデザイン及び展開プロセスの間を移動すると、進捗バー118は、各サブプロセスの状況を反映するために更新される。進捗バーは、更に、又は代わりに、アプリの品質を反映することができ、タイプ、及び／又は開発者により選択されたカスタマイズの量、又は開発者により追加され、アップロードされたコンテンツなど、アプリの独自性に基づいて更新できる。
【００５３】
モバイル開発環境がウェブベースサービスの形式で提供されるなど、これら特定の実施例において、サブプロセスは、開発者がアプリケーション開発及び展開のプロセス間をページ毎に、又は同様の方法で進むことを可能にする１以上のウェブページにより表される。これら特定の実施例によれば、グラフィカルウィザード114は、各ページ又はセクションに関連した１以上のステップを通して開発者を案内することができる。その他の特定の実施例において、ステップ及び／又はサブプロセスは、単一ウェブページ内などにおいて、希望通りに選択するため、開発者に対するオプション及び設定の単一グループに結合することができる。
【００５４】
例えば、特定の実施例によれば、ウェブベースサービスを通してアクセスされたモバイルアプリ作成及び展開プロセスは、アプリプロパティー、アプリデザイン、アプリコンテンツ、アプリパブリッシングの４つの主なサブプロセスに分割される。新たなアプリを作成するためのオプションを選択した後、開発者はアプリプロパティー・サブプロセスを完了するよう促される。アプリプロパティー・サブプロセスを通して、開発者は、アプリに対する名前、アイコンイメージ及び／又はスプラッシュスクリーンイメージなど、アプリに対する様々な高レベル設定を選択、アップロード及び／又は入力することができる。そして、開発者は、アプリデザイン・サブプロセスに進み、これを通して、開発者は、カラー配列（scheme）、背景イメージ及び／又はアプリタイプなど、アプリに対する様々なデザイン及びレイアウトオプションを選択、アップロード及び／又は入力することができる。アプリの高レベルのプロパティー及び全体のデザインを選択し、カスタマイズした後、開発者は、アプリコンテンツ・サブプロセスに進み、これを通して、開発者は、アプリ内に含まれることになる様々なモジュール及びコンテンツ要素を追加及びカスタマイズすることなどにより、アプリの機能性及びコンテンツを追加、変更、結合及びカスタマイズすることができる。開発者がアプリ及びそのコンテンツの作成とデザインを完了すると、開発者は、アプリパブリッシング・サブプロセスに移動する。このサブプロセスを通して、開発者は、対象モバイル機器タイプ、アプリ記述、アプリカテゴリー、著作権設定及び／又はキーワードなどの様々なパブリッシング特性を選択し、アプリを公開する（publish）ことができる。これら特定の実施例において、アプリパブリッシング・サブプロセスは、アプリがパブリッシングに対する最小の要求を満たしているかを検査し、満たしていなければ、開発者に不備を示すことができる。
【００５５】
特定の実施例において、上記の４つのサブプロセスのそれぞれは、別個のウェブページ又は複数ウェブページを通して、開発者に提示され、及び／又は開発者によりアクセスされる。その他の特定の実施例において、これらのサブプロセスは、単一のウェブページ内のタブの形式で、又はウェブベースサービス内の使用に適したその他の任意の方法で提示される。当然のことであるが、４つのサブプロセス及びそれらの名前は、説明のみを目的として上で記載されており、任意数のサブプロセスが、モバイルアプリ作成及び展開プラットフォーム、及び／又は対応するウェブベースサービスに関連して使用できる。
【００５６】
アプリ作成プロセス
図３は、図１と図２に示されるような特定の実施例に従い、モバイル開発プラットフォームを通してモバイルアプリケーションを開発するためのプロセスのフロー図である。ステップ10において、開発者は、モバイル開発環境にアクセスする。特定の実施例において、開発者は、ウェブサーバー（図１に示されるサーバー200など）によりホスティングされ、運営されるウェブサイトに進む（navigate）ため、開発者コンピューター上のブラウザを用いて、環境にアクセスできる。ウェブサーバー及び／又はモバイル開発環境は、モバイル開発環境及び／又は関連するウェブサイトにアクセスするため、開発者がログイン（例えば、特定のログイン認証情報を入力することにより）することを要求する。特定の実施例において、モバイル開発環境にアクセスすると、開発者は、新たなモバイルアプリを作成し、既存のモバイルアプリを更新するためのオプションなど、特定のオプションを提示される。開発者がアプリを作成又は更新するためのオプションを選択することに応答して、ステップ20において、モバイル開発環境は、アプリに含まれ、又はアプリに対し選択されるアプリケーション構成部分、デザイン要素、コンテンツ要素、設定など、アプリ及びその構成部分と要素に関連して、開発者にオプションを表示し、開発者から選択と入力を受信する。
【００５７】
例えば、開発者が新たなモバイルアプリを作成することを希望するなど、特定の実施例において、モバイル開発プラットフォームは、特定の利用可能な所定のアプリタイプを表示するウェブページを表示することができる。モバイル開発環境は、新たなアプリに対するアプリタイプを選択し、及び／又は、名前、モバイル機器上に表示されるアイコンファイルとその場所、スプラッシュスクリーンイメージ及び／又は対象モバイル機器カテゴリーなど、アプリに対する特定の基本特性、又はモバイル機器タイプを入力又は選択するようユーザに指示する。これら特定の実施例において、１以上のキーワードがアプリに関連し、これは、開発者の選択と入力に基づいて自動的に生成され、及び／又は開発者により提供される。特定の実施例において、これらキーワードは、アプリをディジタル配布プラットフォームに含まれる１以上の所定のアプリカテゴリーに関連付けるため、又はエンドユーザがキーワード検索を用いてアプリの検索ができるようにするためなど、エンドユーザへのアプリの配布と関連して、モバイル開発環境及び／又は開発者により使用される。
【００５８】
開発者がアプリタイプを選択する、及び／又は新たなアプリに対する特定の基本アプリケーション特性を選択又は入力する、又は変更のために既存のアプリを選択した後など、特定の実施例において、モバイル開発環境は、選択され、カスタマイズされ、及び／又はモバイルアプリに含まれる、モジュールなどの様々な所定のアプリケーション構成部分、及び／又はテーマ、レイアウトなどのアプリケーションデザイン要素を表示することができる。特定の実施例において、特定のアプリケーション構成部分又はデザイン要素を選択した後、開発者は、コンテンツ要素、設定、機構及び関連するサブコンポーネントを含む、選択された構成部分又はデザイン要素と関連する特定のオプションを提示され、そして選択し、入力し、及び変更することができる。例えば、アプリ内に含めるための特定の所定のモジュールを選択した後、モバイル開発環境は、選択されたモジュールに対する利用可能なレイアウト、及び／又は選択又は変更される様々なモジュール特性や属性を示すウェブページを表示できる。モバイル開発環境は、テキスト、イメージ、ビデオなど、アプリケーション構成部分と関連する特定のコンテンツを入力又はアップロードするよう開発者を促す。
【００５９】
特定の実施例において、所定のアプリケーション構成部分又はデザイン要素を選択することに加え、又は代わりに、開発者は、図４に関連して記載される方法と同様の方法において、カスタムな構成部分に対するテンプレートを作成するなどにより、モバイルアプリに含めるためのカスタムな構成部分又は要素を作成又はアップロードすることができる。特定の実施例において、開発者は、開発者により提供される以前に選択された構成部分、デザイン要素又はコンテンツ要素を閲覧、変更及び／又は除去することができる。図２に関連して記載されるように、モバイル開発環境は、開発者により提供される選択と入力に基づき、アプリケーションの現在状態のグラフィカル表記を表示及び更新することができる。
【００６０】
開発者が現在のモバイルアプリケーションを更新することを希望するなど、特定の実施例によれば、モバイル開発環境は、進行中であるアプリなど、開発者が以前に作成したアプリのリストを表示することができ、変更又は更新のためのアプリを選択するよう開発者を促す。モバイル開発環境は、開発者に、選択されたアプリの現在状態を提示し、上記した方法と同様の方法において、ユーザが、アプリケーション構成部分、デザイン要素、コンテンツ要素及びその他データを追加、変更、カスタマイズ、作成及び／又は除去することを可能にする。これら特定の実施例において、モバイル開発プラットフォームは、以下で詳細に記載するように、リモートデータベースサーバーなど、格納機器から選択したアプリとそのデータを読み出すことができる。
【００６１】
ステップ30において、モバイル開発環境は、アプリケーション開発プロセスの間、開発者により提供された特定の選択、更新及び／又は入力を保存する。特定の実施例において、モバイル開発環境は、この情報をリモート・アプリケーションデータベース、ローカルデータベース又はその他の適切な格納媒体に格納することができる。これら特定の実施例において、モバイル開発環境は、図４に関連して記載される方法と同様の方法で、データベースにアクセスし、データベース及びそのテーブル内の特定のエントリーとそれらの間の関係を作成及び／又は更新することができる。特定の実施例において、モバイル開発環境は、開発者の選択、入力及びその他アプリケーションデータを、そのような各々の選択が行われ、あるいは入力が行われた後、自動的に格納することができる。その他の実施例において、モバイル開発環境は、アプリを保存するように開発者を促し、及び／又は開発者からの指示を受信した後、この情報を格納することができる。更にその他の実施例において、図２に関連して記載されるように、開発者が、アプリケーション開発プロセスの特定のステップ又は部分を完了した後、情報を格納することができる。特定の実施例において、モバイル開発環境は、固有の識別子や変更ログなど、アプリに関連した追加の情報を生成及び保存することができる。
【００６２】
ステップ40において、モバイル開発環境は、開発者がアプリを完成させるために十分な情報（例えば、選択や入力）を供給したかどうかを判定することができる。特定の実施例において、モバイル開発環境は、開発者がアプリケーション開発プロセスの特定のステップ又はセクションを完了した後、この決定を行うことができる。その他の特定の実施例において、モバイル開発環境は、開発者を促すことができ、及び／又は、開発者がモバイルアプリを完了及び／又は展開するための意思を表すまで待機する。開発者がアプリを完成するために十分な情報を提供したとモバイル開発環境が判断した場合、ステップ50において、モバイル開発環境は、アプリが完了したかどうかを示すよう開発者を促し、その場合には、プロセスはステップ60に進む。そうでなければ、フローはステップ20に戻り、開発者は、アプリケーション構成部分、要素及びコンテンツを追加、除去及び更新するなどにより、アプリケーションを変更することができる。
【００６３】
開発者が、モバイルアプリケーションが完成したことを示した後、ステップ60において、モバイル開発プラットフォームは、１以上のモバイル機器カテゴリー、モバイル機器タイプ及び／又はアプリが動作することになる特定のモバイル機器モデルを選択するよう開発者を促すことができる。特定の実施例において、開発者は、アプリケーション特性を入力するときなど、プロセスの初期に、モバイル機器カテゴリー、タイプ及びモデルを選択することができる。これら特定の実施例によれば、モバイル開発環境は、開発者により選択された利用可能なアプリケーション構成部分又はデザイン要素を更新するため、選択されたモバイル機器カテゴリー、タイプ及びモデルを使用することができる。その他の特定の実施例において、開発者は、アプリの完成前のいつでも、対象のモバイル機器カテゴリー、タイプ及びモデルを選択又は変更することが可能である。
【００６４】
ステップ70において、モバイル開発環境は、構成ファイルや同様のデータなど、アプリケーションに対する特定のリファレンスデータを作成する。特定の実施例において、リファレンスデータは、アプリの固有の識別子など、アプリに関連した基本情報を含むことができる。その他の実施例において、リファレンスデータは、アプリケーションのアイコンファイルの場所、アプリの名前、スプラッシュイメージファイルの場所、セキュリティーキー、アプリの立ち上げ／実行においてアクセスするためのウェブアドレス、又はそれらの任意の組み合わせなど、追加又はその他の情報、及び／又はアプリに関連するその他情報を有する。更にその他の実施例において、リファレンスデータは、アプリに必要な、及びアプリに関連したデータの全てを含むことができる。
【００６５】
ステップ80において、モバイル開発プラットフォームは、選択されたモバイル機器カテゴリー、タイプ及び／又はモデルに対し、アプリを構築し、コンパイルする。特定の実施例において、アプリは、特定の固有（native）コンパイラー、及び／又はモバイル・オペレーティングシステム及びモバイル機器の製造業者又は開発者により提供される構築ツールを用いて、コンパイルされ、構築される。例えば、モバイル開発は、リファレンスデータを含む、選択されたモバイル機器カテゴリーに対するシェル（shell）又は「空の（empty）」アプリを構築するため、そのようなツールを用いることができる。以下でより詳細に述べるように、アプリがモバイル機器にダウンロード、インストールされ、及び／又は立ち上がったとき、アプリは、アプリに関連した特定のデータにアクセスし、読み出すため、リファレンスデータを使用することができる。
【００６６】
アプリがコンパイルされた後、ステップ90において、アプリは、エンドユーザへの配布のため、ディジタル配布プラットフォームに提出される。例えば、コンパイルされたアプリは、選択されたモバイル機器カテゴリー、タイプ及び／又はモデルに関連した１以上のディジタル配布プラットフォーム（例えば、ｉＯＳのアプリストア、アンドロイドマーケット、ｗｅｂＯＳのアプリカタログ）に提出される。ディジタル配布プラットフォームがモバイル開発環境又は開発者のコンピューターに統合されるなど、その他特定の実施例において、コンパイルされたアプリを、エンドユーザに直接に配布することができる。特定の実施例によれば、開発者は、ディジタル配布プラットフォームに手動でコンパイルされたアプリを提出することを要求される。その他の特定の実施例において、モバイル開発プラットフォームは、アプリをコンパイルした後など、ディジタル配布プラットフォームに自動的にコンパイルされたアプリを提出することができる。モバイル開発プラットフォームは、ディジタル配布プラットフォームにより要求される特定の承認プロセス及びその他の動作を管理することもできる。
【００６７】
当然のことであるが、図３に示され、ここに記載されるステップの順番は、単なる例示であり、アプリケーション構成部分を選択し、アプリケーション及びコンポーネントの特性を入力し、アプリケーションデータを格納するなどの様々なステップが実行される順番又は組み合わせは、変更することができ、あるいは、適切な、又は開発者やモバイル開発プラットフォーム提供者により要望される任意の順番や組み合わせで実行することができる。
【００６８】
このため、図１〜３及びその関連する記載から理解できるように、ここに記載されるシステムと方法は、非技術的ユーザが、ユーザ親和的なソフトウェアツールを通して、特定のモバイル・オペレーティングシステム及びモバイル機器に特有の機構を含む、様々な機構及び機能を利用するプラットフォーム間モバイルアプリケーションを構築することを可能にする。従って、１つの重要な利点は、これらのユーザが、コンピュータープログラミング又はモバイル・オペレーティングシステムや機器に関する技術的専門知識の必要性なしに、高度にカスタマイズ可能で、洗練されたモバイルアプリを設計、構築及び展開することができることである。
【００６９】
モバイルアプリ・データモデル
図４は、特定の実施例に従い、モバイル開発及び配布プラットフォームを通して開発されたモバイルアプリに対するアプリケーションデータを表すために使用される典型的なデータモデルを説明するブロック図である。特定の実施例によれば、ここに記載され、説明されるモバイル開発プラットフォーム及び対応するシステムと方法を通して、モバイルアプリを設計、作成、変更及びカスタマイズするために、開発者により利用されるアプリケーション構成部分、デザイン要素、コンテンツ、設定及びその他のデータは、関係型の（relational）、及び／又は階層的な方法で体系化され、格納される。これら特定の実施例において、プラットフォームを通して開発されたアプリは、アプリケーション構成部分、コンテンツ要素及び／又はデザイン要素のセットを含み、及び／又はそれにより表され、それぞれは、１以上のその他のアプリケーション構成部分、コンテンツ要素及び／又はデザイン要素などを含み、または関連する。例えば、各アプリは、１以上のモジュールを含むアプリタイプと関連し、各モジュールは１以上のレイアウトを含む。
【００７０】
これら特定の実施例において、アプリケーション構成部分、デザイン要素、コンテンツ要素及びその他データ、更にそれらの互いの関係は、関係型データベースなど、データベース内で表現され、格納される。その他の特定の実施例において、これらの関係及びアプリケーションデータは、テーブル、ツリー、リンクのセット又はその他の同様な構造など、その他の適切なフォーマット及び／又は媒体内に表現され、格納される。この情報を関係型の方法で格納することにより、モバイル開発及び配布プラットフォームを通して開発されたモバイルアプリは、アプリケーションの構成部分、要素及びその他データの間の一連の関係を通して各アプリを単に表示することにより、簡単に格納、読み出し、構築及び更新することができる。更に、図４に記載及び説明されるアーキテクチャーは、開発者又はその他の第三者により作成され、又はカスタマイズされた新たなアプリケーション構成部分、コンテンツ要素及びデザイン要素が、モバイル開発及び展開プラットフォームに追加され、将来のモバイルアプリの開発において開発者により使用されることを可能にする。当然のことであるが、以下に記載され、図４に示される特定のデータモデル及び対応するテーブル、属性及び関係は、実際には例示を目的とする。従って、データモデルは、当技術分野で周知のその他適切なフォーマット又はフォーマットの組合せで表示し、格納することができ、及び／又はテーブル、属性及び関係は、様々なその他のテーブル、属性、関係又はその他の同様なデータにより置換し、又はそれらで結合することができる。
【００７１】
特定の実施例において、データモデルは、データテーブルのセットを含むことができ、それらの各々は、アプリケーション構成部分、デザイン要素、コンテンツ要素及びアプリに関連するその他データなど、アプリに関係する特定の情報を表示し、格納する。図４に示されるように、データモデルは、Appsテーブル220を含み、この例においては、図１〜３に関連して説明及び記載されるウェブベースのモバイル開発及び展開サービスと環境など、モバイル開発プラットフォームを通して設計及び作成されたモバイルアプリを表す。Appsテーブル220は、Apps属性222など、各アプリに関連した様々な属性及び情報を含み、Apps属性は、アプリに対する固有の識別子、アプリのアプリタイプの識別子及びアプリの名前を含むことができる。特定の実施例において、モバイル開発及び配布プラットフォームを通して開発された各モバイルアプリは、データベース内に格納された対応するテーブル内の行（row）エントリーなど、Appsテーブル220のインスタンスにより表すことができる。これら特定の実施例において、Appsテーブル220は、テーブル間の幾つかの関係を通してなど、Appsテーブル220から分岐した様々なその他のデータテーブルにより示され、及びそこに格納されるアプリのアプリケーションデータと共に、各モバイルアプリに対するヘッドテーブルとしての役割を果たす。従って、各アプリ及びその対応するデータは、Appsテーブル220内のアプリの固有の識別子を探索するなどにより、簡単に読み出すことができる。
【００７２】
図４に示されるように、特定の実施例において、データモデルは、AppTypesテーブル225を有し、これは、各モバイルアプリ（例えば、マガジンアプリ、ブログアプリ、医者アプリ、又は以下にリストされ、記載される典型的なアプリタイプなどのその他のアプリタイプ）に関連したアプリのタイプを表す。AppTypesテーブル225は、各アプリタイプに対する固有の識別子及び名前を含むAppTypes属性227など、各アプリタイプに関連した様々な属性を有する。これら特定の実施例において、開発者が新たな又は現在のアプリに対するアプリタイプを選択するとき、Appsテーブル220内のアプリに関連したエントリーは、選択されたアプリタイプに対する固有の識別子を含むよう変更することができる。同様に、データモデルは、各アプリに関連したテーマを表すAppThemeテーブル265を有することができる。AppThemeテーブル265は、AppTheme属性267など、様々な属性及び情報を含むことができ、これは、アプリの固有識別子、テーマに対する固有識別子、更にテーマに関連するフォント、フォントサイズ、フォントカラーを含む。これら特定の実施例において、各モバイルアプリは、特定のアプリタイプ及び／又はテーマに関連し、対応する識別子は、Appsテーブル220内に格納することができ、これにより、Appsテーブル220、AppTypesテーブル225及びAppThemeテーブル265の間の関係を形成する。同様に、これは、各モバイルアプリに対するアプリタイプ、テーマ及びその対応する属性とデータが、Appsテーブル220内に格納されるアプリタイプ識別子を使用することにより、及びAppThemeテーブル265内のアプリの識別子を検索することによりなど、アプリの固有識別子を通しての読み出されることを可能にする。
【００７３】
特定の実施例によれば、データモデルは、各アプリ内に含まれるモジュールを表し、及び／又は格納するAppModulesテーブル230を有することができる。特定の実施例において、各モジュールは、モバイルアプリ内に含まれる特定の機構又は機能性と関連する。AppModulesテーブル230は、AppModules属性232など、各アプリとそのモジュールに関連した様々な属性を含むことができ、これは、アプリの固有識別子、更にモジュールに対する固有識別子、モジュールタイプに対する固有識別子、及びモジュールのレイアウトに対する固有識別子を含む。特定の実施例において、図４に示されるように、データモデルは、ModuleType属性257を含むModuleTypeテーブル255を有することができ、これは、固有識別子やモジュールタイプに対する名前など、モジュールの各タイプに関連する様々な属性を含む。これら特定の実施例において、データモデルは、モバイル開発及び配布プラットフォームを通して開発されたモバイルアプリ内での使用に利用可能な様々なタイプのモジュール（例えば、コンテンツモジュール、写真モジュール、ビデオモジュール、又は図９〜４２に関連して記載される典型的なモジュールなどのその他のタイプのモジュール）に対応し、モジュールに対するオプション、機構、機能性及びコンテンツなど、モジュールの特定タイプと関連した様々な属性を含む幾つかの所定のモジュールテーブルを有することができる。
【００７４】
モバイル開発及び配布プラットフォームを通して開発された各アプリは、幾つかのモジュール（同一の又は異なるタイプの複数モジュールを含む）を有し、それぞれは、モジュールの特定タイプに関連したテーブル内に表示され、格納される。例えば、図４に示されるように、データモデルは、ModuleContactsテーブル235、ModulePhotosテーブル240、及びModuleVideosテーブル245を有する。これらモジュールテーブルのそれぞれは、モジュールの各タイプに関連する様々な属性、コンテンツ及びその他データを含み、例えば、ModuleContacts属性237に含まれるcontactModule識別子及び接触リスト、ModulePhotos属性242に含まれるphotoModule識別子及びimageFileリファレンス、ModuleVideos属性247に格納されるvideoModule識別子及びvideoLinksなどである。特定の実施例において、各モジュールテーブルは、アプリ内のモジュールの特定のインスタンスに対する固有識別子に対応し、AppModulesテーブル230内に格納されるappModule識別子を含む。
【００７５】
図２、３、５に関連して記載されるように、モジュールの各タイプは、アプリを通してエンドユーザに提供される特定の機構及び機能性と関連する。特定の実施例において、モジュール（又はその他任意のアプリケーション構成部分やデザイン要素）に関連したソフトウェアコード又はロジックは、AppModulesテーブル230など、データベース内に格納され、又は離れた場所に格納することができ、この場合、コードの位置に対するリファレンスがテーブル内に格納される。特定の実施例において、幾つかのモジュールは、テキストメッセージ、ＧＰＳ機能、カメラなど、モバイル機器カテゴリー及びタイプの全て、又は広い範囲において共通となる機構及び機能を表す。その他モジュールは、タッチスクリーン機能又はその他特定形式のユーザ入力、ビデオカメラ、コンパス、ジャイロスコープ及びその他センサー、ブルートゥースなど、特定の（又は若干の）モバイル機器カテゴリー、タイプ又はモジュールに固有の機構及び機能を表す。この結果、これら特定の実施例において、モジュールテーブルは、モジュールが、１以上のモバイル機器カテゴリー、タイプ又はモデルに関連するか、あるいはそれらに限定されるかどうかを示す１以上の属性を有する。以下でより詳細に記載するように、特定の実施例において、モバイル開発環境は、開発者により選択されたモバイル機器カテゴリー、タイプ又はモデルに基づき、開発者に特定タイプのモジュールを表示するかどうか、及び／又は開発者がモジュールを選択し、アプリ内に含めることを可能にするかどうかを決定する際に、これら（更にその他の）属性を使用することができる。それらに関連した典型的なモジュールと機構、機能性、及びコンテンツは、図９〜４２に関連して、更に詳細に記載され、説明される。
【００７６】
特定の実施例において、各モジュールは、その場所、方向及びフォーマットなど、アプリ内のモジュールのデザインを表す１以上のレイアウトに関連する。例えば、図４に示されるように、データモデルは、AppModulesテーブル230内に含まれるレイアウト識別子に対応する各レイアウトに対する名前と固有識別子を含むLayouts属性252など、モジュールに対し利用可能なレイアウトと関連する様々な属性と情報を含むLayoutsテーブル250を有する。これに関し、各アプリのモジュールとそれらそれぞれの属性、コンテンツ、レイアウト、ソフトウェアコード、及びモジュールに対応するその他データは、AppModulesテーブル230内のアプリの固有識別子を探索することにより、データモデルから簡単に読み出すことができる。
【００７７】
特定の実施例によれば、各アプリタイプは、そのアプリタイプを用いるモバイル開発及び配布プラットフォームを通して開発されたモバイルアプリに対し、開発者により選択されたモジュールタイプの特定のサブセットと関連付けられる。例えば、図４に示されるように、データモデルは、アプリタイプ識別子やモジュールタイプ識別子など、モジュールの各タイプに関連した様々な属性を含むAppType-ModuleType属性262を含むAppType-ModuleTypeテーブル260を有する。AppTypesテーブル225及びModuleTypeテーブル255内のアプリタイプ及びモジュールタイプ識別子に対応するAppType-ModuleTypeテーブル260内に識別子を含めることにより、特定のアプリタイプに関連し、及び／又はその使用に利用可能なモジュールのタイプを、AppType-ModuleTypeテーブル260に問い合わせることにより早急に決定することができる。例えば、開発者がウェブベースサービスを通してモバイル開発サービスにアクセスするなど、特定の実施例において、新たなモバイルアプリに対するアプリタイプを選択した（又は、現在のアプリのアプリタイプを変更した）後、サービスは、AppType-ModuleTypeテーブル260内において選択されたアプリタイプに対する利用可能なモジュールを検索し、それを開発者に提示する。従って、特定の実施例において、特定タイプのモジュールが幾つかの異なるアプリタイプとの使用に利用可能である一方、各アプリタイプは、そのアプリタイプを用いるモバイルアプリを開発している開発者により使用されるモジュールタイプの分別のある（discreet）セットを有する。以下でより詳細に記載されるように、特定の実施例において、開発者は、モバイル開発及び配布プラットフォームを通して開発されたモバイルアプリと共に使用するため、新たなアプリタイプを作成する、又は現在のアプリタイプをカスタマイズするためのオプションを与えられる。これら特定の実施例によれば、開発者は、新たに作成されたアプリタイプに関連したモジュールタイプのセットを部分的に選択及び／又は変更することにより、これら新たなアプリタイプを作成又はカスタマイズすることができる。
【００７８】
データモデルは、各モバイルアプリに関連した属性とその他情報を含むその他のデータテーブルを有することができる。図４に示されるように、データモデルは、アプリのカテゴリーに関連した特定の属性を有するAppCategory属性272を含むAppCategoryテーブル270を有することができる。この情報は、特定のディジタル配布プラットフォームで使用されるアプリが収まる（複数の）カテゴリーに基づく。これら特定の実施例において、開発者は、アプリに対して選択されたモバイル機器カテゴリー、タイプ又はモデルに基づく１以上のアプリカテゴリーを提示され、選択するよう促される。例えば、アプリがｉＯＳ又はアンドロイドのモバイル・オペレーティングシステムを用いたモバイル機器上で動作するものであることを開発者が示したとき、開発者は、本、旅行、ビジネス、家など、ｉＯＳアプリストア又はアンドロイドマーケットにより提供される所定のアプリカテゴリーの１つを選択するよう促される。
【００７９】
図４に示されるように、データモデルは、アプリが関連するモバイル機器カテゴリー及び／又はモバイル機器タイプに関連する特定の属性を格納するAppDevices属性277を含むAppDevicesテーブル275を有する。例えば、これらの属性は、アプリが動作することになるモバイル・オペレーティングシステムのタイプ（例えば、ｉＯＳやアンドロイド）、又は機器のタイプ（例えば、タブレット、スマートフォン）に関連する開発者の選択を含む。データモデルは、図４に示されるように、アプリの状態及び／又はエンドユーザによる使用に関連した特定の情報及びデータを格納するAppUpdate/Launch属性282を含むAppUpdate/Launchテーブル280を有する。図５に関連して以下により詳細に記載されるように、特定の実施例において、このテーブルは、各更新が生じたとき、及び／又は特定のエンドユーザが各更新に関連したとき、アプリが起動された、又は更新された回数など、アプリに対する様々な統計の追跡に使用することができる。
【００８０】
特定の実施例によれば、データモデルは、図１〜３に関連して説明及び記載されるモバイル開発環境及び／又はウェブベースサービスを通してなど、開発者によるモバイルアプリの設計、作成及び変更を容易にするため、モバイル開発及び配布プラットフォームと関連して使用される。これら特定の実施例において、データモデルは、モバイル開発環境を通して開発された各アプリを表示し、各アプリに関連する特定データを格納するために使用される１以上のデータベースに対する基盤として使用される。データベースは、１以上のサーバーによりホスティングされ、特定の実施例において、これは、図１に示されるように、モバイル開発環境をホスティングするサーバー（例えば、サーバー200）又は１以上の別個のサーバー（例えば、データベースサーバー210）に統合することができる。
【００８１】
これら特定の実施例によれば、モバイル開発環境及び／又はウェブベースサービスは、モバイルアプリの作成及び変更プロセスの間、開発者により行われた（同様に、データ入力された、及び／又はアップロードされた）特定の選択を格納するため、データベースにアクセスできる。例えば、開発者が新たなアプリを作成するとき、モバイル開発環境は、Appsテーブル220内など、データベース内に新たなエントリーを作成する。同様に、開発者がアプリに対する様々なアプリケーション構成部分、コンテンツ要素及び／又はデザイン要素を選択し、変更することに応じて、モバイル開発環境は、データベース内の新たなエントリーを作成し、現在のエントリーを更新し、及び／又はデータベースエントリーの間の関係を形成することができる。
【００８２】
これら特定の実施例において、モバイルアプリがコンパイルされ、エンドユーザに配布されるとき、データベースは、モバイル開発プラットフォーム及び／又は環境により利用することができる。図３に関連して上で詳細に記載したように、開発者がアプリを作成及び／又は変更し終えた後、モバイル開発環境は、１以上のモバイル機器カテゴリー及びモバイル機器タイプに対してアプリをコンパイルし、及び／又は第三者ディジタル配布プラットフォームを通してなど、エンドユーザにコンパイルされたアプリを配布する。これら特定の実施例において、コンパイルされたアプリは、アプリにより必要とされ、あるいはアプリに関連するデータの全てを含まなくて良い。代わりに、コンパイルされたアプリは、アプリに対する固有識別子、及び／又はアプリに対する構成ファイル又はその他基本情報を単に有することができる。これら特定の実施例において、この情報は、データベースを用いて、又は基づいてコンパイルできる。例えば、コンパイルプロセスの一部として、データベースは、構成ファイル内に含まれる、アプリに関連した特定の属性及び関係を読み出すための問合せを受ける。エンドユーザによりダウンロードされ、インストールされ、及び／又は立ち上げられた後、コンパイルされたアプリは、アプリに対応するデータベースからアプリケーションデータにアクセスするため、この情報を使用する。特定の実施例において、図５に関連してより詳細に記載されるように、モバイル機器上に既にインストールされているモバイルアプリは、アプリが立ち上がる毎に、新たなアプリケーションデータ又はコンテンツに対してデータベースを検査するなど、同様のプロセスを通して更新することができる。
【００８３】
モバイル開発環境がウェブベース（又はソフトウェアベース）のグラフィカル・インターフェースの形式で提供されるなど、特定の実施例における環境を通して、データベース及び／又はデータモデルが、更に、あるいは代わりに、開発者によるモバイルアプリの設計、作成及び変更を容易にするよう使用される。これら特定の実施例において、モバイル開発環境は、様々な所定のアプリケーション構成部分、デザイン要素、コンテンツ要素及びモバイルアプリに関連したその他の情報を読み出し、開発者に表示するため、データベースにアクセスすることができる。例えば、開発者が新たなアプリを作成するとき、モバイル開発環境は、データベース内に現在格納されている所定のアプリタイプ及び／又はテーマを読み出すためにデータベースに問い合わせ、これらのアプリタイプ及び／又はテーマを開発者に提示し、開発者が新たなアプリに対する特定のアプリタイプ及び／又はテーマを閲覧し、選択することを可能にする。その他の例として、開発者がアプリに対する特定のアプリタイプを選択した後、モバイル開発環境は、選択されたアプリタイプに基づき、アプリ内に含まれるモジュールの全タイプを読み出し、表示するため、データベースに問い合わせることができる。更にその他の例として、モバイル開発環境は、開発者により選択された利用可能なモバイル機器カテゴリー及び／又はモバイル機器タイプを読み出し、表示するため、データベースにアクセスできる。
【００８４】
特定の実施例において、モバイル開発プラットフォームは、プラットフォームを通して開発されたモバイルアプリケーションと共に使用するために、カスタムのテンプレート、又はその他の構成部分を作成するための能力を開発者に提供する。これら特定の実施例において、開発者は、「空白（blank）」のテンプレートで開始することができ、及び／又はカスタムのテンプレートに含まれる、又は関連する様々なオプション、設定、レイアウト、テーマ、コンテンツ、機構又は機能性を提示されるなどにより、アプリケーション構成部分、デザイン要素、コンテンツ要素又はその他のアプリケーションデータに対するカスタムのテンプレートの作成に関連した様々なステップを通して案内される。開発者は、様々な所定の副構成部分（subcomponent）、コンテンツ要素及びデザイン要素の中から選択し、及び／又はカスタムのテンプレートを用いて設計及び開発されたモバイルアプリケーション内に組み込まれる新たな副構成部分、コンテンツ要素及びデザイン要素を作成することができる。
【００８５】
例えば、モバイル開発環境にアクセスし、新たなアプリを作成した後、所定のアプリタイプを選択することができることの代わりに、又はそれに加え、開発者は、新たなアプリと共に使用するための新たなカスタムのアプリタイプを作成するためのオプションを与えられる。開発者は、名前、スプラッシュイメージ、アイコン及び関連するモジュールなど、カスタムのアプリタイプに対する特定のオプション、設定及び属性を選択、入力及び／又は変更することができる。同様に、カスタムのアプリタイプに関連することになる（又は、新たな、あるいは現在のアプリに含まれることになる）モジュールを選択する際、開発者は、特定の所定モジュールの中から選択し、及び／又は１以上のカスタムのモジュールを作成することができ、この場合、開発者は、名前、タイプ、１以上のレイアウト、機能性及び関連するコンテンツなど、モジュールに対する様々なオプションを選択し、入力することができる。その他の例として、開発者は、フォントタイプ、サイズとカラー、背景、位置、方向など、様々なデザイン属性と設定を選択することにより、アプリに対するカスタムのテーマ又はモジュールに対するカスタムのレイアウトを作成することができる。
【００８６】
特定の実施例において、データモデル及び／又は関連する（複数の）データベースは、プラットフォームを通して開発されたモバイルアプリでの使用のために、カスタムのアプリケーション構成部分、デザイン要素又はその他データの開発者による作成及び変更を容易にするため、モバイル開発プラットフォームにより使用される。開発者が構成部分、コンテンツ要素又はデザイン要素に対するカスタムのテンプレートを作成するためのオプションを選択するとき、モバイル開発環境は、カスタマイズされたアプリケーション構成部分又はデザイン要素を作成するため、開発者により選択、入力及び／又は結合された関連する属性、設定、コンテンツ及び副構成部分を読み出すためにデータベースに問い合わせることができる。
【００８７】
これら特定の実施例において、カスタムのテンプレートは、データベース及び／又は関連するデータモデル内に格納するなどにより、モバイル開発プラットフォームにより保存される。カスタムのテンプレートは、開発者及び／又はその他開発者による将来のアプリでの使用に対し利用可能である。例えば、開発者がカスタムのアプリタイプを作成するとき、モバイル開発プラットフォームは、AppTypeテーブル220内など、データベース内に新たなエントリーを作成することができる。このアプリタイプは、利用可能な所定のアプリタイプの１つとして、プラットフォームを通して新たなアプリを作成する開発者に自動的にロードされ、提示される。特定の実施例において、第三者開発者又は製造業者は、モバイルアプリに対する関連するモジュールロジックと共に、モジュールなど、カスタムの構成部分又はデザイン要素を作成することができ、これらのカスタムのモジュールを、モバイル開発及び配布プラットフォームを通したモバイルアプリに作成において、開発者及びユーザーに利用可能にする。
【００８８】
図４と上記の対応する記載からわかるように、この方法で、モバイルアプリに関連するアプリケーションデータとその他情報を格納することに関連して、幾つかの利益がある。そのような１つの利益において、各アプリに対する対応するソフトウェアコード、アプリロジック及び設定を別々に格納する必要性なしに、データベース内のエントリーなど、簡潔化された形式で、モバイル開発プラットフォームを通して作成及び変更されたアプリを格納し、表示することを可能にする。その他の利益において、新たなタイプのアプリケーション構成部分、デザイン要素、コンテンツ要素及びその他設定とアプリケーションデータを、モバイル開発プラットフォームに簡単に追加する（及び、現在のものを変更する）ことができ、データベース及び／又は対応するデータモデル内のエントリーを単に追加及び／又は変更することにより、開発者が使用できる。これら新たな又は更新された構成部分、デザイン要素、コンテンツ要素及びその他データは、モバイルアプリ内で開発者に自動的に提示され、使用される。上記したデータモデルに関連する更なるその他の利益として、アプリケーション構成部分、コンテンツ要素及びデザイン要素に対するカスタムのテンプレートを作成し、保存することにより、更に、所定の構成部分及びデザイン要素を選択、変更及び結合することにより、開発者が高度にカスタマイズ可能なアプリを作成することを可能にする。同様に、これは、その他の開発者により作成及び／又はカスタマイズされた新たな構成部分、コンテンツ要素、デザイン要素及びその他データを開発者が活用できるようにすることにより、拡張可能で、継続的に発展する開発環境を開発者に提供する。
【００８９】
アプリ実行及び更新プロセス
図５は、特定の実施例に従い、図１〜４に関連して説明及び記載されたように、モバイル開発及び配布プラットフォームを通して開発されたモバイルアプリケーションを実行することに関連して用いられるプロセスのフロー図である。ステップ410において、エンドユーザは、モバイル機器のモバイル・オペレーティングシステムに関連するディジタル配布プラットフォームからアプリをダウンロードすることにより、又は開発者によりホスティングされ、運営されるサーバー又はモバイル開発環境に関連する１以上のサーバーからアプリを直接ダウンロードすることによりなど、モバイル開発プラットフォームを通して開発されたモバイルアプリをエンドユーザのモバイル機器にダウンロードすることができる。例えば、エンドユーザは、図１で示されるように、ネットワーク500を介して、ディジタル配布プラットフォーム300からモバイル機器400にモバイルアプリをダウンロードすることができる。
【００９０】
エンドユーザがモバイルアプリを立ち上げるとき、ステップ415において、アプリは、そのアプリが、初めてモバイル機器上で実行されることになるのかどうかを決定することができる。もしそうであるなら、プロセスはステップ420に進み、違うなら、ステップ417において、アプリは、アプリケーションに関連する、及び／又はアプリケーションに必要となる特定のデータがモバイル機器上に局所的に格納されているか（例えば、キャッシュされているか）どうかを判断する。キャッシュされたデータがアプリに対して存在する場合、アプリは、キャッシュされたデータがアプリにより更に維持され、使用されるべきかどうかを決定することができる。例えば、モバイルアプリは、キャッシュされたアプリケーションデータを更新する必要があるかどうか（例えば、サーバー上でホスティングされるアプリケーションデータが、モバイル機器にダウンロードされ、格納されてから、変更されているかどうか）を決定するため、サーバー、又はアプリケーションデータをホスティングするその他のコンピューターシステムに問い合わせることにより、キャッシュされたアプリケーションデータを使用し続けるかどうかを決定することができる。
【００９１】
その他の例として、モバイルアプリは、アプリケーションデータが存在するサーバー又はシステムに、アプリ及び／又はモバイル機器がアクセスすることが不可である（例えば、モバイル機器がオフラインである、あるいはサーバー又はシステムが利用不可である）ことの決定に基づき、キャッシュされたアプリケーションデータを使用すべきかどうかを決定することができる。モバイルアプリが、キャッシュされたアプリケーションデータがない、又はキャッシュされたアプリケーションデータを破棄及び／又は更新すべきであると判断する場合、プロセスは、ステップ420に進む。そうでなければ、ステップ419において、モバイルアプリは、キャッシュされたアプリケーションデータをロードし、ステップ430に進む。アプリケーションデータのキャッシングに関連する１つの重要な利点は、モバイル開発プラットフォームを通して開発されたモバイルアプリケーションが、モバイル機器がオフラインのときでさえ使用できることである。特定の実施例において、モバイルアプリ、モバイル機器及び／又はエンドユーザは、プロセスのステップ417と419が省略できる場合において、モバイル機器上で動作する特定の（複数の）アプリ、又は全てのアプリのどちらか一方に対して、アプリケーションデータのキャッシングを不可にすることができる。
【００９２】
ステップ420において、モバイルアプリは、データをホスティングするサーバー又はシステムから特定のアプリケーションデータを要求し、受信する。特定の実施例において、モバイルアプリケーションは、アプリケーションデータを要求し、図１に示されるデータサーバー210など、モバイル開発プラットフォームと関連したサーバーから受信することができる。その他の特定の実施例において、アプリケーションデータは、ディジタル配布プラットフォームから、又は開発者により運営されるサーバーから直接的に、要求、受信される。更にその他の実施例において、モバイルアプリ及び／又はモバイル機器は、モバイル開発プラットフォーム及び／又はデータベースサーバー210の両方又は一方と接続する１以上の中間のサーバーから、又は第三者サービスプロバイダーによりホスティングされ、運営されるその他のサーバーからアプリケーションデータを読み出すことができる。
【００９３】
完全なアプリケーションデータよりむしろ、構成ファイルなどのリファレンスデータの形式で、モバイルアプリがエンドユーザによりコンパイルされ、ダウンロードされるなど、特定の実施例において、モバイルアプリは、関連するアプリケーションデータを読み出すため、リファレンスデータを使用することができる。これら特定の実施例において、モバイルアプリは、アプリ識別子又はその他のアプリを識別する情報を、アプリケーションデータをホスティングするサーバーに送信することができる。サーバーは、対応するアプリケーションデータを検索し、読み出し、モバイル機器に送信するために、この情報を使用することができる。アプリ及びそのデータがデータベースに格納され、及び／又は対応するデータモデルにより示されるなど、これら特定の実施例において、図４に関連して記載される方法と同様の方法で、サーバーは、関連やリンクに従い、アプリに関連するその他テーブルまで進むことにより、データベーステーブル内のアプリを検索し、アプリケーションデータを読み出すため、アプリ識別子を使用することができる。
【００９４】
アプリケーションデータは、モバイルアプリに関連し、及び／又はモバイル機器上でアプリとそのコンテンツを実行し、表示するために必要な任意のデータを含むことができる。例えば、サーバーは、アプリタイプ、モジュール、コンテンツ、レイアウト、テーマ、設定及びその他情報など、モバイルアプリに含まれ、又は関連したアプリケーション構成部分、デザイン要素、機構及びコンテンツと関連する特定データを、モバイル機器に送信することができる。全体のアプリケーションがコンパイルされ、モバイル機器にダウンロードされ、インストールされるなど、その他の特定の実施例において、モバイルアプリは、上記のプロセスと同様な方法で、アプリケーションデータ及び／又はコンテンツへの更新を要求し、受信できる。モバイルアプリ及び／又はモバイル機器が特定のアプリケーションデータをキャッシュするよう適合されるなど、特定の実施例によれば、アプリケーションデータをサーバーから受信した後、モバイルアプリは、モバイル機器のメモリー内にアプリケーションデータを格納できる。
【００９５】
アプリケーションデータを受信した（及び／又はキャッシュされたアプリケーションデータをロードした）後、ステップ430において、モバイルアプリは、アプリケーション構成部分、コンテンツ要素、デザイン要素、機能及び設定をアプリケーションに組み込むことにより、及び／又はアプリケーションの表示と動作をフォーマットすることによりなど、モバイル機器上にアプリを構築し、表示するため、アプリケーションデータを利用することができる。特定の実施例において、アプリは、モバイル開発及び配布プラットフォームを通して、アプリが開発者により設計され、開発された形式と同一又は実質的に同様な形式で、アプリケーションデータを好適に表示することができる。ステップ440において、モバイルアプリ及び／又はモバイル機器は、ボタンの外観又はマルチタッチジェスチャー機能性など、アプリが実行しているモバイル機器又はモバイル・オペレーティングシステムのタイプに固有の機構及び／又は機能性に依存する１以上のモジュール又はその他構成部分を、アプリケーションデータが含むかを決定することができる。その場合、ステップ450において、モバイルアプリは、モバイル・オペレーティングシステム内から機器固有の機構及び機能を呼び出すことができる。そうでない場合、プロセスはステップ460に進み、モバイルアプリとそのコンテンツがエンドユーザに表示される。
【００９６】
ここに記載されるシステムと方法は、モバイルアプリが、エンドユーザのモバイル機器にダウンロードされ、インストールされ、及び／又は立ち上がったとき、オンザフライ（on-the-fly）で構成され、フォーマットされ、及び／又は更新されることを可能にする。従って、重要な利点は、アプリケーションデータがモバイルアプリ及び／又はモバイル機器によりホスティングされ、アクセスされるサーバー又はその他のシステム上で、アプリケーションデータ及び関連する情報のバージョンを単に変更することにより、開発者が、モバイル開発プラットフォームを通して開発されたモバイルアプリを簡単に更新できることである。例えば、上記のように、アプリが立ち上がったとき、アプリは、最新のアプリケーションデータに対して、サーバーに問い合わせることができる。このため、開発者がアプリケーションデータを更新した後、初めてアプリが立ち上がるとき、アプリは、更新されたデータを自動的に読み出し、利用することができる。同様に、これは、更新を手動でダウンロードし、及び／又は更新されたアプリケーションデータを受信するためにディジタル配布プラットフォームに接続することをエンドユーザに要求することなしに、モバイルアプリに対する更新がエンドユーザにより直ちに実現されることを可能にする。このため、関連するサーバー上に格納される情報を更新することにより、エンドユーザのモバイル機器上で動作するアプリの構成部分、デザイン、機能性、機構及びコンテンツ要素は、アプリの実行において更新される。
【００９７】
モバイル開発及び配布プラットフォームを通して開発されたモバイルアプリが、データモデルにより表示され、データベース内に格納されるなど、特定の実施例において、プラットフォームは、エンドユーザによるアプリの使用、及び／又はエンドユーザとそのモバイル機器によるアプリケーションデータのアクセスと更新に関連する特定の情報を格納することができる。例えば、図４に関連して上で記載したように、エンドユーザ及び／又はエンドユーザのモバイル機器が、プラットフォームを通して開発されたモバイルアプリに対するアプリケーションデータを読み出す、又は更新するため、モバイル開発及び配布プラットフォーム（及び／又はその関連するデータベースサーバー）にアクセスすることに応じて、データモデルは、特定データを格納する１以上のテーブルを有することができる。これら特定の実施例において、この情報は、モバイル機器に対する固有識別子、実行及び／又は更新されるモバイルアプリ、モバイル機器の位置、及び／又は要求されるアプリケーションデータを有することができる。特定の実施例において、この情報は、モバイルアプリがエンドユーザにより実行される度に、モバイル開発及び配布プラットフォームにより格納される。その他の特定の実施例において、この情報は、キャッシュされたアプリケーションデータを更新するため、及び／又はアプリケーションデータや広告を含む補足のコンテンツを読み出すためなど、モバイルアプリ及び／又はモバイル機器がモバイル開発及び配布プラットフォームにアクセスされたときに格納される。
【００９８】
補足コンテンツ
特定の実施例によれば、広告や通知など、特定の追加又は補足のコンテンツ又はその他データが、モバイル開発及び配布プラットフォームを通して開発及び展開されたモバイルアプリ内に含まれ、又は挿入される。例えば、モバイル開発及び配布プラットフォームは、広告がモバイルアプリ内に挿入されることを可能にする。特定の実施例において、広告がモバイルアプリ内に含まれるべきかどうかについての決定は、プロバイダー、及び／又はモバイル開発及び配布プラットフォームの運営者により単に決定される。これら特定の実施例において、モバイル開発プラットフォームは、プラットフォームを通して開発されたアプリの幾つか又は全てにおいて、自動的に広告を挿入することができる。代わりに、又は加えて、開発者は、モバイルアプリの開発の間、及び／又は開発の後など、広告を挿入するかどうかを選択するためのオプションが与えられる。開発者がアプリ内に広告又はその他の補足コンテンツを組み込むことを選ぶ場合、開発者は、広告のタイプ、アプリ内のそれらの位置、それらが更新される頻度、アプリを実行するエンドユーザにそれらが何時提示されるかなど、広告に関連する様々な特性をカスタマイズするためのオプションが与えられる。
【００９９】
広告ネットワーク／プラットフォーム、及びモバイル開発及び配布プラットフォームを通して作成されたモバイルアプリへの広告とその他の補足コンテンツの配信は、モバイル開発及び配布プラットフォームへのアクセスを提供するサーバーと統合される、又は関連するサーバー又はシステムにより提供され、又は開発者又は第三者広告プロバイダーによりホスティングされるサーバーにより提供される。これら特定の実施例において、広告又はその他の補足コンテンツは、図１に示されるデータベースサーバー210など、サーバーによりホスティングされるアプリケーションデータと共に含まれる。そして、モバイルアプリは、図５に関連して上記したアプリケーションデータの読み出し（retrieval）と同様の方法で、広告を読み出すことができる。その他の特定の実施例において、広告は、サーバーの位置についてのリファレンスをモバイルアプリ内に含めるなどにより、異なる広告サーバーから読み出すことができる。特定の実施例において、広告は、実行時、読み出され、アプリ内に統合される。これら特定の実施例において、広告は、アプリが立ち上がる毎に、アプリの実行の間、及び／又は所定の間隔において、更新、置換又は変更することができる。特定の実施例において、アプリは、モバイル機器がオフラインのときにエンドユーザに表示するなどのため、特定の広告をキャッシュすることができる。
【０１００】
アプリ内に挿入される広告又はその他の補足コンテンツは、アプリケーションのタイプ、構成部分又はコンテンツ、エンドユーザに対して集約された人口統計データ、開発者による選択又は入力、及び／又は地域的又は時間的情報など、アプリ及び／又はエンドユーザに関連する様々な特性に基づく。特定の実施例において、アプリ内に含まれる特定のコンテンツ要素内、あるいはコンテンツ要素の上部に広告を表示することにより、又はエンドユーザが広告を最小化するか隠すことを可能にすることによりなど、非侵入型（non-intrusive）の方法で、広告をエンドユーザに提示することができる。代わりに、又は加えて、広告は、一時的に、又はアプリの実行の特定段階の間、表示することができる。
【０１０１】
その他の例として、モバイル開発及び配布プラットフォームは、開発者により開発され、展開された１以上のアプリをダウンロードしたユーザなど、モバイル機器のユーザに、開発者が通知を送ることを可能にする。モバイル開発サービスがウェブベースサービスを通して提供されるなど、特定の実施例において、開発者は、開発者がモバイル開発及び配布プラットフォームを通して作成した（又は作成のプロセスにある）アプリの全てを表示するウェブページを閲覧するためのオプションを与えられる。従って、各開発者は、開発者に関連するアプリのセットを有する。これら特定の実施例において、このアプリケーションセットは、図４に関連して上記した方法と同様の方法で、データベースサーバー210など、データベース内に格納することができる。
【０１０２】
特定の実施例において、モバイル開発及び展開プラットフォームは通知マネージャーを有し、通知マネージャーは、開発者が通知を作成、変更し、エンドユーザに送信することを可能にし、及び／又はそのような通知を管理し、読み出し、表示することに対する責任を有する。例えば、これら特定の実施例において、開発者は、モバイル開発プラットフォームを通して、開発者により開発された特定のアプリに付随する通知を作成することができる。その他の例として、開発者は、開発者により作成された新たなアプリに付随する通知を作成することができる。特定の実施例において、通知マネージャーは、開発者が通知に関連する特定の機構、コンテンツ及びオプションを入力、アップロード、作成及びカスタマイズすることを可能にする。例えば、開発者は、通知を受信するためのエンドユーザのセットと同様に、各通知に対して日付、時間及びタイムゾーンを設定することを要求される。特定の実施例において、通知マネージャーは、選択されたデータが許容されるか（例えば、過去において）どうかを検査できる。そして、これら特定の実施例において、通知は、開発者により開発された１以上のモバイルアプリをダウンロードし、インストールしたエンドユーザに自動的に配信される。代わりに、又は加えて、開発者は、通知を受信するための特定のアプリ又はエンドユーザ、あるいはアプリ又はエンドユーザのグループを選択することができる。これら特定の実施例において、開発者は、プッシュ通知、エンドユーザの機器のＧＰＳ位置に基づいた通知、又はその他適切なタイプの通知など、エンドユーザに送信される通知のタイプを選択することができる。
【０１０３】
図６は、特定の実施例に従い、モバイル開発及び配布プラットフォームを通して、通知を閲覧、作成及び／又は変更するためのプロセスのフロー図である。ウェブベースサービスを通してなど、モバイル開発及び展開プラットフォームにアクセスし、通知を管理するためのオプションを選択した後、ステップ150において、開発者は、通知マネージャーを提示される。特定の実施例において、図２、３に関連して記載される方法と同様の方法において、通知マネージャーは、１以上のウェブページを通して開発者に提示される。ステップ151において、開発者により以前に作成された通知を、開発者が通知マネージャーを通してアクセスし、閲覧したいかどうかについての決定が行われる。例えば、開発者は、以前の通知を閲覧するため、ボタン又はリンクをクリックできる。これら特定の実施例において、各開発者により作成された通知は、図1に示されるデータベース200内など、モバイル開発及び展開プラットフォームにより格納することができる。開発者が以前の通知を閲覧することを希望しない場合、フローはステップ154に進む。そうでなければ、ステップ152において、開発者の以前の通知のリストが表示される。ステップ153において、開発者は、以前の通知をフィルターにかけ、開発者に表示されるリストを更新するために使用される、データ範囲、アプリ識別子など、様々な基準を選択及び／又は入力することができる。特定の実施例によれば、開発者はリストから特定の通知を選択することができ、この場合、選択された通知は開発者に表示される。
【０１０４】
ステップ154において、開発者が新たな通知を作成する、又は現在の通知を編集することを希望するかどうかについての決定を行う。例えば、開発者は、新たな通知を作成するため、通知マネージャーを通して表示されるボタンをクリックできる。同様に、開発者は、その通知を編集するため、特定の以前の通知の表示に関連したボタンをクリックできる。開発者が、新たな通知を作成すること、又は現在の通知を編集することを選択した場合、ステップ155において、開発者は、通知に対するメッセージ、日付／時間及びタイムゾーンなど、通知に関連する様々なオプションを選択及び／又は入力できる。このプロセスは、図７に関連して、以下でより詳細に説明及び記載される。通知を作成及び／又は更新した後、ステップ156において、データベース内のエントリーを作成又は更新するなどにより、開発者の選択及び入力は保存される。
【０１０５】
図7は、特定の実施例に従い、モバイル開発及び配布プラットフォームを通して、開発者に提示された通知マネージャーの表示の一部分を示す図である。モバイル開発及び配布プラットフォームがウェブベースサービスを通してアクセスされるなど、これら特定の実施例において、通知マネージャーは、図2に関連して記載される方法と同様の方法で、ウェブページ内で、開発者に表示される。図７に示されるように、通知マネージャーは、通知表示ウィンドウ160内に表示され、これは、開発者が通知に関連する様々なコンテンツとオプションを入力及び／又は選択することを可能にする入力フォームを含む。通知表示ウィンドウは、開発者が通知に関連するテキストベースメッセージを入力することができる通知メッセージ入力ボックス161を有する。これら特定の実施例において、開発者は、イメージ、ビデオ、オーディオ又はコンテンツのその他の形式など、通知内に追加の（又は代替の）コンテンツを含めることができる。図7に示されるように、通知表示ウィンドウ160は、通知がエンドユーザに配信されるべき時に対する日付、時間及び／又はタイムゾーンを開発者が設定することを可能にする通知入力フィールド162を含むこともできる。
【０１０６】
これら特定の実施例において、開発者は、月ベース又は日ベースでエンドユーザに配信される通知など、自動更新の通知を作成するためのオプションを与えられる。特定の実施例において、通知表示ウィンドウ160は、通知を保存し、及び／又はエンドユーザに通知を送信する送信ボタン164、開発者により以前に送信された通知を開発者が見ることを可能にする送信メッセージボタン163など、様々なボタンを含むことができる。これら特定の実施例において、上記のように、開発者が以前に作成された通知を選択するとき、通知マネージャーは、通知表示ウィンドウ160内で選択された通知を表示し、及び／又は選択された通知に関連するデータベースから読み出されたデータを用いて、１以上のデータフィールド（例えば、メッセージ入力ボックス161及び／又は通知入力フィールド162）を自動入力する。
【０１０７】
例示的なアプリケーション構成部分
以下は、特定の実施例に従い、モバイル開発及び配布プラットフォームを通して開発者に提供され、モバイル開発環境を通して開発されたモバイルアプリ内に組み込まれる所定のアプリケーション構成部分の特定の例である。当然のことであるが、以下に記載され、及び／又は図８〜３９で示される特定のアプリケーション構成部分は、本来、例示を目的としたものであり、網羅的なものではなく、様々なその他のアプリケーション構成部分及び要素が、ここに記載されるモバイル開発プラットフォーム、対応する装置、システムと方法に関連して使用できる。
【０１０８】
アプリタイプ
特定の実施例において、モバイル開発環境は、モバイル開発環境を通して作成されたアプリと共に使用のため、1以上の以下の所定のアプリタイプを提供する。
- appRestaurant − 特定の実施例において、appRestaurantアプリタイプは、開発者又は第三者のレストラン、食品及び／又はサービスに関連した特定の情報を提供する。このテンプレートを利用するモバイルアプリケーションは、日替わり料理、道順（direction）、メニュー、推奨するメニュー項目及び予約など、様々なコンテンツを含む。これら特定の実施例において、モバイルアプリケーションは、複数のレストランに対するこれらタイプ及びその他タイプの情報を含むことができる。モバイルアプリは、エンドユーザが、レストランタイプ、調理法、場所又は値段など、様々な特性に基づいて、レストランを閲覧し、レストランをフィルターにかけることを可能にする。
- appRealtor − 特定の実施例において、appRealtorアプリタイプは、不動産業者が、エンドユーザに不動産代理店リスト及びその他関連する情報をリアルタイムで提供することができるように提供される。このテンプレートを組み込むモバイルアプリケーションは、利用可能な不動産物件、不動産物件までの道順、提示価格及び不動産物件の説明及び／又はイメージなどの情報を提供することができ、エンドユーザがモバイルアプリケーションを通して、不動産業者に連絡し、及び／又は見学の予定を決めることを可能にする。これら特定の実施例において、モバイルアプリケーションは、エンドユーザが、利用可能なリストを閲覧し、及び／又は不動産物件のタイプ、値段、場所、外観など、様々な特性に基づいて一覧を分類することを可能にする。
- appBook − 特定の実施例において、appBookアプリタイプは、開発者が本又は類似の出版物を出版することができるように提供される。これら特定の実施例において、モバイルアプリケーションは、開発者が、フォントやスタイル、ページのレイアウトなどの様々なオプションを変更及びカスタマイズすることを可能にすることによりなど、モバイル機器を用いる読者に対して読みやすいフォーマットで本を提示できる。特定の実施例において、モバイルアプリケーションは、エンドユーザが、多数の本を閲覧し、及び／又は購入し、及び／又は彼らのモバイル機器にダウンロードするために１以上の本を選択することを可能にする。テンプレートは、著者及びその他第三者が、フィクション、ノンフィクション、参考図書又はその他同様の作品をディジタルフォーマットでモバイル機器ユーザに配信することを可能にする。
- appMagazine − 特定の実施例において、appMagazineアプリタイプは、開発者が、雑誌、新聞、パンフレット又はその他の定期刊行出版物やその他の同様の出版物のディジタル版をモバイルマーケットに配布及び共有することができるように提供される。特定の実施例において、これら出版物は、上記のappBookアプリタイプと同様の方法でユーザに提示することができる。これら特定の実施例において、アプリは、ユーザが、１以上の定期刊行物を購読し、及び／又は定期刊行物を発行時に自動的にダウンロードすることを可能にする。
- appBlog − 特定の実施例において、appBlogアプリタイプは、開発者が、ブログコンテンツを配布し、更なる読者と共有することができるように提供される。これら特定の実施例において、アプリは、エンドユーザが、写真、ビデオ及びその他の情報など、様々なコンテンツをブログにアップロードすることを可能にする。特定の実施例において、アプリは、更新又はブログに追加された追加コンテンツをエンドユーザに自動的に通知できる。
- appDoctor − 特定の実施例において、appDoctorアプリタイプは、特定の医者のオフィスにより提供されるサービスを列挙し、記載するように提供される。これら特定の実施例において、アプリは、病院、及び／又は専門や資格証明など、医者に関する様々な情報について、小規模の医療診療所により提供されるサービスを有する。特定の実施例において、アプリは、医者が、その患者に連絡し、患者からの問い合わせにリアルタイムで応答することを可能にする。アプリは、アプリを通して、医者又は病院の場所を探し、及び／又は予約を取ることにおいて、エンドユーザを補助することもできる。
- appMuseum − 特定の実施例において、appMuseumアプリタイプは、１以上の博物館で見ることができるアイテムや展示物を記載するように提供される。アプリは、一時的な展示物など、異なる展示物を宣伝し、及び／又は特別に注目すべき場所への方向を提供することができる。特定の実施例において、アプリは、エンドユーザが、１以上の展示物を通るバーチャルツアーを行うことを可能にし、及び／又は博物館にいるエンドユーザに対し、対話式の「ウォークスルー」ガイドを提供することができる。
- appLawyer − 特定の実施例において、appLawyerアプリタイプは、弁護士が、彼らのサービスについての情報を提供することができるように提供され、これは、彼らの専門の範囲、過去の経験、料金についての情報を含む。特定の実施例において、アプリは、エンドユーザに弁護士又は法律事務所のコンテンツ情報を提供し、エンドユーザが、弁護士又は法律事務所を探し、連絡し、相談や会談を予約し、及び／又はアプリを用いてリアルタイムで様々な法律的質問をし、フィードバックを受けることを可能にする。
- appAccountant − 特定の実施例において、appAccountantアプリタイプは、会計士、会計事務所又は同様のものが、そのサービスを宣伝し、記載することができるように提供される。特定の実施例において、アプリは、上のappLawyerアプリタイプと関連して記載される特徴及び情報の一部又は全てを提供することができる。
【０１０９】
上記のアプリタイプに加え、モバイル配布及び開発プラットフォームを通してモバイルアプリを作成及び設計することに関連して、開発者により使用されるアプリタイプのその他の例は、以下の組織、専門職、サービス及び／又は興味に対応するアプリタイプを含む：ビジネス、開発／建設会社、不動産業者／仲買人、請負業者、暖房、換気及び空調（HVAC）サービス、教育、クラブ／協会、社会奉仕団体、非営利団体、スポーツクラブ／連盟、美容とネイルサロン、カイロプラクター、歯科医、獣医、カフェ／バー、ケータリングサービス、ホテル、旅行業者、一般製造業、広告代理店、芸術家／デザイナー、ヘアサロン及び床屋、清掃サービス、コンサルタントグループ、雑用／保守サービス、保険サービス、モデル／女優／俳優／芸人、個人トレーナー／フィットネスコーチ、ペットカフェ（ペット手入れ／散歩サービス）、写真スタジオ、スパ／美容術、タレント管理サービス、パン／ペストリー店、書店、ファッション／衣類店、ジム／フィットネスセンター／娯楽スポーツセンター、自動車修理店、自動車代理店、配達サービス、家族、結婚、料理／レシピ、趣味、模型製作、写真、休暇及び／又はペット。
【０１１０】
特定の実施例において、上記の例示としての所定のアプリタイプ及び／又はその他は、モバイル開発及び配布プラットフォームを通してモバイルアプリを設計及び作成するプロセスの間、開発者により選択、変更及び結合される。これら特定の実施例において、モバイル開発環境は、開発者が、アプリタイプに関連する様々な機構、機能性、設定及び／又はコンテンツを選択、追加及び／又は削除するなどにより、これらアプリタイプの多数の側面をカスタマイズすることを可能にする。例えば、各アプリタイプは、アプリタイプを使用するアプリ内に含まれる様々な機構と機能性を表すモジュールなど、１以上のその他構成要素と関連付けられる。様々なアプリタイプと関連するモジュールのタイプの特定の例は、以下により詳細に記載される。
【０１１１】
結果的に、ここに記載されるシステムと方法は、モバイルアプリの設計と開発に関連する高度なカスタマイズ可能性を非技術的ユーザ及び開発者に提供し、これは、これらの開発者が、ユーザ親和的なソフトウェアツールを通してモバイルアプリを作成するため、様々な所定で、ユーザ作成のアプリケーション構成部分、デザイン要素、機構、機能、設定及びコンテンツを利用、結合及びカスタマイズすることを可能にすることによる。これにより、１つの重要な利点は、技術的専門知識と経験を欠く開発者及びユーザ（及びその他個人）は、それにもかかわらず、広範囲の洗練されたモバイルアプリを設計、構築及び展開することができることである。その他の利点は、これら開発者が、その他の開発者により以前に作成及び／又はカスタマイズされた様々なアプリケーション構成部分、デザイン要素、機構及び機能性を利用し、彼ら自身のモバイルアプリ内に組み込むことができることであり、これにより、モバイルアプリの開発に関連する時間と努力を減らせる。
【０１１２】
モジュール
上記のように、特定の実施例によれば、モバイル開発プラットフォームは、プラットフォームを通して開発されたモバイルアプリに関連する１以上の所定のモジュール又はその他のアプリケーション構成部分を開発者に提供し、及び／又は開発者がモバイルアプリに特定の機構と機能性を組み込むことを可能にする。これら特定の実施例において、モジュールは、１以上のモバイル機器のカテゴリー、タイプ又はモデルに固有の機構と機能性を有する。モジュールは、更に、あるいは代わりに、アプリタイプなど、所定又はユーザ作成のアプリケーション構成部分のその他のタイプと関連する。これら特定の実施例において、開発者に提示され、プラットフォームを通して開発されたモバイルアプリでの使用に利用可能な所定のモジュールは、対象モバイル機器カテゴリー、タイプ又はモデル、及びアプリケーション構成部分及び／又はデザイン要素など、モバイルアプリの特定の特性、及び／又は開発者により行われた選択に基づく。図８〜４２及び以下の対応する記載は、特定の実施例に従い、モバイル開発及び配布プラットフォーム、及びここに記載の対応するシステムと方法において使用される特定の例示的な所定モジュール、更にそのような例示的なモジュールが開発者により選択、カスタマイズされ、及び／又はモバイルアプリに追加されるプロセスを示し、説明する。
【０１１３】
図８は、特定の実施例に従い、モバイル開発及び配布プラットフォームを通して、モバイルアプリにモジュールを追加するためのプロセスを説明するフロー図である。図８に示されるように、ステップ600において、特定のモバイルアプリ内に含まれる現在のモジュールが、開発者に提示される。モバイル開発及び配布プラットフォームがウェブベースサービスを通してアクセスされるなど、特定の実施例において、図２、３に関連して上記されるように、モジュールは、アプリ作成及び設計プロセスの間（又は、開発者が現在のアプリを編集することを希望したとき）、１以上のウェブページを通して開発者に表示される。ステップ601において、開発者が現在のモジュールを編集したいかどうかについての決定が行われる。例えば、開発者は、表示されるリスト内の現在のモジュールの１つを選択（例えば、クリック）することができる。開発者が編集のための現在のモジュールを選択した場合、フローはステップＡに進み、開発者は、図９〜４２に関連して以下に示し、記載されるように、選択されたモジュールに基づいて、様々なオプションと選択を提示される。そうでない場合、ステップ602において、開発者がアプリに新たなモジュールを追加することを希望するかどうかについての決定が行われる。その場合、開発者は、アプリに追加するための新たなモジュールを選択するよう求められ（例えば、利用可能なモジュールのリストを開発者に提示することにより）、フローはステップＡに進む。開発者が、新たなモジュールを追加することを望まない場合、ステップ603において、開発者は、アプリのコンテンツを追加し、更新することを完了したかどうかを示すよう促される。
【０１１４】
図９は、特定の実施例に従い、モバイル開発及び配布プラットフォームを通して開発されたモバイルアプリに含まれる接触（contact）モジュールをカスタマイズするためのプロセスを説明するフロー図である。特定の実施例において、開発者は、開発者及び／又はその他個人（例えば、アプリがそのために開発される第三者）に関連する特定の接触情報をエンドユーザに提供するためなど、そのアプリ内に接触モジュールを含む。これら特定の実施例において、開発者は、モバイル開発及び配布プラットフォームを通して開発及び／又は展開される各モバイルアプリ内に接触モジュールを含むよう要求される。図９に示されるように、ステップ605において、開発者は、接触モジュールをアプリに追加する、又は現在の接触モジュールを編集するためのオプションを選択することができる。これに応じ、ステップ606において、モバイル開発及び配布プラットフォームは、接触マネージャーを活性化できる。接触マネージャーは、接触モジュールを設計し、カスタマイズすることに関連する様々なオプションを開発者に提示することに関与する。ステップ607において、開発者は、名前、物理アドレス、電話番号、Ｅメール及び／又はウェブサイトＵＲＬなど、様々な接触情報を選択及び／又は入力する。これら特定の実施例において、開発者は、接触モジュールのレイアウト、デザイン及び／又は機構をカスタマイズすることもできる。そして、この情報は、ステップ609において、モバイルアプリに対し保存及び／又は更新される。例えば、特定の実施例において、開発者の選択と入力は、図４に関連して記載される方法と同様の方法で、モジュールテーブル内のエントリーを作成又は更新するなどにより、データベース内に格納される。
【０１１５】
図１０は、特定の実施例に従い、モバイル開発及び配布プラットフォームを通して、開発者によりアクセスされる接触マネージャーを含むアプリケーション開発環境の表示の一部を示す図である。モバイル開発及び配布プラットフォームがウェブベースサービスを通してアクセスされるなど、これら特定の実施例において、接触マネージャーは、図２に示される開発ウィンドウ110及び／又はコンテンツウィンドウ112内など、１以上のウェブページを用いたグラフィカル・ユーザー・インターフェースの形式で、開発者に表示される。図１０に示されるように、アプリケーション開発環境は、接触マネージャーウィンドウ610を有し、これは、開発者が、接触モジュールに関連する様々な接触情報を選択、入力及び／又は変更することを可能にする。接触マネージャーウィンドウ610は、図１０に示されるアドレスサブウィンドウ611など、幾つかのサブウィンドウを含むことができる。開発者は、番地、都市、郵便番号など、アドレスサブウィンドウ611内に含まれるアドレスフォームフィールド612内に物理アドレス情報を入力できる。特定の実施例において、アドレスサブウィンドウ611は、図１０に示されるように、更新ボタン613とマップ表示614を含むことができ、これは、開発者が、マップ上でアドレスの場所を見ることを可能にする。特定の実施例において、接触マネージャーウィンドウ610は、電話番号サブウィンドウ、Ｅメールアドレスサブウィンドウ及び／又はウェブサイトサブウィンドウなど、様々なその他のサブウィンドウを有することができ、これは、開発者が、接触モジュールに対する追加の接触情報を入力することを可能にする。
【０１１６】
図１０に示されるように、アプリケーション開発環境が機器画像116を含むなど、特定の実施例において、機器画像116は、モバイル機器のディスプレイ内に接触モジュールの表示の画像を含む。例えば、機器画像116を通して表示される接触モジュールは、接触モジュールサブウィンドウ615〜618を含み、これは、接触ディスプレイウィンドウ610を通して、開発者により入力される情報に基づき、アドレス、電話番号、Ｅメール及びウェブサイト接触情報をそれぞれ表示する。特定の実施例において、接触モジュールサブウィンドウは、１以上のボタン及び／又は選択可能領域を有し、これは、エンドユーザが以下に記載するような接触情報とやり取りすることを可能にする。
【０１１７】
これら特定の実施例によれば、エンドユーザが、モバイル開発及び展開プラットフォームを通して開発された接触モジュールを有するモバイルアプリをダウンロード、インストール及び／又は実行するとき、接触モジュールは、エンドユーザのモバイル機器ディスプレイ上に表示される。例えば、エンドユーザは、開発者又は第三者のアドレス、電話番号、Ｅメールアドレス及び／又はウェブサイトなど、アプリに関連する特定の接触情報を見るため、接触モジュールにアクセスすることができる。特定の実施例において、接触モジュールは、接触のアドレスの位置を表示するマップサブウィンドウを有する。これら特定の実施例に関連して、マップウィンドウは、グーグルマップやビーイングマップなど、エンドユーザのモバイル機器及び／又はモバイル機器のオペレーティングシステムを通して利用可能である既存のマップ機能及び／又はプラットフォームに依存する。
【０１１８】
特定の実施例において、モバイルアプリ及び／又は接触モジュールは、エンドユーザが、接触モジュールを通して表示されるコンテンツの特定部分とやり取りすることを可能にする。例えば、モバイル機器ディスプレイ上を指で叩くなどにより、エンドユーザが電話番号を選択することに応じて、接触モジュールは、モバイル機器が表示される電話番号に電話を掛けさせる。その他の例として、エンドユーザがＥメールアドレスを選択することに応じて、接触モジュールは、モバイル機器上の既存のＥメールアプリケーションを立ち上げ、及び／又は「Ｔｏ」フィールド内に既に記入されている表示されたＥメールアドレスで、新たなＥメールメッセージを開くことができる。同様に、エンドユーザがウェブサイトを選択することに応じて、接触モジュールは、アプリ内ウェブブラウザー又はモバイル機器上で利用可能な別個の既存ブラウザを開くことができ、ブラウザを表示されるウェブアドレス又はＵＲＬに移動させることができる。更にその他の例として、エンドユーザが物理アドレス又はマップを選択することに応じて、接触モジュールは、「サーチ」又は「ｔｏ」フィールドに既に記入された表示されたアドレスで、既存のマップアプリケーションを開くことができる。特定の実施例において、接触モジュール及び／又はモバイルアプリは、エンドユーザのモバイル機器上の既存の接触リスト又はデータベースに接触情報を追加するためのオプションをエンドユーザに提示することができる。
【０１１９】
図１１は、特定の実施例に従い、モバイル開発及び配布プラットフォームを通して開発されたモバイルアプリ内に含まれる電子ブックモジュールをカスタマイズするためのプロセスを説明するフロー図である。特定の実施例において、開発者は、エンドユーザが１以上のディジタルブック、エッセー、短編やその他同様の文学作品にアクセスし、閲覧することを可能にするためなど、そのアプリ内に電子ブックモジュールを含めることができる。図１１に示されるように、ステップ620において、開発者は、電子ブックモジュールをアプリに追加する、又は現在の電子ブックモジュールを編集するためのオプションを選択できる。これに応じて、ステップ621において、モバイル開発及び配布プラットフォームは、電子ブックマネージャーを活性化できる。電子ブックマネージャーは、１以上のディジタル作品を入力又はアップロードし、電子ブックモジュールを設計し、カスタマイズすることに関連する様々なオプションを開発者に提示することに関与する。ステップ622において、開発者は、１以上のディジタル作品を選択、アップロード及び／又は入力するよう促される。例えば、開発者は、図１に示される開発者コンピューター100など、ローカルコンピューターから１以上のソースファイル（例えば、ＰＤＦ又はＥＰＵＢファイル）をアップロードできる。代わりに、又は加えて、開発者は、ディジタル作品が置かれるネットワーク位置（例えば、ＵＲＬ）を規定できる。これら特定の実施例において、ディジタル作品は、アプリが立ち上げられるとき、ウェブサーバー又はデータベースサーバーなど、リモートソースからアクセスされる。そして、ステップ623において、開発者は、タイトル、コンテンツのテーブル、ブックマーク及び／又はその他同様の情報など、ディジタル作品と関連する様々な情報を選択及び／又は入力するよう促される。特定の実施例において、開発者は、テキスト検索、フォント、テキストサイズ及び夜間読書機能など、接触モジュールのレイアウト、デザイン及び／又は機構をカスタマイズすることもできる。この情報は、ステップ624において、図９に関連して記載される方法と同様の方法で、モバイルアプリに対して保存及び／又は更新される。
【０１２０】
図１２は、特定の実施例に従い、モバイル開発及び配布プラットフォームを通して、開発者によりアクセスされる電子ブックマネージャーを含むアプリケーション開発環境の表示の一部を示す図である。モバイル開発及び配布プラットフォームがウェブベースサービスを通してアクセスされるなど、これら特定の実施例において、電子ブックマネージャーは、上記の接触マネージャーの表示と同様の方法で開発者に表示される。これら特定の実施例によれば、電子ブックマネージャーは、開発者が、ブックソースファイル、タイトル、コンテンツのテーブル及びその他の関連するコンテンツと機構など、電子ブックモジュールと関連する様々な情報を選択、入力、アップロード及び／又は変更することを可能にする様々なウィンドウとサブウィンドウを含む。特定の実施例において、電子ブックマネージャーは、開発者により入力及び／又はアップロードされる複数の利用可能な本を管理し、エンドユーザがアプリをダウンロードし、立ち上げたとき、モバイル機器上に本を表示することに関与する。
【０１２１】
図１２に示されるように、アプリケーション開発環境がモバイル機器の画像を含むなど、特定の実施例において、機器画像116は、モバイル機器のディスプレイ内に電子ブックモジュールの表示の画像を含む。電子ブックモジュールは、図１２に示されるように、本のタイトルを表示するブックヘッダー626を有し、及び／又はアプリのメインメニューに戻るために使用される「バック」ボタンなど、１以上のボタンを含む。電子ブックモジュールが幾つかの本を含むなど、これら特定の実施例において、メインメニューは、エンドユーザが、利用可能な本を検索及び／又は閲覧し、読むための特定の本を選択することを可能にする。図１２に示されるように、電子ブックモジュールは、ブックテキストウィンドウ627内に１以上の本のコンテンツを表示できる。特定の実施例において、電子ブックモジュールは、エンドユーザが、モバイル機器のディスプレイスクリーンを「指でスライド（flicking）」するなどにより、ブックコンテンツを通してスクロールすることを可能にするための特定のモバイル機器（例えば、タッチスクリーン）に存在する機構を活用することができる。特定の実施例において、電子ブックモジュールは、更に、あるいは代わりに、エンドユーザが１以上のボタンを選択又は押すことにより本内を検索する（navigate）ことを可能にするブックナビゲーションバー628を有することができる。図１２に示されるように、ブックナビゲーションバー628は、章やページ番号など、現在表示されているコンテンツの本内の場所の指標、及び／又は進捗バーやパーセンテージなど、本がどの程度読まれたかのビジュアル表示を表示することができる。
【０１２２】
特定の実施例において、図１２に示されるように、電子ブックモジュールは、ブックメニューバー629を含み、エンドユーザが本に関連する追加の機構、コンテンツ及び／又はオプションにアクセスすることを可能にする様々なボタンやアイコンを含むことができる。例えば、ブックメニューバー629は、エンドユーザが、本に対するコンテンツのテーブルを閲覧し、及び／又は本内の特定の章や節などに手早く移動するための１以上のブックマークを設定し、見ることを可能にするボタンを有する。その他の例として、ブックメニューバー629は、エンドユーザが、暗闇の中で簡単に読書するために、背景及び／又はテキストカラーを切り換えるなどにより、通常モードと夜間読書モードとの間で切り替えを可能にするボタンを有する。その他の例として、ブックメニューバー629は、エンドユーザが、テキストサーチ機能を用いて、本内の語句を検索することを可能にするボタンを有する。これら特定の実施例において、検索を行った後、一致した項目は、一致した語句をハイライト表示するなどにより、テキスト内で強調される。更にその他の例として、ブックメニューバー629は、エンドユーザが、フォントタイプ、カラー及びサイズなど、ブックコンテンツの表示を選択又は変更することを可能にするボタンを有する。
【０１２３】
図１３は、特定の実施例に従い、モバイル開発及び配布プラットフォームを通して開発されたモバイルアプリに含まれる双方向（interactive）ブックモジュールをカスタマイズするためのプロセスを説明するフロー図である。特定の実施例において、開発者は、双方向ブックを作成し、エンドユーザに双方向ブックへのアクセスを提供するため、イメージ、アニメーション、ナレーションオーディオ及びサウンドファイルを（開発者のコンピューターから、又はＵＲＬから）アップロードするためなど、彼らのアプリに双方向ブックモジュールを追加することができる。図１３に示されるように、ステップ630において、開発者は、アプリに双方向ブックモジュールを追加する、又は現在の双方向ブックモジュールを編集するためのオプションを選択できる。これに応じて、ステップ631において、モバイル開発及び展開プラットフォームは、開発者が、双方向ブックモジュールを作成し、カスタマイズすることを可能にするため、双方向ブックマネージャーを活性化する。モバイル開発及び配布プラットフォームがウェブベースサービスを通してアクセスされるなど、これら特定の実施例において、双方向ブックマネージャーは、上記の接触マネージャーの表示と同様の方法で、開発者に表示される。特定の実施例において、双方向ブックマネージャーにアクセスした後、開発者は、名前、レイアウトなど、双方向ブックに対する様々な特性を入力及び／又は選択するよう促される。
【０１２４】
ステップ632において、開発者が、「ページ追加」ボタンをクリックするなどにより、双方向ブックに新たなページを追加することを希望するかどうかについての決定が行われる。そうである場合、ステップ633において、開発者は、ローカルコンピューターから１以上のソースファイル（例えば、ＰＤＦ、ＥＰＵＢ又はイメージファイル）をアップロードし、及び／又はソースファイルが置かれるネットワーク位置（例えば、ＵＲＬ）を特定するなどにより、新たなページに対するソースファイルを入力又はアップロードするよう促され、フローはステップ634に進む。開発者が、新たなページを追加することを希望しない場合、ステップ638において、現在のページのリストを開発者に提示し、その中から選択するよう開発者に促すなどにより、開発者が、双方向ブック内の現在のページを編集することを希望するかどうかについての決定が行われる。開発者が、編集のために現在のページを選択する（又は新たなページを追加するプロセス中にある）場合、ステップ634において、開発者は、ページ内に含まれることになる１以上のアニメーションイメージを選択、変更、アップロード及び／又は入力するよう促される。同様に、ステップ635と636において、開発者は、ページ内に含まれることになる１以上のアニメーション・オーディオファイルとナレーション・オーディオファイルのそれぞれを選択、変更、アップロード及び／又は入力するよう促される。ステップ637において、開発者は、音楽ファイルを選択、変更、アップロード及び／又は入力するよう促される。特定の実施例において、音楽ファイルは、全体として、又は１以上の特定のページにおいて、双方向ブックと関連付けられる。
【０１２５】
特定の実施例において、双方向ブックマネージャーは、ステップ634〜637に関連して、開発者に表示され、開発者が選択できる所定のアニメーションイメージ、アニメーション・オーディオファイル、ナレーション・オーディオファイル及び／又は音楽ファイルを読み出し、表示することができる。ページに対する様々なオプションを選択し、入力した後、フローはステップ632に戻り、開発者は、双方向ブックに新たなページを追加し、及び／又は双方向ブック内の現在のページを編集するためのオプションを選択することができる。開発者が双方向ブックを完了した場合、ステップ639において、開発者の選択、入力及びアップロードは、図９に関連して記載される方法と同様な方法においてなど、モバイルアプリに対して保存及び／又は更新される。特定の実施例によれば、開発者は、背景イメージ、ナレーション、音楽やその他オーディオファイル及びビデオやアニメーションファイルを選択、入力及び／又はアップロードし、及び／又は上記の方法と同様の方法で、ディジタルブックを変更又はカスタマイズするため、テキストを入力又はアップロードすることによりなど、現在のディジタルブック又はその他の文学作品に基づき、双方向ブックを作成することができる。
【０１２６】
図１４は、特定の実施例に従い、モバイル開発及び配布プラットフォームを通して開発された、双方向ブックモジュールを持つモバイルアプリの表示の一部を示す図である。図１４に示されるように、双方向ブックモジュールは、モバイルアプリが実行されるとき、モバイル機器のディスプレイの一部又は全部の中に表示される双方向ブックディスプレイウィンドウ640内に、１以上の本、更に双方向ブックに関連するその他コンテンツ、属性及び／又は入力オプションを表示することができる。特定の実施例において、エンドユーザは、１以上のボタンを用いて、双方向ブック内を検索できる。エンドユーザは、背景音楽を弱めるなど、特定のオプションを選択又は変更することができる。特定の実施例において、双方向ブックは、ディスプレイスクリーンの適切な部分をタッチすることなどにより、エンドユーザに選択されたとき、エンドユーザに追加のコンテンツ（例えば、アニメーション、ナレーション又はサウンド）を提示する特定のホットスポットを有することができる。
【０１２７】
図１５は、特定の実施例に従い、モバイル開発及び配布プラットフォームを通して開発されたモバイルアプリ内に含まれるイベントモジュールをカスタマイズするためのプロセスを示すフロー図である。特定の実施例において、開発者は、イベントのメニューベースのリストを作成及び変更するため、及びイベントに関連する特定の機構、コンテンツ及びオプションを追加、カスタマイズ、選択及び／又は変更するためなど、彼らのアプリにイベントモジュールを追加することができる。図１５に示されるように、ステップ642において、開発者は、アプリにイベントモジュールを追加する、又は現在のイベントモジュールを編集するためのオプションを選択できる。これに応じて、ステップ643において、モバイル開発及び展開プラットフォームは、開発者がアプリに対するイベントモジュールを作成し、カスタマイズすることを可能にするため、イベントマネージャーを活性化できる。
【０１２８】
ステップ644において、開発者は、イベントのレイアウト、イベントを表示するための順序及び特定のイベントをグループ化するためのカテゴリーなど、イベントに関連する様々な表示オプションを選択及び／又は入力するよう促される。ステップ645において、開発者がイベントリストに新たなイベントを追加する、又は現在のイベントを編集することを希望するかどうかについての決定が行われる。その場合、ステップ646において、開発者は、各イベントに対する名前、記述、日付と時間及び／又は場所など、イベントに対する様々な情報を選択及び／又は入力するよう促される。同様に、ステップ647において、開発者は、ローカルコンピューターからファイルをアップロードする、又はファイルが置かれるネットワーク位置（例えば、ＵＲＬ）を特定するなどにより、イベントに対するイメージファイルを提供するよう促される。特定の実施例において、イベントマネージャーは、イベントで使用するために開発者により選択される所定のイメージを読み出し、表示することができる。イベントを作成、更新及び／又はカスタマイズした後、フローはステップ645に戻り、開発者は、新たなイベントを追加する、又は現在のイベントを編集するためのオプションを選択できる。開発者がイベントを追加又は編集することを希望しない場合、ステップ648において、開発者の選択、入力及びアップロードは、図９に関連して記載される方法と同様の方法においてなど、モバイルアプリに対して保存及び／又は更新される。
【０１２９】
図１６は、特定の実施例に従い、モバイル開発及び配布プラットフォームを通して、開発者によりアクセスされたイベントマネージャーを含むアプリケーション開発環境の表示の一部を示す図である。モバイル開発及び配布プラットフォームがウェブベースサービスを通してアクセスされるなど、これら特定の実施例において、イベントマネージャーは、上記した接触マネージャーの表示と同様な方法で表示される。図１６に示されるように、アプリケーション開発環境は、イベントマネージャーウィンドウ649を有し、開発者が、イベントのリストを作成し、カスタマイズすることを可能にする。イベントマネージャーウィンドウは、追加イベントボタン650など、１以上のボタンを有することができ、開発者が新たなイベントを作成することを可能にする。イベントマネージャーウィンドウ649は、イベントフォームフィールド652を有し、開発者が、名前、日付、場所など、イベントに対する様々な情報を入力及び／又は選択することを可能にし、更にイベントイメージセレクター651を有し、開発者が、イベントに対するイメージを選択、入力及び／又はアップロードすることを可能にする。
【０１３０】
図１６に示されるように、アプリケーション開発環境がモバイル機器上のアプリの画像を含むなど、特定の実施例において、機器画像116は、モバイル機器のディスプレイ内にイベントモジュールの表示の画像を有することができる。例えば、機器画像116を通して表示される接触モジュールは、イベントマネージャーウィンドウ649を通して、開発者により入力されるイベント情報に基づき、各イベントに対する特定の情報を表示するイベントサブウィンドウ653など、様々なサブウィンドウを含む。特定の実施例において、エンドユーザは、選択されたイベントに関連する追加の情報を見るため、イベントサブウィンドウ653をクリック又はタッチするなどにより、特定のイベントを選択することができる。図１６に示されるように、特定の実施例において、イベントサブウィンドウ653は、エンドユーザが、エンドユーザのモバイル機器上で、カレンダー（例えば、既存のカレンダー機能）にイベントに追加するなどにより、イベントに対するリマインダーを追加することを可能にするリマインダーボタン654を有する。これら特定の実施例において、イベントモジュールは、ユーザのモバイル機器及び／又はモバイル機器のオペレーティングシステムを通して利用可能な既存のカレンダー又はリマインダー機能又は機構に依存する。
【０１３１】
図１７は、特定の実施例に従い、モバイル開発及び配布プラットフォームを通して開発されたモバイルアプリ内に含まれるフィードモジュールをカスタマイズするためのプロセスを示すフロー図である。特定の実施例において、開発者は、フェースブック、ツイッター及びＲＳＳフィードを含む、様々な電子フィードを、アプリを通して追加し、フォーマットし、及び／又はそれらへのアクセスをエンドユーザに提供するためなど、アプリ内にフィードモジュールを含めることができる。図１７に示されるように、ステップ655において、開発者は、アプリにフィードモジュールを追加する、又は現在のフィードモジュールを編集するためのオプションを選択することができる。これに応じて、ステップ656において、モバイル開発及び展開プラットフォームは、開発者がフィードモジュールを作成及びカスタマイズすることを可能にするため、フィードマネージャーを活性化することができる。フィードマネージャーは、フィードモジュール内に含まれることになるフィードを選択、特定及び／又はフォーマットすることに関連する様々なオプションを開発者に提示することに関与する。特定の実施例において、開発者は、表示順序、レイアウト、フォーマットなど、フィードモジュールに対する様々なデザインオプションを選択するよう促される。例えば、これら特定の実施例において、開発者は、リストの最上部に提示される最新のアイテムと共に、リストベースのレイアウトで表示されるフィードを持つことを選択できる。
【０１３２】
ステップ657において、開発者は、フィードがアクセスされる１以上のネットワーク位置（例えば、ＵＲＬ）を入力するなどにより、１以上のフォードを追加及び／又は更新するよう促される。代わりに、又は加えて、フィードマネージャーは、開発者がフィードモジュール内に含まれるよう選択することができる、共通にアクセスされ、又は一般的なフィードのリストを表示することができる。特定の実施例において、これらフィードは、アプリがエンドユーザにより立ち上げられたとき、及び／又はアプリの実行中など、フィードモジュール及び／又はアプリによりアクセスされ、エンドユーザに表示される。ステップ658において、フィードモジュールに対する開発者の入力及び選択は、図９に関連して記載される方法と同様の方法において、モバイルアプリに対して保存及び／又は更新される。
【０１３３】
図１８は、特定の実施例に従い、モバイル開発及び配布プラットフォームを通して、開発者によりアクセスされたフィードマネージャーを含むアプリケーション開発環境の表示の一部を示す図である。モバイル開発及び配布プラットフォームがウェブベースサービスを通してアクセスされるなど、これら特定の実施例において、フィードマネージャーは、上記の接触マネージャーの表示と同様の方法で表示される。図１８に示されるように、アプリケーション開発環境は、フィードマネージャーウィンドウ659を有し、開発者がフィードを追加し、フォーマットすることを可能にする。フィードマネージャーウィンドウ659は、図１８に示されるように、開発者がフィードのためのＵＲＬやネットワークアドレスを入力するフィード入力フィールド660を有する。アプリケーション開発環境がモバイル機器上のアプリの画像を含むなど、特定の実施例において、機器画像116は、モバイル機器のディスプレイ内にフィードモジュールの表示の画像を含む。図１８に示されるように、機器画像116を通して表示されるフィードモジュールは、ＲＳＳフィードアイテム661など、様々なフィードアイテムを有し、ヘッドラインやタイムスタンプなど、各フィードアイテムに対する特定の情報を表示する。
【０１３４】
特定の実施例において、フィードモジュールを含むアプリをダウンロードし、立ち上げたエンドユーザは、フィードアイテムと関連する全体のコンテンツを見るため、ＲＳＳフィードアイテム661をクリック又はタッチするなどにより、特定のフィードアイテムを選択することができる。特定の実施例において、エンドユーザは、フィードアイテムのレイアウト、順序及び／又はフォーマットなど、フィードモジュールと関連する様々なその他の設定を変更することができる。
【０１３５】
図１９は、特定の実施例に従い、モバイル開発及び配布プラットフォームを通して開発されたモバイルアプリ内に含まれるフォームモジュールをカスタマイズするためのプロセスを示すフロー図である。特定の実施例において、開発者は、モバイルアプリを通したエンドユーザ入力に対する簡単なフォームを作成及び変更するためなど、彼らのアプリにフォームモジュールを追加することができる。図１９に示されるように、ステップ662において、開発者は、アプリにフォームモジュールを追加する、又は現在のフォームモジュールを編集するためのオプションを選択することができる。これに応じ、ステップ663において、モバイル開発及び展開プラットフォームは、開発者が、アプリに対するフォームモジュールを作成及びカスタマイズすることを可能にするため、フォームマネージャーを活性化できる。
【０１３６】
ステップ664において、開発者は、フォームタイトル、前書き（introductory）テキスト及び／又はフォームのレイアウトなど、フォームに対する様々な特性を選択及び／又は入力するよう促される。そして、ステップ665において、開発者がフォームにフィールドを追加することを希望するかどうかについての決定が行われる。そうである場合、ステップ666において、開発者は、フォームテキスト、フォームフィールド、テキストボックスフィールド、複数選択フィールド、ドロップダウンリストフィールド及びテキスト領域フィールドなど、追加することになるフィールドのタイプを選択するよう促され、そしてフローはステップ667に進む。特定の実施例において、開発者は、カスタムフィールドを作成するためのオプションを与えられる。開発者が、新たなフィールドを追加することを希望しない場合、ステップ668において、開発者が、以前に追加されたフィールドを選択するなどにより、現在のフィールドを編集することを希望するかどうかについての決定が行われる。その場合、ステップ668において、開発者は、フィールドに対するコンテンツを入力及び／又はアップロードし、及び／又はフォーマット、サイズなど、フィールドに関連する様々なオプションを選択するよう促される。フィールドを作成し、カスタマイズした後、フローはステップ665に戻り、開発者は、新たなフィールドを追加し、及び／又は現在のフィールドを編集することができる。開発者がこれ以上のフィールドを追加又は編集することを希望しない場合、ステップ669において、開発者の選択、入力及びアップロードが、図9に関連して記載される方法と同様の方法においてなど、モバイルアプリに対して保存及び／又は更新される。
【０１３７】
図２０は、特定の実施例に従い、モバイル開発及び配布プラットフォームを通して、開発者によりアクセスされたフォームマネージャーを含むアプリケーション開発環境の表示の一部を示す図である。モバイル開発及び配布プラットフォームがウェブベースサービスを通してアクセスされるなど、これら特定の実施例において、フォームマネージャーは、上記の接触マネージャーの表示と同様の方法で表示される。図２０に示されるように、アプリケーション開発環境は、フォームマネージャーウィンドウ670を有し、開発者が入力フォームを作成し、カスタマイズすることを可能にする。フォームマネージャーウィンドウ670は、追加フィールドボタン671など、１以上のボタンを有し、開発者がフォームに新たなフィールドを追加することを可能にする。フォームマネージャーウィンドウ670は、前書き（intro）テキストフィールド673など、様々なフォーム選択フィールドを有することもでき、開発者が、コンテンツを入力し、及び／又はフォームとそのフィールドに対する様々なオプションを選択することを可能にする。特定の実施例において、図２０に示されるように、フォームマネージャーウィンドウ670は、フォーム配信フィールド672を有し、開発者が、フォームの提出が配信されるべきEメールアドレスなどの場所、更に、Eメールにおける件名を規定するなど、その他関連するオプションを入力することを可能にする。
【０１３８】
アプリケーション開発環境がモバイル機器上のアプリの画像を含むなど、特定の実施例において、機器画像116は、モバイル機器のディスプレイ内にフォームモジュールの表示の画像を含む。図２０に示されるように、機器画像116を通して表示されるフォームモジュールは、フォームマネージャーウィンドウ670内で開発者により行われる選択と入力に対応するテキスト領域674など、様々なフォームフィールドを含むことができる。特定の実施例において、開発者は、１以上のフォームフィールドが要求されていることを特定することができる。これら特定の実施例において、フォームモジュールは、要求されるフィールドの隣にアスタリスク又は同様の記号指示を表示することにより、そのような要求されるフィールドを表すことができる。図２０に示されるように、フォームモジュールは、提出ボタン675など、１以上のボタンを有し、完成時にエンドユーザがフォームを提出することを可能にする。特定の実施例において、フォームモジュールは、エンドユーザがフォームを提出することが許可される前に、全ての要求されるフィールドが入力又は選択されたかどうかを検査することができる。図２０Aは、特定の実施例に従い、モバイル開発及び配布プラットフォームを通して開発されたフォームモジュールを含み、モバイル機器上で実行されるアプリの表示の一部を示す図である。
【０１３９】
図２１は、特定の実施例に従い、モバイル開発及び配布プラットフォームを通して開発されたモバイルアプリに含まれるＨＴＭＬモジュールをカスタマイズするためのプロセスを示すフロー図である。特定の実施例において、開発者は、モバイルアプリ内に含まれることになる単一のＨＴＭＬコンテンツ（例えば、１ウェブページ）を作成し、変更するためなど、ＨＴＭＬモジュールを有する。図２１に示されるように、ステップ676において、開発者は、アプリにＨＴＭＬモジュールを追加する、又は現在のＨＴＭＬモジュールを編集するためのオプションを選択できる。これに応じて、ステップ677において、モバイル開発及び展開プラットフォームは、開発者がＨＴＭＬモジュールを作成し、カスタマイズすることを可能にするため、ＨＴＭＬマネージャーを活性化することができる。ＨＴＭＬマネージャーは、ＨＴＭＬページに対する特定の機能、コンテンツ及びオプションを入力、アップロード、作成およびカスタマイズし、及び／又は対応するＨＴＭＬコードを生成、管理することに関連する様々なオプションを開発者に提示することに関与する。ステップ678において、開発者は、ＨＴＭＬページに対する様々なコンテンツとオプションを入力、選択及び／又はアップロードできる。例えば、開発者は、ページ上に現れるためのテキストを入力し、フォーマットし、イメージをアップロードし、様々なレイアウトオプションを選択することができる。ステップ679において、ＨＴＭＬモジュールに対する開発者の入力と選択は、図９に関連して記載される方法と同様の方法で、モバイルアプリに対して保存及び／又は更新される。
【０１４０】
図２２は、特定の実施例に従い、モバイル開発及び配布プラットフォームを通して、開発者によりアクセスされるＨＴＭＬマネージャーを含むアプリケーション開発環境の表示の一部を示す図である。モバイル開発及び配布プラットフォームがウェブベースサービスを通してアクセスされるなど、これら特定の実施例において、ＨＴＭＬマネージャーは、上記の接触マネージャーの表示と同様の方法で表示される。図２２に示されるように、アプリケーション開発環境は、ＨＴＭＬマネージャーウィンドウ680を有し、開発者がＨＴＭＬページを作成し、カスタマイズすることを可能にする。これら特定の実施例において、ＨＴＭＬマネージャーウィンドウは、ＷＹＳＩＷＹＧ（見たままが得られる）エディターの形式とすることができる。
【０１４１】
ＨＴＭＬマネージャーウィンドウ680は、図２２に示されるように、テキストをタイプし、イメージを貼り付けるなどにより、開発者が様々なコンテンツを直接入力することができるコンテンツ入力ボックス682を有する。ＨＴＭＬマネージャーウィンドウ680は、図２２に示されるように、テキストエディターメニュー681を更に有し、フォントタイプ、サイズ、強調、カラー及び整列など、テキストに対する設定をフォーマットし、イメージやその他のメディアコンテンツをアップロードするなど、ＨＴＭＬコンテンツを追加し、カスタマイズするための様々なオプションを含む。例えば、開発者は、テキストが、ＨＴＭＬページ内に含まれる１以上のイメージの周囲に配置されるようにする（wrap around）ためのオプションを選択することができる。これら特定の実施例において、テキストエディターメニュー681は、ユーザが編集のためのテキストを選択したときのみ表示される。特定の実施例において、ＨＴＭＬモジュールは、開発者が、１以上のイメージの位置をアップロード又は特定し、及び／又はＨＴＭＬページ内に含まれることになるイメージを変更することを可能にする編集図面機能を有する。
【０１４２】
アプリケーション開発環境がモバイル機器上のアプリの画像を含むなど、特定の実施例において、機器画像116は、モバイル機器のディスプレイ内にＨＴＭＬモジュールの表示の画像を含む。図２２に示されるように、機器画像116を通して表示されるＨＴＭＬモジュールは、ＨＴＭＬマネージャーウィンドウ680内で、開発者により行われる入力と選択に基づき、現在のＨＴＭＬページを更新し、表示することができる。特定の実施例において、エンドユーザがＨＴＭＬモジュールを含むアプリをダウンロードし、立ち上げたとき、ＨＴＭＬモジュールは、エンドユーザのモバイル機器上のＨＴＭＬコンテンツを描写し（render）、表示することに関与する。
【０１４３】
図２３は、特定の実施例に従い、モバイル開発及び配布プラットフォームを通して開発されたモバイルアプリに対するリンクモジュールをカスタマイズするためのプロセスを示すフロー図である。特定の実施例において、開発者は、モバイルアプリを通して、外部ウェブサイト、ソーシャルネットワークサイト、ファイル及び／又はその他のリソースにリンクし、それらへのアクセスをエンドユーザに提供するためなど、アプリ内にリンクモジュールを含めることができる。図２３に示されるように、ステップ683において、開発者は、アプリにリンクモジュールを追加し、現在のリンクモジュールを編集するためのオプションを選択することができる。これに応じて、ステップ684において、モバイル開発及び展開プラットフォームは、開発者がリンクモジュールを作成し、カスタマイズすることを可能にするため、リンクマネージャーを活性化することができる。リンクマネージャーは、リンクモジュール内に含まれることになるリンクを選択、特定及び／又はフォーマットすることに関連する様々なオプションを開発者に提示することに関与する。特定の実施例において、開発者は、リンクを表示するための順序、レイアウト、様々なフォーマットオプションなど、リンクモジュールに対する様々なデザインオプションを選択するよう促される。例えば、これら特定の実施例において、開発者は、リストベースのレイアウト内で表示される、又はリンクを表すアイコンの１以上のページとして表示されるリンクを持つことを選択できる。
【０１４４】
ステップ685において、開発者が、新たなリンクを追加する、又は現在のリンクを編集することを希望するかどうかについての決定が行われる。その場合、開発者は、リンクされたリソースにアクセスできる１以上のネットワーク位置（例えば、ＵＲＬ）を入力するなどにより、リンクを追加及び／又は更新するよう促される。例えば、開発者は、ウェブページ、ソーシャルネットワークサイト、ＦＤＦドキュメント、テキストドキュメント、プレゼンテーション、イメージファイル、ビデオファイル又はスプレッドシートへのリンクを作成できる。特定の実施例において、開発者は、開発者のコンピューターからファイルをアップロードすることができ、モバイル開発及び展開プラットフォームにより格納され、リンクモジュール内にリンクされる。特定の実施例において、リンクマネージャーは、開発者がリンクモジュール内に含まれるよう選択することができる、ソーシャルネットワークウェブサイトなど、共通にアクセスできる、又は一般的なウェブサイトのリストを表示できる。リンクの位置を特定することに加え、開発者は、名前、記述及び／又はアイコンイメージなど、リンクに対する様々なその他の情報を選択、入力及び／又はアップロードするよう促される。リンクを追加及び／又は更新した後、フローはステップ685に戻る。開発者がリンクモジュールに対するリンクを追加及び／又は編集し終えると、ステップ687において、リンクモジュールに対する開発者の入力及び選択は、図９に関連して記載される方法と同様の方法で、モバイルアプリに対し保存及び／又は更新される。
【０１４５】
図２４及び２５は、特定の実施例に従い、モバイル開発及び配布プラットフォームを通して、開発者によりアクセスされたリンクマネージャーを含むアプリケーション開発環境の表示の一部を示す図である。モバイル開発及び配布プラットフォームがウェブベースサービスを通してアクセスされる、これら特定の実施例において、リンクマネージャーは、上記の接触マネージャーの表示と同様な方法で表示される。図２４に示されるように、アプリケーション開発環境は、リンクマネージャーウィンドウ688を有し、開発者がリンクを追加し、フォーマットすることを可能にする。リンクマネージャーウィンドウ688は、図２４に示されるように、開発者が、ローカルファイル、ＵＲＬ又はネットワークアドレスなど、リンクに対する位置を入力することができるリンク入力フィールド689を有する。これら特定の実施例において、開発者は、リンクが、開発者のコンピューター上にローカルに存在するリソースに対するものであるか、又は外部ウェブサイトやリソースに対するものであるかどうかについて特定するよう促される。
【０１４６】
同様に、図２５に示されるように、アプリケーション開発環境は、リンクマネージャーウィンドウ690を有し、開発者がソーシャルネットワークウェブページへのリンクを追加し、フォーマットすることを可能にする。ソーシャルリンクマネージャーウィンドウ690は、図２４に示されるように、共通に使用されるソーシャルネットワークウェブサイトのリストを提示し、そのようなウェブサイト内にリンクされることになる位置を開発者が入力することを可能にするソーシャルリンク入力フィールド691を有する。これら特定の実施例において、開発者は、リスト内に含まれないその他のウェブサイトへのリンクを入力することができる。特定の実施例において、ソーシャルリンクマネージャーは、各ソーシャルリンクに対する所定のアイコンイメージと関連する。代わりに、又は加えて、開発者は、ソーシャルリンクに対するアイコンイメージを選択、変更及び／又はアップロードすることができる。
【０１４７】
図２４及び２５に示されるように、アプリケーション開発環境がモバイル機器上のアプリの画像を含むなど、特定の実施例において、機器画像116は、モバイル機器のディスプレイ内にリンクモジュールの表示の画像を含む。図２５に示されるように、機器画像116を通して表示されるリンクモジュールは、フェースブックリンクアイコン692など、ソーシャルリンクを表す幾つかのアイコンを有し、エンドユーザがアイコンをクリック又はタッチするなどにより、リンクにアクセスすることを可能にする。
【０１４８】
リンクがリソースファイル（例えば、ＰＤＦドキュメント、テキストドキュメント、プレゼンテーション、イメージファイル、ビデオファイル又はスプレッドシート）へのアクセスを提供するなど、特定の実施例において、リンクモジュールは、リンクデータに対するファイルタイプ、及び／又はリソースを開くための好適なアプリケーション（例えば、ビューワーやエディター）を入力又は選択するよう開発者を促す。これら特定の実施例において、アプリをダウンロードしたエンドユーザがそのようなリソースへのリンクを選択したとき、リンクモジュールは、リンクにより参照されるデータにアクセスし、表示するために、エンドユーザのモバイル機器で利用可能な別個の、及び／又は既存のビューワー又はエディターを立ち上げる。例えば、リンクモジュールは、エンドユーザが、図２３Ａに示されるグラフデータ及び円グラフデータなど、スプレッドシートデータへのリンクを選択することに応じて、スプレッドシートビューワーを立ち上げることができる。その他の例として、リンクモジュールは、エンドユーザが、イメージファイルへのリンクを選択することに応じて、イメージビューワーを立ち上げ、又はユーザが、ウェブページへのリンクを選択することに応じて、ウェブブラウザーを立ち上げる。これら特定の実施例において、リンクモジュール及び／又はモバイルアプリは、リンクされたデータを処理及び／又は表示するため、第三者サービス（例えば、グーグルDocs）にアクセスできる。
【０１４９】
図２６は、特定の実施例に従い、モバイル開発及び配布プラットフォームを通して開発されたモバイルアプリに含まれる写真又はビデオモジュールをカスタマイズするためのプロセスを示すフロー図である。特定の実施例において、開発者は、一連の写真、イメージ、ビデオ及び／又はその他の動画のコンテンツ又はメディアをアプリに追加、アップロード、選択及び／又は変更するなど、彼らのアプリに写真及び／又はビデオモジュールを追加することができる。図２６に示されるように、ステップ693において、開発者は、アプリに写真又はビデオモジュールを追加する、又は現在の写真又はビデオモジュールを編集するためのオプションを選択することができる。これに応じて、ステップ694において、モバイル開発及び展開プラットフォームは、開発者が、アプリに対する写真又はビデオモジュールを作成し、カスタマイズすることを可能にするため、写真又はビデオマネージャーを活性化することができる。ステップ695において、開発者は、前書きテキストなど、写真又はビデオに対する様々な特性やデザインオプション、及び／又は写真又はビデオに対するレイアウトを選択及び／又は入力するよう促される。例えば、開発者は、スライドショー、リストビュー、アイコンビュー又はスクロールビューなど、写真又はビデオを表示するために使用されるレイアウトを選択及び／又は作成することができる。
【０１５０】
ステップ696において、開発者が、新たな写真又はビデオを追加することを希望するかどうかについての決定が行われる。その場合、ステップ697において、開発者は、写真又はビデオファイルの位置を選択及び／又はアップロードするよう促され、フローはステップ698に進む。これら特定の実施例において、開発者は、開発者のコンピューターから写真又はビデオをアップロードし、ＵＲＬを入力し、及び／又は第三者の写真又はビデオ共有サービスの位置を特定することにより、写真又はビデオを追加する。開発者が、新たな写真又はビデオを追加することを希望しない場合、ステップ699において、以前に追加された写真又はビデオを開発者が選択することなどにより、開発者が現在の写真又はビデオを編集することを希望するかどうかについての決定が行われる。その場合、ステップ698において、開発者は、名前、記述、アイコンイメージ、サイズなど、写真又はビデオに関連する様々なオプションを入力及び／又は選択するよう促される。特定の実施例において、開発者は、モバイル開発及び展開プラットフォームを通して提供されるエディターを用いて、写真又はビデオを編集することができる。写真又はビデオを作成し、カスタマイズした後、フローはステップ695に戻り、開発者は、新たな写真又はビデオを追加し、及び／又は現在の写真又はビデオを編集することができる。開発者が、これ以上の写真又はビデオの追加又は編集を希望しない場合、ステップ700において、開発者の選択、入力及びアップロードは、図９に関連して記載される方法と同様の方法においてなど、モバイルアプリに対して保存及び／又は更新される。
【０１５１】
図２７及び２８は、特定の実施例に従い、モバイル開発及び配布プラットフォームを通して、開発者によりアクセスされた写真又はビデオマネージャーを含むアプリケーション開発環境の表示の一部を示す図である。モバイル開発及び配布プラットフォームがウェブベースサービスを通してアクセスされるなど、これら特定の実施例において、写真又はビデオマネージャーは、上記の接触マネージャーの表示と同様な方法で表示される。図２７に示されるように、アプリケーション開発環境は、写真マネージャーウィンドウ701を有し、開発者が写真又はその他イメージを追加し、フォーマットすることを可能にする。写真マネージャーウィンドウ701は、図２４に示されるように、開発者が新たな写真を追加することを選択できる、追加写真ボタン702、及び開発者が写真に対する位置、名前及び／又は記述を入力できる写真セレクターフィールド703を有する。特定の実施例において、図２７に示されるように、写真マネージャーウィンドウ701は、ドロップダウンリストの形式などにおいて、写真レイアウトセレクター704を有し、開発者が写真に対する所定のレイアウトのリストからレイアウトを選択することを可能にする。これら特定の実施例において、開発者は、代わりに、または更に、カスタムレイアウトを作成し、又は写真に対する所定のレイアウトを変更することができる。
【０１５２】
同様に、図２８に示されるように、アプリケーション開発環境は、ビデオマネージャーウィンドウ706を有し、開発者がビデオ又はその他の動画コンテンツを追加し、フォーマットすることを可能にする。ビデオマネージャーウィンドウ706は、追加ビデオボタン707、ビデオセレクターフィールド708及び／又はビデオレイアウトセレクター709を有し、開発者が、上記の写真マネージャーウィンドウに関連して記載される方法と同様の方法で、ビデオに対する様々な情報を選択及び入力することを可能にする。
【０１５３】
図２７及び２８に示されるように、アプリケーション開発環境がモバイル機器上のアプリの画像を含むなど、特定の実施例において、機器画像116は、モバイル機器のディスプレイ内に写真又はビデオモジュールの表示の画像を含む。図２７に示されるように、機器画像116を通して表示される写真モジュールは、各写真に対する特定の情報（例えば、アイコン、記述など）を表示し、及び／又はエンドユーザが写真サブウィンドウをクリック又はタッチするなどにより、全ての写真やイメージを選択し、アクセスすることを可能にする写真サブウィンドウ705など、写真又はイメージを表す幾つかのサブウィンドウを有する。同様に、図２８に示されるように、機器画像116を通して表示されるビデオモジュールは、各ビデオに対する特定の情報（例えば、アイコン、記述など）を表示し、及び／又はエンドユーザがビデオサブウィンドウをクリック又はタッチするなどにより、全てのビデオを選択し、アクセスすることを可能にするビデオサブウィンドウ710など、ビデオ又は動画コンテンツを表す幾つかのサブウィンドウを有する。
【０１５４】
図２７Ａ及び２８Ａは、特定の実施例に従い、モバイル機器のディスプレイ上の写真又はビデオモジュールの表示の一部を示す図である。図２７Ａに示されるように、写真モジュールは、複数の写真及び／又はイメージを表示し、エンドユーザが写真を閲覧し、選択することを可能にするスライドショーとして表示することができる。図２８Ａに示されるように、ビデオモジュールは、複数のビデオ及び／又は動画コンテンツを表示し、各ビデオの１以上のフレームを示すタイル表示の方法で表示され、エンドユーザがビデオを閲覧し、見るための１つのビデオを選択することを可能にする。これら特定の実施例において、写真又はビデオモジュールは、ユーザが、写真又はビデオを閲覧するため、モバイル機器のディスプレイスクリーンを指でスライドすることを可能にすることによるなど、エンドユーザのモバイル機器を通して利用可能な特定の機能性を活用することができる。
【０１５５】
図２９は、特定の実施例に従い、モバイル開発及び配布プラットフォームを通して開発されたモバイルアプリ内に含まれるサウンドボードモジュールをカスタマイズするためのプロセスを示すフロー図である。特定の実施例において、開発者は、一連のサウンド、又はエンドユーザがアプリを通して素早く移動し（navigate）、再生することができるオーディオコンテンツ以外のオーディオコンテンツを開発者が追加、アップロード、選択、及び／又は変更するためなど、彼らのアプリにサウンドボードモジュールを追加することができる。図２９に示されるように、ステップ711において、開発者は、アプリにサウンドボードモジュールを追加する、又は現在のサウンドボードモジュールを編集するためのオプションを選択することができる。これに応じて、ステップ712において、モバイル開発及び展開プラットフォームは、開発者がアプリに対するサウンドボードモジュールを作成し、カスタマイズすることを可能にするため、サウンドボードマネージャーを活性化することができる。ステップ713において、開発者は、サウンドに対する前書きテキスト、背景イメージ及び／又はレイアウトなど、サウンドに対する様々な特性とデザインオプションを選択及び／又は入力するよう促される。例えば、開発者は、リストビュー、アイコンビュー又はスクロールビューなど、サウンドを表示ために使用されるレイアウトを選択又は作成し、及び／又はサウンドの表示順序を選択又は変更することができる。
【０１５６】
ステップ714において、開発者が、新たなサウンドを追加することを希望するかどうかについての決定が行われる。その場合、ステップ715において、開発者は、オーディオファイルをアップロードし、及び／又はオーディオファイルの位置を選択又は入力するよう促され、フローはステップ716に進む。これら特定の実施例において、開発者は、開発者のコンピューターからファイルをアップロードし、あるいはＵＲＬ又はその他ネットワーク位置を入力することにより、サウンド又はオーディオコンテンツを追加することができる。開発者が、新たなサウンドを追加することを希望しない場合、ステップ717において、以前に追加されたサウンドを開発者が選択することなどにより、開発者が現在のサウンドを編集することを希望するかどうかについての決定が行われる。その場合、ステップ716において、開発者は、名前、記述、アイコンイメージなど、サウンドに関連する様々なオプションを入力及び／又は選択するよう促される。サウンドを作成し、カスタマイズした後、フローはステップ714に戻り、開発者は、新たなサウンドを追加し、及び／又は現在のサウンドを編集することができる。開発者が、これ以上のサウンドの追加又は編集を希望しない場合、ステップ718において、開発者の選択、入力及びアップロードは、図９に関連して記載される方法と同様の方法などで、モバイルアプリに対して保存及び／又は更新される。
【０１５７】
図３０は、特定の実施例に従い、モバイル開発及び配布プラットフォームを通して、開発者によりアクセスされたサウンドボードマネージャーを含むアプリケーション開発環境の表示の一部を示す図である。モバイル開発及び配布プラットフォームがウェブベースサービスを通してアクセスされる、これら特定の実施例において、サウンドボードマネージャーは、上記の接触マネージャーの表示と同様な方法で表示される。図３０に示されるように、アプリケーション開発環境は、サウンドボードマネージャーウィンドウ719を有し、開発者がサウンドボードモジュールに対してサウンドを追加し、フォーマットすることを可能にする。サウンドボードマネージャーウィンドウ719は、図３０に示されるように、開発者が新たなサウンドを追加することを選択できる追加音楽ボタン720、及び開発者がサウンドボードモジュールに対して背景を選択及び／又はアップロードすることを可能にするサウンドボード背景セレクター721を有する。特定の実施例において、サウンドボードマネージャーウィンドウ719は、様々なその他のサウンド入力フィールドを有し、開発者が、サウンドに対するオーディオファイルを選択及び／又はアップロードし、名前、アイコン、イメージ、記述など、対応する情報を入力することを可能にする。
【０１５８】
図３０に示されるように、アプリケーション開発環境がモバイル機器上のアプリの画像を含むなど、特定の実施例において、機器画像116は、モバイル機器のディスプレイ内にサウンドボードモジュールの表示の画像を含む。図３０に示されるように、機器画像116を通して表示されるサウンドボードモジュールは、各サウンドに対する特定の情報（例えば、イメージ、名前、記述など）を表示し、及び／又はエンドユーザがサウンドアイコンをクリック又はタッチするなどにより、サウンドを選択し、再生することを可能にするサウンドアイコン722など、サウンドを表す幾つかのアイコンを有する。
【０１５９】
図３０Ａは、特定の実施例に従い、モバイル機器のディスプレイ上のサウンドボードモジュールの表示の一部を示す図である。図３０Ａに示されるように、サウンドボードモジュールは、モバイルアプリが実行されるとき、モバイル機器のディスプレイの一部又は全体で、複数のサウンドを表示することができる。特定の実施例において、図３０Ａに示されるように、サウンドは、タイル表示の方法で表示され、及び／又はモバイル機器のディスプレイ上に提示される幾つかのサウンドに基づいて、自動ページ割当てされる。
【０１６０】
図３１は、特定の実施例に従い、モバイル開発及び配布プラットフォームを通して開発されたモバイルアプリ内に含まれるステッカーモジュールをカスタマイズするためのプロセスを示すフロー図である。特定の実施例において、開発者は、一連のステッカー又はその他イメージ、及びエンドユーザがモバイルアプリを通して特定の写真やイメージ（例えば、背景）を取り付けることができるコンテンツを作成、アップロード、選択、及び／又は変更するためなど、彼らのアプリにステッカーモジュールを追加することができる。図３１に示されるように、ステップ725において、開発者は、アプリにステッカーモジュールを追加する、又は現在のステッカーモジュールを編集するためのオプションを選択することができる。これに応じて、ステップ726において、モバイル開発及び展開プラットフォームは、開発者がアプリに対するステッカーモジュールを作成し、カスタマイズすることを可能にするため、ステッカーマネージャーを活性化することができる。特定の実施例において、ステッカーマネージャーは、ステッカーやそのレイアウト、順序を入力、アップロード、選択及び／又はカスタマイズすることに関連する様々なオプションを開発者に提示することに関与する。例えば、開発者は、リストビュー、アイコンビュー又はスクロールビューなど、背景イメージ及び／又はステッカーを表示するために使用されるレイアウトを選択又は作成し、及び／又はそれらの表示順序を選択又は変更することができる。
【０１６１】
ステップ727において、開発者が、ステッカーモジュールに背景イメージを追加する、又は現在の背景イメージを編集することを希望するかどうかについての決定が行われる。その場合、ステップ728において、開発者は、イメージファイルをアップロードする（例えば、開発者のコンピューターから）、イメージファイルに対するＵＲＬやその他ネットワーク位置を入力する、及び／又はステッカーマネージャーを通して提示される所定のイメージファイル選択するよう促される。特定の実施例において、開発者は、名前、記述やアイコンイメージなど、背景に対する様々な特性とオプションを選択及び／又は入力するよう促される。そして、フローはステップ727に戻る。開発者が、背景イメージを追加又は編集することを希望しない場合、ステップ729において、開発者が、ステッカーモジュールにステッカーを追加する、又は現在のステッカーを編集することを希望するかどうかについての決定が行われる。その場合、ステップ730において、開発者は、イメージファイルをアップロードする（例えば、開発者のコンピューターから）、イメージファイルに対するＵＲＬやその他ネットワーク位置を入力する、及び／又はステッカーマネージャーを通して提示される所定のイメージファイル選択するよう促される。特定の実施例において、開発者は、名前、記述やアイコンイメージなど、ステッカーに対する様々な特性とオプションを選択及び／又は入力するよう促される。そして、フローはステップ727に戻る。開発者が、背景とステッカーを追加及び／又は編集し終えた後、ステップ731において、開発者の選択、入力及びアップロードは、図９に関連して記載される方法と同様の方法などで、モバイルアプリに対して保存及び／又は更新される。
【０１６２】
例えば、特定の実施例において、ステッカーモジュールは、「PicWith」又は同様の機能性を有し、モバイルアプリ作成プロセス中に開発者によりアップロード又は選択されるイメージ、及び／又はエンドユーザにより選択されるイメージ（例えば、Ｅメールやテキストメッセージを通してダウンロード、受信され、又はエンドユーザのモバイル機器に含まれるカメラで撮影される）を利用することができる。これら特定の実施例において、開発者によりアップロードされ、提供されるイメージの１つは、エンドユーザにより選ばれる背景イメージと共に使用するための前景イメージとしてエンドユーザに選択される。ステッカーモジュールは、エンドユーザが、単一のイメージの外観を作成するためなど、前景と背景イメージを結合又は組み合わせることを可能にする。特定の実施例において、エンドユーザは、結合されたイメージを保存し、その他個人に結合されたイメージを送信し（例えば、Ｅメールやテキストメッセージを介して）、及び／又はソーシャルネットワークサイトなどのウェブサイトに結合されたイメージをアップロードし、投稿する（post）ことができる。
【０１６３】
図３２は、特定の実施例に従い、モバイル開発及び配布プラットフォームを通して、開発者によりアクセスされたステッカーマネージャーを含むアプリケーション開発環境の表示の一部を示す図である。モバイル開発及び配布プラットフォームがウェブベースサービスを通してアクセスされるなど、これら特定の実施例において、ステッカーマネージャーは、上記の接触マネージャーの表示と同様な方法で表示される。図３２に示されるように、アプリケーション開発環境は、ステッカーマネージャーウィンドウ732を有し、開発者がステッカーモジュールに対して背景とステッカーを追加、変更及びカスタマイズすることを可能にする。ステッカーマネージャーウィンドウ732は、図３２に示されるように、背景ライブラリボタン733やステッカーライブラリボタン734などの１以上のボタンを有し、開発者が、現在の背景を見ることを選択し、及び／又はステッカーモジュールに対して背景又はステッカーを選択及び／又はアップロードすることができる。開発者が背景ライブラリボタン733及び／又はステッカーライブラリボタン734を選択することに応答してなど、特定の実施例において、ステッカーマネージャーウィンドウ732は、選択のための１以上の所定の背景又はステッカーを開発者に提示できる。図３２に示されるように、ステッカーマネージャーウィンドウ732は、開発者がイメージファイルに対するネットワーク位置をアップロード及び／又は入力することを可能にする追加ステッカーボタン735を有する。
【０１６４】
アプリケーション開発環境がモバイル機器上のアプリの画像を含むなど、特定の実施例において、機器画像116は、モバイル機器のディスプレイ内にステッカーモジュールの表示の画像を含む。図３２に示されるように、機器画像116を通して表示されるステッカーモジュールは、利用可能なステッカーを表すステッカーアイコン736など、幾つかのアイコン、及びエンドユーザがその上にステッカーを含めることができる背景イメージ737など、１以上の背景イメージを有する。特定の実施例において、ステッカーモジュールは、エンドユーザが、モバイル機器上のタッチスクリーンを用いて、背景イメージ上にステッカーをドラッグ及びドロップすることを可能にするなど、エンドユーザのモバイル機器に提示される機能を活用することができる。同様に、特定の実施例において、エンドユーザは、ピンチやズーム動作を通してステッカーを縮小、拡大させ、及び／又は回転動作を用いてステッカーを回転させるなど、ステッカーを編集し、操作することができる。特定の実施例において、エンドユーザは、ステッカーモジュールでの使用のため、そのモバイル機器上に格納される背景及びイメージを選択することができる。
【０１６５】
特定の実施例によれば、ステッカーモジュールを通して背景イメージを変更した後、エンドユーザは、ステッカーを含む変更されたイメージを格納し（例えば、彼らのモバイル機器上、及び／又はリモートネットワーク位置）、及び／又はソーシャルメディア・ウェブサイトを通して、あるいはそのモバイル機器で利用可能なＥメール機能を介してなど、これらの変更されたイメージを共有することができる。図３２Ａは、特定の実施例に従い、モバイル機器のディスプレイ上のステッカーモジュールの表示の一部を示す図である。図３２Ａに示されるように、ステッカーモジュールは、モバイル機器のディスプレイの一部又は全体で、エンドユーザにより追加される１以上のステッカーを持つ背景イメージを表示できる。
【０１６６】
図３３は、特定の実施例に従い、モバイル開発及び配布プラットフォームを通して開発されたモバイルアプリに対するメニュー又はリストモジュールをカスタマイズするためのプロセスを示すフロー図である。特定の実施例において、開発者は、モバイルアプリに含まれることになるアイテムのメニュー又はリスト（例えば、レストランメニューや従業者リスト）を作成、アップロード、選択及び／又は変更するためなど、アプリ内にメニュー又はリストモジュールを含めることができる。図３３に示されるように、ステップ740において、開発者は、アプリにメニュー又はリストモジュールを追加する、又は現在のメニュー又はリストモジュールを編集するためのオプションを選択することができる。これに応じて、ステップ741において、モバイル開発及び展開プラットフォームは、開発者がメニュー又はリストモジュールを作成し、カスタマイズすることを可能にするため、メニュー又はリストマネージャーを活性化することができる。メニュー又はリストマネージャーは、メニュー又はリストモジュール内に含まれることになるメニューアイテム及び／又はリストアイテムを選択、特定及び／又はフォーマットすることに関連する様々なオプションを開発者に提示することに関与する。ステップ742において、開発者は、アイテムを表示するための順序、レイアウト、1以上のカテゴリー、様々なフォーマットオプションなど、メニュー又はリストモジュールに対する様々なデザインオプションを選択するよう促される。例えば、これら特定の実施例において、開発者は、リストベースのレイアウト内で表示され、又はアイテムのカテゴリーを含む１以上のページとして表示されるアイテムを持つことを選択できる。
【０１６７】
ステップ743において、開発者が、新たなメニュー又はリストアイテムを追加する、又は現在のメニュー又はリストアイテムを編集することを希望するかどうかについての決定が行われる。その場合、開発者は、名前、値段、記述及び／又は推奨する優待アイテムなど、アイテムに対する様々な情報を選択、変更及び／又は入力するよう促される。ステップ744において、開発者は、開発者のコンピューターからファイルをアップロードし、所定のイメージを選択し、又はイメージに対するネットワーク位置を入力するなどにより、アイテムに対するアイコンイメージを追加又は変更するよう促される。そして、フローはステップ743に戻る。開発者がメニュー又はリストモジュールに対するアイテムを追加及び／又は編集し終えると、ステップ745において、メニュー又はリストモジュールに対する開発者の入力及び選択は、図９に関連して記載される方法と同様の方法で、モバイルアプリに対し保存及び／又は更新される。
【０１６８】
図３４は、特定の実施例に従い、モバイル開発及び配布プラットフォームを通して、開発者によりアクセスされたリストマネージャーを含むアプリケーション開発環境の表示の一部を示す図である。モバイル開発及び配布プラットフォームがウェブベースサービスを通してアクセスされるなど、これら特定の実施例において、リストマネージャーは、上記の接触マネージャーの表示と同様な方法で表示される。図３４に示されるように、アプリケーション開発環境は、リストマネージャーウィンドウ747を有し、開発者がリストアイテムを追加、変更及びカスタマイズし、そのレイアウトをカスタマイズすることを可能にする。リストマネージャーウィンドウ747は、開発者が新たなアイテムを追加することを選択できる、図３４に示される追加アイテムボタン748など、１以上のボタンを有する。開発者が追加アイテムボタン748を選択することに応じてなど、特定の実施例において、リストマネージャーウィンドウ747は、図３４に示されるアイテムイメージボタン749やアイテム入力フィールド750など、１以上のボタン及び／又は入力フィールドを提示し、開発者が、名前、記述及びアイコンイメージを含むアイテムに対する様々な情報を選択、アップロード及び／又は入力することを可能にする。
【０１６９】
アプリケーション開発環境がモバイル機器上のアプリの画像を含むなど、特定の実施例において、機器画像116は、モバイル機器のディスプレイ内にメニュー又はリストモジュールの表示の画像を含む。図３４に示されるように、機器画像116を通して表示されるリストモジュールは、リストアイテムサブウィンドウ751など、幾つかのサブウィンドウを有し、エンドユーザにリストアイテムに関連する様々な情報を提示し、エンドユーザが、追加の情報を見る、又はリストアイテムを購入するためなど、リストアイテムを閲覧し、及び／又は選択することを可能にする。
【０１７０】
特定の実施例によれば、開発者は、レストラン又はバーメニュー、製品及びサービスのリスト、従業員のリスト、会社又は店舗場所のリストなど、様々なメニュー又はリストを作成するため、メニュー又はリストモジュールを使用することができる。図３４Ａは、特定の実施例に従い、モバイル開発及び配布プラットフォームを通して開発された、メニューモジュールを有するモバイルアプリの表示の一部を示す図である。図３４Ａに示されるように、メニューモジュールは、様々なカテゴリーにグループ化される幾つかのレストランメニューアイテムを含む。
【０１７１】
これら特定の実施例において、開発者は、エンドユーザが、アプリを通して１以上のメニューアイテムを選択及び／又は購入する（例えば、アプリに関連するレストランに注文を出すことにより）ことを可能にするなど、メニュー又はリストモジュール内に、ｅコマース又は同様のサブモジュールを含めることができる。図３４Ｂと３４Ｃは、特定の実施例に従い、モバイル開発及び配布プラットフォームを通して、開発者によりアクセスされたｅコマースマネージャーを含むアプリケーション開発環境の表示の一部を示す図である。ｅコマースマネージャーは、開発者が、ショッピングカートベースの注文システムを通してなど、そのモバイルアプリ内に含まれるメニュー又はリストモジュール（又は、その他モジュール）にｅコマース及びアプリ内課金（in-app purchase）を追加することを可能にする。例えば、モバイルアプリがメニューモジュールを含む場合、開発者は、エンドユーザによる購入に利用可能な特定のメニューアイテムを選択し、そのようなアイテムと共に使用するための注文フォームを作成し、カスタマイズできる。図３４Ｂに示されるように、アプリケーション開発環境は、注文配送方法ウィンドウ752を有し、開発者が、配送、ピックアップ、テイクアウト、店内食事など、アプリを通して購入されたアイテムに対する配送の様々な方法を選択することを可能にする。同様に、図３４Ｃに示されるように、アプリケーション開発環境は、注文配送確認方法ウィンドウ753を有し、開発者が、ＥメールやＱＲコードなど、アプリを通して開発されたアイテムに対する確認の様々な方法を選択することを可能にする。
【０１７２】
アプリケーション開発環境がモバイル機器上のアプリの画像を含むなど、特定の実施例において、機器画像116は、モバイル機器のディスプレイ内にｅコマースサブモジュールの表示の画像を含む。図３４Ｂに示されるように、機器画像116を通して表示されるｅコマースサブモジュールは、注文配送方法ウィンドウ752内に開発者の選択と入力に基づく入力フォームを有し、エンドユーザが、注文配送方法を選択し、及び／又は様々な注文関連の情報を入力することを可能にする。図３４Ｃに示されるように、機器画像116を通して表示されるｅコマースサブモジュールは、注文配送確認方法ウィンドウ753内に開発者の選択に基づく注文確認方法（例えば、ＱＲコード）の表示を含むことができる。
【０１７３】
これら特定の実施例において、エンドユーザが、ｅコマースサブモジュールを有するモバイルアプリを通して、注文及び購入のための様々なアイテムを選択し、注文を完了するための希望を示した後、ｅコマースサブモジュールは、エンドユーザにチェックアウトフォームを表示する。チェックアウトフォームは、注文におけるエンドユーザの名前、Ｅメール、アドレス、時間など、エンドユーザが注文に関連する特定の情報を入力することを可能にするフォームフィールドなど、様々なフィールドを含むことができる。モバイルアプリがレストランに関連するなど、特定の実施例において、注文フォームは、エンドユーザが注文方法（例えば、配送、テイクアウト、店内食事）を選択することを可能にするメニューを有する。これら特定の実施例において、モバイルアプリは、注文方法を選択するようエンドユーザを促すための、ポップアップウィンドウなど、別個のウィンドウを提示することができる。これら特定の実施例において、エンドユーザが注文情報を入力及び／又は提出した後、ｅコマースサブモジュールは、Ｅメール又はＱＲコード確認など、注文の処理と確認に対する方法を選択するようエンドユーザを促すことができる。これら特定の実施例において、モバイルアプリは、注文処理ポップアップウィンドウなど、別個のウィンドウ内で、この選択をエンドユーザに表示することができる。エンドユーザがＱＲコード確認を受信することを選択する場合、ＱＲコードは、モバイル機器のディスプレイ上で、エンドユーザに表示される。
【０１７４】
図３５は、特定の実施例に従い、モバイル開発及び配布プラットフォームを通して開発されたモバイルアプリに含まれるクーポンモジュールをカスタマイズするためのプロセスを示すフロー図である。特定の実施例において、開発者は、モバイルアプリを通して、クーポンを作成、カスタマイズ及び変更し、エンドユーザに見返りなどを与えるためなど、クーポンモジュールを含めることができる。図３５に示されるように、ステップ754において、開発者は、アプリにクーポンモジュールを追加する、又は現在のクーポンモジュールを編集するためのオプションを選択することができる。これに応じて、ステップ755において、モバイル開発及び展開プラットフォームは、開発者がクーポンモジュールを作成し、カスタマイズすることを可能にするため、クーポンマネージャーを活性化することができる。クーポンマネージャーは、クーポンに対する特定の機構、コンテンツ及びオプションを入力、アップロード、作成及びカスタマイズし、モバイルアプリをダウンロードしたエンドユーザにクーポンを配送することに関連する様々なオプションを開発者に提示することに関与する。ステップ756において、開発者は新たなクーポンを追加する、又は現在のクーポンを編集することを希望するかどうかについての決定が行われる。そうでない場合、フローはステップ760に進む。あるいは、ステップ757において、開発者は、タイトル、記述、コード、プロモーション名など、クーポンに対する様々な特性、コンテンツ及びデザインオプションを入力、選択及び／又はアップロードするよう促される。特定の実施例において、開発者は、クーポンがモバイル機器のディスプレイ上にどのように、そしてどこに表示されるかなど、様々なレイアウト又は表示オプションを選択することを可能にする。ステップ758において、開発者は、クーポンが適用されるアイテム（例えば、製品やサービス）を選択及び／又は入力するよう促される。ステップ759において、開発者は、クーポンを受け取るエンドユーザ、日付、時間、頻度、配送方法など、様々な配送オプションを選択及び／又は入力するよう促される。そして、フローはステップ756に戻り、開発者がクーポンを追加又は編集することを続行することを可能にする。開発者がクーポンモジュールを作成及び／又は変更することを完了すると、ステップ760において、クーポンモジュールに対する開発者の入力と選択は、図９に関連して記載される方法と同様の方法で、モバイルアプリに対して保存又は更新される。
【０１７５】
図３６は、特定の実施例に従い、モバイル開発及び配布プラットフォームを通して、開発者によりアクセスされたクーポンマネージャーを含むアプリケーション開発環境の表示の一部を示す図である。モバイル開発及び配布プラットフォームがウェブベースサービスを通してアクセスされるなど、これら特定の実施例において、クーポンマネージャーは、上記の接触マネージャーの表示と同様な方法で表示される。図３６に示されるように、アプリケーション開発環境は、クーポンマネージャーウィンドウ761を有し、開発者がクーポンを追加、変更、カスタマイズすることを可能にする。クーポンマネージャーウィンドウ761は、開発者が新たなクーポンを追加することを選択できる、図３６に示される追加クーポンボタン762など１以上のボタンを有する。開発者が追加クーポンボタン762を選択することに応答してなど、特定の実施例において、クーポンマネージャーウィンドウ761は、図３６に示されるクーポン入力フィールド763など、１以上の入力フィールドを提示し、開発者が、クーポンに対する様々な情報を選択、アップロード及び／又は入力することを可能にする。
【０１７６】
アプリケーション開発環境がモバイル機器上のアプリの画像を含むなど、特定の実施例において、機器画像116は、モバイル機器のディスプレイ内にクーポンモジュールの表示の画像を含む。機器画像116を通して表示されるクーポンモジュールは、幾つかのクーポンを有し、エンドユーザが、追加情報を見る、又は適用可能なアイテムを購入するためにクーポンを使用するためなど、クーポンを閲覧及び／又は選択することを可能にする。図３６に示されるように、クーポンモジュールは、クーポンに関連する、ＱＲクーポンコード764など、ＱＲコード又は同様のコードを表示することができ、エンドユーザは、購入することに関連して、物理的な店舗でクーポンを提示できる。
【０１７７】
図３７は、特定の実施例に従い、モバイル開発及び配布プラットフォームを通して開発されたモバイルアプリに含まれるディスコグラフィーモジュールをカスタマイズするためのプロセスを示すフロー図である。特定の実施例において、開発者は、アーチストやアーチストの音楽又は芸術作品に関連した情報をエンドユーザに提供し、及び／又はエンドユーザが、モバイルアプリを通して、アーチストの音楽やその他の関連するアイテムを購入することを可能にするためなど、ディスコグラフィーモジュールを含めることができる。図３７に示されるように、ステップ770において、開発者は、アプリにディスコグラフィーモジュールを追加する、又は現在のディスコグラフィーモジュールを編集するためのオプションを選択することができる。これに応じて、ステップ771において、モバイル開発及び展開プラットフォームは、開発者がディスコグラフィーモジュールを作成し、カスタマイズすることを可能にするため、ディスコグラフィーマネージャーを活性化することができる。ディスコグラフィーマネージャーは、アーチストやバンドに関連する特定の特性、コンテンツ及びオプションを入力、アップロード、作成及びカスタマイズすることに関連する様々なオプションを開発者に提示することに関与する。ステップ772において、開発者は、名前、記述、略歴、イメージや同様な情報など、アーチストに対する様々な情報を入力、選択及び／又はアップロードし、及び／又はアーチストのアルバムや歌を表示するためのレイアウトや順序など、様々なデザインオプションを選択することができる。
【０１７８】
ステップ773において、開発者が、新たなアルバムを追加する、又は現在のアルバムを編集することを希望するかどうかについての決定が行われる。その場合、ステップ774において、開発者は、名前、イメージ、リリース日及び／又は記述など、アルバムに関する様々な情報を選択及び／又は入力するよう促され、フローはステップ773に戻る。そうでなければ、ステップ775において、開発者が、新たな歌を追加する、又は現在の歌を編集することを希望するかどうかについての決定が行われる。その場合、ステップ776において、開発者は、名前、記述、歌詞及び歌が含まれるアルバムなど、歌に関する様々な情報を選択及び／又は入力するよう促される。特定の実施例において、開発者は、歌に対するオーディオファイルをアップロードする、及び／又は歌がアクセスされるネットワーク位置を入力するよう促される。そして、フローはステップ773に戻る。開発者がアルバム及び歌を追加及び／又は編集し終えると、ステップ777において、ディスコグラフィーモジュールに対する開発者の入力及び選択は、図９に関連して記載される方法と同様の方法で、モバイルアプリに対し保存及び／又は更新される。
【０１７９】
図３８及び３９は、特定の実施例に従い、モバイル開発及び配布プラットフォームを通して、開発者によりアクセスされたディスコグラフィーマネージャーを含むアプリケーション開発環境の表示の一部を示す図である。モバイル開発及び配布プラットフォームがウェブベースサービスを通してアクセスされるなど、これら特定の実施例において、ディスコグラフィーマネージャーは、上記の接触マネージャーの表示と同様の方法で表示される。図３８に示されるように、アプリケーション開発環境は、ディスコグラフィーマネージャーウィンドウ778を有し、開発者が、アーチストやその作品に関連する様々な情報を追加、カスタマイズ及びフォーマットすることを可能にする。ディスコグラフィーマネージャーウィンドウ778は、図３８に示されるように、アーチストプロフィールフィールド779を有し、その中で、開発者は、名前、イメージ及び略歴など、アーチストについての様々な情報を入力及び／又は選択することができ、また、開発者が新たなアルバムを追加することを選択できる、追加アルバムボタン780など、１以上のボタンを有する。開発者が追加アルバムボタン780を選択するなど、特定の実施例において、ディスコグラフィーマネージャーウィンドウ778は、図３９に示されるように、開発者が、名前、イメージ及び記述など、アルバムに関連する様々な情報を入力及び／又は選択することを可能にするアルバム入力フィールド781、及び開発者が歌を追加することを可能にする追加トラックボタン782を有する。同様に、開発者が追加トラックボタン782を選択するなど、これら特定の実施例において、ディスコグラフィーマネージャーウィンドウ778は、開発者が、名前、記述及び歌詞など、歌に関連する様々な情報を入力及び／又は選択し、歌に対するオーディオファイルをアップロード又は選択することを可能にするトラック入力フィールド783を有する。
【０１８０】
図３８及び３９に示されるように、アプリケーション開発環境がモバイル機器上のアプリの画像を含むなど、特定の実施例において、機器画像116は、モバイル機器のディスプレイ内にディスコグラフィーモジュールの表示の画像を有することができる。図３８に示されるように、機器画像116を通して表示されるディスコグラフィーモジュールは、アーチストについての情報が表示されるアーチストサブウィンドウ784、更に各アルバムに対する特定の情報（例えば、アイコン、名前など）を表示し、及び／又はエンドユーザがアルバムサブウィンドウをクリック又はタッチするなどにより、アルバムについての追加情報を選択及びアクセスすることを可能にするアルバムサブウィンドウ785など、アーチストのアルバムを表す幾つかのサブウィンドウを有する。図３９に示されるように、開発者が特定のアルバムを選択することに応じてなど、特定の実施例において、機器画像116を通して表示されるディスコグラフィーモジュールは、アルバムについての情報が表示されるアルバムウィンドウ、更に各歌に対する特定の情報（例えば、アイコン、記述など）を表示する、アルバム内に含まれる歌を表す幾つかのサブウィンドウを有する。特定の実施例において、歌サブウィンドウは、図３９に示されるように、再生ボタン787及び／又は購入ボタン786など、１以上のボタンを有し、エンドユーザが、エンドユーザのモバイル機器上で利用可能な既存のオーディオ出力機能を用いて歌を再生し、及び／又はエンドユーザが、モバイル機器上の既存のブラウザ内で、歌を購入するために利用できるウェブサイトへのリンクを開くなどにより、歌を購入することを可能にする。その他の特定の実施例において、上記のｅコマースサブモジュールに関連して記載される方法と同様の方法においてなど、開発者は、ディスコグラフィーモジュール自体内に購入機構を含めることができる。
【０１８１】
特定の実施例において、開発者は、開発者がモバイルアプリ内に含めるためのクイズ又は雑学ゲームを作成し、変更することを可能にするクイズモジュールを有することができる。クイズモジュールはクイズマネージャーを有し、モバイルアプリによりエンドユーザに表示されることになる、特定のクイズアイテム、及びこのコンテンツ、デザインとレイアウトを、開発者が入力、選択、結合及びカスタマイズすることを可能にする。例えば、開発者は、複数選択、ショートアンサーなど、様々なフォーマットにおいて、１以上の質問を有することができる。図４０は、特定の実施例に従い、モバイル開発及び配布プラットフォームを通して開発された、クイズモジュールを有するモバイルアプリを表示するモバイル機器の一部を示す図である。モバイル機器400上のモバイルアプリを立ち上げ、クイズモジュールにアクセスした後、クイズモジュールは、エンドユーザのモバイル機器のディスプレイ内において、エンドユーザへのクイズを表示する。図４０に示されるように、特定の実施例において、クイズモジュールは、クイズ質問790及び複数選択回答791を含む複数選択クイズなど、クイズアイテムをエンドユーザに表示することができる。これら特定の実施例において、エンドユーザは、一度に１つの質問を見ることができ、各質問に順番に回答し、質問毎を基本として、クイズを進めることができる。その他、特定の実施例において、ユーザは、特定の質問に移動し、任意の希望する順序で質問に答えることができる。
【０１８２】
特定の実施例において、エンドユーザがクイズを完了した後、アプリは、エンドユーザが幾つの質問に正しく回答したかを決定するため、回答と回答集を比較するなどにより、エンドユーザの回答を評価又は格付けすることができる。図４０に示されるように、特定の実施例において、クイズモジュールは、結果ページを表示し、パーセントスコア及び／又は正解質問数を表示するなどにより、クイズの結果を提示するクイズ結果テキスト792を含む。これら特定の実施例において、結果ページは、エンドユーザがクイズを繰り返すことを可能にする再プレイボタン793を含む。特定の実施例によれば、クイズモジュールは、エンドユーザが、彼／彼女の結果を、クイズを行ったその他のエンドユーザの結果と比較し、それらの結果を閲覧することを可能にする。これら特定の実施例において、その他のエンドユーザの結果は、スコアボード（leader board）又は同様の表示の形式で提示される。エンドユーザは、更に、あるいは代わりに、エンドユーザの友人の結果など、その他エンドユーザの結果のサブセットを見ることができる。
【０１８３】
特定の実施例において、開発者は、開発者がモバイルアプリ内に含めるため、「話し友達」を作成、カスタマイズ及び変更することを可能にする話し友達モジュールを有することができる。特定の実施例において、話し友達モジュールは、モバイル機器を通してエンドユーザから音声入力を受信し、特定の声で音声を出力する。話し友達モジュールは、エンドユーザが、様々なボタン、動作及び／又はその他入力を通して、モジュールとのやり取りを行うことを可能にする。特定の実施例において、話し友達モジュールは、開発者が、話し友達に対する特定の機構、オプション及びデザインを入力、選択、結合及びカスタマイズすることを可能にする友達マネージャーを有する。図４１は、特定の実施例に従い、モバイル開発及び配布プラットフォームを通して、開発者によりアクセスされる話し友達マネージャーを含むアプリケーション開発環境の表示の一部を示す図である。モバイル開発及び配布プラットフォームがウェブベースサービスを通してアクセスされるなど、これら特定の実施例において、話し友達マネージャーは、上記の接触マネージャーの表示と同様の方法で表示される。図４１に示されるように、話し友達マネージャーは、話し友達デザインウィンドウ795内の話し友達モジュールを作成、編集及び／又はカスタマイズすることに関連する様々なオプションを開発者に提示する。話し友達デザインウィンドウ795は、開発者が、キャラクターの頭部、本体、腕のタイプなど、話し友達の視覚的及びその他のキャラクターを選択することを可能にする、話し友達キャラクターセレクター796、及び開発者が話し友達の名前を入力することを可能にする、話し友達名前フィールド797を有する。これら特定の実施例において、話し友達デザインウィンドウ795は、開発者が様々な選択を行うとき、話し友達描写ウィンドウ798など、リアルタイムでキャラクターの現在の描写を更新し、表示する。
【０１８４】
特定の実施例において、開発者は、記述、声タイプ（例えば、ピッチ、スピード、エコーなど）など、話し友達に関連する様々なその他の情報、更に、特定のエンドユーザ入力に基づき、話し友達により行われる動作や提供される応答を選択及び入力することができる。例えば、開発者は、エンドユーザがモバイル機器のスクリーンをタッチ又はスワイプすること、モバイル機器を振ること、及び／又はモバイル機器に話すことへの応答として出力される様々なオーディオ応答を選択及び入力することができる。特定の実施例において、エンドユーザは、ビデオをソーシャルメディア・ウェブサイトにアップロードすることなどにより、話し友達とのエンドユーザの相互交流のビデオ又はオーディオ録音を記録及び／又は共有することができる。図４２は、特定の実施例に従い、モバイル開発及び配布プラットフォームを通して開発された、話し友達モジュールを有するモバイルアプリの表示の一部を示す図である。図４２に示されるように、話し友達モジュールは、話し友達表示ウィンドウ799内で、１以上の話し友達をエンドユーザに表示することができる。特定の実施例において、話し友達表示ウィンドウ799は、エンドユーザが、話し友達とやり取りするため、及び／又は話し友達とのエンドユーザのやり取りを記録するために選択できる様々なボタンを含めることができる。
【０１８５】
特定の実施例において、開発者は、モバイル開発及び展開プラットフォームを通して作成及び／又は変更されたモバイルアプリ内に「友達との共有」又は同様の機能を含めるためのオプションを与えられる。これら特定の実施例において、友達との共有機能は、エンドユーザが、１以上のモバイルアプリ及び／又はモジュール、又はその他のアプリケーション構成部分、デザイン要素及び／又はコンテンツについての情報（例えば、コメント、レビュー、提案）を、その他の個人と共有することを可能にする。例えば、エンドユーザは、ソーシャルネットワークサイトなど、情報に関連するアプリやモジュールをウェブサイトに投稿することができる。その他の例として、エンドユーザは、Ｅメール、テキストメッセージ又はエンドユーザのモバイル機器により提供される同様の機能を通してなど、１以上の個人に直接的にこの情報を送信することができる。特定の実施例において、情報は、エンドユーザが現在見ている、又はアクセスしているモバイルアプリ及び／又はモジュールについての情報、更にエンドユーザにより入力され、あるいは提供されるメッセージを含む。
【０１８６】
その他タイプのアプリケーション
上の記載は、モバイル機器に対するアプリケーションの作成、設計及び展開に焦点を合わせたが、当然のことではあるが、ここで説明され、記載されるモバイル開発及び展開と対応するシステム及び方法は、同様の方法で、その他タイプのアプリケーションの作成及び展開に関連して、使用することもできる。例えば、図１〜４２に関連して説明され、記載されるモバイル開発及び展開プラットフォームとアプリケーション開発環境は、ソーシャルネットワークやその他ウェブサイト内に含まれるウェブアプリ、更に様々なメディア機器（例えば、テレビやストリーミング機器）を通してアクセスすることができるアプリケーションなど、ウェブベースのアプリケーションを作成、カスタマイズ、変更及び配布するために、開発者により使用される。プラットフォームを通してアプリケーションを作成した後、開発者は、ウェブ又は様々なタイプのメディア機器に対し、アプリケーションを公開（publish）するためのオプションを与えられる。そして、プラットフォームは、アプリケーションのフラッシュ又はＨＴＭLベースバージョンを作成することによりなど、ウェブページに組み込まれ、及びウェブページを通してアクセスされ、又はアプリケーションのテレビベースバージョンを作成することによりなど、様々なメディア機器に組み込まれ、及びメディア機器を通してアクセスされる１つの形式のアプリケーションを生成することができる。
【０１８７】
特定の実施例において、ウェブアプリは、フェースブックアプリなど、ソーシャルネットワークサイトに対するアプリケーションの形式である。これら特定の実施例において、ウェブアプリを作成した後、開発者は、エンドユーザにウェブアプリへのアクセスを提供するため、ソーシャルネットワークサイト内で利用することができるＵＲＬ又は同様のリンクを提供される。代わりに、又は加えて、ウェブアプリは、開発者が、ウェブサイトを通してウェブブラウザーからアクセスすることができる開発者のウェブサイトなど、ウェブサイト内に双方向ウェブアプリを含めることを可能にするウェブサイトウィジェット（widget）の形式である。同様に、ウェブアプリは、主にモバイル機器と共に使用するために設計されたモバイルウェブアプリの形式であり、モバイル機器ユーザがウェブサイトを介してモバイルウェブアプリにアクセスすることを可能にする。これら特定の実施例において、開発者は、ウェブサイト上に置かれ、双方向ウェブアプリにモバイルエンドユーザをリダイレクトするＵＲＬ又は同様のリンクを提供される。特定の実施例において、ソーシャルネットワークアプリ、ウェブサイトウィジェット、モバイルウェブアプリ及び／又はテレビアプリは、モバイル開発及び展開プラットフォームを通して、開発者により以前に又は同時に開発されたモバイルアプリの機能を模倣することができ、及び／又はエンドユーザには、モバイルアプリと同一である、又は類似であるように見える。これら特定の実施例において、開発者は、モバイル開発及び展開プラットフォームを通して、開発者により作成されたモバイルアプリに基づく１以上のウェブアプリ又はテレビアプリを作成するためのオプションを提示される。
【０１８８】
その他の例として、ここで記載されるモバイル開発及び展開プラットフォームとアプリケーション開発環境は、モバイル機器におけるゲームを作成、カスタマイズ、変更及び配布するため、開発者により使用される。図４３Ａ〜４３Ｃは、特定の実施例に従い、開発者は、モバイル開発及び配布プラットフォームを通して、モバイルゲームを作成、変更及びカスタマイズするために開発者により使用されるゲーム開発環境の表示の一部を示す図である。モバイルゲームは、別個のアプリとして作成、配布され、現在のアプリ内に１つのモジュールとして含まれる。特定の実施例において、ゲーム開発環境は、図２に関連して記載されるモバイル開発環境の機構や機能と同様のものを持つウェブベースのグラフィカル・インターフェースの形式である。開発者は、モバイルゲームに関連する様々な機構、コンテンツ、構成部分及びデザイン要素を選択、入力、結合及び変更することにより、モバイルゲームを作成、変更及びカスタマイズできる。
【０１８９】
特定の実施例において、ゲーム開発環境は、図４３Ａに示されるように、開発者が、彼ら自身の物理学ベースの及び／又はパズルのモバイルゲームを作成、カスタマイズ、更新及び／又は展開することを可能にする。特定の実施例において、物理学ゲームモジュールを通して作成された物理学ゲームは、ゲームオブジェクトとゲーム背景に関して関連するアクション及び／又はその他のゲームオブジェクトの組み合わせに分類することができる。これらの相互作用に基づき、ゲーム、レベルスコア又はゴールは、エンドユーザにより到達される。これら特定の実施例によれば、開発者は、物理学モバイルゲームに対する特定の主な構成部分；背景、ゲームオブジェクト及びゲームオブジェクト相互作用を作成及び／又は選択することができる。
【０１９０】
図４３Ａに示されるように、ゲーム開発環境は、図２に示される開発ウィンドウ110など、ゲーム開発ウィンドウ内で、物理学モバイルゲームの設計、作成及びカスタマイズに関連して、開発者に様々なオプションを表示できる。例えば、開発ウィンドウ110は、ゲームオブジェクトメニュー151を有し、開発者により選択される所定のゲームオブジェクトのリストを含む。特定の実施例において、開発者は、更に、又は代わりに、ゲーム内に含まれるカスタムのゲームオブジェクトを作成することができる。開発ウィンドウ110は、ゲームオブジェクト相互作用セレクター152を有し、開発者が、ゲームプレーの過程を通してオブジェクトを移動し、ゲームオブジェクト間の相互作用に対するルールを設定するなどにより、どの位の特定のオブジェクトが、背景及びその他のオブジェクトと相互やり取りするかを特定することを可能にする。
【０１９１】
特定の実施例において、図４３Ａに示されるように、開発ウィンドウ110は、ゲームディスプレイウィンドウ150内の物理学ゲームの現在状態のシミュレーション表示を開発者に提示し、及び／又は開発者がゲーム開発プロセスを通して進めるように、開発者がゲームを「再生」することを可能にする。特定の実施例において、開発ウィンドウ110は、ゲーム設定ボタン153を有し、開発者が、背景イメージをアップロードし、様々なルールを選択し、及び方法と値を記録するなど、ゲームに対する様々な設定を選択、アップロード及び／又は入力することを可能にする。開発者がゲーム設計及び開発プロセスを完了した後、モバイルゲームは、図１〜５に関連して記載される方法と同様の方法で、保存、コンパイル及び配布される。これら特定の実施例において、モバイルゲームは、１以上の既存の物理エンジンを用いてコンパイルされる。これら特定の実施例において、開発者は、モバイルゲームが実行されることになるモバイル機器ディスプレイの方向を選択することができる。
【０１９２】
特定の実施例において、ゲーム開発環境は、開発者が、図４３Ｂに示されるように、彼ら自身のプラットフォームのモバイルゲーム（例えば、スーパーマリオブラザーズ）を作成することを可能にする。これら特定の実施例において、開発者は、キャラクターオブジェクト、レベルオブジェクト、ユーザインターフェース要素、ルール、相互作用及びサウンドを含むプラットフォームのモバイルゲームに対する主な構成部分を作成及び／又は選択することができる。これら特定の実施例において、開発者は、これら主な構成部分に関連する様々なサブオブジェクト又は副構成部分を選択及び変更することができる。例えば、開発者は、ゲームに「ヒーロー」オブジェクトを追加することができ、エンドユーザは、ゴールに到達するために、ゲームを通してナビゲートされるようにする。図４３Ｂに示されるように、特定の実施例において、ゲーム開発環境は、プラットフォームのモバイルゲームの設計、作成及びカスタマイズに関連して、開発者に様々なオプションを表示し、開発者は、図４３Ａに関連して上記される方法と同様の方法で、ゲームに対する様々な構成部分、デザイン要素及び機構を選択、変更及び結合することができる。
【０１９３】
特定の実施例において、ゲーム開発環境は、開発者が、彼ら自身のシューティングモバイルゲームを作成することを可能にする。例えば、シューティングゲームモジュールは、図４３Ｃに示されるように、開発者が横スクロールの宇宙シューティングゲームを作成することを可能にする。これら特定の実施例において、開発者は、ヒーローオブジェクト、レベルオブジェクト、敵オブジェクト、ユーザインターフェース要素、ルール、相互作用及びサウンドを含むシューティングモバイルゲームに対する主な構成部分を作成及び／又は選択することができる。これら特定の実施例において、開発者は、これら主な構成部分に関連する様々なサブオブジェクト又は副構成部分を選択及び変更することができる。例えば、開発者は、エンドユーザが最終ゴールに到達するために、ヒーローオブジェクトで敵オブジェクトを破壊させることを目的として、ゲームにヒーローオブジェクトと複数の敵オブジェクトを追加することができる。図４３Ｃに示されるように、特定の実施例において、ゲーム開発環境は、シューティングモバイルゲームの設計、作成及びカスタマイズに関連して、開発者に様々なオプションを表示し、開発者は、図４３Ａに関連して上記される方法と同様の方法で、ゲームに対する様々な構成部分、デザイン要素及び機構を選択、変更及び結合することができる。これら特定の実施例において、開発者は、図４３Ｃに示されるゲーム方向ボタン155を選択するなどにより、モバイルゲームが実行されることになるモバイル機器ディスプレイの方向を選択することができる。
【０１９４】
当然のことであるが、先の図に関連して記載される様々なシステムと方法は、例示的なものであり、その他の任意の適切なシステム又は方法を使用することができる。上記は、本発明の原理の単なる説明であり、本発明の範囲と主旨から逸脱することなしに、様々な変形が当業者により行われることができる。一例として、モバイル開発プラットフォームの特定の実施例が、プラットフォームを通して開発されたモバイルアプリに含まれる特定の機構と機能に関連する所定のアプリタイプとモジュールに関連して記載されているが、プラットフォームは、任意の１以上の機構、機能又はコンテンツに関連する任意の数、方法及びタイプの所定のアプリケーション構成部分と副構成部分を提供することができる。本発明が、記載される実施例以外において、実施することができることを当業者は認識するであろうし、実施例は、説明を目的として提示され、制限を目的としたものではなく、本発明は、請求項の範囲のみに制限される。
【図１】
2014512611.tif 000003
【図２】
2014512611.tif 000004
【図３】
2014512611.tif 000005
【図４】
2014512611.tif 000006
【図５】
2014512611.tif 000007
【図６】
2014512611.tif 000008
【図７】
2014512611.tif 000009
【図８】
2014512611.tif 000010
【図９】
2014512611.tif 000011
【図１０】
2014512611.tif 000012
【図１１】
2014512611.tif 000013
【図１２】
2014512611.tif 000014
【図１３】
2014512611.tif 000015
【図１４】
2014512611.tif 000016
【図１５】
2014512611.tif 000017
【図１６】
2014512611.tif 000018
【図１７】
2014512611.tif 000019
【図１８】
2014512611.tif 000020
【図１９】
2014512611.tif 000021
【図２０】
2014512611.tif 000022
【図２０Ａ】
2014512611.tif 000023
【図２１】
2014512611.tif 000024
【図２２】
2014512611.tif 000025
【図２３】
2014512611.tif 000026
【図２３Ａ】
2014512611.tif 000027
【図２４】
2014512611.tif 000028
【図２５】
2014512611.tif 000029
【図２６】
2014512611.tif 000030
【図２７】
2014512611.tif 000031
【図２７Ａ】
2014512611.tif 000032
【図２８】
2014512611.tif 000033
【図２８Ａ】
2014512611.tif 000034
【図２９】
2014512611.tif 000035
【図３０】
2014512611.tif 000036
【図３０Ａ】
2014512611.tif 000037
【図３１】
2014512611.tif 000038
【図３２】
2014512611.tif 000039
【図３２Ａ】
2014512611.tif 000040
【図３３】
2014512611.tif 000041
【図３４】
2014512611.tif 000042
【図３４Ａ】
2014512611.tif 000043
【図３４Ｂ】
2014512611.tif 000044
【図３４Ｃ】
2014512611.tif 000045
【図３５】
2014512611.tif 000046
【図３６】
2014512611.tif 000047
【図３７】
2014512611.tif 000048
【図３８】
2014512611.tif 000049
【図３９】
2014512611.tif 000050
【図４０】
2014512611.tif 000051
【図４１】
2014512611.tif 000052
【図４２】
2014512611.tif 000053
【図４３Ａ】
2014512611.tif 000054
【図４３Ｂ】
2014512611.tif 000055
【図４３Ｃ】
2014512611.tif 000056
【国際調査報告】
2014512611.tif 000057
2014512611.tif 000058
2014512611.tif 000059