Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
20220927_mot_kauche_tummy
Search
Ryo.Nitami
September 27, 2022
0
34
20220927_mot_kauche_tummy
https://kauche.connpass.com/event/258973/
Ryo.Nitami
September 27, 2022
Tweet
Share
More Decks by Ryo.Nitami
See All by Ryo.Nitami
Chucker で GraphQL の通信ログを見やすくした / Made GraphQL log easier to read on Chucker
bird_tummy
1
790
matching_dev1
bird_tummy
0
220
dxel1
bird_tummy
0
3.3k
GraphQL in production
bird_tummy
3
3.2k
livedata-plus-viewmodel
bird_tummy
0
3.4k
何も準備せずにノリで上海に行ったら大変だった話 / shanghai-is-wonderful
bird_tummy
0
300
AutoLayout と友達になる方法 / How to be friends with AutoLayout
bird_tummy
1
2.8k
初めて転職して思ったこと / ngineerxiv11
bird_tummy
0
300
"DO NOT translate when you talk or listen" を実現するためにやっていること / clem6
bird_tummy
2
130
Featured
See All Featured
Faster Mobile Websites
deanohume
299
30k
Become a Pro
speakerdeck
PRO
11
4.5k
We Have a Design System, Now What?
morganepeng
43
6.8k
Designing for Performance
lara
601
67k
Product Roadmaps are Hard
iamctodd
44
9.7k
Visualization
eitanlees
136
14k
KATA
mclloyd
15
12k
Unsuck your backbone
ammeep
663
57k
Bash Introduction
62gerente
604
210k
Automating Front-end Workflow
addyosmani
1356
200k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
241
1.2M
In The Pink: A Labor of Love
frogandcode
138
21k
Transcript
© KAUCHE, Inc. Jetpack Compose 化をしてリリースしたらお問い合わせを増やしてしまった話
© KAUCHE, Inc. 自己紹介 - 2022 年 7 月に正社員で入社(Android 2
人目) - Android メインだけど最近バックエンドにも手を出したり - 直近 - モジュール構成の見直しをしたり - もうすぐリリース予定の新機能の実装をしたり - 検索のフィルターを作ったりしました(今日はここのお話)
© KAUCHE, Inc. 検索機能について カウシェについては sintario さんが説明してくれたので割愛。 アプリのアーキテクチャは Google が出している推奨アーキテクチャに似たものです
© KAUCHE, Inc. 検索機能について(〜 2022/08/31, v1.42.0 まで) 検索ワードを入れて検索ができるシンプルな もの、v1.41.0 で
Jetpack Compose 化
© KAUCHE, Inc. 検索機能について( 2022/09/01, v1.43.0〜) フィルターとソートをできるように
© KAUCHE, Inc. Jetpack Compose 化した手順 1. すぐ旧実装に戻せるように Feature Flag
を仕込んでコントロールできるようにする 2. 初見画面だったのでまずはわかりやすい見た目から実装していく 3. テキスト入力時の挙動が複雑だったので触りつつロジックを実装 4. 完成 ※ 旧実装と新実装を共存させており、近々消す実装も多かったのでテストを書かない判断をしました。 ここも改善ポイントだったかもしれない
© KAUCHE, Inc. リリース後 - 特に目立ったクラッシュはなさそう - TextField 長押しして範囲選択したら落ちる、という Jetpack
Compose の不具合によるものはあったが Feature Flag の切り替え処理を消して古い実装の削除に着手予定、、でした
© KAUCHE, Inc. ここで QA チームから連絡が
© KAUCHE, Inc. しくじり
© KAUCHE, Inc. しくじり、つまりこういうこと 「炭酸水」というワードで検索したい ↓ 変換するために「た」から入れる ↓ 検索が走りテキストも確定されてしまって変換できない ↓
😇
© KAUCHE, Inc. その後のプロダクトチームでの対応 - Feature Flag を切り替えて古い実装を参照するようにして hotfix -
事象の修正対応をして改めてリリースし、無事解決
© KAUCHE, Inc. その後 QA チームと議論し対策したこと - 工数を広げすぎずに今回の事例をどう防げたか?で考えて対策すべき - 1、2
個テストケースを追加すれば Try できそう ↓ TextField 周りはたくさんの観点があるが、全角ローマ字入力モードのテストは必ず見ておく
© KAUCHE, Inc. 学び 機能要件を満たせているかの QA も大事だが、 操作性が悪くなっていないかなどの観点でも QA をすべき
© KAUCHE, Inc. 今後より強固にするためにどうするといいか試行錯誤中 - UI テストを書く? - これからどんどん機能追加がされていくので コスパが悪そう
- ひとまずユニットテストは書く - 実はこの画面は 1 Screen でできている ので入力画面と検索画面分けても良さ そう
© KAUCHE, Inc. まとめ - 検索のフィルター機能を実装するにあたり、Jetpack Compose 化したときのしくじりをお話しました - 実際にカウシェで行った対策と今後の展望についてお話しました
- 今後行っていきたい恒久対応についてお話しました - もし、うちだとこうしてるよ!みたいな事例があったら教えて下さい