LinkedIn노트데이터와 판단

스레드 iOS 앱 성능 측정 방법 (출처: Meta 엔지니어링 블로그) 1.

스레드 iOS 앱 성능 기준의 대전제는 최고의 사용자 경험을 제공하는 것. 이를 위해 앱이 빠르고 뛰어나야 하며 다음과 같은 성능 측정 지표를 선정하여 사용 중. 2. %FIRE (Frustrating Image-Render Experience): 짜증스러운 이미지 렌더링 경험의 비율. 화...

LinkedIn
2024년 12월 25일
읽는 시간
5
언어
한국어
데이터와 판단2024년 12월 25일한국어

스레드 iOS 앱 성능 측정 방법 (출처: Meta 엔지니어링 블로그)

  1. 스레드 iOS 앱 성능 기준의 대전제는 최고의 사용자 경험을 제공하는 것. 이를 위해 앱이 빠르고 뛰어나야 하며 다음과 같은 성능 측정 지표를 선정하여 사용 중.

  2. %FIRE (Frustrating Image-Render Experience): 짜증스러운 이미지 렌더링 경험의 비율. 화면에 이미지가 떠야할 때 1초 이상 걸리거나 사용자가 기다리지 못하고 떠난 경우를 느린 로드로 간주하고 이 비율이 전체 이미지 중 15% 이상이면 문제가 심각하다고 판단.

  3. TTNC (Time-To-Network Content): 앱이 시작된 후 피드를 로드하는데 걸리는 시간. 사용자가 로딩 화면이나 스피너를 너무 오래 봐야 한다면 앱을 닫아버림. 이를 개선하기 위해 스레드 앱의 크기를 줄이는 작업을 하여 현재 인스타그램 대비 1/4 수준. 개발시 앱 크기가 커지려고 하면 경고가 뜨도록 함.

  4. cPSR(Creation-Publish Success Rate): 사용자가 텍스트, 사진, 동영상을 게시하려고 할 때 성공률. 특히 사진과 동영상은 업로드 시간이 길고 데이터 사용량이 많아 실패 가능성이 높고 앱을 백그라운드로 전환하면 업로드가 중단될 수도 있음. 이를 해결하기 위해 다양한 전략이 도입.

  • 초안(Drafts) 저장: 업로드가 실패하더라도 게시물을 잃지 않도록. 도입 후 게시 관련 사용자 불만 보고 26% 감소. 업로드 하려다가 게시물을 잃으면 사용자는 큰 좌절감을 느낌.

  • Optimistic 텍스트 게시(Blazing fast text posts): 게시 요청을 백엔드가 모두 처리하고 응답을 주도록 했으나 이제 백엔드가 게시 요청을 받는 즉시 게시되었다는 토스트를 띄움. 이후 처리에 실패하면 콜백을 받도록. 일단 요청이 수신되면 성공 가능성이 매우 높기에.

  1. 탐색 지연 시간 (Navigation latency): 앱 시작 후 사용자가 특정 화면으로 이동할 때 콘텐츠가 렌더링되는 데 걸리는 시간을 측정.
  • 프로필, 활동 피드 등 특정 화면으로 이동할 때 의도적으로 지원 시간을 추가하여 사용자의 반응을 보는 경계 테스트를 수행했음. 결과적으로 iOS 사용자는 지연 시간에 민감하며 길어질수록 게시물도 덜 읽고, 덜 게시하며, 앱과의 상호작용이 줄어듦.

  • SLATE라는 탐색 지연 시간을 자동으로 측정하는 툴을 개발하여 사용 중. 개발자가 성능 마커를 설정하지 않아도 공통 컴포넌트를 사용하는 한 자동으로 데이터를 수집하여 성능을 분석함.

  • GraphQL을 사용. 네트워크 데이터 전송량을 줄이는 데 효과적이며 새로운 기능 개발을 단순화. 팔로워 목록 화면에서 GraphQL과 REST를 테스트한 결과 유사한 성능을 보임. 이 역시 SLATE로 검증함.

  1. 앞으로 스레드 서비스에 새로운 기능들을 추가하면서도 이런 성능 지표들을 지속적으로 모니터링하여 사용자 경험이 저하되지 않도록 할 것임.

LinkedIn attachment 1