Archive for 8月, 2014

PunchClock: iBeaconで楽しむ

日曜日, 8月 31st, 2014

PunchClock時々、Panicでは社外で日の目を見ることのない社内向けアプリを作ります。今回紹介するPanicチームのための自動入退出トラッカー: これはそのようなプロジェクトのうちのひとつです。

はい、私たちのチームはそれほど人数が多くないので、入退出管理は大きな問題にはなりません。しかし面白いので試してみました。最初に私はSNMP、ARPテーブルの参照、そして一般的な昔ながらのポートスキャンを組み合わせ、理論上の“入室”を取得していました。しかしそれはそれほど期待通りではなく、結局私たちのStatus Boardから取り除かれました。Appleが間もなく、私たちの(それほどでない)クリティカルな問題の解決法を発表することを知らなかったのです。

iOS 7に搭載されたiBeaconの出現により、Appleはまったく新しいやり方で小売や公共スペースを明確に変化させようとしています。もはや買い物の際にその店のアプリは必要なく、アプリは店内のあなたの位置に反応します。一般的に、iBeacons自体は近くのあなたのデバイスに通知するためのIDを単に発信しています。このアイディアにより、比較的安く投げ売りされているビーコンを周辺に広めることで、iOSおよびクラウドサービスは訪問客が見るべきコンテンツを提供することができます。

さらにiOS 8では、Appleに登録された屋内位置追跡エリア内にいるとロックスクリーンにボタンが追加されます。ボタンをタップすると関連アプリが起動し、インストールされていない場合はApp Storeにジャンプします。すごい!

手のひらサイズのこの新しいテクノロジを利用した、まったく新しい入退出トラッカーPunchClockを作るのにそれほど時間はかかりませんでした。それはジオフェンスとiBeaconトラッキングを組み合わせ、さらにHerokuでホストされた単純なSinatraバックエンドを使用しています。省バッテリーで位置情報を提供するため、ポーリングの調整に多くの時間を要しました。

ひとたび信頼できる入退出データが取得されると、オフィスを誰が何時に出入りしたか、その瞬間に(可能な限り気持ち悪く無い方法で)通知すると面白いと考えました。さらにPunchClockの素晴らしい機能として“入室”とマークされると — 例えばオフィスがロックされてしまったり、トイレに閉じ込められたりした際、チーム全員にメッセージを送ることができます。NevenがUIを、Cabelが通知音を作り、このアプリは完成しました。

AppleのiBeaconテクノロジが大きな店舗やスタジアムでロールアウトされ続ける中、あなたの家やオフィスで試さない理由はありません。

皆さんがご自身で入退出トラッカーを作成できるよう、私たちはPunchClockをGithubで公開しました。バックエンドからアプリへ提供されるJSONデータはStatus BoardのDIYパネルでも利用可能です。

正直、PunchClockを自身でセットアップするには技術的な能力が必要です。これは私たちが提供する正式プロダクトではありません。しかしあなたがプログラマで、コーディングに暮れる夜を楽しむ準備ができているならば、みなさんが何を作るかを私たちはとても楽しみにしています。アプリとバックエンドについてはできる限り詳しくREADMEに記述しています。

PunchClockは私たちが楽しむためのアプリでしたが、皆さんも楽しんでいただけますように。


[原文]