오늘 CatchPro 업데이트는 운행 중 손 조작을 줄이는 쪽에 집중했다. 자동확정의 핵심은 여전히 오더리스트에서 빠르게 상세로 들어가고, 상세화면에서 조건이 맞으면 빠르게 확정하는 것이다. 오늘 붙인 기능들은 이 기본 흐름을 방해하지 않는 선에서, 여러 오더를 잡았을 때 짧은 시간 안에 더 효율적으로 배송할 수 있도록 주소 확인, 방문 순서 판단, 네비 연결을 안정적으로 만드는 방향으로 정리했다.
오늘 업데이트 범위
- TMAP 연결 탭 개편
- 네이버 지도 추가
- 네이버 Maps API 적용
- 전국 도착지 선택 개선
- AWS 주소 동기화 복구
- 오더리스트 자동상세확정 개선
이번 작업의 기준은 하나였다. 운행 중 오더를 잡는 속도를 늦추지 않는 것. 지도, 주소, 동기화 기능은 편의 기능처럼 보이지만 실제 목적은 여러 오더를 수행할 때 배송 순서를 빠르게 판단하고, 불필요한 이동을 줄이는 것이다. 다만 자동상세진입과 자동확정 경로는 최대한 가볍게 유지해야 한다.
TMAP 연결 탭 개편
TMAP 연결 탭은 더 이상 단순한 주소 붙여넣기 화면이 아니다. 오늘 구조를 바꾸면서 운행 중 확인해야 할 주소와 네비 실행을 한 화면에서 처리하는 쪽으로 정리했다. 특히 여러 오더를 동시에 들고 있을 때, 주소를 따로 메모하거나 네비 앱을 오가며 확인하는 시간을 줄이는 것이 핵심 목적이다.
- 주소 입력/저장 칸을 6개로 늘렸다.
- 상차지와 하차지를 억지로 구분하지 않고, 인성앱이나 지도앱에서 확인된 주소가 들어오는 순서대로 저장하도록 정리했다.
- 각 주소마다 네이버 내비와 TMAP 실행을 선택할 수 있게 했다.
- 기존 설명 문구 영역을 줄이고, 상단에 지도를 크게 배치하는 방향으로 바꿨다.
이렇게 바꾼 이유는 실제 운행 흐름 때문이다. 운행 중에는 주소가 “A 상차지인지 B 하차지인지”를 앱이 완벽하게 추론하는 것보다, 확인된 주소를 빠르게 저장하고 바로 네비로 연결하는 것이 더 중요하다. 그래서 주소 슬롯은 의미를 고정하기보다, 화면에서 확인된 순서대로 쌓는 구조가 더 실용적이다.
네이버 지도 추가
TMAP 연결 탭에는 네이버 지도를 추가했다. 목적은 지도 자체를 보는 것이 아니라, 현재 위치와 저장된 주소들이 어떤 순서로 가까운지 운행 중 바로 확인하는 것이다. 여러 오더를 잡았을 때 가장 먼저 가야 할 곳과 그다음 이동할 곳을 한눈에 판단해서, 짧은 시간 안에 배송 효율을 높이기 위한 기능이다.
- 현위치는 파란색 마커로 표시한다.
- 저장된 주소지는 다른 색의 풍선형 마커로 표시한다.
- 방문순서는 크게 보이도록 표시한다.
- 현위치와 주소지가 겹쳐 보이지 않도록 마커 표현을 분리했다.
- 지도 확대/축소 반응이 둔하지 않도록 터치 조작 영역과 지도 배치를 조정했다.
핵심은 “지도를 예쁘게 넣는 것”이 아니라, 현재 위치에서 어느 주소부터 가는 것이 자연스러운지 빠르게 판단하는 것이다. 운행 중에는 작은 글씨보다 큰 방문순서 표시가 더 중요하다.
네이버 Maps API 적용
주소 좌표와 예상 이동시간은 앱 내부 추정값이 아니라 네이버 Maps API를 기준으로 계산하도록 방향을 잡았다. 주소를 좌표로 바꾸는 작업은 Geocoding을 사용하고, 주소 간 주행거리와 예상시간은 Directions 결과를 사용한다. 이 기능의 목적은 거리 숫자를 보여주는 데서 끝나지 않는다. 여러 배송지를 들고 있을 때 어느 순서로 가야 전체 배송 시간이 짧아지는지 빠르게 판단하는 데 있다.
오늘 구조에서는 주소가 여러 개 있을 때 현재 위치에서 가장 가까운 주소를 먼저 찾고, 그다음에는 방금 선택된 주소를 기준으로 다시 가장 가까운 다음 주소를 찾는다. 즉 단순히 현위치에서 1번, 2번, 3번을 각각 따로 비교하는 것이 아니라, 실제 방문 흐름처럼 순서를 이어서 계산한다.
- 현위치 → 가장 가까운 주소
- 첫 번째 방문지 → 다음으로 가까운 주소
- 두 번째 방문지 → 다음 주소
- 각 구간별 거리와 예상시간 표시
이 방식은 완전한 물류 최적화 알고리즘은 아니지만, 운행 중 빠르게 판단하기에는 충분히 직관적이다. 중요한 점은 예상시간을 앱이 대충 계산하지 않고, 네이버 API 결과를 기준으로 표시하는 방향으로 바꾼 것이다.
전국 도착지 선택 개선
오더조건 탭의 전국 도착지 선택도 실제 사용 흐름에 맞춰 바꿨다. 서울과 경기권은 단순히 큰 지역만 고르는 것으로는 부족하다. 같은 시나 구 안에서도 실제 운행 거리가 크게 달라질 수 있기 때문이다.
- 서울은 구 아래 동까지 선택할 수 있게 했다.
- 경기도는 시 아래 동/읍/면까지 선택할 수 있게 했다.
- 동 선택 화면에서 검색 기능을 추가했다.
- 동 이름뿐 아니라 구 이름으로도 검색할 수 있게 했다.
- 뒤로 가기 흐름을 넣어, 한 지역을 고른 뒤 다른 시/구도 추가로 선택할 수 있게 했다.
이 개선은 자동확정 속도와도 연결된다. 도착지 조건을 더 정확하게 잡아두면 상세화면에 들어갔을 때 판단이 단순해진다. 조건은 복잡해 보일 수 있지만, 실제 확정 시점에서는 선택된 도착지와 요금 조건만 빠르게 확인하는 구조가 유지된다.
AWS 주소 동기화 복구
AWS 주소 동기화도 다시 살렸다. 한 대는 인성앱을 보고, 다른 한 대는 네비를 보는 운영 방식에서는 주소 동기화가 필요해질 수 있다.
다만 AWS 동기화는 자동확정의 핵심 경로에 끼워 넣지 않는다. 주소가 저장되면 동기화가 따라가는 구조이지, 오더리스트 상세진입이나 확정 버튼 클릭을 기다리게 만드는 구조가 아니다.
- TMAP 연결 탭에서 AWS 실시간 주소 동기화를 켜고 끌 수 있다.
- 같은 방 코드의 다른 휴대폰으로 주소 슬롯이 전달된다.
- 동기화 실패나 재연결 상태는 운행 후 원인 분석이 가능하도록 로그에 남기는 방향을 유지한다.
즉 AWS 동기화는 보조 기능이다. 핵심 기능인 오더 확정 속도를 건드리지 않으면서, 두 대의 휴대폰을 쓰는 운행 환경을 지원하는 역할이다.
오더리스트 자동상세확정 개선
오늘 업데이트에서 가장 중요한 기본 기능은 여전히 오더리스트 자동상세확정이다. 인성앱 오더리스트에 오더가 뜨면 CatchPro가 상세화면으로 들어가고, 상세화면에서 도착지 조건과 요금 조건이 맞으면 확정 버튼을 누르는 흐름이다.
최근 운행 로그에서 계속 확인한 문제는 “자동상세확정이 켜져 있는데 상세 진입이 늦거나 안 되는 순간”이었다. 그래서 상단 리스트와 하단 리스트를 모두 대상으로 보고, 접근성 노드 클릭과 실제 좌표탭 보조 전략을 함께 가져가는 방향으로 정리했다.
- 상단/하단 오더리스트를 동일하게 클릭 후보로 본다.
- 접근성 클릭이 성공으로 반환돼도 상세가 열리지 않으면 빠르게 보조 좌표탭을 시도한다.
- 한 후보에 오래 묶이지 않고 다음 후보를 재탐색한다.
- 자동상세확정 관련 로그는 리스트 클릭과 확정 버튼 클릭 중심으로 줄여 속도 부담을 낮춘다.
- 이전 날짜 로그는 정리해 DB가 커지는 문제를 줄인다.
이 변경은 기능을 많이 붙이는 작업이 아니다. 오더가 잠깐 떴다가 사라지는 현장에서는 1초도 길다. 그래서 자동상세확정은 앞으로도 가장 먼저 보호해야 할 기본 기능이다.
속도에 영향 주지 않는 구조
오늘 붙인 네이버 지도, 네이버 API, AWS 동기화는 모두 편의 기능이다. 반대로 오더리스트 자동상세확정과 상세화면 자동확정은 매출과 직접 연결되는 핵심 기능이다.
그래서 구조상 무거운 작업은 TMAP 연결 탭이나 주소 확인 화면 쪽으로 보내고, 인성앱 오더리스트에서 상세로 들어가는 경로는 최대한 가볍게 유지하는 것이 중요하다.
정리하면 오늘 업데이트의 방향은 이렇다.
- 오더를 잡는 경로는 더 빠르게
- 주소 확인과 네비 연결은 더 편하게
- 지도와 API는 운행 판단 보조로
- AWS 동기화는 두 폰 운영 보조로
- 로그는 원인 분석에 필요한 것만 남기기
다음 운행에서 볼 것
다음 운행 후에는 자동상세확정이 실제로 더 빠르게 상세로 들어가는지, 네이버 지도에서 방문순서와 예상시간이 운행 판단에 도움이 되는지, AWS 주소 동기화가 두 폰 운영에서 부담 없이 작동하는지를 확인해야 한다.
CatchPro의 목표는 기능이 많은 앱이 아니다. 꼭 필요한 오더를 빠르게 잡아서 시간당 매출 3만원 이상을 안정적으로 만드는 앱이다. 오늘 업데이트도 그 기준에서 보면, 화면을 늘린 작업이 아니라 운행 중 판단과 조작을 줄이기 위한 정리 작업이다.