brunch

You can make anything
by writing

C.S.Lewis

by 시류아 May 15. 2019

Google I/O 2019에서
관심있게 본 세션 정리

177개의 Google I/O 세션중에서 큰 관심가지고 본 세션들 정리

 지난 5월 8일(현지시간 5월 7일), Google I/O 2019가 진행되었습니다. 적어도 한 번은 직접 가서 보고 싶지만.. 그럴 여건이 되지 못하다 보니 올해도 어김없이 유튜브 스트리밍을 통해서 여러 세션들을 보게 되었고, 그중에서 관심 있게 본 세션들에 대해서 요약정리해봤습니다.


 * 본 글의 내용은 스트리밍을 보면서 의역한 것이다 보니 틀린 부분이 있을 수 있습니다. 이에 대해서 친절하게 말씀해주시면 감사하겠습니다.







Google Keynote



1. AR 기술을 적용한 새로운 검색 서비스

검색을 통해서 3D 모델을 같이 볼 수 있으며, AR(증강현실) 기술을 통해서 현실로 가져올 수 있습니다.


2. 구글 렌즈, AI 기술 적용

카메라에 식당 메뉴를 비추면 AI가 인기 요리 추천해주고, 사용자가 선택하면 해당 이미지를 보여줍니다.

카메라로 영수증을 찍으면 팁을 계산할 수 있고 인원에 맞추어서 더치페이 금액을 계산해줍니다.

표지판 등 안내 정보를 비추면 해당 내용을 읽어주고 번역하여 글을 이해할 수 있도록 해줍니다.


3. 듀플렉스 온 더 웹

웹으로 쉽게 서비스 예약을 할 수 있도록 도와줍니다.

구글 어시스턴트가 사이트를 탐색하고 저장되어있는 사용자 정보를 바탕으로 내용을 입력합니다.


4. 10배 빨라진 어시스턴트, AI for Everyone

순한 신경망(RNN, Recurrent Neural Networks) 발전으로 완전히 새로운 음성 인식과 자연어 처리 모델이 만들어졌습니다.

100GB 가까이 되는 학습 모델을 0.5GB 수준으로 결합 및 축소하여 모바일 장치에 저장, 온 디바이스 방식으로 네트워크가 연결되어있지 않더라도 사용 가능하며 네트워크 대기시간이 없어 실시간으로 동작합니다.

음성으로 끊김 없이 기기를 조작하고, 여러 프로그램 간의 멀티태스킹이 원활하게 구현됩니다.

운전할 때 핸즈프리로 수월하게 사용할 수 있도록 맞춤화되어 설계된 운전 모드가 제공됩니다.


5. Android Q

폴더블 환경이 공식적으로 지원됩니다.

5G 네트워크가 지원됩니다.

네트워크가 연결되어있지 않더라도 라이브 캡션(Live Caption)을 통해서 자막이 제공됩니다.

답변할 내용을 예측하는 스마트 리플(Smart Reply)을 통해서 보다 빠르게 답변을 할 수 있습니다.

다크 모드가 지원되며, 이를 통해 OLED 디스플레이의 전원을 절약할 수 있습니다.

프라이버시 세팅을 통해서 활동 데이터, 위치 기록, 광고 등의 데이터가 수집되는 것을 ON/OFF 할 수 있습니다.


6. Google Home Nest

IoT를 통해 집 내의 전원 ON/OFF 가능합니다.

카메라를 통해서 집 내부의 상황을 확인할 수 있습니다.

Google Duo를 통해서 영상통화가 가능합니다.

얼굴 인식을 통해서 맞춤형 어시스턴트를 제공합니다.


7. Pixel 3A / 3A XL

보급형 픽셀 모델

나이트 사이드, 슈퍼줌, 인물사진 등 카메라 기능들이 그대로 사용됩니다.

구글의 타이탄 보안 칩셋이 적용되어있습니다.

3.5파이 이어폰 잭이 있습니다.

방수 방진, 무선 충전 기능이 제외되었습니다.

AR 기반 구글 지도를 사용할 수 있습니다. (픽셀 전 기기 해당)

