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
50
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
880
matching_dev1
bird_tummy
0
240
dxel1
bird_tummy
0
3.5k
GraphQL in production
bird_tummy
3
3.3k
livedata-plus-viewmodel
bird_tummy
0
3.5k
何も準備せずにノリで上海に行ったら大変だった話 / shanghai-is-wonderful
bird_tummy
0
370
AutoLayout と友達になる方法 / How to be friends with AutoLayout
bird_tummy
1
3k
初めて転職して思ったこと / ngineerxiv11
bird_tummy
0
330
"DO NOT translate when you talk or listen" を実現するためにやっていること / clem6
bird_tummy
2
150
Featured
See All Featured
Statistics for Hackers
jakevdp
796
220k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.3k
Into the Great Unknown - MozCon
thekraken
33
1.5k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
48k
StorybookのUI Testing Handbookを読んだ
zakiyama
27
5.3k
Bash Introduction
62gerente
608
210k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
26
1.5k
Visualization
eitanlees
146
15k
Large-scale JavaScript Application Architecture
addyosmani
510
110k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
47
5.1k
Building Better People: How to give real-time feedback that sticks.
wjessup
365
19k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
6
520
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 化したときのしくじりをお話しました - 実際にカウシェで行った対策と今後の展望についてお話しました
- 今後行っていきたい恒久対応についてお話しました - もし、うちだとこうしてるよ!みたいな事例があったら教えて下さい