구루의 기술뉴스 : 중국의 모바일앱 UI트렌드,구글의 2015년 계획

구루의 기술뉴스 89회차입니다.

무려 10개월만에 찾아뵙네요. 작년엔 회사가 목표했던 숫자들을 다 이뤄서 꿈만 같습니다.
올해는 작년보다 더 큰 꿈을 그리고 열심히 달려보려고 합니다. 기술뉴스도 열심히 하구요!
2015년 첫 뉴스는 큼직큼직한 글들을 정리한 것으로 시작합니다.

[ 중국의 모바일 앱 UI 트렌드 ]

Chinese Mobile App UI Trends 라는 제목의 Dan Grover 의 상세한 글인데요. 글이 너무 좋아서 요약 번역해봤습니다. 중국 관련해서 모바일 비즈니스를 생각하시는 분들은 필독입니다. 물론 우리나라나 영어권에도 참고가 될만합니다.

  • Input is Hard
    • 중국어 입력은 그들에게도 어려워서 한어병음/필기체인식/피쳐폰방식의 키패드 입력까지 다양하지만, 대부분의 사이트가 영문자로 입력을 받아 중국어 예측검색
    • 음성메시지, 음성검색, 음성인식 에이전트를 선호하고 어디서나 사용
    • QR코드 광고부터 메뉴, 명함, 쿠폰등 일반화 (위챗때문에 이렇게 됨)
  • Indeterminate Badges : 미확인 뱃지 – 알림카운트없이 무언가 “변경” 된것을 알림. 새로운 콘텐츠,새로운 기능, 일부분만 거된 부분에 대한 알림기능 까지를 뱃지로 보여줌
  • Walled Gardens, Portals, Platforms : 다양한 기능을 가진 거대앱.
    • WeChat은 마치 Emacs 처럼 뉴스피드/지갑/에버노트/게임센터/위치기반 사람검색/샤잠같은 음악검색을 다 포함.
    • 바이두 지도는 날씨서비스도 있고, 여행가이드, 지갑기능도 포함.
    • 중국의 트위터 Weibo는 글 작성 버튼 하나로 블로그 부터 레스토랑 리뷰등 무려 10가지의 글작성이 가능. 지갑기능도 포함
    • 이렇게 여러 기능을 몰아서 보여주기 위한 Discover 메뉴의 다양한 활용.
    • 안드로이드에는 무려 10개나 되는 거대 앱스토어가 존재하며, iOS도 커스텀 프로비져닝 프로파일을 설치하고 사용하는 앱스토어도 있는듯(이건 글 저자인 Dan도 아직 명확히 확인하지 못함). 탈옥폰 대상 인 Cydia 도 유명
  • Accounts and Login Screens
    • 많은 사이트의 가입/로그인은 이메일/전화번호로 가능.
    • 각 사이트의 모바일앱을 이용한 QR코드로도 로그인 가능(Line 에서도 지원하는 기능)
    • WeChat,QQ,Weibo,Renren 등을 이용한 써드파티 로그인
  • Chat as Universal UI – 채팅UI를 유니버설한 UI로 활용
    • WeChat 이 “오피셜계정” 컨셉을 활성화 시켜서, 이미지/글자/음성등 다양한 메시지를 이들 계정에 보내고 응답받는 구조. 고객지원부터 뉴스 전달등 다양한 채널로 사용.
    • QQ 와 WeChat 에서 유명해진 Emoji 와 비슷한 아이콘을 많은 앱에서 사용
  • Buying Suff
    • Single-Sign-On 모바일 페이먼트. 많은 앱들이 은행연동기능을 가지고 있고, 자기 자신이 다른 앱을 위한 지갑/PG 형태로 사용 가능.
    • 많은 앱이 직접 은행과의 연동기능(지갑기능)을 다 가지고 있어서, 별도로 지갑/페이먼트 앱을 받을 필요가 없음. 오프라인과의 연계는 QR 코드를 활용. QR코드를 스캔하거나 앱에서 QR코드를 만들어서 POS의 카메라에서 리딩. 돈 보내는것도 가능.
    • 지갑 기능들은 대부분 3/4컬럼 아이콘 배열의 비슷한 형태를 지님
    • 해킹방지등 신뢰할수 있음!을 나타내는 방패 마크.
  • Location, Location, Location
    • 중국앱들은 위치정보를 묻는데 거리낌이 없음. 미국에선 대부분 실패한 근처의 전혀 모르는 사람들과 연결하는 기능들도 잘 사용됨. 이건 아마도 문화적 차이와 사람이 너무너무 많기 때문.
    • 많은 앱들에 로케이션 기반 기능들이 포함.
      1. WeChat 과 QQ 는 근처 사람들 찾기 가능.
      2. Weibo 는 주변의 포스팅 검색이 가능.
      3. Baidu Map 은 실시간으로 주변 사람들이 서버에 올린 위치를 heatmap 기능처럼 볼수 있음
  • Everything Can Be Downloaded – 모든 것들은 다운로드 가능. 음악/TV/영화/뉴스/지도 모든것들이 다운받아서 오프라인에서 볼수 있음. 심지어 영어-중국어 번역앱들도 트레이닝 데이터를 내려받아서 오프라인에서 더 빠른 번역을 하는데 사용. 이런 기능들은 마케팅에서 중요하게 사용되며, 다운로드받을때 화질,용량,남은 용량들의 편의기능들도 제공
  • WeChat의 Moments 기능은 페이스북의 뉴스피드와 비슷하지만 완전히 다름.
    • 필터링이나 우선순위 정렬이 없이 모든 포스트가 다 보임
    • 코멘트를 달거나 Like 하면 양자간의 Mutual 프렌드 끼리만 그 포스트를 다 볼수 있음. ( 페이스북이 요즘 짜증나는게 한쪽만 친구여도 보이는 거)
    • 회사나 뉴스는 피드에 보이지 않음. 오직 친구만.
    • 자동 포스팅 기능 없음. 써드파티 앱도 포스트는 가능하지만 꼭 사용자가 시작해서 확인해줘야만 가능.
    • 게임 없음.
    • 사진을 주로 공유하지만 인스타그램 같은 사진 필터는 없음.

    이런 설계들때문에 WeChat 앱보다 더 많이 빠져들고, 메시지 보내는것과 Moment 확인하는 것이 아주 부드러워서 서로를 쉽게 넘나들음. 이건 마치 카카오톡이 카카오 스토리를 별도앱으로 분리해서 활용하는것과 라인이 라인앱내에서 타임라인을 운용하는것의 차이를 보는듯. 솔직히 제가 요즘 느끼는 페이스북/라인/카카오의 단점들을 다 해결한 형태의 SNS 서비스 군요.

  • 그외
    • 귀여운 마스코트를 로딩/에러등 다양한 곳에서 활용
    • 대기 오염도를 보여주는 기능을 여기저기서 볼수 있음
    • 많은 앱들이 전체화면 광고를 보여주고 직접 뭔가를 구매하것도 가능
    • 많은 앱들이 테마/스킨 기능을 지원.

