SORACOM Fluxとkintoneをつないでみた


  Topへ↓

今年(2024年)の7/17に開催されたSORACOM Discovery 2024でSORACOM社が新サービスのSORACOM Fluxを発表しました。(サービスサイト
SORACOM Discovery 2024サイト
本稿では、SORACOM Fluxとkintoneをつないだ事例を説明します。

私は用事があり、SORACOM Discovery 2024には参加できませんでした(前夜にはSORACOM UserGroupの皆さんと会場の近くで飲んでましたが)。
そのため、私はSORACOM Fluxについてよく知らずにいました。デバイスから得た情報をAIを用いて加工・チェックが可能。それが私のSORACOM Fluxについて持つあいまいな知識でした。

本稿をアップした9月中旬の時点では、kintoneの標準機能にはAIによる補助機能は備わっていません。
この11月に開催が予定されているCybozu Days 2024の中で、ひょっとしたらAIに関する何らかの発表がサイボウズ社からあるのかもしれません。が、今の時点ではkintoneの中でAIを使いたい場合は、サードパーティによるプラグインを選ぶか、自分でコーディングする必要があります。
一方で、SORACOM FluxはSORACOM Discovery 2024の発表によってSORACOMのサービスの一つとしてラインナップに加わりました。kintoneにないAIの標準機能をSORACOMは標準機能として持っている。となれば、一度SORACOM Fluxを使ってみるべきではないかと思いました。

ちょうど折良く、SORACOMのSPSパートナー会でSORACOM Fluxの説明会があると言う連絡をいただきました。私は瞬時に申し込みました。
8/9の説明会の場では、SORACOM Fluxの機能の大枠を学びました。それとともに、SORACOM FluxについてSPSパートナー会でLT登壇しないかというか応募のお誘いをいただきました。LT用に2000クレジットを使わせてもらえるというので、私は説明会が終わってすぐに申し込みました。

そのあと、お盆休暇の中の一日を使ってSORACOM Fluxの機能を理解し、LTの内容や方向性と資料を作成しました。後日、作業の合間に修正を加えたあと、SORACOMさんに対してLTの内容を説明したのが8/27です。

8/27の時点でほぼLTで話す内容は完成していて、画像の扱いだけが若干の課題でした。
画像の連携も無事にできるようになり、9/12にSORACOM社本社で行われたSPSパートナー会では、配信ルームからLT登壇いたしました。事前の録画収録ではなくリアルタイム配信なので、配信ルームに不慣れな私は少し緊張しましたが、無事に終了。
LTの資料の中で詳細はブログで発表しますと書きました。そのブログこそが本稿です。
LT資料はこちら

2.企画

  Topへ↑

SORACOM Fluxとは、どういうサービスでしょうか。

説明会を受けての私の理解によれば、SORACOM Fluxの設定画面では複数のAIサービスに呼び出しをかけられます。その結果をつなぐことで、様々な画像やAIからのインプットをもとに、用途に応じたアウトプットが行えます。

最近、AIエージェントの世界ではLangChainがとても脚光を浴びており、私も少し触っています。
LangChainはCUI、つまりコードベースで動きます。一方のSORACOM Fluxは、各プロセスをGUIでつなぐことができます。かつ、SORACOMの多種多様なデバイスからの画像データなどが簡単に扱える点がSORACOM Fluxを使うメリットではないかと考えます。

であるならば、私がSORACOM FluxのLTで取り上げるべきは、本来はSORACOMの多様なデバイスを用いた画像分析でしょう。実際、SORACOMさんから提示いただいたサンプル事例でも、倉庫内で所定の規則に定められた装備を着用していない人を画像検出し、アラートを出すユースケースが想定されていました。

私も最初はソラカメから受け取った画像を分析し、アラートを出す実装を考えました。ですが、ここで私の天邪鬼の衝動がむくむくと牙をむきました。あえてkintone使ってみたら面白いんじゃねーかと。

AI機能が標準装備されていないkintoneのデータをSORACOM Fluxを使ってkintoneに書き戻すことで、よりkintoneのAI活用の可能性が拡がるのではないか。kintone界隈にもSORACOMのソリューションの紹介ができるのではないか。SORACOM界隈の人、特にデータの蓄積にSORACOM Lagoonだけを使う方にも、kintoneの世界を紹介できるのではないか。
それが私の着想でした。

早速、脳内で実装を始めてみました。考えてみたことろ、SORACOM側の認証などを突破する必要があるのと同時に、kintoneの添付ファイルの扱いを考える必要もあります。
そして今回は、JavaScriptを使わずノーコードで実装を完結することも私の中の制約として課していました。

そこでkintoneとSORACOMをつなぐ部分は全てzapierで実装しました。今回はzapierを採用しましたが、おそらく同じ事はmakeでも他のiPaaSでも可能ではないかと思います。よかったら試してみてください。

3.zapierの設定

  Topへ↑

zapierとは、何でしょうか?
簡単に言うと複数のウェブサービスを簡単につなぐためのツールです。Integration Platform as a Service (iPaaS)の一種とも言われます。
複数のウェブサービスとは、kintoneとかSORACOM Fluxを指しています。今回の事例では画像をUrl化して扱うためにGoogle Driveも使っています。Google Driveもウェブサービスの一つと見做して良いでしょう。

zapierの使い方は解説サイトの説明を参考にして頂くとして、まずはzapierの設定結果をアップします。

上から順に説明します。最初のフローはkintoneのwebhook機能で出力した結果(JSON形式)を受け取るフローです。kintoneのウェブフックは、追加、更新、ステータス変更など、複数の処理の結果に応じてzapierのような外部サービスにデータとして出力できます。コードを書く必要がないので楽ですね。ここでフローを設定すると、自動的にzapierのUrlが生成されますので、そのURLをkintoneのWebhookの設定画面に登録します。


2番目は、kintoneのwebhookから、zapierなどの外部ウェブサービスに処理を投げる際に必ず行います。永久ループを防ぐために必要な処理です。
具体的には、kintoneのレコードが手動で更新されたか、それともこの一連のフローによって更新されたかを判断します。もしkintoneのレコードがzapierによって更新された場合は、ここで後続の処理をストップします。そうしないとzapier/SORACOM Fluxでkintoneを更新→kintoneは更新された結果をwebhook送信→/SORACOM Fluxでkintone更新と永久ループが発生してしまいます。
より詳しく説明すると、kintone側で手動更新した場合は、edit.submitなどkintone側で実装するJavaScript内の処理の中で、任意の項目の値を「手動」にセットします。zapierでは、この値(kintoneのwebhookの結果としてJSONで受け取っている値)が「手動」の場合、後続の処理を実行します。この判断を行うのが当フローです。Filter by zapierを使っています。
この後、SORACOM Fluxの中でkintoneに対して更新をかける際は、この任意の値は「手動」以外の値にセットします。この処理を怠ると永久ループが発生しますので注意してください。


3番目は、kintoneで出力した添付ファイルフィールドに格納されているFileKeyをもとにkintoneのファイルダウンロードAPIを実行し、ファイルの中身を取得する処理です。
kintoneは仕様として、kintoneのレコードに格納されている添付ファイルの値を外部から取得できません。URLも取れません。
ファイルを使いたければFileKeyをもとに、ファイルダウンロードAPIにリクエストを投げ、ファイルの実体をダウンロードし、受け取ったblob形式の値を扱うしかありません。これはセキュリティー上、必要な処理です。


4番目は、上で取得したファイルの実体をGoogle Driveにアップロードする処理です。アップロードした結果レスポンスには複数のキーと値のペアが含まれています。その中には複数のUrlも含まれていますが、その中でSORACOMが権限の制約を乗り越えて扱えるUrlはThumbnail Linkのみでした。


5番目は、SORACOMに対してアクセストークンを取得する処理です。
いうまてもありませんが、SORACOMはクラウドサービスですのでセキュリティーは堅牢です。認証なしでSORACOMにリクエストを投げても全て跳ね返されます。ここで取得したアクセストークンを含めて、次の処理でSORACOMにリクエストを投げないと、意図した結果が返ってきません。


6番目は、お待ちかねのSORACOM Fluxに対してリクエストを投げる処理です。ここで投げる先のURLはSORACOM Flux側で生成されたものを使います。後で生成された値の表示場所はお伝えします。

4.SORACOM Fluxの設定

  Topへ↑

はい、まずはSORACOM Fluxのフローをペタっと貼っておきましょう。以下にフローの作り方を最初からご説明します。


まずはメニューからSORACOM Fluxを選択しましょう。


続いては「新しいFluxアプリを作成する」を選びます。既に作ったアプリは下に表示されていますね。


作成するFluxアプリの名前と適用を入力しましょう。


SOARCOM Flux Studioの画面が表示されるので、チャネルを作成するを選びましょう。


最初のチャネルの種類を選ぶ必要があります。ここではAPI/マニュアル実行を選びます。これを選ぶことによって、zapierからの値を受け取れます。


新しく作成するチャネルの名前と適用を入れましょう。kintoneから来たものなので、そのように名付けています。


作成したチャネルでAPI/マニュアル実行を選んだので、URLが表示されています。これをzapierの最後のフローに設定します。


続いてアクションを作成します。アクションを追加を押しましょう。


ここで何を選ぶかが肝です。今回はAIを選びました。もちろん他のアクションを選ぶと、よりSORACOM Fluxの世界が広がります。


ここからがこの記事の本丸です。AIに対する指示を設定する部分です。


AIに投げるプロンプトはここで設定します。


AIからの回答をどうつなげるかをここで設定します。


私はここで図のように設定しています。AIのモデルは複数が選べます。私はAzure OpenAI (GPT-4o)を選びましたが、他にも本稿執筆時点では、以下の候補が選べるようです。


ここでプロンプトを設定します。好みに応じて「あなたはプロの店舗運営者です〜」云々の呪文を唱えておくとより幸せになれるかもしれません。
また、ここでは画像を選択できます。zapierからとってきたjsonにはGoogle DriveでUrl変換したThumbnail LinkのUrlを設定します。
なお、ここでzapierの最後のフローで設定したjsonのキーを全て英語にしていました。本当なら日本語キーの方が可読性が高くなるのですが、日本語キーに設定して、例えばここで(${event.payload.お客様人数})と設定すると読んでくれません。これは、SORACOMさんには改善をお願いしています。それまではお手間をかけるかもしれませんが、英語のキー名でお願いします。
また、その後のアクションは、その結果をkintoneに飛ばす処理なので、Webhookを選んでください。


次のチャネルではWebhookを選びました。ここでkintoneへのリクエストを組み立てます。kintone側のREST APIについては、こちらをご覧ください。


ここで設定する際は、kintone側のフィールドコードとjsonのキーは一致させてくださいね。


5.kintoneのデータをもとにAIに改善提案してもらった

  Topへ↑

私はこのようなkintoneアプリを作りました。


レコードを保存すると、zapierを経由してSORACOM FluxがAIに問い合わせた結果をkintoneを書き戻してくれます。

参考として、アプリのフィールド一覧も載せておきます。

6.他の運用上のご注意

  Topへ↑

注意点として現時点で挙げるべきは、jsonのキーに日本語が使えないことです。
それまではzapier側で英語のキーに変換してあげましょう。kintone側のフィールドコードは日本語のままでよいです。

ここには書いていませんが、AIに改善画像を生成させることもできるはずです。その画像をkintoneのファイルアップロードAPIを用いて、kintoneの該当レコードにAIによる改善案としてアップロードすれば、より実用的なソリューションが実装できることでしょう。
もちろん、出力先をLINEやSlackにしてもよいです。それは皆様次第です。

本稿がSORACOM Fluxを試してみようと思う方。kintoneと組み合わせてみたいと思った方にとってご参考になれば幸いです。


SORACOM UG Explorer 2023にLT登壇しました



10/21に各地の会場及びオンラインで開かれた、SORACOM UG Explorer 2023にLT登壇しました。
公式サイト

この日は、実は全国規模のイベントが目白押しでした。
弊社ブログにも書いた通り、CLS高知が行われ、SORACOM UG Explorer 2023が行われ、さらに地域クラウド交流会全国グランプリが釧路で行われていました。
上のブログにも書いた通り、私はオーガナイザーとしての妻の応援と、弊社がちいクラ山梨を開催する準備も踏まえて釧路を選びました。

ただ、SORACOM UG Explorer 2023はオンライン会場もあるということで、藤田さん(なっちゃん)にはLTで登壇する旨をお伝えしていました。

上のブログにも書いた通り、朝の時点で釧路市観光国際交流センターのどこでつなげば、音声や画像共に問題なく接続できるかは確認し、昼前の接続テストにもきちんと参加して、SORACOM UG運営の皆さんへの心配は解消しておきました。

その後は、ちいクラ全国大会の終了時刻(16:30)から20分後(16:53)の登壇というタイムスケジュールに間に合うかどうかが問題でした。
ところが、ちいクラ全国大会の終了時刻が少し伸びてしまい、集合写真の撮影が始まったのが終了予定時刻でした。
ちいクラ全国大会の集合写真には必ず入りたかったので、私は皆さんと一緒にポーズを決めていましたが、にこやかに写真向きの笑顔をキメる私の内面はかなり焦っていました。

無事に写真撮影が終わったのが40分。そこから私の時間までは10分強。
前もって決めていた場所に走り、パソコンを設置し、接続音響マイクカメラもセットしました。
間に合った!

私が接続したちょうどその時、SORACOMのMaxによるSORACOM MVCの発表が行われていました。
私が入った時は、ちょうど大口さんが選ばれていました。SORACOM UG Explorer 2023も少しスケジュールが押していたとか。Maxの熱意がスケジュールをいつものように動かしてくれたようです。ありがたい。フォローに感謝です。

大口さんは、私が主催したkintone Café 神奈川とSORACOM UGのコラボイベントでも登壇してくださいました。

さらに、その前に選ばれた木村さんも、先日の六本木でのしらす2万匹のイベントで初めてお会いすることができました。

そして続いての片岡幸人さん。
先日までkintoneエバンジェリストとしてもご活躍いただいていた幸人さんには、高知、神奈川の両コラボイベントだけでなく、小田原で開催したkintone Café 神奈川でも多大なる貢献をしてもらいました。
今、私がいる釧路でもCLS道東でお会いするなど、全国をまたにかけた行動力は素晴らしい。
高知、神奈川の両イベントではSORACOMとkintoneの接続ハンズオンをオンラインとリアルで同時にやり遂げると言う偉業を成し遂げました。MVCに選ばれたのも納得ですね。

六月のkintone Café 高知の際に幸人さんから託されたkintoneエバンジェリストタグは、今回も釧路に持ってきています。

私が接続してすぐ見られたのが、kintone Caféにゆかりのある皆さんのMVCに選出された姿だったのは本当にすばらしいと思いました。また、私の登壇への弾みにもなりました。
MVC発表のスライド

続いては、SORACOM UGとコラボする各コミュニティーの紹介の第二部です。

私は、スケジュール上のご配慮で、トリを務めさせていただきました。

私の前に話された、
Nerves JPさん
公式サイト
Tech-onさん
公式サイト
の両コミュニティも、kintoneやkintone Café界隈とあまり接点がないだけに、かえって興味深かったです。
Tech-onをお話しいただいた須田さんとも、先日の六本木でのしらす二万匹でお会いできたので、また何か一緒にやれればと思います。

さて、私の出番です。
私の登壇資料は、結構ぎりぎりになって完成しました。

というのも、まずはkintone Café 事務局に登壇の連絡とお伺いを立てる必要があったからです。
SORACOM UGからの登壇のご要望があったからとはいえ、kintone Caféを盛り上げているのは私だけではありません。全国にいらっしゃるkintoneプレーヤーの皆さんの力によってkintone Caféは成り立っています。

私がお伺いを立てたのは、私が主催するkintone Café 神奈川や主催するイベントだけではなく、全体のkintone Caféについて私が紹介してよいか、ということです。
私がkintone CaféとSORACOM UGの三つのコラボイベントに関わったのは事実とは言え、私がkintone Caféを代表して登壇するにあたっての確認がしたかったのです。

事務局からのご回答をまって以下のスライドを作成しました。
スライド

私がスライドを作成したのは、釧路に来る前に一泊していた十勝の大樹町です。登壇まで猶予がなかったとはいえ、私の中に焦りはありませんでした。
というのも私が書く内容は明確だったからです。kintone CaféとSORACOM UGの間には間違いなく親和性があります。

kintoneのサービスを紹介し、kintone Caféのコミュニティを紹介し、さらにお互いのコラボ実績を書くだけで、SORACOM UG Explorer 2023に参加された皆さんにはその意図が伝わる。
そう思っていました。

もちろん、私もまだkintoneとSORACOMのコラボの可能性は探っているところです。
とくにSORACOM Lagoonとkintoneの使い分けについてはもう少し研究したいと思っています。

また、弊社のkintoneビジネスの中でどうすればSORACOMのIoTを活かせるのか。
それについては、昨年度のSORACOM MVCに選ばれたSEEDPLUSの前嶋さんと模索しています。Cybozu Daysにも出展のご協力をいただきましたし、その取り組みはもちろん案件にもつながっています。
SEEDPLUSさんの記事

まずは私もSORACOMのサービスを理解し、よりよい提案につなげられるようにすべきでしょう。
まずは今回、ほとんど参加できなかったSORACOM UG Explorer 2023の内容をおさらいするところから始めたいと思いました。

SORACOM UGおよびSOARCOM社の皆さん、参加者の皆さん、ありがとうございました!


kintone Café Metaverse Vol.4に参加しました


7/26に「kintone Café Metaverse Vol.4」に参加しました。
告知サイト

こちら、私も四回とも参加しています。
そのうちの二回はメタバース上で登壇も果たしています。皆勤です。

そんな私だから、日常でもVRゴーグルが欠かさず、しょっちゅうメタバース世界にのめり込んでいる?そう思われた方。答えは否、です。

日常で私はまったくVRゴーグルを使っていません。なんなら、私がVRゴーグルを掛けるのは、三カ月おきの「kintone Café Metaverse」だけかもしれません。

私がVRゴーグルを使わず、メタバースも利用しない理由は列挙できます。が、私の場合、デバイスの問題が大きいでしょう。メガネをかけ、コンタクトレンズをしない私は、裸眼でも使用可能な度付きのアタッチメントレンズを購入したのですが、それがいまいちしっくり来てません。頭のバンドが緩むため、しょっちゅう視界がぼやけるのです。

あと、もう一つの深刻な問題はキーボードと連携できないことです。

これは、若干の説明が必要でしょう。

私にとって、メタバースの可能性とは、自分の仕事環境を決定的に拡張してくれることです。目の前の広大な空間に無数のディスプレイを並べ、マルチタスクを文字通り実現する。これは現実世界ではまず無理です。

ところが、パソコンのモニターはいくらでも連動が可能だと思うのですが、肝心のキーボードが私のノートパソコンと連動しないため、仕事ができません。

となると、残るのはエンタメ系かコミュニティ系しかないのですが、これがまだ成熟に至っておらず、お粗末なのです。

今ここにあげた理由。おそらく私だけでなくメタバース経験者のうちかなりの方が感じていることだと思います。
だからこそ、あれほどもてはやされたメタバースがオワコンとして扱われているのです。

この辺りは以下の記事の中でも書いています。「kintone Café Metaverse Vol.1」と「kintone Café Metaverse Vol.3」の記事です。

kintone Café Metaverse Vol.1

kintone Café Metaverse Vol.3

私は上のVol.3の記事の中で書きました。
「新しい会社が発表する革新的な次世代のデバイス。

あと数年もすれば出てくると思うのです。いや、すでに出ています。

簡単にメガネのように装着するだけで、VRの世界が体験できるデバイスが。そのデバイスの値段をさらに下げ、人々が手に取りやすくする。」
と。

前回の「kintone Café Metaverse」のあと、革新的と称されるデバイスが発売されました。AppleのVision Proです。
製品サイト

私はまだ実際にそれを経験したことはなく、見たことすらありません。ただし、価格があまりにも高く、Oculus Quest、あらためMeta Questの見た目とあまり変わらないことから、重さや首の疲れ、そして近眼の方にとって同じ課題があるのではないかと考えました。また、キーボードの問題もあります。

ただ、こうしてApple社も出してきたということは、まだメタバース、つまり仮想空間の可能性はついえたわけではないのです。ただ、デバイスとコンテンツの問題だけです。
各社とも、革新的なデバイスが出たら、コンテンツを整備し、ユーザーを囲い込む。その機会を虎視眈々と狙っているように思います。

私が「kintone Café Metaverse」に関わり続けるのもその可能性を感じているためです。
インプットとアウトプットの可能性が根本的に変わるはず。その可能性がある限り、またメタバースをオワコンとするのは早いように思うのです。

今回の「kintone Café Metaverse」は、soracomugとの共催です。
soracomugの皆さんとは、昨年9月に鎌倉でkintone Café 神奈川 Vol.13を共催して以来です。IoTの雄として、kintoneとは親和性が高く、弊社も昨年秋のCybozu Daysのブースにおいて、kintoneと soracomと組み合わせでさまざまな展示を出しました。

今回はIoTとkintoneの組み合わせだけでなく、そこに仮想のメタバースが絡みます。私としても興味深い内容です。

今回の司会はなっちゃんこと、藤田なつみさん。soracomugではおなじみですし、最近はkintone界隈でも名を知られています。

そのなっちゃんから、kintone Caféやsoracomugのご紹介から。

続いては、藤村さんによる「IoTxkintone意外と相性が良い」です。
まずは、kinotneとsoracomの相性の良さをご紹介いただきました。
実際、昨年6月の高知から始まったkintone Caféとsoracomugのご縁は、鎌倉や福岡や広島、そしてこの夏に岡山でも開催を控えているそう。

私も引き続きsoracomさんとは関わりたいですし、そうなるでしょう。


続いては、古里さんによる「kintoneでIoTデータを収集してみた」です。
古里さんとはまだオフライン/オンラインも含めてお会いできていなかったように思います。とても活発に各種のコミュニティで活動しておられる様子。

めんツナかんかんエバンジェリストを名乗っておられるのもユニークだし、その個数をIoTと組み合わせておられるのも素晴らしい。
また、連携にあたってYoomを使っておられるところもポイントが高いです。また、Sens’itというデバイスも初めて教わったので、今度、試してみたいと思います。
8月末の「kintone Café 岡山」とsoracomugのコラボイベントにお誘いされたので、検討してみたいと思います。


続いてはなかじさんによる「ヒトとセカイをツナグもの」です。
視聴覚などの感覚とIoTやkintoneのデータを絡めた視点はとても興味深いです。

私の弱点は、感覚をシステム構築に持ち込まないことです。特に視覚効果はあまり重視していません。つまり見た目です。

ですが、メタバースを扱う際は、単なるデータだけで取り組むとその良さが生かせません。なかじさんの発表を聞いていて、私の弱点をあらためて感じました。


続いてはMaxによる「3D空間内にIoTデータをマッピングする方法」です。
ソラコム社は社内でニックネームで呼び合う文化があり、松下さんはMaxと名乗っておられます。以前、Maxさんはやめてほしいと言われたので、Maxと呼びますね。

さて、Maxの発表によるこれらの知見は私にはありません。3D空間のパースもモデリングも私にとっては未知の領域です。デジタルツインも最近よく聞くワードですが、私がそれを案件で実装したことはありません。
以前、リアルタイム3D制作ツールであるUnreal Engineもインストールしてみたことがありますが、私がマスターするには時間がなさすぎてモノになっていません。

ただ、IoTのデータを活かすには二次元ではだめです。最低でも奥行きを含めた三次元で確認できることが必要です。さらには時間も含めて四次元であればなおよいです。
kintoneは行列二次元による管理なので、IoTのデータを視覚的に確認するには限界があります。そこで、今回Maxが紹介してくれたAWS IoT TwinMakerやAzure Digital Twins、さらにはBabylon.jsやThree.jsのようなツールを習得しておくと、3Dバース上でIoTのデータを確認したいニーズも満たせるのです。

素晴らしい!

皆さんの発表の後は、ふりかえりセッションが挟まれていました。メタバースの良さである臨場感を感じながらの振り返りは、kintone Café メタバースの最大の魅力です。
Zoomで入ってくださったkintoneコミュニティ界では著名なはっしーさんや大野さんも。

コロナが落ち着いたことによって、リアルのkintone Caféは増えました。おそらくオンラインセミナ―は減っていくことでしょう。オンラインセミナーはどうしても没入度に劣りますし、そもそもその場で次の交流につながっていきません。

本稿の冒頭で触れたようなデバイスの問題が解消し、安価でかつメタバースに参加しやすい形になれば、遠方の方もオンラインで参加するしきいがぐっと減るはず。
今後もデバイスの進化には引き続き期待しつつ、私もkintoneの拡張できる余地について学びたいと思います。

今回登壇された皆様、ご参加してくださった皆様、ありがとうございました。


Cybozu Days 2022のブース出展でソラカメとkintoneの連携にチャレンジしました。


SORACOM Advent Calendar 2022の21日目の記事です。

  Topへ↓

今年のCybozu Days 2022(幕張メッセ 11/10-11)で弊社は3年連続のブース出展をしました。

弊社ブースは、昨年に続いてIoTとkintoneの連携をテーマに打ち出しました。
しかも今年はSORACOMさんのデバイスを中心に据え、さらに業種を絞ってみました。あえて農業に特化した農夫/農婦ルックのわれらがブースは全くの異世界。
毎年、出展するごとに増すばかりの手応えを嬉しく思います。異彩・異色・尖っている・変態。どれもありがたいお言葉です。

今年のSORACOMさんにとって大きなトピックの一つはソラカメの発表でしょう。七月のSORACOM Discoveryでの発表も聞いていました。SORACOMさんのイベントにもいくつか参加し、その掲げる理念や風通しの良さに共感しました。SORACOMエバンジェリストであるMaxさんとも複数の場所でともに登壇しました。
そのご縁をきっかけとし、弊社もSORACOMとkintoneをつなげてみよう、と思ったのも今回の出展の原動力です。

会場ではこんなご縁も仲立ちできました!kintone界とSORACOM界の「会」がスパークして次のイベントへ!嬉しいですね~

今年の弊社ブースは全部で五つの出展物を出していました。他の四つは、SORACOM UGではおなじみの前嶋さん(@anysonica)にご協力をお願いしました。
前嶋さんはSORACOM UGの今年のMVPにも選ばれたすごい方です。前嶋さんにお手伝いいただいた四つの出展内容については前嶋さんのブログをご覧いただくのが良さげです。


2.前書きその2

  Topへ↑

本稿ではソラカメの動画をkintoneの画面に出した方に絞って書いてみます。
実装はシンボ技研の山崎さん(@ryoyamazakiwork)にお願いしました!

実は、この出展で苦労したのは、ソラカメの動画を連携させる部分ではなく、動画をkintone内でストリーミング再生を行う実装です。そっちのほうが苦労しました。

kintone内で動画ストリーミングを再生する件については、kintone界隈が舌なめずりしそうなネタなので、このブログの前の日にkintone Advent Calendar 2022にアップしてしまいました(ブログ)。
すみません。
というわけで本稿ではソラカメとの連携についてを書きます。

ソラカメのAPIレファレンスはとても見やすく使いやすいと感じます。
弊社はkintoneがメインなので、kintoneとさまざまなSaaS/PaaSをつなぎます。APIの構造やドキュメントの見やすさはとても重視します。良いですね。


3.認証の実装

  Topへ↑

コードも簡潔に実装できます。
まず、認証方法。
SORACOMダッシュボードにアクセスし、認証キーを生成します。
以下に五つの画像を連続で出します。




4.コードの説明(認証)

  Topへ↑

ここからはコードの実装(kintoneなのでJavaScriptを例に挙げます)について説明します。kintoneからSORACOMに認証をおねがいする部分はたったこれだけです。

まず、SORACOMダッシュボードで得た
・認証キーID
・認証キーシークレット
の二つをまとめたJSONを作ります。
こんな風に。

authKeyIdが認証キーID。
authKeyが認証キーシークレット

この時、SORACOMから入手した認証キーIDと
認証キーシークレットの値はkintoneのレコードのフィールドに値として保存しておきましょう。JavaScriptに値を直書きしちゃだめですよ(^_^)。

このJSONやその他の情報をkintone.proxyの各パラメーターに渡してあげます。
こんな風に。

上で設定したauthdata(変数名はお好みで)は4番目のパラメータとして渡しましょう。
3番目のパラメーターにはヘッダ情報を作成します。前もってauthhdという名前の変数に格納しています。2番目のパラメーターはメソッドです。’POST’にしてあげましょう。
そして1番目のパラメーターはUrlです。これは SORACOMの認証エンドポイントである https://api.soracom.io/v1/authを指定すればばっちりです。

これで実行すれば、https://api.soracom.io/v1/authに対してkintoneからリクエストが渡せてしまいます。

認証のエンドポイントのリクエストについて、より詳しく知りたい方はレファレンスを見るとマスターへの道の第一歩です。

ここまでの流れをもう一回おさらい。

くれぐれも、認証キーIdと認証キーシークレットはJavaScript内に直書きしないでくださいね。
該当するkintoneアプリのフィールド「認証キーID」「認証キーシークレット」に入力した値を呼び出しています。
sessionStorageに入れるよりもkintoneのアプリに保存すると夜の寝つきがよくなります。

つづいて、kintone.proxyを使ったリクエストに対してSORACOMから返される値は、argsの中に入ってきます。
argsの中に入っている値については、
レファレンスのレスポンスの項に書かれています。これも読むとマスターへの道がなだらかになります。

この中から
・apiKey
・Token
を変数に保存しておきましょう。

5.コードの説明(動画)

  Topへ↑

さて、次にするのは該当するソラカメ端末(デバイス)に対して、動画ファイルをくださいと懇願することです。
先ほどと同じくkintone.proxyを使ってソラカメ様にお願いしましょう。

kintone.proxyの各パラメーターに渡してあげます。
こんな風に。

4番目のパラメータはソラカメに対して何か追加するのではなく、単にデータをいただくだけなので、空のオブジェクトとして渡してあげてください。
3番目のパラメーターにはヘッダ情報を作成します。これもhdという名前の変数で作成しています。
この時、X-Soracom-API-Keyには上の処理で変数に格納したapiKeyを使います。
また、X-Soracom-tokenには上の処理で変数に格納したTokenを使います。
2番目のパラメーターはメソッドです。今回は取得するだけなので’GET’にしてあげましょう。
そして1番目のパラメーターはUrlです。これは ソラカメの動画データを扱うエンドポイントである ’https://api.soracom.io/v1/sora_cam/devices/{devicesID}/stream’ です。

これで実行すれば、https://api.soracom.io/v1/sora_cam/devices/{devicesID}/streamに対してkintoneからリクエストが成立します。
なお、もちろん{devicesID}にはデバイス番号を事前に取得しておきましょうね。上の例ではkintoneのアプリのフィールド「デバイスID」に事前に値を入力してあります。

このリクエストに必要な値は レファレンスを見るとより賢くなれます。

ちなみにデバイス番号を調べるには、
ダッシュボードのメニュー→ソラコムクラウドカメラサービス→デバイス管理


の右端に書かれていますよ。

さて、リクエストをすると、返ってきた値はargsの中に書かれています。

このargsはJSONですが、その中には複数のplayListというキーが配列で含まれています。
その0番目の値が最新なので、その中にあるurlキーの値こそが、ソラカメの動画を再生するためのUrlになるわけです。

どうですか?
ソラカメ様にお願いすれば、簡単に値が取れますよね。
ソラカメ様は時間単位でも切り出してくれます。先日実装されたイベントAPIを活用すれば、必要な部分だけの動画も切り出してくれるはずです(ブログ)。

あとは、そのurlをkintoneの任意フィールドの値として更新すればよいのです。

そのUrlの動画をkintoneで再生するには、最初に申し上げた kintone Advent Calendar 2022の記事をご覧いただければ!

すると、Cybozu Days 2022の弊社ブースのように、お子様が興味を持ってもらえます!

皆さんも、IoTとkintoneをつなげて遊んでみてくださいね!


Cybozu Days 2022のブース出展でkintoneにメディアプレーヤーを設置しました。


kintone Advent Calendar 2022の20日目の記事です。

  Topへ↓

今年もこの季節がやってまいりました。Advent Calendarです。
11月のkintone月間が終わると、間髪を入れずに師走のAdvent Calendarです。
そのkintone月間に行われたのがCybozu Days 2022でした。弊社は3年連続のブース出展をしました。

弊社メンバーが書いた振り返りブログはこちら。
Cybozu Days 2022の今年のテーマはDX(デジタルトランスフォーメーション)でした。
Cybozu Days 2022を終えて[ブースで交流]
Cybozu Days 2022を終えて[出展までの準備]
Cybozu Days 2022を終えて[まとめ]

今年の弊社ブースは、昨年に続いてIoTとkintoneの連携をテーマに打ち出しました。
しかも今年はSORACOMさんのデバイスを中心に据え、さらに業種を絞ってみました。農業!

今年の弊社ブースは全部で五つの出展物を出していました。他の四つは、SORACOM UGではおなじみの前嶋さん(@anysonica)にご協力をお願いしました。
前嶋さんはSORACOM UGの今年のMVPにも選ばれたすごい方です。前嶋さんにお手伝いいただいた四つの出展内容については前嶋さんのブログをご覧いただくのが良さげです。

本稿ではソラカメの動画をkintoneの画面に出す。つまり、メディアプレーヤーの出し方に絞っています。
その実装はシンボ技研の山崎さん(@ryoyamazakiwork)にお願いしました!


これはCybozu Days 2022の弊社ブースの一コマです。動くソラカメの動画がkintoneに映る様子を興味深げに見ているのは瀧村さん(@kinbozuu)のお子さんたちです。とてもかわいらしかった。


2.完成したコード

  Topへ↑

実は、この出展で苦労したのは、ソラカメの動画を連携させる部分ではなく、動画をkintone内でストリーミング再生を行う実装です。そっちのほうが苦労しました。
本稿ではその部分を取り上げてみようと思います。
ただし、苦労したといっても、結果として落ち着いたコードのステップ数はとてもシンプルです。

たったこれだけ。

ただし、以下のライブラリをCDNから呼んでいます。
https://cdn.dashjs.org/latest/dash.all.min.js


3.コードの説明

  Topへ↑

上に挙げたコードを要約すると、
スペースフィールドに対してinnerHTMLでhtmlとして描画し、videoタグで動画を表示する領域を確保しています。あとはdashjsに備わっているオブジェクトやメソッドを呼び出します。
たったこれだけです。

    kintone.app.record.getSpaceElement('dash').innerHTML =
     '<video data-dashjs-player="" autoplay="" width="800" height="600" src=" + url + " controls="true"> ';

続いて読み込んであるdashjsのMediaPlayerオブジェクトのcreateメソッドを呼びます。

 const player = dashjs.MediaPlayer().create();

すると、ストリーミングプレーヤーが使えるように内部で設定されます。
あとはinitializeメソッドで描画するvideoタグや対象となるurlを呼び出せば、ストリーミングが呼び出せます。

 player.initialize(video, url, false);

この時、video要素はdocument.querySelectorを使って変数に格納しておきましょう。

 const video = document.querySelector('video');

すると、こんな感じでkintone上でメディアプレーヤーが使えるようになるのです。

4.dashjsの説明

  Topへ↑

このdashjsはメディアプレーヤーとしての機能をほぼ備えています。たとえば早送りや巻き戻し、テキストの埋め込みなど。
このdashjsを使えば、簡単にkintoneの各項目の値を使ったさまざまな動画へのアプローチが可能になると思われます。
例えば、IoTデバイスで得た動画を基に、動的にkintoneでアクションをつなげることができます。
また、オンラインミーティングをしながら、画面上でkintoneの画面から動的にアクションを起こすこともできるはずです。

dashjsのライブラリの中身やドキュメントは
https://github.com/Dash-Industry-Forum/dash.js
をご覧いただくことをお勧めします。

また、dashjsはBSDライセンスなので、そのライセンスに従っていればほぼ自由に使えます。
kintone内に組み込むことも自由。

5.kintoneでメディアを再生できればさらなる可能性が!

  Topへ↑

動画を起点としたアクション。それはkintoneに限らず、まだ他のシステムやプラットフォームでもそれほど盛んではないようです。(長井意見)
ということは、kintone上で動画を使った業務改善の手法が確立できれば、新たな業務改善の手法として脚光を浴びるかもしれません。
例えば作業マニュアルの動画をkintoneにアップし、その動画内のテキストテロップでコメントを入れる機能をkintone内で行ってしまうなど。
それは、kintoneの業務改善ツールとしての優位性を示す機会になりそうです。

Cybozu Days 2022では弊社にさまざまな可能性を開いてくれました。
IoTとkintoneの可能性。さらには、動画とkintoneのコラボレーションにおいても、
この記事では動画を撮影するためのデバイスにSORACOM社のソラカメを使っています。
ソラカメで撮った動画をkintoneに表示する実装。実はこの実装はすでに案件として進んでおり、来年度に着手することになりそうです。

そのソラカメから動画を取得し、kintoneにUrlとして連携する部分。
その実装については、明日アップする予定のSORACOM Advent Calendar 2022の記事内で書く予定です。
あわせてご覧いただければと思います。


弊社のアドベントカレンダー歴


弊社代表の長井が参加してきたアドベントカレンダーもだいぶ年数がたちました。
何を書いたか忘れつつあるので、ここに残しておきます。

2022年
Adventar 「すごくない」kintone Advent Calendar 2022
・kintoneの機能をコミュニティに例えてみた
Qiita kintone Advent Calendar 2022
・Cybozu Days 2022のブース出展でkintoneにメディアプレーヤーを設置しました。
Qiita SORACOM Advent Calendar 2022
・Cybozu Days 2022のブース出展でソラカメとkintoneの連携にチャレンジしました。


2021年
Qiita kintone Advent Calendar 2021
・私、Mac方面については素人なのですが、、、


2020年
Qiita kintone Advent Calendar 2020
・kintoneにシステム移したいんや
Qiita kintone 2 Advent Calendar 2020
・パート2は痛恨の欠席。
Adventar カレンダーPlus Advent Calendar 2020
・Cybozu OfficeのスケジュールをCalendar Plusで(だいぶ)再現!


2019年
Qiita kintone Advent Calendar 2019
・ワーキングツリーにはkintoneとboxをお飾り!
Qiita kintone 2 Advent Calendar 2019
・コーチングのグラフってkintoneで出せるんやって!


2018年
Qiita kintone Advent Calendar 2018
・ライフログのkintone盛り alasql仕込みのGoogle Chart添え


2017年
Qiita kintone Advent Calendar 2017
・Save The Live!~サイボウズLiveを救え~


2016年
Qiita kintone Advent Calendar 2016
・kintoneとWordPressの連携ネタ三題噺


2015年
Qiita kintone Advent Calendar 2015
・年賀状の宛名書きをkintoneにお願いする。WordとAccessを和えて


kintone café 高知 Vol.16 & SORACOM UG SHIKOKUで登壇しました


およそ32年ぶりの高知市への訪問。
私にとって久しぶりの高知は、kintone café 高知 Vol.16とSORACOM UG SHIKOKUの共催イベントへの登壇として実現しました。
告知ページ

三日間に及ぶ高知の旅は、友人との再会や、2日連続での交流会でのさまざまなご縁、自然の豊かさなど、語ることに事欠かない旅でした。
本稿では、kintone Café 高知とSORACOM UGのイベントについてのみに絞ります。

イベント当日はあいにくの雨でした。とは言え、私が泊まっていた紺碧の湯 ドーミーイン高知からイベント会場のオーテピアまでは、帯屋町通りのアーケードを通ればすぐ。今回、じゅんちゃんこと片岡淳さんに教えてもらった宿に泊まって満足でした。

会場には事前に押さえておいた時間の5分前にならないと入れず、設営の関係で開催時間が少しだけ遅れました。とは言え、会場の広さやAV機器の豊富さと会場全体の新しさは、5分の遅れを補って余りあるものでした。
オーテピアは高知市の再開発の主軸とも言える施設です。すぐそばにある「ひろめ市場」とともに、人々の流れと賑わいを高知城の周辺に取り戻すことに貢献しています。

イベントは、じゅんちゃんによる開会の宣言から始まりました。じゅんちゃんが今回のイベントの企画者だと聞いています。
昨年の冬、向ケ丘遊園でkintone Café 神奈川を開催しました。そこに高知から駆けつけてくれたのがじゅんちゃんです。であれば、私も高知に行かねば。行かない選択などありえません。それはkintoneエバンジェリスト、いや、人の道に反します。じゅんちゃんからのお誘いを受け、行くと即答しました。
並走する複数の案件の間を縫って参加することになった私ですが、今回のイベントはとても楽しめました。登壇者としてだけでなく、参加者としても。これは参加者や登壇者が豪華だったからでしょう。じゅんちゃんありがとうございました。

じゅんちゃんに続いて登壇したのは、サイボウズの毛海さんです。毛海さんとは昨年のCybozu Days 2021でご挨拶して以来です。
全国で20数名しかいない毛海エバンジェリストとしての自己紹介のつかみもばっちり。
kintoneを中心としたサイボウズのサービスの数々や、毛海さん自身が手掛けられた構築事例などの紹介がありました。
事前にいただいていた登壇スケジュールでは、私の前に話すのが毛海さんだったので、私も毛海さんがkintoneのご紹介をしてくださる前提で登壇スライドを組み立てました。
毛海さんがkintoneの良さをコンパクトに伝えてくれたので、私もやりやすかったです。ありがとうございました。

続いて私の登壇です。

登壇にあたってのネタはすでに5月の半ばにめどをつけていました。6月の初めにはスライドもほぼ書き終えていました。
それでも、小心者の私は心配していました。SORACOMボタンを押してもkintoneに飛ばなかったらどうしよう、と。
そこで、じゅんちゃんが話している際にボタン押下。うむ、問題なし。

スライドは以下のURLをベースに話しました。

スライドでデモする順番を間違えたり、ボタンを押したら押した座標をGoogle Mapに表示するはずが、ピンが立った場所がオーテピアではなく窓の外に見える追手前高校の時計台だったり、投下したネタの数々に皆さんが笑ってくれたのは良かったです。
私、二年半前からボタンを袋に大切にしまっており、袋の上から壇上でボタンをポチッと押しました。あとでSORACOMさんからは、いやせめて袋から出そうよ、という突っ込みが。しまった!ここで笑いとれたんやった。

私もテストの時点で、Googleの座標がずれるのは気になっていました。これ、懇親会の時に聞こうかなと思っていたのですが、次の斎藤さんのセッションが始まる前に、SORACOMの伊佐さんからご指摘をいただきました。
伊佐さんによると簡易座標取得を使った場合は、近隣の基地局の位置、つまり時計台に依存してしまうそうです。
伊佐さんとお会いするのは、伊佐さんがサイボウズからSORACOMに移ってからは初めてのはず。さすがのご指摘が嬉しかったです。これぞリアルイベントの良さですね。ありがとうございました。


さて、私の次に登壇したのは札幌からやってきたクラウドおじさんこと斎藤さん。斎藤さんのセッションは、完全にkintoneに特化した内容でした。SORACOMさんには一切忖度せず、kintone一本で勝負するところはさすがです。
じゅんちゃんもSORACOMさんには気遣わず、kintoneの事を話してもらって大丈夫、というスタンスだったようです。私はその真意を汲み取れずにSORACOMさんに寄せてしまいましたが。

斎藤さんのセッションは、今までにkintoneが出した全てのバージョンアップを順におさらいするもの。これがなかなか興味深く面白い内容でした。
私はkintoneのβテスターで、当初からkintoneの歴史には参加していたつもりでした。が、すっかり忘れているバージョンアップばかり。次々と繰り出されるバージョンアップに、あらためてこの10年のkintoneの歴史を振り返ることができました。kintoneも最初はあまり機能が入っていなかったのですね。フィールドの初期値設定がなかったり、CSV読込による更新ができなかったり。
今となってはもう異世界のサービスのよう。

斎藤さんとはイベントの前夜の交流会でもご一緒し、当日夜の交流会でも、さらに宿に帰った後も夜中の2時半近くまでお風呂の中でお話させていただきました。
法人を立ち上げた今でも一人で運営されていることなど、私の目標とするワークスタイルを実現していることが素晴らしい。筋の通し方に今さらながらに感銘を受けました。ありがとうございました。

さて、斎藤さんの次に登壇したのはミスターkintoneこと、JOYZOの四宮さんです。
私は事前に四宮さんのセッションタイトルだけ聞いていました。そのため、四宮さんのセッション内容は私の内容と被るのではないかと心配していました。私は最初だからよいけど、四宮さんには迷惑にならないかな、と。そこでじゅんちゃんには事前に私のスライドの内容を送ろうか?とお伝えしていました。ですが、私の心配は杞憂でした。
私のセッションの内容など軽く凌駕してくるあたり、さすがJOYZOさんであり、四宮さんです。私がセッションでやったこととほぼ同じような連携を以前に運用されていたそうです。それだけでなく、さらに高度な連携の事例を見せてくださいました。SORACOM連携プラグインの画面や、それを使った連携事例など、私にとってはどれもがとても参考になりました。弊社も早くSORACOM案件をとれるようにならないと。ありがとうございました。

あと、四宮さんのセッションの中でめっちゃ役に立ったのは、高知に宿泊すると5000円がキャッシュバックされる情報です。これは!と思ってメモしていたのですが、宿に申請するのを忘れてしまいました。5000円どころか30000円以上は高知県に、しかもチェーン店でないお店に還元したはずなのに。

ここで休憩、いや、ネットワーキングタイムが入りました。休憩の合間に皆さんと交流を深めてほしい、とあえて休憩といわずネットワーキングタイムと呼ぶあたり、交流を重視するじゅんちゃんの心意気を感じます。
私もさまざまな方と名刺交換をしました。その日の夜の交流会でも。

さて、再開してすぐ登壇してくださったのは、SORACOM UGのなっちゃんこと藤田さんとMaxこと松下さん。
「推しエバンジェリスト」という新たなワードも登場したそのセッションは、SORACOMさんのオープンかつフラットな企業風土が感じられるセッションでした。
SORACOMさんはお互いにニックネームで呼び合っているようです。松下さんはMax、伊佐さんはMartin。
弊社も外の商談の場でも身内を呼び捨てにせず、さんづけで呼ぶようにしています。ですが、ニックネームの方がさらにフラットな感じになってよいですね。

その風通しの良さは、SORACOM UGのなっちゃんとMaxさんのやりとりからも感じられました。ユーザー会も含めたフラットな関係が築けている証しですね。
そもそも今回のイベント、企画者こそじゅんちゃんですが、発案者はなっちゃんだと聞いています。オープンかつ、外部との交流を良しとする価値観。サイボウズさんやkintoneのそれに合致しています。もちろん私の価値観にも。

また、Maxさんが説明するSORACOMさんのビジネスモデルやビジョンなどにも興味を持ちました。
特に「「IoT」という言葉は早晩なくなる。なぜならモノに回線が通じることは当たり前になるから」との言葉にはしびれました。IoTの分野もkintoneとの連携の可能性は無限にありそうです。

夜の交流会でもMaxさんやMartinさんとは語る機会を持ちました。SORACOMさんとは早速、kintone Café 神奈川で共催しようという話につながりました。詳細はまたご連絡できると思います。とても楽しみです。引き続きよろしくお願いいたします。ありがとうございました。

その後はハンズオンの時間です。SORACOMのボタンの実機を全員に配り、皆さんにSORACOM コンソールにログインし、操作してもらいながら、kintoneとの連携を皆さんに体験してもらおうという企画です。これがとてもよかった。

このハンズオンですが、私が登壇して説明した内容とほぼ一緒。つまり、私のセッションの内容を皆さんに追体験してもらえるのです。登壇者としてこれほどありがたいことはありません。一部、私が使ったSORACOMコンソールのサービスとは違うサービスを利用していましたが、それさえも私にとっては学びでした。私もまだSORACOMコンソールの機能に関しては知らないことが多く、可能性を感じます。

ハンズオンを司会した片岡幸人さんからは、皆さんがハンズオンを最後までやり遂げられるよう、サポートしてほしいという話を事前にもらいました。私もハンズオンに参加しつつ、サポート役を担いました。皆さんはフライングしてましたが、私は順序を守ってフライングもしませんでした。本当ですよ。
ここで面白かったのは、パトランプを使ったところです。皆さんの押した内容に応じてパトランプが点滅する。しかもプロンプトにImsiの番号が流れるので、自分のボタンが押されたエビデンスが画面に出てくる。ハンズオンに参加する実感をビジュアルで見せる趣向はリアルハンズオンならではです。さすがです。幸人さん、ありがとうございました。

ハンズオンはこれだけでは終わりません。さらに、ハンズオンの理解度を試してみましょう、と言う余興が。
私はすぐに答えがわかったので、一番にボタンを押すことができました。その後も、合間にボタンをポチポチ押していたら、なぜか私が連打回数でぶっちぎりの一位になってしまいました。ハンズオンではフライングしなかったのに、ここではフライアウェイ。自分の大人げのなさにきまり悪い思いをしたのも良い思い出です。

賞品としてSORACOMさんのバンダナをいただいたので、私もこれを機会にSORACOMさんにも何か恩返しせねば。と思いました。
実際、SORACOMさんの掲げるビジョンには共鳴するところも多いので。私にとってもやりがいのある分野になりそうです。

さて、続いては三名の方によるLT祭りです。
最初は、M-SOLUTIONS社の岸田さんから、M-SOLUTIONSさんが展開するプラグインのご紹介でした。
実は前日の夕方にカミノバさんが運営するCafé NOVAで岸田さんによるプラグイン勉強会があり、私も参加させてもらっていました。参加だけでなく、質問までさせていただきまして。
弊社もkintoneの内部カスタマイズについては自社で内製するよりも、プラグイン活用の方向に進もうと考えています。それもあって岸田さんの勉強会はとても参考になりそうです。ありがとうございました。

続いては、STNet社の野口さんから。
野口さんは以前、kintone Café 香川を立ち上げられたとのこと。そして今はSORACOMさんのIoT機器を使って多様なご研究をされているそうです。タニシを電気で集めたり、豚の健康状態をIoTのデータから調べたり。そうした研究内容にとても興味を惹かれました。
研究者の現場にもkintoneやSORACOMが活用される。そんな時代がやってきたことに感慨もひとしおでした。
また機会があれば、野口さんの実験の今後を知りたいと思いました。IoTの取り組みとしても良いモデルケースになりそうな感じ。ありがとうございました。

LTの最後を締めたのは、kintoneエバンジェリストの沖さんです。沖さんにリアルでお会いするのは多分数年ぶりのはず。最初はエバンジェリストポロシャツを着ている沖さんが誰だか分かりませんでした。そのぐらいスリムな体形に変身しておられました。
そのダイエットに関する知見が盛り込まれたLTは、システム開発者側としての姿勢とユーザーの関係を、顧客である沖さんと沖さんがお金を払うRIZAPさんの関係に置き換えていました。その視点の切り取り方がとても斬新でした。
確かに私たちシステム提供者は、システムを内製のみに限定するのではなく、きちんと投資すべきところに投資する事を薦めます。それなのに、自分の体については内製でなんとかしようと足がきます。その矛盾に気付かされました。

沖さんには夜の交流会の二次会でもその部分について深掘りさせてもらいました。システム提供者として学ぶところが多く、勉強になりました。ありがとうございました。

夜の懇親会では、葉牡丹へ。ここは、なかなか風情のあるお店です。ここでも多くの方とお話をさせていただきました。高知の習わしや風土、ポテンシャルなどは、現地に行かねば聞けません。そうした話を伺えたのはリアルのイベントならではです。前日は三次会、この日も四次会まで長く楽しい夜を過ごしました。

今回のkintone Café 高知はオンライン配信をせず、その内容も一切録画していません。現地に来た人のみが、現地の空気や熱気を体験できる。それがじゅんちゃんのポリシーです。筋が通っています。
地名をつけるのなら、その地でやる。旅を愛する私としても賛成です。
オンラインの環境がここまで整った今、リアルを見直し、リアルでしかできないことを考える時期にきています。その上でリアルとオンラインの真の価値が実現できるはず。
これはイベント運営者の端くれとして、とても参考になりました。

私がなぜこうした無償の活動に力を注げるのか。ここできれいごとを述べても仕方がありません。
私や弊社にとってこうした活動が、巡り巡って何年後かの仕事のご依頼につながっていることは事実です。ですが、旅が何よりも好きな私が、こうした活動を通して各地を訪問できる。それこそが、最大のモチベーションてす。

仕事と旅を絡めたい。それが実現できる手段こそ、お客様への案件で地方に行ったり、kintone Caféで登壇したりすることです。
案件で伺う旅は、ともすれば仕事モード一色になってしまいます。行ったけれども、観光も何もせずに帰るなんてこともあります。
ですが、kintone Caféは案件よりもゆるいため、旅に気持ちを集中できます。
さらに、kintone Caféで登壇することで地方に知識を還元し、夜の懇親会では地方にお金を還元できます。そして、自分自身には知見がたまり、私の知名度も上がります。その観点からのメリットは見逃せません。
今回の高知でもそのことを再認識しました。

私にとって仕事とは何か。人生とは何か。今回のkintone café 高知 Vol.16とSORACOM UG SHIKOKUの共催イベントは、それを考える良い機会となりました。
今後もこうしたイベントに呼ばれれば、なるべく参加できるようにしたいと思います。そして、私も何か還元できるような価値を提供できるよう、切磋琢磨したいと思います。

今回運営してくださったじゅんちゃんや片岡幸人さん、スタッフの皆様、カミノバ社の皆様、SORACOM社やSORACOMUGの皆様、また登壇者の皆様、さらに参加者の皆様、会場や飲み会やその他、旅の中でご縁をいただいた皆様、本当にありがとうございます。