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
54
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
900
matching_dev1
bird_tummy
0
240
dxel1
bird_tummy
0
3.6k
GraphQL in production
bird_tummy
3
3.4k
livedata-plus-viewmodel
bird_tummy
0
3.5k
何も準備せずにノリで上海に行ったら大変だった話 / shanghai-is-wonderful
bird_tummy
0
380
AutoLayout と友達になる方法 / How to be friends with AutoLayout
bird_tummy
1
3k
初めて転職して思ったこと / ngineerxiv11
bird_tummy
0
340
"DO NOT translate when you talk or listen" を実現するためにやっていること / clem6
bird_tummy
2
150
Featured
See All Featured
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
33
2.8k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
248
1.3M
How GitHub (no longer) Works
holman
314
140k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
114
50k
Music & Morning Musume
bryan
46
6.4k
The MySQL Ecosystem @ GitHub 2015
samlambert
250
12k
Embracing the Ebb and Flow
colly
84
4.6k
Building Adaptive Systems
keathley
40
2.4k
Faster Mobile Websites
deanohume
306
31k
Designing for humans not robots
tammielis
250
25k
Producing Creativity
orderedlist
PRO
344
40k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
656
59k
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 化したときのしくじりをお話しました - 実際にカウシェで行った対策と今後の展望についてお話しました
- 今後行っていきたい恒久対応についてお話しました - もし、うちだとこうしてるよ!みたいな事例があったら教えて下さい