こちらの記事を投稿してから2年経ったので、アプリのその後についてお話しします。
TSUTAYAでアルバイトしていた学生エンジニアが退職するので置き土産に業務効率アプリを開発した話
先に言っておくと、本アプリは自分が業務時間外に勝手に作ったものなので、完全に自分の著作物です。TSUTAYA側とは何の契約(秘密保持契約等)も結んでいません。また、TSUTAYA側の業務情報には自分は全くアクセスすることができません。自分が本アプリを通じて知ることのできる情報は、店頭に並んでいる商品の商品名と賞味期限だけです。
※ 本記事で出てくる「TSUTAYA側」というのは、自分が働いていたTSUTAYAのフランチャイジー、又はTSUTAYAを運営しているCCCのことを指します
アプリのその後について
現在もバリバリ使用されており、月に1000件以上、商品の賞味期限をLINEに通知しています。
自分が使用しているLINE Botのプランは無料プランで月に1000件までしかメッセージを送ることができないので、先月は一時LINE通知が止まる事態まで起きてました。
20日くらいで1000件送り切ってしまってました。。
この時は賞味期限が近づいてきた商品1つにつき1件のLINE通知を飛ばしていましたが、今はある程度の商品の情報を1件のメッセージにまとめてから通知するようにしたので大丈夫そうです。
皆さんが気になっていたであろう運用・保守については今も自分がやっています。
とは言っても、インフラ周りは全てFirebaseで構築しており、その他の外部サービスもLINE Botしか使っていないので、インフラ周りで何かしら作業が発生したことや落ちたことはこの2年間ありませんでした。
アプリケーションの方では先ほどお話ししたLINE通知を送信するロジックを変えたこと以外は特に触っていません。
元々運用・保守をしなくても済む構成にしていたので、この結果は想定通りでした(LINE通知が月1000件を超えたこと以外は)。
気になる費用の方もFirebaseしか料金が発生するものを使っていないこともあり、年間0円で運用できています。
こちらもFirebaseはある程度の規模まで大きくならないと料金は掛からないことを知っていたので、想定通りでした。
また、セキュリティに関して気にされていた方もいらっしゃったかもしれませんが、突然データが消えたや変なLINEが来たみたいな不思議事象は報告されていないので大丈夫だと思っています。そもそも不正アクセスをされても、店頭に並んでいる商品の商品名と賞味期限しか見れないので、そこまでセキュリティを気にしていませんでした(前提として本アプリにはFirebase Authenticationで実装されたログイン機能があり、XSSなどもある程度は対策しています)。
FAQ
TSUTAYAの名前を出してQiitaを書くことは許可を得てたんですか?
許可は得ていませんでしたが、記事を出した後にCCCの社員の方とお話しする機会があり、その時に特に問題はないですと言ってもらえました。
Excel管理じゃダメだったんですか?
自分が実際に商品の賞味期限を管理して感じていたことは、賞味期限を確認するということはとても億劫ということでした。
エンジニアの方なら分かるかもしれませんが、Unit Testなどをコミット or プッシュするたびに回すのは億劫じゃないですか?
だからCIとかで自動でテスト回すようにしませんか?
商品の賞味期限を管理するのも同じで、商品が入荷したときのフローに賞味期限を入力するのは(エンジニアがテストを書くのと同じく)やるんですけど、その後の賞味期限を確認する作業は億劫なんですよね。これは紙でもExcelでも同じことでした。
自分が解決したかった課題はそこだったのでLINE Botで賞味期限を通知するという構成にしました。
あとExcelで管理することの問題点はExcelの起動が遅いというところにありました。これは使用しているPCのスペックの問題だと思ってますが、起動が遅いと入力するのも億劫になるので紙でパパッと書けた方が逆に便利というところもあり、あえて紙で管理していました。
こういうこともあって、アプリの表示速度を気にしてました。
TSUTAYAにアプリを移管しないんですか?
今のところ考えていません。運用負荷やコストを考えてもこのままが一番上手くやっていけると思っているので、移管したいとも特に思っていません。
ただ、TSUTAYAを既に退職している人がアプリの運用・保守をし続けているところに違和感があるというご指摘は、全くもってその通りだと思っています。
全国のTSUTAYAで使われているんですか?
自分の働いていたTSUTAYAはフランチャイズ店なので、全国的に使用はされておらず、今後されるという話も聞いていません。フランチャイズ関連のTSUTAYA数店舗でのみ使われています。
逆に全国のTSUTAYAで使われるようになってしまうと、インフラのコストやLINE Botの利用料がかなりかかってしまうので、そのときは移管することを考えます。
POSで賞味期限を管理できないのですか?
おそらく賞味期限を管理できるPOSは世の中に存在しないんじゃないかなと思っています。もしあれば、スーパーやコンビニの従業員の方があんなに店頭商品の賞味期限を確認しに行ってる姿を見ることはないと思うので。
まとめ
置き土産のその後はいかがでしたでしょうか?自分の中では色々と上手くいったと思っています。
個人的に上手くいった理由は、解決したい課題が明確で単純、実運用を考えた構成、その職場で実際に4年間働いた経験の3つがあったからだと思っています。特に実際に働いた経験があったことが一番重要だと思っていて、これがあったからこそ現場のリアルに答えたアプリを作れ、今もまだ使われ続けてるのだと思っています(実運用を考えた構成については、自分はインターンなどで開発をした経験などはなかったので机上の空論でしたが)。
ただ、これだけを見ると君損してない?と思われる方がいるかもしれません。
実際にはそんなことはなく、このアプリを作ってQiitaで紹介したことにより、繋がりが出来た人もいますし、自分のポートフォリオとして十分なものとなってくれています。
また元々使って欲しくて作ったアプリが実際に2年間も使われていて、それで少しメンテナンスするくらいは全然嬉しいことです(逆に使われてなくてcloseする方が悲しい)。
なので、これからも利用してくれているユーザーがいる限りは運用していこうと思います。