web 2.02009. 1. 20. 09:38

컬럼을 보다가 태그에 대한 생각을 잘 정리해 놓은 글이 있기에 퍼왔습니다.


태그 클라우드(Tag Clouds) 작성을 위한 디자인 팁

등록일: 2006년 08월 31일

제공: 한빛 네트워크 / http://network.hanb.co.kr/view.php?bi_id=1267
저자: Jim Bumgardner, 추홍엽 역

태그 클라우드는 웹사이트에 효과적으로 사용될 수 있으며 진정한 가치를 제공할 수 있다. 혹은 단순히 시원스러워 보이기 때문이거나 그것을 제공하는 다른 더 좋은 사이트들과 비슷해 보이게 하기 위해 뒤늦게 덧붙여질 수도 있다. 궁극적으로 여러분은 태그 클라우드의 두가지 기능인 현재 활동의 그래픽적 표현과 네비게이션 보조수단으로서의 기능을 기억해둘 필요가 있다. 다음은 디자인과 구현에 대한 몇가지 팁이다:

올바른 언어를 선택하라

필자는 수많은 다른 언어로 코드를 작성하는 것을 좋아하며(모든 작업에 대해 어떤 한가지 언어만을 사용하는 것보다는) 특정 작업에 대해 적합한 언어를 선택하는 것이 좋다고 믿는다. 필자는 펄(Perl)이나 PHP, 파이썬(Python), 루비(Ruby)과 같은 고급(Higher-Level) 스크립트 언어 모두 태그 클라우드를 만드는데 있어 좋은 선택이라 생각한다. 이 언어들은 서버상에서 지원되며 (태그를 더욱 쉽게 카운트 할 수 있는) 연관 리스트(associative list)를 가지고 있다. 연관배열(associative array)을 지원하지 않는 C++이나 Java와 같은 저급(Lower-Level) 언어들은 태그 클라우드를 구현하는데 적합하지 않다. 상당히 많은 코드를 더 작성해야 하기 때문이다.

검색엔진에 태그 클라우드를 노출시켜라

태그 클라우드는 플래시/액션스크립트와 자바스크립트에서 아주 쉽게 만들 수 있고 심지어는 훨씬 더 보기좋게 만들 수 있다. 그러나 필자는 이러한 클라이언트 사이드 언어들은 서버 기반의 스크립트 언어만큼 좋은 선택은 아니라고 생각한다. 왜냐고? 여러분은 검색 엔진이 여러분의 태그 클라우드를 볼 수 있기를 원하기 때문이다. 이러한 기술들을 사용하면 대부분의 검색 엔진이 태그 클라우드의 내용을 효과적으로 볼 수 없다. 여러분이 만약 인터페이스를 위하여 플래시나 자바스크립트를 선택한다면 HTML 내의 주석 블록에 실제 태그들을 포함해야 할 것이다.

빈도순 정렬

여러분이 원한다면 태그 클라우드를 단어 빈도에 따라 정렬할 수 있다. 그러나 개인적으로 좋은 생각이라고 생각하지 않는다. 그것은 단어 리스트의 "흐릿한" 본질을 감소시킬 뿐만 아니라, 사용자들이 추가적인 유기적 축이라는 것을 부정하기도 한다. 대부분의 태그 클라우드는 임의 순으로 정렬하거나 알파벳 순으로 정렬한다. 필자는 알파벳순 정렬을 선호하는데 특정 태그를 제거하거나 식별하기가 빠르기 때문이다.

무작위 매핑을 피하라

Jim Flanagan의 Zeitgeist 플러그인에서 단어는 랜덤한 색깔을 가지며 이 색깔은 별로 중요하지 않다. 일부 사람들은 이것을 좋아하지만 필자는 당신이 인터페이스에서의 간결함을 바란다면 각각의 매핑을 의미있게 만들고 아무런 가치를 주지 않는 랜덤한 정보를 없애야 한다고 생각한다. 예를 들어 시간과 색깔을 연관짓거나 전체적으로 색깔 매핑을 생략하는 것이다.

태그 클라우드를 사용자들과 관계 있게 만들라

