소개
•
Tving 오리지널 예능 “더 타임 호텔” 촬영을 위해 제작한 시간 관리 서비스입니다.
•
각 참가자의 소유 시간 양이 곧 화폐이자 목숨이고, 이를 사용, 감소, 획득, 차감, 저축하며 진행합니다.
•
관리자 웹, 참가자 안드로이드 워치 앱, NPC용 안드로이드 앱, 백엔드로 구성되어 있습니다.
관리자 웹 화면
진행 업무
요구사항에 따른 기능 정의
•
생존을 위한 최소한의 시간을 제외하고 참가자가 화폐로써 사용할 수 있는 여유 금액을 알 수 있어야 했습니다.
◦
“생존 마감 시점”을 유동적으로 설정할 수 있고 이를 참가자가 가진 시간의 총량에서 빼서 보여주도록 했습니다.
•
참가자의 시간을 직접 텍스트를 수정하는 방식으로 수정하는 기능을 요구했습니다.
◦
시간이란 도메인 특성상 지속해서 값이 바뀌고 있어 해당 기획을 그대로 차용하는 것은 비효율적이라 고지했습니다.
◦
대신, 별도의 입력란에 증가 혹은 감소할 시간을 입력하고, 적용할 참가자를 선택하여 적용 버튼을 누르는 기능을 제안했고, 채택되었습니다.
•
참가자들이 워치 사용에 익숙하지 않아서 시, 분, 초 값 변경을 테두리 다이얼로 수정하는 것을 어려워했습니다.
◦
각 값을 상하 슬라이드 하여 변경하도록 수정했습니다.
업무 및 일정 조율
•
관리자 웹 내 참가자 그리드를 드래그하여 순서를 변경하는 추가 기능을 요청했습니다.
◦
생존자와 탈락자 구분을 위해 강력하게 요청하셨기 때문에 기존 기능 중 우선순위가 낮은 기능과 대체하여 일정을 변경하였습니다.
•
전 모든 유저가 가진 잔여 시간이 변경되지 않는 상태인 “정지” 상태와 “진행” 상태로 전환하는 추가 기능을 요청했습니다.
◦
“정지” 상태일 때 전 참가자의 잔량 시점 값에 매초에 1초씩 더하도록 개발 방향을 제안했고, 해당 사항이 최종적으로 선택되었습니다.
◦
기존 일정을 미리 소화한 후 충분한 테스트를 거칠 수 있도록 조율하였습니다.
이슈 사전 방지
•
사내 서비스 테스트 당시 와이파이가 불안정할 때 FCM이 수신되지 않거나 시간 변동이 반영되지 않는 등 기능이 누락되는 이슈가 간헐적으로 발생했습니다.
◦
워치를 셀룰러 버전으로 바꿀 것을 권유해 드렸고, 기능 누락건이 현저히 줄어들었습니다.
회고
•
촬영후 영상으로 제작할 때 정확한 타임라인이 필요했기에 데이터 변화에 대한 로그가 필요로 했습니다.
◦
하지만 Tving측에서 요구한 로그 이외에는 대비하지 못해서 실제 타임라인을 촬영자료로 추측하여 사용해야 했던 점이 아쉽습니다.
•
가진 시간을 양은 현재로부터 끝나는 시점을 저장하는 방식으로 구현했고, 해당 값이 변경될 때만 서버에서 FCM을 통해 알려주었기에 워치 배터리를 최대한 효율적으로 쓸 수 있던 것 같습니다.
•
Tving 측에서 없을 것이라고 신신당부 했지만 이후에 추가된 “부활”기능은 이미 지나간 시점만큼 시간을 더해 부활시켰던 점이 아쉽습니다.
◦
탈락한 참가자의 잔량 시점 값을 지우고, 부활 기능을 현재 시각에서 추가될 양만큼 더한 시점으로 설정하도록 만들었으면 좋았을 것 같습니다.