一般社団法人 電子情報通信学会
THE INSTITUTE OF ELECTRONICS,INFORMATION AND COMMUNICATION ENGINEERS

信学技報
IEICE Technical Report

ボタン駆動スマートサービスの実装を容易化するプラットフォームの研究
村手亮太†

中橋友郎†

陳思楠†

安田清†

露崎 雄太†††

佐伯幸郎††

中村匡秀†† 神戸大学 〒657-8501 神戸市灘区六甲台町 1-1†† 高知工科大学 〒782–8502 高知県香美市土佐山田町宮ノ口 185††† おゆみの中央病院 〒266-0033 千葉市緑区おゆみ野南 6 丁目 49 番地 9
E-mail: †rmurate@es4.eedept.kobe-u.ac.jp, ††tomorrow@ws.cs.kobe-u.ac.jp, †††chensinan@gold.kobe-u.ac.jp,††††saiki.sachio@kochi-tech.ac.jp, †††††masa-n@cmds.kobe-u.ac.jp
あらまし

近年，超スマート社会を未来社会の姿として現実に向けた動きが Society5.0 として推進されている．この社会の動きの中で，サービスは実に多様化しており，サービスの利用にあたってユーザの負担が増加している．そこ
で，本稿では，ボタン駆動スマートサービスに着目し，ボタン駆動スマートサービスの実装を容易化するプラットフォーム「TapTrack」の提案を行う．TapTrack では，ボタンを押したときに実行されるサービスをノーコードで作成可能であり，ユーザは自分に必要なサービスをボタンに選んで割り当てることができる．ボタンが押された際に実行可能な処理は，メディアファイルの再生，外部サービスに対するコマンド送信ボタンである．ボタンの使用履歴は，ライフログとして後から振り返ることができる．ケーススタディでは，TapTrack を用いて天気予報確認サービスと生活記録サービスを作成し，実際に動作を確認した．
キーワード ボタン駆動スマートサービス, ライフログ, ノーコード開発

A Study on Platforms Facilitating the Implementation of Button-Driven
Smart Services
Ryouta MURATE† , Tomoro NAKAHASHI† , Sinan CHEN† , Sachio SAIKI†† , Masahide
NAKAMURA† , Kiyoshi YASUDA† , and Yuta TSUYUZAKI†††† Kobe University Rokkodai-cho 1-1，Nada-ku，Kobe，Hyogo 657-8501 Japan†† Kochi University of Technology, 185 Miyanokuchi, Tosayamada, Kami City, Kochi 782-8502, JAPAN††† Oyumino Central Hospital, 6-49-9 Oyumino Minami, Midori-ku, Chiba-shi, Chiba 266-0033, JAPANE-mail: †rmurate@es4.eedept.kobe-u.ac.jp, ††tomorrow@ws.cs.kobe-u.ac.jp, †††chensinan@gold.kobe-u.ac.jp,††††saiki.sachio@kochi-tech.ac.jp, †††††masa-n@cmds.kobe-u.ac.jp
Abstract In recent years, in the super smart society that has progressed as Society 5.0, the use of a wide variety ofservices has increased, and the burden on users has also increased. Therefore, in this paper, we propose “TapTrack”,
a platform that easily realizes button-driven smart services. TapTrack allows users to create a service that runs
when a button is pressed with no code, and allows users to assign their desired services to the button. In the casestudy, we created two services using TapTrack and veriﬁed its operation.
Key words Button-driven smart service, Life log, No-code development

This article is a technical report without peer review, and its polished and/or extended version may be published elsewhere.
Copyright ©2024 by IEICE

1. は じ め にＩとの共生，ユーザの多様なニーズにきめ細かに応えるカスタ
マイズされたサービスの提供，潜在的ニーズを先取りして人の超スマート社会は「必要なもの・サービスを，必要な人に，活動を支援するサービスの提供，地域や年齢等によるサービス必要な時に，必要なだけ提供し，社会の様々なニーズにきめ細格差の解消，誰もがサービス提供者となれる環境の整備等が期かに対応でき，あらゆる人が質の高いサービスを受けられ，年待されている．

