개인 프로젝트를 개선하는 과정에서 가장 신경 쓰였던 부분은 웹 브라우저의 위치 정보 권한 요청이었다. 모바일 앱과 달리 웹 브라우저에서는 위치 정보 권한을 지속적으로 요청하게 되는데, 이는 사용자 경험을 저해하는 요소였다. 당시에는 이를 대체할 만한 해결책을 찾지 못했었다.
그러던 중 Cursor를 사용하면서 우연히 알게 된 API를 통해 위치 정보 권한 요청을 대체할 수 있었고, 이를 통해 서비스의 사용성을 크게 개선할 수 있었다.
IP기반 API
네이버 지도를 사용하던 중 문득 GPS가 없는 데스크톱 환경에서는 어떻게 위치 정보를 획득하는지 궁금증이 생겼다. 현재 위치 찾기 기능을 테스트해 보니 정확한 위치가 아닌 대략적인 위치만 표시되었는데, 이는 IP 주소를 기반으로 위치를 추정하는 방식이었다. Cursor를 통한 추가 리서치 끝에 IP 기반으로 위치 정보를 제공하는 API들을 발견할 수 있었다.
정확한 위치가 필수적인 배달 서비스와 달리, 날씨 정보를 제공하는 서비스의 경우 대략적인 위치 정보만으로도 충분히 기능을 구현할 수 있다. 기존에는 모바일 환경까지 고려하여 Geolocation API를 통해 정확한 위도와 경도를 요청했지만, 모바일과 데스크톱 모두의 사용성을 고려했을 때 IP 기반 API를 활용하는 것이 더 효율적이라고 판단했다.
API 구조
이 API에서 제공하는 주요 정보는 다음과 같다:
- 도시
- 행정 구역
- 대륙 코드
- 우편 번호
- 위도와 경도
- 타임존 및 기준시 차이
- 국가 통신 코드
- 화폐 단위
- 언어
- 국가 면적 및 인구
- 통신사
마무리
이번 개선을 통해 웹 브라우저에서 반복적으로 발생하던 위치 정보 권한 요청 문제를 해결하고, IP 기반 API를 도입함으로써 서비스의 사용성을 크게 향상시킬 수 있었다.
평소에도 프로덕트 디자인 과정에서 사용되는 API들을 검토하며 디자인과 사용성을 개선하는 작업을 즐겨왔다. 이번에는 새로운 API를 발견하고 적용하면서 프로세스와 사용성 모두를 개선할 수 있어 특별한 보람을 느꼈다.
'개발 및 퍼블리싱 > Web' 카테고리의 다른 글
디자이너의 Cursor 사용기 (0) | 2025.01.20 |
---|---|
TailwindCSS 얼마나 많이 쓸까? (0) | 2025.01.17 |
Scroll Frames 라이브러리 사용기 (1) | 2025.01.11 |
TailwindCSS 스타일 컬러 팔레트 (0) | 2025.01.06 |