첫 프로젝트 :: 웨어라유

Happiness Project 첫번째는 “웨어라유”입니다.

이 프로젝트를 시작하게 된 계기는 가끔 마눌님와 바깥에서 만나기로 했을 때 길을 못찾고 헤매고 있거나, 약속장소에 미리 와서 대기중인 저에게 이미 도착했다는 대사기극 이 벌어질 때 서로의 위치가 궁금하기 때문에 서로 얼마나 떨어져있는지 길은 잘 찾아오고 있는지 계속 보면서 오면 좋겠다는 취지에서 이 토이프로젝트를 시작했습니다.

길눈이 어둡고, 기계치인 마눌님의 사용 편의성을 최대한 고려했구요. 인증 절차나 설치없이 사전 단계를 최소한으로 줄여보도록 했습니다.

웨어라유

개발을 앱으로 할지,웹으로 할지 고민하다가 HTML5부터는 브라우저를 통해서 디바이스로 부터 GPS 값을 얻을수 있는 함수가 제공됬었구요. 이를 통해서 위도와 경도값을 지도 서비스(구글, 네이버, 카카오 등)을 통해서 표시하는 방법으로 시작했습니다만, 위치 정보를 보내고, 지도에 표시할때 마다 데이터를 보내고 받는 처리를 실시간으로 해야 하기 때문에 실시간으로 데이터를 전송하는 환경이 필요하여 Socket 통신으로 위치 데이터를 주고 받도록 하였습니다.

Socket 을 통해서 정해진 대상에서 정해진 메시지를 실시간으로 공유하고, 이를 이용해서 서로 같은 화면을 보면서 정보를 교환하기 위해 Socket.io 라이브러리를 사용했으며, 어플리케이션으로써 역할을 하기 위해서는 적당한 프레임워크가 필요했기 때문에 node.js의 express 환경을 선택했습니다.

일단, 그럼 이 서비스는 어떨때 사용할지 간단한 설명입니다.

  1. 가족, 친구, 연인들의 약속장소에 얼마나 왔나 궁금할때
  2. 가족, 친구, 연인이 귀가를 안전하게 하는지 확인할 때
  3. 학원에서 귀가 하는 아들녀석 피씨방으로 세지 않고 귀가를 유도할때 (“엄마 나 피씨방 아냐”가 안통하는…)
  4. 기타, 현피 뜰 때, 중고 거래 할때, 집나간 그 녀석 위치추적(이 위치 추적은 상대방의 동의가 절대적입니다. 상대방 동의가 거의 불가능할 정도로 많이 다투시면 위치추적 확률은 급격하게 떨어집니다.) 해외 유학간다고 헤어지잔 그 녀석 진짜 나가있는지 궁금할 때..,그 녀석 외근 잘나갔는지 등 매우 다양한 곳에 사용될 듯 합니다.

이 서비스 장점은 별도로 어플을 설치 하지 않아도 됩니다. 그냥 URL 링크로 서로 공유됩니다. 그래서 간편하게 메신져로 링크만 보내고 들어가면 됩니다.

다만 브라우저 기반 이기 때문에 상대방이 브라우저를 닫거나, 화면을 비활성 하게되면 기기에 따라 다르기도 합니다만,대부분 위치공유가 더이상 이루어지지 않습니다.

먼저, 사용 방법은 https://choonzang.com/geo/ 에 접속합니다. 매번 접속하기 번거로우실테니, 보고 계신 이 페이지를 “홈화면”추가를 권유드립니다.

첫 접속 화면

이 화면에서 위치공유가 필요한 친구에게 카톡으로 공유 신청을 하거나, URL 을 카피해서 상대방에게 문자로 보냅니다.

방코드는 총8자리가 랜덤으로 생성되므로, 의도적으로 변경하지 않으면 거의 겹칠 일이 없어 보입니다. -_-; 뭐 사실 대박나서 사람들이 갑자기 몰린다면…야.. (그럴리 없어… 꿈 깨… )

우선, 먼저 접속해있든, 상대방이 접속하든 순서는 중요하지 않습니다. 들어오는 데로 지도에 나의 위치가 표시되고, 상대방이 들어오면 그 때 상대방의 라벨이 찍힌 위치가 나옵니다.

실제 공유 화면

그 전에 위치를 서로 공유하기 위해서는
1. 자기 위치 정보 이용을 허용 해야 합니다.
2. 알림을 수신해야 합니다. (이건 꼭 필요한건 아니지만, Disconnect 상태에서 상대방에서 알림 메시지를 보내기 위해서 고민 중에 있습니다.)

이 과정을 지나면, 위치 공유가 시작되고, 채팅 등을 통해서 같은 방코드를 쓰는 사람들 끼리는 메시지를 주고 받습니다.

이 서비스를 사용하기 위해서는 https://choonzang.com/geo/를 폰 화면에 추가를 추천합니다. 매번 접속해서 공유를 걸기엔 다소 불편하므로, 바탕화면 등에 추가해놓으면 다음에 이용하기 편할것 같습니다.

소회…사실 구조를 알고보면 매우 단순한 기능을 합니다. 아마도 개발을 조금 해보신 개발자가 분이 보신다면.. 이게 모…? 라고 생각할 지 모르겠습니다. 짬짬이 인터넷 뒤져가면서 조금씩 만들어 가는 일종의 취미였으니, 가볍게 보고 넘어가시면 좋겠습니다. 그리고, 이런 취미로 저의 소소한 즐거움도 느낄수 있어 좋았고, 혹시 이런 서비스로 소중한 사람들이 안전하게 만나게 되면 좋겠습니다. 아…진심… 현피뜨실 분들 왠만하면 이거 말고 직접 통화로 하세요.