[ 구글 트래커 2015 – 올해 구글은 무슨 일을 할까 ? ]

ARSTechnica 가 매년 공개하는 구글의 기술 트렌드 리포트 Google Tracker 2015: Everything we know Google is working on for the new year
이 리포트의 2014년 버전 –
The 2014 Google tracker—Everything we know Google is working on this year
은 꽤나 잘 예측했습니다.

  • Nest 기반 홈오토메이션 ( 와이파이 웹캠 Dropcam 과 홈 Wifi 허브 Revolv )
    기사엔 없지만 구글은 이미 Nest와 홈용 네트워킹 스택인 Threadhttp://threadgroup.org/ 를 발표했습니다. 애플의 HomeKit 과 삼성이 구매한 SmartThings 어떤것이 앞서나갈지 모르지만.. 현재는 구글이 가장 공격적으로 확장중입니다.
  • 안드로이드 M 버전
    1. OS 차원의 지문인식 지원
    2. 앱별 권한 관리
    3. 화면 분할 앱 지원
    4. 울트라소닉을 이용한 Copresence ( 작은 방안에서 쉬운 페어링)
    5. 크롬에서 안드로이드앱을 돌리는 유니버설 바이너리
  • 매터리얼 디자인의 웹 통합
  • 구글X 자동차와 구글글래스2, 구글로봇
  • 콤포넌트형 핸드폰 프로젝트 Ara
  • 프로젝트 탱고와 구글의 인공위성
  • 열기구 풍선을 이용한 전세계 네트워크 제공 프로젝트 Loon

