Ⅰ. 서론
최근 스마트폰과 같은 다양한 애플리케이션을 사용할 수 있는 환경이 만들어 짐에 따라 많은 모바일 애플리케이션의 수요가 증가하고 있으며 품질의 중요성도 점차 커지고 있다[1]. 스마트폰은 커뮤니케이션의 역할 뿐 아니라[2] 길을 찾고 일정을 관리하는 등 사용자의 일상에서 밀접한 역할을 하게 되었으며 모바일 앱을 개발하는 개발 프레임 워크도 다양하게 발전하고 있다[19].
사용자들은 자신이 해야 할 일들을 기억하기 위한 일정 관리 애플리케이션과 목적지에 제때 도착하기 위해 지도 애플리케이션을 따로 사용하므로 시간과 위치, 동선의 맥락이 맞지 않아 불편하다. 따라서 본 연구에서는 최적의 알고리즘을 통해 사용자의 시간별 일정에 대해 가장 적절한 동선을 추천하고 지도 API를 활용하여 시각적으로 제공하는 애플리케이션을 개발하고자 한다. 사용자의 일정과 장소 정보를 결합하여 최적의 동선을 제공할 수 있도록 다수의 Map API들을 비교 분석하여 목적에 맞는 알고리즘을 설계하고 개발한다. 연구의 결과물은 택배 사업자, 과외 수업 교사 등 정확한 시간에 맞춰 장소의 이동이 많은 근무자들이 시간과 장소에 따른 스케줄을 효율적으로 구성하는 데에 유용하게 사용될 수 있을 것으로 생각된다.
Ⅱ. 지도 API 및 경로 탐색 관련 기술 및 연구 검토
1. 지도 API
현재 지도 API 서비스는 Google Maps API, Bing Maps, HERE, MapQuest, OpenLayers, Leaflet 등의 글로벌 서비스와 다음 지도, 네이버 지도, 브이 월드 등의 국내 서비스가 많이 사용된다. 지도 API는 기본적인 요 기능과 영상 지원 기능, 길 찾기 안내 서비스 및 정보들을 제공하고 있다[8]. 대표적인 서비스를 비교해 보면 먼저 네이버 지도는 우리나라에서 가장 많이 사용되고 있다[9]. 네이버 MAPS API는 동선 추천에 경로 표시 기능, 이미지 지도 반환, 사용자 지정 출발지/목적지 정보에 따른 경로 정보, 주소에 관한 좌표를 포함하여 상세정보, 좌표를 통한 주소 정보 반환 등 다양한 기능을 제공한다. 티맵 API는 가장 먼저 이동통신 기반 서비스를 시작했으며 구글 등 해외 지도 서비스의 대한민국 지도에 사용된다. 지도 서비스, 경로 안내, 주소 검색, 명칭 검색, 공간 검색, 실시간 교통정보 검색 등 다양한 기능들을 제공한다. 카카오 Maps API는 일반적인 지도 반환, 로드뷰, 마커, 오버레이, 도형 표기 등 정보를 제공한다.
관련 연구로는 네이버, 티맵, 카카오 등 도보 길 찾기 지도 앱을 선정하여 사용자 경험 중심으로 지도 애플리케이션의 시사점에 대해 고찰한 권현정, 이지연(2021)의 연구가 있다[4]. 손영진, 정목동(2014)의 디지털 포렌식 연구에서는 계층적 군집화 알고리즘을 이용하여 스마트폰의 위치정보에 대한 분석 모델 및 조사 절차를 제안하였다[5]. 문정선, 김승인(2017)은 설문과 인터뷰를 통한 여러 모바일 지도의 이용률과 만족도를 분석하였다[6]. 박귀은, 강수진, 김종성(2022)은 네이버 지도, 티맵, 카카오맵을 비교하여 사용자 행위 중심의 아티팩트를 분석해 표 1과 같이 정리하였다[7].
표 1. 지도 애플리케이션 비교 결과[7]
Table 1. Map application comparison results ◌: Plain data, X: Not exist, *: Encrypted data
2. 경로 탐색 알고리즘
최단 거리 알고리즘에는 대표적으로 다익스트라 알고리즘(Dijkstra’s Algorithm)과 A* 알고리즘(A star Algorithm)이 있다. 다익스트라 알고리즘은 시작점에서 도착점까지 가능한 모든 경로(path)를 탐색하여 가중치값(weight)이 가장 작은 경로를 찾는 장점이 있으나 모든 경로를 검색하기 때문에 계산 시간이 많이 소요된다[10]. A* 알고리즘은 탐색 범위에서 효율적이지만, 넓은 영역을 탐색할 때는 정확성이 떨어지는 단점이 있다[11].
다익스트라 알고리즘은 한 출발점에서 다른 모든 정점으로의 최단 경로를 구하는 알고리즘이다. 고정된 출발점 하나에서 다른 모든 정점의 경로를 비교하고 최단 경로를 구하므로 단일 출발점일 때 효율적인 알고리즘이며[12] 간단한 요약은 다음과 같다[13].
D(v) : 출발점 u에서 노드 v까지 최소비용
N' 만약 출발점에서 노드 v까지 가는 경로가 최소 비용이라는 것을 알면 노드 v는 N에 속한다. 노드의 전체 집합은 N이고, N'는 이미 처리된 부분집합
p(v) :출발점에서 노드 U까지 가는 최소비용 경로에서 노드 v의 바로 전의 노드
(a) 초기화
-N'= [u]
-모든 노드 v에 관하여, 만약 노드 v가 노드 u의 이웃 노드이면 D(v)=c(u,v) 아니면 D(v)=∞이다.
(b) 반복 시작
-D(w)가 최소가 되는 N'에 없는 노드 w를 찾는다.
-N'에 노드 w를 추가한다
-N'에 없는 노드 w의 모든 이웃 노드 v에 관하여 (v)를 갱신한다.
D(V) =min(D(v),D(w)+c(w,v))
-N'=N이 될 때까지 반복한다.
A* 알고리즘은 특정한 출발지로부터 목적지까지 최단 경로를 찾아내기 위해 고안되었다. 다익스트라 알고리즘과의 가장 큰 차이는 A* 알고리즘은 완전한 최단 경로보다는 근사값을 목표로 하는 것이다. 다익스트라 알고리즘이 가까운 노드부터 순차적으로 모두 방문하며 탐색한다면 A* 알고리즘은 현재 위치의 상태에 대해 적당한 휴리스틱 함수를 통한 추정값을 통해 탐색하므로 탐색 속도가 빠르다. A* 알고리즘은 경로의 길이뿐만 아니라, 현재 위치에서 목표 지점까지의 직선거리도 고려하기 때문에 더욱 효율적인 경로를 탐색한다.
본 연구에서는 휴리스틱 함수를 추적하여 점수를 바탕으로 탐색을 진행하는 A* 알고리즘을 사용하여 최적의 동선을 구현하는 것이 적절한 것으로 판단된다.
Ⅲ. 시스템 설계 및 주요 기능
1. 시스템 설계
지도에 표시하는 마커, 알고리즘으로 구현된 최단 경로 동선은 네이버에서 제공하는 Naver Maps API를 사용하여 웹페이지를 만든 후 실시간으로 제공되는 화면은 Apache Web Server를 통해 실시간으로 웹에서 확인할 수 있으며, Android Studio를 통해 웹뷰(WebView) 방식으로 사용자가 사용하는 앱에 구현된다. 설계된 시스템의 구조도를 그림 1과 같이 나타내었다.
그림 1. 시스템 설계 구조도
Fig. 1. System design structure
2. 동선 추천 알고리즘
본 연구에서는 사용자가 등록한 일정들을 다음과 같이 시간과 거리에 따라 추천하는 알고리즘을 설계하고 다음의 표 2에 요약했다.
표 2. 동선 추천 알고리즘
Table 2. Moving Route Recommended Algorithm
사용자로부터 장소/시간/제목, 현 위치, 현재 시각을 입력받는다. 시간에 따라 경로를 추천할 때는 일정을 추가하고 해당 날짜에 있는 일정들을 불러온다. 현재 시각과 일정 시간의 오차를 구하고 정렬하여 Naver Maps API를 통해 경로를 추천한다. 거리에 따라 경로를 추천할 때는 일정을 추가하고 해당 날짜의 일정들을 불러온다. 일정별로 Geocoding 좌표값 저장을 저장하여 현 위치의 좌표로부터 최단 경로의 일정을 저장하고 다시 나머지 일정에서 최단 경로의 일정을 저장하는 작업을 반복하여 순서대로 경로를 추천하게 된다.
3. 주요 기능 설계 및 구현
가. 메인 화면의 UI
사용자 경험 디자인은 사용자가 다양한 컴퓨터 시스템을 사용할 때 체험하거나 지각하는 상호 교감 모델을 개발하는 분야이다[11]. 터치 인터페이스는 스마트폰 등 모바일기기의 핵심 인터랙션 기술이다[20]. 사용자 경험의 질을 높이기 위해 사용자가 시스템을 처음 사용할 때 쉽게 익힐 수 있도록 익숙하고 간편한 레이아웃으로 디자인하는 다. 시스템의 성격과 유형을 충분히 고려해서 콘텐츠의 내용을 전달할 수 있도록 한다[12]. UI 디자인에서 색채는 상징적 의미를 부여하고 사용자에게 흥미를 줄수 있으며 컬러의 수는 제한해서 사용해야 한다[13]. 본 연구에서는 가시성, 가독성, 애플리케이션을 상징성, 밝은 이미지를 위하여 ABC8FF, FFF6C9를 메인 컬러로 하였다. 동선 추천 UI에는 다양한 색상의 앰블럼의 마커를 사용해 사용자의 혼란을 방지하였다.
메인 화면의 UI에서는 본 애플리케이션의 필수 기능들을 한눈에 파악할 수 있다. 일정을 등록할 날짜를 스크롤링이 가능한 버튼으로 구현하였고, 선택된 날짜의 버튼을 다른 색상으로 표시하여 등록된 일정을 보여준다. ‘+’ 버튼을 이용하여 일정 추가 화면으로 이동한다. 일정은 시간별로 표시되며 체크박스를 통해 완료된 일정을 제외한다. 시간 등록을 하지 않은 일정은 시간이 등록된 일정보다 밑에 등록된다. 하단의 내비게이션 바를 통해 다른 기능으로 이동할 수 있다. 그리고 캘린더 형식의 UI에서 오늘의 일정과 완료한 일정으로 구분하였다. 메뉴를 클릭했을 때 색을 구분지어 사용자가 애플리케이션을 사용할 때 가독성을 높였다. 캘린더에서 날짜별 일정을 확인할 수 있다.
그림 2. 메인 화면과 캘린더 화면의 UI
Fig. 2. UI on the main screen and calendar screen
일정 추가 UI에서는 토글 버튼을 통해 일정에 시간을 함께 등록할 수 있다. 우측의 지도 버튼을 통해 일정을 수행할 장소를 지정할 수 있으며 간단한 메모를 작성할 수 있다. 일정을 작성한 후 저장 버튼을 통해 일정이 등록되며 취소 버튼을 통해 메인 UI로 돌아간다.
동선 추천 UI에서는 메인 UI에서 등록한 일정들을 분석하여 가장 짧은 거리의 동선을 지도에 나타낸다. 도보, 지하철, 버스의 최단 경로를 모두 확인할 수 있다. 동선의 각 위치를 마커로 표시하며, 일정의 소요 시간과 최단거리를 보여준다. 상세경로 UI에서는 각각 위치에 따라 소요 시간과 거리를 순서대로 표시하여 지도에 표시된 등록된 동선을 한눈에 확인할 수 있다.
그림 3. 일정 추가, 동선 추천, 상세 경로 화면의 UI
Fig. 3. UI on the add a schedule, recommend moving route, detailed path
IⅤ. 결론
스마트폰을 활용한 모바일 컴퓨팅 환경에서는 사용자 개인의 특성에 맞춘 서비스 요구가 커지고 있다[18]. 이미 스케줄이나 지도 서비스가 보편화된 가운데 시간 기반의 일정과 장소 기반의 일정을 결합하여 개인의 일정을 효율화시켜 줄 수 있는 서비스는 부재한 실정이다.
본 연구는 효율적인 스케줄 관리를 위해 일정 기능과 지도 기능을 접목하여 최적화된 동선 추천 애플리케이션을 제안하였다. 이를 위해 A* 알고리즘을 활용한 최단 거리 추적 알고리즘의 가이드라인을 제시하였다.
지도 API를 분석하고 비교했을 때 나타나는 공통점은 지도의 기본적인 요소들과 도보, 대중교통 등의 길 찾기 기능을 제공하고 있으며, 지도 API를 사용하여 원하는 사이트에 서비스되고 있다는 점이었다.
본 연구에서는 여러 지도 API의 기능 비교를 통해 본 애플리케이의 필수 기능인 동선 추천과 경로 표시 기능을 구현할 수 있는 네이버 Maps API를 선택했다.
그리고 최단 경로 탐색에 사용되는 알고리즘인 다익스트라 알고리즘과 A* 알고리즘을 비교하여 본 애플리케이션에 적합한 알고리즘은 휴리스틱 함수를 추적하여 점수를 바탕으로 탐색을 진행하는 A*알고리즘을 기반으로 적용하였다.
캘린더 앱은 많은 스마트폰의 이용자만큼이나 이미 다양하다고 할 수 있을 것이다. 일정을 관리하는 것 외에도 다른 SNS와 연동되는 등의 다양한 서비스를 지원하는 형태의 애플리케이션이 많이 등장하고 있을 뿐만 아니라 다양한 지도 서비스도 다채롭게 지원되고 있다. 그러나 약속 시간과 장소를 최적화하여 관리하기에는 부족하다. 본 연구에서는 시간을 기반으로 한 일정 관리와 장소를 기반으로 한 일정 관리가 동시에 사용자들이 효율적으로 사용할 수 있도록 스케줄러와 동선 추천 기능을 결합하는 최적화된 알고리즘을 적용한 애플리케이션을 제안했다는 의의가 있다.
연구의 결과물은 특히 택배 사업자, 과외 교사, 영업사원 등 시간과 장소의 이동에 따른 일정 관리가 필요한 외근직 사용자에게 동선에 따른 효율적인 스케줄링 기능을 제공할 수 있을 것으로 기대된다. 사용자는 연구의 결과물을 통해 불필요한 시간 낭비를 줄이고 효과적인 일정 관리를 수행할 수 있을 것이다.
애플리케이션은 다양한 나이와 직업군, 용도에 맞게 상세한 기준에 따른 사용성 평가가 요구된다[17]. 따라서 향후 연구에서는 다양한 직군의 특성을 반영하여 사용자의 만족도를 높이기 위해 사용성 관련 연구를 진행할 예정이다.
참고문헌
- Hae-Yoon Park, Hae-Young Yoo, "Application Portability Assessment Techniques on Heterogeneous Mobile Platforms", Journal of the Society for Information Processing, D, Vol. 18, No. 2, pp. 123-132, Aug 2011. DOI: https://doi.org/10.3745/KIPSTD.2011.18D.2.123
- Hyung-Bo Yoon, Bo-Ram Wang, Ji-Yoon Park, "Characteristics of App Use by Smartphone Users and Implications for App Business Models", Journal of the Korean Society of Contents, Vol. 13, No. 3, pp. 32-42, Feb 2013. https://doi.org/10.5392/JKCA.2013.13.03.032
- Do-Hyeob Yoo, Tae-Yeon Kim, Mi-Kyun Moon' "Schedule Management Application Using Time Management Matrix", Journal of the Korea Information Processing Association Academic Conference, Vol. 24, No. 2, pp. 566-568, Nov 2017.
- Hyun-Jung Kwon, Ji-Yeon Lee. "A Study on User's Wayfinding Information-Seeking Behavior When Using the Mobile Map Application on Foot", Journal of the Korean Society of Literature and Information, Vol. 55, No. 1, pp. 469-492, Feb 2021. DOI: https://doi.org/10.4275/KIPSTD.021.55.1.469
- Young-Jun Son, Mok-Dong Chung, "Digital Forensics for Android Location Information Using Hierarchical Clustering", Journal of the Institute of Electronics and Information Engineers, Vol. 51, No. 6, pp. 143-151, June 2014. DOI: https://doi.org/10.14257/ijmue.2015.10.4.33
- Jung-Sun Moon, In-Jeong Kim, "A Study of Usability for Mobile Map Applications-Focused on Mobile Map Applications of Naver and Daum-", Digital Convergence Research, Vol. 15, No. 2, pp. 347-353, Feb 2017. DOI: https://doi.org/10.14400/JDC.2017.15.2.347
- Gwui-Eun Park, Soo-Jin Kang, Jong-Sung Kim, "A Study on Decryption Method and Artifacts Analysis of Map Applications in Android", Journal of Digital Forensics, Vol. 16, No. 2, pp. 163-184, June 2022. DOI: https://doi.org/10.22798/kdfs.2022.16.2.163
- Won-Geun Choi, Min-Soo Kim, In-Sung Jang, Yoon-Seop Chang, "The Comparative Research On 2D Web Mapping Open API for Designing Geo-Spatial Open Platform", Journal of Korea Spatial Information Society, Vol. 22, No. 5, pp. 87-98, Oct
- "Dailian", https://m.dailian.co.kr/news/view/1033380, Sep 2021.
- Venkatesan T. Chakaravarthy, Fabio Checconi, Prakash Murali, Fabrizio Petrini, Yogish Sabharwal, "Scalable Single Source Shortest Path Algorithms for Massively Parallel Systems", IEEE Transactions on Parallel and Distributed Systems, pp. 2031-2045, June 2017. DOI: https://doi.org/10.1109/TPDS.2016.2634535
- Yong-Hu Lee, Sang-Woon Kim, "A Hybrid Search Method of A* and Dijkstra Algorithms to Find Minimal Path Lengths for Navigation Route Planning" Journal of the Institute of Electronics and Information Engineers, Vol. 51, No. 10, pp. 109-117, Oct 2014. DOI: https://doi.org/0.5573/ieie.2014.51.10.109 https://doi.org/10.109
- Kurose, J. F. Nad Ross, K. W. Computer Networking: A Top-down Approach Featuring the Internet, 3rd Edition, Pearson Addison-Wesley, Boston, pp. 262-279, Feb 2005.
- Seung-Heon Baik, Dong-Yeob Han, "A Study on Bicycle Route Selection Using Optimal Path Search", Journal of the Korean Society of Survey, Geodesy, Photogrammetry, and Cartography, Vol.30, No.5, pp. 425-433, Dec 2012. https://doi.org/10.7848/KSGPC.2012.30.5.425
- Woo-Seok Choi, "Proposal for User Experience Design to Increase the Usability of Mobile Map Services", Dankook University Graduate School of Information and Communication, May 2010.
- Seung-Young Lee, "A Study on the Page Layout of Web Design", Journal of the Korean Society of Design and Culture, Vol. 8, No. 2, pp. 353-366, June 2002.
- So-Jung Kwak, Ki-Yoon Kwon, Ji-Eun Kwon, "Map-based Web Services UI Design Analysis", Illustration Forum, Vol. 20, No. 61, pp. 105-114, Mar 2019. DOI : https://doi.org/10.37379/JKSIR.2019.61.10
- Ka-Hee Yoon, In-Jeong Kim, "Evaluation of Usability of iCloud Calendar and Naver Calendar - Focusing on Mobile Applications-", Digital Convergence Research, Vol. 15, No. 4, pp. 443-449, April 2017. DOI: https://doi.org/10.14400/JDC.2017.15.4.443
- Hyo-Kyung Chang, Yong-Ho Kang, Eui-In Choi, "Context-aware Protype for Adaptive Recommendation Service on Mobile", The Journal of The Institute of Internet, Broadcasting and Communication, Vol. 12, No. 1, pp. 257-264, Feb 2012. https://doi.org/10.7236/JIWIT.2012.12.1.257
- Soo-hyung Lee, Chang-soo Kim "Implementation of Mobile App and Server System for Data Collection and Management using Mobile Instrument and Portable Environmental Meter", The Journal of Korean Institute of Information Technology, Vol. 19, No. 9, 19(9), 69-77, Sep 2021. DOI: https://doi.org/10.14801/jkiit.2021.19.9.69
- Yong-min Lee, Chang-ho Han "Research on Touch Function capable of Real-time Response in Low-end Embedded System". Journal of the Korean Society of Industrial Science and Technology, Vol. 22, No. 4, 22(4), 37-41, Apr 2021. DOI : https://doi.org/10.5762/KAIS.2021.22.4.37