Josh는 인도에서 제작된 짧은 동영상 앱으로 2020년 8월에 출시되었습니다. 또한 MAU가 1억 2,400만 명이 넘고 DAU가 6,000만 명에 달하는 인도에서 가장 빠르게 성장하는 짧은 동영상 앱 중 하나입니다.
다양한 기기 (하이, 미드, 로우 엔드)에 맞게 Josh를 최적화하고 모든 기기에서 표준 환경을 유지하는 것은 모든 앱 개발자에게 쉽지 않은 일이며, Josh의 개발자들은 처음부터 이를 이해했습니다. Android Vitals의 개선은 스프린트의 주요 과제였고 앱 시작 시간과 응답성을 개선하여 사용자 만족도를 높이는 것이 중요한 과제였습니다.
동영상은 사용자가 앱에서 참여하고 소비하는 주된 형식이므로 앱 응답성과 시작 시간도 중요했습니다. 동영상 스트림에서 끊어지거나 다양한 상호작용 중에 중단되면 사용자가 관심을 잃고 앱을 종료하는 결과로 이어질 수 있었습니다.
앱 시작 시간 성능에 투자함으로써 Josh는 평균 사용자의 앱 시작 시간을 30% 개선하고 구형 및 저사양 기기 약 10% 사용자의 경우 3배 더 빨라졌습니다.
과제
Josh 앱은 1년도 안 되는 기간에 MAU 1억 명 이상으로 빠른 성장세를 보였습니다. 제품 중심 또는 이벤트 주도 기능을 내놓기 위한 경쟁에서 앱 최적화가 뒷전으로 밀려나는 경우가 많습니다. Google의 앱 감사와 구조적 피드백 덕분에 조기에 이러한 문제를 파악하고 해결할 수 있는 방안을 마련할 수 있었습니다.
실험 방식
Android vitals를 모니터링하는 과정에서 앱 시작을 개선할 수 있는 기회를 발견했습니다. 팀은 콜드 스타트 시간을 개선하는 데 우선순위를 두기로 했습니다. 이렇게 하면 웜 스타트 시간과 핫 스타트 시간이 자동으로 개선되기 때문입니다.
팀은 여러 맞춤 트레이스, systrace, Android 스튜디오 프로파일러, Perfetto를 사용하여 광범위한 조사를 수행하고 병목 현상을 식별할 수 있었습니다. Application 클래스의 onCreate 및 기타 동기 메서드에 소요되는 시간을 최적화할 수 있다는 점이 분명했습니다.
팀이 구체적으로 한 일은 다음과 같습니다.
- 앱 시작 중에 실행되는 모든 코드 블록을 프로파일링합니다.
- Perfetto, Systrace, Dumpsys 등과 같은 Android 성능 도구를 사용하여 시스템 트레이스를 분석했습니다.
- 앱 시작 중에 서드 파티 SDK가 미치는 영향을 조사했으며 일부 서드 파티 SDK의 자동 시작이 사용 중지되었습니다.
- 제거된 기존 라이브러리
- 일부 모듈이 지연되고 백그라운드에서 실행됨
- 시작 시 스플래시 화면에 사용되는 드로어블의 크기를 줄이고 화면 크기에 최적화했습니다.
위의 모든 요소는 개별적인 테스트를 통해 앱에 미치는 긍정적인 영향을 확인하고, 콜드 스타트를 에뮬레이션하고, 새로운 Jetpack Macrobenchmark 라이브러리를 통합하여 철저하게 검증되었습니다.
결과
이러한 변화는 모든 측정항목이 즉각적으로 개선되었을 뿐만 아니라 전반적인 사용자 경험 향상에 도움이 되었으며 Josh의 개발팀은 귀중한 교훈을 얻었습니다.
- 이탈률과 유지율을 개선한 결과 Josh는 기존에 비해 100만 명 이상의 사용자를 유지할 수 있었습니다. 이 두 가지 측정항목에 초점을 맞춘 결과 전반적인 앱 내 참여도도 향상되었습니다.
- Play 스토어 평점은 상승하는 긍정적인 추세를 보였습니다. 앱 출시 후 앱 시작이 개선되었습니다.
- 앱 시작 시간이 평균 사용자의 경우 30% 개선되고 구형 및 저사양 기기 사용자 약 10% 의 경우 3배 더 빨라짐, 그 결과 이러한 사용자의 앱 응답성을 크게 개선하는 데 도움이 되었습니다.
무엇보다도 이러한 Android Vitals 개선을 통해 팀 전체가 힘을 합쳐 팀, 특히 주니어 멤버의 동기가 커졌습니다. 그 결과, Vitals의 중요성이 더욱 커지고 팀이 다른 앱에서 배운 내용 중 일부를 사용하게 되었습니다.
“생태계에 속한 파트너가 한데 모일 때 생태계도 함께 성장합니다. 데이터와 분석의 기능은 그 어느 때보다도 강력합니다. YouTube는 크리에이터 중심의 콘텐츠 지향적이고 소비자에 초점을 맞춘 플랫폼으로서 앱의 안정성에 크게 좌우되는 최고의 사용자 경험을 만드는 데 항상 주력해 왔습니다. Josh는 출시 직후 빠른 성장세를 목격했습니다. Google Play팀과 긴밀히 협력한 덕분에 앱 안정성 및 최적화와 같은 문제를 조기에 식별하고 해결할 수 있었습니다. Google과의 협력을 통해 안정성을 개선하고 사용자 유지율과 참여도를 높일 수 있었습니다."
– 샤일렌드라 샤르마, VerSe Innovation 제품 및 엔지니어링 부문 SVP