I/O 2016에서 발표한 Awareness API 기술 A to Z
  • SPH Blog
  • SPH Linkedin
  • SPH Facebook
  • SPH Youtube

I/O 2016에서 발표한 Awareness API 기술 A to Z

2016-06-29

SPH-JY

aware 

Google이 금년 I/O에서 공개한 Awareness API를 사용해 보세요. 여러분의 안드로이드 애플리케이션이 사용자의 상황이나 위치를 더 쉽고 정확하게 인식하도록 할 수 있으며, 무엇보다도 기존보다 간단하게 구현할 수 있습니다.

이번 포스팅은 Awareness API의 전반적인 내용을 모두 담기 위해 노력했습니다. 여러분의 모바일 애플리케이션에 Awareness API가 필요한지 알아보고, 핵심 사용 방법에 대해 배울 수 있는 시간이 되기를 기대합니다!

 

1. High-quality App. 사용자 Context 인지의 필요성
여러분의 애플리케이션도이제 High-quality App으로 발돋움  때입니다.


 High-quality App이란 직관적인 UI, 잘 구현된 기능 등 기존의 기준들은 당연히 충족해야 하는 것으로 보고, 사용자의 위치나 상황 등을 고려하여 적절히 서비스할 수 있는 그 이상의 애플리케이션을 의미합니다.


context

사용자의 위치나 상황, 즉 사용자의 Context를 제대로 파악하고 이해하는 것이 High-quality App의 핵심입니다. 

-수영을 시작하면, 애플리케이션이 자동으로 수영하고 있음을 인지하여 사용자의 수영 기록을 저장한다.
 -직장에 도착하면, 스마트폰이 인지하여 홈 화면에 직장에서 자주 사용하는 애플리케이션이 보여진다.
 -음악 애플리케이션을 실행하면, 날씨나 스트레스 정도, 선호 음악 등을 고려해서 음악을 추천한다.

이렇게 애플리케이션을 통해 사용자 맞춤형 서비스, 이른바 온-디멘드(On-demand) 서비스를 제공하기 위해서는 User의 Context를 파악하는 기술이 필요조건입니다.

 

2. Context 구체적 분류그리고 관련 API
구글은 사용자의 Context 인식을 위해서 9가지 API 준비해 놓았습니다.


 그렇다면 사용자의 Context를 이해하기 위해서는 구체적으로 무엇을 알아야 할까요? 모바일 애플리케이션 개발자가 사용자 Context를 검출할 수 있도록 구현된 구글의 9가지 API로 대신 답하겠습니다.

Location ( Where is the user? ) – 사용자 위치 파악


Location


Activity ( What is the user doing? ) – 사용자 활동 파악


activity


Nearby ( What is near the user? ) – 사용자 주변 기기 파악


nearby

 

3. About Awareness API
Awareness API 9가지 Context 관련 API 퍼즐 조각을 하나의 그림으로 완성한 것입니다.


 위에서 소개한 것처럼, Context와 관련된 여러가지 API가 있습니다. 문제는 저희가 보통 한 가지 API만 사용하지 않는다는 것입니다. 예를 들어 사용자 위치를 파악하는 동시에, 어떤 속도로 이동하는지 파악하는 등 최소 2가지 이상의 API를 사용합니다. 기존의 이러한 API 혼용 방식은 몇 가지 문제점이 있었습니다.

[복잡성] 여러 개의 센서 신호를 다루기 위한 다양한 API들의 존재
[개발의 어려움] 다양한 API 들을 조합하기 위한 알고리즘 구현으로 많은 시간이 소요
[배터리 소모] API들의 사용 순서 등에 따라서 배터리 낭비가 심해질 수 있음

이런 문제들을 해결해서 개발자들이 정말로 필요한 사용자 기능 개발에 집중할 수 있도록 하기 위해서 만들어진 것이 이번 구글 I/O 2016에서 공개된 Awareness API입니다. 기존의 문제점들을 해결하기 위해서 만들어진 API인 만큼, 기존의 단점들이 장점으로 승화되었습니다.

[개발의 단순화] 기존의 API들을 통합하고 단순화. 필요한 기능 개발에 집중 가능
[배터리 이슈] API 내부 알고리즘이 배터리 소모가 최소화되도록 구현되어 있음. 개발자가 배터리를 걱정할 필요가 사라짐
[직관적인 Context 분류] 총 7가지의 시그널(time, location, places, beacons, headphones, activity, weather)로 context를 직관적으로 분류하여 쉽게 사용할 수 있음

 

