구글 I/O 2017, Android 새로운 기능 정리

구글 I/O 2017 안드로이드 키노트 정리를 해보겠습니다. 안드로이드 O부분도 있지만, 지금 바로 사용가능한 서포트 라이브러리에 대한 소식도 많습니다.

2017-05-18 오전 10.52.39

16비트 PNG파일을 지원합니다. 새로운 유틸 클래스를 이용하면 16비트의 PNG파일을 사용 할 수 있습니다.

2017-05-18 오전 10.53.15
24비트 vs 16비트

핵심적인 컬러값만을 사용하여, 복잡하지 않은 이미지에 사용한다면 용량과 성능을 높일 수 있습니다.

2017-05-18 오전 10.53.38

멀티 윈도우를 지원하는 앱이라면, 멀티 디스플레이도 지원할 수 있습니다. 앱이 실행될때 사용자는 임의로 제어가능하며, 앱에서도 ActivityOptions를 통해 제어할 수 있습니다.

2017-05-18 오전 10.54.08

멀티 디스플레이 테스트는 adb shell 명령을 통해 멀티 디스플레이를 사용할 액티비티를 실행 할 수 있습니다.

2017-05-18 오전 10.54.51

미디어 매트릭스 API를 지원합니다. 이를 통해 미디어에 대한 정보(해상도, 프레임등)를 간단하게 얻어 올 수 있습니다.

2017-05-18 오전 10.55.11

MediaPlayer에서 버퍼링을 제어 할 수 있도록 개선되었습니다. 또한 훨신 쉽게 DRM Playback을 지원합니다.

2017-05-18 오전 10.56.08

MPEG-2 TS 포맷 지원도 합니다.

2017-05-18 오전 10.56.23

크롬 브라우저에서 지원하는 안전하지 않는 웹 페이지의 기능을 웹뷰에서도 사용가능합니다. 안드로이드 매니페스트에 메타 태그를 간단히 추가만하면 됩니다. 또한 멀티 프로세스를 위한 새로운 API도 추가되었습니다.

2017-05-18 오전 10.57.49

setCurrentPlayTime()을 통해 애니메이션할 시간을 임의로 지정 가능합니다. 이는 자유자재로 애니메이션 플레이를 제어 할 수 있습니다. 또한 reverse()를 통해 반대로 애니메이션 할수 있도록 지원합니다.

2017-05-18 오전 10.58.31

사용자 정보를 자동으로 채울 수 있는 자동완성 기능도 추가 되었습니다.

2017-05-18 오전 11.00.23

글꼴 리소스를 공식 지원합니다.

2017-05-18 오전 11.00.52

글꼴을 앱에 탑제하지 않고 구글 플레이 서비스의 폰트 프로바이더를 통해서도 사용가능합니다.

2017-05-18 오전 11.01.39

텍스트뷰의 텍스트를 자동으로 사이즈 변경기능을 지원합니다. 텍스트의 크기를 자동으로 뷰 사이즈 크기에 맞게끔 변경해줍니다. 이 모든것은 서포트 라이브러리를 통해 사용가능합니다.

2017-05-18 오전 11.02.55

접근성 서비스의 경우 언어 감지, 볼륨 컨트롤 사용자 정의, 제스쳐 사용자 정의를 지원합니다.

2017-05-18 오전 11.03.41

findViewById는 이제 자동 캐스팅을 지원합니다. 하지만 이를 대처할만한 라이브러리가 많고 하위 안드로이드 O에서만 지원하기 때문에 그렇게 유용하지는 않을듯 합니다.

2017-05-18 오전 11.04.51

반응형 아이콘을 만들수 있습니다. 아이콘은 배경과 전경으로 이루어지며, 런처는 마스크를 통해 아이콘 모양을 직접 디자인 할 수 있습니다.

2017-05-18 오전 11.06.00

바로 가기또는 위젯 생성을 위한 새로운 Action이 추가 되었습니다. 런처의 위젯 추가가 아닌 앱에서 바로 위젯을 추가 요청을 할 수 있습니다.

2017-05-18 오전 11.06.14