보안 업데이트 및 OS 업데이트가 3년 동안 제공됩니다.

일반 모델은 $399, XL은 $479부터 시작합니다.





Develper Keynote



1. Kotlin

50% 이상의 안드로이드 개발자들이 코틀린 사용 중입니다.

가장 빠르게 성장하고 있으며, 수많은 라이브러리와 예제들이 쏟아져 나오고 있습니다.

올해 코틀린 관련 행사가 있을 예정입니다.


2. Android Jetpack

작년에 출시한 안드로이드 앱 개발을 가속화하기 위한 API로 올해도 몇 가지 추가 및 오픈소스로 공개되었습니다.

Camera2를 보다 더 편하게 사용할 수 있도록 CameraX를 배포합니다. (API Level 21:롤리팝 이상 사용 가능)

CameraX에는 Backwards compatible · Simple API across devices · Esay and fast, less code · Extension for HDR · Portrait NightMode 등 다양한 기능이 포함됩니다.

Saved State module for ViewModel 제공

Compose 추가, UI를 코드로 쉽게 그릴 수 있는 UI 프레임워크로 AOSP에 포함되어있습니다.


3. Android Studio 3.5 베타 공개

Android Studio 3.5 Beta 1 available


4. Android App Bundle

많은 곳에서 앱 번들 기능을 통해서 앱 용량을 감소시켰습니다.

평균 20% APK 용량 감소됩니다.


5. In-app Update 라이브러리 추가

플레이스토어로 이동하지 않고, 앱 내에서 강제로 앱을 업데이트하거나 권고할 수 있게 됩니다.

onCreate에서 updateIfRequired()를 추가하는 것만으로도 업데이트 화면이 나타납니다.

권고하기 위해서는 표현식을 추가로 붙여주어야 되며, 이 경우 업데이트 버튼이 앱 내에 나타나고, 앱이 실행되는 중에도 업데이트가 가능하며, 완료 후 재시작 안내 문구가 출력됩니다.


6. 어시스턴트, App Actions

어시스턴트를 통해서 한 명령어를 앱에서 받아서 동작할 수 있습니다.


7. 이미지 지연 로딩(Image Lazy Loading)

이미지 태그에서 loading="lazy"를 붙이는 것만으로도 크롬에서 이미지를 지연시켜서 로딩시킬 수 있음


8. web.dev

인터랙티브 코드 랩 사용, React 같은 대중적인 앱 프레임워크 최적화 방법을 포함하여 보다 더 좋은 성능을 위해서 최신 웹 플랫폼을 최대한 활용할 수 있도록 도움을 주는 사이트를 개설했습니다.


9. Linux for Chromebooks

Chromebooks에 Linux 개발 환경 가져왔습니다. VM 및 샌드박스 격리 기술을 활용하고 있으며, 포트포워딩과 웹서버 등 다양한 것을 할 수 있습니다.


10. ML KIT

Android 및 iOS 개발자들은 ML KIT을 통해서 머신러닝 학습을 할 수 있습니다.

59개의 언어에 대해서 보다 빠르고 안정적인 언어 번역으로 제공합니다.

트래킹 기능을 통해서 보다 정확하게 사물을 인식하고 구글 클라우드와 연계하여 검색할 수 있습니다.


11. Cloud AutoML

AutoML을 사용해서 보다 정확한 모델을 찾을 수 있습니다.

대형 CSV 나 DB 테이블을 가져올 수 있습니다.

코딩할 필요 없이 단순한 버튼 클릭만으로 사용 가능합니다.

Video Intelligence는 동영상 콘텐츠를 정의해둔 기준으로 영상을 자동으로 분류할 수 있습니다.


12. TensorFlow 2.0

사용자 정의 모델을 보다 쉽게 빌드하고 배포할 수 있게 되었습니다. (보다 유연하게 관심 있는 플랫폼에 배포할 수 있습니다.)

TensorFlow.js는 브라우저와 Node.JS에서 사용자 지정 모델을 작성하고 교육 및 배포하는 데 도움 줍니다.

TensorFlow Lite는 장애 해결에 도움을 제공합니다.


14. Flutter

