본문 바로가기

Memo

Live Search의 이미지 검색

Microsoft에서 개발, 운영 중인 Live Search는 국내 사용자가 그리 많은 편이 아니지만 재미있는 기능이 있다. 이미지 검색은 흥미로운 인터페이스와 기능을 제공하고 있는데 오른쪽 칼럼의 상세 검색의 필터링 기능은 웹 서비스 개발에서 참조할 부분이 있다.






사용자 삽입 이미지

이미지 검색의 오른쪽 칼럼의 항목을 클릭하면 검색 결과를 각각 필터링 조건에 맞게 다시 출력한다. 일부 기능은 스크립트로 처리 불가능한 것도 있다. '구도'의 하위 메뉴인 '얼굴/상반신/기타'로 검색된 이미지를 필터링하려면 이미지에 포함된 사람의 모습을 구분할 수 있는 애플리케이션이 필요하다. 이미지 비율과 같은 것도 검색 로봇이 수집한 데이터의 이미지에서 크기를 추출해야 하기 때문에 새로운 애플리케이션이 필요할 수 있다. 그런데 이미지의 크기를 추출하는 것은 이미지에 포함된 메타 데이터를 읽으면 되고 이런 동작을 하는 공개 소프트웨어도 있기 때문에 구현하는데 기술상 어려움이 큰 것은 아니다.

사용자 삽입 이미지

이미지 검색에서 주목한 것은 '바탕화면 크기'라는 부분이다. 이것을 클릭하면 검색된 이미지 중 현재 내가 사용중인 화면 해상도와 맞는 검색 결과를 보여 준다. 만약 현재 화면 해상도가 1280 x 1024 픽셀이라면 검색 결과 이미지 중 이 크기에 맞는 이미지만 필터링하여 보여 준다. 사용자가 직접 자신의 모니터 해상도를 입력할 필요는 없다. 혹은 "해상도에 맞는 이미지 찾기"라는 드롭다운 메뉴를 만들어 각 해상도를 노출할 필요도 없다.

웹 서버는 자신에게 접속하는 외부 컴퓨터로부터 여러가지 정보를 수집하는데 그 정보 중 하나가 Agent information이다. 웹 서버는 접속 컴퓨터의 브라우저 종류, 운영체제의 종류, 화면 해상도와 같은 정보를 수집하여 로그(log)로 남길 수 있다. Live Search의 이미지 검색은 이 정보 중 화면 해상도를 참조하여 "바탕화면 크기"라는 필터링을 동작하는 것 같다. 기술적으로 본다면 그리 특별할 것도 없지만 구현 난이도가 낮은 반면 독창성이 높기 때문에 참조할만한 기능이다.

물론 "내 해상도와 관련없이 특정 크기를 지정하여 검색하고 싶다"는 요구도 있을 것이다. 그 요구를 하는 사용자에 대한 배려가 없다고 비판할 수 있지만 오히려 "내가 사용하는 해상도에 딱 맞는 이미지를 검색 결과 중 자연스럽게 발견할 수 있도록 기능을 제공"한다는 측면에서 더 훌륭한 콘셉트라고 볼 수 있다. 사용자의 요구 중 일부를 추측하고 그것을 사용자의 또 다른 노력없이 즉시 발견할 수 있도록 인터렉션을 구현한 것이다.

우리는 가끔 더 복잡하고 다양한 옵션이 더 진보적인 인터페이스라고 착각하기도 한다. 더 진보적인 인터페이스에 대한 관점의 차이는 있겠지만 내게 진보적 인터페이스는 몇몇 간단하고 직관적인 동작과 그것의 조합으로 더 복잡한 요구를 만족시키는 것이다. 예를 들어 왼쪽으로 움직이고 싶을 때 왼쪽 화살표를 누르고 오른쪽으로 움직이고 싶을 때 오른쪽 화살표를 누른다면 대각선으로 움직이고 싶다면 두 화살표를 함께 누르는 것과 같은 인터페이스다. 그런데 어떤 사람들은 대각선으로 움직이기 위해 Z 키를 누르도록 만들기도 한다. 그럼 190도로 움직이려면? 어떤 사람은 "움직일 각도의 입력창"을 만들기도 하지만 어떤 사람은 오른쪽 화살표를 누른 상태에서 왼쪽 화살표를 가볍게 한번 누르면 10도만큼 움직이도록 만들기도 한다. 어떤 것이 더 편리한 가에 대해 이견이 있겠지만 단순하며 직관적인 인터페이스는 모든 구현 가능한 기능을 너저분하게 늘어 놓는 것은 아니다.


예전에 웹 서버의 로그를 자주 분석할 때 방문자의 화면 해상도 정보를 보면 대개 1,024 x 768이나 800 x 600 정도의 화면 모드를 사용하는 경우가 많았다. 이 정보를 보고 우리가 생각할 수 있는 것은 '역시 웹 사이트 넓이는 800 픽셀이 좋아' 정도였다. 그런데 Live Search의 이 스크립트를 활용하면 사용자 구성 페이지를 화면 해상도에 최적화하여 보여주는 링크나 다양한 크기의 바탕화면 이미지를 다운로드하는 페이지의 여러 이미지 중 사용자 화면 해상도에 맞는 이미지를 하이라이팅하는 기능을 구현할 수 있을 듯 하다. 비록 이 기능 때문에 사용자가 환호하는 일은 없겠지만 웹 사이트의 인간적이고 친절한 모습을 보여줄 수 있을 것 같다.

이런 작은 기능이 웹 사이트의 전반적 사용성을 개선한다. 특히 사용자로부터 받은 정보를 작은 기능으로 다시 돌려 준다는 의미에서 웹 인터렉션 구현의 좋은 사례로 볼 수 있다.

'Memo' 카테고리의 다른 글

구글코리아, 노정석의 속마음  (7) 2008.11.25
미네르바의 부엉이 혹은 올빼미  (2) 2008.11.25
IPTV의 게임 채널  (0) 2008.11.24
지만원이 우파에 미치는 악영향  (6) 2008.11.20
오늘의 감상  (2) 2008.11.14