태그 클라우드는 사용자의 특정 관심사와 관계가 있을 때 가장 좋다. 예를 들어 지난 며칠간 인기 있었던 태그들을 보여주는 태그 클라우드가 "언제나" 인기 있는 태그들을 보여주는 태그 클라우드보다 (숨쉬기에) 더 흥미로워 보인다. 또 만약 여러분이 최근의 활동에 대해 필터링을 한다면 태그 클라우드의 내용은 매일 변할 것이며 그것이 정적으로 유지되는 것보다 낫다.

태그 클라우드는 검색 결과를 동반하여 표식을 하는데 사용될 수 있다. 사용자가 특정 태그에 대해 검색을 할 때 관계된 태그를 보여주는 클라우드를 디스플레이 할 수 있다. 이러한 결과는 서버상에서 가장 인기있는 태그만을 보여주는 태그 클라우드보다 훨씬 더 흥미로울 것이다.

서로 다른 매핑을 시도하라

태그 클라우드는 하나의 특별한 가중 리스트일 뿐이다. 눈에 보이는 특징으로부터 숨어있는 데이터처럼 아직 개척되지 않은 많은 종류의 매핑들이 있다. 일반적인 태그 클라우드처럼 보이지 않는 다른 가중 리스트를 시도해보는 것은 어떨까? 예를 들어 최근의 태그들 일수록 더 큰 크기의 폰트를 사용하는 것처럼 시간에 폰트 크기를 매핑시킬 수도 있고 혹은 역사 데이터베이스에서 오래된 데이터일수록 점진적으로 더 오래된 구식 폰트를 사용함으로써 폰트를 10년 단위나 100년 단위로 매핑시킬 수도 있다.

Jim Bumgardner는 80년대 초반 CalArts에서 아날로그 전자 음악을 공부하는 동안에 컴퓨터를 사용하기 시작했다. 90년대 중반에는 Time Warner사에 인터랙티브 멀티미디어 CD-ROM을 만드는 동안 아바타 채팅 시스템의 선구격인 The Palace를 만들어냈다. 현재는 Los Angeles에서 인터랙티브 TV 소프트웨어를 만들고 있으며 Pasadena에 있는 아트 센터에서 강사를 맡고 있다.

위의 글처럼 태깅을 만들어 놓아도, 어떤 빈도로 노출하고 어떻게 알아보게 하기 쉽게 할 것인가는 정말 어렵습니다 ㅡㅜ

그것도 그렇지만, 언어에 대한 언급이 흥미로워서 몇 자 적어봅니다. 이전까지는 고급언어하면 C++나 Java가 들어갔었는데, 어느 순간인가 저급 언어(?)로 부르는 사람도 있네요 ^^; 확실히 파이썬 같은 스크립트 언어가 데이타 표현에는 좋은 것이 사실입니다. 사용자 중심의 언어를 고급이라고 보고, 컴퓨터 중심쪽을 저급이라고 보면 저런 말이 맞을 수도 있을 겁니다.

연관 리스트나 연관 배열이 기본적으로 제공 안 하는 저급 언어들은 이런 걸 작성하는데 손이 많이 갑니다 ㅡ.ㅡ 요즘 많이 다루어야 하는 XML도 불편해서, XML 쉽게 만들 수 있는 그루비(Groovy)랑 접목시켜 볼까 고민했던 적도 있습니다. 스프링 2.0부터는 그루비와의 통합도 좀 더 쉬워졌으니 이제는 해볼 만한 일이지만요.

'web 2.0' 카테고리의 다른 글

Google 크롬, 창 분리가 되네요 ^^*  (0) 2009.02.04
Posted by net4all
웹 개발/mashup2009. 1. 19. 01:23
참석하기 전 두 가지 걱정/의문이 있었습니다.

1. 코딩 시간이 3시간밖에 없는데, 그 시간내에 무엇을 만들 수 있을까?
2. 준비를 해 오는 사람은 이미 OpenAPI 사용법을 알고 있을 텐데 API 설명시간엔 무엇을 설명해 줄까?


이러한 것을 제외할지라도 같은 분야에서 활동하는 여러 개발자들을 만날 수 있다는 것만으로도 설레이는 맘으로 참석했습니다.

