
데이터 없이도 길을 찾는 지도
해외여행 가서 로밍을 깜빡하고 안 켰다가 낯선 골목에서 우왕좌왕해본 경험, 다들 한 번쯤 있으시죠. 요즘은 대부분 구글 지도나 애플 지도에 기대는데, 이게 인터넷이 끊기면 순식간에 무용지물이 되거든요. 게다가 이런 상용 지도 앱들은 내가 어디를 갔는지, 뭘 검색했는지를 꾸준히 수집해가요. Organic Maps는 바로 이 두 가지 불편함, "오프라인에서 안 된다"와 "내 동선을 다 가져간다"를 한꺼번에 풀어보려고 나온 지도 앱이에요.
이게 뭐냐면, 지도 데이터를 미리 통째로 내 폰에 내려받아 두고, 인터넷 없이도 그 데이터로 길 안내를 해주는 앱이에요. 나라나 지역 단위로 지도 파일을 다운로드해두면, 비행기 모드에서도 현재 위치 찾기부터 목적지까지의 경로 안내까지 다 돌아가요. 등산로나 자전거길처럼 상용 지도가 잘 안 챙겨주는 길도 꽤 자세히 나오는 편이라, 백패킹이나 라이딩 하는 분들 사이에서 특히 인기가 많아요.
OpenStreetMap이라는 뿌리
Organic Maps의 지도 데이터는 OpenStreetMap(줄여서 OSM)에서 와요. OSM이 뭐냐면, 전 세계 자원봉사자들이 직접 도로랑 건물, 상점 정보를 그려 넣어서 만드는 "지도계의 위키백과" 같은 거예요. 누구나 편집할 수 있고, 데이터도 무료로 열려 있어요. 그래서 Organic Maps는 이 열린 데이터를 가져다가 폰에서 빠르게 돌아가도록 압축하고 최적화해서 담아요.
기술적으로 재미있는 지점은, 이 앱이 온라인 서버에 계속 물어보는 구조가 아니라는 거예요. 보통 구글 지도는 화면을 움직일 때마다 서버에서 타일(지도 조각 이미지)을 받아오거든요. 근데 Organic Maps는 벡터 데이터를 폰 안에 두고 그때그때 화면에 직접 그려요. 그러니까 지도를 확대하든 축소하든 서버 왕복이 없어서 빠르고, 데이터도 안 쓰고, 배터리도 덜 먹어요. 경로 탐색 알고리즘도 폰 안에서 직접 도니까 통신이 아예 필요 없고요.
Maps.me에서 갈라져 나온 사연
Organic Maps는 사실 Maps.me라는 앱에서 갈라져 나왔어요(개발 용어로 이걸 '포크'라고 해요. 원본 코드를 복사해서 다른 방향으로 발전시키는 거예요). 원래 Maps.me도 오프라인 지도로 유명했는데, 회사가 인수되면서 광고랑 계정 로그인, 데이터 수집 기능이 잔뜩 들어갔어요. 그러자 원래 개발자 몇 명이 "우리는 광고 없고 추적 없는 깨끗한 지도를 만들고 싶다"며 코드를 들고 나와서 만든 게 Organic Maps예요. 이름의 'Organic(유기농)'이 그런 지향을 담고 있는 거죠.
그래서 이 앱은 광고가 아예 없고, 회원가입도 안 받고, 위치 추적도 안 해요. 오픈소스라 소스코드가 전부 공개되어 있어서, 정말 추적을 안 하는지 누구나 코드를 열어서 확인할 수 있어요. 운영은 기부랑 후원으로 굴러가고요. 비슷한 결의 프로젝트로는 OsmAnd가 있는데, OsmAnd는 기능이 훨씬 많은 대신 화면이 복잡하고 초보자에게 어렵다는 평이 많아요. Organic Maps는 반대로 "딱 필요한 것만, 최대한 단순하게"를 밀어붙인 쪽이에요.
한국 개발자에게 주는 시사점
우리 입장에서 이 프로젝트가 흥미로운 건 두 가지예요. 첫째, 오프라인 우선(offline-first) 앱 설계의 좋은 사례라는 점이에요. 요즘 웬만한 앱은 서버 없으면 아무것도 못 하잖아요. 근데 지도처럼 무거운 데이터를 로컬에 두고 빠르게 렌더링하는 구조를 뜯어보면, 데이터 압축이나 벡터 렌더링, 로컬 경로 탐색 같은 기술을 실전에서 어떻게 쓰는지 배울 수 있어요. 소스가 다 공개되어 있으니 공부 교재로도 훌륭하고요.
둘째, 프라이버시를 지키면서도 실용적인 서비스를 만들 수 있다는 증명이에요. "추적 안 하면 돈을 어떻게 벌어", "서버 없이 어떻게 최신 정보를 줘" 같은 고정관념에 대한 반례거든요. 국내에서도 위치 기반 서비스를 만든다면, 모든 걸 서버로 보내는 게 정말 필요한지 한 번쯤 되물어볼 만해요.
핵심만 정리하면, Organic Maps는 "인터넷 없이, 광고 없이, 추적 없이도 지도는 충분히 잘 돌아간다"를 보여주는 오픈소스 프로젝트예요. 여러분은 개인 프로젝트나 서비스에서 '오프라인에서도 되는 기능'을 어디까지 챙기고 계신가요? 서버 의존을 줄이면 오히려 사용자 경험이 좋아지는 지점이 있을까요?
🔗 출처: Hacker News
TTJ 코딩클래스 정규반
월급 외 수입,
코딩으로 만들 수 있습니다
17가지 수익 모델을 직접 실습하고, 1,300만원 상당의 자동화 도구와 소스코드를 받아가세요.
"비전공 직장인인데 반년 만에 수익 파이프라인을 여러 개 만들었습니다"
실제 수강생 후기- 비전공자도 6개월이면 첫 수익
- 20년 경력 개발자 직강
- 자동화 프로그램 + 소스코드 제공