研究室内のコミュニケーションは重要です。 コミュニケーションが上手くとれないと学生の研究は滞り、教員は憤り、 科学技術の進歩は遅くなり、田畑は荒れ、野山は枯れ、川は氾濫し、世界は核の炎に包まれます。
しかし、授業、実験などにより学生・教員共に居ないことが多く、口頭でのコミュニケーションが常にとれるわけではありません。口頭でのコミュニケーション以外を考えると、メールやWikiを利用して連絡や知識の共有を行うことが一般的だと思います。
ただ、メール文化が浸透した後、電話のハードルが高くなったように、 SNSやLINEなどのツールが発展した現代日本では、メールがハードルの高いツールになりつつあります。
例えば、「今週の飲み会のリマインダ投げておいた方が良いんじゃない?」のような内容を、 わざわざメールで投げるのは少し抵抗があります。 こういった内容ですと、TwitterやLINEを使う事が多いと思います。 しかし、研究の内容や個人情報が読み取れそうな内容が含まれる場合、 SNSで情報をやりとりすることは好ましくありません。
そこで、メールよりも気軽なチャットベースでコミュニケーションができ、 外部の人間がアクセス出来ないサービスを、研究室内コミュニケーションツールとして利用することにしました。
どのサービスを使うか
どのサービスを使うと良いのか考えました。候補としてあがったのは下記サービスです。
- Lingr
- HipChat
- LINE
- Slack
- idobata.io
まずLingrですが、Mac・iPhoneユーザでないとアプリを便利に使えない為除外しました。HipChatは当時、5人までしか無料で利用できなかっため除外しました。また、Iconが表示されないのもちょっと不便ですね。LINEは、だいたいみんな使っているのですが、ガラケーユーザもまだいますし、拡張性を考えるとこういった利用には向かないと考え除外しました。
最後にidobata.ioとSlackで迷いました。どちらも無料で利用できますが、 Slackは登録できる拡張が5個に制限されています。idobata.ioは(いまのところ)すべて無料で利用できます。 へんな拡張を作りまくって遊べて便利です。
これらの事を考えて、idobata.ioを使うことにしました。
拡張する
idobata.ioではHubotのアダプタが提供されており、WebHookもデフォルトで色々揃っています。
また、GenericなWebHookでは、EndPointにcurl
でHTMLを投げることで簡単に発言をすることができます。
Hubot
GitHub製の便利な奴です。さくっとセットアップして、いろんなワードに反応するようにしました。こういった事が簡単にできるのも、Hubotの良いところですね。Herokuにデプロイすれば良いので楽ちんです。
天気を教えてくれたり、海外の現在時刻を教えてくれます。
また、URLを貼るとどんな内容なのか教えてくれます。安心。
インターネットを探しているとこういった便利機能がすでに実装されているので、 大変よいですね。CoffeeScriptなので、自分で書くのも難しくないです。
Sebastian.rb
これを使っています。なんかこういうタイプのBotって、セバスチャンって名前にしますよね。
GoogleカレンダーAPIを叩いて、当日・次の日の予定をRoomに投稿します。あらかじめイベントを登録しておく必要がありますが、大体毎週のミーティングやゼミなので楽です。
朝6時にその日の予定、夕方8時に次の日の予定を教えてくれます。
こいつはサーバ上でcrontab
を使って動かしています。
また、以前作成したwatch-men(watch-men.rbってコードを書いたよ。 - 文字っぽいの。)からも投稿できるようにしているので、監視フォルダからの資料コピーが発生した際に通知してくれます。便利。
まとめ
- Twitterで業務連絡するのやめよう。
- Hubotは可愛いく育てよう。