GKAC 2014 Nov. - Android Wear 개발, 할까요 말까요?

49
Android Wear 개발, 할까요 말까요? 고민하는 스타트업과 개발자들을 위해 2014-11-01 GDG Android Conference VCNC(비트윈), 김상우 ([email protected])

description

GDG Korea Android Conference (11월) 세션 자료입니다. 세션 영상: http://www.youtube.com/watch?v=-QHHnKwRHwc

Transcript of GKAC 2014 Nov. - Android Wear 개발, 할까요 말까요?

Page 1: GKAC 2014 Nov. - Android Wear 개발, 할까요 말까요?

Android Wear 개발, 할까요 말까요?고민하는 스타트업과 개발자들을 위해

!2014-11-01

GDG Android Conference !

VCNC(비트윈), 김상우 ([email protected])

Page 2: GKAC 2014 Nov. - Android Wear 개발, 할까요 말까요?

김상우 (Kevin)

• VCNC(비트윈)에서 안드로이드 개발과 데이터 분석을 담당

• 호기심: 많음

• 관심거리들: Android, Wearables, Material Design, Scala (Scaloid), iOS, Swift, 데이터 분석, Spark, Open Source AngularJs …

Page 3: GKAC 2014 Nov. - Android Wear 개발, 할까요 말까요?

Android Wear 개발을,

그리고 새로운 플랫폼에 진출을 고민하는

여러분들을 위한 경험 공유

Page 4: GKAC 2014 Nov. - Android Wear 개발, 할까요 말까요?

1. Android Wear 개발하기 !

2. 새로운 플랫폼에 뛰어들기

Page 5: GKAC 2014 Nov. - Android Wear 개발, 할까요 말까요?

1. Android Wear 개발하기 !

2. 새로운 플랫폼에 뛰어들기

Page 6: GKAC 2014 Nov. - Android Wear 개발, 할까요 말까요?

\

• 연인들을 위한 둘만의 공간

• 곧 1000만 다운로드

• 한국 뿐 아니라 전 세계적으로 많은 사랑을 받고 있다

• 혼자는 못써요.. 죄송

Page 7: GKAC 2014 Nov. - Android Wear 개발, 할까요 말까요?

on Android Wear?

Page 8: GKAC 2014 Nov. - Android Wear 개발, 할까요 말까요?

Wearable 기기에 대한 생각Fitbit

싸긴 한데 기능이 아쉽다.

Galaxy Gear

비싸고 쓸모가 없다. (광고도 후지다)

Google Glass

멋지다. 하지만 살수가 없다.

Android Wear

간만에 보는 살만한 거!

Page 9: GKAC 2014 Nov. - Android Wear 개발, 할까요 말까요?

Android Wear

폰과의 알림 연동 (이거 꽤 편함)

음성으로 제어 (한글은 망..) 만보계를 포함한 많은 기능

Page 10: GKAC 2014 Nov. - Android Wear 개발, 할까요 말까요?

Android Wear

Moto 360

G Watch

Gear Live

G Watch R

Page 11: GKAC 2014 Nov. - Android Wear 개발, 할까요 말까요?

Android WearPros!

• 기능이 상당히 편리하다. (알림, 기본 앱들, 음성 제어 ..)

• 개발이 쉽다. (안드로이드)

• 좋은 가격 (20만원 중반)

Cons!

• 대중화 되기에는 아쉬운 배터리 성능 (1~2일)

• 매일같이 사용할 수 있는 앱들이 많이 없다

Page 12: GKAC 2014 Nov. - Android Wear 개발, 할까요 말까요?

100 + 20 Project

• 구글의 80 : 20 프로젝트와 비슷하게 원하는 프로젝트에 시간을 쓸 수 있도록!

• 단 하던일은 다 하면서 하기로 한다. 즉 100 + 20!

• 지나친 퀄리티 추구로 가끔씩 하던일을 하나도 못하기도 한다. (0 + 20 프로젝트…)

Page 13: GKAC 2014 Nov. - Android Wear 개발, 할까요 말까요?

자 이제 개발을 해봅시다.

Page 14: GKAC 2014 Nov. - Android Wear 개발, 할까요 말까요?

하지만 아이디어가 없어…

Page 15: GKAC 2014 Nov. - Android Wear 개발, 할까요 말까요?

공부부터!• Google I/O 2014 Keynote - Android Wear (http://

www.youtube.com/watch?v=bI8m_RcBrIg)