ShortCutManager, AppWidgetManager를 통해 바로가기, 위젯 추가 요청을 하면 Manager의 다이얼로그가 나타납니다. 이를 통해 위젯의 사용성을 향상 할 수 있습니다.

2017-05-18 오전 11.06.55

수 많은 알림은 사용자가 원하는 정보를 얻기에는 매우 어렵습니다. 또한 사용자가 임의로 제어기도 힘듭니다.

2017-05-18 오전 11.07.22

이런 문제점으로 안드로이드 젤리빈에서는 알림을 블락처리하는 기능을 추가 했었으며, 안드로이드 누가에서는 무음으로 처리하는 기능이 추가 되었습니다.

2017-05-18 오전 11.07.43

하지만 여기에도 앱내에서 기능별로 알림을 제어 할 수 없다는 문제점이 있습니다. 안드로이드 O에서는 동일한 동작을 하는 알림을 채널별로 나누어 사용자가 컨트롤 할 수 있는 기능을 추가 하였습니다.

2017-05-18 오전 11.10.13

Strict Mode에 Unbuffer I/O와 sockets, URI를 감시하는 기능이 추가 되었습니다.

2017-05-18 오전 11.14.52

구글 플레이는 설치된 모든 앱에 대해 검증된 앱인지를 판별 해주는 “구글 플레이 프로텍트”기능이 추가 되었습니다. 플레이 스토어뿐만 아니라 직접설치, 다른 스토어에서 설치된 앱도 잠재적인 위험이 있는지에 대해 스캐닝 해줍니다.

2017-05-18 오전 11.20.35

새로운 복사 수집기능이 추가 되었으며, 최적화된 힙 관리기술도 추가 되었습니다.

2017-05-18 오전 11.23.28

물리학 기반의 애니메이션 시스템을 통해 개발자는 복잡한 수학 계산필요 없이 단순히 자연어를 통해 물리학 기반의 애니메이션을 구현 할 수 있습니다.

이 외에도 Activity 라이프사이클을 좀 더 단순화하였으며, 배터리 최적화를 위해 백그라운드 처리에 대한 좀 더 타이트한 기술등 소개되었습니다.

구글 I/O 2015 후기 – 키노트편

구글은 매년 전세계 개발자를 대상으로 개발자 컨퍼런스를 여는데 올해도 예년과 마찬가지로 구글 I/O행사를 열었다. 필자는 매년 행사를 동영상 Live를 통해 시청해왔었으나 올해에는 좋은 기회가 생겨 컨퍼런스 장소인 미국 샌프란시스코로 가서 직접 보게 되었다.

구글 개발자 사이트에 이미 새로나온 API나 새로운 것에 대해서는 뉴스를 접하는것이 더 쉬울 수 있으므로 필자는 이런 기술적인 부분보다 분위기나 5년간 안드로이드 개발 경험을 통해 얻은 지식을 바탕으로 발전 방향에 대한 나의 생각도 같이 적어볼 생각이다.

올해는 작년과는 다르게 하루가 줄어 2일동안 진행되며 세션들 또한 많이 줄었다. 작년 스케줄과는 확연하게 차이나는 것을 볼 수 있다. 작년에 안드로이드 5.0(롤리팝)과 수년동안 준비해온 머트리얼 디자인 가이드라인을 발표 하면서 기술적인 부분과 디자인 부분에 많은 세션들이 있었지만 올해는 그런 큰 변화가 없기 때문에 당연히 세션이 줄었다고 생각된다.

예년과 마찬가지로 순다이피차이 구글 수석부장이 키노트를 진행 하였으며 여기서 당연히 안드로이드 O/S에대한 현재 까지 이루어낸 업적과 안드로이드 다음버전의 코드네임인 M을 발표했다. L(롤리팝) 발표후 거의 일년만에 M을 발표하는데 이게 6.0으로 갈지 6.0으로 가기위한 롤리팝 버전의 업데이트 버전이 될지는 아직 좀 더 지켜봐야 할것 같다.

