ACCESS の近藤です!
もう n番煎じもいいとこですが、
Amazon Dash Button が面白そうだったので、いくつか調達してハックして遊んでみました。
しかし、ハックとか偉そうなこといっても、
もう既に「ハックする、と心の中で思ったならスデに行動は終わっている」ような方々がライブラリを公開されていますので、それらの力を借りてビッグウェーブに乗ってみたぜ!的な内容です。
会社が休みになるボタンとは?
ポチッと押すと、会社がお休みになる夢のようなボタンです!!やったね!
…で、現実的には?
ポチっと押すと、予め設定しておいた宛先に特定フォーマットの勤怠メールを送信してくれるボタンです。
複数ボタンを登録できて、午前休、全休など、気分用途に応じて役割を設定できます。
というわけで作った
- dash-holiday-creator
https://github.com/diescake/dash-holiday-creator
デモ動画も撮影してみました。(超地味)
非常に頼もしい出で立ちと佇まい。 「ここは俺に任せてゆっくり眠れ。」と直接心に語りかけてくるようです。 ヘッドボードに設置してみるとこんな感じ。 全然関係ないですが Dash Button ポチって届いた evian がかわいいです。会社が休みになるボタン pic.twitter.com/9CL98T5Gl0
— diescake (@pomeranian_dev) 2016年12月11日
仕組み
dash-button 使ってます。
dash-holiday-creator は dash-button でボタンの押下イベントを拾って、node-mailer でメールを送信するという素朴な仕組みです。
以前、プライベートで書いたメール送信ライブラリを流用したので、
クライアントは Gmail オンリーで、それ以外は非対応です。
突貫で作ったので色々あれなところ多いですが、
よかったら覗いてみてください。
ボタンロゴの印刷シート (Google ドキュメント)
おまけです。
結構な人から、ボタンのロゴはどうやって作ったの?と聞かれたので素材アップしておきます。
下記 Google ドキュメントを PDF 形式でダウンロードして A4 印刷すれば良いです。
あとは、ハサミで切って、両面テープで貼り付けるだけ!
ねっ?簡単でしょう?
- 「会社が休みになるボタン」の印刷用シート
https://docs.google.com/document/d/1q8n0uR6JEiG-1Une1_wP-9wNZoQl_OJOj9Eiq9ON4I0/edit?usp=sharing
制限事項
dash-button が不安定なのか、うまくボタンの押下をフックしてくれないことがあります。
特に dash-holiday-creator 立ち上げ後、1回目のボタン押下は確実にスルーされます…。
弊環境では node-dash-button はうまく動かなかったのですが、
可能であればそっちを使ったほうが安定するかもしれません。
動作確認環境
Ubuntu 14.04 LTS (64bit) で動作確認しています。
bash on windows 10 では動作しませんでした。(issue によると getifaddr
の実装が不完全?)
また、Mac OS X では dash-button の動作に必要な libpcap-dev を homebrew からインストールする方法がなかったため諦めました。何か代替する方法はあるのかも?
感想とか
Amazon Dash Button で何を作ろうかーと考えたときに、割りとすぐにこのアイデアを思いついて、
我ながらネタとしても実用性としても-なかなか面白いなと…。
それで、実際に作ったらワンチャンバズれるんじゃないかと、バイブスあがってたんですが、
次の日には twitter に同ネタが投下されてて、しかももう既にバズり済みでそれなりにデモチしました。
(そのツイートは画像の合成のみで機能実装したわけではなさそうでした。)
やっぱり良い?アイデア思いついたらすぐに行動に移さないとダメですねー。
プロシュート兄貴指向大事!
それにしても、会社の一員として参加してる Advent Calendar で、こんなやる気なさそうなエントリ書いて大丈夫なんだろうか、と思わないでもないですが、たぶんエンジニア以外はあまり見てないので大丈夫でしょう。
しかし、もし私のアカウントが ACCESS の organization から外れていた場合はお察しください。
それでは、明日は @kumabook です!
参考
Amazon Dash Buttonを(正しくない方向で)使ってみた
http://qiita.com/takustaqu/items/8539b33780c9675c8657
Amazon Dash ButtonをただのIoTボタンとして使う
http://qiita.com/jsoizo/items/3b8bba4160f41aef20f4