齢，性別，地域，言語といった様々な違いを乗り越え，活き活

サイバー空間とフィジカル空間を融合させた取り組みにより，きと快適に暮らすことのできる社会」とされ，その実現に向け「超スマート社会」を未来社会の姿として共有し，その実現に向た一連の取組が「Society5.0」として推進されている．[2]

けた一連の取組みを更に進化させつつ，「Society 5.0」としてこのような現代社会では多様なサービスが生まれ，その利用推進されている．

においてスマートフォンや PC のアプリ上でサービスを使用す

現在の社会変化，いわゆる第 4 次産業革命 [5] ともいえる時ることが一般的である．しかしこれにはインターフェイスの多代の中で，人々の生活を支援するサービスが数多く生まれてい様化という問題が生じ，ユーザの負担が増加している．

る．その中での課題は，多様なサービスにいかに容易にアクセユーザビリティの向上のために「ボタン駆動スマートサービスできるかである．

ス」に着目する．ボタン駆動スマートサービスとは，ボタンを2. 2 サービス利用の現状押すという単純な操作で呼び出し可能なサービスのことを指現在のサービスはスマートフォンや PC 上のアプリ上でサーす．関連技術として，Amazon Dash Button [3] や AWS IoT

ビスを利用することが一般的である．ここには解決するべき課

Button [4] があるが，その実装には制約があり難易度が高いこ

題が 2 つある．とが問題点として浮かび上がる．

1 つめは，インターフェイスが多様化していることである．

そこで本研究ではボタン駆動スマートサービスの実装を容易

例えば，家電を操作するサービスと，音楽を再生するサービス化し実行基盤を提供すること目的として，ボタン駆動スマートを利用する場合，それぞれのアプリの インストール，起動，操サービス開発実行基盤「TapTrack」の提案を行う．よって満た作が必要になり，2 つのアプリを行き来する必要がある．これされるべき要件として以下を定義する．

によってサービスのアクセスに対してユーザの負担が増加して

R1: 日常繰り返し行う行動を「ボタン 1 つ」で実行したい
R2: ユーザが手軽・簡単に自分好みのサービスを作りたい
要件を満たすため,TapTrack の全体アーキテクチャは以下の4 要素により構成される．
A1: ボタン機能生成
A2: ボタン機能割り当て
A3: ボタンによる駆動
A4: 振り返りいる．

2 つめは，サービスの利用に対話操作が必要でない場合が存在するところである．家電を操作する場合を考えると，電源を入れる，消す，起動する，停止する，といった操作はユーザにデータの入力を要求するような対話的操作が必要がない．

2. 3 ボタン駆動サービスへの期待
ここで「ボタン駆動スマートサービス」とはボタンを押すという単純な操作で呼び出し可能なサービスのことを指す．ボタン駆動スマートサービスはシンプルなアクションによって素早くサービスを利用でき，複雑な動作を簡略化する上で便利でユーザは，ボタン機能を作成し，ボタンに割り当て，ボタンを押すことでサービスを実行され，また実行履歴を振り返るこある．
ボタン駆動スマートサービスはユーザにとって非常に直感的で手軽であり，ユーザは特定のサービスを利用するために，複とができる．
ケーススタディでは，TapTrack を用いたボタン駆動スマー

雑な手続きや入力を行う必要がなく，単にボタンを押すだけでトサービスの実装および実行の具体例として「天気予報確認目的を達することができる．これにより，新規ユーザにとってサービス」，「生活記録サービス」を作成する．これにより，提も利用の敷居が低くなり，手間をかけずにサービスを利用で案手法が様々なボタン駆動スマートサービスの実装のサポートきる．に効果的であることが期待できる．

2. 準備

さらに，ボタン駆動スマートサービスは，特に IoT デバイ
ス [6] との組み合わせにおいて効果的な制御手段となる．例えば，スマートホームの照明や温度制御，セキュリティシステム

2. 1 「超スマート社会」の実現と「Society5.0」など，様々なデバイスに対してワンクリックでアクセスできる

内閣府の第 5 期科学技術基本計画 [1] によれば，超スマートことで，ユーザは手軽に環境をカスタマイズできる．

社会は，「必要なもの・サービスを，必要な人に，必要な時に，必要なだけ提供し，社会の様々なニーズにきめ細かに対応でき，以上の特徴からボタン駆動スマートサービスの需要は高まっているといえる．

あらゆる人が質の高いサービスを受けられ，年齢，性別，地域，

2. 4 関 連 技 術

言語といった様々な違いを乗り越え，活き活きと快適に暮らす

2. 4. 1 Amazon Dash Button

ことのできる社会」であると定義されている．
この社会では，生活の質の向上をもたらす人とロボット・Ａ

Amazon Dash Button [3] は Amazon が提供するボタン駆動スマートサービスである．ボタンを押すと商品を発注するこ—2—

とができる．消耗品の発注に特化して利用されている．好きなデータベース上に保存する．そして A3: ボタンによる駆動によ

サービスを好きな時に実行するものではない．

り，ボタンを押すとユーザ情報データベース上に保存されたボ

2. 4. 2 AWS IoT Button

タン機能がボタン機能情報データベースから呼び出され実行さ

AWS IoT Button [4] は Amazon が提供するボタン駆動サー

れる．ボタン機能が実行されたとき，「誰が」「いつ」「どのボビスである．ボタンを押すと Lambda 関数を実行することがタン機能を実行したのか」が保存され，A4: 振り返りにより，できる．多くのことができるが，玄人向けである．

ユーザおよび開発者はサービスの実行履歴を確認することがで

2. 5 着目する問題

きる．

本研究ではボタン駆動スマートサービスの実装が困難であるという問題に注目する．ボタン駆動スマートサービスは，ボタンを押すとサービスが実行されるという単純な仕組みであるが，開発者にとっては，通常のサービスと同じ程度の実装コストがかかる．開発者が新たにサービスを作成する場合，計算資源の確保，サーバーの構築，UI のフロントエンド開発，サーバーサイドの開発，データベースの設計，サービスのデプロイ，といった一連の作業により，ボタンが押されたことの検知機能やボタンが押された際に実行される処理といった機能を実装する
図 1 全体アーキテクチャ必要がある．さらにこれにはコーディング知識が必須となる．

3. 提 案 手 法

3. 4. 1 A1: ボタン機能生成
ここでは，ユーザがボタンに割り当てたい日常生活を支援す

3. 1 目的

ボタン駆動スマートサービスの実装を容易化するプラットるボタン機能を作成する．以下に示すような設定をノーコードで行うことができる．

フォームの研究として，専門知識がなくてもボタン駆動サービスを登録，実装，使用できるプラットフォームを提案する．

3. 2 要件満たされるべき要件を以下に示す．

S1: ボタン機能のふるまいの定義
S2: ボタンを押す動作に対するリアクション
S3: HTTP リクエストの送信
S4: ボタン機能の公開範囲

R1: 日常繰り返し行う行動を「ボタン 1 つ」で実行したい
R2: ユーザが手軽・簡単に自分好みのサービスを作りたい

S1: ボタン機能のふるまいの定義に関して，単にボタン 1 つで，操作可能と言っても，求められるふるまいは 1 つではない．

3. 3 アプローチ
この要求を満たすため，ボタン駆動スマートサービス実装基盤「TapTrack」の提案をする．TapTrack はノーコードで自分好みのボタン駆動サービスを作成するであり，ボタン押下の検知機能とボタン押下時に実行される処理をノーコードで作成可能な GUI をサービスとして提供することをキーアイデアと具体的には，ボタンを押すと天気予報を表示するようなボタン機能の場合，「天気の画像を取得する」というボタンを押すごとに同じふるまいをすればよいが，電気をつけるボタン機能の場合は，「電源を入れる」と「電源を切る」という 2 つのふるまいが必要になる．このようなふるまいを以下のような 3 タイプに分けて設定する．

する．

3. 4 全体アーキテクチャ

トリガー: 押すと 1 つのサービスを実行する

