← 블로그 · Projects
SnapMate를 돌아보며: 사진 한 장의 완료 시점은 언제일까
#회고 #SnapMate #Expo #미디어
유주환 · Founder, Full Stack Developer
토리스(Toris) · 발행
프로젝트를 돌아보는 30일 · 23/30
과거 프로젝트 경험을 날짜별로 엮은 회고입니다. 표시 날짜는 연재 기준일이며, 실제 작업일과 다를 수 있습니다.
SnapMate는 촬영한 사진을 친구와 가족의 그룹별 갤러리로 연결하는 앱이다. Expo와 React Native로 모바일 화면을 만들고 미디어 흐름을 다룬 경험을 돌아보면, 사용자가 보는 한 번의 공유 동작 안에 여러 단계가 들어 있었다.
로컬 미리보기와 공유 완료의 차이
사진을 선택하자마자 화면에 미리보기가 보일 수 있다. 하지만 이것만으로 다른 그룹원이 사진을 볼 수 있는 것은 아니다. 파일 전송, 게시 정보 저장, 그룹 갤러리 반영이 이어져야 한다. 이 단계를 모두 같은 “완료”로 표현하면 실패했을 때 어디서 멈췄는지 알기 어렵다.
실제 프로젝트를 통해 사진 공유는 파일을 저장하는 기능과 그룹 안에 게시하는 기능이 만나는 지점이라는 생각을 하게 됐다. 파일의 존재와 사용자가 볼 수 있는 게시물의 존재가 항상 동시에 성립하지는 않는다.
다시 설계할 때 드러내고 싶은 상태
지금이라면 준비 중, 전송 중, 게시 처리 중, 완료, 재시도 필요를 사용자에게 필요한 수준으로 구분하겠다. 내부 단계를 전부 보여 주겠다는 뜻은 아니다. 화면을 떠나도 되는지, 다시 누르면 중복되는지 판단할 수 있는 정보가 필요하다는 뜻이다.
부분 실패도 생각해야 한다. 파일은 올라갔는데 게시 정보가 저장되지 않은 경우와 파일 자체가 올라가지 않은 경우는 재시도 방법이 다르다. 다음 점검에서는 같은 사진이 두 번 게시되지 않는지, 게시되지 않은 파일이 어떻게 정리되는지를 우선 확인하겠다.
그룹이라는 경계
사진이 올바른 그룹에 연결되는지도 중요하다. 개인 기기에서는 내 사진이지만 공유 이후에는 다른 구성원이 보게 된다. 지금 검증한다면 그룹을 바꾼 직후 업로드할 때 대상이 맞는지, 오래 열어 둔 화면에서도 현재 공유 권한이 유효한지 살펴보겠다. 썸네일이 뜬다는 것만으로 검증을 마칠 수 없다.
SnapMate 경험에서 남은 기준은 업로드 버튼의 응답을 성공 기준으로 삼지 않는 것이다. 상대 그룹원 관점에서 사진이 올바르게 보이는 시점까지가 공유 기능의 흐름이다. 앞으로 미디어 기능을 만들 때는 화면이 먼저 성공을 약속하지 않도록 상태 표현부터 살펴보겠다.
관련 프로젝트: SnapMate
READERS / LIVE