사용방법
 그렇다면 실질적인 사용방법을 알아볼까요? Awareness API는 사실 각각 독립적으로 사용할 수 있는 두 개의 API로 분리되어 있습니다. 그 중 하나는 Fence API고, 또 다른 하나는 Snapshot API 입니다.



펜스 API(Fence API) :
fence


간단하게 어떤 펜스, 즉 기준을 설정하면, 기준의 충족 여부에 따라서 참 또는 거짓(True of False)의 값을 알려주는 API입니다. 개발자들은 이 참 또는 거짓의 Boolean Type을 이용해서 사용자의 상황을 검출할 수가 있습니다. 예를 들어서, 이어폰을 꽂았는지, 운전을 시작했는지, 특정 장소에 도착했는지 등의 여부를 펜스 API를 통해서 간단하게 검출해서 
사용자에게 어떤 제안이나 서비스를 해줄 수가 있습니다. 무엇보다도, 여러가지 펜스를 설정해두고, 이것들을 조합해서 복합적인 기준을 만들 수가 있습니다.


스냅샷 API(Snapshot API) :
snap


펜스 API와 독립적으로 사용할 수 있는 API로, 어떤 Context의 실제 값을 알 수 있습니다. 예를 들면 현재 위치의 위도와 경도 값, 현재 날씨 등입니다.

정리해볼까요? Fence API를 이용해서 사용자가 특정 행동을 하거나 특정 상황인지의 여부를 참, 거짓 형태의 값으로 알 수 있다면, Snapshot API를 이용해서 사용자 행동의 실제 값(ex : 사용자의 현재 움직이는 속도)이나 주변 상황의 실제 값(ex : 현재 날씨 23도)을 알 수 있습니다.

 

4. Awareness API 사용해야 하는 이유  가지


 지금까지 Awareness API 사용 방법을 알아보았습니다. 위에서도 언급했지만, Awareness API는 단순히 구현하기 쉽다는 장점만 있는 것은 아닙니다. 기존의 API를 Awareness API로 대체하는 것에 대해 망설이시는 분들은, Awareness API를 구현할 때 구글이 고려했던 네 가지 이슈(Coverage, Accuracy, Latency, Power)에 대해서 알아야 합니다.
rlend


Coverage : 사용자 인지는 실내, 실외 가리지 않고 모든 장소에서 가능해야 하지만, 쉽지 않은 일입니다.
Accuracy : 사용자 인지는 정확하게 이루어져야만 하고, 저희 개발자들은 정확성 향상을 위해 많은 시간을 투자해야 했습니다.
Latency : 사용자 인지는 실시간으로 이루어져야 합니다. 하지만 센서를 사용하기 위해서 실시간으로 애플리케이션을 깨우는 것은 많은 배터리를 소모합니다. 그렇다고 측정 간격을 길게 가져가면, 사용자 인지의 정확성이 떨어집니다.
Power : 스마트폰의 배터리는 무한정이지 않습니다. 그렇기 때문에 실시간으로 사용자의 Context를 파악하는 것은 많은 배터리 소모로 이어집니다.

개발자들은 사용자의 Context를 인지하기 위해서 여러 가지 API를 조합하는 알고리즘을 구현해야 했을 뿐만 아니라, Coverage, Accuracy, Latency, Power 등 추가적인 이슈 사항들도 고려하기 위해서 머리를 싸매야 했습니다. 이제는 Awareness API 이용해서 간단히 해결하세요! 구현 방법도 간단할 뿐만 아니라 다른 이슈들로 고민하지 않고 원하는 기능 개발에 집중하실 수 있습니다.

 

*2016년 6월 29일부터, Awareness API를 공개적으로 이용할 수 있게 되었습니다. 구체적인 사용 방법을 공유하기 위해서 빠른 시일 이내에 다시 찾아뵙겠습니다. 감사합니다.

 

Powered by Froala Editor


SPH는 Google Maps, SuperMap, Maxar Technologies 등 다양한 제품군을 가지고 있으며, 고객의 사례에 꼭 맞는 무료 세미나 및 인적 컨설팅을 제공하고 있습니다. 더욱 자세한 이야기를 나누고 싶으시다면, 여기에서 문의 주시길 바라며, SPH에서 발행하는 GIS / 로케이션인텔리전스 관련 최신 소식을 받아보고 싶으신 분들은 페이스북 페이지 또는 뉴스레터를 구독해주시길 바랍니다

Newsletter구독 신청
문의하기
sph-symbol