ENGINEER BLOGPhone Appliのエンジニアブログ

「居場所わかるくん」のはなし

2020年8月21日

こんにちは
テクノロジーリサーチ部、マネージャの室屋(@umaniel_)です。

テクノロジーリサーチ部は、弊社の R&D 機能を担う部署で、調査・企画から開発に至るまで、幅広く対応しています。
本稿では弊社プロダクトの一つ、「居場所わかるくん」について書かせていただきます。



「居場所わかるくん」とは


名は体を表すとおり、居場所がわかる、ツールです。
もう少し詳しく説明すると、会社の Wi-Fi に接続した端末を測位して、その端末を所持している人と紐付け、オフィスの画像の上にマッピングして表示する、ツールです。
#「居場所わかるくん」は、Beacon 機器にも対応していますが、本稿では割愛します。

私も入社するまで知らなかったのですが、無線 LAN 機器の中には、電波強度や到達時間やらをプンニャカして測位できるものがあったりします。

1, 2メートル程度の誤差はあるので、精度的にはそれなりーな感じですが、それでも接続するだけでクライアントの場所がある程度わかるのってすごいですよね。
もしお店の無料 Wi-Fi にこの機能があったら、あの席の人こんなページ見てる、まで収集できそうですね、こわいですね、考えないようにしておきます。

と、まあそんな感じの技術を利用して、「居場所わかるくん」は今日も元気に稼働しています。



具体的にどんなことをしているの?


大きく二つの処理を行っています。

一つ目の処理は、位置情報を収集し、加工して、データベースに保存する処理です。
「居場所わかるくん」は数種類のメーカ・機器に対応していますが、全ての機器で同じパラメータ・キーのデータが取得できるわけではありません。

パラメータやキーだけであれば、まだいいんですが、
・距離の単位がフィートだったりメートルだったり
・取得できる位置がアクセスポイントからの相対値だったり地図上の絶対値だったり
・データの形式が XML だったり JSON だったり
・・・

結構暗黒なことになっています。
そんないかついデータたちを、やさしいデータにノーマライズし、保存しています。


二つ目は、位置を表示するために必要なもろもろの情報の取得要求に対する返却、すなわち API の提供です。

基本的には、来たリクエストに対して、 DB を参照し、結果を返却するだけなのですが、同座標の場合にばらけさせたりなど、細かい調整をすることもあります。

位置情報以外にも、「居場所わかるくん」に登録のある、オフィスのフロア名や画像を提供する API も存在します。

ちなみに、「居場所わかるくん」から提供される位置情報データは、全て端末(PCやスマホ)の位置情報データです。
これは、社員の誰がどのPC・スマホを持っているのか、は、「居場所わかるくん」ではわからないから、なのですが、じゃあどうやって社員と紐づけているのかというと、「連絡とれるくん」の情報を使っています。
「居場所わかるくん」が「連絡とれるくん」のオプションサービスであることにはこんな理由があったんですね〜。

#こちらは、全て internal 用の API なので、現時点でユーザ提供はしていません。



他には何かできないの?


位置情報取得のノウハウを利用して、社員がよく利用している・全く利用していない場所を割り出し、オフィス改修の提案?のようなことや、「居場所わかるくん」の位置情報データを蓄積し、動線追跡(このご時世だと、コロナ罹患者の追跡)のようなことができるのでは〜などなど、活用方法はいろいろありそうだな〜と考えています。
#DOMO(BI ツール) と、位置情報データで可視化してみた〜な記事を note に書いているので、もし良ければご覧ください。

現時点で居場所データの蓄積は行っていないので、やるならそれなりの改修が必要になりそうですが・・・
夢が広がりそうですね!



おわりに


以上、「居場所わかるくん」の紹介でした。
私が入社して初めて携わったプロジェクトが「居場所わかるくん」関係だったので、それなりに思い入れがあり、今回の寄稿に至りました。
普段は note に投稿したりしているのですが、そこでは書けないような記事が書けて面白かったです。
また機会があったら、別プロジェクトの話を書いたり書かなかったりしたいです。



おしまい