JP5654959B2 - アプリケーション作成装置、アプリケーション作成システム及びアプリケーション作成方法 - Google Patents

アプリケーション作成装置、アプリケーション作成システム及びアプリケーション作成方法 Download PDF

Info

Publication number
JP5654959B2
JP5654959B2 JP2011168653A JP2011168653A JP5654959B2 JP 5654959 B2 JP5654959 B2 JP 5654959B2 JP 2011168653 A JP2011168653 A JP 2011168653A JP 2011168653 A JP2011168653 A JP 2011168653A JP 5654959 B2 JP5654959 B2 JP 5654959B2
Authority
JP
Japan
Prior art keywords
application
program
user
unit
parameter
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2011168653A
Other languages
English (en)
Other versions
JP2013033359A (ja
Inventor
中川 智尋
智尋 中川
千章 土井
千章 土井
克規 木南
克規 木南
太田 賢
賢 太田
稲村 浩
浩 稲村
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NTT Docomo Inc
Original Assignee
NTT Docomo Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NTT Docomo Inc filed Critical NTT Docomo Inc
Priority to JP2011168653A priority Critical patent/JP5654959B2/ja
Publication of JP2013033359A publication Critical patent/JP2013033359A/ja
Application granted granted Critical
Publication of JP5654959B2 publication Critical patent/JP5654959B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Stored Programmes (AREA)

Description

本発明は、アプリケーションプログラムの作成を支援する技術に関する。
ユーザのプログラム言語の理解能力やプログラミング能力の高低に関わらず、そのユーザが手軽にアプリケーションプログラム(以下、「アプリケーション」と省略する。)を作成することができるよう、その作成を支援する技術が提案されている。例えばビジュアルプログラミング言語を用いれば、ユーザはアプリケーションへ組み込むことが可能な機能を視覚的に理解し、それらの機能を組み合わせる操作によって、アプリケーションを作成することができる。このような支援技術の進展により、今後もアプリケーションの作成者となるユーザの裾野は広がると考えられる。アプリケーションの作成を支援する技術として、特許文献1及び特許文献2に開示された技術も提案されている。
特許文献1は、画面生成処理の実装とアプリケーション処理の実装とを分離し、画面遷移のシミュレーションや処理内容の可視化を行うための技術を開示している。特許文献1に記載の発明によれば、簡易な画面デザインのための知識でアプリケーションの画面遷移を定義することができ、実装漏れを防止し、アプリケーションに必要な画面のデザイン及び動作の仕様を確定するまでの時間を短縮することができる。特許文献2は、アプリケーションの作成時に各プログラム部品の利用実績を記録し、以前に利用されたアプリケーションにおいて、各プログラム部品がどのプログラム部品と組み合わせて使用されたかを参照可能にする技術を開示している。特許文献2に記載の発明によれば、アプリケーションの作成者の過去の利用実績から、相性の良い実績のある組み合わせを参考できるようにプログラム部品を取捨選択して、新しいアプリケーションの作成を支援することができる。
特開2004−110362号公報 特開平9−258975号公報
ところで、アプリケーションの作成者は、利用者のニーズに合致した仕様のアプリケーションを作成したい場合があり、この観点から実装候補となる機能を取捨選択できるような支援技術が求められると考えられる。特許文献1に記載の発明は、アプリケーションへの実装を推奨する機能を作成者に選択させやすくする仕組みを有しておらず、作成者が実装機能の選択に迷うことがあると考えられる。特許文献2に記載された発明は、アプリケーションの作成者の過去における利用実績に照らして好適なプログラム部品を提示するものであり、言い換えれば、作成者の主観に基づいて推奨するプログラム部品を提示するものである。しかしながら、アプリケーションの利用者には、特定の機能を使い慣れた利用者もいれば、そうではない利用者もいるように、作成者の主観だけを考慮してプログラム部品を提示することが、必ずしも利用者のことを考慮した仕様のアプリケーションの作成の助けになるとは限らない。
これに対し、本発明の目的は、アプリケーションへ組み込む候補となるプログラム要素の利用者に対する推奨度合いを、アプリケーションの作成者に意識させることである。
上述した課題を解決するため、本発明のアプリケーション作成装置は、アプリケーションプログラムに組み込まれる候補となるプログラム要素を蓄積する蓄積部と、前記アプリケーションプログラムの利用者に対応して、前記蓄積部に蓄積されたプログラム要素毎の推奨度合いを示すパラメータを設定するパラメータ設定部と、前記利用者に提供されるアプリケーションプログラムが作成される際、当該利用者に対応して前記パラメータ設定部が設定したパラメータに応じた提示方法で、前記蓄積部に蓄積されたプログラム要素を提示する提示部と、前記提示部が提示したプログラム要素から指示されたプログラム要素を組み込んで、アプリケーションプログラムを作成するアプリケーション作成部とを備えることを特徴とする。
本発明のアプリケーション作成装置において、前記アプリケーション作成部により作成されたアプリケーションプログラムに組み込まれたプログラム要素毎に、当該アプリケーションプログラムを実行した前記利用者の端末装置での利用実績を取得する利用実績取得部を備え、前記パラメータ設定部は、前記利用実績取得部により取得された利用実績に応じて前記パラメータを設定するようにしてもよい。
このアプリケーション作成装置において、前記利用実績取得部は、前記利用者を識別する利用者IDとともに前記利用実績を取得し、前記パラメータ設定部は、前記利用実績取得部により取得された利用者IDが示す利用者毎に、前記利用実績に応じて前記パラメータを設定するようにしてもよい。
本発明のアプリケーション作成装置において、前記アプリケーション作成部により作成されたアプリケーションプログラムの作成者とは別の作成者により入力された、前記パラメータを指定する入力情報を取得する入力情報取得部を備え、前記パラメータ設定部は、前記入力情報取得部により取得された入力情報に応じて前記パラメータを設定するようにしてもよい。
本発明のアプリケーション作成装置において、前記蓄積部に蓄積された各プログラム要素のアルゴリズムを解析する解析部を備え、前記パラメータ設定部は、前記解析部による前記プログラム要素毎の解析結果に応じて、当該プログラム要素の前記パラメータを設定するようにしてもよい。
本発明のアプリケーション作成システムは、アプリケーション作成装置と、アプリケーションプログラムの作成者により操作される端末装置とを備えるアプリケーション作成システムであって、前記アプリケーション作成装置は、アプリケーションプログラムに組み込まれる候補となるプログラム要素を蓄積する蓄積部と、前記アプリケーションプログラムの利用者に対応して、前記蓄積部に蓄積されたプログラム要素毎の推奨度合いを示すパラメータを設定するパラメータ設定部と、前記利用者に提供されるアプリケーションプログラムが作成される際、当該利用者に対応して前記パラメータ設定部が設定したパラメータに応じた提示方法で、前記蓄積部に蓄積されたプログラム要素を提示する提示部と、前記提示部が提示したプログラム要素から前記端末装置により指示されたプログラム要素を組み込んで、アプリケーションプログラムを作成するアプリケーション作成部とを有し、前記端末装置は、前記提示部により提示されたプログラム要素のいずれかが前記作成者の操作により選択されると、選択されたプログラム要素を組み込んだアプリケーションプログラムの作成を、前記アプリケーション作成装置に指示する作成指示部を有していることを特徴とする。
本発明のアプリケーション作成方法は、アプリケーションプログラムの利用者に対応して、当該アプリケーションプログラムに組み込まれる候補となるプログラム要素を蓄積する蓄積部に蓄積されたプログラム要素毎の推奨度合いを示すパラメータを設定するパラメータ設定ステップと、前記利用者に提供されるアプリケーションプログラムが作成される際、当該利用者に対応して前記パラメータ設定ステップにおいて設定されたパラメータに応じた提示方法で、前記蓄積部に蓄積されたプログラム要素を提示する提示ステップと、前記提示ステップで提示したプログラム要素から指示されたプログラム要素を組み込んで、アプリケーションプログラムを作成するアプリケーション作成ステップとを有することを特徴とする。
本発明によれば、アプリケーションへ組み込む候補となるプログラム要素の利用者に対する推奨度合いを、アプリケーションの作成者に意識させることができる。
アプリケーション作成システムの全体構成を示す図。 サーバ装置のハードウェア構成を示すブロック図。 プログラム要素DBのデータ構造を示す図。 パラメータDBのデータ構造を示す図。 作成者端末のハードウェア構成を示すブロック図。 利用者端末のハードウェア構成を示すブロック図。 利用実績DBのデータ構造を示す図。 アプリケーション作成システムの機能的構成を示す機能ブロック図。 アプリケーション作成システムの処理の流れを示すシーケンスチャート。 作成者端末における画面表示の例を示す図。 作成者端末における画面表示の例を示す図。 作成者端末における画面表示の例を示す図。 作成者端末における画面表示の例を示す図。 作成者端末における画面表示の例を示す図。 パラメータDBのデータ構造を示す図。 アプリケーション作成システムの機能的構成を示す機能ブロック図。 アプリケーション作成システムの処理の流れを示すシーケンスチャート。 パラメータDBのデータ構造を示す図。 アプリケーション作成システムの機能的構成を示す機能ブロック図。 アプリケーション作成システムの処理の流れを示すシーケンスチャート。 作成者端末の機能的構成を示す図。 アプリケーション作成システムの機能的構成を示す機能ブロック図。
以下、図面を参照しつつ本発明の実施形態を説明する。
[第1実施形態]
図1は、アプリケーション作成システム1の全体構成を示す図である。
アプリケーション作成システム1は、サーバ装置10と、作成者端末20と、利用者端末30とを備える通信システムである。図1には、作成者端末20のうち作成者端末20a,20bの2つのみを図示し、利用者端末30のうち1つのみを図示している。アプリケーション作成システム1を構成する各装置は、ネットワークNW経由で互いに通信可能に接続されている。ネットワークNWは、ここでは、移動体通信網、ゲートウェイ及びインターネットを含む通信網である。
サーバ装置10は、アプリケーションを作成するためのサービスを提供するアプリケーション作成装置である。サーバ装置10は、アプリケーションに組み込む候補となるプログラム要素を、作成者端末20によりアプリケーションの作成者に提示する。作成者端末20及び利用者端末30は、ここでは各々がスマートフォンである。作成者端末20は、アプリケーションの作成者(以下、単に「作成者」ということがある。)により所有される端末装置である。利用者端末30は、作成者端末20により作成されたアプリケーションの利用者(以下、単に「利用者」ということがある。)により所有される端末装置である。
なお、作成者端末20及び利用者端末30はスマートフォンに限らず、例えば、携帯電話端末やタブレット型端末、パーソナルコンピュータ、PDA(Personal Digital Assistant)等の他の端末装置であってもよい。また、作成者端末20及び利用者端末30は別々の端末装置とは限らず、アプリケーションの作成時には作成者端末20となり、アプリケーションの利用時には利用者端末30となることが可能である。
図2は、サーバ装置10のハードウェア構成を示すブロック図である。図2に示すように、サーバ装置10は、制御部11と、通信部12と、記憶部13とを備える。
制御部11は、CPU(Central Processing Unit)、ROM(Read Only Memory)及びRAM(Random Access Memory)を備えるマイクロプロセッサである。CPUは、ROMや記憶部13に記憶されたプログラムをRAMに読み出して実行することにより、サーバ装置10の各部を制御する。通信部12は、ネットワークNWに接続するためのインタフェースである。記憶部13は、例えばハードディスク装置を備え、ソフトウェアや各ソフトウェアを実行するためのOS(Operating System)のほか、プログラム要素DB(Data base)131、及びパラメータDB132を記憶する。プログラム要素DB131は、アプリケーションへ組み込まれる候補となるプログラム要素を蓄積するデータベース(要素蓄積部に相当。)である。パラメータDB132は、プログラム要素DB131に蓄積されたプログラム要素毎の推奨度合いを示すパラメータを記憶するデータベースである。
なお、サーバ装置10は、前掲以外のハードウェア以外にも、例えばキーボードやマウスを含み操作を受け付ける操作部等のハードウェアデバイスを備える。
図3は、プログラム要素DB131のデータ構造を示す図である。
図3に示すように、プログラム要素DB131は、「テンプレートID」と、「要素ID」と、「プログラム要素」とで示される各情報を対応付けて記憶するデータベースである。テンプレートIDは、アプリケーションの雛形となるテンプレートを識別する識別情報である。テンプレートは、アプリケーションの用途に応じて複数種類のデータが記憶部13に記憶されている。テンプレートは、例えば、利用者を所定の場所に案内するために用いられるアプリケーションを作成するためのナビゲーションテンプレートや、パーティ等のイベントの案内に用いられるアプリケーションを作成するためのご案内テンプレート、家庭での各人への家事の役割分担を管理するために用いられるアプリケーションを作成するための家事分担テンプレートである。本実施形態のアプリケーションは、比較的少人数向けに作成されるものを想定する。よって、アプリケーションの作成者は、ある目的のためにアプリケーションを作成する際に、利用者毎にアプリケーションの仕様を異ならせることが可能である。要素IDは、プログラム要素を識別する識別情報であり、ここでは、テンプレートに予め組み込まれた各プログラム要素を識別する。プログラム要素は、アプリケーションに組み込まれる候補となるプログラム要素であり、アプリケーションに実装される機能に対応している。
ここで、ナビゲーションテンプレートのテンプレートIDを「Temp1」とする。プログラム要素「prog101」は、要素ID「PID101」が割り当てられ、指定時刻に待ち合わせ相手の電話番号を表示し発信できる状態にする機能(以下、「機能A」又は「電話発信アシスト機能」と称する。)に対応したプログラム要素である。プログラム要素「prog102」は、要素ID「PID102」が割り当てられ、指定時刻に画面点灯が行われた場合に既に起床したことを示す電子メールを送信する機能(以下、「機能B」又は「起きたよメール機能」と称する。)に対応したプログラム要素である。プログラム要素「prog103」は、要素ID「PID103」が割り当てられ、指定時刻に画面点灯が行われない場合にメッセージを表示する機能(以下、「機能C」又は「スケジュール表示機能」と称する。)に対応したプログラム要素である。プログラム要素「prog104」は、要素ID「PID104」が割り当てられ、指定時刻に画面点灯が行われず、かつ、端末位置が指定範囲内である場合に電子メール(例えば、主催者に現在位置を通知するための電子メール)を送信する機能(以下、「機能D」又は「自動お知らせ機能」と称する。)に対応したプログラム要素である。
なお、画面点灯が行われない場合とは、利用者によって利用者端末30が利用されていない場合が想定され、具体的には、最後に利用者端末30が操作されてから所定時間経過した後や、折り畳み式の携帯電話端末であれば折り畳まれた状態である場合がありうる。
また、ご案内テンプレートのテンプレートIDを「Temp2」とする。このご案内テンプレートにも、ナビゲーションテンプレートと同様に、各機能に対応したプログラム要素が含まれる。家事分担テンプレートのテンプレートIDを「Temp3」とし、家事分担テンプレートにも各機能に対応したプログラム要素が含まれる。テンプレートに組み込まれているプログラム要素(機能)の内容は、テンプレート毎に異なるが、同じ機能に対応したプログラム要素が複数のテンプレートに組み込まれていることがある。
更に、前掲以外のテンプレートが記憶部13に記憶されていてもよい。また、プログラム要素としても、いわゆるリマインド機能を実現するものや、GPS(Global Positioning System)測位を用いて指定場所に利用者を道案内するための機能、特定のWebサイトへ誘導するためのハイパーリンクを画面表示させる機能、チェックリストを提供する機能に対応するもの等の、様々な機能に対応するものが想定される。
なお、図3に括弧書きした文字列は、各情報の理解を助けるために記載されたもので、プログラム要素DB131に実際に記憶された情報を意味するものではない。
図4は、パラメータDB132のデータ構造を示す図である。
図4に示すように、パラメータDB132は、「利用者ID」と、「要素ID」と、「パラメータ」とで示される各情報を対応付けて記憶するデータベースである。利用者IDは、利用者端末30のユーザを識別するユーザ識別情報である。利用者IDは、ここではアプリケーションの利用者に対して割り当てられ、各利用者に互いに重複しないように付された識別番号である。利用者IDは、これ以外にも、利用者端末30に割り当てられた電話番号、SIM(Subscriber Identity Module)カードから特定される端末識別情報等であってもよい。要素IDは、プログラム要素DB131に記述された要素IDと同じ情報である。パラメータは、プログラム要素DB131に蓄積されたプログラム要素毎に個別に設定されていて、プログラム要素の推奨度合いを示すパラメータである。
パラメータは、例えば、アプリケーションの利用者にとっての、プログラム要素に対応した機能の使い勝手の良さの指標となる値である。本実施形態のパラメータの値は、利用者端末30におけるプログラム要素の利用実績で定まり、アプリケーションの作成者の指示によらないで設定される。パラメータは、ここでは「1」、「2」、「3」の3段階の値のいずれかをとる。パラメータの値が小さいほど、利用者端末30でプログラム要素が利用された回数が多かったり、利用の頻度が高かったりすることを意味する。すなわち、パラメータの値が小さいほど、利用者にとって使い勝手が良い機能に対応したプログラム要素である、という判断の指標にすることができる。反対に、パラメータの値が大きいほど、利用者端末30でプログラム要素が利用された回数が少なかったり、利用の頻度が低かったりすることを意味する。すなわち、パラメータの値が大きいほど、利用者にとって使い勝手が良くない機能に対応したプログラム要素である、という判断の指標にすることができる。要するに、利用者の機能の使い勝手の良さの観点からいえば、パラメータの値が小さいほど、利用者に対するプログラム要素の推奨度合いが高い。
以上のようにパラメータは、アプリケーションの利用者毎に個別に、且つ、プログラム要素毎に個別に設定されている。
なお、本実施形態では、パラメータは、3段階の数値で表されているが、2段階の数値で表されてもよいし、4段階以上の数値で表されてもよい。
図5は、作成者端末20のハードウェア構成を示すブロック図である。図5に示すように、作成者端末20は、制御部21と、音声入出力部22と、無線通信部23と、UI(User Interface)部24と、記憶部25とを備える。
制御部21は、CPU、ROM、及びRAMを備えるマイクロプロセッサである。CPUは、ROMや記憶部25に記憶されたプログラムをRAMに読み出して実行することにより、作成者端末20の各部を制御する。音声入出力部22は、受話音声等を収音するマイクロホンと送話音声を放音するスピーカとを備え、音声の入出力に関する機能を実現する。音声入出力部22は、マイクロホンによって作成者端末20のユーザが発した音声を検出し、音声の検出結果を制御部21に出力する。無線通信部23は、無線通信回路やアンテナを備え、ネットワークNWに無線通信により接続するためのインタフェースである。UI部24は、画像を表示する表示面と、表示面に重ねられたタッチパネルとを備え、GUI(Graphical User Interface)を提供する。すなわち、UI部24は、タッチパネルによりユーザからの操作を受け付ける操作部と、表示面に表示する画像により情報を報知する表示部としての双方の機能を実現する。作成者端末20においては、操作部と表示部とがそれぞれ独立したハードウェアで実現されてもよい。記憶部25は、例えばEEPROM(Electronically Erasable and Programmable ROM)を備え、作成者端末20のユーザ(つまり、作成者)に割り当てられた作成者IDのほか、OSを含むソフトウェアを記憶する。
図6は、利用者端末30のハードウェア構成を示すブロック図である。
図6に示すように、利用者端末30は、制御部31と、音声入出力部32と、無線通信部33と、UI部34と、記憶部35とを備える。利用者端末30のハードウェア構成は、基本的には作成者端末20と同じである。すなわち、利用者端末30の各部は、作成者端末20の同名の構成要素と同等の構成を有する。
ただし、記憶部35は、利用者端末30のユーザ(つまり、利用者)に割り当てられた利用者ID及び利用実績DB351を記憶する。利用実績DB351は、利用者端末30が実行したアプリケーションに組み込まれていたプログラム要素毎の利用実績を蓄積するデータベースである。
なお、利用者端末30は、前掲以外のハードウェア以外にも、例えばGPS機能による測位を行う測位部等のハードウェアデバイスを備える。
図7は、利用実績DB351のデータ構造を示す図である。
図7に示すように、利用実績DB351は、「要素ID」と、「利用頻度」とで示される各情報を対応付けて記憶したデータベースである。要素IDは、プログラム要素DB131やパラメータDB132に記述された要素IDと同じ情報である。利用頻度は、ここでは、利用者端末30が実行したアプリケーションにプログラム要素が組み込まれていた回数に占める、このプログラム要素の利用回数の割合で表される。ここにおいて利用とは、例えば、そのプログラム要素に関する所定条件を満たす処理(例えば、画面表示)を利用者端末30が実行したことをいうが、少なくともアプリケーションに組み込まれたプログラム要素が制御部31によって実行されたという要件を含む。
なお、利用頻度を管理するために、利用者端末30が実行したアプリケーションにおいてプログラム要素が組み込まれていた回数や、このプログラム要素の利用回数を示すデータを利用者端末30は記憶している。
例えば、要素ID「PID101」のプログラム要素が、利用者端末30が過去に実行したアプリケーションに5回含まれていて、そのうち利用された回数が1回であった場合、図7に示すように利用頻度は「20%」となる。この利用頻度の値が大きいプログラム要素ほど、利用者によって利用された頻度が高いから、その利用者にとっては使い勝手の良い機能に対応すると判断することができる。反対に、利用頻度の値が小さいプログラム要素ほど、その利用者にとって使い勝手の悪い機能に対応すると判断することができる。以下、利用実績DB351で対応付けられた要素IDと利用頻度とのセットを、「利用実績」と称することがある。また、利用実績においては、利用頻度に代えて利用回数が用いられてもよく、この場合、利用回数が多いほど、利用者にとって使い勝手の良い機能に対応するという判断することができる。これ以外にも、同判断の指標とすることができる情報を、利用実績において利用頻度の代わりに採用してもよい。
続いて、アプリケーション作成システム1の機能的構成を説明する。
図8は、アプリケーション作成システム1の機能的構成を示す機能ブロック図である。
サーバ装置10は、提示部101と、指示受付部102と、アプリケーション作成部103と、アプリケーション提供部104と、利用実績取得部105と、パラメータ設定部106とに相当する機能を実現する。作成者端末20は、要素表示部201と、作成指示部202とに相当する機能を実現する。利用者端末30は、アプリケーション受信部301と、アプリケーション実行部302と、利用実績送信部303とに相当する機能を実現する。
提示部101は、利用者に提供されるアプリケーションプログラムが作成される際、この利用者に対応してパラメータDB132に記憶されたパラメータに応じた提示方法で、プログラム要素DB131に蓄積されたプログラム要素を提示する。ここでは、提示部101は、作成者端末20に対し通信によりプログラム要素を提示する。パラメータは、例えば、プログラム要素の配列(ソート)順やプログラム要素の提示の有無等の提示方法を規定するために、提示部101によって参照される。
作成者端末20の要素表示部201は、提示部101により提示されたプログラム要素を、提示部101で規定された提示方法に従って表示する。
作成指示部202は、要素表示部201により表示されたプログラム要素のいずれかが作成者により選択されると、選択されたプログラム要素を組み込んだアプリケーションプログラムの作成を、サーバ装置10に対し指示する。作成指示部202は、例えば、提示部101により提示されたプログラム要素のいずれかを選択する指示を行うが、これ以外のサーバ装置10に対する指示も行う。例えば、作成指示部202は、作成者がアプリケーションに対して設定することができる設定情報を指示する。設定情報は、アプリケーションの実行時に表示されるメッセージやその表示時刻など、アプリケーションに対して設定される情報で、アプリケーションを実行した装置の動作に関わる情報である。
サーバ装置10の指示受付部102は、作成指示部202からの指示を通信により受け付ける。指示受付部102は、提示部101が提示したプログラム要素から、作成者端末20によりアプリケーションに組み込むれたプログラム要素の選択指示を受け付ける。
アプリケーション作成部103は、指示受付部102が受け付けた指示に応じてプログラム要素DB131に蓄積されたプログラム要素を組み込んで、アプリケーションを作成する。
アプリケーション提供部104は、アプリケーション作成部103により作成されたアプリケーションを利用者端末30に送信して、利用者にアプリケーションを提供する。
利用者端末30のアプリケーション受信部301は、アプリケーション提供部104により送信されたアプリケーションを受信する。
アプリケーション実行部302は、アプリケーション受信部301により受信されたアプリケーションを実行する。アプリケーション実行部302は、アプリケーションを実行した際に、そのアプリケーションに組み込まれた各プログラム要素の利用の有無に応じて、利用実績DB351に蓄積された利用実績を更新する。
利用実績送信部303は、利用実績DB351に蓄積された利用実績を、利用者端末30のユーザ(利用者)に割り当てられた利用者IDとともに、サーバ装置10宛てに送信する。
利用実績取得部105は、利用者端末30から受信された利用実績と利用者IDとを取得する。
パラメータ設定部106は、利用実績取得部105により取得された利用実績と利用者IDとに応じて、パラメータDB132におけるプログラム要素毎のパラメータを設定する。例えば、パラメータ設定部106は、利用実績において利用頻度が高いプログラム要素ほどパラメータの値を小さくし、利用頻度が低いプログラム要素ほどパラメータの値を大きくするよう、各利用者に対応したパラメータを設定する。利用実績とパラメータの値との対応関係については、サーバ装置10において予め決められていればよい。
次に、アプリケーション作成システム1の動作を説明する。
図9は、アプリケーション作成システム1の処理の流れを示すシーケンスチャートである。図10〜図14は、それぞれ、アプリケーション作成システム1でのアプリケーションの作成過程における作成者端末20の画面表示の例を示す図である。
作成者端末20の制御部21は、作成者によるアプリケーションの作成開始を指示する操作をUI部24により受け付ける(ステップSA1)。ここでは、制御部21は、まず、図10(a)に示すテンプレート選択画面をUI部24に表示させる。図10(a)に示すように、テンプレート選択画面では、アプリケーションの作成に利用可能なテンプレートの名称を付したソフトボタンB1〜B3が配置されている。作成者は、自身が作成したいアプリケーションに応じて、UI部24を操作してテンプレートを選択する。また、制御部21は、どの利用者向けのアプリケーションを作成するのかを指定する操作をUI部24により受け付けて、その利用者に割り当てられた利用者IDを特定する。
なお、パラメータDB132には利用者端末30のユーザ(利用者)の利用者IDが記述されている。よって、サーバ装置10は、このパラメータDB132に記述された利用者IDのいずれかを作成者に指定させればよい。
次に、制御部21は、プログラム要素の提示要求を、無線通信部23によりサーバ装置10宛てに送信する(ステップSA2)。ここでは、制御部21は、使用するテンプレートのテンプレートIDと、アプリケーションを提供する利用者の利用者IDとを含む提示要求を送信する。ここでは、制御部21は、ナビゲーションテンプレートを示すテンプレートID「Temp1」と、利用者ID「UID001」とを含む提示要求を送信する。
サーバ装置10の制御部11は、通信部12により提示要求を受信すると、パラメータDB132を参照する(ステップSA3)。ここでは、制御部11は、パラメータDB132のうち、提示要求に含まれる利用者ID(ここでは、「UID001」)に対応するフィールドを参照する。
そして、制御部11は、プログラム要素DB131に蓄積されたプログラム要素の提示方法を規定する(ステップSA4)。ここでは、制御部11は、プログラム要素DB131において、提示要求に含まれるテンプレートID及び利用者IDに対応付けられたすべてのプログラム要素を提示対象とする。そして、制御部11は、パラメータDB132に記述されたパラメータの値が小さい順に提示対象のプログラム要素を配列(ソート)する、という提示方法を規定する。すなわち、制御部11は、利用者に対して推奨度合いがプログラム要素の配列順を先にするような提示方法を規定する。
なお、パラメータの値が同じであるプログラム要素が複数あった場合には、制御部11は、例えば、プログラム要素DB131において先(図中上側)に要素IDが記述されたプログラム要素を上位の配列順とする。ここでは、利用者ID「UID001」の作成者に対し、テンプレートID「Temp1」のテンプレートに基づいてプログラム要素を提示するから、制御部11は、図4に示すパラメータDB132に従って、「機能C」(要素ID;PID103)→「機能D」(要素ID;PID104)→「機能A」(要素ID;PID101)→「機能B」(要素ID;PID102)という提示方法を規定する。
次に、制御部11は、ステップSA4の処理で規定した提示方法に従って、作成者端末20に対しプログラム要素を提示する(ステップSA5)。ここでは、制御部11は、プログラム要素に対応する機能とその機能の説明とを付した画面表示を行わせるためデータを、通信部12により作成者端末20宛てに送信する。
作成者端末20の制御部21は、無線通信部23の通信により受信したデータに基づき、サーバ装置10により提示されたプログラム要素を、ステップSA4の処理で規定された提示方法に従ってUI部24に表示させる(ステップSA6)。ここでは、制御部21はブラウザを実行して、画面情報に基づいて図11に示すような要素表示画面をUI部24に表示させる。
ここでは、制御部21は、パラメータの値が小さいプログラム要素ほど、その利用の推奨度合いが高いという意味で上位に表示させる。すなわち、制御部21は、パラメータの値が小さい(すなわち、利用者にとって使い勝手が良いと判断できる)順に配列してプログラム要素を表示させる。提示対象のプログラム要素が更に多い場合には、UI部24を操作する(例えば、フリック操作)ことで配列順が下位のプログラム要素が提示される。よって、制御部21は、配列順が先のプログラム要素ほど、より少ない操作量で作成者に選択できるように表示させることになる。図11に示す要素表示画面において、「◎」は、パラメータが「1」であることを意味し、「○」は、パラメータが「2」であることを意味し、「△」は、パラメータが「3」であることを意味する。よって、作成者は、プログラム要素の配列順のみならず、「◎」、「○」、「△」という表示を見て、各プログラム要素の利用者に対する推奨度合いを把握することができる。
次に、制御部21は、作成者によるUI部24の操作により、アプリケーションの作成に関する指示を受け付ける(ステップSA7)。例えば、制御部21は、アプリケーションに組み込むプログラム要素を選択する操作を受け付ける。制御部21は、図11において、「○」印の中に「×」を付したソフトボタンB5がUI部24の操作で指定されると、対応するプログラム要素を削除し、アプリケーションに組み込まないようにする。一方、別のプログラム要素をアプリケーションに組み込む場合、作成者により「機能の追加」と付されたソフトボタンB4が選択されると、制御部21は組み込む候補となるプログラム要素を作成者に指定させる画面(図示せず)をUI部24に表示させる。ここで、制御部21は、例えば、追加可能なプログラム要素をUI部24に一覧表示させるが、別のテンプレートに組み込まれたプログラム要素を追加可能なプログラム要素として表示させてもよい。
また、制御部21は、アプリケーションに組み込むように選択されたプログラム要素について、設定情報を指定する操作をUI部24により受け付ける。
図12は、設定情報が指定されるときのUI部24の画面表示の例を示す図である。図12(a)は、「スケジュール表示機能」(機能C)について設定情報が指定されるときの画面表示の一例を示す図である。図12(b)は、「電話発信アシスト機能」(機能A)について設定情報が指定されるときの画面表示の一例を示す図である。
図12(a)に示すようなスケジュール表示機能(機能C)においては、作成者により、プルダウンメニューP1を用いてメッセージを表示する日付が指定され、プルダウンメニューP2を用いてメッセージを表示する時刻が指定される。また、テキストボックスT1を用いて表示メッセージが指定される。また、図12(b)に示す電話発信アシスト機能においては、プルダウンメニューP3を用いて電話番号を発信できる状態で表示する日付が指定され、プルダウンメニューP4を用いて電話番号を表示する時刻が指定され、プルダウンメニューP5を用いて電話番号を表示する場合の条件が指定される。また、テキストボックスT2を用いて、電話番号とともに表示するメッセージが指定される。
作成者端末20は、他のプログラム要素についても同様にして、作成者に設定情報を指定させる。ただし、本実施形態において、全プログラム要素が設定情報を必須とする機能に対応している必要はない。
図9に戻って説明する。
制御部21は、ステップSA7の処理で受け付けたアプリケーションの作成に関する指示(以下、「作成指示」という。)を、無線通信部23によりサーバ装置10宛てに送信する(ステップSA8)。作成者端末20が送信する情報には、アプリケーションに組み込むプログラム要素を示す要素IDと、そのプログラム要素について指定された設定情報とが含まれている。
サーバ装置10の制御部11は、作成指示を通信部12により受信すると、作成指示に従ってアプリケーションを作成する(ステップSA9)。ここでは、制御部11は、作成指示に含まれる要素IDに対応付けられたプログラム要素をプログラム要素DB131から取得してアプリケーションに組み込み、更に、そのプログラム要素に対応した設定情報を組み込んでアプリケーションを作成する。
なお、作成者端末20は、ステップSA7の処理でアプリケーションの作成に関するすべての指示を受け付けてから、サーバ装置10宛てに作成指示を送信する構成である必要はない。例えば、UI部24によりアプリケーションの作成に関する操作が行われたびに、作成者端末20はその操作に応じた作成指示を送信してもよい。この場合、サーバ装置10は、操作のたびにその操作後に対応する画面表示を行わせるための画面情報を、作成者端末20宛てに送信すればよい。
アプリケーション作成システム1において、作成者によるプログラム要素の指示からアプリケーションへのプログラム要素の組み込みまでの処理について、本実施形態で特別な構成を有していなくてもよい。
次に、サーバ装置10の制御部11は、アプリケーションの作成が完了すると、そのアプリケーションを、ステップSA2の処理で取得した利用者IDが示す利用者の利用者端末30宛てに、通信部12によって送信する(ステップSA10)。ここでは、制御部11は、記憶部13におけるアプリケーションの格納場所を記述した電子メールを利用者端末30宛てに送信し、利用者端末30からこの格納場所を指定したアプリケーションの送信要求を受信してから、アプリケーションを送信してもよい。
なお、サーバ装置10は各利用者IDに対応付けて、利用者にアプリケーションを提供するための電子メールを記憶しているものとする。
利用者端末30の制御部31は、無線通信部33によりアプリケーションを受信すると、UI部34の操作に応じてそのアプリケーションを実行する(ステップSA11)。ここでは、制御部31は、実行したアプリケーションに応じた画面表示をUI部34に行わせる等して、UI部34の操作に応じた処理を実行する。そして、制御部31は、アプリケーションの実行によるプログラム要素の利用に応じて、利用実績DB351を更新する(ステップSA12)。ここでは、制御部31は、各プログラム要素の利用回数を、当該プログラム要素がアプリケーションに実装されていた回数で除して利用頻度を算出し、算出した利用頻度とプログラム要素の要素IDとを対応付けて、利用実績DB351に記述する。
なお、利用者端末30は、一のアプリケーションにおいて同一のプログラム要素が何回利用されたとしても、利用実績において1回の利用としてカウントする。
制御部31は、アプリケーションの実行が完了した後などの決められた時期に、当該アプリケーションについての利用実績を利用実績DB351から読み出して、無線通信部33によりサーバ装置10宛てに送信する(ステップSA13)。
サーバ装置10の制御部11は、通信部12の通信により利用実績を取得すると、取得した利用実績に応じて、パラメータDB132においてパラメータを設定する(ステップSA14)。ここで、制御部11は、利用頻度が第1閾値(例えば、70%)以上であるプログラム要素のパラメータを「1」と設定し、利用頻度が第2閾値(例えば40%)以上第1閾値未満であるプログラム要素のパラメータを「2」と設定し、利用頻度が第2閾値未満であるプログラム要素のパラメータを「3」と設定して、パラメータDB132を更新する。
以降において、アプリケーションの作成が行われる際には、この更新後のパラメータDB132に従って、サーバ装置10はステップSA4の処理で提示方法を規定する。
アプリケーション作成システム1におけるアプリケーションの作成の流れの説明は以上である。
なお、利用実績が利用実績DB351にある程度蓄積されるまでは、利用者の使い勝手を十分に反映させたパラメータになっていないことが考えられる。そこで、ある量の利用実績が蓄積されるまでは、サーバ装置10はデフォルト設定の提示方法でプログラム要素を提示してもよい。
ところで、利用者ID「UID001」の利用者向けのアプリケーションの作成時には、サーバ装置10は図11に示す提示方法でプログラム要素を提示するが、別の利用者向けのアプリケーションが作成される際には、これとは異なる提示方法に変更してプログラム要素を提示する。
図13は、要素表示画面の他の例を示す図である。図13(a)は、利用者ID「UID002」の利用者向けのアプリケーションの作成時における要素表示画面を示す図である。図13(b)は、利用者ID「UID003」の利用者向けのアプリケーションの作成時における要素表示画面を示す図である。
図13(a)に示すように、利用者ID「UID002」の利用者向けのアプリケーションの作成時においては、図4に示すパラメータDB132に従って、「機能A」(要素ID;PID101)→「機能C」(要素ID;PID103)→「機能B」(要素ID;PID102)→「機能D」(要素ID;PID104)という配列となる。これは、図4を見ても分かるように、利用者ID「UID001」の利用者と、利用者ID「UID002」の利用者とでは、各プログラム要素の利用実績が異なることによる。利用実績の相違は、各利用者による機能の使い慣れの程度の相違や趣向の相違等が原因として考えられる。このような理由から、利用実績は、各利用者の各機能の使い勝手の良し悪しの判断材料として用いることができる。よって、作成者は、利用者ID「UID001」の利用者向けのアプリケーションの作成時には、「機能C」や「機能D」を優先的に選択しやすくなり、利用者ID「UID002」の利用者向けのアプリケーションの作成時には、「機能A」や「機能C」を優先的に選択することができる。このようにして、作成者は、利用者に対する推奨度合いが高い機能に特化した仕様のアプリケーションを作成することが可能となる。
また、図13(b)に示すように、利用者ID「UID003」の利用者向けのアプリケーションの作成時においては、図4のパラメータDB132に従って、「機能A」(要素ID;PID101)→「機能B」(要素ID;PID102)→「機能C」(要素ID;PID103)→「機能D」(要素ID;PID104)という配列となる。図4及び図13(b)を見ても分かるように、このユーザは全プログラム要素についてパラメータの値が「1」であるため、アプリケーションの利用にかなり慣れた利用者と判断することができる。よって、作成者は、利用者ID「UID003」の利用者向けのアプリケーションでは、利用者の使い勝手をあまり気にしなくてもよい。したがって、作成者は、多数のプログラム要素をアプリケーションに組み込んだり、便利な機能あるが利用が難しい機能に対応するプログラム要素をこの利用者に限って組み込んだりすることも可能である。
図14は、要素表示画面の他の例を示す図である。ただし、利用者ID「UID001」の利用者に対応した要素表示画面とする。
図14(a)は、サーバ装置10が、プログラム要素の配列順をパラメータDB132における要素IDの記述順で規定し、代わりに、「◎」、「○」、「△」という情報で各プログラム要素の推奨度合いを作成者に知らしめる、という提示方法を採用した要素表示画面を示す。この提示方法であっても、作成者は、要素表示画面を見て各プログラム要素の推奨度合いを把握することができ、上述したようなアプリケーションの仕様を異ならせることができる。図14(b)は、サーバ装置10が、パラメータが決められた条件を満たすプログラム要素(ここでは、パラメータが「1」という条件を満たすプログラム要素)のみを提示する、という提示方法を採用した要素表示画面を示す。この提示方法は、作成者が推奨度合いが特に高いプログラム要素のみを用いてアプリケーションを作成する場合に適している。
また、サーバ装置10は、パラメータの値を作成者に知らしめるための情報を提示しなくてもよいし、パラメータの値が低い順にプログラム要素を配列するという提示方法を採用しなくてもよい。後者の場合、サーバ装置10は、パラメータの値が大きい順にプログラム要素を配列することで、利用者に慣れてもらうという目的で、推奨度合いが低いプログラム要素を敢えてアプリケーションに選択させやすくすることもできる。
以上のとおり、サーバ装置10は、プログラム要素毎のパラメータに応じた提示方法でプログラム要素を提示すればよく、具体的な提示方法については様々な方法がありうる。
以上説明した第1実施形態によれば、サーバ装置10は、利用者毎のプログラム要素の利用実績に応じてパラメータを設定し、アプリケーションがどの利用者に提供されるものかによって、プログラム要素の提示方法を異ならせる。アプリケーションの利用者にも、プログラム言語の理解能力やプログラミング能力にはばらつきがあるし、特定の機能を使い慣れた利用者もいれば、そうではない利用者もいるはずである。このような事実に対し、アプリケーション作成システム1によれば、アプリケーションの作成者の主観のみによらないで、アプリケーションへ組み込む候補となるプログラム要素の利用者に対する推奨度合いを、アプリケーションの作成者に意識させることができる。したがって、作成者は、利用者にとって推奨度合いが高いプログラム要素を組み込んだアプリケーションを作成することが容易になる。逆に言えば、利用者が過去にあまり利用していない機能も作成者は把握することができるので、この機能を利用者が好んでないと考えて、作成者は、この機能に対応するプログラム要素をアプリケーションに組み込まないといった対応を採ることもできる。
また、アプリケーション作成システム1では、利用実績に応じてパラメータDB132は逐一更新されるので、利用者によるアプリケーションの利用が増えるほど、より各利用者の使い勝手をより正確に反映させた提示方法を規定することができる。また、利用者による機能の利用の状況に変化が生じても(例えば、ある機能の利用が急激に増えてきたなど)、その変化に対応して提示方法でプログラム要素を提示することも可能である。
[第2実施形態]
次に、本発明の第2実施形態を説明する。
上述した第1実施形態では、サーバ装置10は、作成者端末20でアプリケーションが作成される際に、利用者毎のプログラム要素の利用実績に基づいてパラメータを設定していたが、他の作成者端末20のユーザたる作成者に指定されたパラメータを用いるようにしてもよい。例えば、別の作成者が既にアプリケーションを作成していれば、その作成実績を、今回のアプリケーションの作成に適したプログラム要素の選定に利用することもできるからである。このように、本実施形態のアプリケーション作成システム1は、複数の作成者端末20でパラメータを共有する仕組みを有している。
以下、作成者端末20a(第2端末装置)が、作成者端末20b(第1端末装置)により指定されたパラメータを利用してアプリケーションを作成する構成を説明する。
アプリケーション作成システム1の各装置のハードウェア構成は基本的には上述した第1実施形態と同じである。ただし、サーバ装置10は、パラメータDB132に代えてパラメータDB132aを記憶部13に記憶している。
図15は、パラメータDB132aのデータ構造を示す図である。
図15に示すように、パラメータDB132aは、「作成者ID」と、「利用者ID」と、「要素ID」と、「パラメータ」とで示される各情報を対応付けて記憶したデータベースである。作成者IDは、作成者端末20のユーザ(作成者)を識別するユーザ識別情報である。利用者ID、要素ID及びパラメータは、それぞれ上述した第1実施形態と同じ意味の情報である。
ここでは、作成者ID「UID002」は、作成者端末20bの記憶部25に記憶されたものとする。すなわち、作成者ID「UID002」に対応付けられたプログラム要素毎のパラメータは、作成者端末20bのユーザたる作成者に指定されてパラメータDB132aに記述されたものである。
パラメータDB132aに記述された作成者IDは、他の作成者により指定されたパラメータをプログラム要素の提示方法の規定に用いるために、作成者自らが指定したパラメータが提示方法に反映されるのを防止するために用いられる。すなわち、本実施形態でも、パラメータは、アプリケーションの作成者の指示によらないで設定される。
図16は、アプリケーション作成システム1の機能的構成を示す機能ブロック図である。図16において、上述した第1実施形態と同等に機能する機能ブロックは同じ符号を付して表しその説明を省略する。ただし、作成者端末20aは上述の第1実施形態と同等の機能を実現し、作成者端末20bは入力情報受付部203と、入力情報送信部204とに相当する機能を実現する。
入力情報受付部203は、作成者端末20bのユーザ(作成者)により入力されたパラメータを指定する入力情報を受け付ける。例えば、入力情報受付部203は、利用者IDと、要素IDと、パラメータとを入力情報として受け付ける。
入力情報送信部204は、入力情報受付部203により受け付けられた利用者IDと、要素IDと、パラメータとを含む入力情報を、作成者端末20bの作成者IDとともにサーバ装置10宛てに送信する。
サーバ装置10の入力情報取得部107は、入力情報送信部204によって送信された入力情報と作成者IDとを取得する。
パラメータ設定部106は、入力情報取得部107により取得された入力情報と作成者IDとに応じて、パラメータDB132におけるパラメータを設定する。
アプリケーション作成システム1の他の機能的構成は上述の第1実施形態と同じである。ただし、提示部101は、作成者端末20bにより指定されたパラメータに応じた提示方法で、作成者端末20aに対しプログラム要素を提示する。
図17は、アプリケーション作成システム1の処理の流れを示すシーケンスチャートである。
作成者端末20bの制御部21は、利用者ID、要素ID及びパラメータを含む入力情報を、作成者によるUI部24の操作により受け付ける(ステップSB1)。そして、制御部21は、受け付けた入力情報を、記憶部25に記憶された作成者ID(つまり、「UID002」)とともに、無線通信部23によりサーバ装置10宛てに送信する(ステップSB2)。
サーバ装置10の制御部11は、通信部12により作成者端末20bから作成者IDと入力情報とのセットを受信すると、受信したデータに従ってパラメータDB132においてパラメータを設定する(ステップSB3)。ここで、制御部11が作成者ID「UID002」と、利用者ID「UID001」と、要素ID「PID101」と、パラメータ「2」とのセットを受信すると、これらを対応付けたデータをパラメータDB132に記述してパラメータを設定する。
以降、上述した第1実施形態と同様にして、アプリケーション作成システム1においてステップSA1〜SA10の処理ステップが実行されてアプリケーションが作成される。ただし、サーバ装置10は、ある作成者によりアプリケーションが作成される際には、他の作成者によって指定されたパラメータに従って提示方法を規定し、同一作成者によって指定されたパラメータに従って提示方法を規定しないようにする。ここでは、サーバ装置10は、作成者端末20aによりアプリケーションが作成される際には、作成者ID「UID002」に対応付けられたパラメータを参照することを許可するが、作成者ID「UID001」に対応付けられたパラメータを参照することを許可しない。
なお、複数の作成者により、同一の利用者で、かつ、同一のプログラム要素についてのパラメータが設定されている場合、どの作成者のパラメータを使うのかを、作成者端末20aのユーザが指定してもよい。また、作成者端末20aが複数の作成者によるパラメータを統計した結果(例えば、平均値等のパラメータの分布)を算出し、算出したパラメータを用いて提示方法を規定してもよい。この場合において、他の作成者により指定されたパラメータが反映されている限り、統計結果に作成者端末20aのユーザたる作成者により指定されたパラメータが反映されていてもよい。
以上説明した第2実施形態では、作成者端末20は、自装置のユーザ(作成者)とは別の作成者により指定されたパラメータを指定する。これにより、複数の作成者端末20でパラメータを共有して、サーバ装置10は各利用者に対応したパラメータに応じた提示方法で、プログラム要素を提示することができる。また、上述した第1実施形態のように、十分な利用実績が蓄積されていない状況であっても、本実施形態のアプリケーション作成システム1によれば、利用者にとって使い勝手のよいと思われるプログラムが選択されやすくなる。
これ以外にも、本実施形態のアプリケーション作成システム1によれば、上述の第1実施形態と同等の効果を奏する。
[第3実施形態]
次に、本発明の第3実施形態を説明する。
上述した第1及び2実施形態では、サーバ装置10は、利用者のプログラム要素の利用実績又は他の作成者の指定によってパラメータを設定していたが、ユーザによる指定を介在させないでパラメータを設定してもよい。本実施形態では、サーバ装置10はプログラム要素DB131に蓄積されたプログラム要素毎にアルゴリズムを解析して、その解析結果に応じたパラメータをプログラム要素毎に設定する。すなわち、本実施形態でも、パラメータは、アプリケーションの作成者の指示によらないで設定される。
アプリケーション作成システム1の各装置のハードウェア構成は基本的には上述した第1実施形態と同じである。ただし、サーバ装置10は、パラメータDB132に代えてパラメータDB132bを記憶部13に記憶しているものとする。
図18は、パラメータDB132bのデータ構造を示す図である。
図18に示すように、パラメータDB132bは、「利用者ID」と、「要素ID」と、「パラメータ」とで示される各情報を対応付けて記憶したデータベースである。利用者ID、要素ID及びパラメータは、それぞれ上述した第1実施形態と同じ意味である。本実施形態では、プログラム要素のアルゴリズムに応じてパラメータが一意に定まるので、どの利用者向けのアプリケーションの作成時にも同じパラメータが参照され、また、どの作成者によるアプリケーションの作成時にも同じパラメータが参照される。したがって、パラメータDB132bの「利用者ID」のフィールドは「ALL」になっていて、全利用者に対応して同一のパラメータが設定されている。
図19は、アプリケーション作成システム1の機能的構成を示す機能ブロック図である。図19において、第1実施形態と同等に機能する機能ブロックは同じ符号を付して表しその説明を省略する。
解析部108は、プログラム要素DB131に蓄積された各プログラム要素のアルゴリズムを解析する。解析部108は、プログラム要素毎の解析結果をパラメータ設定部106に供給する。
パラメータ設定部106は、パラメータDB132において解析部108の解析結果に応じたパラメータを設定する。例えば、パラメータ設定部106は、解析部108の解析結果から、利用が難しく、多くの利用者にとって使い勝手が悪いと推測される機能のプログラム要素については、パラメータの値を大きくするよう設定する。反対に、パラメータ設定部106は、解析部108の解析結果から、利用が簡単で、多くの利用者にとって使い勝手が良いと推測される機能のプログラム要素については、パラメータの値を小さくするよう設定する。
図20は、アプリケーション作成システム1の処理の流れを示すシーケンスチャートである。
サーバ装置10の制御部11は、新たなプログラム要素がプログラム要素DB131に加えられたとき等の所定のタイミングで、プログラム要素のアルゴリズムを解析する(ステップSC1)。ここで、制御部11は、例えば、プログラム要素に対応した機能を実現した際の処理内容に関する情報を解析する。具体的には、制御部11は、画面遷移数や入力項目数、入力部品の種類や入力部品の数、その他利用者が行うべき操作量等の、利用者の使い勝手の良さの指標となるような、予め決められた条件を満たす情報を解析により得る。
次に、制御部11は、プログラム要素のアルゴリズムの解析結果に従ってパラメータDB132においてパラメータを設定する(ステップSC2)。ここで、制御部11は、例えば画面遷移数や入力項目数、入力部品の種類や入力部品の数、その他利用者が行うべき操作量等が少なくて利用者にとっての扱いが容易であり、利用者にとって使い勝手が良いと推測したプログラム要素については、パラメータの値を小さくする。一方、制御部11は、画面遷移数や入力項目数、入力部品の種類や入力部品の数、その他利用者が行うべき操作量等が多くて扱いが難しく、利用者にとっての使い勝手が悪いと推測したプログラム要素については、パラメータの値を大きくする。ここでは、制御部11は、使い勝手の良さ以外の指標でパラメータを設定してもよい。例えば、ユーザによって利便性の高いとみなせる予め決められた条件を満たす解析結果が得られた場合には、制御部11は、パラメータの値を低くしてもよい。制御部11が解析結果に応じてどのようなパラメータを設定するかについては、解析結果とパラメータとの関係が予め決められていて、これに従えばよい。
以降、上述した第1実施形態と同様にして、アプリケーション作成システム1ではステップSA1〜SA11の処理が実行されてアプリケーションが作成される。
以上説明した第3実施形態によれば、サーバ装置10は、プログラム要素のアルゴリズム解析の結果からパラメータを設定するので、客観的な視点で利用者の使い勝手の指標となるパラメータを設定することができる。また、上述した第1実施形態のように、十分な利用実績が蓄積されていない状況であっても、本実施形態のアプリケーション作成システム1によれば、利用者にとって使い勝手のよいと思われるプログラムが選択されやすくなる。また、上述した第2実施形態のような作成者にパラメータを指定させるといった手間を強いることもないし、人間による主観がパラメータに反映されないことになる。
[変形例]
本発明は、上述した実施形態と異なる形態で実施することが可能である。本発明は、例えば、以下のような形態で実施することも可能である。また、以下に示す変形例は、各々を適宜に組み合わせてもよい。
[変形例1]
アプリケーション作成システム1では、上述した第1実施形態から第3実施形態におけるプログラム要素の提示方法を組み合わせて、プログラム要素を提示してもよい。要するに、サーバ装置10は、利用者による利用実績と、他の作成者により指定されたパラメータと、プログラム要素のアルゴリズム解析の結果とを組み合わせてパラメータを設定してもよい。
アプリケーション作成システム1の各装置のハードウェア構成は基本的には上述した第1実施形態から第3実施形態と同じである。
本変形例のアプリケーション作成システム1において、あるプログラム要素についてどのパラメータを用いるかについては、作成者端末20を用いて作成者により指定されてもよいし、複数の方法で設定したパラメータを統計した結果(例えば、パラメータの平均値)を、最終的なパラメータとしてもよい。また、サーバ装置10は、第1実施形態から第3実施形態におけるいずれかの方法で規定した提示方法を、それ以外の実施形態の方法で設定したパラメータに応じて変更してもよい。
[変形例2]
上述した第1実施形態で、アプリケーション作成システム1では、利用者毎に個別のパラメータを設定していたが、複数の利用者のパラメータを統計した結果を用いて、複数ユーザで共通のパラメータを設定してもよい。ある利用者にとって使い勝手が良い機能は、他の利用者にとっても使い勝手が良い機能であることは多いし、ある利用者にとって使い勝手が悪い機能は、他の利用者にとっても使い勝手が良い機能であることは悪いと考えられるからである。
[変形例3]
上述した第2実施形態において、作成者端末20bのユーザ(作成者)は利用者毎に個別のパラメータを指定していたが、利用者の指定を省略してもよい。この場合、ある作成者により指定されたパラメータが、互いに異なる複数の利用者向けのアプリケーションの作成時の提示方法に反映される。ある利用者にとって使い勝手が良い機能は、他の利用者にとっても使い勝手が良い機能であることは多いし、ある利用者にとって使い勝手が悪い機能は、他の利用者にとっても使い勝手が良い機能であることは悪いと考えられるからである。
また、上述した第2実施形態において、入力情報はパラメータの値そのものを含んでいたが、入力情報はパラメータの値を指定する情報であれば、他の情報を含んでいてもよい。
[変形例4]
上述した第1実施形態では、サーバ装置10は、プログラム要素毎に個別のパラメータを設定していたが、あるプログラム要素のパラメータを基に他のプログラム要素のパラメータを設定してもよい。
例えばリマインド機能やアドレス表示機能などの汎用性の高い機能は、複数のテンプレートに組み込まれている場合がある。そこで、このような同一又は類似の機能に対応する複数のプログラム要素については、サーバ装置10は、一のプログラム要素のパラメータを設定した際に、同一又は類似の機能に対応する他のプログラム要素のパラメータも同じになるように設定してもよい。
なお、同一又は類似と判定する機能(プログラム要素)の関係については、サーバ装置10において予め決められた設定されその関係が記憶されていればよい。
[変形例5]
上述した各実施形態では、サーバ装置10は、プログラム要素毎のパラメータを設定していたが、テンプレート毎のパラメータを設定してもよい。テンプレートは、アプリケーションの利用目的に応じて使い分けられるが、テンプレートに予め組み込まれた機能に応じて、テンプレートの使い勝手の良し悪しも決まると考えられるからである。
テンプレートのパラメータは、例えば、その中のプログラム要素のパラメータを統計した結果(例えば、平均値等のパラメータの分布)を用いる等、総合的な判断で設定されてもよいし、他の作成者により設定されてもよいし、プログラム要素のアルゴリズムの解析結果から設定されてもよい。このように、サーバ装置10は、プログラム要素の集合に対応したテンプレートに対し、利用者に対応した推奨度合いを示すパラメータを設定することも可能である。
また、本発明は、テンプレートを扱うことを必須とするものではなく、プログラム要素を組み合わせてアプリケーションを作成する構成を有していればよい。
[変形例6]
上述した各実施形態では、サーバ装置10及び作成者端末20の協働によりアプリケーションを作成していたが、そのために必要な構成要素をすべて作成者端末20が備えていてもよい。
図21は、この変形例の作成者端末20の機能的構成を示す図である。図21に示すように、作成者端末20は、提示部101と、要素表示部201と、作成指示部202と、指示受付部102と、アプリケーション作成部103と、アプリケーション提供部104と、パラメータ設定部106とに相当する機能を少なくとも実現する。各機能的構成は、上述した各実施形態の同一名称の機能と同等に機能する。パラメータ設定部106は、上述した第1〜第3実施形態のいずれかの方法でパラメータを設定すればよい。
本変形例において、作成者端末20がプログラム要素DB131を有するが、更新データを外部サーバ(図示せず)から受信することでプログラム要素DB131を更新してもよい。また、プログラム要素DB131が外部サーバにあり、作成者端末20が外部サーバからプログラム要素をダウンロードしてアプリケーションを作成する構成であってもよい。
なお、この変形例においては、作成者端末20が本発明のアプリケーション作成装置に相当する。
[変形例7]
上述した各実施形態では、サーバ装置10がプログラム要素の提示に係る構成と、提示結果を用いてアプリケーションを作成する構成との双方を有していたが、それぞれ別の装置が有していてもよい。
図22は、この変形例のアプリケーション作成システム1の機能的構成を示す図である。図22に示すように、作成者端末20の機能的構成は上述した各実施形態と同じであるが、提示部101と、パラメータ設定部106とに相当する機能を要素提示装置10aが実現し、指示受付部102と、アプリケーション作成部103と、アプリケーション提供部104とに相当する機能を作成処理装置10bが実現する。各機能的構成は、上述した各実施形態の同一名称の機能と同等に機能する。パラメータ設定部106は、上述した第1〜第3実施形態のいずれかの方法でパラメータを設定すればよい。
この変形例のアプリケーション作成システム1の構成であっても、パラメータDB132とプログラム要素DB131とにおける要素IDが共通しているので、上述した各実施形態と同様にしてアプリケーションを作成可能である。
この変形例においては、要素提示装置10a及び作成処理装置10bの協働により本発明のアプリケーション作成装置が構成される。
[変形例8]
また、サーバ装置10、作成者端末20及び利用者端末30のそれぞれが実現する各機能は、複数のプログラムの組み合わせによって実現され、又は、複数のハードウェア資源の協働によって実現されうる。
また、本発明のパラメータは、値が小さいほど推奨度合いが高くなることを示すものに限らず、値が大きいほど推奨度合いが高くなることを示すものであってもよい。
1…アプリケーション作成システム、10…サーバ装置、10a…要素提示装置、10b…作成処理装置、101…提示部、102…指示受付部、103…アプリケーション作成部、104…アプリケーション提供部、105…利用実績取得部、106…パラメータ設定部、107…入力情報取得部、108…解析部、11…制御部、12…通信部、13…記憶部、20,20a,20b…作成者端末、201…要素表示部、202…作成指示部、203…入力情報受付部、204…入力情報送信部、21,31…制御部、22,32…音声入出力部、23,33…無線通信部、24,34…UI部、25,35…記憶部、30…利用者端末、301…アプリケーション受信部、302…アプリケーション実行部、303…利用実績送信部、351…利用実績DB

Claims (7)

  1. アプリケーションプログラムに組み込まれる候補となるプログラム要素を蓄積する蓄積部と、
    前記アプリケーションプログラムの利用者に対応して、前記蓄積部に蓄積されたプログラム要素毎の推奨度合いを示すパラメータを設定するパラメータ設定部と、
    前記利用者に提供されるアプリケーションプログラムが作成される際、当該利用者に対応して前記パラメータ設定部が設定したパラメータに応じた提示方法で、前記蓄積部に蓄積されたプログラム要素を提示する提示部と、
    前記提示部が提示したプログラム要素から指示されたプログラム要素を組み込んで、アプリケーションプログラムを作成するアプリケーション作成部と
    を備えることを特徴とするアプリケーション作成装置。
  2. 前記アプリケーション作成部により作成されたアプリケーションプログラムに組み込まれたプログラム要素毎に、当該アプリケーションプログラムを実行した前記利用者の端末装置での利用実績を取得する利用実績取得部を備え、
    前記パラメータ設定部は、
    前記利用実績取得部により取得された利用実績に応じて前記パラメータを設定する
    ことを特徴とする請求項1に記載のアプリケーション作成装置。
  3. 前記利用実績取得部は、
    前記利用者を識別する利用者IDとともに前記利用実績を取得し、
    前記パラメータ設定部は、
    前記利用実績取得部により取得された利用者IDが示す利用者毎に、前記利用実績に応じて前記パラメータを設定する
    ことを特徴とする請求項2に記載のアプリケーション作成装置。
  4. 前記アプリケーション作成部により作成されたアプリケーションプログラムの作成者とは別の作成者により入力された、前記パラメータを指定する入力情報を取得する入力情報取得部を備え、
    前記パラメータ設定部は、
    前記入力情報取得部により取得された入力情報に応じて前記パラメータを設定する
    ことを特徴とする請求項1から3のいずれか1項に記載のアプリケーション作成装置。
  5. 前記蓄積部に蓄積された各プログラム要素のアルゴリズムを解析する解析部を備え、
    前記パラメータ設定部は、
    前記解析部による前記プログラム要素毎の解析結果に応じて、当該プログラム要素の前記パラメータを設定する
    ことを特徴とする請求項1から4のいずれか1項に記載のアプリケーション作成装置。
  6. アプリケーション作成装置と、アプリケーションプログラムの作成者により操作される端末装置とを備えるアプリケーション作成システムであって、
    前記アプリケーション作成装置は、
    アプリケーションプログラムに組み込まれる候補となるプログラム要素を蓄積する蓄積部と、
    前記アプリケーションプログラムの利用者に対応して、前記蓄積部に蓄積されたプログラム要素毎の推奨度合いを示すパラメータを設定するパラメータ設定部と、
    前記利用者に提供されるアプリケーションプログラムが作成される際、当該利用者に対応して前記パラメータ設定部が設定したパラメータに応じた提示方法で、前記蓄積部に蓄積されたプログラム要素を提示する提示部と、
    前記提示部が提示したプログラム要素から前記端末装置により指示されたプログラム要素を組み込んで、アプリケーションプログラムを作成するアプリケーション作成部と
    を有し、
    前記端末装置は、
    前記提示部により提示されたプログラム要素のいずれかが前記作成者の操作により選択されると、選択されたプログラム要素を組み込んだアプリケーションプログラムの作成を、前記アプリケーション作成装置に指示する作成指示部
    を有していることを特徴とするアプリケーション作成システム。
  7. アプリケーションプログラムの利用者に対応して、当該アプリケーションプログラムに組み込まれる候補となるプログラム要素を蓄積する蓄積部に蓄積されたプログラム要素毎の推奨度合いを示すパラメータを設定するパラメータ設定ステップと、
    前記利用者に提供されるアプリケーションプログラムが作成される際、当該利用者に対応して前記パラメータ設定ステップにおいて設定されたパラメータに応じた提示方法で、前記蓄積部に蓄積されたプログラム要素を提示する提示ステップと、
    前記提示ステップで提示したプログラム要素から指示されたプログラム要素を組み込んで、アプリケーションプログラムを作成するアプリケーション作成ステップと
    を有することを特徴とするアプリケーション作成方法。
JP2011168653A 2011-08-01 2011-08-01 アプリケーション作成装置、アプリケーション作成システム及びアプリケーション作成方法 Expired - Fee Related JP5654959B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011168653A JP5654959B2 (ja) 2011-08-01 2011-08-01 アプリケーション作成装置、アプリケーション作成システム及びアプリケーション作成方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011168653A JP5654959B2 (ja) 2011-08-01 2011-08-01 アプリケーション作成装置、アプリケーション作成システム及びアプリケーション作成方法

Publications (2)

Publication Number Publication Date
JP2013033359A JP2013033359A (ja) 2013-02-14
JP5654959B2 true JP5654959B2 (ja) 2015-01-14

Family

ID=47789204

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011168653A Expired - Fee Related JP5654959B2 (ja) 2011-08-01 2011-08-01 アプリケーション作成装置、アプリケーション作成システム及びアプリケーション作成方法

Country Status (1)

Country Link
JP (1) JP5654959B2 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10628136B2 (en) * 2013-05-24 2020-04-21 Tata Consultancy Services Limited Internet of things (IoT) application development
JP6308077B2 (ja) * 2014-09-08 2018-04-11 京セラドキュメントソリューションズ株式会社 アプリケーション作成プログラム及び情報処理装置
WO2017072872A1 (ja) * 2015-10-28 2017-05-04 株式会社日立製作所 業務プログラム生成支援システムおよび業務プログラム生成支援方法
JP6580535B2 (ja) * 2016-09-07 2019-09-25 株式会社日立製作所 開発支援システム及び方法
JP6667714B2 (ja) * 2017-07-13 2020-03-18 株式会社日立製作所 プログラムの統合解析管理装置及びその統合解析管理方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10033A (en) * 1853-09-20 Improvement in hemp-brakes
AU2002344640A1 (en) * 2002-02-15 2003-09-04 Image Corporation Application creation system, creation apparatus, creation method, application providing system, providing apparatus, providing method, application operation system, operation apparatus, and operation method
JP2005234814A (ja) * 2004-02-18 2005-09-02 Fujitsu Ltd プログラム、プログラム構築方法、記憶媒体、プログラム構築システム、端末装置
JP2008217161A (ja) * 2007-02-28 2008-09-18 Nippon Telegr & Teleph Corp <Ntt> シナリオ作成支援システム、シナリオ作成支援装置およびシナリオ作成支援方法

Also Published As

Publication number Publication date
JP2013033359A (ja) 2013-02-14

Similar Documents

Publication Publication Date Title
US9998509B2 (en) Application of comments in multiple application functionality content
US20220365640A1 (en) Devices, Methods, and Graphical User Interfaces for Adjusting the Provision of Notifications
CN105654271B (zh) 提供用户的待办事项列表的系统和方法
EP2987164B1 (en) Virtual assistant focused user interfaces
JP5654959B2 (ja) アプリケーション作成装置、アプリケーション作成システム及びアプリケーション作成方法
WO2012165122A1 (ja) 機能提示システム、端末装置、サーバ装置、プログラム及び機能提示方法
EP3188100A1 (en) Structured suggestions
US9497313B2 (en) User interface generation apparatus
JP5619861B2 (ja) インスタントメッセージとオンライン文書とのリンク方法及び移動端末
US9348897B2 (en) Method and system for providing scheduling suggestions
CN105308634A (zh) 用于从相应应用程序分享内容的设备、方法和图形用户界面
KR20170068379A (ko) 사용자 맞춤형 콘텐트를 제공하는 시스템 및 방법
US20130227462A1 (en) Dual time zone view and weather application in electronic device
JP6313438B2 (ja) プロフィール提供方法及びその方法を実行するユーザ端末
US20160299636A1 (en) Systems and methods for facilitating group communication via a mobile application
WO2015020957A1 (en) Method and system for intention object generation
WO2022241014A1 (en) Devices, methods, and graphical user interfaces for adjusting the provision of notifications
US20080123973A1 (en) Executing functions using image code
TW201610833A (zh) 用於執行功能的方法及裝置
JP5802536B2 (ja) 情報処理装置及び操作支援方法
JP7508565B2 (ja) 時間及び位置に基づくメッセージ管理方法
US20130205253A1 (en) Method and system for completing schedule information, and computer-readable recording medium having recorded thereon program for executing the method
JP6292223B2 (ja) 情報処理装置、情報処理システム、及び情報処理方法
KR102018321B1 (ko) 채팅 리스트 제공 사용자 단말
WO2015166630A1 (ja) 情報提示システム、装置、方法、およびコンピュータプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140225

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20141017

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20141111

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20141121

R150 Certificate of patent or registration of utility model

Ref document number: 5654959

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees