행사의 두 번째 날이 밝았으나... 이 날은 늦잠을 자고 말았다. 맞춰둔 알람은 제대로 듣지도 못하고 정신을 차리니 시간은 10시를 향해 가고 있었다. 이 때문에 9시 세션이었던 Polymer를 놓치는 불상사가 발생. 다행히 동영상으로도 제공되는 세션이라 최악의 상황은 면할 수 있었다.
오전부터 이번 IO의 기념품(?)인 넥서스9를 나눠주고 있었다. 집에서 이미 사용 중인 테블릿이 한 대 있고 그 활용도가 높지 않은 상태라 그런지 감동같은 감성적인 생각보다는 짬내서 안드로이드 M이나 올려봐야겠다는 생각이 들었다. 아직 올려보진 못했지만. 내심 테블릿 대신 핸드폰을 바랬는지도 모르겠다.
첫째 날 세션 중에 Notifications API가 구현되어 브라우저에 추가된 내용을 발표하는 자리가 있었는데 그 활용편이다. 웹사이트에서 알림을 사용하는 예제를 보여주는 세션이었다.
Notification을 구현하기 위해 위와 같이 세 가지 API를 같이 사용하게 된다.
Service worker에서 디버깅을 하려면 위 사진의 주소를 크롬브라우저에 입력하면 된다. 지금 사용 중인 브라우저에 입력해보니 구글 IO 사이트와 medium의 Service worker가 등록되어 있다.
성능 최적화 세션에 들어왔더니 이렇게 세 가지 숫자를 보여준다.
항상 느끼는 것이지만 이 동네 사람들은 경험을 정리하고 구조화하고 이름을 붙이는 것을 잘한다는 생각이 든다. 반면 우리나라 개발자들은 개발은 잘 하지만 이런 작업에는 약하다는 생각이 든다.
사용자의 각 동작을 RAIL에 맞게 분류한 화면이다. Animation은 16ms마다, 응답은 100ms보다 짧은 시간에, 로드는 1000ms 내에 화면이 갱신되어야 한다는 것이 RAIL의 개념이다. 시간표를 짤 때 처음 제목을 보고는 Ruby on Rails를 떠올렸다. 좀 노린 것일지도 모르겠다. 물론, 설명을 보고 금방 아닌 것을 알았지만.
왼쪽의 Paul Irish(@paul_irish)와 오른쪽의 Paul Lewis(@aerotwist). 위 사진의 RAIL 세션과 이어서 진행된 성능 최적화 세션은 두 명이 메인 스피커를 번갈아가며 진행했다. 개발자들을 대상으로 하는 직업탓인지 서로 이름이 Paul이라는 농담도 해가며 재미있게 진행했다. 위 사진에 보이는 슬라이드 첫 장에 Paul Irish의 이름밖에 없자 자기의 이름도 넣어달라며 장난을 치기도 했다. Paul Irish는 그에 응해 자기 이름보다 Paul Lewis의 이름을 더 크게 넣기도. 세션 내내 흥겨운 분위기였다.
앞 세션에서 했던 RAIL를 다시 설명하고 있다. 이번 행사에서 모바일 웹 성능 최적화에 대한 세션은 다 RAIL 키워드를 중심으로 진행됐다. 당분간은 계속 이 키워드를 사용할 듯 싶다.
이 세션은 실제로 모바일 웹 성능 최적화를 진행했던 ESPN 사이트에 대한 설명이었는데 세션의 막바지에 청중들로부터 최적화를 하기를 원하는 사이트를 받아 분석하는 과정을 간단히 보여줬다. 슬라이드에 박혀 있는 고정된 그림으로 보다가 개발자 도구를 사용하여 문제가 되는 부분을 찾아가는 것을 보니 상대적으로 잘 와닿는 느낌이랄까.
시간표에 잡아뒀던 세션을 모두 마치고 행사장을 찍어봤다. 이틀동안 진행된 행사이긴 했지만 작은 세션들의 경우 두 번씩 하는 경우가 대부분이어서 실제로 느끼는 세션의 수는 더 적었다. IO에 다년간 참석했던 다른 사람들의 이야기를 모아보면 1. 작년보다 볼만한 것이 줄어든 것 같다. 2. 웹은 이제 두 번째 기술로 삼아야 하는 듯. 3. 작년에는 강의실 형태로 구성됐었는데 이번에는 이렇게 열린 형태로 구성되며서 강의 스타일보다는 구글 개발자와 직접 이야기하며 궁금한 점을 해결하는 형태로 바뀌는 것 같다. 4. 디자인 세션이 늘어난 듯. 아마 내년에는 더 늘어나지 않을까? 5. 시작은 개발자 행사였는데 점점 개발자 행사같이 생각되지 않는다. 등등이 있었다.
개인적으로는 안드로이드(모바일)이 50%, 사물인터넷이 20%, VR/AR이 20% 나머지가 10% 이하의 비중으로 느껴졌다. 특히나 웹의 경우에는 발전 혹은 혁신이라고 생각할만한 내용이 전혀 없었다. Service worker나 Notifications같은 경우에는 이미 한참 전부터 언급되던 것이 이번에 Stable 버전에 들어간 정도라 별로 와닿지 않았다. 이미 몇 달 전 국내에서 Service worker에 대한 이야기를 들었기에 신선함이 떨어졌을 수도 있다. 안드로이드 M에서 크롬이 웹뷰 대신 들어간다는 것도 있었지만 딱히 와닿지는 않고. 이는 개발 부담을 줄이려는 시도가 아닐까 싶기도 하다. 당분간은 Specification상에 존재하는 웹은 점점 발전하겠지만 사용자가 느끼는 웹은 상당히 정체되어 있을 것 같다. 물론 여기서 말하는 웹이란 브라우저에서 동작하는 것을 의미한다.
이런 행사에 참여하면 웹페이지를 통해 보는 것보다 더 생생하게 세상의 흐름을 느낄 수 있게 되는 것 같다. 무엇보다도 같은 경험을 공유한 사람들의 생각을 들을 수 있고 웹페이지에 나올 만큼의 뉴스꺼리는 아니지만 중요한 사실들을 알 수 있게 된다. (가령, 예전에는 웹쪽 일을 했던 구글러가 이제는 사물인터넷쪽 일을 한다던가 하는...) 이런 사실들이 모여 가리키고 있는 한 방향을 몸으로 느끼게 되는 것이 아닐까. 이런 행사에 참여하는 것이 여러 모로 쉬운 일은 아니지만 기회가 올 때마다 잡을만한 가치는 있다고 본다.
그리고 구글 IO의 세션 비디오가 공개됐다. 전체 세션은 아니고 강의실같은 장소에서 진행됐던 세션의 동영상이다. 한글 자막은 없지만 영어 자막이 포함되어 있으니 [cc] 메뉴를 눌러 켜놓고 보면 도움이 될 것이다. 한글로 기계 번역하는 메뉴가 있긴 한데 추천할만한 번역은 아니므로 영어로 보는 것을 추천한다.