夫婦間のプチ連絡を WearLink と ntfy でワンタップ化

我が家では夫婦間のやり取りに Slack を使っています(・∀・)
普通の会話や後から見返したい内容は Slack で全く困っていないのですが、 例えば「今から帰るね」を送るためには家族のコミュニケーションツールとして Slack を導入して 10 年経ちました😎
— bvlion🍣🦪 (@ninjinx) January 15, 2025
ずっとフリープランですまんやで🙏#slack pic.twitter.com/9IJfT8hotF
- Slack を開いて
- チャンネルを開いて
- メッセージを打って
- 送る
いや、それくらいやれよという話ではあるんですが、毎回やっていると絶妙に面倒なんですよね(^^;
他にも、子供が生まれてからちょっとした困り事として、
- 抱っこや寝かしつけを交代するか聞きたい
- 別の部屋にいる相手をちょっと呼びたい
など、「会話を始めたいわけではないけど、相手に今伝えたい」という場面が結構あります。
ということで、もう少し雑に送れる方法を作ってみました(*・ω・)ノ
元々 WearLink というアプリを作っていました
私は以前から WearLink という、登録した HTTP リクエストをスマホや Wear OS から実行するアプリを作っています。
※ 執筆時点では Google Play へ申請中です。
元々このアプリでやりたかったのは、Wear OS のタイルから登録した HTTP リクエストをワンタップで実行することでした。
例えば時計から自宅の何かを操作したり、Webhook を叩いたり。
スマホを取り出さずに腕時計から HTTP リクエストを投げられる、というのが元々のウリです。
ただ、使っているうちに、「これスマホからもワンタップで実行したいかも?」となり、登録したリクエストを Android のホーム画面へショートカットとして置く機能も直近で追加しました。
なので、
Wear OS
→ タイルをタップ
Android
→ ホーム画面のショートカットをタップ
のどちらからでも、登録済みの HTTP リクエストをほぼワンタップで投げられます。
ここまでできると、「これを夫婦間のちょっとした通知にも使えないかな?」と思い始めました。
最初は自前の通知アプリでも作ろうかな〜と思っていたのですが、通知を送るためだけに Android アプリとサーバーを作るのもなかなか大げさです(´・ω・`)
そこで見つけたのが ntfy でした。
ntfy を使ってみる
ntfy は HTTP リクエストを送ると Android などへ通知してくれるサービスです。
とりあえず夫婦それぞれに受信用のトピックを用意して、
私 → 妻用トピック
妻 → 私用トピック
という単純な構成にしました。
当然トピック名は記事には載せませんw
🏠 私
今から帰るね
というのをまず作ってみて、WearLink のショートカットをホーム画面に置いておけば、
ホーム画面で「今から帰るね」をタップ
↓
妻のスマホへ通知
で終了です。
これはいい(・∀・)
Slack の履歴に毎日の「帰るね」が積み上がることもなく、送る側もワンタップ。
こういうのでいいんだよ。
せっかくなので返事もしたい
ただ、「帰るね」は通知するだけで終わりますが、「交代する?」だと相手から返事が欲しくなります。
調べてみると ntfy の通知にはアクションボタンを付けられました。
ということで、
🔄 私
交代する?
[ お願い! ] [ 大丈夫! ] [ Slack ]
という通知にしてみました。
「お願い!」を押すと、逆方向の ntfy トピックへ HTTP POST して、
🙏 妻
交代頼む🙏
が返ってきます。
「大丈夫!」なら、
👌 妻
交代しなくても大丈夫!
です。
もう一つ、相手を呼びたいとき用に、
📢 私
来てほしい🙏
[ りょ(*・ω・)ノ ] [ ちょっと待って ] [ Slack ]
も作りました。
返答すると、
🏃 妻
今向かいます(*・ω・)ノ
または、
⏳ 妻
すぐ行くけどちょっと待って<(_ _)>
が返ってきます。
このあたりの文言は完全に我が家仕様ですw
もちろん妻から私へ送る場合は逆になります。
結局サーバーすらいらなかった
当初は、
WearLink
↓
自宅サーバー
↓
ntfy
↓
相手
という構成を考えていました。
返答を管理したり、期限切れを管理したりするならサーバーが必要になります。
ただ我が家で欲しいのは、「交代する?」に対して、「お願い!」と返せればそれで終わりです。
履歴も状態管理もいりません。
なので返答ボタンから、そのまま相手の ntfy トピックへ POST することにしました。
結果、
WearLink
↓
ntfy
↓
相手
↓
通知のボタン
↓
ntfy
↓
自分
だけのシンプルになりました(๑•̀ㅂ•́)و✧
困ったら Slack を開けばいい
とはいえ、「ちょっと待ってって何分?」とか、「交代したいけど、その前にこれお願い」みたいな会話が必要になることは当然あります。
そこで3つ目のボタンは「Slack」にしました。
押すと普段夫婦で使っている Slack のチャンネルを直接開きます。
ntfy で全部やろうとせず、
単純な通知・返答 → ntfy
会話が必要 → Slack
と割り切ったのが結構よかったです。
ntfy をチャットアプリにしようとすると多分しんどいんですよね(^^;
我が家の場合は元々 Slack があるので、会話になったらそちらへ逃がせばいい。
ntfy は「その瞬間に伝わればいいもの」だけ担当してもらいます。
Wear OS から返事できるのが大きかった
個人的に一番良かったのがこれです。
Android に届いた ntfy の通知は Wear OS にも表示され、今回作ったアクションボタンもウォッチからそのまま操作できました。
例えば寝かしつけ中。
スマホは手元にないけど時計は着けている、という状況で、
交代する?
[ お願い! ] [ 大丈夫! ]
に時計から返答できます。
抱っこ中にスマホを取り出して Slack を開く必要がありません。
元々 WearLink 自体が「時計からワンタップで HTTP を投げたい」というところから始まったアプリなので、送信だけでなく受信側の返答まで時計で済むようになると、かなり相性がいいです。
育児中って両手が自由とは限らないですからね(^^;
ちょっとハマったところ
手元にあった古い Android 12 の端末でもテストしていたのですが、「ntfy アプリには届いているのに Android の通知が出ない」という現象がありました。
ntfy 側の設定も Android の通知チャンネルも確認して問題なし。
ADB で追ってみると、Android のサイレントモードに弾かれていました(^^;
priority を最大にしても、Android 側で通知を止めていれば当然出ないわけですね、それはそう…。
ちなみに ntfy 側では今回の通知を最高優先度にしています。
「交代してほしい」「今来てほしい」という通知は、送ったのに気付かれなかったらあまり意味がないので。
とはいえ Android 側の設定には勝てないので、実際に使う端末では普段の設定状態でもちゃんと通知されるか確認しておいた方がよさそうです。
実際に妻にも使ってもらいました
その後、妻にも見せてお試し運用してみました。
結果は結構好評でした(・∀・)
今のところ用意しているのは、
今から帰るね
交代する?
来てほしい🙏
くらい。
最初はもっと色々な通知を考えていたのですが、「寝かしつけ交代」「抱っこ交代」のように用途ごとに増やすより、
交代する?
くらいの雑なメッセージの方が、その時の文脈で分かるので使いやすそうです。
夫婦間なら、「今何をしているか」はだいたい分かっていますからね。
例えば私が子供を抱っこしている最中に「交代する?」が来れば、何を交代するのかまで通知に書く必要はありません。
必要になったら後から追加すればいいですしね(*・ω・)ノ
今は実際に使い始めていて、しばらくこのまま運用してみようと思っています。
専用アプリを作らなくてよかった
今回一番よかったのは、「このために専用アプリをもう1個作らなくてよかった」というところかもしれません(`・ω・´)
最初は夫婦間のワンタップ通知アプリを作る案も考えていました。
でも実際に必要だったものを分解すると、
HTTP を簡単に送る
→ WearLink
通知を表示する
→ ntfy
複雑な会話をする
→ Slack
でした。
それぞれ既に得意なものがあるなら、全部入りのアプリを新しく作る必要はなかったんですよね。
WearLink は HTTP を叩くだけ、ntfy は通知するだけ、会話は Slack。
それぞれ得意なことだけやらせたら、思った以上にいい感じになりました。
唯一気になるのは ntfy のアイコンが絶妙にターミナルっぽくて、夫婦のほのぼの通知感が全くないことでしょうかw
通知欄を見ると突然エンジニア感が強いです(´・ω・`)
まぁ機能には何の問題もないので、そのうち慣れるでしょう(・∀・)
しばらく実際の生活で使ってみて、他にも「これワンタップでいいよね」というものが出てきたら追加していこうと思います!