JPWO2016092653A1 - サーバ、表示制御方法、および表示制御プログラム - Google Patents

サーバ、表示制御方法、および表示制御プログラム Download PDF

Info

Publication number
JPWO2016092653A1
JPWO2016092653A1 JP2015515341A JP2015515341A JPWO2016092653A1 JP WO2016092653 A1 JPWO2016092653 A1 JP WO2016092653A1 JP 2015515341 A JP2015515341 A JP 2015515341A JP 2015515341 A JP2015515341 A JP 2015515341A JP WO2016092653 A1 JPWO2016092653 A1 JP WO2016092653A1
Authority
JP
Japan
Prior art keywords
list
item
terminal
items
unit
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.)
Granted
Application number
JP2015515341A
Other languages
English (en)
Other versions
JP5809382B1 (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.)
Rakuten Group Inc
Original Assignee
Rakuten 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 Rakuten Inc filed Critical Rakuten Inc
Application granted granted Critical
Publication of JP5809382B1 publication Critical patent/JP5809382B1/ja
Publication of JPWO2016092653A1 publication Critical patent/JPWO2016092653A1/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/0482Interaction with lists of selectable items, e.g. menus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/0486Drag-and-drop
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • G06F9/453Help systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Human Computer Interaction (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

一実施形態に係るサーバは、受信部、位置判定部、および送信部を備える。受信部は、複数の項目の集合を含むリストを表示している端末上で選択された少なくとも一つの項目を示す選択情報を該端末から受信する。位置判定部は、複数の項目の順序に関する制約を示す制約情報を記憶する記憶部を参照して、リスト内で少なくとも一つの項目が移動できる位置を判定する。送信部は、少なくとも一つの項目が移動できる位置と移動できない位置とを、該少なくとも一つの項目の移動が完了する前の任意の時点において端末上で区別して表示させるために、位置判定部による判定結果を示す位置情報を該端末に送信する。

Description

本発明の一側面は、リスト内の項目の順序を制御するためのサーバ、方法、およびプログラムに関する。
複数の項目を含むリスト内で項目の順番を変更するための技術が従来から知られている。例えば、下記の非特許文献1には“Sortable”というユーザインタフェースのサンプルが記載されている。このサンプルでは、7項目(Item 1〜Item 7)の順番をドラッグ・アンド・ドロップにより自由に変更できる。
The jQuery Foundation、"jQuery user interface,Sortable"、[online]、インターネット<URL:http://jqueryui.com/sortable/>
リスト内の項目間に順序の制約がある場合には、当然ながら各項目の順序を自由に変えることができない。したがって、その変更を確定させる際には、変更後の順序がその制約を満たすか否かを判定し、制約を満たす場合にのみ変更を確定させる必要がある。しかし、このような処理では、変更後の順序が制約を満たすか否かが、変更を確定させようとする段階までわからず、もしその変更が制約を満たさなければ、操作者であるユーザに変更の操作を最初からやり直させることになってしまう。ユーザがリスト内の項目の順序を変えようとする際に、順序に関する制約をそのユーザに示すことができれば、ユーザにとって便利である。
本発明の一側面に係るサーバは、複数の項目の集合を含むリストを表示している端末上で選択された少なくとも一つの項目を示す選択情報を該端末から受信する受信部と、複数の項目の順序に関する制約を示す制約情報を記憶する記憶部を参照して、リスト内で少なくとも一つの項目が移動できる位置を判定する位置判定部と、少なくとも一つの項目が移動できる位置と移動できない位置とを、該少なくとも一つの項目の移動が完了する前の任意の時点において端末上で区別して表示させるために、位置判定部による判定結果を示す位置情報を該端末に送信する送信部と、を備える。
本発明の一側面に係る表示制御方法は、プロセッサを備えるサーバにより実行される表示制御方法であって、複数の項目の集合を含むリストを表示している端末上で選択された少なくとも一つの項目を示す選択情報を該端末から受信する受信ステップと、複数の項目の順序に関する制約を示す制約情報を記憶する記憶部を参照して、リスト内で少なくとも一つの項目が移動できる位置を判定する位置判定ステップと、少なくとも一つの項目が移動できる位置と移動できない位置とを、該少なくとも一つの項目の移動が完了する前の任意の時点において端末上で区別して表示させるために、位置判定ステップにおける判定結果を示す位置情報を該端末に送信する送信ステップと、を含む。
本発明の一側面に係る表示制御プログラムは、複数の項目の集合を含むリストを表示している端末上で少なくとも一つの項目が選択されたことを検知し、該少なくとも一つの項目を示す選択情報をサーバに送信する検知部と、選択情報に応じてサーバから送信された位置情報を受信し、該位置情報に基づいて、リスト内で少なくとも一つの項目が移動できる位置と移動できない位置とを、該少なくとも一つの項目の移動が完了する前の任意の時点において区別して表示する表示制御部と、としてコンピュータを機能させ、サーバが、複数の項目の順序に関する制約を示す制約情報を記憶する記憶部を参照して、リスト内で少なくとも一つの項目が移動できる位置を判定し、位置情報が判定の結果を示す。
このような側面においては、端末に表示されたリスト内で少なくとも一つの項目が選択されると、項目の順序に関する制約に基づいて、被選択項目が移動できる位置が判定され、その判定結果を示す位置情報が端末に送信される。そして、この位置情報に基づいて、その端末上で、被選択項目が移動できる位置と移動できない位置とが区別して表示される。すなわち、ユーザがリスト内の項目の順序を変えようとする際に、順序に関する制約(その項目をどこに移動できるか)をそのユーザに示すことができる。
本発明の一側面によれば、ユーザがリスト内の項目の順序を変えようとする際に、順序に関する制約をそのユーザに示すことができる。
実施形態における表示制御の例を示す図である。 第1実施形態に係るリスト管理システムの機能構成を示すブロック図である。 実施形態に係るリスト管理システムを構成するコンピュータのハードウェア構成を示す図である。 リストデータベースの例を示す図である。 制約データベースの例を示す図である。 被選択項目が移動できる位置または移動できない位置の表示態様を説明するための図である。 第1実施形態に係るリスト管理システムの動作を示すフローチャートである。 第1実施形態に係るリスト管理プログラムの構成を示す図である。 第2実施形態に係るリスト管理システムの機能構成を示すブロック図である。 第2実施形態に係るリスト管理システムの動作を示すフローチャートである。 第2実施形態に係るリスト管理システムの動作を示すフローチャートである。 第2実施形態における表示制御の例を示す図である。 第2実施形態に係るリスト管理プログラムの構成を示す図である。
以下、添付図面を参照しながら本発明の実施形態を詳細に説明する。なお、図面の説明において同一又は同等の要素には同一の符号を付し、重複する説明を省略する。
(第1実施形態)
本実施形態では、本発明に係るサーバをリスト管理システム1に適用する。図1〜図6を用いて、第1実施形態に係るリスト管理システム1の機能および構成を説明する。リスト管理システム1は、ユーザがリスト内の項目の順序を変更する操作を補助するコンピュータシステムである。本実施形態において、ユーザは、端末上に表示されたリストに含まれる複数の項目の順序を変更することができる。ただし、リストには項目の順序に関する制約が予め設定されているので、ユーザは項目の順序を全く自由に変えることはできず、制約を満たす場合にのみ項目の順序を変更することができる。順序変更の利便性を図るために、リスト管理システム1は、ユーザがある項目の順序を変更する操作を行おうとする際に、その項目をどこに動かすことができるかをリアルタイムにユーザに提示する。
「ユーザ」とは、端末を操作して項目の順序を設定する人である。ユーザは端末の所有者であってもよいし所有者でなくてもよい。
「リスト」とは、複数の項目の集合を含む情報またはデータである。「項目」とは、そのリスト内の個々の要素である。リスト内の個々の項目には順序の初期値が予め設定され、複数の項目はその順序に従ってリスト内で一列に並ぶ。ユーザはその順序を変更することができる。「順序」とは、リスト内における項目の並びを示す数値であり、順序の意味は限定されないが、例えば、表示順であったり、入力の受付の順序であったりし得る。
「順序を変更する」とは、リスト内の項目を並べ替える処理である。順序を変更する操作の方法は限定されない。例えば、順序を変更しようとする項目を選択してその項目を移動先まで動かし、その移動先で選択操作を解除する操作であるドラッグ・アンド・ドロップを採用してもよい。あるいは、順序を変更しようとする項目を選択してその次に移動先の位置を選択する操作を採用してもよい。項目が移動できる位置は、リストの先頭の項目の前、リスト内の項目と項目との間、およびリストの最後尾の項目の後ろのうちのいずれかである。複数の項目はリスト内で一列に並ぶので、項目が移動できる位置は、リストの先頭から最後尾へと延びる一つの仮想的な軸に沿って設定される、ということもできる。
図1は操作の補助の一例を示す。この例は、7個の項目A〜Gから成るリスト90で項目Eが選択されてドラッグされ始めたときに、その項目Eが移動可能な位置が所定の色の太線91で表示されることを示す(図1の真ん中を参照)。この表示処理により、ユーザは項目Eを項目Cと項目Dとの間、項目Fと項目Gとの間、または項目Gの後ろに移せることを知ることができる。すなわち、ユーザは項目Eの順序を5番目から4番目、6番目、または7番目に変更できることを知ることができる。見方を変えれば、ユーザは項目Eの順序を1番目、2番目、および3番目に変更できないことを知ることができる。図1は、ユーザが太線91の案内により項目Eを項目Gの後ろまでドラッグしてそこで選択を解除(ドロップ)したことで、項目Eが7番目の位置に移ったことを示す(図1の右端を参照)。
図2に示すように、リスト管理システム1は端末10、サーバ20、およびデータベース群30を備える。端末10とサーバ20とはインターネットやイントラネットなどの通信ネットワークを介して接続される。サーバ20はデータベース群30と通信接続する。
端末10は、ユーザが操作するコンピュータである。端末10の種類は限定されず、例えば、端末10は据置型または携帯型のパーソナルコンピュータ(PC)でもよいし、高機能携帯電話機(スマートフォン)や携帯電話機、携帯情報端末(PDA)などの携帯端末でもよい。図2では端末10を一つのみ示すが、リスト管理システム1は複数の端末10を備えてもよい。
サーバ20は、項目が移動可能な位置を示す情報を端末10に提供するコンピュータである。サーバ20は一般に、端末10よりも高い処理能力を備え、また、複数台のコンピュータにより構成されることがあるが、サーバ20の性能および構成はこれに限定されるものではない。
データベース群30は、リスト管理システム1での処理に必要なデータを記憶するデータベース(記憶装置)の集合である。
端末10およびサーバ20として機能するコンピュータ100の一般的なハードウェア構成を図3に示す。コンピュータ100は、オペレーティングシステムやアプリケーション・プログラムなどを実行するプロセッサ(例えばCPU)101と、ROMおよびRAMで構成される主記憶部102と、ハードディスクやフラッシュメモリなどで構成される補助記憶部103と、ネットワークカードあるいは無線通信モジュールで構成される通信制御部104と、キーボード、マウス、タッチパネルなどの入力装置105と、モニタやタッチパネルなどの出力装置106とを備える。当然ながら、搭載されるハードウェアモジュールはコンピュータ100の種類により異なる。例えば、据置型のPCは入力装置および出力装置としてキーボード、マウス、およびモニタを備えることが多いが、スマートフォンはタッチパネルが入力装置および出力装置として機能することが多い。
後述するリスト管理システム1の各機能要素は、プロセッサ101または主記憶部102の上に所定のソフトウェアを読み込ませ、プロセッサ101の制御の下で通信制御部104や入力装置105、出力装置106などを動作させ、主記憶部102または補助記憶部103におけるデータの読み出し及び書き込みを行うことで実現される。処理に必要なデータやデータベースは主記憶部102または補助記憶部103内に格納される。
端末10およびサーバ20の各機能要素を説明する前に、リスト管理システム1で参照されるデータベース群30について説明する。図2に示すように、データベース群30はリストデータベース31および制約データベース32を含む。
リストデータベース31は、リストデータを記憶するデータベースである。リストデータは、ユーザの操作の対象となるリストを示すデータである。少なくとも一つのリストについてのリストデータは、リスト管理システム1の管理者によりリストデータベース31に予め登録される。
リストデータの例を図4に示す。本実施形態では、リストデータの項目は、リストIDと、項目のID、内容、および順序と、更新日時とを含む。リストIDはリストの識別子である。項目IDは項目の識別子である。項目の内容とは、ユーザが何らかの意味を認識することができる情報である。項目の順序は、リスト内での順序を意味する。リストおよび項目が示す意味は何ら限定されないが、本実施形態では、一つのリストが一つのアンケートに対応し、リスト内の個々の項目がそのアンケートに含まれる質問に対応するものとする。更新日時は、リストデータが最後に更新された日時である。図4から、リストID「01」で識別されるリスト(アンケート)が、項目ID「0101」〜「0108」で識別される8項目(8個の質問A1〜A8)から成り、2014年11月15日11時30分に更新されたことがわかる。また、その8個の質問が先頭から、質問A1、質問A2、質問A3、質問A4、質問A5、質問A6、質問A7、質問A8という順序で並ぶこともわかる。
制約データベース32は、制約情報を記憶するデータベースである。制約情報は、リスト内の複数の項目の順序に関する制約を示す情報である。「順序に関する制約」とは、リスト内の個々の項目の順序を変更する条件であり、リスト内で項目を並び替える際に個々の項目をどこに移動できるか、またはどこに移動できないかを規定する。制約情報の項目は、リストIDと、順序に関する制約とを含み、一つのリストIDに対して1以上の制約が関連付けられる。制約情報は、リスト管理システム1の管理者により制約データベース32に予め登録される。
制約情報の例を図5に示す。図5から、リストID「01」で識別されるリストが4個の制約を有し、リストID「02」で識別されるリストが2個の制約を有することがわかる。リスト「01」に関する制約の一つである「質問A4,A5,A6は一つのグループである」とは、これら質問A4,A5,A6が連続して並ばなければならないことを示すグループ制約である。ただし、グループ内(例えば、質問A4,A5,A6から成るグループ)での質問の順序関係は、これに関する追加の制約がない限り任意である。なお、制約の内容は図5の例に限定されず、例えば、「質問Xは質問Yよりも前でなければならない」や「質問Zはどこにでも移動できる」というような制約が設定されてもよい。
次に、端末10の機能構成を説明する。図2に示すように、端末10は機能的構成要素としてリスト取得部11、検知部12、表示制御部13、およびリスト変更部14を備える。これらの機能要素は、端末10のプロセッサ101が、インストールまたはダウンロードされたクライアントプログラム(表示制御プログラム)P1を実行することで実現される。
リスト取得部11は、ユーザの操作の対象となるリストデータをサーバ20から取得する機能要素である。リスト取得部11は、例えば、プロセッサ101がクライアントプログラムP1を実行して主記憶部102、通信制御部104、および出力装置106を制御することで実現される。
ユーザが、リストを含む画面(例えばウェブページ)を端末10上に表示させるための操作を行うと、リスト取得部11は、リストデータを取得するためのリスト要求を生成してそのリスト要求をサーバ20に送信し、その要求に応じてサーバ20から送られてきたリストデータを受信する。そして、リスト取得部11はそのリストデータを端末10上に表示する。これにより、ユーザは各項目が指定の順番に従って並んだリストを視認できる。図4に示す例を前提として、リスト取得部11はリストID「01」を含むリスト要求を生成および送信することで、質問A1〜A8を含むリストデータを取得し、その質問A1〜A8が指定された順序に従って並んだリストを表示する。
検知部12は、端末10に表示されたリストのうちの少なくとも一つの項目が移動対象(すなわち、順番を変更する対象)として選択された場合に、該少なくとも一つの項目を特定する機能要素である。検知部12は、例えば、プロセッサ101がクライアントプログラムP1を実行して主記憶部102および入力装置105を制御することで実現される。本明細書では、移動対象として選択された項目を「被選択項目」ともいう。
検知部12は、移動対象として選択された項目の項目IDを取得することで被選択項目を特定する。検知部12が被選択項目を特定(検知)するタイミングは限定されない。例えば、検知部12はユーザがドラッグ操作を開始した時点(ユーザが項目を選択した時点ではなくその項目を動かし始めた時点)で被選択項目を特定(検知)してもよい。あるいは、検知部12はユーザが項目を選択した時点で被選択項目を特定(検知)してもよいし、該選択後にユーザが「移動」というメニューを指定した時点で被選択項目を特定(検知)してもよい。
検知部12は、少なくとも一つの被選択項目の項目IDを取得すると、その項目IDの集合とリストIDとを含む選択情報を生成し、この選択情報をサーバ20に送信する。選択情報は、リストを表示している端末10上で選択された少なくとも一つの項目を示す情報である。
表示制御部13は、被選択項目の移動が完了する前の任意の時点において、被選択項目が移動可能な位置を端末10上に表示する機能要素である。表示制御部13は、例えば、プロセッサ101がクライアントプログラムP1を実行して主記憶部102、通信制御部104、および出力装置106を制御することで実現される。
表示制御部13は、検知部12により送信された選択情報に応じてサーバ20から送られてきた位置情報を受信する。この位置情報は、被選択項目がどこに移動できるかの判定結果を示す情報であり、これにより、端末10は移動可能な位置と移動できない位置とを特定することができる。位置情報は、被選択項目が移動可能な位置を示してもよいし、被選択項目が移動できない位置を示してもよいし、これら2種類の位置の双方を示してもよい。本実施形態では、位置情報は被選択項目が移動可能な位置を示すものとする。被選択項目が移動可能な位置は、先頭の項目の前、項目と項目との間、および最後尾の項目の後ろのうちのどこかに設定され得る。例えば、図6に示すように、リストID「01」に対応するリスト92(質問A1〜A8)が端末10上に表示されているならば、被選択項目の移動可能な位置は位置La0,La1,…,La8のどこかであり得る。
表示制御部13は、被選択項目の移動が完了する前の任意の時点に、被選択項目が移動できる位置(可能な移動先)とそれが移動できない位置(不可能な移動先)とを区別して表示する。
「区別して表示する」とは、被選択項目が移動できる位置の表示態様と、被選択項目が移動できない位置の表示態様とを異ならせることを意味する。あるいは、「区別して表示する」とは、ユーザが、被選択項目が移動できる位置と、被選択項目が移動できない位置とを認識できるように各位置を表示することを意味する。
「被選択項目の移動が完了する前」とは、ユーザの操作により被選択項目の移動先が指定される前までの時間範囲を意味する。例えば、ユーザがドラッグ・アンド・ドロップで少なくとも一つの項目を移動させる場合には、ドロップ操作が行われる前までの時間範囲が、「被選択項目の移動が完了する前」を意味する。
「任意の時点」とは、被選択項目が移動できる位置とそれが移動できない位置とを区別して表示する時間範囲が、被選択項目の移動が完了する前であればいつでもよいことを意味する。例えば、表示制御部13は被選択項目の移動が完了する前において間断なく、被選択項目が移動できる位置とそれが移動できない位置とを区別して表示してもよい。あるいは、表示制御部13は被選択項目の移動が完了する前までの時間範囲の一部でのみ、被選択項目が移動できる位置とそれが移動できない位置とを区別して表示してもよい。あるいは、表示制御部13は、ユーザが被選択項目を移動することなくその選択を解除した場合に、その解除操作の前までの任意の時点において、被選択項目が移動できる位置とそれが移動できない位置とを区別して表示してもよい。この「解除操作の前までの任意の時点」も、「被選択項目の移動が完了する前の任意の時点」という概念に含まれる。
本実施形態では、表示制御部13は位置情報で示される位置(移動可能な位置)を所定の色の太線で表示し、位置情報で示されない位置(移動できない位置)の表示を初期状態のままに維持することで、これら2種類の位置を区別して表示する。図6の例では、移動可能な位置La3,La4が太線91で表され、移動不可能な位置La0〜La2およびLa5〜La8が、初期状態である、単なる区切り線で表されている。リスト92が図6の状態である場合にユーザが被選択項目を位置La3,La4のいずれかに移した場合には、被選択項目がその移動先に移り、この移動に従って、他の項目の表示位置が変わる。これに対して、ユーザが被選択項目を位置La0〜La2およびLa5〜La8のいずれかに移そうとした場合には、その移動が行われることなく、リストは項目が移動対象として選択される前の状態に戻る。
なお、移動可能な位置および移動できない位置の表示方法は限定されない。例えば、表示制御部13は移動できない位置を太線で表示し、移動可能な位置の表示を初期状態のままに維持してもよい。あるいは、表示制御部13は文字または記号を用いてそれら2種類の位置の表示態様を異ならせてもよい。
リスト変更部14は、ユーザの操作により項目が並び替えられたリストの情報を変更情報としてサーバ20に送信する機能要素である。この送信に応じてサーバ20がリストデータを更新することで、項目の並び替えが確定する。リスト変更部14は、例えば、プロセッサ101がクライアントプログラムP1を実行して主記憶部102および通信制御部104を制御することで実現される。
変更情報は、リスト内の変更後の各項目の順序を示す情報である。例えば、リストID「01」のリストにおける変更後の並び順が先頭から質問A2,質問A1,質問A3,質問A4,質問A5,質問A6,質問A8,質問A7であるとする。この場合には、変更情報は、質問A1,質問A2,質問A3,質問A4,質問A5,質問A6,質問A7,質問A8の順序がそれぞれ2,1,3,4,5,6,8,7であることを示す。
リスト変更部14が変更情報を送信するタイミングは限定されないが、一例として、リスト変更部14は一回の操作が完了する度に変更情報を送信してもよい。ここで、「一回の操作」とは、少なくとも一つの項目が移動対象として選択されて、その被選択項目の移動先(図6の例では、位置La3およびLa4のいずれか一つ)が指定される(すなわち、被選択項目が移動先に移る)ことを意味する。一回の操作が完了する度に変更情報を送信する場合には、リスト変更部14は変更情報に応じてサーバ20から送られてくる完了通知を受信することで、変更後の順序がリストデータベース31に登録されたことを認識し、変更後のリストをそのまま表示し続ける。完了通知は、ユーザの操作に従って実行された順序の変更が確定したことを示すデータである。
次に、サーバ20の機能構成を説明する。図2に示すように、サーバ20は機能的構成要素としてリスト提供部21、受信部22、位置判定部23、送信部24、およびリスト更新部25を備える。これらの機能要素は、サーバ20のプロセッサ101が、予めインストールされたサーバプログラムP2を実行することで実現される。
リスト提供部21は、リストデータを端末10に提供する機能要素である。リスト提供部21は、例えば、プロセッサ101がサーバプログラムP2を実行して主記憶部102および通信制御部104を制御することで実現される。
端末10からリスト要求を受信すると、リスト提供部21はその要求に含まれるリストIDに対応するリストデータをリストデータベース31から読み出し、そのリストデータを端末10に送信する。図4に示す例を前提として、リストID「01」を含むリスト要求を受信した場合には、リスト提供部21は質問A1〜A8を含むリストデータを取得し、そのリストデータを端末10に送信する。
受信部22は、選択情報を端末10から受信する機能要素である。受信部22は、例えば、プロセッサ101がサーバプログラムP2を実行して主記憶部102および通信制御部104を制御することで実現される。受信部22は選択情報を位置判定部23に出力する。
位置判定部23は、制約データベース32を参照して、選択情報で示される被選択項目が移動できる位置を判定する機能要素である。受信部22は、例えば、プロセッサ101がサーバプログラムP2を実行して主記憶部102および通信制御部104を制御することで実現される。
位置判定部23は制約データベース32にアクセスして、選択情報に含まれるリストIDに対応する制約情報を参照する。また、位置判定部23はリストデータベース31にアクセスして、そのリストIDに対応するリスト内の現在の順序を参照する。そして、位置判定部23はこれらの情報に基づいて、選択情報に含まれる各項目IDについて移動可能な位置を判定する。そして、位置判定部23はその判定結果(本実施形態では、移動可能な位置)を示す位置情報を生成し、その位置情報を送信部24に出力する。選択情報が一つの項目IDのみを含む場合には、位置判定部23はその項目IDに対応する移動可能な位置を示す位置情報を生成する。選択情報が少なくとも二つの項目IDを含む場合には、位置判定部23はそのすべての項目IDに共通の移動可能な位置を示す位置情報を生成する。もし、移動可能な位置が存在しない場合には、位置判定部23は空値(null)を位置情報として設定する。なお、被選択項目の境界に相当する位置に該項目を移動しても項目の順序は変わらないから、位置判定部23はそのような位置を移動可能な位置とは判定しない。位置判定部23は生成した位置情報を送信部24に出力する。
図4および図5の例と、図6に示される質問の並び順および位置La0〜La8とを前提として、リストID「01」に対する位置情報の例を以下に示す。
選択情報に含まれる項目IDが「0101」のみである場合、質問A1の移動に関する制約として、「質問A7は質問A1および質問A2よりも後ろでなければならない。」および「質問A4,A5,A6は一つのグループである。」が存在する。すなわち、質問A1は質問A7よりも前でなければならず、且つ質問A4〜A6の並びの間に入ることができない。したがって、位置判定部23は位置La2,La3,La6が移動可能な位置であると判定する。位置La0,La1は質問A1の境界に相当するから、位置判定部23はこの二つの位置を移動可能な位置とは判定しない(この判定は当然のことなので、以下では被選択項目の境界に相当する位置に関する説明を省略する)。
選択情報に含まれる項目IDが「0102」のみである場合、質問A2の移動に関する制約として、「質問A3は質問A2よりも後ろでなければならない。」、「質問A7は質問A1および質問A2よりも後ろでなければならない。」および「質問A4,A5,A6は一つのグループである。」が存在する。すなわち、質問A2は質問A3よりも前でなければならず、質問A7よりも前でなければならず、且つ。質問A4〜A6の並びの間に入ることができない。したがって、位置判定部23は位置La0のみが移動可能な位置であると判定する。
選択情報に含まれる項目IDが「0103」のみである場合、質問A3の移動に関する制約として、「質問A3は質問A2よりも後ろでなければならない。」、「質問A4は質問A3よりも後ろでなければならない。」、および「質問A4,A5,A6は一つのグループである。」が存在する。すなわち、質問A3は質問A2よりも後ろでなければならず、質問A4よりも前でなければならず、且つ質問A4〜A6の並びの間に入ることができない。したがって、位置判定部23は移動可能な位置が存在しないと判定する。
選択情報に含まれる項目IDが「0104」のみである場合、質問A4の移動に関する制約として「質問A4は質問A3よりも後ろでなければならない。」および「質問A4,A5,A6は一つのグループである。」が存在する。すなわち、質問A4は質問A3よりも後ろでなければならず、且つ移動後も質問A5,A6と共に並ばなければならない。したがって、位置判定部23は位置La5,La6が移動可能な位置であると判定する。
選択情報に含まれる項目IDが「0105」のみである場合、質問A5の移動に関する制約として「質問A4,A5,A6は一つのグループである。」が存在する。すなわち、質問A5は移動後も質問A4,A6と共に並ばなければならない。したがって、位置判定部23は位置La3,La6が移動可能な位置であると判定する。
選択情報に含まれる項目IDが「0106」のみである場合、質問A6の移動に関する制約として「質問A4,A5,A6は一つのグループである。」が存在する。すなわち、質問A6は移動後も質問A4,A5と共に並ばなければならない。したがって、位置判定部23は位置La3,La4が移動可能な位置であると判定する。なお、この場合には、端末10上でリストが図6に示すように表示される。
選択情報に含まれる項目IDが「0107」のみである場合、質問A7の移動に関する制約として、「質問A7は質問A1および質問A2よりも後ろでなければならない。」および「質問A4,A5,A6は一つのグループである。」が存在する。すなわち、質問A7は質問A1および質問A2よりも後ろでなければならず、且つ質問A4〜A6の並びの間に入ることができない。したがって、位置判定部23は位置La2,La3,La8が移動可能な位置であると判定する。
選択情報に含まれる項目IDが「0108」のみである場合、質問A8の移動に関する制約として「質問A4,A5,A6は一つのグループである。」が存在する。すなわち、質問A8は質問A4〜A6の並びの間に入ることができない。したがって、位置判定部23は位置La0〜La3,La6が移動可能な位置であると判定する。
選択情報に含まれる項目IDが「0101」および「0102」である場合、上述した通り、質問A1は位置La2,La3,La6に移動可能であり、質問A2は位置La0にのみ移動可能である。したがって、位置判定部23は質問A1,A2に共通の移動可能な位置は存在しないと判定する。
選択情報に含まれる項目IDが「0101」および「0107」である場合、質問A1は位置La2,La3,La6に移動可能であり、質問A7は位置La2,La3,La8に移動可能である。したがって、位置判定部23は質問A1,A7に共通の移動可能な位置が位置La2,La3であると判定する。ただし、質問A1,A7に関する制約として「質問A7は質問A1および質問A2よりも後ろでなければならない。」が存在する。したがって、位置判定部23は、移動可能な位置La2,La3において質問A7を質問A1よりも後ろに置くと判定する。すなわち、位置判定部23は複数の被選択項目の位置を少なくとも一つの共通の位置に変更できると判定した場合には、さらに、該共通の位置での該複数の被選択項目の順序を制約情報に基づいて判定する。
選択情報に含まれる項目IDが「0101」および「0104」である場合、質問A1は位置La2,La3,La6に移動可能であり、質問A4は位置La5,La6に移動可能である。したがって、位置判定部23は質問A1,A4に共通の移動可能な位置が位置La6であると判定する。ただし、質問A1,A4に関する制約として「質問A4,A5,A6は一つのグループである。」が存在する。したがって、位置判定部23は、移動可能な位置La6において、質問A1が質問A4〜A6の並びの間に入らないように質問A1を質問A4よりも後ろに置くと判定する。
このように、位置判定部23は、複数の被選択項目の位置を少なくとも一つの共通の位置に変更できると判定した場合には、さらに、該少なくとも一つの共通の位置のそれぞれにおける該複数の被選択項目の順序を制約情報を参照して判定する。位置判定部23は、選択情報が3個以上の項目IDを含む場合も、選択情報が2個の項目IDを含む場合と同様に、複数の被選択項目が移動可能な位置を判定し、その位置における該複数の被選択項目の順序を制約情報に基づいて判定する。
送信部24は、被選択項目が移動できる位置と移動できない位置とを端末10上で区別して表示させるために、位置判定部23から入力された位置情報を端末10に送信する機能要素である。送信部24は、例えば、プロセッサ101がサーバプログラムP2を実行して主記憶部102および通信制御部104を制御することで実現される。位置情報は、端末10から送られてきた選択情報に対する応答であるといえる。上述したように、端末10の表示制御部13はその位置情報に基づいて、移動可能な位置に太線を描画する(図1における太線91を参照)。
リスト更新部25は、ユーザの操作による項目の並び替えを確定させる機能要素である。リスト更新部25は、例えば、プロセッサ101がサーバプログラムP2を実行して主記憶部102および通信制御部104を制御することで実現される。
リスト更新部25は、端末10から受信した変更情報で示されるリストIDに対応する、リストデータベース31内のリストデータを更新する。この更新により、リスト内のいくつかの項目の順序が変わるとともに、更新日時が現在日時で上書きされる。ここで、「リストデータの更新」とは、リストデータベース31内の処理対象の値を新たな値で上書きする処理であり、この更新の前後で値が変わる場合もあれば変わらない場合もあり得る。例えば、リストID「01」のリストデータの初期値が図4に示す通りであり、変更情報が、順序が「先頭から質問A2,質問A1,質問A3,質問A4,質問A5,質問A6,質問A8,質問A7」に変わったことを示すとする。この場合には、リスト更新部25の処理により、リストデータベース31内の項目ID「0101」の順序が1から2に変わり、項目ID「0102」の順序が2から1に変わり、項目ID「0107」の順序が7から8に変わり、項目ID「0108」の順序が8から7に変わる。他の項目IDの順序は結果的に変わらない。更新日時は「2014年11月15日11時30分」から、更新処理時点の日時に更新される。
端末10が一回の操作の完了の度に変更情報をサーバ20に送信する場合には、リスト更新部25は制約データベース32(リストIDに対応する制約情報)を参照することなく、変更情報に基づいてリストデータベース31を更新し、更新の確定を示す完了通知を生成して端末10にその通知を送信する。
次に、図7を用いて、リスト管理システム1の動作を説明するとともに本実施形態に係る表示制御方法について説明する。この説明では、リスト取得部11およびリスト提供部21の連携によりリストが既に端末10上に表示されているものとする。
ユーザが端末10上で移動対象の項目を少なくとも一つ選択すると、検知部12がその選択の操作を検知し(ステップS11)、被選択項目の項目IDとリストIDとを含む選択情報を生成し、その選択情報をサーバ20に送信する(ステップS12)。
サーバ20では受信部22がその選択情報を受信する(ステップS12、受信ステップ)。続いて、位置判定部23がその選択情報(リストIDおよび1以上の項目ID)に基づいて制約データベース32を参照して、被選択項目が移動できる位置を判定し、その位置を示す位置情報を生成する(ステップS13、位置判定ステップ)。選択情報が一つの項目IDのみを含む場合には、位置判定部23はその項目IDに対応する移動可能な位置を示す位置情報を生成する。選択情報が複数の項目IDを含む場合には、位置判定部23はすべての項目IDに共通の移動可能な位置を示す位置情報を生成する。もし、移動可能な位置が存在しない場合には、位置判定部23は空値(null)を位置情報として設定する。そして、送信部24が生成された位置情報を端末10に送信する(ステップS14、送信ステップ)。
端末10では、表示制御部13がその位置情報を受信し、この位置情報に基づいて、被選択項目が移動できる位置と移動できない位置とを区別して表示する(ステップS15)。その後、ユーザが被選択項目の移動を完了すると、リスト変更部14およびリスト更新部25の処理によりリストデータが更新される。
なお、ステップS11〜S15の処理、およびその後のリストデータの更新は繰返し実行され得る。
次に、図8を用いて、リスト管理システム1を実現するためのリスト管理プログラムPを説明する。リスト管理プログラムPは、コンピュータ100を端末10として機能させるクライアントプログラム(表示制御プログラム)P1と、コンピュータ100をサーバ20として機能させるサーバプログラムP2とを含む。リスト管理プログラムPの言語は何ら限定されない。例えば、クライアントプログラムP1がJavaScript(登録商標)で作成され、サーバプログラムP2がJava(登録商標)で作成されてもよい。
クライアントプログラムP1は、メインモジュールP10、リスト取得モジュールP11、検知モジュールP12、表示制御モジュールP13、およびリスト変更モジュールP14を備える。
メインモジュールP10は、端末側の処理を統括的に制御する部分である。リスト取得モジュールP11、検知モジュールP12、表示制御モジュールP13、およびリスト変更モジュールP14を実行することにより実現される機能はそれぞれ、上記のリスト取得部11、検知部12、表示制御部13、およびリスト変更部14の機能と同様である。
サーバプログラムP2は、メインモジュールP20、リスト提供モジュールP21、受信モジュールP22、位置判定モジュールP23、送信モジュールP24、およびリスト更新モジュールP25を備える。
メインモジュールP20は、サーバ側の処理を統括的に制御する部分である。リスト提供モジュールP21、受信モジュールP22、位置判定モジュールP23、送信モジュールP24、およびリスト更新モジュールP25を実行することにより実現される機能はそれぞれ、上記のリスト提供部21、受信部22、位置判定部23、送信部24、およびリスト更新部25の機能と同様である。
クライアントプログラムP1およびサーバプログラムP2はそれぞれ、例えば、CD−ROMやDVD−ROM、半導体メモリなどの有形の記録媒体に固定的に記録された上で提供されてもよい。また、クライアントプログラムP1およびサーバプログラムP2はそれぞれ、搬送波に重畳されたデータ信号として通信ネットワークを介して提供されてもよい。クライアントプログラムP1とサーバプログラムP2とはそれぞれ異なる流通経路で提供されてもよい。クライアントプログラムP1は、端末にインストールされることなくサーバから端末に毎回ダウンロードされる態様で提供されてもよいし、端末にインストールされてもよい。これに対して、サーバプログラムP2は一般にサーバに予めインストールされる。
なお、クライアントプログラム(表示制御プログラム)は、検知モジュールP12および表示制御モジュールP13のみを含む態様で提供されてもよい。複数のコンピュータ100を一つのサーバ20として機能させる場合には、サーバプログラムP2のモジュール群がそれぞれのコンピュータ100に分散して配置されてもよい。
(第2実施形態)
第2実施形態に係るリスト管理システム1Aの機能および構成を説明する。第2実施形態が第1実施形態と異なる点は、リスト管理システム1Aが、複数の端末で同一のリストが編集されている場合にも適応することである。具体的には、同一のリストが複数の端末上で同時に表示されている際にある一つの端末でリスト内の項目の順序が変更されると、その変更が他の端末に反映される。以下では、第2実施形態に特有の事項について詳細に説明し、第1実施形態と同様の事項については説明を省略する。
図9に示すように、リスト管理システム1Aは端末10A、サーバ20A、およびデータベース群30を備える。データベース群30は第1実施形態と同じだが、端末10Aおよびサーバ20Aの機能構成は第1実施形態と異なる。また、リスト管理システム1Aは複数の端末10Aを備える。
端末10Aは機能的構成要素としてリスト取得部11、検知部12、表示制御部13A、およびリスト変更部14を備える。これらの機能要素は、端末10Aのプロセッサ101が、インストールまたはダウンロードされたクライアントプログラムP1Aを実行することで実現される。第1実施形態と機能が異なるのは表示制御部13Aなので、以下では表示制御部13Aについて説明する。
表示制御部13Aは、被選択項目の移動が完了する前の任意の時点において、被選択項目が移動可能な位置を端末10A上に表示する機能要素である。加えて、表示制御部13Aは端末10A上に表示されているリストがその表示中に他の端末10Aからの指示で更新されたか否かをサーバ20Aに定期的に問い合わせ、リストが更新された場合には、端末10A上に表示されているリストを更新後のものに置き換えるという追加機能を有する。表示制御部13Aが第1実施形態における表示制御部13と異なるのはこの追加機能である。表示制御部13Aは、例えば、プロセッサ101がクライアントプログラムP1Aを実行して主記憶部102、通信制御部104、および出力装置106を制御することで実現される。
表示制御部13Aは、表示制御部13と同じ処理により、被選択項目が移動できる位置とそれが移動できない位置とを区別して表示する。続いて、表示制御部13Aは、リストが他の端末10A(他のユーザ)により更新されたか否かを定期的に(例えば1秒ごとに)サーバ20Aに問い合わせる。この問合せは、移動可能な位置まで被選択項目が動かされて項目の順序が変わるまでの間、またはユーザの操作により、移動可能な位置に被選択項目が移動することなく項目の選択が解除されるまでの間、実行される。例えば、表示制御部13Aはユーザがドラッグ・アンド・ドロップを行っている間においてその問合せを実行する。
具体的には、表示制御部13Aは選択情報(被選択項目の項目IDの集合、およびリストID)とリストデータの更新日時とを含む問合せ信号を生成してサーバ20Aにこの信号を送信する。その後、表示制御部13Aはその問合せ信号に応じてサーバ20Aから送られてくる未変更通知または変更通知を受信する。
未変更通知は、端末10Aで現在表示されているリストデータが他の端末10Aにより更新されていないことを示すデータである。未変更通知を受信したということは、端末10Aで現在表示されているリストデータが、リストデータベース31に現在記憶されているリストデータと一致しており、リスト管理システム1Aにおいてリストデータの整合が取れていることを意味する。
変更通知は、端末10Aで現在表示されているリストが他の端末10Aで先に更新されたことを示すデータである。この変更通知は、問合せ信号により送られたリストIDに対応する最新のリストデータと、そのリストデータに対応する最新の位置情報とを含む。変更通知を受信したということは、端末10Aで現在表示されているリストデータが、リストデータベース31に現在記憶されているリストデータと異なっており、リスト管理システム1Aにおいてリストデータの不整合が生じていることを意味する。
未変更通知を受信した場合には、表示制御部13Aは次の問合せ信号をサーバ20Aに送信するまで他の処理を実行しない。したがって、被選択項目が移動できる位置と、被選択項目が移動できない位置とにおける表示態様は変わらない。
一方、変更通知を受信した場合には、表示制御部13Aは、現在表示されているリストデータを、その変更通知に含まれるリストデータに置き換える。また、表示制御部13Aは置換後のリストに対して、最新の位置情報に基づき、被選択項目が移動できる位置(可能な移動先)とそれが移動できない位置(不可能な移動先)とを区別して表示する。この処理により、端末10Aに表示されているリスト(項目の順序)が最新のものに置き換わると共に、場合によっては移動できる位置および移動できない位置が変化する。この処理により、ユーザは、項目の順序を変更しようとしている間に、リスト内の項目の配置と被選択項目の移動可能な位置とが変わったことを知る。ユーザは、現在の被選択項目をそのまま選択し続けることができるが、最新の位置情報によってはその被選択項目をどこにも移動できない場合が生ずる。
サーバ20Aは機能的構成要素としてリスト提供部21、受信部22、位置判定部23A、送信部24A、リスト更新部25、および状況判定部26を備える。これらの機能要素は、サーバ20Aのプロセッサ101が、予めインストールされたサーバプログラムP2Aを実行することで実現される。第1実施形態と機能が異なるのは位置判定部23A、送信部24A、状況判定部26なので、以下ではこれらの機能要素について説明する。
まず、状況判定部26について説明する。状況判定部26は、リストを表示している端末10Aからの問合せに応じて、その表示中に該リストが他の端末10Aにより更新されたか否かを判定する機能要素である。状況判定部26は、例えば、プロセッサ101がサーバプログラムP2Aを実行して主記憶部102および通信制御部104を制御することで実現される。
状況判定部26は、端末10Aから問合せ信号を受信すると、その信号からリストIDおよび更新日時を取得し、そのリストIDに対応するリストデータをリストデータベース31から読み出す。そして、状況判定部26は、リストデータベース31から読み出した更新日時と問合せ信号から読み出した更新日時とを比較する。
双方の更新日時が等しいならば、問合せ信号を送ってきた端末10Aでリストデータが表示されている間に他の端末10Aによりそのリストデータは更新されていない。したがって、問合せ信号を送ってきた端末10Aとリストデータベース31との間でリストデータベースの整合は取れている。この場合には、状況判定部26は、端末10Aでのリストの表示中に該リストが更新されていないと判定し、上記の未変更通知を生成してその通知を送信部24Aに出力する。
これに対して、双方の更新日時が異なる場合(より具体的には、リストデータベース31から読み出した更新日時が、問合せ信号から読み出した更新日時よりも新しい場合)には、問合せ信号を送ってきた端末10Aでリストデータが表示されている間に他の端末10Aによりそのリストデータが更新されたことになる。したがって、問合せ信号を送ってきた端末10Aとリストデータベース31との間でリストデータベースの不整合が生じている。この場合には、状況判定部26は、端末10Aでのリストの表示中に該リストが他の端末10Aにより更新されたと判定する。そして、状況判定部26は問合せ信号に含まれる選択情報と、リストデータベース31から読み出した最新のリストデータとを位置判定部23Aに出力する。
位置判定部23Aは、第1実施形態における位置判定部23と同じ処理を実行する。これに加えて、位置判定部23Aは、状況判定部26から選択情報および最新のリストデータが入力された場合に次の処理を実行する。すなわち、位置判定部23Aはこの場合にも位置判定部23と同じ処理を実行することで、最新のリストデータに対応する最新の位置情報を得る。最新の位置情報は、問合せ信号を送ってきた端末10Aで現在選択されている項目が最新のリスト内のどの位置に移動可能であるかを示す情報である。位置判定部23Aは、最新のリストデータおよび最新の位置情報を含む変更通知を生成してその通知を送信部24Aに出力する。
送信部24Aは、第1実施形態における送信部24と同じ処理を実行する。これに加えて、送信部24Aは、未変更通知または変更通知を、問合せ信号に対応する応答として端末10Aに送信する。
次に、図10および図11を用いて、リスト管理システム1Aの動作を説明するとともに本実施形態に係る表示制御方法について説明する。この説明では、同一のリストが既に2台の端末10A上に表示されているものとし、その2台の端末10Aを「端末X」および「端末Y」という名前で区別する。また、端末X,Yのユーザをそれぞれ「ユーザUx」「ユーザUy」とする。以下の説明では、ユーザUyがリストの順序を変えようとしている間に、ユーザUxがそのリストの順序を先に変えた場合に、端末Y上でどのような処理が実行されるかに着目する。
ステップS21〜S25は端末Xに関する処理であり、第1実施形態におけるステップS11〜S15と同様である。ユーザUxが端末X上で移動対象の項目を少なくとも一つ選択すると、検知部12がその選択の操作を検知し(ステップS21)、被選択項目の項目IDとリストIDとを含む選択情報を生成し、その選択情報をサーバ20Aに送信する(ステップS22)。サーバ20Aでは受信部22がその選択情報を受信する(ステップS22、受信ステップ)。続いて、位置判定部23Aがその選択情報に基づいて制約データベース32を参照して、被選択項目が移動できる位置を判定し、その位置を示す位置情報を生成する(ステップS23、位置判定ステップ)。そして、送信部24Aが生成された位置情報を端末Xに送信する(ステップS24、送信ステップ)。端末Xでは、表示制御部13Aがその位置情報を受信し、この位置情報に基づいて、被選択項目が移動できる位置と移動できない位置とを区別して表示する(ステップS25)。
ステップS26〜S30は端末Yに関する処理であり、これも第1実施形態におけるステップS11〜S15と同様である。ユーザUyが端末Y上で移動対象の項目を少なくとも一つ選択すると、検知部12がその選択の操作を検知し(ステップS26)、被選択項目の項目IDとリストIDとを含む選択情報を生成し、その選択情報をサーバ20Aに送信する(ステップS27)。サーバ20Aでは受信部22がその選択情報を受信する(ステップS27、受信ステップ)。続いて、位置判定部23Aがその選択情報に基づいて制約データベース32を参照して、被選択項目が移動できる位置を判定し、その位置を示す位置情報を生成する(ステップS28、位置判定ステップ)。そして、送信部24Aが生成された位置情報を端末Yに送信する(ステップS29、送信ステップ)。端末Yでは、表示制御部13Aがその位置情報を受信し、この位置情報に基づいて、被選択項目が移動できる位置と移動できない位置とを区別して表示する(ステップS30)。
なお、図10では端末Xに関する処理が端末Yに関する処理より先行しているが、時間軸に沿ったステップS21〜S30の処理の前後関係は何ら限定されない。
その後、端末Yでは表示制御部13Aが問合せ信号を生成してサーバ20Aにその信号を送信する(ステップS31)。サーバ20Aでは、状況判定部26がその問合せ信号に応じてリストデータベース31を参照することで、リストデータの更新状況を確認する(ステップS32)。この時点ではユーザUxの操作によりリストデータが更新されていないので、リストデータベース31内のリストデータの更新日時は問合せ信号に含まれる更新日時と一致する。したがって、状況判定部26は未変更通知を生成し、送信部24Aが端末Yにその通知を送信する(ステップS33)。
その後、端末XでユーザUxが、項目の順序を変える一回の操作を完了すると(ステップS34)、リスト変更部14が変更情報を生成してサーバ20Aにその情報を送信する(ステップS35)。サーバ20Aではリスト更新部25がその変更情報に基づいてリストデータベース31内の対応するリストデータを更新する(ステップS36)。この結果、リストデータベース31と端末Yとの間でリストデータが一時的に整合しなくなる。
その後、未変更通知を受信した端末Yでは、表示制御部13Aが所定の時間の経過後に再び問合せ信号をサーバ20Aに送信する(ステップS37)。サーバ20Aでは、状況判定部26がその問合せ信号に応じてリストデータベース31を参照することで、リストデータの更新状況を確認する(ステップS38)。この時点ではユーザUxの操作によりリストデータが更新されているので、リストデータベース31内のリストデータの更新日時は問合せ信号に含まれる更新日時よりも新しい。したがって、状況判定部26は、端末Yでのリストの表示中に該リストが他の端末(端末X)により更新されたと判定する。この場合には、位置判定部23Aが再度、被選択項目が移動できる位置を判定して変更通知を生成し(ステップS39、位置判定ステップ)、送信部24Aが端末Yにその通知を送信する(ステップS40、送信ステップ)。
端末Yでは、表示制御部13Aがその変更通知に応じて、表示中のリストを最新の状態に切り替えると共に、被選択項目が移動できる位置を再表示する(ステップS41)。この処理により、リストデータベース31と端末Yとの間でリストデータが再び整合する。
その後、端末YでユーザUyが、項目の順序を変える一回の操作を完了すると(ステップS42)、リスト変更部14が変更情報を生成してサーバ20Aにその情報を送信する(ステップS43)。サーバ20Aではリスト更新部25がその変更情報に基づいてリストデータベース31内の対応するリストデータを更新する(ステップS44)。この結果、ユーザUx,Uyの双方の操作がリストデータベース31に反映される。
なお、端末Xも、ユーザUxが一回の操作を完了するまでの間に問合せ信号を送信し得るが、図10および図11ではその送信についての説明を省略している。
このような一連の処理の間における、端末X,Y上で表示されるリストの変化の例を図12に示す。端末X,Yの双方で、図4および図5に示される、リストIDが「02」に対応するリスト93が表示されたとする。そして、ユーザUxが端末X上で質問B3を移動対象として選択し、ユーザUyが端末Y上で質問B4を移動対象として選択したとする。リストID「02」に対しては、「質問B3は質問B1よりも後ろでなければならない」と「質問B4は質問B3よりも後ろでなければならない」という制約がある。この制約に基づいて、端末X上では、質問B3が移動可能な位置に太線91aが表示され、端末Y上では、質問B4が移動可能な位置に太線91bが表示される。
ユーザUyが質問B4の順序変更を確定する前にユーザUxが質問B3を質問B1と質問B2との間に移したとすると、リストデータベース31内のリストID「02」に対応するリストデータが更新される。その後、端末Yが問合せ信号をサーバ20Aに送信して変更通知を受信し、その変更通知を処理することで、端末Xで実行された変更が端末Y上に反映される。図12の例では、端末Yにおいて質問B4が移動可能な位置が二つに増える。
なお、このようなリストデータの同期は、同一のリストに対して複数の端末10A上で順序変更の操作がなされている場合にのみ起こり得るのではなく、同一のリストを表示している複数の端末10Aのうちの一つのみで順序変更の操作がなされている場合にも起こり得る。例えば、図12の例において、ユーザUyがリスト93に対して何も操作していなくても、ユーザUxが質問B3の順序を変えたことで、その変更が反映されたリスト93が端末Y上に表示される。
次に、図13を用いて、リスト管理システム1Aを実現するためのリスト管理プログラムPAを説明する。リスト管理システム1Aは、コンピュータ100を端末10Aとして機能させるクライアントプログラム(表示制御プログラム)P1Aと、コンピュータ100をサーバ20Aとして機能させるサーバプログラムP2Aとを含む。第1実施形態と同様に、リスト管理プログラムPAの言語は何ら限定されない。
クライアントプログラムP1Aが第1実施形態におけるクライアントプログラムP1と異なる点は、表示制御モジュールP13に代えて表示制御モジュールP13Aを備えることである。表示制御モジュールP13Aを実行することにより実現される機能は表示制御部13Aの機能と同様である。
サーバプログラムP2Aは、位置判定モジュールP23および送信モジュールP24に代えて位置判定モジュールP23Aおよび送信モジュールP24Aを備える点で、第1実施形態におけるサーバプログラムP2と異なる。加えて、サーバプログラムP2Aは、状況判定モジュールP26をさらに備える。位置判定モジュールP23A、送信モジュールP24A、および状況判定モジュールP26を実行することにより実現される機能はそれぞれ、位置判定部23A、送信部24A、および状況判定部26の機能と同様である。
なお、クライアントプログラム(表示制御プログラム)は、検知モジュールP12および表示制御モジュールP13Aのみを含む態様で提供されてもよい。複数のコンピュータ100を一つのサーバ20Aとして機能させる場合には、サーバプログラムP2Aのモジュール群がそれぞれのコンピュータ100に分散して配置されてもよい。
本実施形態では、端末10A上でリスト内の少なくとも一つの信号が選択されている間に問合せ信号が送信される場合に焦点を絞って説明した。しかし、表示制御部13Aは、リスト内の項目が移動対象として選択されているか否かにかかわらず問合せ信号をサーバ20Aに送信してもよい。リスト内の項目が移動対象として選択されていない場合には、表示制御部13AはリストIDおよびリストデータの更新日時を含む問合せ信号を送信すればよい。一方、状況判定部26はその問合せ信号に応じてリストの更新の有無を判定し、更新されていなければ未変更通知を生成し、変更されていれば、更新後のリストデータを含む変更通知を生成する。そして、送信部24Aはその未変更通知または変更通知を、問合せ信号に対する応答として端末10Aに送信する。
以上説明したように、本発明の一側面に係るサーバは、複数の項目の集合を含むリストを表示している端末上で選択された少なくとも一つの項目を示す選択情報を該端末から受信する受信部と、複数の項目の順序に関する制約を示す制約情報を記憶する記憶部を参照して、リスト内で少なくとも一つの項目が移動できる位置を判定する位置判定部と、少なくとも一つの項目が移動できる位置と移動できない位置とを、該少なくとも一つの項目の移動が完了する前の任意の時点において端末上で区別して表示させるために、位置判定部による判定結果を示す位置情報を該端末に送信する送信部と、を備える。
本発明の一側面に係る表示制御方法は、プロセッサを備えるサーバにより実行される表示制御方法であって、複数の項目の集合を含むリストを表示している端末上で選択された少なくとも一つの項目を示す選択情報を該端末から受信する受信ステップと、複数の項目の順序に関する制約を示す制約情報を記憶する記憶部を参照して、リスト内で少なくとも一つの項目が移動できる位置を判定する位置判定ステップと、少なくとも一つの項目が移動できる位置と移動できない位置とを、該少なくとも一つの項目の移動が完了する前の任意の時点において端末上で区別して表示させるために、位置判定ステップにおける判定結果を示す位置情報を該端末に送信する送信ステップと、を含む。
本発明の一側面に係る表示制御プログラムは、複数の項目の集合を含むリストを表示している端末上で少なくとも一つの項目が選択されたことを検知し、該少なくとも一つの項目を示す選択情報をサーバに送信する検知部と、選択情報に応じてサーバから送信された位置情報を受信し、該位置情報に基づいて、リスト内で少なくとも一つの項目が移動できる位置と移動できない位置とを、該少なくとも一つの項目の移動が完了する前の任意の時点において区別して表示する表示制御部と、としてコンピュータを機能させ、サーバが、複数の項目の順序に関する制約を示す制約情報を記憶する記憶部を参照して、リスト内で少なくとも一つの項目が移動できる位置を判定し、位置情報が判定の結果を示す。
このような側面においては、端末に表示されたリスト内で少なくとも一つの項目が選択されると、項目の順序に関する制約に基づいて、被選択項目が移動できる位置が判定され、その判定結果を示す位置情報が端末に送信される。そして、この位置情報に基づいて、その端末上で、被選択項目が移動できる位置と移動できない位置とが区別して表示される。すなわち、ユーザがリスト内の項目の順序を変えようとする際に、順序に関する制約(その項目をどこに移動できるか)をそのユーザに示すことができる。このように、ユーザインタフェースの利便性が向上するので、操作者であるユーザは入力の手間を軽減でき時間を節約することができる。
他の側面に係るサーバでは、制約情報が、少なくとも二つの項目が連続して並ばなければならないというグループ制約を含み、位置判定部が、グループ制約に基づいて、少なくとも二つの項目の間には他の項目が移動できないと判定してもよい。
このようなグループ制約を用いて他の項目がグループ内に混在することを避けることで、特定の複数の項目を常に一つのグループとして取り扱うことができる。
他の側面に係るサーバでは、選択情報が、端末上で選択された少なくとも二つの項目を示し、位置判定部が、選択された少なくとも二つの項目のすべてが移動できる位置を判定してもよい。
移動しようとする複数の項目のすべてが移動可能な位置を示すことで、ユーザは、制約に違反することなく、複数の項目の順序を一回の操作で簡単に変更することができる。
他の側面に係るサーバでは、リストを表示している端末からの問合せに応じて、該端末がリストを表示している間に該リストが他の端末により更新されたか否かを判定する状況判定部をさらに備え、リストが他の端末により更新されたと判定された場合に、位置判定部が、更新後のリスト内で少なくとも一つの項目が移動できる位置を新たに判定し、送信部が、更新後のリストと、位置判定部による新たな判定結果を示す新たな位置情報とを端末に送信してもよい。
この場合には、一の端末でリストに対する操作が行われている際に他の端末によりリスト内の順序が更新されると、該一の端末に更新後のリストが反映される。加えて、更新後のリスト内で移動可能な位置も当該一の端末に提供される。したがって、当該一の端末のユーザは、能動的に更新後のリストを取得することなく、リスト内の項目の新たな可能な移動先を把握して該項目をそこに移すことができる。
以上、本発明をその実施形態に基づいて詳細に説明した。しかし、本発明は上記実施形態に限定されるものではない。本発明は、その要旨を逸脱しない範囲で様々な変形が可能である。
上述した通り、リストおよび項目の内容は何ら限定されない。したがって、アンケートの編集以外の目的で本発明を利用することもできる。
1,1A…リスト管理システム、10,10A…端末、11…リスト取得部、12…検知部、13,13A…表示制御部、14…リスト変更部、20,20A…サーバ、21…リスト提供部、22…受信部、23,23A…位置判定部、24,24A…送信部、25…リスト更新部、26…状況判定部、30…データベース群、31…リストデータベース、32…制約データベース、P,PA…リスト管理プログラム、P1,P1A…クライアントプログラム、P10…メインモジュール、P11…リスト取得モジュール、P12…検知モジュール、P13,P13A…表示制御モジュール、P14…リスト変更モジュール、P2,P2A…サーバプログラム、P20…メインモジュール、P21…リスト提供モジュール、P22…受信モジュール、P23,P23A…位置判定モジュール、P24,P24A…送信モジュール、P25…リスト更新モジュール、P26…状況判定モジュール。

Claims (6)

  1. 複数の項目の集合を含むリストを表示している端末上で選択された少なくとも一つの前記項目を示す選択情報を該端末から受信する受信部と、
    前記複数の項目の順序に関する制約を示す制約情報を記憶する記憶部を参照して、前記リスト内で前記少なくとも一つの項目が移動できる位置を判定する位置判定部と、
    前記少なくとも一つの項目が移動できる位置と移動できない位置とを、該少なくとも一つの項目の移動が完了する前の任意の時点において前記端末上で区別して表示させるために、前記位置判定部による判定結果を示す位置情報を該端末に送信する送信部と、
    を備えるサーバ。
  2. 前記制約情報が、少なくとも二つの前記項目が連続して並ばなければならないというグループ制約を含み、
    前記位置判定部が、前記グループ制約に基づいて、前記少なくとも二つの項目の間には他の項目が移動できないと判定する、
    請求項1に記載のサーバ。
  3. 前記選択情報が、前記端末上で選択された少なくとも二つの項目を示し、
    前記位置判定部が、前記選択された少なくとも二つの項目のすべてが移動できる位置を判定する、
    請求項1または2に記載のサーバ。
  4. 前記リストを表示している前記端末からの問合せに応じて、該端末が前記リストを表示している間に該リストが他の端末により更新されたか否かを判定する状況判定部をさらに備え、
    前記リストが前記他の端末により更新されたと判定された場合に、前記位置判定部が、更新後のリスト内で前記少なくとも一つの項目が移動できる位置を新たに判定し、
    前記送信部が、前記更新後のリストと、前記位置判定部による新たな判定結果を示す新たな位置情報とを前記端末に送信する、
    請求項1〜3のいずれか一項に記載のサーバ。
  5. プロセッサを備えるサーバにより実行される表示制御方法であって、
    複数の項目の集合を含むリストを表示している端末上で選択された少なくとも一つの前記項目を示す選択情報を該端末から受信する受信ステップと、
    前記複数の項目の順序に関する制約を示す制約情報を記憶する記憶部を参照して、前記リスト内で前記少なくとも一つの項目が移動できる位置を判定する位置判定ステップと、
    前記少なくとも一つの項目が移動できる位置と移動できない位置とを、該少なくとも一つの項目の移動が完了する前の任意の時点において前記端末上で区別して表示させるために、前記位置判定ステップにおける判定結果を示す位置情報を該端末に送信する送信ステップと、
    を含む表示制御方法。
  6. 複数の項目の集合を含むリストを表示している端末上で少なくとも一つの前記項目が選択されたことを検知し、該少なくとも一つの項目を示す選択情報をサーバに送信する検知部と、
    前記選択情報に応じて前記サーバから送信された位置情報を受信し、該位置情報に基づいて、前記リスト内で前記少なくとも一つの項目が移動できる位置と移動できない位置とを、該少なくとも一つの項目の移動が完了する前の任意の時点において区別して表示する表示制御部と、
    としてコンピュータを機能させ、
    前記サーバが、前記複数の項目の順序に関する制約を示す制約情報を記憶する記憶部を参照して、前記リスト内で前記少なくとも一つの項目が移動できる位置を判定し、前記位置情報が前記判定の結果を示す、
    表示制御プログラム。
JP2015515341A 2014-12-10 2014-12-10 サーバ、表示制御方法、および表示制御プログラム Active JP5809382B1 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2014/082736 WO2016092653A1 (ja) 2014-12-10 2014-12-10 サーバ、表示制御方法、および表示制御プログラム

Publications (2)

Publication Number Publication Date
JP5809382B1 JP5809382B1 (ja) 2015-11-10
JPWO2016092653A1 true JPWO2016092653A1 (ja) 2017-04-27

Family

ID=54545851

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015515341A Active JP5809382B1 (ja) 2014-12-10 2014-12-10 サーバ、表示制御方法、および表示制御プログラム

Country Status (3)

Country Link
US (1) US10528224B2 (ja)
JP (1) JP5809382B1 (ja)
WO (1) WO2016092653A1 (ja)

Family Cites Families (69)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3795911A (en) * 1961-02-02 1974-03-05 C Hammack Method and apparatus for automatically determining position-motion state of a moving object
US4630219A (en) * 1983-11-23 1986-12-16 International Business Machines Corporation Element placement method
US5617510A (en) * 1989-06-13 1997-04-01 Schlumberger Technology Corporation Dependency graph solution for constraint systems
US5287446A (en) * 1990-10-15 1994-02-15 Sierra On-Line, Inc. System and methods for intelligent movement on computer displays
US5963931A (en) * 1992-10-05 1999-10-05 Expert Systems Publishing Co. Computer-assisted decision management system
US5712964A (en) * 1993-09-29 1998-01-27 Fujitsu Limited Computer graphics data display device and method based on a high-speed generation of a changed image
US7092894B1 (en) * 1994-09-01 2006-08-15 Harris Corporation Cost reactive scheduler and method
US5845302A (en) * 1995-12-29 1998-12-01 Moore Business Forms, Inc. Method and system for producing high-quality, highly-personalized printed documents
US5844554A (en) * 1996-09-17 1998-12-01 Bt Squared Technologies, Inc. Methods and systems for user interfaces and constraint handling configurations software
JP3272281B2 (ja) * 1997-10-20 2002-04-08 インターナショナル・ビジネス・マシーンズ・コーポレーション データアイテム表示方法及び表示装置、データアイテムの表示を制御するプログラムを格納した記憶媒体
CA2287689C (en) * 1998-12-03 2003-09-30 P. Krishnan Adaptive re-ordering of data packet filter rules
US6289513B1 (en) * 1999-06-01 2001-09-11 Isaac Bentwich Interactive application generation and text processing
US7461058B1 (en) * 1999-09-24 2008-12-02 Thalveg Data Flow Llc Optimized rule based constraints for collaborative filtering systems
US6507349B1 (en) * 2000-01-06 2003-01-14 Becomm Corporation Direct manipulation of displayed content
US20020085017A1 (en) * 2001-01-03 2002-07-04 Pisutha-Arnond Suthirug Num Method and apparatus for reordering data items displayed on an electronic device
JP2002222183A (ja) * 2001-01-24 2002-08-09 Seiko Instruments Inc 印刷テンプレート作成用のユーザーインターフェース
US6760047B2 (en) * 2001-02-26 2004-07-06 Microsoft Corporation Method for flagging and relating information in a computer system
US7174514B2 (en) * 2001-03-28 2007-02-06 Siebel Systems, Inc. Engine to present a user interface based on a logical structure, such as one for a customer relationship management system, across a web site
US6834282B1 (en) * 2001-06-18 2004-12-21 Trilogy Development Group, Inc. Logical and constraint based browse hierarchy with propagation features
US8108241B2 (en) * 2001-07-11 2012-01-31 Shabina Shukoor System and method for promoting action on visualized changes to information
US6928618B2 (en) * 2001-10-23 2005-08-09 Autodesk, Inc. Intelligent drag of assembly components
JP4156291B2 (ja) * 2002-07-26 2008-09-24 富士通株式会社 アニメーション作成/編集装置
US7945855B2 (en) * 2003-03-24 2011-05-17 Microsoft Corporation Smart space insertion
US7805324B2 (en) * 2004-10-01 2010-09-28 Microsoft Corporation Unified model for authoring and executing flow-based and constraint-based workflows
US8170901B2 (en) * 2004-10-01 2012-05-01 Microsoft Corporation Extensible framework for designing workflows
JP5294183B2 (ja) * 2004-11-09 2013-09-18 国立大学法人 東京医科歯科大学 対話型教材作成支援プログラム、教材作成装置、コンピュータにより読み取り可能な記録媒体、及び対話型教材作成システム
US7581197B2 (en) * 2005-05-26 2009-08-25 Synopsys, Inc. Relative positioning of circuit elements in circuit design
US7665028B2 (en) * 2005-07-13 2010-02-16 Microsoft Corporation Rich drag drop user interface
US20070219816A1 (en) * 2005-10-14 2007-09-20 Leviathan Entertainment, Llc System and Method of Prioritizing Items in a Queue
US8255818B2 (en) * 2005-11-17 2012-08-28 Oracle International Corporation System and method for providing drag and drop functionality in a communities framework
US8510669B2 (en) * 2006-02-06 2013-08-13 Yahoo! Inc. Method and system for presenting photos on a website
US7562061B2 (en) * 2006-05-01 2009-07-14 International Business Machines Corporation Context-based failure reporting for a constraint satisfaction problem
JP4795193B2 (ja) 2006-10-13 2011-10-19 キヤノン株式会社 画像表示装置及びその制御方法及びプログラム
US8345043B2 (en) * 2007-04-13 2013-01-01 Autodesk, Inc. Solving networks of geometric constraints
US9104300B2 (en) * 2007-10-17 2015-08-11 International Business Machines Corporation Drag and drop object attribute assignment for objects in a graphical user interface (GUI)
US8276152B2 (en) * 2007-12-05 2012-09-25 Microsoft Corporation Validation of the change orders to an I T environment
US8127240B2 (en) * 2008-04-09 2012-02-28 International Business Machines Corporation Seamless drag and drop operation with multiple event handlers
US20090282332A1 (en) * 2008-05-12 2009-11-12 Nokia Corporation Apparatus, method and computer program product for selecting multiple items using multi-touch
US20100257470A1 (en) * 2009-04-03 2010-10-07 Hewlett-Packard Development Company, L.P. Personal project management
US20100279260A1 (en) * 2009-05-03 2010-11-04 Bruce Alan White Method of Constructing Questions For Lie Detection Examinations
US8473506B2 (en) * 2009-05-20 2013-06-25 Oracle International Corporation Type system for building extensible business applications
WO2011014442A1 (en) * 2009-07-27 2011-02-03 Nextgen Healthcare Information Systems, Inc. Systematic rule-based workflow tasking and event scheduling
WO2011044303A2 (en) * 2009-10-06 2011-04-14 Mytelehealthsolutions, Llc System and method for an online platform distributing condition specific programs used for monitoring the health of a participant and for offering health services to participating subscribers
US8938668B2 (en) * 2011-08-30 2015-01-20 Oracle International Corporation Validation based on decentralized schemas
US20120030566A1 (en) * 2010-07-28 2012-02-02 Victor B Michael System with touch-based selection of data items
US20150193108A1 (en) * 2010-07-30 2015-07-09 Jian Li Drag and Drop Downloading of Content Referenced by Displayed Elements
US8767019B2 (en) * 2010-08-31 2014-07-01 Sovanta Ag Computer-implemented method for specifying a processing operation
EP2636013A4 (en) * 2010-11-02 2016-05-18 Survey Engine Pty Ltd SELECTION MODELING SYSTEM AND METHOD
EP2455841A3 (en) * 2010-11-22 2015-07-15 Samsung Electronics Co., Ltd. Apparatus and method for selecting item using movement of object
US9069829B2 (en) * 2011-01-21 2015-06-30 Microsoft Technology Licensing, Llc Data items manager
JP5772332B2 (ja) * 2011-07-20 2015-09-02 富士通株式会社 巡回路決定についてのプログラム、方法及び装置
US8775947B2 (en) * 2011-08-11 2014-07-08 International Business Machines Corporation Data sharing software program utilizing a drag-and-drop operation and spring-loaded portal
US9395959B2 (en) * 2011-12-09 2016-07-19 Microsoft Technology Licensing, Llc Integrated workflow visualization and editing
US20130152021A1 (en) * 2011-12-09 2013-06-13 Microsoft Corporation Stage and stage view within a workflow
JP2013134755A (ja) * 2011-12-27 2013-07-08 Hitachi Solutions Ltd 情報検索システム及び情報検索方法
EP2610726B1 (en) * 2011-12-29 2018-08-29 Orange Drag and drop operation in a graphical user interface with highlight of target objects
US9529518B2 (en) * 2012-05-25 2016-12-27 Panasonic Intellectual Property Corporation Of America Information processing device, information processing method, and information processing program
US20150254691A1 (en) * 2012-08-23 2015-09-10 Twist Of Lemon Pty Ltd System and method of constructing on-line surveys
KR102061776B1 (ko) * 2012-09-05 2020-01-02 후아웨이 테크놀러지 컴퍼니 리미티드 객체 위치를 변경하기 위한 방법 및 그 전자 장치
US8619497B1 (en) * 2012-11-15 2013-12-31 Cggveritas Services Sa Device and method for continuous data acquisition
US9634918B2 (en) * 2012-12-13 2017-04-25 Level 3 Communications, Llc Invalidation sequencing in a content delivery framework
JP2014120859A (ja) * 2012-12-14 2014-06-30 Funai Electric Co Ltd 表示装置、表示システム、表示装置の制御方法および信号処理装置
US9792079B2 (en) * 2013-02-25 2017-10-17 Ricoh Company, Ltd. Smart drag and drop user interfaces for print workflow system
US20140258886A1 (en) * 2013-03-07 2014-09-11 Smugmug, Inc. Method for transferring a file from a device
US10044787B1 (en) * 2013-11-20 2018-08-07 Simon Frazier File transfer in a multi-node network
US10241654B2 (en) * 2013-12-20 2019-03-26 Dassault Systemes Americas Corp. Computer method and apparatus for automated scheduling
US9842185B2 (en) * 2015-08-21 2017-12-12 Qualcomm Incorporated Systems and methods for group constraints in an integrated circuit layout
SG10201509288PA (en) * 2015-11-11 2017-06-29 Credenx Pte Ltd A Computer-Implemented Method For Evaluating Suitability Of An Applicant For A Team And A System Thereof
US20170344631A1 (en) * 2016-05-26 2017-11-30 Microsoft Technology Licensing, Llc. Task completion using world knowledge

Also Published As

Publication number Publication date
JP5809382B1 (ja) 2015-11-10
US10528224B2 (en) 2020-01-07
WO2016092653A1 (ja) 2016-06-16
US20160349943A1 (en) 2016-12-01

Similar Documents

Publication Publication Date Title
US9021540B2 (en) Information processing apparatus, information processing method, and program
US10102183B2 (en) System for transferring annotations between documents displayed side by side
JP5631947B2 (ja) 管理装置、メッセージ管理方法およびプログラム
WO2014002812A1 (ja) 端末装置及びアノテーション方法並びにコンピュータシステム及びコンピュータプログラム
US20140026104A1 (en) Display control device, display control method, and program
EP3143569A1 (en) Active summaries in user interfaces to collaboration services
JP2006018493A (ja) 文書処理装置、文書処理方法及び文書処理プログラム
US20090094322A1 (en) Thumbnail distribution system, server, client and program
JP2015228066A (ja) 情報端末、制御方法及びプログラム
WO2021015284A1 (ja) 対話型入力支援システム及び対話型入力支援方法
US7886002B2 (en) Application collaboration system, collaboration method and collaboration program
JP5809382B1 (ja) サーバ、表示制御方法、および表示制御プログラム
US20070028236A1 (en) File transfer system
JP2016174229A (ja) 情報処理システム、情報処理装置、情報処理方法、及びプログラム
JP5278262B2 (ja) 情報処理装置、情報処理方法、及び情報処理プログラム
KR101974339B1 (ko) 네트워크 시스템 및 제어 방법
JP6265644B2 (ja) 文書管理プログラム、情報処理装置
JP2017220104A (ja) クライアント装置、情報処理システム及びプログラム
JP5256263B2 (ja) 情報処理装置、情報処理システムおよびプログラム
JP2009104466A (ja) 情報管理システム及び情報管理プログラム
JP2014219813A (ja) 情報処理装置、情報処理装置の制御方法、およびプログラム
JP2019095999A (ja) 操作入力装置及びプログラム
JP6136459B2 (ja) 電子チラシ閲覧装置、電子チラシ閲覧方法及びプログラム
KR102181579B1 (ko) 환자정보 스티커 서비스 제공방법 및 이를 위한 치과용 보험청구 시스템
JP2012128829A (ja) 文書管理装置。

Legal Events

Date Code Title Description
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: 20150908

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150910

R150 Certificate of patent or registration of utility model

Ref document number: 5809382

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

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: R3D02

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

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