이런저런 걱정은 아이스 브레이크를 시작하면서 사라졌습니다. 여러가지  분야의 사람들이 모여서 참석하게 된 동기라던가 하고 싶은 것을 발표할 때 이번 대회에서 경험하게 될 것에 대한 커진 기대감이 걱정을 잊게 해주었습니다.


Daum Map architecture. 전체적인 안목을 갖게 해준 API 소개 시간

API 소개도 단순한 기능 소개를 넘어서 전체적인 로드맵을 보여줌으로서, 어떻게 가치를 확장해 나가는지, 무엇을 신경써야 하는지, 왜 그것이 중요한지 등을 많이 생각하게 해 준 시간이었습니다.


메쉬업을 친근하게 만들어 준 실습 시간, 그리고 퀴즈?

또 실습시간의 몇 개의 퀴즈를 통해서 메쉬업이 기술적으로 쉽게 구현할 수 있음을 알려주고, 어렵게만 생각하던 제게 가벼운 맘으로 다가갈 수 있는 계기를 마련해 주어서 감사했습니다.

개인적으로 일이 많아서 DevDay에 오면서 준비도 잘 못하고, 컴퓨터 설정도 잘 안 되어서 제대로 실습하기 어려운 점도 있지만, 정말 3시간 동안 간단한 프로그램을 재미있게 작성하시는 분들을 통해 도전을 받고, 즐거운 시간을 가졌습니다.


앞으로 이런 기회들이 많이 생겨서 생각의 폭을 넓혀지고, 우리나라에 참신하고 사용자에게 필요한 서비스가 많이 생겨나는 계기가 되었으면 좋겠습니다 ^^*
Posted by net4all
이런 저런 생각2009. 1. 18. 10:38

요즘 블로그 화면을 위젯처럼 나누어서 원하는 대로 형태로 조합할 수 있는 것을 많이 볼 수 있습니다.

그 중에 특히 구글에서 제공하는 iGoogle이라는 페이지로 자신만의 포탈 사이트(?)를 만들 수 있게 해주는 게 재미있습니다. 각 모듈을 자신이 만든 위젯으로 채워넣을 수도 있고, 다른 사람이 만든 모듈을 맘대로 끼어넣을 수도 있었습니다.

이것이 많은 사람들이 함께 참여해서 만드는 web 2.0의 의지를 잘 반영한 사이트구나 하는 생각이 들었습니다. 사용자가 뭔가 만들기 쉽도록 여러가지 기능(Open API) 및 툴들을 제공해서 호기심을 자극하기도 하고요.

포탈 사이트에서 간단하게 선택, 제거 및 끌어다 놓기로 맘대로 화면을 만들 수 있다면 그것보다 좋은 건 없겠죠? ^^;


문제는 그런 많은 기능이 있어도 사용자가 필요해지기까지는 발견하기 힘들다는 안타까운 점이 있습니다 ㅡㅜ

저도 티스토리가 많은 기능이 있지만, 쓰지도 않는 기능을 설정해 놓으면 화면 낭비이기도 해서 대부분 꺼놓으니까요.

그러다 오늘 배너 하나 넣을까 해서 찾다가 HTML/CSS를 바로 고치는 페이지가 있기에 직접 삽입할까 하다가, 블로그에 수많은 배너들이 떠다니는데 배너 넣는 기능이 없으리가 없다고 생각해서 찾아봤습니다.

역시 이미지 배너 넣는 모듈이 있었고, 주소랑 이미지 위치만 알려주면 쉽게 붙일 수 있습니다.

그러면서 옆을 보니까 글쓰는데 필요한 관련 정보 삽입하는 기능도 있네요^^; (원격 블로깅 등 다양한 기능을 제공하는 시점에서 메쉬업에서 여러 사람이 만들고 있는 관련 정보 첨부 기능이 없다는 것도 이상하지만요.)
어쨌든 리뷰 쓸 때 책이나 영화 정보를 삽입할 때 편해지겠습니다.

시간 나면 옆의 플로그인을 통해 무얼 할 수 있나 생각해 봐야겠네요.
Posted by net4all