그리다꿈

여름브리핑 제작기 · EP.02

앱인토스 출시까지, 여름브리핑을 여러 번 고쳤다

앱인토스 출시를 준비하며 여름브리핑의 화면과 공공데이터 연결을 여러 번 고쳤다. 날씨와 요금계산기부터 만들고, 물놀이 정보를 더하며 생긴 문제를 정리했다.

2026-10-14 · 글 소유리

7월 18일, 여름브리핑의 기획 문서를 작성하고 화면과 요금 계산 기능을 만들기 시작했다. 앱인토스에 출시하려면 화면을 만드는 것과 함께, 그 화면에 보여줄 데이터도 연결해야 했다. 지역을 고르면 날씨 데이터가 들어와야 하고, 에어컨 요금계산기는 입력한 사용 조건에 맞는 예상 요금을 보여줘야 했다. 지역 선택과 오늘의 브리핑, 요금계산기를 먼저 구현한 뒤 실행해보며 화면과 데이터 연결을 고쳤다.

완성된 날씨 카드는 보관하고 불완전한 새 카드는 따로 확인하는 모습을 표현한 삽화.

데이터가 비거나 늦게 올 때

날씨 정보는 기상청을 비롯한 여러 공공데이터 제공처에서 가져왔다. 정보를 요청하는 주소와 응답 방식이 제각각이어서, 앱과 제공처 사이에 정보를 모아 전달하는 중간 서버를 뒀다. 이 서버에는 마지막으로 정상적으로 받은 정보를 잠시 저장해두고 다시 보여주는 기능도 넣었다. 앱을 열 때마다 모든 데이터를 새로 받아올 때까지 기다리지 않게 하려는 선택이었다. 새 데이터를 받지 못할 때는 이전 데이터의 기준 시각을 표시하고, 다시 요청할 수 있게 했다. 이전에 받은 값도 없으면 임의의 숫자를 채우지 않고 정보를 확인할 수 없다는 안내를 보여줬다.

자외선 지수를 요청하던 기상청 주소에서는 오류가 났다. 처음에는 인증 문제를 의심했고, 우선 다른 공개 자료로 자외선 값을 보완했다. 이후 확인한 원인은 기상청이 데이터를 제공하는 API의 버전 변경이었다. API는 다른 서비스에 데이터를 요청하는 연결 방식이다. 인증키를 바꾸는 대신 새 버전의 주소로 연결을 고쳐야 했다. 오류가 났다는 사실만으로는 무엇을 고칠지 정할 수 없었다.

저장해둔 데이터를 다시 보여주는 방식도 손봤다. 처음에는 서버의 데이터센터마다 따로 저장하다 보니, 한 곳에서는 바로 나오던 정보가 다른 곳에서는 새로 요청하느라 늦게 올 수 있었다. 그래서 주요 지역의 날씨 정보를 마지막으로 정상 수집한 상태로 저장하고, 여러 데이터센터에서 함께 꺼내 쓸 수 있게 했다. 이때 일부 카드만 채워진 응답이 기존의 완전한 응답을 덮어쓰지 않도록 했다. 더위와 자외선은 들어왔지만 다른 카드가 비었다면, 그 불완전한 응답을 정상 데이터로 저장하지 않는 것이다. ‘빨리 보여주기’와 ‘빠진 값을 정상값처럼 남기지 않기’를 함께 지켜야 했다.

작은 화면과 새로 더한 기능

데이터를 연결하는 동안 화면도 여러 번 손봤다. 작은 휴대폰에서 지역 이름과 날짜가 어떻게 보이는지, 정보 카드가 어떤 순서로 놓이는지, 요금계산기 입력칸을 누르기 편한지 확인했다. 생활지수 카드는 한때 한 행에 두 개씩 배치했다가 다시 하나씩 놓는 방식으로 바꿨다. 에어컨 사용 조건을 고르는 버튼은 줄바꿈과 여백을 정리했고, 계산기를 별도 입력 화면처럼 보이게 고쳤다. 기능은 같아도 배치를 고칠 때마다 화면에서 읽고 누르는 순서가 달라졌다.

초기 기능에 없던 물놀이 정보는 7월 20일에 추가하기로 했다. 해수욕장에 갈 때는 사는 지역의 날씨와 목적지의 상태가 다를 수 있다. 그래서 물놀이 화면에서는 별도로 해수욕장을 고르고, 수온과 수질, 해파리 정보를 확인하는 흐름을 만들었다. 사는 지역의 날씨와 물놀이 목적지의 상태를 나눠 볼 수 있게 한 것이다. 수온과 수질, 해파리 정보도 하나의 종합점수로 합치지 않고 각각 보여줬다.

해수욕장을 고르고 수온, 수질, 해파리 정보를 확인하는 물놀이 화면.

출시 준비와 이후의 수정

기능을 붙인 뒤에도 출시 준비는 이어졌다. 요금계산기에는 당시 적용되는 요금표를 다시 대조해 계산값을 고쳤고, 화면에는 예상 요금이 실제 청구액과 다를 수 있다는 안내를 뒀다. 앱 이름과 아이콘, 소개 문구, 작은 화면에서의 배치도 검토 대상이었다. 7월 21일 검토 요청 뒤에는 아이콘 관련 수정과 재배포를 거쳐 승인을 받았고, 7월 27일에는 토스 앱 검색에서 여름브리핑이 노출되는 것도 확인했다. 위의 물놀이 화면은 이렇게 출시를 준비하던 7월 당시의 캡처다.

출시 뒤 8월 말에는 물놀이 정보의 응답 지연도 확인했다. 느린 응답에 수온과 해파리 값은 있었지만 수질 값은 없었다. 당시에는 수질 조회 과정이 전체 응답을 늦추는 것으로 추정했다. 먼저 항목별 소요 시간을 측정해 원인을 확인하고, 이미 받은 정보는 먼저 보여주면서 수질은 따로 처리하는 방안을 검토하기로 했다. 오래된 수질 값을 최신처럼 보여주거나, 확인하지 못한 상태를 적합하다고 표시해서는 안 된다는 기준도 함께 적었다.

날씨와 요금계산기로 시작한 앱에 물놀이 정보를 더하고, 작은 화면에서 읽는 순서와 데이터를 가져오는 방식도 고쳤다. 그렇게 앱인토스에 출시했지만, 이후에도 수질 정보의 응답 지연처럼 손볼 부분은 남아 있었다. 정상적으로 받은 정보는 지키고, 확인하지 못한 값은 구분해서 보여준다. 오늘의 상태를 빠르게 확인하는 앱인 만큼, 속도를 높이면서도 어떤 정보가 확인됐고 어떤 정보가 아직 확인되지 않았는지 알 수 있게 해야 했다. 출시 뒤에 남은 응답 지연도 이 기준에 맞춰 개선할 일이었다.

#앱인토스 출시 #공공데이터 #여름브리핑 #미니앱 개발 #물놀이 정보

← 이전 화 · 앱인토스에 미니앱을 직접 만들어보기로 했다
다음 화 → · 앱인토스 마케팅, 오래 머무는 시간보다 재방문을 보기로 했다