always DRINKを幸せに使いたいので、サッとパスを表示するためのアプリ作った

まえおき

always DRINK を使い始めてから、コンビニコーヒーを飲まなくなった。とても幸せな日々を過ごしている。

なんだけど、やっぱり1つだけ不満がある。お店についてレジに並んだときに「サッとパスを開けない」のだ。

前の記事でも書いてたんだけど、

f:id:YusukeIwaki:20191006154530p:plain

この操作シーケンスは毎日使うにはさすがに長過ぎるのだ。(早くPWA化してほしいよ〜...w)

作ったもの

https://user-images.githubusercontent.com/11763113/66848080-65569880-efaf-11e9-8a6d-29f0f1410878.gif

  • お店は地図上で詳細がある程度(営業時間とメニュー +α)は見れる
  • パスを使うボタンを押すと、ブラウザでパス画面が開ける
  • 起動時にすぐに開きたいお店を1つだけ保存できる

という、最低限ないと自分がイライラしてしまうものだけをまず作った。デザインはとても適当。

ダウンロードは→https://github.com/YusukeIwaki/alwaysDRINK_MyLauncher/releases/download/pre-20191017/app-release.apk

ソースコードは↓

github.com

久々にアプリを作ってみて思ったこと

「俺がペルソナ」だとサクサク作れる

1年ぶりにAndroidアプリを頑張って作ったんだけど、自分が作りたいものを作るというのは大事だなと改めて実感。

たとえば、この表示一つとってもそうなんだけど、

f:id:YusukeIwaki:20191016020630p:plain

  • 「お店の雰囲気をなんとなく見たい」 + 「だいたいの位置をなんとなく知りたい」 を満たすとすると、上下で同時に見れるのがいいかなー
  • 地図で全体を見たいなー

はUXとしてシームレスじゃなくても(実装的には、Activityを分けても)いいのでは?と思うかもしれない。会社で機能開発するとなると、「とりあえずPhase1では上下で見れる機能、Phase 4以降で全体見れる機能を余裕あったらつけようか」みたいにもなりそうなところだけど、でも実際使ってみるとここのシームレス感がかなり重要だった。なぜかはよくわからないけど、感覚的にお店を探すときの疲れが少なくて済む。(ちなみにこのUIはメルチャリAndroidアプリの表示をかなり参考にさせてもらった。圧倒的感謝です...!)

ペルソナも顧客も自分が一番よくわかっている状態だと、やることの優先順位は決めやすいし、UXも合理的に設計できると改めて実感したのでした。

洗練されつつあるAndroidアプリ開発環境

あと、Androidアプリ開発は相変わらずいろいろ難しいけど、それでも1年前に比べるとだいぶ良い仕組みがそろってきたなーという感触。

  • 画面回転とか面倒なことを考えなくていいViewModel
  • Activityを表示したときに裏でAPI通信するならKotlin Coroutines。
    • ktxいれてviewModelScope.launch使うとお手軽。
  • マテリアルデザインやるならMaterial Components for Android
  • RecyclerViewベースになったViewPager2

などなど。ViewModelとかKotlin Coroutines自体は前々からあったけど、だいぶ洗練されてきた。

 

まとめ

アプリ開発はとても体力くうけど、今後も自分が欲しいものは作っていこうと思う。