구글이 Evil 인지 아닌지 상관없이, 인류에 도움이 되는 기술적 시도들을 가장 많이 하는, 전세계 최고의 야심찬 기술회사라는데 동의 합니다.

[ 인터넷의 두 시대 : Pull 과 Push ]

Chris Dixon 의 글 Two eras of the internet: pull and push 은 Pull은 검색(구글) vs Push는 소셜(페이스북) 이라고 정의하고 비교합니다.

Pull Push
지배적인 플랫폼 Search Social
지배적 플랫폼 회사 Google Facebook
성장시대 2000년대 2010년대
성공적인 콘텐트 타입 유틸리티들 미디어
콘텐트 연속성(durability) Stock Flow
성공적인 퍼블리셔들 TripAdvisor, Wikipedia, Yelp, & 그외 다수 TBD (아직 미정)
마케팅 활동 링크와 알고리즘 공유 와 사람들

큰 차이점은 데스크탑에서 모바일로 바뀌어 가고,지속적으로 흐르는 콘텐츠,네이티브 광고를 통한 직접적 수입창출.
위 도표에서 아직 비어있는 “Push에서 성공적인 퍼블리셔”는 누가 될것인지가 궁금합니다. 각 플랫폼을 잘 이해하고 좋은 피드백 루프를 가지는게 필요.

[ 2015년의 자바스크립트 어플리케이션 아키텍처 ]

2015년의 자바스크립트 어플리케이션 아키텍쳐 : 구글 폴리머팀 Addy Osmani 의 글 – JavaScript Application Architecture On The Road To 2015. 복잡하고 긴 글이지만, 관통하는 메시지는 “모듈화와 조합”

  • Composition : 모듈화를 통한 조합이 더욱 크고 복잡해지는 어플리케이션에 대한 해결책
  • Component Messaging : 모듈화 되면서 커플링을 줄이기 위해, API 직접 호출보다는 CSP(Communicating Sequential Processes)와 같은 메시지 전달방식이 중요해짐
  • ES6 & Browserify : ES6 의 모듈과, 브라우저에 모듈을 로딩하는 Browserify
  • Service Worker 를 이용한 진정한 Offline Mobile Web 지원

[ 2014년에 채용되었던 사람들 사이에서 가장 인기있었던 기술들 25가지 ]

The 25 Hottest Skills That Got People Hired in 2014 – 링크드인의 3억명 멤버들 프로필을 조사한 결과.

 

대학생을 위한 웹 개발 공부용 체크리스트

제가 2012년부터 대학교 3학년 대상으로 강의를 하고 있습니다. 들어보니 요즘 전산 관련학과 학생들은 1년 정도 휴학이 기본이라고 하더군요. 원래 개발을 잘하는 친구들이야 알아서 뭔가 하겠지만, 대부분의 경우 학과에서 배우는 것만으로는 뭔가 부족하다고 느껴서 휴학을 하고 뭔가를 해보려고 한답니다. 하지만 휴학에서 돌아온 친구들에게 물어보면, 딱히 뭔가를 했다는 것을 듣기가 어렵습니다. 누구의 도움 없이, 잔소리 없이 개발 공부를 한다는 것은 참 어렵습니다. 더구나 웹 개발은 너무나 방대해서,뭘 해야 할지도 잘 모를 겁니다.

그래서 아직 개발에 익숙하지 않은 전산과 대학생들에게, 뭘 해보면 좋을 지를 알려주는 체크리스트를 주면 어떨까 하는 생각이 들어서 이번에 휴학하는 친구들을 실험 대상으로 삼아서 만들어 보고 있습니다. 물론 본인의 노력이 있다면 휴학하지 않고도 가능할 것 같습니다 😉

이 리스트는 개발의 원리를 깊숙이 이해하는 것을 목표로 하기 보다는, 웹 기술 자체에 대한 흥미를 느끼고 관련된 것들을 만들어 보면서 성장하는 것을 목표로 합니다.

혹시 이걸 따라해 볼 대학생 분들! 아래 항목들만 따라하기 보다는 각 항목에 나오는 기술/단어/제품들에 대해서 가능한 상세히 살펴보는것을 권장합니다. 구글에 해당 단어만 치면 온갖 좋은 설명자료들이 튀어나올겁니다. 삽을 깊숙이 파는걸 두려워 하지 마세요.

