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
A Philosophy of Restraint
colly
203
16k
Build your cross-platform service in a week with App Engine
jlugia
229
18k
Music & Morning Musume
bryan
46
6.2k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
47
5.1k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
2
170
Mobile First: as difficult as doing things right
swwweet
222
9k
The Straight Up "How To Draw Better" Workshop
denniskardys
232
140k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
28
4.4k
Facilitating Awesome Meetings
lara
50
6.1k
Statistics for Hackers
jakevdp
796
220k
Rails Girls Zürich Keynote
gr2m
94
13k
The World Runs on Bad Software
bkeepers
PRO
65
11k
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 化したときのしくじりをお話しました - 実際にカウシェで行った対策と今後の展望についてお話しました
- 今後行っていきたい恒久対応についてお話しました - もし、うちだとこうしてるよ!みたいな事例があったら教えて下さい