Flutter for the web, 모바일 장치를 개발할 때 사용한 코드를 웹에서도 사용할 수 있습니다.

Android, iOS, Mac, Windows, Web 구분 없이 동일한 앱을 제공할 수 있습니다.

모두 자동으로 컴파일되며 네이티브 코드 또는 Javascript로 제공됩니다.





Introducing Google Coral: Building On-Device AI



1. 엣지 인공지능 개발용 통합 하드웨어 & 소프트웨어 플랫폼입니다.


2. TensorFlow와 AutoML을 활용할 수 있습니다.


3. 하드웨어는 다음과 같습니다.

Dev Board : NXP iMX8M SoC와 Edge TPU가 SoM(System on Module)로 만들어진 제품입니다.

USB Accelerator : USB 2.0 및 3.0 이 지원되는 모든 리눅스 시스템(라즈베리 파이 포함)에 쉽게 연동할 수 있는 제품입니다.

Camera : 25 x 25 mm 크기의 5MP 카메라 모듈입니다.

Environmental Sensor Board : 온도, 밝기 등 다양한 센서를 연결할 수 있는 보드입니다.

PCI-E Accelerator : Edge TPU를 보다 손쉽게 기존 시스템과 통합시켜주는 장치입니다. (출시 예정)

SOM 모듈 : 40 x 40 mm 크기의 플러그식 모듈입니다. (출시 예정)





What's New in Android



1. Bubble API

페이스북 메신저 등에서 사용되고 있는 아이콘 터치하면 빠른 사용 화면이 나오는 기능이 안드로이드 표준 API로 새롭게 만들어졌습니다.


2. Dark Theme

앱 개발에 있어서 4가지 옵션이 제공됩니다.
(Dark Theme 사용, 상시, 리소스 바탕으로 자유롭게, 아예 사용 안 함)


3. Q Share sheet

콘텐츠 미리 보기 가능

앱을 실행하지 않고도 누군가에게 빠르게 보낼 수 있습니다.

클립보드에 복사할 수 있는 메뉴가 상위로 나타납니다.


4. Notification action

알림이 오면, 이에 대해서 답변이나 특정한 내용을 바탕으로 앱을 바로 실행시킬 수 있는 메뉴가 제공됩니다.


5. 제스처

다양한 제스처 방식이 있고, 여러 OEM 들과 협력해서 보다 심플한 표준을 만들었습니다.

좌우 사이드 제스처 및 하단의 제스처 바를 통해서 제어 가능합니다.


6. ART(Android Runtime)

App Profiles를 클라우드에서 받을 수 있습니다. => 15% 빠르게 시작할 수 있습니다.

전 세계 사용자들의 단말기에서 최적화된 설정값을 가져오고, 이를 앱 다운로드하면서 제공함으로써, 보다 빠르게 컴파일되어 사용할 수 있습니다.


7. External Storage

targetSDK Q부터는 샌드박스가 기본으로 적용되어 자신의 파일에만 접근할 수 있습니다.

미디어 파일에 접근하기 위해서는 미디어 저장소(MediaStore) API를 사용해야 됩니다.

모든 파일에 접근이 필요로 한 경우에 대해서는 별도의 플래그를 설정해야 됩니다.





What's New with Android for Cars



1. 구글 어시스턴트 드라이브 모드 제공됩니다.


2. Android Automotive OS는 차량에서 사용할 수 있는 안드로이드 기반 OS로, 안드로이드 기반 다양한 앱 및 서비스를 사용할 수 있습니다.


3. OEM은 Android Auto와 Android Automotive OS 중 하나를 선택할 수 있습니다.


4. 안드로이드 오토가 한국에 출시되면서 벅스 및 멜론 등 다양한 호환 앱들이 추가할 수 있었습니다.


5. 무선을 통해서 안드로이드 오토를 사용할 수 있게 된 것은 게임 체인저가 되었습니다.


6. 미디어 검색 및 그룹 메시징 등 보다 접근성이 높아졌습니다.


7. 안드로이드 Auto UI를 개선해서 보다 편리하며 유연하고 쉽게 사용할 수 있게 되었습니다.





