SlackとirucaとmyThingsで在席管理を自動化する試み

このエントリーは イノベーター・ジャパン Advent Calendar 2016 - Adventarの9日目の記事です。

こんにちは。 アヤト(@ayato_tw)です。
先週イノベータージャパンに入社しました。
チームの皆さんに「この人がチームに参加して良かった〜」と思ってもらえる様に頑張っていきます。
入社エントリー的なのはまた今度で。
アドベントカレンダーでは社内の在席確認を自動化する試みの話をします。

現在の在席管理のしくみ

  1. 出勤時と退勤時にキングオブタイムに打刻しています。いわゆるタイムカードです。
    スマホからアクセスするため、どこで仕事をしているかの位置情報も打刻時に記録されます。
  2. メンバーの在席・離席のステータスを確認する為にirucaを使います。
    irucaについてはこちらをご覧下さい。

  3. どの作業に何時間かけたかをまた別のツールで集計しています。こちらにも出勤時間と退勤時間を記入します。

課題点

ツールが多く、打刻やirucaの更新を忘れやすいです。
運用の手間は慣れでカバーするという手もありますが、人間はミスをする生き物です。
もっと良い仕組みは作れないだろうか、という声が聞こえてきました。

myThingsで解決を図ってみる

YahooのmyThingsというアプリを使います。
これは様々なWebサービスやIoTを接続し、連携する事が出来るアプリです。
IFTTTというアプリも同じ事が可能ですが、弊社に設置されているAkerunとも連携できるmyThingsを採用しました。
Akerunについてはこちらのブログが詳しいです。

myThingsで出来るようになる事

スマホのGPSを検知して、特定の場所から出た/入った時に5つまでアクションを起こせます。
ここでは以下の2つのアクションを起こします。

  1. Slackにiruca oniruca offコマンドの書き込み
    f:id:ayato_mk:20161209091913p:plain:w400
  2. プッシュ通知。開くと指定したURLへアクセス出来ます
    f:id:ayato_mk:20161209091925p:plain:w400
    ↑の画像では位置情報の使用許可を求めるダイアログが出てます。OKします。

実際の流れ

オフィスからある程度離れた所を歩いていると、オフィスに近づいている or 離れているかをmyThingsが検知し、プッシュ通知でキングオブタイム(タイムカード)へのアクセスを促してきます。
打刻が不要な場合は通知を無視するだけです。
(全く通知しないという設定もOK)

この時既に、myThingsは僕のSlackアカウントを使ってirucaコマンドを書き込んでいます。
オフィスに近づいている時はiruca on、離れていく時はiruca offコマンドを使います。

この方法のメリット

  • オフィスに出入りする際にSlackで iruca コマンドを叩く必要が無くなりました
  • 通知を開けばキングオブタイムの打刻も一瞬です

この方法のデメリット

最初の設定がかなり面倒です。この記事では設定方法を省略しますが、ざっくりいくと

  1. myThingsをインストール
  2. Yahooにログイン
  3. Slackにログイン
  4. オフィスの位置をmyThingsに覚えさせる
  5. 通知するURLを登録

という流れです。
更に、Yahooのアカウントを持ってない人は新規登録も必要になります。
アカウントの新規登録や複数管理に慣れている人ならともかく、社内の全員に導入をオススメ出来るか?というと微妙なラインです。

また、GPSとWi-Fiを用いたジオフェンスという仕組みで動作しているのですが、精度が個々のスマホとOS(AndroidかiPhoneか、更にそのバージョン)によってバラバラです。
その為に動作の保証が難しく、これも全員にオススメ出来るのか?と悩むところです。
一応、iPhone5s と Xperia Z3 Compact で動作を確認しています。

今後の予定

Aプラン

スマホのGPSやBluetoothとirucaが直接連携出来れば、更にシンプルに出来ます。

irucaは本来ログイン不要のツールです。
必要なのはURLと「あいことば」だけなので、irucaのスマホアプリを作れるのならもっとカンタンに出来ます。 作る側としても、ID管理が不要なのはハードルが低い部分です。
今はProgressive Web Appという技術もあるので、上手く行けばアプリすら不要に出来るかもしれません。
irucaはAPIが公開されているので、これをうまく活用出来ないかな、と考えています。

Bプラン

便利さの代償だと割り切ってこのまま使う。
myThingsをインストールしましょう。
この場合は前述のAkerunとの連携も出来るのでは、と考えています。

まとめ

エンジニアとしてはAプランの方に挑戦したい所です。
勤怠管理も在席確認も全部スマホで自動化、出来たらいいなと思います。

あと、弊社では現在エンジニア / デザイナー / ディレクターを募集しています。 興味のある方は是非こちらをご覧ください!

recruit.innovator.jp.net