아래 튜토리얼 내용은 GitHub에 등록되어 여러 선배 개발자분들의 도움으로 계속 업데이트 되고 있습니다.
최신버전은 깃허브에 있는 내용을 참고하세요. http://github.com/xguru/WebDevTutorial

Codecademy 개편으로 한국어 강의는 없어졌습니다. 비슷한 내용을 Mozilla 의 한국어판 웹사이트에서 보셔도 됩니다.
    *   Web 개발 학습하기 https://developer.mozilla.org/ko/docs/Learn
        HTML / CSS / JavaScript / Python / Node.js 등을 설명하는 웹사이트 입니다.
  • 아마존에 EC2 인스턴스 만들기 – 돈안드는 마이크로 인스턴스로
    일단 웹 개발을 시작하기 전에 자신이 만들 웹사이트가 들어갈 서버를 만들어 보는 것도 필요합니다. 예전엔 이런거 할때 Vmware/VirtualBox 같은 가상머신 설치하고 해보라고 했지만, 요즘은 그냥 바로 클라우드로 테스트 하는게 더 좋습니다. 아마존 웹서비스에 대해서 알아둔다 생각하고 관련된 것들을 가능한 많이 읽어보기를 권합니다. 생활코딩의 AWS 가이드아마존 웹 서비스를 다루는 기술 같은 책을 참고하셔도 됩니다만, 가능하면 한글화 되어있는 아마존의 EC2 가이드 와 같은 공식 매뉴얼을 참고하셔서 직접 공부하면서 보시기를 권합니다.

    • Ubuntu 인스턴스 만들어보기
    • Apache 설치해 보기
    • PHP 설치해 보기
    • MySQL 설치해 보기 – ( AWS 에서는 RDS를 쓰는게 보통이겠지만, 설치 경험이므로 그냥 한번 설치해봅니다. )
    • 위의 Apache/PHP/MySQL 을 RedHat 인스턴스로 만들어서도 한번 해보면 좋습니다.
  • 아마존 EC2에 WordPress 설치해 보기
    개발하기 전에 방금 만든 서버에 자신이 쓸 블로그를 하나 설치해봅니다. 가입형 블로그가 아닌 설치형 블로그를 한번 만져보는 것도 도움이 됩니다.

    • 한개의 인스턴스에 MySQL로 설치해보기
    • 위 인스턴스 설정과 다르게 RDS 이용하는 형태로 설치해보기 – AWS에 워드프레스 설치하기 참고
    • 워드 프레스 설치후 글 3개 이상 써보기 – 위의 과정과 앞으로 이 체크리스트를 따라하면서 겪은 일들/배운 점등을 적어보면 어떨까요?
    • 필수 플러그인 뭔지 하나하나 자세히 알아보고 설치 해보기 – Akismet , WordPress SEO by Yoast, WP Super Cache , Jetpack by WordPress, Google XML Sitemaps, Twitter Tools , WPTouch , Google Analytics for WordPress
    • 맘에 드는 테마 하나 입혀보기
  • 자신의 도메인 등록 하고 사용하기
    이제 위에서 만든 블로그를 자신의 주소로 만들어봅니다. 도메인을 구입하고, 네임서버에 등록하고 하는 과정을 알아봅니다. 그리고 가능하면 자기 도메인으로 이메일주소를 만들어서 사용해 봅니다. 개발자라면 이력서에 naver.com/gmail.com 보다는 자신의 도메인 메일 주소가 있는게 더 좋지 않을까요 ? ^^

    • 자신의 도메인 구입해서 등록해보기 ( SiteX.com 과 같은 형태의 도메인 )
    • DNSEVER 에 가입하고 자신의 DNS 서버로 등록해보기
    • 자신의 EC2 인스턴스에 Public IP 등록하고 위의 도메인을 연결해보기 ( blog.SiteX.com )
    • 자신의 도메인에 구글앱스 등록해보기. 지메일,캘린더 등을 자신의 도메인에 사용(30일간만 무료, 계속 사용시 월 $5 필요)
    • 구글앱스 대신 네이버 Works 무료 사용가능 https://works.naver.com/
  • 직접 웹 사이트 만들어 보기 ( 뒤에는 SiteX 라고 부르겠음 )
    웹사이트 만들기는 정작 내용이 많지 않습니다. 하지만 이 튜토리얼중 아마도 가장 오래걸릴지도 모릅니다. 앞에 Codecademy 에서 배운 인터랙티브 웹사이트 같은것을 한번 만들어 보는걸 목표로 합니다. 자신이 간단한 아이디어를 내고 그걸 구현해 보는 것도 좋고, 다른 유명한 서비스를 한번 따라해서 만들어 보는것도 좋습니다. 아이디어를 내고 개발에 들어갔다면 개발하면서 다음 단계를 같이 병행하세요.

    • 손에 익은 개발 언어로 EC2인스턴스에 간단한 웹사이트 구현 – 복잡한것 말고 간단한 것으로 ( 체크리스트 , 간단한 게시판등 )
    • http://getbootstrap.com/ 활용해서 디자인 신경쓰지 말고 만든다.
    • 프론트엔드에선 시대의 대세인 AngularJS 같은 걸 공부해보는 것도 좋습니다.
    • 백엔드는 왕도가 없지만, Python+Django ,Python+Flask , Node.js + Express , Ruby + Rails 같은 것으로 시작해봅니다.
    • DNSEVER 에서 이 웹사이트를 www.SiteX.com 으로 연결해보기
    • DB가 필요한 사이트가 대부분이므로 MySQL 사용법 공부 – 생활코딩의 MySQL강의
  • Git 공부하기
    아마 앞에서 웹사이트를 그냥 만들어 봤다면, 소스를 저장하고 버전별로 관리하는게 어렵다는걸 느꼈을겁니다. 이제 Git 을 배워봅니다.

  • Facebook 관련 개발 알아보기
    페이스북은 10억 이상이 쓰는 거대한 SNS 이기도 하지만, 웹 환경에서 다양한 기능을 통해 수많은 웹사이트들과 연결되어 있습니다. 일반 웹사이트에 붙어있는 좋아요 버튼이 어떻게 동작하는지 알아보고,좋아요 버튼을 내 웹사이트에 붙여봅니다. 아예 로그인을 페이스북으로 하는 웹사이트를 만들어 봐도 좋습니다. 페이스북은 이제 자신이 만드는 웹사이트와 떼어낼 수 없는 관계입니다.

  • Twitter 관련 개발 알아보기
    트위터 역시 다양한 웹사이트들과 연결이 됩니다. 공유버튼,트위터 카드등을 한번 적용해 보고, 자신이 만든 사이트에 새로운 글이 올라오면 자동으로 트윗하는 API 연동기능을 개발해 봅니다.

  • Google Analytics 공부하기
    내가 만든 웹사이트에 어떤 사람들이 오는지 통계를 확인하는데에는 Google Analytics 가 가장 유명합니다. 이건 구글이 직접 만든 강좌를 통해서 GA 에 대해서 알아보고, 자신이 만든 사이트에 GA를 설치해봅니다. 그리고 Funnel 이라는 것을 이해하고, 자신의 사이트에 방문한 사용자들이 주 목적 페이지 (쇼핑몰이면 결제완료페이지, 일반 사이트라면 회원가입완료 페이지 등)에 얼마나 도달하는지 알아봅니다.

  • SEO – Search Engine Optimization 알아보기
    사람들이 내 사이트에 어떻게 처음으로 방문할까요? 광고나 누군가의 소개를 통하지 않는다면, 대부분 인터넷 검색을 통해서 찾아오게 됩니다. 구글 검색엔진에서 내 사이트가 잘 보이게 하려면 어떻게 하는지를 배워봅니다.

  • 온라인 마케팅 공부하기 with 구글 Adwords
    내가 만든 사이트에 아무도 오지 않는다면, 웹에서 광고를 한번 해봅니다. 구글의 돈줄인 Adwords 에 대해 알아보고, 내가 만든 사이트를 한번 적은 금액으로 광고해봅시다. Conversion Tracking 이라는 것을 이해하고, 광고를 통해 얼마나 많은 사람들이 내 사이트의 회원이 되는지, 상품을 구매하는지 등을 알아보는 것이 가능하다는걸 배워봅니다.

아직 실험대상?들이 이걸 시행해본게 아니어서 계속 추가되고 변경될 것 같습니다.
이 내용은 GitHub에 공개되어 있으니 도움 주실 개발자 분들은 GitHub 에서 풀리퀘 날려주세요 😉

http://github.com/xguru/WebDevTutorial