Android Jetpack : Understand the CameraX Camera-Support Library



1. Android L 이상 (API Level 21 이상) 사용 가능 (현재 출시된 90% 이상의 기기에서 사용 가능)


2. 고품질의 카메라 성능을 모든 앱에서 제공할 수 있습니다.


3. 기존 Camera2 API에 비해서 사용하기 쉽습니다.


4. CameraX API는 Portrait, Night, HDR, Beauty 등 확장 기능을 사용하기 편리합니다.


5. 다양한 제조사(삼성, LG, 모토로라, 화웨이 등)에서 제휴를 통해 CameraX의 확장 기능이 많은 단말기에서 지원됩니다.





Build Apps for Foldable, Multi-Display, and Large-Screen Devices



1. 다양한 비율, 폼팩터, 복합적인 디스플레이를 사용하는 환경이 늘어나고 있습니다.


2. 안드로이드 Q부터는 minAspectRatio와 maxAspectRatio를 통해서 정확하게 비율을 제어할 수 있습니다.


3. 폴더블에서 화면이 접어지고 펼쳐짐은 resizeableActivity를 통해서 대응할 수 있습니다.


4. 이전에 하나의 액티비티만 동시에 사용할 수 있었다면, Q부터는 Multi-resume 도입으로 동시에 여러 액티비티가 실행 가능합니다.


5. 멀티 윈도우로 열려있는 창끼리 Drag-n-drop이 가능합니다.


6. Muliple instances를 통해서 다양한 화면에서 새로운 화면을 띄울 수 있습니다.


7. 디스플레이 필터링을 통해서 특정 화면에서 동작할 수 있는 것을 지정할 수 있습니다.





Android Memory and Games



1. 메모리 관리는 모바일 장치 게임 개발자에게 어려운 문제입니다.


2. 가능한 많은 메모리를 사용하고 싶지만, 다른 앱 및 시스템, 리소스를 놓고 경쟁해야 됩니다.


3. 콘솔은 정해진 메모리가 있어서 메모리 계산이 편하며, PC는 스왑 공간이 많아서 문제 될 것이 없습니다. 하지만 안드로이드는 메모리가 부족하다면 당신의 게임을 죽게 됩니다.


4. 안드로이드는 리눅스를 기반으로 하기 때문에 리눅스와 마찬가지로 모든 RAM을 사용하고자 하며, 앱을 메모리에 보관합니다. 그 결과 안드로이드 기기에는 많은 메모리가 있으며, 빠른 앱 전환 작업이 가능합니다.


5. 메모리가 부족하다면 kswapd 과 zRAM을 통해서 여유 메모리를 확보합니다.


6. LMK(Low Memory Killer)는 메모리가 부족하면 백그라운드의 앱을 죽여서 여유 메모리를 확보합니다.


7. 하지만, 이 과정을 통해서 게임이 죽기도 하며, 이를 방지하기 위해서 다행히도 onTrimMemory()를 통해서 메모리 부족에 대한 경고를 받을 수 있습니다. 이를 활용해서 상황에 따라 리소스를 줄이는 형태로 앱이 죽는 것을 막으세요.


8. 앱이 죽는 것을 막기 위해 메모리 계산에서 실제 램 크기를 고려해서 필요 메모리를 계산하고 보다 유연하게 메모리를 관리하세요.


9. PSS와 RSS의 차이점을 알고 활용해서 메모리를 효율적으로 관리하세요.





Security on Android: What's Next



1. 모든 사용자와 데이터를 보호하기 위해서 보안은 최우선 순위입니다.


2. 취약점 보상 프로그램을 운영하고 있으며, 현상금을 지불해주고 있습니다.


3. 그 결과 2018년에는 안드로이드 플랫폼에 치명적인 보안 이슈가 없었습니다.


4. 패치 속도를 빠르게 하고 제조사에서 보다 빠르게 패치를 제공할 수 있도록 만들기 위해 OS를 다시 설계했습니다.


5. 2018년 4분기 84%의 기기가 보안 패치를 받은 것으로 확인되었습니다.