図 1 に TapTrack を導入した全体アーキテクチャを示す．

スイッチ: 1 度押すとサービス 0 を実行する，2 度押すとサー

TapTrack は，以下の要素により構成される．
A1: ボタン機能生成
A2: ボタン機能割り当て
A3: ボタンによる駆動
A4: 振り返り

ビス 1 を実行する
ループ n: i 回目に押すとサービス i を実行し，n 回目に押すとサービス 0 を実行する

S2: ボタンを押す動作に対するリアクションに関して，ボタンを押したとしてもユーザには何もフィードバックがないと，押されたのかどうかわからず，複数回押してしまう可能性があ

サービス開発者は，TapTrack 上にサービスを実装する人をる．このような設計は避けるべきである．そこで，リアクショ指す．A1: ボタン機能生成により，サービス開発者はボタンにンとして再生するメディアファイルを設定できるようにする．

割り当てたいボタン機能を作成しボタン機能情報データベース上に登録する．

提案手法 TapTrack では，以下の 4 つから設定方法を選択できる．

ユーザとは，TapTrack 上でサービスを利用する人を指す．
ユーザは，A2: ボタン機能割り当てにより，必要とするボタン

S2-1: メディアファイルのアップロード機能をボタン機能情報データベースから選択し，ユーザ情報

S2-2: URL の参照—3—

S2-3: テキストの読み上げ

図 2，図 3，図 4 はボタン機能作成画面である．図 2 では，ボタン機能のふるまいの定義およびリアクションとして再生すS2-4: なし
S3: HTTP リクエストの送信に関して，この設定は外部サービスとの連携を行うための設定である．ボタンが押されたときに，外部サービスに対して HTTP リクエストを送信することができる．

るメディアファイルの設定方法の選択を行う．図 3 では，ボタン機能名，リアクションとして再生するメディアファイル，ボタン機能の説明を入力する．図 4 では，ボタン機能が送信するHTTP リクエストの設定を行う．

S4: ボタン機能の公開範囲に関して，この設定はボタン機能を公開する範囲を設定する．ユーザが作ったボタン機能は共有可能にすることができる．この設定があることで誰でも開発者となることができる．設定は以下の 3 つから選択できる．

S4-1: 公開
S4-2: 非公開
S4-3: 限定公開
ボタン機能にはそれぞれ ID が割り当てられており限定公開の場合は，その ID を知っている人のみが利用できる．

3. 4. 2 A2: ボタン機能割り当て
ボタン駆動サービスの各ボタンに A1 で作成したボタン機能

図 2 ボタン機能のふるまいの定義を割り当てる．ユーザが好みのサービスをボタンから呼び出し可能になる．自分が作成したボタン機能と他人が公開範囲を「公開」にしているボタン機能をボタンに割り当てることができる．限定公開のボタン機能は，ID を使って検索することでボタンに割り当てることができる．

3. 4. 3 A3: ボタンによる駆動
ボタンを押すと A2 によって割り当てられたボタン機能が実行される．ボタンには「状態」があり，A1 で設定したふるまいが「ボタン」のとき状態はボタンを押しても変化しない．(例:1→1→1→. . . )•ユーザがボタンを押すとサービスが割り当てられたボタ

図 3 ボタン機能名とリアクションとして使うファイルン機能を実行する•

画面はユーザのパーソナルなボタンになる

3. 4. 4 A4: 振り返り
ユーザがどのボタンをいつ，何回押したかを確認できる．次の 3 種類のグラフ形式で表示する．棒グラフはボタンを何時に何回押したかを確認できる円グラフは指定した期間内において，ボタンの状態が続いた時間とその割合を確認できる．タイムラインはいつ，どの状態のボタンを押したのかがタイムライン上に表示される．

4. 実

装

4. 1 利用した技術

図 4 HTTP リクエストの送信設定

本稿では，提案するボタン駆動スマートサービス「TapTrack」を実装した．バックエンドは Java 言語と Spring Boot を用い

