見出し画像

Qrioに4年間エンジニアとして携わって経験したこと #2

続きです。

Qrio Smart Lock (Q-SL1) 手ぶらで解錠

2015年8月にQ-SL1が発売されたあとは、当初搭載予定だったものの開発が遅れていた「手ぶらで解錠」という機能の実装をしていました。

この機能の仕様は非常にシンプルで、スマホの位置情報(GPS)を使い、ロックから一定距離を離れたら外出フラグを立て、外出フラグが立った状態でロックに近づいたら自動で解錠するというものです。

これだけ聞くと余裕で作れそうと思われますが、特にAndroidは様々な機種が市場に存在し、また最近のモバイルOSは省電力のために様々な機能が追加されていることから、プログラムは一見問題ないように見えても、実際に動作させると全く動かないケースがあり、このチューニングで非常に時間がかかっていました。

AndroidとiOSのそれぞれで、実装に苦労した点は以下となります。

Android

- 特に低スペックの機種で、位置情報のイベントが来ない、または意図しないタイミングでイベントが来ることが頻発する

- 特に低スペックの機種で、スマホがスリープ状態になっているときにBluetoothの性能(機能)が制限されることがある

- GPSの精度を上げようとすると、スマホの電池消費量も上がる

- メーカー独自の省電力モードによって、アプリのバックグラウンド動作が制限される機種がある

iOS

- アプリが完全に終了している状態から起こす手段が限られている(Geofencing/iBeaconなど)

- アプリを長時間使用していないと、位置情報のイベントが大幅に遅延することがある

このあたりは、2019年現在の競合他社製品を見ても、各社かなり苦労しているように思います。

また、Q-SL1ではロックに搭載しているモジュールにビーコンを吹かせる余裕がなく、位置情報に依存している性質上、天候環境や建物環境などに大きく左右されるという問題もあり、Q-SL1の手ぶらで解錠から「ベータ版」の文字が取れない理由はここにあります。

検証のために、雨の中ソニーシティの周りを不審者の如く何周も徘徊したのは懐かしい思い出です。

今できる範囲でやりきったという気持ちで9月下旬にこの機能をリリースしましたが、案の定上手く動かないというユーザーの声が多く、その後もできる範囲で改善を試行錯誤しつつ、次世代機を作るなら精度を上げるためにビーコンを組み合わせたいという話もしていました。

Qrio Smart Lock (Q-SL1) 法人対応

手ぶらで解錠の実装と同時に、Qrio社内では他社連携をしたいという話も上がっており、スマートロックSDKの実装も並行で進めていました。

このSDKは、Bluetooth/サーバー通信や暗号処理などを扱いやすくまとめたものです。(2019年現在、提供は終了しています)

SDKの開発はこれが初めての経験で、また当時は業務委託という立場ながらも、客先(不動産系の会社)との打ち合わせに同席したり、技術的なやり取りを任されたりと、これまでの業務委託とは一線を画す経験もさせて貰いました。

そんな中、2015年末の飲み会で、当時のQrioのマネージャーにSIerを辞めようと思っていることをぽろっと話したところ、「じゃあウチに来ます?」と声を掛けてくださり、転機が訪れました。

つづく

この記事が気に入ったらサポートをしてみませんか?