Edited at

育児ゼロアクションプロジェクト(IKZAP)ができるまで

ヴァル研究所 Advent Calendar 2018 7日目の記事です。


この投稿は


  • ピジョン株式会社のメディア「コモドライフ」で IKZAP(育児ゼロアクションプロジェクト)の試みについて掲載していただきました

  • ここに掲載された、ハンズフリーで育児ログをとる仕組みの作り方を解説

  • IFTTTを活用することで大部分がノンプログラミングでできる仕組みになっています


IKZAP(育児ゼロアクションプロジェクト)とは


  • 育児中は文字通り「手が離せない」ので、記録をとりたくてもスマホやメモに手を伸ばすことすら困難な状況

  • そんな状況の助けになればと、スマートスピーカーを使ってハンズフリーで育児ログを取る仕組みを作った


    • GoogleHome、Clova、GoogleSpreadsheet、GAS、IFTTTだけで構築

    • IFTTTはサービスとサービスをTrigger、Actionで連携させる

    • GoogleHomeが「耳」、Clovaが「口」、LINEで「共有」



image.png


GoogleHomeに話してログをスプレッドシートに書き込む

IFTTT上ではGoogleHomeに関するサービスは「Google Assistant」の扱いになっています。

このGoogle Assistantに入力した(話しかけた)内容から、数値やテキストをスプレッドシートに書き込む仕組みです。

Trigger


  • Google Assistantの「Say a simple phrase (シンプルなフレーズを言ったら)」


    • 例:「おしっこ出たよ」「寝ました」「授乳スタート



  • Google Assistantの「Say a phrase with a number (番号のあるフレーズを言ったら)」


    • 例:「授乳150CC」「体温36.4℃」「身長83センチメートル」


      • この数値の部分だけをとることができます





  • Google Assistantの「Say a phrase with a text ingredient(テキストを含むフレーズを言ったら)」


    • 例:「離乳食 バナナを半分 食べました」


      • この「バナナを半分」のテキストだけをとることができます





  • Google Assistantの「Say a phrase with both a number and a text ingredient(テキスト数字を含む言葉を言ったら)」


    • 例:「飲み物 麦茶100CC」「飲み物 ジュース200CC」


      • 「麦茶、ジュース」というテキストと、数値をとることができます





Action


  • Google Spreadsheetの「Add row to spreadsheet(行を追加)」


    • とれた数値やテキストがスプレッドシートに記録されます


      • ログのタイムスタンプはGASで入れています






※こんな感じで入ってきます

image.png


スプレッドシートに書き込まれたログの内容をLINEに送信して、夫婦でリアルタイム共有

ログの内容をLINEに送信する仕組みです。

LINEを使うというのがIKZAPにおけるキモで、夫婦や家族とのコミュニケーションに使っているツールをそのまま活用することで「わざわざ見に行くのではなく、自然に目に入るようになる」ことを狙っています。

Trigger


  • Google Assistantの「New row added to spreadsheet(新しい行が追加されたら)」


    • スプレッドシートにログが入ることをトリガーにしています



Action


  • LINEの「Send message (LINEにメッセージを送信)」


    • 送信したい行の数値やテキストをからメッセージを作成、送信します
      image.png




授乳関係のログは別処理して活用

授乳に関する以下のログを別のスプレッドシートで管理しています。

・授乳開始、終了の時刻

・授乳(量=粉ミルク)の時刻

ここから、関数で

・授乳にかけた時間

・最後に授乳した時刻

・最後に授乳してから○分後

を算出して、あるセルに結果が入るようにし、それをトリガーにLINEへメッセージを送信します。

image.png

Trigger


  • Google Assistantの「Cell updated in spreadsheet (Spreadsheet内のあるセルが更新されたら)」


    • スプレッドシート内で算出結果の入るセルの更新をトリガーにしています



Action


  • LINEの「Send message (LINEにメッセージを送信)」


    • 送信したい行の数値やテキストをからメッセージを作成、送信します
      image.png
      image.png




前日のまとめをLINEとClovaに送信

下準備として、スプレッドシート上で関数等を使って前日分のおしっこなどの回数をまとめておきます。

これを使ったメッセージテキストを作成し、毎朝決まった時間などに送信します。

Trigger


  • Date & Timeの「Every day at(毎日決まった時刻に)」


    • スプレッドシート内で算出結果の入るセルの更新をトリガーにしています



Action


  • LINEの「Send message (LINEにメッセージを送信)」


    • まとめておいた前日のログ回数からメッセージを作成、送信します
      image.png




モニターさんからのフィードバック

IKZAPの記事の方でもまとめていますが、利用中にパパの育児への関わり方が大きく変化したようです。

普段の(パパが仕事に出ていていないときの)様子がわかることで、関わり方がわかったともおっしゃっていて、開発者目線では”育児”というプロジェクトの中で「進捗や状況を共有・可視化」することで、タスク実施の「属人化(ワンオペ育児)」を避けることができたと感じています。


次回予告?

”ほぼ”ノンプログラミングで作っているものの、部分的にはGASやスプレッドシート上で関数を使って処理した部分があります。

ここについては12/16の投稿でまとめて解説する予定です(エンジニアではない私がいかにわかる知識だけでこれを作り上げたかっていう苦労話になる予感w)。


参考

この投稿は下記のLT時の内容をベースに作成しています。

IKZAP(育児ゼロアクションプロジェクト)開発裏話