図 5 はボタン機能選択画面である．この画面には自分が作成て実装した．データベースサーバには MySQL を使用し，，Webしたボタン機能と他人が公開範囲を「公開」にしているボタン

サーバには Apache Tomcat を利用した．フロントエンドは機能が表示されている．
「ボタン機能 ID から探す」欄にボタンHTML，SCC，JavaScript，google charts を用いて実装した．
4. 2 画面実装した TapTrack は，ボタン駆動型スマートサービスの実機能ごとに割り振られている ID を入力することで，他のユーザが「限定公開」として追加したボタン機能もボタンに割り当てることができるようになる．

行および実装の基盤として GUI を提供する．

—4—

れる．

図 5 ボタン機能選択

図 6 は実際にサービスを駆動させるボタン画面である．図 6のように 0 ∼ 10 のボタンが表示されており，ボタンを押すとサービスを駆動させることができる．

図 7 表示される画像

5. 3 生活記録サービス
ボタンを押すことで生活記録をつけることができるボタン機
能を作成する．勉強を終了するとき，電気スタンドの電源を切るようにする．
図6 ボ タ ン

5. ケーススタディ

A1: ボタン機能作成
まず，ボタン機能作成画面に遷移する．記録の項目を「睡眠」，「勉強」，「家事」，「遊び」，「その他」の 6 つに設定するため，ふ5. 1 アプリケーション概要

るまいは「ループ 6」とする．リアクションとして再生するメ

ケーススタディでは，ボタン駆動スマートサービスの作成を

ディアファイルの設定方法は「アップロード」とする．

目的として，4. で実装した TapTrack を用いて，ボタン駆動スマートサービスを作成する．

5. 2 天気予報確認サービス
A1: ボタン機能作成
まず，ボタン機能作成画面に遷移する．このボタン機能は次に，ボタン機能名，リアクションとして再生するメディア
ファイル，ボタン機能の説明を入力する．ボタン機能名は「生活記録」とした．メディアファイルは簡単な効果音の mp3 ファ
イルをアップロードする．説明欄にはどの状態をどのように記録するかを分かるように記述する．
（1. 睡眠，2. 勉強，3. 家事，4. 移動，5. 遊び，6. その他）

「天気の画像を取得する」という同じ動作を毎回行えばよいの最後に，Switch Bot [8] を用いて，勉強を終えるときに電気で，ふるまいは「トリガー」とする．リアクションに設定するメスタンドの電源を切るようにする．図 4 の画面で，「HTTP リディアファイルを天気予報の画像としたいときに，リアクショクエストの送信」の設定を行う．Switch Bot アプリからデバンとして再生するメディアファイルの設定方法は外部サービス

イス ID とトークンを取得し，以下のように設定する．

を利用するため，「URL の参照」を選択する．次に，ボタン機
能名，リアクションとして再生するメディアファイル，ボタン機能の説明を入力する．ボタン機能名は「兵庫県の天気予報」とした．今回，天気予報の画像は tenki.jp [7] が提供する 3 時
間後の雨雲レーダーの画像を利用する．

A2: ボタン機能割り当て
次に，ボタンにボタン機能を割り当てる．今回はボタン 2 にボタン機能を割り当てることにする．ボタンボタン機能設定画
面からボタン 2 を選択し，表示されるボタン機能のリストの中から先ほど作成した「兵庫県の天気予報」を選ぶ．

URL: https://api.switch-bot.com/v1.0/devices/デバ
イス ID/commands
ボディ: { "commandType":"command", "command":"turnOﬀ","parameter":"default" }ヘッダー:

Authorization: トークン
Content-Type:application/json; charset=utf8
A2: ボタン機能割り当て次に，ボタンにボタン機能を割り当てる．今回はボタン 3 にボタン機能を割り当てることにする．

A3: ボタンによる駆動

A3: ボタンによる駆動

ボタン 2 を押すと，図 7 のように天気予報の画像が表示さ

ボタン 3 を押すと，状態の数字が変化する．ボタンを押すた—5—

