저희는 입력보다도 빠른 검색 경험을 제공하는 구글 순간검색을 소개해드렸습니다. 이는 사용자가 검색어 입력을 완료하기 전에 검색결과를 얻는 검색입니다. 구글맵스와 지메일도 그랬듯이, 순간검색을 위해 정적인 HTML 페이지를 에이잭스(AJAX) 애플리케이션으로 전환시켰습니다. 보다 자세한 내용은 지난번 블로그 글을 보시면 됩니다만 이런 기능을 만드는 과정에서 설계, 구조 및 로깅에서 저희가 직면했던 여러 기술적 어려움도 여러분과 함께 공유하고 싶었습니다.
설계 과제: 검색결과는 관련성이 높으면서도 사용자의 시야를 방해하지 않아야 한다.
설계상의 핵심 과제는 사용자를 방해하지 않으면서 관련성 있는 결과를 제공해야 한다는 점이었습니다. 저희는 올바른 디자인을 찾기까지 엄청난 테스팅을 거쳐야 한다는 사실을 알고 있었습니다. 그래서 저희는 여러 프로토타입을 만들어보고, 사용자 반응 연구 (지역사회 주민 참여 테스트), 도그푸딩(dogfooding, 구글직원 참여 테스트), 검색실험(search experiments) (소수의 구글 사용자 그룹 테스트)을 거쳤습니다. 초기 프로토타입 중 일부는 완벽하지 않았습니다. 예를 들어 사용자가 입력을 멈출 때까지 기다렸다가 검색 결과를 보여주는 프로토타입도 있었지만, 만족스러운 성과를 거두지 못했습니다. 그리고 속도가 더욱 빨라야 성공적인 결과를 얻을 수 있다는 것을 깨달았습니다. 저희는 확률에 근거해 다양한 검색어 결과를 그룹화해서 보여주는 다른 인터페이스를 고려했습니다.
예를 들면 아래와 같습니다:
<그룹화 검색 결과의 프로토타입>
<혼합 검색 결과의 프로토타입>
그러나 그룹화 또는 혼합해서 검색결과를 보여주는 인터페이스는 검색어 입력을 함과 동시에 모든 검색 결과를 훑어보기란 매우 어려워 보였습니다. 따라서 단일 검색을 기반으로 한 모델을 채택해, 조화롭게 구동되는 두 가지 기능을 생각해냈습니다. 우선 검색창에서 예측 되는 검색어 부분을 회색으로 처리하고, 이어서 사용자가 입력 하는 도중에 상위에 나오는 결과를 실시간으로 업데이트하는 것이었습니다. 사용자 연구 결과를 통해 사람들이 구글과 상호작용하는 새로운 방법을 빠르게 터득하고 있다는 것을 알 수 있었습니다. 즉, 사용자는 회색 부분의 텍스트가 자신이 의도하는 검색어와 일치할 때까지 입력을 계속하며, 그 후에 해당 결과로 시선을 옮긴다는 점입니다. 그러나 구글의 놀라운 속도 때문인지 대부분의 사용자는 변화를 인지하지 못하는 것을 발견했습니다. 순간검색이 얼마나 자연스럽게 접목되고 있는지 확인한 후, 저희도 놀랐습니다.
인프라 도전과제: 기존 표준 검색보다 5 ~ 7배 더 많은 결과 페이지
지난 10년간 구글 검색은 성능과 속도를 최적화하기 위해 노력을 기울여 왔으며, 이를 통해 얻은 교훈은 매초가 중요하다는 점이었습니다. 저희가 인프라팀에게 “구글 순간검색으로 검색어 당 결과페이지가 기존에 비해 5-7배 많아지게 될 것”이라고 하자 처음에는 아연 실색했습니다. 하지만 결국 인프라팀은 이를 가능케 하는 방법을 찾아냈습니다! 순간검색이 나오기 이전에도 구글은 하루에 10 억개 이상의 검색어를 처리했으며, 저희의 시스템은 이러한 검색이 최대한 빠르게 (일반적으로 0.25 초 미만) 가능하도록 최적화돼 있었습니다. 그렇다면 기존의 시스템에서 오류나 지연 없이 더 많은 검색 결과가 나오게 할 수 있었던 비결은 무엇일까요?
한 가지 방법은 단순히 서버 용량을 대폭 늘리는데 투자하는 것이었습니다. 하지만 저희는 이 보다 현명한 방법을 찾고 싶었습니다. 저희는 시스템의 백 엔드(back-end) 용량을 증가 시키기도 했지만, 동시에 다양한 전략을 효과적으로 추진해 순간검색의 엄청난 테이터 처리 수요를 해결했습니다. 이들 중 일부는 매우 기술적이며, 다음은 이와 같은 예를 정리한 내용입니다.
-지속적으로 크롤링(crawl) 및 색인 재생성(re-index) 작업을 함과 동시에, 항상 최신의 결과 페이지를 유지하면서 빠른 요청 속도를 처리할 수 있는 새로운 캐시를 개발했습니다.
-사용자에게 이미 보여진 결과 페이지를 추적하기 위해 사용자 속성 데이터를 백엔드에서 처리하도록 했습니다 – 이렇게 하면 동일한 결과를 반복적으로 가져 올 필요가 없기 때문입니다.
-저희는 이 시스템의 나머지 부분은 웹 브라우저가 처리할 수 있도록 페이지- 렌더링 자바 스크립트를 최적화했습니다.
결국 이 같은 노력 끝에 여러분에게 순간검색을 선보일 수 있게 되었으며, 동시에 사용자가 구글에 기대하는 수준의 빠른 검색 속도는 그대로 유지했습니다.
엔지니어링 팀
구글 순간검색 프로젝트가 막바지에 이르자 저희는 핵심 개발팀을 본사 건물 내 두 개의 커다란 방으로 모은 뒤, 매일 50 명 이상의 사람들이 참여하는 스탠딩 회의를 했습니다. 이러한 힘든 과정 끝에 순간검색을 세상에 내놓게 되어 매우 기쁘게 생각합니다! 하지만, 이는 “대화형” 상호작용 검색의 시작에 불구합니다. 항상 그래왔듯이 구글은 새로운 시도를 추구해 나갈 것입니다. 그리고 여러분의 피드백에 힘입어 순간검색을 꾸준히 발전시킬 수 있길 고대합니다! 지금으로선 매우 큰 변화이지만, 언젠가는 지난날을 뒤돌아보며, 순간검색이 없는 검색을 떠올리기 힘든 날이 올 것이라 믿습니다.
구글 순간검색 개발팀 일원들이 순간검색 출시 발표를 지켜보고 있다.
작성자: 구글 책임 엔지니어(Distinguished Engineer) 벤 곰스 (Ben Gomes)
안드로이드와 안드로이드 마켓이 처음 등장한 이후 안드로이드 사용자와 안드로이드 탑재폰의 수가 많은 국가에서 빠르게 증가해 왔습니다. 이에 따라 폭넓은 확산에 따라 보다 많은 국가에서 구매자와 개발자를 위한 안드로이드 마켓 유료 애플리케이션을 지원하자는 의견이 제기되어 왔습니다.
구글은 이러한 니즈에 부응하기 위해 최선을 다해왔으며, 오늘부터 추가적으로 20개 국가의 개발자들이 유료 애플리케이션을 판매할 수 있게 되어 매우 기쁘게 생각합니다. 이와 더불어, 앞으로 2주 사이에 추가적으로 18개 국가의 사용자들이 유료 애플리케이션을 구매할 수 있게 될 예정입니다.
이에 따라 개발자를 위해 유료 애플리케이션 판매 지원을 하는 국가는 총 29개로 확대됐습니다. 오늘 새롭게 추가된 국가는 아르헨티나, 호주, 벨기에, 브라질, 캐나다, 덴마크, 핀란드, 홍콩, 아일랜드, 이스라엘, 멕시코, 뉴질랜드, 노르웨이, 포르투갈, 러시아, 싱가포르, 대한민국, 스웨덴, 스위스, 대만(영어 알파벳순)입니다.
또한 사용자들이 안드로이드 마켓에서 유료 애플리케이션을 구매할 수 있는 국가에 아르헨티나, 벨기에, 브라질, 체코, 덴마크, 핀란드, 홍콩, 인도, 아일랜드, 이스라엘, 멕시코, 노르웨이, 폴란드, 포르투갈, 러시아, 싱가포르, 스웨덴, 대만(영어 알파벳순)이 추가됨으로써, 총 32개 국가의 사용자들이 안드로이드 마켓 유료 애플리케이션을 사용하실 수 있게 되었습니다. 유료 애플리케이션의 판매 대상 국가를 “모든 지역(all locations)”으로 설정해놓은 개발자는 추가된 국가들에서 애플리케이션을 판매하기 위해 별도의 설정을 하지 않아도 됩니다. 그러나 “모든 지역”으로 설정하지 않았지만 신규 추가 국가에서 애플리케이션을 판매하고자 하거나, ‘모든 지역’으로 설정하였지만 오늘 새로 추가된 국가에서 판매를 원치 않는 개발자의 경우 앞으로 2주 사이에 안드로이드 마켓 퍼블리셔 사이트(Android Market publisher site)를 방문하셔서 필요한 설정을 하시면 됩니다.
앞으로도 저희는 안드로이드 마켓에서 구매자와 판매자에 대한 지원을 더욱 강화하고 보다 많은 국가에서 안드로이드 유료 애플리케이션 구매 및 판매가 가능해지도록 노력할 것입니다. 여러분의 지속적인 관심 부탁드립니다.
검색어를 입력하는 동시에 검색을 한다? 사용자가 검색어를 입력하면서 동시에 검색결과를 볼 수 있다는 것은 매우 간단한 아이디어입니다. 검색어의 일부만으로도 검색이 가능하고, 검색 도중에 사용자에게 필요한 제안을 하는 기능은 미래의 검색 기술을 상상하며 그동안 몇 차례 소개된 적이 있는데, 1999년에 아밋 파텔, 2003년에 니킬 바틀라 등 그동안 이러한 상상을 현실화하기 위해 여러 개의 데모를 만들어 오기도 했습니다. 입력과 동시에 검색을 하는(search-as-you-type) 데모 버전은 시사하는 바가 큽니다. 재미있고, 빠르며, 인터렉티브한 것이지만 근본적으로 문제가 있었습니다. 왜냐고요? 왜냐하면 사용자가 입력하는 동안의 검색결과를 원하지 않기 때문입니다. (가령 [자전거 헬멧]을 검색하는 도중에 [자전거 ㅎ]에 대한 검색결과는 원치 않는 것과 같습니다.) 사용자가 원하는 것은 입력하기도 전에 검색하는 것(search-before-you-type)입니다. 이는 곧 이미 입력한 검색어의 일부를 토대로 가장 가능성이 높은 검색 결과를 원한다는 말입니다.
그러나 검색어를 입력하기 전에 검색결과를 나오게 한다는 것은 쉬운 일이 아닙니다. 그래서 오늘 저희가 발표하는 구글 순간검색(Google Instant)에 대해 매우 기쁘게 생각합니다. 구글 순간검색은 검색어 입력을 완료하기 전에 검색결과를 얻는 검색입니다. 이미 입력된 내용만을 가지고 가장 가능성 있는 완성된 검색어를 예측하고 그러한 예측에 맞춰 실시간으로 검색결과를 보여주는 것입니다. 다시말해 인터렉티브하고, 예측적이며, 강력한 검색으로 더욱 스마트하고 빠른 검색이 가능합니다.
구글 순간검색의 핵심 특징을 요약하면 다음과 같습니다.
역동적으로 움직이는 검색 결과 - 구글은 검색어 입력에 맞춰 관련성 높은 검색 결과를 역동적으로 보여줍니다. 이를 통해 사용자는 필요한 웹 콘텐츠를 빠르게 확인할 수 있습니다.
예측 텍스트 – 구글 순간 검색의 주요 기술 중 하나는 사용자가 검색어를 모두 입력하기 전에 검색어를 예측해, 밝은 회색으로 표시해 줍니다. 사용자가 찾는 검색어가 나오면 입력을 멈추고 검색창 아래에 나온 검색 결과를 보면 원하는 정보를 찾을 수 있습니다.
스크롤을 통한 검색 – 예측 검색어 리스트에서 아래로 스크롤하여 각 검색어에 해당하는 검색 결과를 즉시 볼 수 있습니다.
아래 동영상에서 구글 순간검색에 대한 보다 자세한 내용을 확인해 보실 수 있습니다.
구글 순간검색을 가능하게 하기 위해 구글은 다양한 새로운 기술을 도입했습니다. 새로운 캐시 시스템과 결과 페이지가 나오는 속도를 적절히 조절할 수 있는 시스템을 개발했고, 시스템의 나머지 부분에 웹 브라우저가 부응할 수 있도록 페이지-렌더링 자바 스크립트를 최적화했습니다. 결국 저희는 사용자가 구글에 기대하는 속도와 간결함을 그대로 유지하면서, 사용자가 입력하고 생각하는 속도에 맞춰 검색할 수 있는 시스템을 개발했습니다!
구글 순간검색이 사용자에게 돌려주는 혜택은 다양한데요, 그 중 가장 큰 혜택은 시간절약입니다. 실제로 측정해 본 결과 구글 순간검색은 검색어 한 개당 평균 2초에서 5초 정도를 줄일 수 있는 것으로 나타났습니다. 별로 큰 차이같아 보이지 않을 수도 있지만 이 시간이 모이면 저희 사용자들은 매 1초 당 총 11시간을 절감할 것으로 예측합니다.
이번 저희 출시에 맞춰 구글 순간검색은 Google.com에서 크롬, 파이어폭스, 사파리 및 IE8을 통해 만나보실 수 있습니다. 아울러, 구글 순간검색이 실행 가능한 브라우저를 사용하는 프랑스, 독일, 이탈리아, 러시아, 스페인, 영국의 로그인한 사용자들에게도 구글 순간검색을 제공합니다. 앞으로 몇 주, 몇 달 내로 모든 지역과 플랫폼에서 구글 순간검색을 제공할 예정입니다.
오늘 저희의 발표에 대해 매우 흥분해있는데요, 여러분도 같은 마음이길 바랍니다. 구글 순간검색을 사용해보시고 피드백 부탁드립니다!
작성자: 검색 제품 및 이용자 경험 부문 부사장 마리사 마이어(Marissa Mayer)
*google.co.kr에는 아직 적용되지 않습니다. 조만간 출시될 예정이니 많은 기대 부탁드립니다.
저는 지난 밤 1985년의 영화 백 투 더 퓨처(Back to the Future)를 본 뒤 시간에 따라 얼마나 많은 것이 변할 수 있는가 하는 생각이 문득 들었습니다. 주인공 마티 맥플라이는 30년 전으로 시간 여행을 합니다. 그리고 자신의 집이 당시엔 아직 지어지지 않았다는 것을 알게 됩니다. 스케이트보드도 없었으며, 로큰롤은 들어 본 사람도 전혀 없었습니다.
오늘 2주년을 맞이하는 크롬의 과거를 돌이켜보면, 그 짧은 기간 동안 얼마나 많은 변화가 있었는지 놀랍기만 합니다. 2008년 8월 자바스크립트는 지금보다 10배 느렸습니다. HTML5 지원은 현대식 브라우저에서는 필수 기능이 아니었고, 보안 기능이 강화된 가상의 다중 프로세스 브라우저는 연구 프로젝트에 불과했습니다. 지금 쓰는 모든 브라우저들은 지난 2년 동안 나왔습니다. 그리고 웹은 더욱 재미있고 유용해졌습니다.
크롬의 윈도우용 첫 번째 베타 발표이후, 저희는 맥과 리눅스용 버전을 업데이트했고, 이후 이들 세 가지 플랫폼의 속도, 심플함, 보안 요소를 계속 향상시켜왔습니다. 그 사이 수 많은 기능도 소개됐습니다. 사용자들이 조작할 수 있는 기능이 더욱 강화된 새 탭 페이지, 브라우저 테마, 두 개의 페이지를 나란히 볼 수 있는 기능, 비밀번호 매니저, 향상된 개인정보 관리, 플래쉬 플레이어 내장, 자동완성, 자동번역, HTML5 지원, 북마크, 테마, 확장기능, 브라우저 설정과 같은 다양한 설정의 동기화는 이러한 몇 가지 예입니다. 마지막으로 크롬 확장 프로그램은 현재까지 6000여개가 개발돼 저희 갤러리에 올라와 있으며, 이들 프로그램이 사용자의 브라우징 경험을 향상시키고 있습니다.
잘 드러나지는 않지만 저희는 보안기능도 끊임없이 업데이트해 안전한 웹 브라우징을 돕고 있습니다. 여기에는 크롬의 안전 브라우징(Safe Browsing) 기술이 있는데 이는 사용자가 피싱이나 멀웨어 감염이 의심되는 사이트에 접근할 때 경고를 해주는 기술입니다. 크롬의 자동 업데이트 메커니즘은 사용자의 브라우저가 항상 최신의 보안 기능과 브라우저의 “샌드박스(sandbox)”를 반영할 수 있도록 도움을 줍니다. 샌드박스는 보안기능을 강화하기 위해 추가된 보호층으로 사용자가 방문한 웹사이트의 악성 코드가 사용자 컴퓨터를 감염시키는 것을 막아줍니다.
과거의 크롬: 첫 번째 베타버전!
현재의 크롬: 오늘 발표된 최신 버전
오늘 저희는 더욱 빠르고 효율성을 높인 새로운 안정적인 크롬 버전을 소개해 드립니다. 지금의 크롬은 2년 전에 비해 자바스크립트 기능을 기준으로 3배나 빨라졌습니다. 저희는 또한 크롬의 “크롬”을 단순화하는 작업을 추진해왔습니다. 보시다시피 저희는 이미 미니멀리즘 차원의 사용자 인터페이스(UI)를 채택했으며, 불필요한 것을 좀 더 없애 더욱 쉽게 사용할 수 있게 했습니다. 저희는 크롬의 두 가지 메뉴를 하나로 묶었으며, 각 버튼의 위치를 개선했습니다. 또 URL 처리와 옴니박스 (Omnibox)부분을 단순하게 하고 브라우저의 색을 눈에 편한 색으로 조절했습니다.
영화 속에 나오는 브라운 박사의 타임머신을 타고 시간을 몇 개월 후로 가보면 그 때에는 크롬 웹 스토어에 더욱 많은 기능들이 있을 것입니다. 항상 그렇지만 저희는 더욱 빠른 크롬을 만들고자 최선을 다하고 있으며, 하드웨어 가속을 통해 브라우저의 그래픽 기능을 향상시키기 위한 방법을 연구 중에 있습니다. 저희는 크롬 웹 스토어를 통해 웹에서 유용한 애플리케이션을 더욱 쉽게 찾아 사용할 수 있기를 바라고 있습니다. 저희는 새로운 버전의 발표 주기 속도를 조금씩 빠르게 해왔는데, 그 결과 모든 사용자가 새로운 기능과 성능 향상을 더욱 빠르게 접할 수 있습니다.
최근 크롬을 사용해 보지 않았다면 오늘 이곳에서 새로운 안정적 버전을 다운로드 받아보시기 바랍니다. 크롬을 계속 사용하신 분들께는 2년째 사용해주신 점에 대해 감사의 말씀을 드립니다. 그럼 크롬이 사용자 여러분의 웹 생활을 더욱 향상시켰기를 바라며, 더 나은 한해를 기대해봅니다.