まえおき
always DRINK を使い始めてから、コンビニコーヒーを飲まなくなった。とても幸せな日々を過ごしている。
なんだけど、やっぱり1つだけ不満がある。お店についてレジに並んだときに「サッとパスを開けない」のだ。
前の記事でも書いてたんだけど、
この操作シーケンスは毎日使うにはさすがに長過ぎるのだ。(早くPWA化してほしいよ〜...w)
作ったもの
- お店は地図上で詳細がある程度(営業時間とメニュー +α)は見れる
- パスを使うボタンを押すと、ブラウザでパス画面が開ける
- 起動時にすぐに開きたいお店を1つだけ保存できる
という、最低限ないと自分がイライラしてしまうものだけをまず作った。デザインはとても適当。
ダウンロードは→https://github.com/YusukeIwaki/alwaysDRINK_MyLauncher/releases/download/pre-20191017/app-release.apk
ソースコードは↓
久々にアプリを作ってみて思ったこと
「俺がペルソナ」だとサクサク作れる
1年ぶりにAndroidアプリを頑張って作ったんだけど、自分が作りたいものを作るというのは大事だなと改めて実感。
たとえば、この表示一つとってもそうなんだけど、
- 「お店の雰囲気をなんとなく見たい」 + 「だいたいの位置をなんとなく知りたい」 を満たすとすると、上下で同時に見れるのがいいかなー
- 地図で全体を見たいなー
は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自体は前々からあったけど、だいぶ洗練されてきた。
まとめ
アプリ開発はとても体力くうけど、今後も自分が欲しいものは作っていこうと思う。