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
890
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
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
Practical Orchestrator
shlominoach
186
10k
Building Better People: How to give real-time feedback that sticks.
wjessup
366
19k
Large-scale JavaScript Application Architecture
addyosmani
510
110k
A better future with KSS
kneath
238
17k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
The Straight Up "How To Draw Better" Workshop
denniskardys
232
140k
Rails Girls Zürich Keynote
gr2m
94
13k
Building Your Own Lightsaber
phodgson
104
6.2k
jQuery: Nuts, Bolts and Bling
dougneiner
62
7.6k
Building a Scalable Design System with Sketch
lauravandoore
460
33k
YesSQL, Process and Tooling at Scale
rocio
170
14k
Learning to Love Humans: Emotional Interface Design
aarron
274
40k
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 化したときのしくじりをお話しました - 実際にカウシェで行った対策と今後の展望についてお話しました
- 今後行っていきたい恒久対応についてお話しました - もし、うちだとこうしてるよ!みたいな事例があったら教えて下さい