人気ブログランキング | 話題のタグを見る

社内業務改善プロダクトの終了とそれに伴うノウハウの共有

この記事は、メルカリアッテ終了に関するブログ記事に触発されて書いたものになります。

http://mercan.mercari.com/entry/2018/03/19/121649

前書き
先月の某日、社内における業務(?)改善の一環として開発と運用をしていたプロダクトを終了しました。
今回はそのプロダクトで得た知見を共有します。

結論
* NFCわかんない…でもおもしろい…
* Androidビーム搭載しているかを調べるのが難しい…
* Androidビームを利用する非タブレット端末の設置ってどうすればよいんだろう…
* Android Things(Raspberry Pi)だといろいろ解決できたかもしれない

どんなプロダクトを作ったのか
現在働いている会社のオフィスでは、入室に某社のスマートロックを利用しています。
社内業務改善プロダクトの終了とそれに伴うノウハウの共有_d0252816_16552848.png

スマートロックの解錠には、各個人のスマートフォンにインストールした専用のアプリを使います。このアプリが曲者で、一部の端末で正しく動作しなかったり、そもそもスマホにアプリがインストールできない方もいました。

この「アプリが正常に動作しない」社員がほかの手段を使って解決できるようにするために始めたプロダクトです。
社員のスマホに代わり、解錠を行う専用アプリがインストールされた端末を、入り口に設置して運用します。
社内業務改善プロダクトの終了とそれに伴うノウハウの共有_d0252816_16555456.png

(自分を擁護するために突然書きますが、事前にこのシステム導入の検討を聞いていれば絶対に賛成しません。)

ちなみにこのプロダクトの簡単な説明は、以前にFirebase勉強会でも発表したことがあります

社内用アプリでFirebaseを使っている話 // Speaker Deck
https://speakerdeck.com/yamacraft/she-nei-yong-apuridefirebasewoshi-tuteiruhua

プロダクトを通して感じた問題点
あまりコード部分の技術的な話は書いていません。

NFCの何を一意の情報として取得すべきか判断しきれなかった
詳くないのであんまり解説っぽく書くとマサカリ飛んできそうなので詳細は書きません。NFCにも種類があり、本当に一意となる情報をどうやって取得すべきか正しく判断できませんでした。解錠のログはスタックさせていたので、とりあえず実装最優先でserialIdの値を使って識別するようにしました。

Androidビーム対応している端末がわからない
すべてのAndroid端末はNFCの読み込みに対応しているわけではなく、「Androidビーム対応機種」から今回のシステムに使う端末を選定する必要があります。

ここがとてもやっかいで、各端末の公式サイトを見てもAndroidビームが対応しているの判断できないケースが多くありました。結局今回はNexus5を利用することにしましたが、たとえば受付システムをタブレットにした場合、どれを選べばよいのか私は選定できる自身がありません…。

(実際に先日のDroidKaigiでKIOSK端末に関する発表をしたスピーカーの方もAndroidビーム付きの端末を対応したことがないと言っていました。廉価版ほど非対応な気がします)

スマートフォン端末を受付機として設置しづらい(NFC読み込みを使う場合)
スマートフォンのNFCリーダーは端末の背面に設置されています。そして、カードを認識させるためにはカードを接触させるぐらいには近付ける必要があります。

これがとても曲者で、多くのスマホスタンドはスマホの背面部がスタンドの支点となるように設置されています。つまりカードがタッチしづらくなります。

マイクスタンド的なものもいちおうあるのですが、これは大半がiPad用です。Androidタブレットに対応しているのかは、試しに買ってみないことにはわかりません。おそらくハンドセットサイズのスマホでは使えないでしょう。

Nexus5のBluetoothが頻繁に死ぬ
これは自分が使っていた端末固有の問題かもしれません。Nexus5を点けっぱなしで放置すると、Bluetoothの機能が死んでしまい、その都度端末を再起動する必要がありました。キオスク端末化しておけば、多少は再起動の対応も楽にできたのかもしれません。

プロダクトを通して感じたこと

Raspberry Pi+AndroidThingsだといけるのでは?
今回は既存のスマートフォン端末を利用する形で運用を行っていました。これをAndroid Thingsで動かしているRaspberry PiとUSBのNFCカードリーダーを使えば、もろもろの問題は解決できたかもしれません。これならすべて新規でそろえても10,000円から15,000円程度で用意できますし、何よりOSも常に最新で開発者のモチベーション維持にもつながります。

ただしこの場合、NFCカードリーダーの読み取りをちゃんとアプリ側で認識できるのか、ケース等をどうするかといった部分の課題は残ります。後者に関しては、みんな簡単にレゴとかで作っているケースがあるんですけど、幼少期にレゴとの触れあいがほとんどなかった自分にはまったくわからない世界です…。

ちなみにプロダクトを終了した理由は、上記の実運用を考える上で実験費用がどんどん掛かりそうなこと(注)。あとは諸々の理由です(ここには書きません)。

以上です。

(注)…自分が勝手に始めたので経費はポケットマネー
by yamacraft | 2018-03-25 23:30 | いろいろ