• Designing for Android Wear (https://www.google.com/events/io/io14videos/93fb1995-a8be-e311-b297-00155d5066d7)

• How We Customized Google Apps for Android Wear (https://www.google.com/events/io/io14videos/bf0f2aa6-b0be-e311-b297-00155d5066d7)

• 직접 사용해보기! 참고할 만한 앱들이 꽤 있다.

• 추천 앱들: Fancy, Tinder, Evernote, Hangout, Gmail 등 Google App들,

Page 16: GKAC 2014 Nov. - Android Wear 개발, 할까요 말까요?

Android Wear 란..• 사용자가 실행하지 않아도, 적절한 타이밍에 Notification

• 최소한의 입력으로 많은것을 할 수 있도록

• 폰을 꺼내지 않아도 정보를 확인

• 항상 착용함으로 얻는 이득 (헬스케어 등)

• 생각보다 많은 기능과 가능성

Page 17: GKAC 2014 Nov. - Android Wear 개발, 할까요 말까요?

비트윈 아이디어

Wear에서 상대방에게 진동을 보내는거야!

Page 18: GKAC 2014 Nov. - Android Wear 개발, 할까요 말까요?

그래서 팀원들이 모였습니다…

Special thanks to Lako, Furi, Alpaca, Henry

@ Between+ TI, Hyunse @ Google

심박수 진동을 재현해주기 - 남자친구 느끼기?

미안하다아아~~!!!! 특정 동작 취해서 재미있는것 하기

거짓말 탐지기 (심박)

오빠 나 이거 사줘 알림

우연히 동시에 같은 모션을 하면 알림 - 찌찌뽕? - 지구방위대?

우리가 만나고 헤어질때까지의 걸음수는?

만났는데 손을 안잡고있으면 진동을 울려주자

Page 19: GKAC 2014 Nov. - Android Wear 개발, 할까요 말까요?

Concept

커플들이 떨어져 있더라도, !

항상 착용하는 Wearable을 활용하여 !

함께 있는 느낌을 주자!

Page 20: GKAC 2014 Nov. - Android Wear 개발, 할까요 말까요?

Concept

• Feel His/Her Heart : 그대의 심장박동 느끼기

• Where He/She Is : 그/그녀는 어느 방향에 있을까?

• Feel Memories : 언제든 추억을 떠올릴 수 있는 메모리박스

멋지다! 하지만 이 컨셉은 하루만에 망하게 되는데…

Page 21: GKAC 2014 Nov. - Android Wear 개발, 할까요 말까요?

Android Wear Bootcamp @ Google

• Google에서 진행하는 Android Wear Bootcamp에 참가하게 되었다

• 무언가를 준비하기로 하고 전날부터 이것저것 만져보았다

• 그날 밤에 두근두근 남자친구 느끼기 컨셉의 프로토타입이 나왔음 (개발하기 쉽다!!)

Page 22: GKAC 2014 Nov. - Android Wear 개발, 할까요 말까요?

다음날: 망했어요

• Bootcamp에서 나눠준, 심박 기능이 있는 Samsung Gear Live를 처음으로 시험해봄

• 상상속의 심박센서 : 2~3초 이내에 심박 측정 가능

• 현실속의 심박센서 : 10~20초 걸림. 측정하는동안 시계를 올바른 위치에 놓고, 가만히 있어야 함.

Page 23: GKAC 2014 Nov. - Android Wear 개발, 할까요 말까요?

최종 계획Android Wear 에서 구동되는 앱으로써 꼭 필요한 기능을 넣자

• 목소리로 답변하기 (Hangout 등)

• 시간 되면 이모티콘 답변하기

• 시간 되면 비트윈 메모리박스 (고전이 좋은것..)

애플 워치도 때마침 공개되서 슬쩍 눈치를 봤어요…

Page 24: GKAC 2014 Nov. - Android Wear 개발, 할까요 말까요?

Notification

Page 25: GKAC 2014 Nov. - Android Wear 개발, 할까요 말까요?

Micro App

Page 26: GKAC 2014 Nov. - Android Wear 개발, 할까요 말까요?

Framework FrameworkWearable!Extender

Wearable!Extender

Framework Micro App

Page 27: GKAC 2014 Nov. - Android Wear 개발, 할까요 말까요?

이모티콘 전송Wear Mobile

상대방에게 메시지 옴Notification 생성

WearableExtender로 웨어용 메시지 추가

Notification 보임

Send Emoticon 메뉴 선택

Notification 보임

PendingIntent 받음

Wear로 Show Emoticon Select Activity

메시지 전송WearableListenerService 에서 메시지 받아서

EmoticonSelectActivity start

이모티콘 선택, 모바일로 메시지 보냄 WearableListenerService

에서 메시지 받아서 채팅 접속 상태 확인 후 이모티콘 전송

Notification

Micro App

Page 28: GKAC 2014 Nov. - Android Wear 개발, 할까요 말까요?

메모리 박스Wear Mobile

데이터베이스에서 메모리박스 확인 Wear 용의 작은 이미지 로드

Wear Data API 를 이용해서 Bitmap 전송

사진 전송이 완료되면, 완료 메시지 보냄

로딩 뷰 보여줌 모바일로 메모리박스 데이터 요청

메모리박스 메뉴 선택

WearableListenerService 에서 메시지 받아서 데이터 Fetch 시작

Wear Data API 로 Bitmap 로드 GridPagerAdapter에 로드

Page 29: GKAC 2014 Nov. - Android Wear 개발, 할까요 말까요?

함정 1 - 코드 품질

• 워낙 early stage project라, 일반적인 사용예가 없다.

• 모바일과의 통신이 많고, 이때문에 코드가 매우 매우 지저분해진다.

• 끔찍한 코드를 짜고, 양심의 가책을 받는다.

Page 30: GKAC 2014 Nov. - Android Wear 개발, 할까요 말까요?

솔루션 1 - 코드 품질

• 안드로이드 웨어 코드랩 (http://goo.gl/Qu7wJG) 수행해서 전반적인 감을 잡고, 계속해서 리팩터링 하기

• EventBus 와 같은 도구를 적절히 사용하여 코드를 깔끔하게 하기

Page 31: GKAC 2014 Nov. - Android Wear 개발, 할까요 말까요?

함정 2 - 에러 처리

• 꼼꼼하게 에러 처리하기가 은근히 어렵다!

• 성공적으로 메시지 전송된 / 모바일과 연결 끊기는 상황에 대해 ConfirmationActivity를 적절하게 띄워줘야

Page 32: GKAC 2014 Nov. - Android Wear 개발, 할까요 말까요?

솔루션 2 - 에러 처리

• 에러 처리는 공통된 부분이 많으므로 적절히 재사용해서 처리하자

• 꼼꼼하게 하는 수 밖에요..

Page 33: GKAC 2014 Nov. - Android Wear 개발, 할까요 말까요?

레이아웃이 정확히 맞지 않습니다.다시 작업해주세요

버튼이 쏠려있군요

함정 3 - 동그란 디바이스

Page 34: GKAC 2014 Nov. - Android Wear 개발, 할까요 말까요?

함정 3 - 동그란 디바이스

• 한국에서 구할수가 없다…

• 에뮬레이터로 가능은 하나 폰과 연결이 잘 안되고 끔찍하게 느리다

• 동그란 디바이스 처리하는 프레임웍에 버그가 있다

• 에뮬레이터로는 에러 처리가 힘들다

Page 35: GKAC 2014 Nov. - Android Wear 개발, 할까요 말까요?

• G Watch R을 삽시다

• Android Developer 튜토리얼 정독 (https://developer.android.com/training/wearables/ui/layouts.html#different-layouts)

• 필요에 따라 WatchViewStub과 BoxInsetLayout을 적절히 사용

솔루션 3 - 동그란 디바이스

Page 36: GKAC 2014 Nov. - Android Wear 개발, 할까요 말까요?

함정4 - Packaging (Auto Install)

• Wear App은 본체 앱을 설치하면 자동으로 같이 설치하게 되어 있음

• build.gradle의 applicationId 를 양쪽 똑같이 맞춰줘야함

• wear app에 선언한 permission을, mobile app에 모두 넣어줘야함

• 똑같은 key로 sign 해야 함

• 중요한 내용들이 문서화가 부족하므로, 주의

• 빌드 스크립트 복잡하면, 삽질 가능성 ↑ ↑

Page 37: GKAC 2014 Nov. - Android Wear 개발, 할까요 말까요?

• 어쩔수 없…

• 먼저 해본 사람에게 물어보세요 (StackOverflow?)

• Workflow: 1. 패키징이 잘 되었는지 (apk 풀어보기 - res/raw에 microapp apk 있어야함)

2. 자동 설치가 되는지 (권한설정 등 점검)

3. 메시지 API 가 잘 작동하는지 (applicationId 맞추기, 같은 key로 sign)

솔루션4 - Packaging

Page 38: GKAC 2014 Nov. - Android Wear 개발, 할까요 말까요?

그렇다면, 좋았나요?

• 사용자들이 잘 사용한다면, 만족! (근데, 알수가 없어..)

• Featured in Google Play! (YAY!)

• 개발 과정도 재미 있었어요 (Refreshing!)

Page 39: GKAC 2014 Nov. - Android Wear 개발, 할까요 말까요?

조심하세요

• 구글에서 밀고있다고 다 성공하는건 아니다

• 얼마만큼 시간과 자원을 투자할지는 신중하게 생각하기

• 생각보다 개발이 어려울 수 있다

• Google에서 이런 부분을 많이 지원해주고, 문서나 프레임웍도 계속 보강되고 있어 나아질것

Page 40: GKAC 2014 Nov. - Android Wear 개발, 할까요 말까요?

SummaryPros !• 구글과의 파트너쉽 기회, 멋지게 잘해내면 글로벌 진출의 가능성도?

• 기존의 안드로이드 개발과 비슷하기에, 낮은 진입장벽

• Wearable에 대한 아이디어!

Cons

• 새로운 플랫폼에 대한 리스크 - 사용자도 많지 않고, 개발 시 참고할 자료가 부족

• 강력한 기능을 구현하기 쉽지 않다

• 완성도 있는 제품을 위해서 생각보다 많은 작업을 해야한다

Page 41: GKAC 2014 Nov. - Android Wear 개발, 할까요 말까요?

Best Practice 1. 우선 시계를 하나 구입하거나, 구해서 사용해보세요.

2. 대강의 아이디어를 내보고, 개발할지를 결정하세요.

3. 안드로이드 웨어 코드랩 (http://goo.gl/Qu7wJG) 튜토리얼을 꼭 처음부터 끝까지 완수하세요. 패키징까지 해보세요.

4. Android Developers Wearables 섹션을 꼼꼼히 보세요. (https://developer.android.com/training/building-wearables.html)

5. 이제 감이 좀 오면, 제품을 설계하세요.

6. 되도록이면 동그란 디바이스까지 구입하세요.

7. 재사용되는 유틸리티나, 폰과의 통신 코드는 신경써서 잘 준비하세요.

Page 42: GKAC 2014 Nov. - Android Wear 개발, 할까요 말까요?

1. Android Wear 개발하기 !

2. 새로운 플랫폼에 뛰어들기

Page 43: GKAC 2014 Nov. - Android Wear 개발, 할까요 말까요?

새로운 플랫폼!?

뜰 수 있는 기회

하지만 기회가, 위기가 될 수도 있다!

당신의 시간은 소중하니까요.

Page 44: GKAC 2014 Nov. - Android Wear 개발, 할까요 말까요?

새 플랫폼에서의 성공가능성

새 플랫폼을 쓰는 사용자 수 x

새 플랫폼의 강력함 x

이를 잘 구현한 자사의 제품이 줄 수 있는 가치 +

새 플랫폼에서 선도적 위치를 차지한다면, 추가적 기회

Page 45: GKAC 2014 Nov. - Android Wear 개발, 할까요 말까요?

Between 이전의 제품들

• 플랫폼의 사용자 수 충분하지 않았음

• 플랫폼이 생각보다 강력하지 않았음

• 자사의 앱이 사용자에게 큰 가치를 주지 못했음

• 선도적 위치 차지하지 못함

News Gallery

Songs for Kids

Page 46: GKAC 2014 Nov. - Android Wear 개발, 할까요 말까요?

낡은(?) 플랫폼으로 돌아오다

• 모두가 이미 끝났다고 말한 모바일

• 기회를 잡으려는 생각보다는, 사용자에게 가치를 주려 노력

• 오로지 퀄리티에 집중

Page 47: GKAC 2014 Nov. - Android Wear 개발, 할까요 말까요?

Decision is

Yours

회사의 상황과 전략에 맞게,

현명한 판단을 해주세요

Page 48: GKAC 2014 Nov. - Android Wear 개발, 할까요 말까요?

감사합니다

Page 49: GKAC 2014 Nov. - Android Wear 개발, 할까요 말까요?

최고의 복지는, 최고의 동료들과 일하는 것입니다

[email protected] 자유로운 형식의 소개서

More Info: http://engineering.vcnc.co.kr/jobs/