현재 안드로이드의 현황
– 초기 10개에서 현재 4,000개 이상의 디바이스
– 2014년 Android Wear O/S출시
– Android Auto O/S를 발표 했고 35개의 자동차 제조사가 사용(컨퍼런스장에 쉐보레의 스파크(신형)와 현대 자동차의 소나타를 전시하여 탑제된 안드로이드 오토를 사용해 볼수 있는 기회를 제공하였다.)
– 크롬캐스트 1,700만개 판매
– 소니/필립스등 Android TV개발중

이 처럼 안드로이드는 스마트폰의 O/S뿐만 아니라 IOT시대에 맞도록 다양한 기기에 대해서 환경에 맞는 O/S로 발전하고 있다.

 

안드로이드 M 프리뷰 주요사항
– 2015 3Q출시
– 수 많은 권한을 사용자로급 오히려 불편을 초래 할수 있기때문에 앱 권한 설정을 8개로 통합
– 크롬 커스텀 탭
– 자동 커스텀 스킴 지원
– 안드로이드 페이(킷켓 이상지원)
– 지문인식 지원
– USB C타입 지원
– 쉽게 문자 선택가능한 클립보드 툴바
– 빠른 공유기능(한번의 선택으로)
– 심플한 볼륨 컨트롤

안드로이드 M은 이전 L에 비해 외적인 변화 보다 내부적으로 보안이나 정책을 가다듬는다 느낌이 컸으며 메이저버전으로 가기위한 한번의 업데이트가 되지 않을까 조심 스럽게 예상해본다.

 

안드로이드 웨어 현황

  • 2014년 런칭후 수 많은 업데이트를 통해 기능을 지원
  • 4000개 이상의 앱 지원
    Android Wear 5.1.1(현재 업데이트 되어 있음) 주요 기능
  • Always On기능을 통해 대기모드 상태일때도 앱의 컨텐츠를 표현 가능
  • 이모션 입력 기능

 

스마트폰과 웨어가 점차 많이 연동되어 가고 있으며 몇몇 앱을 소개해주었다.
– 구글 핏 웨어에서 푸쉬업을 측정
– 웨어의 자이로스코프, 가속센서를 통해 골프 스윙시 속도와 각도등 사용자의 골프자세 모니터링
– 샤즘, 스포티파이의 노래 인식및 재생컨트롤
– Ford 자동차 제조사에서 만든 현재 내차의 위치를 안내해주는 앱
– NEST의 가정용 온도 조절장치와의 연동

 

IOT 전용 OS “Brillo”

2015 3Q에 개발 프리뷰 버전 출시
Weave 프로토콜(2015 4Q 출시)을 이용한 Brillo OS가 탑재된 기기와 안드로이드 기기, 클라우드 간의 통신 지원

구글은 정해진 Wear나 Auto로 시계나 자동차를 지원하는 OS를 만드는것 보다 어떤 사물이 안드로이드 기기와 지원하도록 하는것이 앞으로의 더 바람직한 모습이 되지 않을까 싶고 이러한 초석으로 Brillo OS를 만든것으로 보인다.

 

점점 무서워 져가는 “Google Now”

구글 I/O를 위해 샌프란시스코를 일주일간 방문하면서 한국에서 사용할수 없었던 서비스를 많이 사용해 보았는데 그 중 Google Now이다. 예를 들면 나의 위치정보를 이용해서 내가 잠잤던 곳을 파악해서 호텔까지 네비게이션을 해준다. 한국에서는 법적인 문제로 구글 맵의 네비게이션기능을 사용 할 수없지만 길 찾기에는 정말 편하다.

이렇듯 구글 Now는 Context를 통해 Answers에 대한 Actions을 제공해준다.

Now on tap
현재의 Context를 바탕으로 사용자의 물음에 대한 정보를 제공해주는 새로운 Now 서비스이다. 데모를 통해 현재 재생중인 곡이 있는이 이 노래의 가수의 실제 이름을 알고 싶어 “what’s his real name?”이라고 묻는 다면 구글 Now는 현재 재생중잉 곡의 메타정보를 이용해서 가수의 실제이름을 검색해준다. 나도 물론 다른 사람들도 반응이 뜨거웠다.
그리고 메시지를 통해 대화했던 내용을 바탕으로 해당 컨텐츠를 검색해주기도 하는데, 예를 들어 문자메시지에 영화이름이 들어 가있다면 해당 영화 정보를 보여준다. 이처럼 구글 Now는 내가 현재 무엇을 하고 있는지에 대한 필요한 정보를 제공해준다.

