CLOSE

Cybozu Days 2021 トヨクモ株式会社(全1記事)

2022.01.26

Brand Topics

PR

「kintone」のラグが生む、ユーザーの“浦島太郎化”問題 解決の鍵を握るのは“親切なおばちゃん”?

提供:サイボウズ株式会社

サイボウズの総合イベント「Cybozu Days Tokyo」内で開催された、対戦形式でkintoneカスタマイズのアイディアを披露するセッション「kintone hack」。予選を勝ち抜いた挑戦者たちがチャンピオンを目指して、華やかな演出と共にプレゼンテーションを行います。本記事ではkintoneに潜むラグとその解決策について、トヨクモ株式会社の江田篤史氏によるプレゼンの模様を公開します。

「kintone」は自分からは話しかけられないシャイなヤツ?

江田篤史氏:本日は「リアルタイムkintone」というテーマについて、kintoneに潜むラグとその解決策についてお話しします。

まずは普通のkintoneの動きをおさらいしましょう。例えば、こんな2つのレコードを持ったkintoneアプリがあったとします。そこにレコード一覧を見たいAさんが現れました。Aさんが「レコード一覧をください」とkintoneにお願いすることで、kintoneはレコード一覧情報を渡します。

この時はもちろん、kintoneとAさんが同じレコード一覧情報を持っています。そこへ、レコード追加をしたいBさんが現れました。Bさんが「レコード追加して」とkintoneにお願いすると、kintoneはレコードを保存したうえで、Bさんに対して「レコードを追加しましたよ」とお返事します。

ここでkintoneはレコードを3つ持っていることになりますが、Aさんはレコードが2つのままです。kintoneからAさんに「レコードが追加されましたよ」とお知らせできればいいんですけど、kintoneは自分からAさんに話しかけることができません。

kintoneは聞かれれば何でも教えられるエリートなんですけど、自分から話しかけられないシャイさがあります。しばらくレコードが増えたことに気付かなかったAさんは、浦島太郎状態になってしまうかもしれません。このように、kintoneからユーザーへの情報反映にはラグがあります。

聞かれなくても教えてくれる“親切なおばちゃん”の登場

そこで私は「リアルタイムkintone」をご提案します。自分から話しかけられないkintoneに代わって、WebSocketという技術を導入します。これは、聞かれなくても何でも話しかけてくれる、親切なおばちゃんをイメージしていただけるといいと思います。

では、先ほどのBさんがレコードを追加する場面に戻ります。Bさんが「レコード追加して」と、今度はkintoneに加えておばちゃん(WebSocket)にもお願いします。すると、kintoneは先ほどと同様レコードの保存をし、おばちゃんも新しいレコード情報を知ります。

新しい情報を仕入れたおばちゃんは、Aさんにも「レコードが増えたよ」とお知らせします。新しい情報を知ったAさんはレコード一覧情報を更新し、kintoneとAさんは常に同じレコード情報を持ち続けて、Aさんはハッピーになります。

「リアルタイムkintone」が持っている、4つの機能

それではデモを4つご用意しましたので、順番にご覧ください。1つ目は「リアルタイムView機能」です。自動で更新する一覧。左のAさんはレコード一覧情報を見ています。右のBさんがレコード追加をすると、Aさんの一覧が自動で更新されます。

同様にBさんがレコードの編集を行った場合も、Aさんのビューが自動で更新されます。このように、Aさんは開いているだけで自動で情報が入ってくるビューを見ることができます。

続いて「共同編集機能」です。左のAさんと右のBさん、同じレコード詳細画面を見ています。先にAさんがレコード編集を開始します。画面右下では、現在編集中のユーザーが「なし」と確認できます。Aさんが試しに数値を「10」から「999」に変更しておきます。

この状態で、Bさんも同じレコードを編集開始してみましょう。Bさんの画面上ではAさんが編集中であること、Aさんの画面上ではBさんが編集中であることが確認できます。また、先ほどAさんが変更した数値の「999」も反映されています。

文字列「hoge」を「fuga」に変更してみましょう。すると、Aさんの画面でも「fuga」が即時反映されます。サブテーブルであっても、サイボウズ公式のJavaScriptカスタマイズで編集することができます。もちろんBさんが足した行を、Aさんが変更することもできます。

先にAさんがレコードを保存すると、Bさんの画面上で「ページを更新します」というアラートが出ます。このアラートに従うことで、Bさんが続けて編集を行う場合も問題なく保存を行うことができます。このように複数人で効率良くレコードの編集が可能になります。

3つ目は「分報アプリ」。日報ならぬ分報です。日報のように日ごとにタスクを書き込むのではなく、タスクができるたびにどんどん書き込んでいくようなアプリです。Aさんも試しに自分のタスクを書き込んでみます。すると、Bさんの画面上でもAさんのタスクが即時反映されます。

たまたま見ていたBさんがアドバイスなどをあげることで、Aさんがスピーディーにタスクをこなすことができます。所属組織で絞り込んだり、個人で絞り込んだり。また、先頭にアスタリスクを付けて投稿してみると、ToDoリストのように扱えるようにしたり。ボタンを押してみると、別アプリの日報アプリを開いて分報に書き込んだタスクを自動で反映してくれるような、kintoneならではのカスタマイズも可能です。

そして4つ目が「Excel風共同編集」。複数のレコードを複数人で一斉に編集するような機能です。このように他のユーザーが今どこを編集しているか(が見え)、また編集した過程がすぐ反映されるようなアプリも作れます。一気にレコードを更新したい時などに役立つと思います。

ではまとめになります。「kintoneからユーザーへの情報反映にはラグがある」という課題がありました。そこで、WebSocketという技術を用いて「リアルタイムkintone」を作りました。リアルタイムkintoneでは、作れるアプリの幅が広がりますので、みなさんもぜひお試しください。ご清聴ありがとうございました。

続きを読むには会員登録
(無料)が必要です。

会員登録していただくと、すべての記事が制限なく閲覧でき、
著者フォローや記事の保存機能など、便利な機能がご利用いただけます。

無料会員登録

会員の方はこちら

サイボウズ株式会社

関連タグ:

この記事のスピーカー

同じログの記事

コミュニティ情報

Brand Topics

Brand Topics

  • 攻撃者はVPNを狙っている ゼロトラストならランサムウェア攻撃を防げる理由と仕組み

人気の記事

新着イベント

ログミーBusinessに
記事掲載しませんか?

イベント・インタビュー・対談 etc.

“編集しない編集”で、
スピーカーの「意図をそのまま」お届け!