びに状態が変化し，6 のとき次に押すと 1 に戻る．状態の数字て GUI を提供し，ボタン駆動スマートサービスの実装を容易化が記録したい行動に合うようにボタンを押すことで，生活記録するプラットフォームである．ユーザは，このプラットフォーをつけることができる．例えば，睡眠を記録したいときは，ボム上にサービスをノーコードで実装することができる．また，タン 3 の状態が 1 になるまでボタンを押すようにする．

ユーザは，自身のニーズに合わせて必要なサービスを自身で選びボタンに割り当て，ボタンを押すことでサービスが実行され

A4: 振り返りること，そして，サービスの実行履歴を確認することができる．

つけた生活記録は後から図 8 のように確認することができ

本研究ではケーススタディとして，天気予報確認サービス，る．なお，状態とは以下のような対応を持つ．（1. 睡眠，2. 勉

生活記録サービスの作成を行い，その動作を確認することで，強，3. 家事，4. 移動，5. 遊び，6. その他）

提案手法 TapTrack の有用性を示した．今後の課題としては，サービス駆動時における入力の多様化および実際の利用に基づく評価が挙げられる．
謝辞

本 研 究 の 一 部 は JSPS 科 研 費 JP19H01138,

JP20H05706,

JP20H04014,

JP20K11059,

JP22H03699,

JP19K02973, 若手研究 23K17006 の助成を受けて行われている．
文

図8 生活記録

5. 4 考察以上により，提案手法 TapTrack を用いたボタン駆動スマー
トサービスの作成を行い，天気予報確認サービス，生活記録サービスの動作を確認した．2.5 節で述べた P1 について，TapTrackを用いることでボタン機能をノーコードで作成できるため，ボタン駆動スマートサービスの実装の難しさを解決できることが期待できる．2.5 節で述べた P2 についても，TapTrack を用いることで，様々なサービスを 1 つのプラットフォーム上で実装，

献[1] 内閣府，“第 5 期科学技術基本計画,” https://www8.cao.go.
jp/cstp/kihonkeikaku/5honbun.pdf，2016．
[2] 原辰次，本多敏，“超スマート社会におけるシステム科学技術概論,” 計造生，vol.55，no.4，pp.284–287，2016．
[3] Amazon, “Amazon dash 利用規約,” https://www.amazon.
co.jp/gp/help/customer/display.html?nodeId=201730770，
2023． (Accessed on 02/06/2024)．
[4] AWS, “Aws iot 1-click（aws lambda トリガーのワンクリック作成）| aws,” https://aws.amazon.com/jp/iot-1-click/，2023． (Accessed on 02/06/2024)．
[5] 山本昭二，“第 4 次産業革命とサービス科学の拡張,” 横幹, vol.11，no.1，pp.6–10, 2017[6] 岩野和生，高島洋典 “サイバーフィジカルシステムと IoT (モノのインターネット) 実世界と情報を結びつける,” 情報管理,vol.57，no.11，pp.826–834, 2015
[7] “tenki.jp,” https://tenki.jp/, 2024.
(Accessed on02/06/2024).
[8] SwitchBot, “Switchbot (スイッチボット公式サイト),” https://www.switchbot.jp/，2024． (Accessed on 02/06/2024)．

利用することが可能となっており，インターフェイスの多様化を解決できることが期待できる．
しかしながら，TapTrack ではボタン入力が web ブラウザ上の操作に限定されてているという限界があることが分かった．
ボタンを動作させる方法として画面のクリックをする必要があり，十分であるとは言えない．例えば，スマートフォンからのリモート操作，人感センサによる操作などというような様々な方法ができるようになると，より様々なスマートサービスに対応できるようになると考えられるがこれについては今後の課題とする．
また，この提案手法の有益性を明確に評価するためには実際の利用に基づく評価が必要であるが，これについても今後の課題とする．

6. ま と め
本稿では，ボタン駆動スマートサービスの実装を容易化するプラットフォームの研究として，専門知識がなくてもボタン駆動サービスを登録，実装，使用できるプラットフォームを提案することを目的として，TapTrack を提案した．

TapTrack は，ボタン駆動スマートサービスの実行基盤とし—6—