iOS도 지원한다고 한다.

 

구글 Photo

사용자가 좀더 편리 하게 사용할 수 있도록 UI 전면 개편
– 사진이 많은 경우 스크롤이 힘든점을 감안하여 멀티터치를 이용해서 스크롤당 갯수 변경 가능
– 사진 선택시 드래그 기능 지원

자동 분류기능
– 시간별로 분류는 업로드된 시점으로 분기 하면 되나 사람 얼굴을 인식해서 얼굴로 분류가 가능하다는 점이 놀라우며 현 시점의 얼굴이 아닌 몇십년전의 사진도 동일인물로 판단가능 할 정도로 분류된다.

이제 포토는 용량에 관계 없이 무제한 사용가능하다.

 

구글의 사회적 공헌

저 개발도상국가에서는 스마트폰의 데이터사용이 값비싸며 속도또한 느리기 때문에 구글 서비스사용에 어려움에 있고 이런 정보격차를 줄이고자 구글 맵, 유튜브등 다양한 자사 앱들에 대해 오프라인 모드를 지원한다. 구글 맵의 네비게이션의 경우 데이터네트워크 연결 없이도 길을 검색하고 찾는 기능이 수행된다.

 

카드보드

작년 구글 I/O때 카드보드를 처음 선보였는데 올해에는 좀 더 업데이트된 버전으로 카드보드를 한개씩 나눠 주었다. 카드보드는 아무 저렴한 비용으로 값비싼 경험을 제공할 수 있다는 점에서 교육에서 활용도가 가장 높다. 카드보드를 통해 학생들이 보는 것을 선생님이 제어하면서 학습시킬 수 있다.

 

카드보드는 구글 내의 아주 작은 프로젝트로 시작하였는데 이렇게 좋은 가치로 성장하고 있다는 것에 놀라웠다. 카드보드로 볼 컨텐츠는 어떻게 모을까라는 생각을 짧게나마 하고 있었는데 바로 그에 대한 답이 바로 나왔다.

 

“JUMP”
고프로 카메라를 360도를 커버할 수 있도록 16개를 원형으로 설치후 중복되는 영역을 영상처리 하여 잘라내면 쉽게 컨텐츠 제작이 가능하며 영상을 처리 할때 겹치는 영역의 제어를 통해 3D 컨텐츠 제작도 가능하다.

사실 구글 I/O 발표 행사장에도 멀티 빔을 이용해서 스크린을 구성하여 정말 신기하였는데 “JUMP”의 발표를 들으면서 행사장 스크린 구성은 정말 쉽게 구성 할 수 있었을 것 같다는 생각이 들었다.

 

무인 자동차

마지막으로 구글에서 진행 중인 프로젝트중 하나인 무인자동차에 대해 간단하게 언급했다. 구글 I/O 전날 구글본사를 방문하였는데 구글내 무인 자동차들이 돌아다니면서 테스트하는 모습을 볼 수 있었다. 사실 예전에 무인자동차가 가능할까라는 생각을 한적이 있었는데, 실시간 사물을 분석하는 영상을 보니까 굉장히 믿을만하고 현재 오랜 기간을 가지고 개발을 해가는 모습을 보니 짧은 기간내로 상용화가 가능할것 같아 보였다.

 

전체적으로 키노트에서는 이제 서서히 안정화되어가는 안드로이드 O/S를 바탕으로 그 위에 컨텐츠를 제공하려는 모습, 특히 Photos나 Now등 사용자의 컨텐츠를 쉽게 사용할 수 있는 서비스와 IOT를 위한 O/S와 프로토콜을 만들어가는 점에서 구글이 플랫폼 시장의 선두를 이어가면서 그에 따른 면모를 잘보여 준다는 느낌을 받았다. 하지만 일정 면이나 앞으로의 세션을 봤을때는 이번 구글 I/O행사는 예전처럼 기술전파나 신기술 발표보다는 형식적인 하나의 행사로 진행 한다는 느낌이 훨씬 강해서 다소 아쉬움이 남았다.