(57)【特許請求の範囲】
【請求項１】
アプリケーションプログラムに組み込まれる候補となるプログラム要素を蓄積する蓄積部と、
アプリケーションプログラムの作成者により当該アプリケーションプログラムの利用者に対応して指定された設定情報を、当該作成者を識別する作成者ＩＤと、当該利用者を識別する利用者ＩＤとに対応付けて記憶する設定情報記憶部と、
いずれかの前記利用者に提供されるアプリケーションプログラムが第１作成者からの指示に応じて作成される場合に、当該第１作成者と異なる第２作成者の作成者ＩＤと当該利用者の利用者ＩＤとに対応付けて前記設定情報記憶部に記憶された設定情報を取得し、取得した設定情報が示す設定をしたアプリケーションプログラムを前記蓄積部から選択したプログラム要素を用いて作成するアプリケーション作成部と
を備えることを特徴とするアプリケーション作成装置。
【請求項２】
前記設定情報記憶部は、
前記設定情報の開示が許可された作成者を示す開示情報を、当該設定情報に対応付けて記憶し、
前記アプリケーション作成部は、
前記第２作成者の作成者ＩＤに対応付けて前記設定情報記憶部に記憶された開示情報が示す作成者に前記第１作成者が該当する場合には、前記記憶された設定情報を取得してアプリケーションプログラムを作成し、当該開示情報が示す作成者に前記第１作成者が該当しない場合には、前記設定情報を取得しない
ことを特徴とする請求項１に記載のアプリケーション作成装置。
【請求項３】
前記利用者により指定された前記開示情報を取得する開示情報取得部を備え、
前記設定情報記憶部は、前記開示情報取得部が取得した開示情報を、当該開示情報を指定した利用者の利用者ＩＤと前記作成者ＩＤとに対応付けて記憶する
ことを特徴とする請求項２に記載のアプリケーション作成装置。
【請求項４】
前記アプリケーション作成部は、
前記設定情報記憶部に記憶された一の設定情報が示す設定を前記蓄積部から選択した複数のプログラム要素に対して行ってアプリケーションプログラムを作成する
ことを特徴とする請求項１から３のいずれか１項に記載のアプリケーション作成装置。
【請求項５】
アプリケーション作成装置と、アプリケーションプログラムの作成者により操作される端末装置とを備えるアプリケーション作成システムであって、
前記アプリケーション作成装置は、
アプリケーションプログラムに組み込まれる候補となるプログラム要素を蓄積する蓄積部と、
前記端末装置により当該アプリケーションプログラムの利用者に対応して指定された設定情報を、前記作成者を識別する作成者ＩＤと、当該利用者を識別する利用者ＩＤとに対応付けて記憶する設定情報記憶部と、
いずれかの前記利用者に提供されるアプリケーションプログラムが第１作成者からの指示に応じて作成される場合に、当該第１作成者と異なる第２作成者の作成者ＩＤと当該利用者の利用者ＩＤとに対応付けて前記設定情報記憶部に記憶された設定情報を取得し、取得した設定情報が示す設定をしたアプリケーションプログラムを前記蓄積部から選択したプログラム要素を用いて作成するアプリケーション作成部と
を有し、
前記端末装置は、
前記蓄積部に蓄積されたプログラム要素から前記アプリケーション作成部に作成させるアプリケーションプログラムに組み込むプログラム要素を前記作成者の操作に応じて選択する指示と、当該アプリケーションプログラムに対する設定を示す設定情報を指定する指示とを、前記アプリケーション作成装置宛てに送信する作成指示部
を有することを特徴とするアプリケーション作成システム。
【請求項６】
アプリケーションプログラムの作成者により当該アプリケーションの利用者に対応して指定された設定情報を、当該作成者を識別する作成者ＩＤと当該利用者を識別する利用者ＩＤとに対応付けて記憶する設定情報記憶部から、前記設定情報を取得する取得ステップであって、
いずれかの前記利用者に提供されるアプリケーションプログラムが第１作成者からの指示に応じて作成される場合に、当該第１作成者と異なる第２作成者の作成者ＩＤと当該利用者の利用者ＩＤとに対応付けられた前記設定情報を取得する取得ステップと、
アプリケーションプログラムに組み込まれる候補となるプログラム要素を蓄積する蓄積部から選択したプログラム要素を用いて、前記取得ステップにおいて取得した設定情報が示す設定をしたアプリケーションプログラムを作成するアプリケーション作成ステップと
を有することを特徴とするアプリケーション作成方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、アプリケーションプログラムの作成を支援する技術に関する。
【背景技術】
【０００２】
プログラム言語の理解能力やプログラミング能力の高低に関わらず、ユーザが手軽にアプリケーションプログラム（以下、「アプリケーション」と省略する。）を作成することができるように支援する技術が提案されている。ところで、アプリケーションを実行したコンピュータ装置は、アプリケーションに対する初期設定等の設定内容に従って動作する。このようなアプリケーションに対する設定を示す設定情報は、アプリケーションの作成段階において、作成者の手動設定により指定されるのが一般的である。
なお、コンピュータ装置の動作設定等を示す設定情報の入力を支援するための技術として、特許文献１及び特許文献２に開示された技術がある。
【０００３】
特許文献１は、設定支援サーバがユーザ端末から受信した設定情報を共有可能に展開し、オペレータ端末から設定支援を受けるとともに、ユーザ端末からの設定変更などの操作ログを記録することにより、ユーザ端末において所望する環境を利用できるようにすることを開示している。特許文献２は、アプリケーション毎に共通の設定項目と特有の設定項目とを一括管理し、ユーザが一度だけ入力したデータにより複数のアプリケーションの初期設定を行えるようにすることを開示している。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００７−３０５０４３号公報
【特許文献２】特開平７−３０２１９２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
特許文献１に記載の発明では、同一の機関（企業等）に所属しているオペレータ同士で設定情報が共有されるように決められている。その理由は、ある企業のオペレータに設定情報の入力支援が提供される場合に、複数のオペレータが同一企業に属しているときにはオペレータ間で顧客の情報を共有されることはあっても、異なる企業に属するオペレータ間で顧客の情報が共有されることは通常ないからである。特許文献２に記載の発明では、設定項目のデータを共有するユーザは同一ユーザといえ、複数ユーザでデータが共有されるものでない。
これに対し、本発明の目的は、アプリケーションに対する設定を示す設定情報を、アプリケーションの作成者と利用者との関係により複数の作成者同士で共有することである。
【課題を解決するための手段】
【０００６】
上述した課題を解決するため、本発明のアプリケーション作成装置は、アプリケーションプログラムに組み込まれる候補となるプログラム要素を蓄積する蓄積部と、アプリケーションプログラムの作成者により当該アプリケーションプログラムの利用者に対応して指定された設定情報を、当該作成者を識別する作成者ＩＤと、当該利用者を識別する利用者ＩＤとに対応付けて記憶する設定情報記憶部と、いずれかの前記利用者に提供されるアプリケーションプログラムが第１作成者からの指示に応じて作成される場合に、当該第１作成者と異なる第２作成者の作成者ＩＤと当該利用者の利用者ＩＤとに対応付けて前記設定情報記憶部に記憶された設定情報を取得し、取得した設定情報が示す設定をしたアプリケーションプログラムを前記蓄積部から選択したプログラム要素を用いて作成するアプリケーション作成部とを備えることを特徴とする。
【０００７】
本発明のアプリケーション作成装置において、前記設定情報記憶部は、前記設定情報の開示が許可された作成者を示す開示情報を、当該設定情報に対応付けて記憶し、前記アプリケーション作成部は、前記第２作成者の作成者ＩＤに対応付けて前記設定情報記憶部に記憶された開示情報が示す作成者に前記第１作成者が該当する場合には、前記記憶された設定情報を取得してアプリケーションプログラムを作成し、当該開示情報が示す作成者に前記第１作成者が該当しない場合には、前記設定情報を取得しないようにしてもよい。
【０００８】
本発明のアプリケーション作成装置において、前記利用者により指定された前記開示情報を取得する開示情報取得部を備え、前記設定情報記憶部は、前記開示情報取得部が取得した開示情報を、当該開示情報を指定した利用者の利用者ＩＤと前記作成者ＩＤとに対応付けて記憶するようにしてもよい。
本発明のアプリケーション作成装置において、前記アプリケーション作成部は、前記設定情報記憶部に記憶された一の設定情報が示す設定を前記蓄積部から選択した複数のプログラム要素に対して行ってアプリケーションプログラムを作成するようにしてもよい。
【０００９】
また、本発明のアプリケーション作成システムは、アプリケーション作成装置と、アプリケーションプログラムの作成者により操作される端末装置とを備えるアプリケーション作成システムであって、前記アプリケーション作成装置は、アプリケーションプログラムに組み込まれる候補となるプログラム要素を蓄積する蓄積部と、前記端末装置により当該アプリケーションプログラムの利用者に対応して指定された設定情報を、前記作成者を識別する作成者ＩＤと、当該利用者を識別する利用者ＩＤとに対応付けて記憶する設定情報記憶部と、いずれかの前記利用者に提供されるアプリケーションプログラムが第１作成者からの指示に応じて作成される場合に、当該第１作成者と異なる第２作成者の作成者ＩＤと当該利用者の利用者ＩＤとに対応付けて前記設定情報記憶部に記憶された設定情報を取得し、取得した設定情報が示す設定をしたアプリケーションプログラムを前記蓄積部から選択したプログラム要素を用いて作成するアプリケーション作成部とを有し、前記端末装置は、前記蓄積部に蓄積されたプログラム要素から前記アプリケーション作成部に作成させるアプリケーションプログラムに組み込むプログラム要素を前記作成者の操作に応じて選択する指示と、当該アプリケーションプログラムに対する設定を示す設定情報を指定する指示とを、前記アプリケーション作成装置宛てに送信する作成指示部を有することを特徴とする。
【００１０】
また、本発明のアプリケーション作成方法は、アプリケーションプログラムの作成者により当該アプリケーションの利用者に対応して指定された設定情報を、当該作成者を識別する作成者ＩＤと当該利用者を識別する利用者ＩＤとに対応付けて記憶する設定情報記憶部から、前記設定情報を取得する取得ステップであって、いずれかの前記利用者に提供されるアプリケーションプログラムが第１作成者からの指示に応じて作成される場合に、当該第１作成者と異なる第２作成者の作成者ＩＤと当該利用者の利用者ＩＤとに対応付けられた前記設定情報を取得する取得ステップと、アプリケーションプログラムに組み込まれる候補となるプログラム要素を蓄積する蓄積部から選択したプログラム要素を用いて、前記取得ステップにおいて取得した設定情報が示す設定をしたアプリケーションプログラムを作成するアプリケーション作成ステップとを有することを特徴とする。
【発明の効果】
【００１１】
本発明によれば、アプリケーションに対する設定を示す設定情報を、アプリケーションの作成者と利用者との関係により複数の作成者同士で共有することができる。
【図面の簡単な説明】
【００１２】
【図１】アプリケーション作成システムの全体構成を示す図。
【図２】サーバ装置のハードウェア構成を示すブロック図。
【図３】プログラム要素ＤＢのデータ構造を示す図。
【図４】設定情報ＤＢのデータ構造を示す図。
【図５】パラメータＤＢのデータ構造を示す図。
【図６】作成者端末のハードウェア構成を示すブロック図。
【図７】利用者端末のハードウェア構成を示すブロック図。
【図８】アプリケーション作成システムの機能的構成を示す機能ブロック図。
【図９】アプリケーション作成システムの処理の流れを示すシーケンスチャート。
【図１０】作成者端末の画面表示の例を示す図。
【図１１】作成者端末の画面表示の例を示す図。
【図１２】作成者端末の画面表示の例を示す図。
【図１３】作成者端末の画面表示の例を示す図。
【図１４】利用者端末の画面表示の例を示す図。
【図１５】利用者端末の画面表示の例を示す図。
【図１６】作成者端末の画面表示の例を示す図。
【図１７】アプリケーション作成システムの機能的構成を示す機能ブロック図。
【図１８】アプリケーション作成システムの処理の流れを示すシーケンスチャート。
【図１９】設定情報ＤＢのデータ構造を示す図。
【図２０】作成者端末の機能的構成を示す機能ブロック図。
【発明を実施するための形態】
【００１３】
以下、図面を参照しつつ本発明の実施形態を説明する。
［第１実施形態］
図１は、アプリケーション作成システム１の全体構成を示す図である。
アプリケーション作成システム１は、サーバ装置１０と、作成者端末２０と、利用者端末３０とを備える通信システムである。図１には、複数の作成者端末２０のうち、第１作成者端末２０ａと、第２作成者端末２０ｂとを示しているが、実際にはより多数存在する。また、図１には、利用者端末３０のうち１つのみを図示しているが、実際にはより多数存在する。アプリケーション作成システム１を構成する各装置は、ネットワークＮＷ経由で互いに通信可能に接続されている。ネットワークＮＷは、ここでは、移動体通信網、ゲートウェイ及びインターネットを含む通信網である。
【００１４】
サーバ装置１０は、アプリケーションを作成するためのサービスを提供するアプリケーション作成装置である。サーバ装置１０は、作成者端末２０からのアプリケーションの作成指示に従ってアプリケーションを作成する。作成者端末２０及び利用者端末３０は、ここではスマートフォンである。作成者端末２０は、アプリケーションの作成者（以下、単に「作成者」と称することがある。）となるユーザにより操作される端末装置である。第１作成者端末２０ａでアプリケーションを作成する作成者（第１作成者）と、第２作成者端末２０ｂでアプリケーションを作成する作成者（第２作成者）とは、それぞれ異なるユーザである。利用者端末３０は、作成者端末２０の作成指示に応じて作成されたアプリケーションの利用者（以下、単に「利用者」と称することがある。）により操作される端末装置である。
なお、作成者端末２０及び利用者端末３０はスマートフォンに限らず、例えば、携帯電話端末やタブレット型端末、パーソナルコンピュータ、ＰＤＡ（Personal Digital Assistant）等の他の端末装置であってもよい。また、作成者端末２０及び利用者端末３０は別々の端末装置とは限らず、アプリケーションの作成時には作成者端末２０となり、アプリケーションの利用時には利用者端末３０となることが可能である。
【００１５】
図２は、サーバ装置１０のハードウェア構成を示すブロック図である。図２に示すように、サーバ装置１０は、制御部１１と、通信部１２と、記憶部１３とを備える。
制御部１１は、ＣＰＵ（Central Processing Unit）、ＲＯＭ（Read Only Memory）及びＲＡＭ（Random Access Memory）を備えるマイクロプロセッサである。ＣＰＵは、ＲＯＭや記憶部１３に記憶されたプログラムをＲＡＭに読み出して実行することにより、サーバ装置１０の各部を制御する。通信部１２は、ネットワークＮＷに接続するためのインタフェースである。記憶部１３は、例えばハードディスク装置を備え、ソフトウェアやこのソフトウェアを実行するためのＯＳ(Operating System)のほか、プログラム要素ＤＢ（Data base）１３１、設定情報ＤＢ１３２、及びパラメータＤＢ１３３を記憶する。
【００１６】
プログラム要素ＤＢ１３１は、アプリケーションへ組み込まれる候補となるプログラム要素を蓄積するデータベース（要素蓄積部に相当。）である。設定情報ＤＢ１３２は、アプリケーションに対する設定を示す設定情報を記憶するデータベース（設定情報記憶部に相当。）である。設定情報は、例えばアプリケーションの初期設定や標準設定（デフォルト設定）等の設定を示す情報であり、プログラム要素と組み合わせられてアプリケーションを構成する情報である。設定情報は、アプリケーションを実行した利用者端末３０のアプリケーションに従った動作を規定するための情報でもある。パラメータＤＢ１３３は、プログラム要素ＤＢ１３１に蓄積されたプログラム要素毎の推奨度合いを示すパラメータを記憶するデータベースである。
なお、サーバ装置１０は、前掲以外のハードウェア以外にも、例えばキーボードやマウスを含み操作を受け付ける操作部等のハードウェアデバイスを備える。
【００１７】
図３は、プログラム要素ＤＢ１３１のデータ構造を示す図である。
図３に示すように、プログラム要素ＤＢ１３１は、「テンプレートＩＤ」と、「要素ＩＤ」と、「プログラム要素」とで示される各情報を対応付けて記憶するデータベースである。テンプレートＩＤは、アプリケーションの雛形となるテンプレートを識別する識別情報である。テンプレートは、アプリケーションの用途に応じて複数種類のデータが記憶部１３に記憶されている。テンプレートは、例えば、利用者を所定の場所に案内するために用いられるアプリケーションを作成するためのナビゲーションテンプレートや、パーティー等のイベントの案内に用いられるアプリケーションを作成するためのご案内テンプレート、家庭での各人への家事の役割分担を管理するために用いられるアプリケーションを作成するための家事分担テンプレートである。本実施形態のアプリケーションは、比較的少人数向けに作成されるものが想定される。よって、アプリケーションの作成者は、ある目的のためにアプリケーションを作成する際に、利用者毎にアプリケーションの仕様を異ならせることが可能である。要素ＩＤは、プログラム要素を識別する識別情報であり、ここでは、テンプレートに予め組み込まれた各プログラム要素を識別する。プログラム要素は、アプリケーションに組み込まれる候補となるプログラム要素であり、アプリケーションに実装される機能に対応している。
【００１８】
ここで、ナビゲーションテンプレートのテンプレートＩＤを「Ｔｅｍｐ１」とする。プログラム要素「ｐｒｏｇ１０１」は、要素ＩＤ「ＰＩＤ１０１」が割り当てられ、指定時刻に待ち合わせ相手の電話番号を表示し発信できる状態にする機能（以下、「機能Ａ」又は「電話発信アシスト機能」と称する。）に対応したプログラム要素である。プログラム要素「ｐｒｏｇ１０２」は、要素ＩＤ「ＰＩＤ１０２」が割り当てられ、指定時刻に画面点灯が行われた場合に既に起床したことを示す電子メールを送信する機能（以下、「機能Ｂ」又は「起きたよメール機能」と称する。）に対応したプログラム要素である。プログラム要素「ｐｒｏｇ１０３」は、要素ＩＤ「ＰＩＤ１０３」が割り当てられ、指定時刻に画面点灯が行われない場合にメッセージを表示する機能（以下、「機能Ｃ」又は「スケジュール表示機能」と称する。）に対応したプログラム要素である。プログラム要素「ｐｒｏｇ１０４」は、要素ＩＤ「ＰＩＤ１０４」が割り当てられ、利用者の自宅等の出発地点から目的地点までの道案内を行う機能（以下、「機能Ｄ」又は「道案内機能」と称する。）に対応したプログラム要素である。
なお、画面点灯が行われない場合とは、利用者によって利用者端末３０が利用されていない場合が想定され、具体的には、最後に利用者端末３０が操作されてから所定時間経過した後や、折り畳み式の携帯電話端末であれば折り畳まれた状態である場合がありうる。
【００１９】
また、ご案内テンプレートのテンプレートＩＤを「Ｔｅｍｐ２」とする。このご案内テンプレートにも、ナビゲーションテンプレートと同様に、各機能に対応したプログラム要素が含まれる。家事分担テンプレートのテンプレートＩＤを「Ｔｅｍｐ３」とし、家事分担テンプレートにも各機能に対応したプログラム要素が含まれる。テンプレートに組み込まれているプログラム要素（機能）の内容は、テンプレート毎に異なるが、同じ機能に対応したプログラム要素が複数のテンプレートに組み込まれていることがある。
更に、前掲以外のテンプレートが記憶部１３に記憶されていてもよい。また、プログラム要素としても、いわゆるリマインド機能を実現するものや、特定のＷｅｂサイトへ誘導するためのハイパーリンクを表示させる機能、チェックリストを提供する機能に対応するもの等の様々な機能に対応するものが想定される。
なお、図３に括弧書きした文字列は、各情報の理解を助けるために記載されたもので、プログラム要素ＤＢ１３１に実際に記憶された情報を意味するものではない。
【００２０】
図４は、設定情報ＤＢ１３２のデータ構造を示す図である。
図４に示すように、設定情報ＤＢ１３２は、「作成者ＩＤ」と、「利用者ＩＤ」と、「開示情報」と、「設定ＩＤ」と、「設定情報」とで示される各情報を対応付けて記憶するデータベースである。作成者ＩＤは、作成者端末２０のユーザを識別するユーザ識別情報である。ここにおいて、第１作成者端末２０ａのユーザたる作成者の作成者ＩＤは「ＭＩＤ００１」であり、第２作成者端末２０ｂのユーザたる作成者の作成者ＩＤは「ＭＩＤ００２」である。利用者ＩＤは、利用者端末３０のユーザたる利用者を識別するユーザ識別情報である。作成者ＩＤ及び利用者ＩＤは、各ユーザに互いに重複しないように付された識別番号である。作成者ＩＤ及び利用者ＩＤは、これ以外にも、利用者端末３０に割り当てられた電話番号、ＳＩＭ（Subscriber Identity Module）カードから特定される端末識別情報等であってもよい。
【００２１】
開示情報は、設定情報の開示が許可された作成者を示す情報である。設定ＩＤは、設定情報の項目を識別する識別情報である。設定ＩＤは、例えば、「住所」（自宅の住所）、「最寄駅」（自宅からの最寄駅）、「料理」（嗜好する料理のジャンル）等の項目を示すが、どのような項目が設定情報ＤＢ１３２に記述されていてもよい。設定情報は、設定ＩＤが示す項目についての設定の内容を示す。
例えば、図４の第１行に対応するレコードは、作成者ＩＤ「ＭＩＤ００２」の作成者により、利用者ＩＤ「ＵＩＤ１０１」で識別される利用者に対応して指定された住所が、「神奈川県横浜市・・・」であることを意味している。他のレコードについてもこれと同様に解釈することができる。
【００２２】
上述した開示情報は「開示可否」と「開示範囲」とに細分化される。開示可否は、作成者ＩＤが示す作成者により指定された設定情報を他の作成者に開示してよいか否かを示す情報である。開示可否が「○」である場合、他の作成者への設定情報の開示が許可され、開示可否が「×」である場合、他の作成者への設定情報の開示は一切許可されない。「開示範囲」は、設定情報の開示が許可された作成者の範囲（グループ）を示す情報である。ここにおいて、開示範囲は、利用者ＩＤが示す利用者と作成者ＩＤが示す作成者との関係によって規定されている。例えば、図４の第１行に対応するレコードにおいて、開示可否「○」及び開示範囲「家族」と記述されている。この記述は、利用者の家族がアプリケーションの作成者である場合に限り作成者に対して設定情報が開示され、その他の作成者には設定情報が開示されないことを意味している。
【００２３】
図５は、パラメータＤＢ１３３のデータ構造を示す図である。
図５に示すように、パラメータＤＢ１３３は、「利用者ＩＤ」と、「要素ＩＤ」と、「パラメータ」とで示される各情報を対応付けて記憶するデータベースである。利用者ＩＤ及び要素ＩＤは、プログラム要素ＤＢ１３１に記述された要素ＩＤと同じ情報である。パラメータは、プログラム要素の推奨度合いを示すパラメータである。パラメータは、例えば、アプリケーションの利用者にとっての、プログラム要素に対応した機能の使い勝手の良さの指標となる値である。ここにおいて、パラメータの値は、利用者端末３０におけるプログラム要素の利用実績で定まる。パラメータは、ここでは「１」、「２」、「３」の３段階の値のいずれかをとる。パラメータの値が小さいほど、利用者ＩＤが示す利用者の利用者端末３０においてプログラム要素が利用された回数が多かったり、利用の頻度が高かったりすることを意味する。すなわち、パラメータの値が小さいほど、利用者にとって使い勝手が良い機能に対応したプログラム要素である、という判断の指標にすることができる。反対に、パラメータの値が大きいほど、利用者ＩＤが示す利用者の利用者端末３０においてプログラム要素が利用された回数が少なかったり、利用の頻度が低かったりすることを意味する。
なお、サーバ装置１０は、各利用者の利用者端末３０から各プログラム要素の利用実績（例えば、利用頻度や利用回数）を取得して、取得した利用実績に応じたパラメータをユーザ毎に個別に、かつ、プログラム要素毎に個別にパラメータＤＢ１３３対して設定する。また、ここでは、パラメータは３段階の数値で表されているが、２段階の数値で表されてもよいし、４段階以上の数値で表されてもよい。
【００２４】
図６は、作成者端末２０のハードウェア構成を示すブロック図である。図６に示すように、作成者端末２０は、制御部２１と、音声入出力部２２と、無線通信部２３と、ＵＩ（User Interface）部２４と、記憶部２５とを備える。
制御部２１は、ＣＰＵ、ＲＯＭ、及びＲＡＭを備えるマイクロプロセッサである。ＣＰＵは、ＲＯＭや記憶部２５に記憶されたプログラムをＲＡＭに読み出して実行することにより、作成者端末２０の各部を制御する。音声入出力部２２は、受話音声等を収音するマイクロホンと送話音声を放音するスピーカとを備え、音声の入出力に関する機能を実現する。無線通信部２３は、無線通信回路やアンテナを備え、ネットワークＮＷに無線通信により接続するためのインタフェースである。ＵＩ部２４は、画像を表示する表示面と、表示面に重ねられたタッチパネルとを備え、ＧＵＩ（Graphical User Interface）を提供する。すなわち、ＵＩ部２４は、タッチパネルによりユーザからの操作を受け付ける操作部と、表示面に表示する画像により情報を報知する表示部としての双方の機能を実現する。作成者端末２０において、操作部と表示部とがそれぞれ独立したハードウェアで実現されてもよい。記憶部２５は、例えばＥＥＰＲＯＭ（Electronically Erasable and Programmable ROM）を備え、作成者端末２０のユーザたる作成者に割り当てられた作成者ＩＤ、及びＯＳやブラウザを含むソフトウェアを記憶する。
【００２５】
図７は、利用者端末３０のハードウェア構成を示すブロック図である。図７に示すように、利用者端末３０は、制御部３１と、音声入出力部３２と、無線通信部３３と、ＵＩ部３４と、記憶部３５とを備える。利用者端末３０のハードウェア構成は、基本的には作成者端末２０と同じである。すなわち、利用者端末３０の各部は、作成者端末２０の同名の構成要素と同等の構成を有する。
ただし、記憶部３５は、利用者端末３０のユーザたる利用者に割り当てられた利用者ＩＤを記憶する。
なお、利用者端末３０は、前掲以外のハードウェア以外にも、例えばＧＰＳ（Global Positioning System）機能による測位を行う測位部等のハードウェアデバイスを備える。
続いて、アプリケーション作成システム１の機能的構成を説明する。
【００２６】
図８は、アプリケーション作成システム１の機能的構成を示す機能ブロック図である。
サーバ装置１０は、提示部１０１と、設定情報送信部１０２と、指示受付部１０３と、アプリケーション作成部１０４と、アプリケーション提供部１０５とに相当する機能を実現する。作成者端末２０は、要素表示部２０１と、作成指示部２０２とに相当する機能を実現する。
提示部１０１は、利用者に提供されるアプリケーションが作成される場合に、この利用者に対応してパラメータＤＢ１３３に記憶されたパラメータに応じた提示方法で、プログラム要素ＤＢ１３１に蓄積されたプログラム要素を作成者端末２０に対し提示する。パラメータは、例えば、プログラム要素の配列（ソート）順やプログラム要素の提示の有無等の提示方法を規定するために、提示部１０１によって参照される。
【００２７】
設定情報送信部１０２は、アプリケーションの作成時に作成者に開示される設定情報を設定情報ＤＢ１３２から取得し、作成者端末２０宛てに送信する。ただし、設定情報送信部１０２は、設定情報ＤＢ１３２に記憶された情報及びアプリケーションの作成者と利用者との関係により、設定情報の開示を許可した場合に限って設定情報を送信する。
【００２８】
作成者端末２０の要素表示部２０１は、提示部１０１により提示されたプログラム要素を、提示部１０１で規定された提示方法に従って表示する。
作成指示部２０２は、要素表示部２０１により表示されたプログラム要素のいずれかが作成者により選択されると、選択されたプログラム要素をアプリケーションに組み込むことをサーバ装置１０に対し指示する。また、作成指示部２０２は、設定情報送信部１０２により送信された設定情報を用いる場合には、アプリケーションに対してその設定情報が示す設定するようサーバ装置１０に対し指示する。
【００２９】
サーバ装置１０の指示受付部１０３は、作成指示部２０２からのアプリケーションの作成指示を受け付ける。
アプリケーション作成部１０４は、指示受付部１０３が受け付けた指示に応じて、プログラム要素ＤＢ１３１に蓄積されたプログラム要素を組み込んでアプリケーションを作成する。また、アプリケーション作成部１０４は、指示受付部１０３が受け付けた指示に応じて、アプリケーションに対して設定情報が示す設定をする。
アプリケーション提供部１０５は、アプリケーション作成部１０４により作成されたアプリケーションを利用者端末３０に送信して、利用者にアプリケーションを提供する。
次に、アプリケーション作成システム１の動作を説明する。
【００３０】
図９は、アプリケーション作成システム１の処理の流れを示すシーケンスチャートである。以下、第１作成者端末２０ａが第２作成者端末２０ｂ経由で入力された設定情報を用いて動作する場合の動作を説明する。図１０〜図１６は、作成者端末２０又は利用者端末３０での画面表示を例示した図である。
第１作成者端末２０ａにおけるアプリケーションの作成に先立って、設定情報ＤＢ１３２に設定情報を記憶させるための処理が、アプリケーション作成システム１において実行される。
第２作成者端末２０ｂの制御部２１は、例えばアプリケーションの作成時において、アプリケーションの作成者により指定された入力情報を受け付ける（ステップＳ１）。具体的には、制御部２１は、アプリケーションが提供される利用者の利用者ＩＤ、設定情報の項目を示す設定ＩＤ、設定情報、及びこの設定情報に対応する開示情報の入力を、作成者によるＵＩ部２４の操作により受け付ける。ここにおいて、制御部２１は、利用者ＩＤ「ＵＩＤ１０１」、設定ＩＤ「最寄駅」及び設定情報「横浜駅」、更には、開示情報として開示可否「○」及び開示範囲「家族、友人、会社」という入力情報を受け付けたとする。
【００３１】
次に、第２作成者端末２０ｂの制御部２１は、自装置の作成者ＩＤとステップＳ１の処理で受け付けた入力情報とを、無線通信部２３によりサーバ装置１０宛てに送信する（ステップＳ２）。ここにおいて、制御部２１は、作成者ＩＤ「ＭＩＤ００２」と、上記入力情報とをサーバ装置１０宛てに送信する。
【００３２】
サーバ装置１０の制御部１１は、ステップＳ２の処理で送信されたデータを通信部１２により受信すると、受信したデータに応じて設定情報ＤＢ１３２を更新する（ステップＳ３）。ここにおいて、制御部１１は、受信した作成者ＩＤと、利用者ＩＤと、開示情報と、設定ＩＤと、設定情報とを対応付けて設定情報ＤＢ１３２に記述して、設定情報ＤＢ１３２を更新する。これにより、図４の第２行に示すレコードのように、設定情報ＤＢ１３２において、作成者ＩＤ「ＭＩＤ００２」と、利用者ＩＤ「ＵＩＤ１０１」と、開示可否「○」と、開示範囲「家族、友人、会社」と、設定ＩＤ「最寄駅」と、設定情報「横浜駅」とが対応付けられる。
【００３３】
以上のような設定情報ＤＢ１３２の更新は、第２作成者端末２０ｂに限らず、各作成者端末２０によって行われうるものである。また、設定情報ＤＢ１３２の更新は、作成者端末２０におけるアプリケーションの作成時に限らず、これとは別の機会に行われてもよい。このようにして、図４に示すような設定情報ＤＢ１３２が生成される。また、入力情報に含まれる情報はあくまで一例であり、事前にサーバ装置１０が把握できる情報があれば、入力情報からその情報が省かれてもよい。
続いて、第１作成者端末２０ａによりアプリケーションの作成が行われる場合のアプリケーション作成システム１の動作を説明する。
【００３４】
まず、第１作成者端末２０ａの制御部２１は、アプリケーションに組み込む候補となるプログラム要素の提示要求を無線通信部２３により、サーバ装置１０宛てに送信する（ステップＳ４）。ステップＳ４の処理は、具体的には以下のとおりである。
第１作成者端末２０ａの制御部２１は、作成者によるアプリケーションの作成開始を指示する操作をＵＩ部２４により受け付けると、図１０（ａ）に示すテンプレート選択画面をＵＩ部２４に表示させる。図１０（ａ）に示すように、テンプレート選択画面では、アプリケーションの作成に利用可能なテンプレートの名称を付したソフトボタンＢ１〜Ｂ３が配置されている。作成者は、自身が作成したいアプリケーションに応じて、ＵＩ部２４を操作していずれかのテンプレートを選択する。また、制御部２１は、どの利用者向けのアプリケーションを作成するのかを指定する操作をＵＩ部２４により受け付けて、その利用者に割り当てられた利用者ＩＤを特定する。
なお、パラメータＤＢ１３３には利用者端末３０のユーザ（利用者）の利用者ＩＤが記述されている。よって、サーバ装置１０は、このパラメータＤＢ１３３に記述された利用者ＩＤのいずれかを作成者に指定させればよい。
【００３５】
そして、第１作成者端末２０ａは、自装置の作成者ＩＤと、使用するテンプレートのテンプレートＩＤと、アプリケーションを提供する利用者の利用者ＩＤとを含むプログラム要素の提示要求を送信する。ここにおいて、第１作成者端末２０ａは、作成者ＩＤ「ＭＩＤ００１」と、テンプレートＩＤ「Ｔｅｍｐ１」と、利用者ＩＤ「ＵＩＤ１０１」とを含む提示要求を送信したものとする。
【００３６】
次に、サーバ装置１０の制御部１１は、通信部１２によりプログラム要素の提示要求を受信すると、パラメータＤＢ１３３を参照して、プログラム要素ＤＢ１３１に蓄積されたプログラム要素の提示方法を規定する（ステップＳ５）。ここにおいて、制御部１１は、プログラム要素ＤＢ１３１において提示要求に含まれるテンプレートＩＤ及び利用者ＩＤに対応付けられたすべてのプログラム要素を提示対象とする。そして、制御部１１は、パラメータＤＢ１３３に記述されたパラメータの値が小さい順に提示対象のプログラム要素を配列（ソート）する、という提示方法を規定する。すなわち、制御部１１は、利用者に対して推奨度合いがプログラム要素の配列順を先にするような提示方法を規定する。
なお、パラメータの値が同じであるプログラム要素が複数あった場合には、制御部１１は、プログラム要素ＤＢ１３１において先（図中上側）に要素ＩＤが記述されたプログラム要素を上位の配列順とすればよい。ここでは、制御部１１は、「機能Ｃ」（要素ＩＤ；ＰＩＤ１０３）→「機能Ｄ」（要素ＩＤ；ＰＩＤ１０４）→「機能Ａ」（要素ＩＤ；ＰＩＤ１０１）→「機能Ｂ」（要素ＩＤ；ＰＩＤ１０２）という提示方法を規定する。
【００３７】
次に、制御部１１は、ステップＳ５の処理で規定した提示方法に従って、第１作成者端末２０ａに対しプログラム要素を提示する（ステップＳ６）。ここにおいて、制御部１１は、プログラム要素に対応する機能とその機能の説明とを付した画面表示をブラウザを用いて行わせるべく、通信部１２により必要なデータを作成者端末２０宛てに送信する。
第１作成者端末２０ａの制御部２１は、無線通信部２３の通信により受信したデータに基づき、サーバ装置１０により提示されたプログラム要素をＵＩ部２４に表示させる（ステップＳ７）。ここにおいて、制御部２１はブラウザを実行して、図１１に示すような要素表示画面をＵＩ部２４に表示させる。
【００３８】
ステップＳ７の処理では、制御部２１は、パラメータの値が小さいプログラム要素ほど、その利用の推奨度合いが高いという意味で上位に表示させる。すなわち、制御部２１は、パラメータの値が小さい（すなわち、利用者にとって使い勝手が良いと判断できる）順に配列してプログラム要素を表示させる。提示対象のプログラム要素が更に多い場合には、ＵＩ部２４を操作する（例えば、フリック操作）ことで配列順が下位のプログラム要素が提示される。よって、制御部２１は、配列順が先のプログラム要素ほど、より少ない操作量で選択できるような方法で表示させる。
【００３９】
次に、制御部２１は、作成者によるＵＩ部２４の操作により、アプリケーションの作成に関する指示を受け付ける（ステップＳ８）。ここにおいて、制御部２１は、アプリケーションに組み込むプログラム要素を選択する操作を受け付ける。制御部２１は、図１１において、「○」印の中に「×」を付したソフトボタンＢ５がＵＩ部２４の操作で指定されると、対応するプログラム要素を削除し、アプリケーションに組み込まないようにする。一方、別のプログラム要素をアプリケーションに組み込む場合、作成者により「機能の追加」と付されたソフトボタンＢ４が選択されると、制御部２１は組み込む候補となるプログラム要素を作成者に指定させる画面（図示せず）をＵＩ部２４に表示させる。ここで、制御部２１は、例えば、追加可能なプログラム要素をＵＩ部２４に一覧表示させるが、別のテンプレートに組み込まれたプログラム要素を追加可能なプログラム要素として表示させてもよい。
また、ステップＳ８の処理では、制御部２１は、アプリケーションに対する設定を示す設定情報を指定する操作を、ＵＩ部２４により受け付ける。
【００４０】
図１２は、アプリケーションに対する設定情報が指定されるときの第１作成者端末２０ａでの画面表示の例を示す図である。図１２（ａ）は、「道案内機能」（機能Ｄ）について設定情報が指定されるときの画面表示を示す図である。
道案内機能（機能Ｄ）においては、サーバ装置１０は、道案内に用いられる利用者の自宅等の出発地点を設定情報として、その指定を受け付ける。その際に、図１２に示す設定情報入力画面がＵＩ部２４に表示される。設定情報入力画面では、「マップから選ぶ」と付されたソフトボタンＢ６と、「設定情報で選ぶ」と付されたソフトボタンＢ７とが配置されている。作成者は、ソフトボタンＢ６，Ｂ７のいずれかを選択して設定情報を指定する。
【００４１】
ここで、作成者は、設定情報ＤＢ１３２に記憶されている設定情報を利用しないで設定情報を指定する場合、ソフトボタンＢ６を選択する。制御部２１は、ソフトボタンＢ６の操作を受け付けると、図１３（ａ）に示すような設定情報入力画面をＵＩ部２４に表示させる。ここにおいて、制御部２１は、ＵＩ部２４にマップを表示させて、利用者の出発地点を作成者に手動設定させる。作成者は、例えば、マップの縮尺を変更したり表示エリアを変更させるなどの操作を行って、出発地点を指定する操作を行う。
なお、「★」で表したマークＭ１は目的地点を表していて、設定情報の入力とは違う機会に指定されている。
【００４２】
一方、作成者は、設定情報ＤＢ１３２に記憶されている設定情報を利用する場合、ソフトボタンＢ７を選択する。このとき、制御部２１は、設定情報提示要求を無線通信部２３によりサーバ装置１０宛てに送信する（ステップＳ９）。設定情報提示要求には、アプリケーションの利用者の利用者ＩＤと、第１作成者端末２０ａの作成者ＩＤと、設定ＩＤとが含まれている。
なお、必要な設定情報に対応する設定ＩＤは、例えば、テンプレートやプログラム要素に対応して予め規定されていればよい。
【００４３】
サーバ装置１０の制御部１１は、設定情報提示要求を通信部１２により受信すると、設定情報の提示可否を判断する（ステップＳ１０）。制御部１１は、設定情報ＤＢ１３２において、設定情報提示要求に含まれる利用者ＩＤと、設定ＩＤとに対応付けられたフィールドを参照する。ここでは、サーバ装置１０は、作成者ＩＤ「ＭＩＤ００１」、利用者ＩＤ「ＵＩＤ１０１」及び設定ＩＤ「住所」を含む設定情報提示要求を受信したとする。この場合、制御部３１は、設定情報ＤＢ１３２における図４の第１行のレコードの開示情報として、開示可否「○」及び開示範囲「家族、友人」を特定する。
なお、作成者ＩＤ「ＭＩＤ００１」にも利用者ＩＤ「ＵＩＤ１０１」及び設定ＩＤ「住所」に対応付けられたフィールドが存在するが、設定ＩＤ「住所」のフィールドがブランクであるため、制御部３１は設定情報提示要求に応じた特定の対象としない。
【００４４】
そして、制御部１１は、作成者ＩＤに基づいて、第１作成者端末２０ａのユーザたる作成者が、アプリケーションの利用者の家族又は友人に該当すると判定した場合に限って、設定情報を開示する。このようなアプリケーションの作成者と利用者との関係は、例えば、作成者ＩＤ及び利用者ＩＤを用いて事前に利用者によって設定されて、サーバ装置１０の記憶部１３に記憶されていればよい。また、この関係は、利用者端末３０において電話帳登録された内容で規定される関係に従ってもよい。
【００４５】
制御部１１は、作成者が利用者の友人と判定して、設定情報の開示を許可すると判定すると、第１作成者端末２０ａ宛てに通信部１２により設定情報を送信する（ステップＳ１１）。
なお、制御部３１は、開示対象の設定情報が複数存在する場合には、それら複数の中からいずれかひとつを選択させる形式で設定情報を送信すればよい。
【００４６】
第１作成者端末２０ａの制御部２１は、無線通信部２３により設定情報を受信すると、受信した設定情報に応じて、図１３（ｂ）に示すような設定情報入力画面をＵＩ部２４に表示させる。ここにおいて、制御部２１は、図１３（ｂ）に示すようにマップをＵＩ部２４に表示させるとともに、設定情報で示される利用者の自宅を出発地点として設定しておく。図１３（ｂ）において、「★」で表したマークＭ１は目的地点を表していて、「☆」で表したマークＭ２は、設定情報により指定された出発地点を表している。この場合、作成者は、この設定情報を利用することを了承する操作のみを行えばよく、例えばマップの縮尺を変更したり表示エリアを変更させたり、マップを見て出発地点を指定したりする操作を行わなくてよい。これにより、作成者にしてみれば、設定情報を手動設定で指定する場合に比べて操作負担が減る。
一方、サーバ装置１０が設定情報の開示を許可しないと判定した場合、設定情報提示要求を受信した場合であっても、設定情報を提示しない。
【００４７】
制御部２１は、作成者から設定情報の利用指示を受け付けると（ステップＳ１２）、アプリケーションの作成指示を、無線通信部２３によりサーバ装置１０宛てに送信する（ステップＳ１３）。この作成指示には、アプリケーションに組み込むプログラム要素を選択するための要素ＩＤや、そのアプリケーションに対する設定を示す設定情報が含まれている。
【００４８】
サーバ装置１０の制御部１１は、作成指示を通信部１２により受信してこれを取得すると、作成指示に従ってアプリケーションを作成する（ステップＳ１４）。ここでは、制御部１１は、作成指示に含まれる要素ＩＤに対応付けられたプログラム要素をプログラム要素ＤＢ１３１から取得してアプリケーションに組み込み、更に、作成指示により取得した設定情報が示す設定を行ってアプリケーションを作成する。
なお、第１作成者端末２０ａは、ステップＳ８，１２の処理でアプリケーションの作成に関するすべての指示を受け付けてから、サーバ装置１０宛てに作成指示や利用指示を送信する構成である必要はない。例えば、ＵＩ部２４によりアプリケーションの作成に関する操作が行われたびに、第１作成者端末２０ａはその操作に応じた作成指示や利用指示を送信してもよい。この場合、サーバ装置１０は、操作のたびにその操作後に対応する画面表示を行わせるための画面情報を、第１作成者端末２０ａ宛てに送信すればよい。また、ステップＳ９の処理で送信される設定情報提示要求に設定ＩＤが含まれていなくてもよい。この場合、サーバ装置１０は、ステップＳ１１の処理で利用者に対応して開示可能な設定情報をすべて作成者に開示し、必要な設定情報を第１作成者端末２０ａ側で選択させてもよい。
【００４９】
次に、サーバ装置１０の制御部１１は、アプリケーションの作成が完了すると、そのアプリケーションを利用者に提供するべく、ステップＳ４の処理で取得した利用者ＩＤが示す利用者の利用者端末３０宛てに、通信部１２によって送信する（ステップＳ１５）。ここでは、制御部１１は、記憶部１３におけるアプリケーションの格納場所を記述した電子メールを利用者端末３０宛てに送信し、利用者端末３０からこの格納場所を指定したアプリケーションの送信要求を受信してから、アプリケーションを送信してもよい。
なお、サーバ装置１０は各利用者ＩＤに対応付けて、利用者にアプリケーションを提供するための電子メールを記憶しているものとする。
【００５０】
以上のようにアプリケーションが提供された利用者端末３０においては、制御部３１が無線通信部３３によりアプリケーションを受信すると、そのアプリケーションを実行する。
例えば、制御部１１は、アプリケーションを実行することにより、図１４に示すような実行画面をＵＩ部３４に表示させる。図１４（ａ）は、出発地点から目的地点までのルート表示を行った場合の画面表示例を表したものである。この場合、出発地点から目的地点までの最短ルートが矢印でマップ上に表される。図１４（ｂ）は、利用者端末３０でのＧＰＳ測位により得た利用者の現在位置もマップ上に表示した場合の画面表示例を表したものである。この場合、利用者の現在位置（マークＭ３で図示）と、出発地点と、目的地点とがマップ上に表示されていて、利用者は両者の位置関係を視覚的に把握することができる。
以上が、アプリケーション作成システム１の動作の説明であるが、設定情報ＤＢ１３２からサーバ装置１０が取得した設定情報の利用方法は、どのようなアプリケーションを作成するかによって異なるものである。
【００５１】
例えば、ご案内テンプレートを用いてディナーパーティーへの案内のためのアプリケーションを作成する場合に、利用者が希望する料理を主催者側で把握したい場合がある。このとき、図１５に示すようなアプリケーションの実行画面を利用者端末３０のＵＩ部３４に表示させて希望する料理を選択させたいとする。このようなアプリケーションでは、利用者が指定する可能性が高いと推測される料理に対応したソフトボタンを利用者が選択しやすいことが好ましい。
【００５２】
図１６は、第１作成者端末２０ａにおいて、このアプリケーションの作成時に設定情報が指定されるときの画面表示の例を示す図である。
ここにおいて、サーバ装置１０は、アプリケーションの実行画面において優先的に提示させる料理のジャンルを設定情報として作成者に指定させる。設定情報入力画面では、「設定情報で選ぶ」と付されたソフトボタンＢ８と、プルダウンメニューＰ１〜Ｐ３が配置されている。作成者はソフトボタンＢ８を選択するか、プルダウンメニューＰ１〜Ｐ３を選択して設定情報を入力する。
【００５３】
ここにおいて、作成者は、設定情報ＤＢ１３２に記憶されている設定情報を利用しないで設定情報を入力する場合、プルダウンメニューＰ１〜Ｐ３を用いて手動設定により料理のジャンルを選択し、図１６（ｂ）に示すような結果を得る。一方、作成者は、設定情報ＤＢ１３２に記憶されている設定情報を利用する場合、ソフトボタンＢ８を選択する。この場合、アプリケーション作成システム１では、上記ステップＳ９〜Ｓ１１の処理ステップが実行されて、第１作成者端末２０ａは設定情報を得ることができる。ここにおいて、設定情報ＤＢ１３２には、図４の第３行に示すように、作成者ＩＤ「ＭＩＤ００２」、利用者ＩＤ「ＵＩＤ１０１」及び設定ＩＤ「料理」に対応付けて、設定情報「イタリアン→フレンチ→和食」と記述されている。このような設定情報を取得した第１作成者端末２０ａは、優先順位が高い料理をプルダウンメニューＰ１〜Ｐ３により自動選択して、図１６（ｂ）に示すような結果を表示する
この場合にも、設定情報の入力支援により、作成者は料理をプルダウンメニューで選ぶ必要がないから、その分の作成者の操作負担が減る。
【００５４】
どのプログラム要素がアプリケーションに組み込まれる場合にも、サーバ装置１０が設定情報ＤＢ１３２から設定情報を取得してアプリケーションに対する設定を行うことにより、アプリケーションに対する設定に関する作成者の操作負担を減らすことができる。例えば、映画鑑賞会の案内をするためのアプリケーションの作成では、サーバ装置１０は、鑑賞する映画のジャンルを利用者に選択させたい場合がある。この場合、サーバ装置１０は、設定ＩＤ「映画」に対応する設定情報を設定情報ＤＢ１３２から取得すればよい。また、飲み会を開催するためのアプリケーションの作成では、サーバ装置１０は会場の最寄駅を利用者に選択させたい場合がある。この場合、サーバ装置１０は、設定ＩＤ「最寄駅」に対応する設定情報を設定情報ＤＢ１３２から取得すればよい。
このように、作成者が何らかの設定を行う必要のあるプログラム要素がアプリケーションに組み込まれるのであれば、サーバ装置１０が設定情報ＤＢ１３２から設定情報を取得することによって、設定情報の指定に係る作成者の操作負担を減らすことができる。
【００５５】
以上説明したように、サーバ装置１０は、アプリケーションの作成者によりアプリケーションの利用者に対応して設定された設定情報を、その作成者の作成者ＩＤと、利用者を識別する利用者ＩＤとに対応付けて記憶する設定情報ＤＢ１３２を有している。そして、サーバ装置１０は、利用者に提供されるアプリケーションが第１作成者により作成される場合に、この第１作成者と異なる第２作成者の作成者ＩＤとこの利用者の利用者ＩＤとに対応付けて設定情報ＤＢ１３２に記憶された設定情報を取得し、取得した設定情報が示す設定をしてアプリケーションを作成する。
このように、プリケーション作成システム１では、アプリケーションに対する設定を示す設定情報を複数の作成者同士で共有できる。これにより、アプリケーションの作成者は、他の作成者によって指定された設定情報をも利用することができ、自身が過去に利用した設定情報のみを利用する場合に比べて、設定情報の指定に係る操作負担が更に減ることとなる。
【００５６】
更に、設定情報ＤＢ１３２には開示情報が記述されていて、各設定情報の開示可否や開示範囲が規定されている。このように、設定情報ＤＢ１３２内のすべての設定情報がすべての作成者に開示されるわけでないから、住所等の機密性の高い情報が設定情報に含まれていても、このような設定情報が利用者が知らない第三者にまで開示されてしまうことを抑えられる。
【００５７】
［第２実施形態］
次に、本発明の第２実施形態を説明する。
上述した第１実施形態のアプリケーション作成システム１では、作成者により開示情報が指定されていたが、アプリケーションの利用者が自身に関する設定情報の開示情報を指定してもよい。アプリケーション作成システム１の各装置のハードウェア構成は基本的には上述した第１実施形態と同じである。
【００５８】
図１７は、アプリケーション作成システム１の機能的構成を示す機能ブロック図である。図１７において、上述した第１実施形態と同等に機能する機能ブロックは同じ符号を付して表しその説明を省略する。サーバ装置１０は、提示部１０１、設定情報送信部１０２、指示受付部１０３、アプリケーション作成部１０４、及びアプリケーション提供部１０５のほか、開示情報取得部１０６に相当する機能を実現する。利用者端末３０は、開示情報受付部３０１と、開示情報送信部３０２とに相当する機能を実現する。
開示情報受付部３０１は、利用者により指定された開示情報の入力を受け付ける。
開示情報送信部３０２は、開示情報受付部３０１が受け付けた開示情報をサーバ装置１０宛てに送信する。
開示情報取得部１０６は、設定情報ＤＢ１３２に記述される開示情報を取得する。ここにおいて、開示情報取得部１０６は、開示情報送信部３０２により送信された開示情報を取得して、設定情報ＤＢ１３２を更新する。
【００５９】
図１８は、アプリケーション作成システム１の処理の流れを示すシーケンスチャートである。
アプリケーション作成システム１では、上述した第１実施形態と同様にして、設定情報が指定されてアプリケーションの作成が行われる（ステップＳ１〜Ｓ４）。その後、上記処理ステップＳ５〜Ｓ１４が実行されてアプリケーションが利用者端末３０に提供されると（ステップＳ１５）、利用者端末３０の制御部３１は、提供されたアプリケーションに対して指定された設定を示す設定情報について、開示情報の指定を利用者に促す。そして、制御部３１は、開示情報の指定を利用者のＵＩ部３４の操作により受け付ける（ステップＳ１６）。ここでは、利用者端末３０は、サーバ装置１０により設定ＩＤ「住所」の設定情報「神奈川県横須賀市・・・」についての開示情報の指定を要求されたものとする。
【００６０】
次に、制御部３１は、指定された開示情報と、この開示情報に対応する設定情報の設定ＩＤとを、無線通信部３３によりサーバ装置１０宛てに送信する（ステップＳ１７）。ここにおいて、利用者ＩＤ「ＵＩＤ１０１」の利用者により、設定ＩＤ「住所」に対応して開示可否「○」及び開示範囲「家族、友人」が指定されて、その指定結果が利用者端末３０からサーバ装置１０に送信されたとする。
【００６１】
サーバ装置１０の制御部１１は、通信部１２によりステップＳ１７の処理で送信された開示情報と設定ＩＤとを受信すると、受信した開示情報と設定ＩＤとに応じて設定情報ＤＢ１３２を更新する（ステップＳ１８）。ここにおいて、制御部１１は、受信した設定ＩＤと開示情報とを、第１作成者端末２０ａの作成者ＩＤ「ＭＩＤ００１」と利用者ＩＤ「ＵＩＤ１０１」とに対応付けて記述するように、設定情報ＤＢ１３２を更新する。これにより、図１９に太枠で囲んで示すように、設定情報ＤＢ１３２において、作成者ＩＤ「ＭＩＤ００１」と、利用者ＩＤ「ＵＩＤ１０１」と、設定ＩＤ「住所」と、設定情報「神奈川県横須賀市・・・」とに対応付けて、開示情報として開示可否「○」及び開示範囲「家族、友人」が対応付けられる。
以上のような設定情報ＤＢ１３２の更新は、第２作成者端末２０ｂにおけるアプリケーションの作成時に限らず、任意のタイミングで行われてもよい。
【００６２】
以上説明した第２実施形態によれば、上述した第１実施形態と同等の作用効果を奏するとともに、設定情報の開示可否や開示範囲を利用者自身で指定することができる。これにより、複数の作成者同士で設定情報を共有することを可能にしつつ、利用者が希望しない作成者にまで自身に対応する設定情報が利用されることを、より確実に回避することができる。
【００６３】
［変形例］
本発明は、上述した実施形態と異なる形態で実施することが可能である。本発明は、例えば、以下のような形態で実施することも可能である。また、以下に示す変形例は、各々を適宜に組み合わせてもよい。
［変形例１］
上述した各実施形態では、開示範囲は、アプリケーションの利用者の友人や家族など、作成者と利用者との関係がグループによって規定されていたが、作成者ＩＤを用いるなどして個人単位で指定されてもよい。
【００６４】
［変形例２］
上述した第１実施形態では、作成者により開示情報が指定され、上述した第２実施形態では、利用者により開示情報が指定されていたが、サーバ装置１０が開示情報を自動設定してもよい。例えば、サーバ装置１０は、設定ＩＤ毎に対応する開示情報を予め記憶しており、この記憶内容に従えばよい。これにより、サーバ装置１０は、住所については常に開示を不許可としたり家族のみに開示を許可して、映画や料理については更に多くの作成者に設定情報を開示したりすることで、開示情報の指定に係る作成者又は利用者の操作負担を減らすことができる。
また、設定情報の項目によっては、すべての作成者に開示して差し支えない場合もありうる。この場合、開示情報に関する構成をアプリケーション作成システム１から省くことも可能である。
【００６５】
［変形例３］
上述した各実施形態において、サーバ装置１０は、設定情報ＤＢ１３２に記憶された一の設定情報が示す設定を、プログラム要素ＤＢ１３１から選択した複数のプログラム要素に対して行ってアプリケーションを作成してもよい。例えば、一のアプリケーションに組み込まれた複数のプログラム要素において、設定ＩＤ「住所」の設定情報の指定が必要な場合に、第１作成者端末２０ａにより設定ＩＤ「住所」に対応する設定情報が一度指定されると、サーバ装置１０は、設定情報ＤＢ１３２から取得した住所に対応する設定情報を、アプリケーション内の複数のプログラム要素で共用するようにアプリケーションを作成すればよい。
この変形例の構成によれば、アプリケーションに組み込まれた複数のプログラム要素において同一の設定情報の指定が必要な場合において、逐一設定情報を指定する必要がない分だけ、作成者の操作負担が更に減ることとなる。
【００６６】
［変形例４］
アプリケーション作成システム１において、サーバ装置１０は、利用者による利用実績に応じて設定したパラメータに応じて提示方法を規定していたが、他の作成者により指定されたパラメータ、プログラム要素のアルゴリズム解析の結果に応じたパラメータ、又はそれらの複数を組み合わせで決定したパラメータにより提示方法を規定してもよい。アルゴリズム解析を採用する場合、サーバ装置１０は、プログラム要素のアルゴリズムの解析結果に応じて、処理内容が複雑であったり利用者の操作負担が大きかったりするものほど使い勝手が悪いと判定して、パラメータの値を大きくする。
また、アプリケーション作成システム１では、利用者毎に個別のパラメータを設定していたが、複数の利用者のパラメータの統計結果（例えば、平均値や中央値）を用いて、複数ユーザで共通のパラメータを設定してもよい。ある利用者にとって使い勝手が良い機能は、他の利用者にとっても使い勝手が良い機能であることは多いし、ある利用者にとって使い勝手が悪い機能は、他の利用者にとっても使い勝手が良い機能であることは悪いと考えられるからである。
また、本発明は、このようなパラメータの概念を有しないものであってもよい。この場合、サーバ装置１０は、予め決められた提示方法で各機能を作成者に対し提示すればよい。
［変形例５］
上述した各実施形態では、サーバ装置１０及び作成者端末２０の協働によりアプリケーションを作成していたが、このために必要な構成要素をすべて作成者端末２０が備えていてもよい。
図２０は、この変形例の作成者端末２０の機能的構成を示す機能ブロック図である。図２０に示すように、作成者端末２０は、提示部１０１と、指示受付部１０３と、アプリケーション作成部１０４と、アプリケーション提供部１０５と、要素表示部２０１と、作成指示部２０２とに相当する機能を実現する。
本変形例において、作成者端末２０がプログラム要素ＤＢ１３１を有するが、更新データを外部サーバ（図示せず）から受信することでプログラム要素ＤＢ１３１を更新してもよい。また、プログラム要素ＤＢ１３１が外部サーバにあり、作成者端末２０が外部サーバからプログラム要素をダウンロードしてアプリケーションを作成する構成であってもよい。また、設定情報ＤＢ１３２は、自端末の端末ＩＤが作成者ＩＤに記述されたフィールドだけが記述されていて、他の作成者に関するデータについては作成者端末２０がその作成者の作成者端末２０から通信により取得してもよい。
なお、この変形例においては、作成者端末２０が本発明のアプリケーション作成装置に相当する。
【００６７】
また、サーバ装置１０がプログラム要素や設定情報の提示に係る構成と、提示結果を用いてアプリケーションを作成する構成との双方を有していたが、それぞれ別の装置が有していてもよい。この場合、第１のサーバ装置が、提示部１０１と、設定情報送信部１０２とを実現し、第２のサーバ装置が指示受付部１０３と、アプリケーション作成部１０４と、アプリケーション提供部１０５とに相当する機能を実現すればよい。
この変形例のアプリケーション作成システム１の構成であっても、パラメータＤＢ１３３とプログラム要素ＤＢ１３１とにおける要素ＩＤが共通しているので、上述した各実施形態と同様にしてアプリケーションを作成可能である。
この変形例においては、第１のサーバ装置及び第２のサーバ装置の協働により本発明のアプリケーション作成装置が構成される。
【００６８】
［変形例６］
また、サーバ装置１０、作成者端末２０及び利用者端末３０のそれぞれが実現する各機能は、複数のプログラムの組み合わせによって実現され、又は、複数のハードウェア資源の協働によって実現されうる。
【符号の説明】
【００６９】
１…アプリケーション作成システム、１０…サーバ装置、１０１…提示部、１０２…設定情報送信部、１０３…指示受付部、１０４…アプリケーション作成部、１０５…アプリケーション提供部、１０６…開示情報取得部、１１…制御部、１２…通信部、１３…記憶部、２０…作成者端末、２０ａ…第１作成者端末、２０ｂ…第２作成者端末、２０１…要素表示部、２０２…作成指示部、２１，３１…制御部、２２，３２…音声入出力部、２３，３３…無線通信部、２４，３４…ＵＩ部、２５，３５…記憶部、３０…利用者端末、３０１…開示情報受付部、３０２…開示情報送信部
【図１】
0005649180.tif 000002
【図２】
0005649180.tif 000003
【図３】
0005649180.tif 000004
【図４】
0005649180.tif 000005
【図５】
0005649180.tif 000006
【図６】
0005649180.tif 000007
【図７】
0005649180.tif 000008
【図８】
0005649180.tif 000009
【図９】
0005649180.tif 000010
【図１０】
0005649180.tif 000011
【図１１】
0005649180.tif 000012
【図１２】
0005649180.tif 000013
【図１３】
0005649180.tif 000014
【図１４】
0005649180.tif 000015
【図１５】
0005649180.tif 000016
【図１６】
0005649180.tif 000017
【図１７】
0005649180.tif 000018
【図１８】
0005649180.tif 000019
【図１９】
0005649180.tif 000020
【図２０】
0005649180.tif 000021