6. 개인 정보보호 - 주요 관심사, 운영 체계 전반적으로 변화가 있었고 사용자에게 보다 투명하게 접근을 보여주고 있습니다.


7. 업데이트 가능성 - Project Mayline을 사용해서 몇 가지 시스템 구성요소 및 보안패치를 구글에서 직접 제공합니다.


8. 보안 강화 - 무결성 및 하드웨어, 운영체제 보안 강화, 잠재적인 악용을 막기 위해서 변화가 있습니다.


9. 암호화 - Adiantum : 새로운 암호화 모드, 저가형 ARM 장치의 디스크 암호화에 적합하며, AES보다 5배 빠릅니다.


10. Jetpack에 보안 라이브러리가 추가되었습니다.


11. TLS 1.3 이 기본적으로 활성화됩니다.


12. 보다 강화된 BiometricPrompt API를 사용할 수 있습니다.


13. 올해 초 안드로이드 7+ 이상이 FIDO2 인증을 받았으며 WebAuth를 사용할 수 있습니다.


14. 안드로이드 폰을 보안키로 로그인할 수 있게 됩니다. (프로토콜 표준화 중)





Understanding Android Runtime (ART) for Faster Apps



1. ART는 안드로이드 운영체제와 하드웨어 사이의 계층으로 안드로이드 시스템과 애플리케이션의 실행환경을 제공합니다.


2. ART는 dex 파일을 컴파일하거나 메모리를 관리합니다.


3. 안드로이드 N 이상부터는 설치 후 장치 최적화를 백그라운드에서 진행하고 있습니다.


4. 안드로이드 P 이상부터는 Profile을 통해서 보다 빠르게 장치 최적화를 진행할 수 있습니다.


5. Profile 이 추가된 이후로 앱 시작 속도가 약 15% 빨라졌습니다.


6. 장치들에서 Profile 이 Google Play에 업로드되면, 최적화된 Profile 을 만들어내고, 새로운 기기에 제공해서 장치 최적화에 사용합니다.


7. 안드로이드 Q에서는 Pre-forking app processes에서 Zygote가 제거되어서 사용하지 않습니다.





Google I/O 2019를 보고..


 Yotube에 올라온 177개의 Google I/O 2019 전체 세션 영상들 중에서 크게 관심 가는 것만 골라서 봤는데.. 극히 일부 제외하고는 안드로이드 위주로 보았습니다. 정작 제가 큰 관심을 가지고 파고들어서 봐야 될 것은 AI와 IoT 관련인데 말이지요. 아무리 다른 일을 하고 있다고 하더라도 그만큼 올해는 안드로이드 관련 세션들이 눈에 들어왔습니다.


온 디바이스 방식으로 바뀌어 네트워크가 연결되지 않아도 사용 가능해진 구글 어시스턴트, Q부터 새롭게 지원되는 다크 테마, 프라이버시 세팅 그리고 제스처, 이외에도 Android Auto의 변화, CameraX API 추가, ART App Profile을 통해 보다 빨라진 앱 시작 속도 등 정말 다양한 부분에서 크고 작은 변화가 있었고, 충분히 많은 흥미와 관심이 갈 수밖에 없었습니다.


 그리고, 개인적으로 가장 인상 깊은 부분은 조금 다른 영역에 있는데.. 바로 AI for Everyone입니다.


 이번 Google I/O 발표를 통해서 AI 가 편견을 가지지 않고 모델 해석력을 높이도록 하기 위한 TCAV(Testing with Concept Aviation Vectors)라는 새로운 접근법을 오픈소스로 공개해서 모두가 공정하게 AI 시스템을 만들고 사용할 수 있도록 지원하겠다고 밝혔는데.. 그만큼 공정한 AI를 모든 사람들이 사용할 수 있도록 하겠다는 가치관 자체가 정말 좋게 생각됩니다.


 이 가치관이 잘 유지된다면 언젠가는 모든 사람들이 공정한 AI를 사용할 수 있게 되겠지요.. 그런 세상을 꿈꿔보면서, 이만 나머지 세션을 보러 가도록 하겠습니다 :)


매거진의 이전글 내가 사후지원을 중요하게 보는 이유
브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari