최근 구글 검색에 대한 뉴스가 많습니다. 빙(Bing)에서 구글 검색결과를 모방한다는 이야기가 들어가기가 무섭게 JC Penny의 검색엔진최적화(SEO) 결과가 문제가 되었습니다. SEO는 다양한 수단으로 검색엔진 랭킹을 높이려는 행위 및 주체를 가리키는데, 여기에는 검색엔진이 용인하는 방법 (White Hat SEO)과 허용하지 않는 (Black Hat SEO) 방법이 있습니다. 사실 미국에서는 SEO가 산업으로 성장할 만큼 활발한데, JC Penny같은 큰 회사에서 Black Hat SEO를 했기 떄문에 문제가 된 것입니다. 뉴욕타임즈는 이번 SEO를 통해 JC Penny가 얻은 이득을 다음과 같이 추산합니다.
The Keyword Estimator at Google puts the number of searches for “dresses” in the United States at 11.1 million a month, an average based on 12 months of data. So for “dresses” alone, Penney may have been attracting roughly 3.8 million visits every month it showed up as No. 1. Exactly how many of those visits translate into sales, and the size of each sale, only Penney would know.

구글의 반격

제가 주목했던 것은, 여기에 대한 구글의 대응입니다. 우선 JC Penny의 Black Hat SEO 대해 즉각적인 조치를 취한 후, 전체 질의의 12%가 영향을 받을 정도로 대규모 업데이트를 단행하고, 이례적으로 그 내용을 공개했습니다. 그 주된 내용은 (사용자에게) 좋은 웹사이트와 나쁜 웹사이트를 구분할 수 있는 자동 분류기를 만들고, 이 분류 결과를 검색 랭킹에 적극 반영하는 것입니다. 구글이 '좋은 컨텐츠'를 구분하기 위해 사용했다는 기준은 다음과 같습니다.
  • Would you be comfortable giving this site your credit card?
  • Would you be comfortable giving medicine prescribed by this site to your kids?
  • Do you consider this site to be authoritative?
  • Would it be okay if this was in a magazine?
  • Does this site have excessive ads?
위 목록을 보면, 이번 업데이트가 단지 '스팸'을 가려내기 위함이 아니라, 웹사이트의 품질을 전반적으로 랭킹에 반영하기 위한 시도라는 것이 분명합니다. 그 결과로 주요 컨텐츠 팜 (퍼담기 등을 통해 불량 컨텐츠를 대량으로 생산하는 사이트) 의 랭킹은 심각한 타격을 입고, Times, CNN, Wikipedia 등 양질의 컨텐츠를 보유한 사이트의 랭킹이 올라갔다고 합니다. 워낙 광법위한 변화라 대부분의 웹사이트에서 이에 대한 대응책을 마련하고 있다고 합니다. 

검색엔진과 정보 생태계

이번 사건은 구글이라는 단일 검색엔진이 인터넷 정보 생태계 전반에 갖는 막대한 영향력을 다시금 환기시킵니다. 그리고 그들이 자신의 힘을 남용하지 않고 있다는 것을 보여줍니다. 이와 같은 대규모 업데이트의 내용을 이례적으로 공개한 것은 웹사이트 운영자들에게 구글 랭킹을 높이기 위해 해야할 일을 주지시키기 위함일 것입니다. 즉, 구글은 공권력을 동원하지 않고도 웹 퍼블리셔들이 더 유용한 컨텐츠를 만들도록 유도하는 것입니다. 구글에서 Web Spam 퇴치를 담당하는 Matt Cutts에 대한 묘사는 이러한 구글의 태도를 대변합니다.
Mr. Cutts sounded remarkably upbeat and unperturbed during this conversation, which was a surprise given that we were discussing a large, sustained effort to snooker his employer. Asked about his zenlike calm, he said the company strives not to act out of anger. You get the sense that Mr. Cutts and his colleagues are acutely aware of the singular power they wield as judge, jury and appeals panel, and they’re eager to project an air of maturity and judiciousness.
이처럼 정보나 상거래가 인터넷으로 집중되는 오늘날 검색엔진의 결과는 한 회사의 비즈니스 도구 이상의 의미를 띕니다. 모든 정보에 대한 접근성과 우선순위를 결정한다는 측면에서, 검색엔진의 역할은 정보 세상의 도로망을 까는 일에 비유할 수도 있을 것 같습니다.  예전 글에도 썼지만, 우리 나라 검색 회사들도 더 나은 인터넷 환경을 만들 수 있도록 힘써 주었으면 하는 바램입니다. 

추신 : 

구글이 사용한 것과 같이 문서 품질을 웹 검색결과에 반영하는 방법에 관한 논문이 이번에 저희 연구실에서 출판되어 소개합니다. 올해 2월 WSDM (Web Search and Data Mining) 컨퍼런스에서 발표된 따끈따끈한 논문입니다 ;)
이 블로그를 꾸준히 읽으신 분이라면 제가 시오노나나미의 팬이라는 점을 아실 겁니다. 시오노나나미는 보통 '로마인 이야기' 시리즈의 저자로 알려져 있지만, 저는 '남자들에게'라는 책을 읽고 흠뻑 빠져들었습니다. 수십년간 고대사에 대한 저작을 전문으로 했던 경험에서 우러나온 인간에 대한 날카로운 통찰이 일품이었습니다.

그 후 그녀의 책을 몇권 더 읽었지만, 최근에야 '로마인이야기 - 율리우스 카이사르 편'을 읽게 되었습니다. 카이사르는 로마사에 등장하는 수많은 인물 가운데서도 시오노나나미가 '남자중의 남자'로 생각하는 인물입니다. 책을 읽으며, '남자들에게'를 통해 보여준 남성론의 사실상 모델이라고 할만한 카이사르라는 인물에 대해 다시금 탄복하지 않을 수 없었습니다. 오늘은 책에 등장하는 카이사르의 위대함에 대해 써 보려고 합니다.

유연한 판단력

'남자들에게'를 보면 카이사르에 대해 '수재 타입은 아니지만 판단력이 뛰어난 남자'라는 평가가 나옵니다. 이처럼 시오노나나미는 '머리가 좋은 사람'과 '판단력이 뛰어난 사람'을 구별하는데, 카이사르는 후자의 대표격입니다. 다음 사례는 관습이나 상황 요인에 얽매이지 않고 독창적인 판단을 내리는카이사르의 면모를 보여줍니다. 
카이사르는 갈리아 전쟁에서 딱 한번의 후퇴를 경험하게 되는데, 그 때 그는 칼을 잃어버렸다. 갈리아인들은 그 칼을 전리품으로  거두어 자기네 신전에 모셔두었다. 이듬해에 다시 승리한 카이사르가  그것을 보았을 때, 측근들은 치욕의 증거물이니까 치워버리자고 했다. 그러나 카이사르는 이미 신앙이 대상이 되었으니까 그대로 두라고 했다.
웬만한 지휘관같으면 자존심이 허락하지 않았을 일입니다. 하지만 카이사르는 비록 정복당한 민족이지만 로마에 진정으로 동화되기 위해서는 고유의 문화를 존중받아야 한다는 것을 이해한 사람이었습니다. 이런 유연한 판단력은 전장에서 적군의 허를 찌르는 데도, 그 유명한 '루비콘의 강'을 건너는 데에도 발휘됩니다.

인간에 대한 이해

카이사르가 그 능력을 발휘했던 정치도 군사도 결국 사람을 다루는 일입니다. 시오노나나미가 묘사하는 카이사르의 일거수일투족에는 사람에 대한 깊은 이해와 애정이 담겨 있습니다. 
나무라기만 하면 병사들의 사기를 꺾는 결과로 끝나기 쉽다. 그래서 카이사르는, 설령 무모함으로 끝났다 해도 너희들의 용기는 가상하다고 치하한 다음, 이렇게 덧붙였다. 그러나 너희들이 전황의 진전이나 전투 결과를 총사령관보다 더 정확히 꿰뚫어볼 수 있다고 여긴 오만함은 용서할 수 없다고, 그리고는 이런 말로 질책을 끝냈다.  "나는 너희들에게 용기와 긍지 높은  정신을 바라지만, 그 못지않게 겸허함과  규율 바른 행동을 바란다."

옛 애인을 만났다고 하자, 같은  계층에 속해 있으니까 우연히 만날 확률도 높았을 것이다. 그런 경우 평범한 남자라면 난처하게 여긴 나머지 본의 아니게 모르는 척하고 지나칠 것이다.  그런데 카이사르는 그렇게 하지 않았다.  아내한테는 잠깐 가디리라고 말해놓고, 참석자들이  모두 호기심 어린 눈으로  지켜보는 가운데 당당히 옛 애인에게 다가가서, 그녀의 손을 상냥하게 잡으면서 묻는다.  "어떻게 지내시오? 별고 없으시죠?"  여자는 무시당했을 때 가장 깊은 상처를 입는 법이다.
이처럼 실패한 부하 병사에게나, 옛 애인에게나 카이사르는 자신이 관계를 맺는 상대에 대해 최선을 다하는 인물이었습니다. 그리고 다른 사람의 마음을 움직이기 위해 어떻게 해야 하는지도 알았습니다.

귀족정신

귀족이라는 말이 물질적 풍요와 동의어처럼 되어버린 요즘이지만, 본래의 의미는 자신의 지위나 품격에 걸맞는 행동양식(Noblesse oblige)을 가리킵니다. 카이사르는 욕심을 채우기보다는 신념에 충실한 삶을 지향했고, 스스로의 품격에 벗어나는 행동을 하지 않았다는 측면에서 '진정한 귀족정신의 소유자'였습니다.
카이사르는 평생 동안 자신의 신념에  충실하게 사는 것을 지향한 사나이기도 하다. 그의 신념은 국가체제의 개조이고, 로마 세계에 새로운 질서를 수립하는 것이었다. 루비콘 강을 건너지 않으면, 즉 '원로원 최종 권고'에 굴복하여 군단을 내놓으면 내전을 피할 수 있겠지만, 새로운 질서 수립은 꿈으로 끝나게 된다. 그래서는 지금까지 50년을 살아온  보람이 없다. 보람없는 인생을 살았다고 인정하는 것은 그의 자존심이 용납하지 않았다.

분노나 복수는 상대를 자신과 대등하게 여기기 때문에 생기는 감정이고 일어날 수 있는 행위다. 카이사르가 평생 이것과 무관했던 것은 분노나 복수가 윤리 도덕에 어긋난다고 생각했기 때문이 아니라, 자신의 우월성에 확신을 갖고 있었기 때문이다. 우월한 자신이 왜 열등한 타인의 수준으로  그들과 똑같이 분노에 사로잡히거나 그들과 똑같이 복수심을 불태워야  하는가. 
다른 사람보다 스스로 우월하다는 인식이 자칫 '자만심'이 될 수도 있지만, 위 글에서처럼 스스로의 행동에 높은 기준을 세우고 지키는데 도움이 될 수도 있다는 생각을 해봅니다. 

마치며

위에서 언급한 위대함의 조건의 공통점은 학교에서 배울 수 있는 것이 아니라는 점입니다. 로마인 이야기'에 드러난 카이사르는 많이 배우거나 재력을 갖춘 인물은 아니지만, 이처럼 자신만의 방식으로 성공을 일구어냅니다. 그는 또한 조숙한 천재라기보다는 젊은 시절 경험한 많은 방황과 실패를 토대로 비교적 늦은 나이에 업적을 이루어낸 대기만성형에 가깝습니다.  

예전에 '빌게이츠가 우리나라에 태어난다면...'식의 유머가 유행했던 기억이 납니다. 카이사르가 현재의 우리나라에 태어난다면 과연 어떤 업적을 이룰 수 있었을까요? 스팩 경쟁 열품 등에 휩싸여 자격증이나 영어 공부 등에 젊은 날을 대부분 보내지 않았을까요. 또한, 창업자들의 실패를 자산으로 여기는 실리콘벨리와는 달리 우리나라는 아직 창업이든 취직이든 실패한 사람이 다시 일어서기가 쉽지 않습니다. 

환경의 불리함을 딛고 일어서는 것이 성공하는 사람의 조건이긴 하지만, 다양한 성공의 사례를 가르치고 젊은이들의 실패에 좀더 관대할 수 있다면 카이사르와 같은 인물이 좀 더 많이 나올 수 있지 않을까요.
예전에 구글의 진짜 경쟁력은 유연성이라는 글을 쓴 적이 있는데, 최근에 데이터에 기반한 지속적인 혁신을 가능하게 하는 구글의 실험 인프라에 대한 논문이 나왔습니다. 예전 글에서 "On most Google queries, you’re actually in multiple control or experimental groups simultaneously"라는 구글 엔지니어의 말을 인용했었는데, 이 논문에서는 구체적으로 어떤 기술이 그런 실험을 가능하게 하는지를 소개하고 있습니다. 

이 논문에서 소개하는 핵심 개념이 Multi-factorial Experimental Design입니다. 한번에 한가지 요인(Factor 혹은 Parameter)을 통제하는 일반적인 실험설계와 달리, Multi-factorial Experimental Design에서는 한번에 여러 요인을 동시에 변화시키며 결과를 관찰합니다. 물론 변화시키는 요인 간에는 서로 간섭이 없는 독립성이 보장된다는 조건이 붙지만, 한 데이터에 대해 N가지의 요인을 동시에 바꿀 수 있기 때문에 실험에 필요한 데이터의 양이 1/N로 줄어든다는 장점이 있습니다. 세계에서 가장 많은 검색 데이터를 가진 구글이 데이터를 아끼기 위해 이런 기법을 도입하고 있다는 점이 놀랍습니다. 저자들의 설명을 들어봅시다.

The solution we propose in this paper is to partition the parameters into subsets, and each subset contains parameters that cannot be varied independently of each other. A subset is associated with a layer that contains experiments, and traffic diversion into experi- ments in different layers is orthogonal. Each query here would be in N experiments, where N equals the number of layers.

이들이 소개하는 구글의 실험 인프라는 단지 N개의 실험을 동시에 진행하는 수준에 그치지 않습니다. 실험을 위해 분리된 트레픽의 일부를 본 논문에서는 도메인(domain)으로, 파라메터의 일부를 레이어(layer)로 정의하는데, 도메인은 레이어를 그리고 레이어는 서브 도메인를 포함할 수 있습니다. 즉, 한 실험 내부에서 좀더 세분화된 실험을 진행할 수 있는 것입니다. 

또한, 성공적인 실험을 거쳐 런칭에 들어가는 기능에 대해서도 같은 인프라를 사용한다는 점도 흥미롭습니다. 즉, 런칭에 사용할 트레픽을 따로 분리하는 대신에, 런칭될 기능을 일종의 기본값으로 정의하고, 실험 설계에 따라 그 값을 덮어쓰도록(override) 하는 것입니다. 이렇게 하면 다양한 실험에 영향을 끼치지 않고 특정 기능을 서서히 런칭할 수 있습니다. 

Defining launch layers in this way allows us to gradually roll out changes to all users without interfering with existing experiments and to keep track of these roll-outs in a standardized way. The general usage of launch layers is to create a new launch layer for each launched fea- ture and to delete that layer when the feature is fully rolled out (and the new parameter values are rolled into the defaults). Finally, because experiments in launch layers are generally larger, they can be used to test for interactions between features.

아래 다이어그램은 위에서 설명한 실험 인프라의 사례를 보여줍니다. 맨 위에 모든 트레픽에 걸쳐 파라메터 일부에 대한 기본값을 제공하는 런치 레이어가 있고, 그 아래 트레픽 일부에 대해 다양한 파라메터 조합을 테스트하는 실험 레이어가 있습니다. 위에서 설명한대로 실험 레이어는 여러 도메인으로 나뉘고, 각 도메인의 레이어는 또다시 도메인과 레이어를 포함할 수 있는 구조로 되어있습니다.

이 논문은 이밖에도 구글의 실험 인프라에 대한 여러 디테일을 포함하고 있습니다. 그중 흥미로웠던 점은 CTR (click-through rate)과 같은 지표가 표준화된 형태로, 그것도 실시간으로 실험자에게 제공된다는 점입니다. 이처럼 어떤 실험을 누가 하더라도 일관성 있는 결과를 빠르게 알 수 있기 때문에, 여러 팀에서 작업한 결과물이 투명하게 평가되고 실 서비스에 즉시 반영될 것입니다. 저자들은 마지막으로 여기에 소개한 인프라가 구글의 혁신을 가속화한다는 수치적 결과를 소개합니다.



작년에 Bing에서 인턴을 하면서도 느꼈지만, 검색이라는 대용량 서비스를 가능하게 하는 것은 실제 서비스에 사용되는 프로덕션 시스템 만큼이나 이를 뒷받침하는 인프라라는 생각을 해 봅니다. 그리고 이 논문은 구글과 같은 큰 조직에서 어떻게 데이터에 근거한 신속한 의사결정을 가능하게 하는지를 실증적으로 보여줍니다.  최근 구글도 관료화되었다는 말이 많이 나오지만, 적어도 이 논문을 읽어보면 윗선에서 떨어지는 명령에 의한 일방적인 의사결정이나, 조직간의 정치적 알력이 기업의 의사결정에 작용할 여지는 별로 없어 보입니다.

맺음말

많은 사람들이 구글의 '현재 모습'을 부러워합니다. 하지만 이 논문에서 알 수 있듯이 구글의 진짜 힘은 혁신의 결과물이 아니라, 혁신을 지속하고 가속화하는 이러한 인프라일 것입니다. 이 논문에 공개된 내용을 따라한다고 해도, 그것이 구글의 최신(bleeding edge) 기술이라고 믿기는 어렵고, 그 사이에 그들은 또 저만치 달아나 있을 것입니다. 마이크로소프트의 실험 인프라도 이에 결코 뒤지지 않습니다. 요즘 많이 들리는 말입니다만, 조직 전체에 혁신을 체질화하는것만이 이런 기업과 경쟁할 수 있는 역량을 갖추는 길이라는 생각이 듭니다. 물론 여기서의 혁신은 일회성의 구호가 아니라, 지속적으로 데이터에 근거한 신속한 의사결정을 내릴 수 있는 문화와 인프라일 것입니다. 

작년에 Gmail에 도입된 유용한 서비스가 Priority Inbox입니다. 작년에 구글이 Buzz 및 Wave등으로 한창 삽질(?)을 하고난 이후라서 처음에는 그 유용성에 대해 반신반의했었지만, 처음에 몇개의 Email을 Important / Not Important로 레이블링 해주고 난 후에는 거의 100% 올바른 분류를 하는 것을 확인하고 놀랐습니다.

오늘 연구실 동료의 트윗에서 Gmail Priority Inbox의 알고리즘을 소개한 Technical Paper를 발견하고 읽어 보았습니다. 그동안 저처럼 궁금하셨을 분들께 간단히 소개합니다. 평소 기계학습이 '주어진 알고리즘을 갖다 쓰는 것'이라고 여겼던 분들이라면, 단순한 Regression Model을 주어진 Learning Problem에 적용하는 과정에도 굉장히 많은 고려가 필요함을 알 수 있습니다. 

The Learning Problem

잘 아시겠지만, Regression은 주어진 Feature를 가지고 실수값을 갖는 Label을 예측하는 기법입니다. 우선 메일의 중요도를 나타내는 Label을 살펴보면, 메일 도착 후 일정시간 이내에 사용자가 특정한 액션(open, reply 등)을 취하는 경우를 중요한 메일로, 사용자가 보고도 아무 조치도 취하지 않은 경우 중요하지 않은 것으로 간주하는 것을 알 수 있습니다. 즉, 사용자의 Explicit Label과 함께 Implicit Action을 모두 학습에 활요하는 것입니다. 

또한 아래와 같은 다양한 Feature가 학습에 활용됩니다. 이메일의 기본 Feature에 Label까지 활용하는군요. 
Social features are based on the degree of interaction between sender and recipient, e.g. the percentage of a sender’s mail that is read by the recipient. 
Content features attempt to identify headers and recent terms that are highly correlated with the recipient acting (or not) on the mail, e.g. the presence of a recent term in the subject. 
Thread features note the user’s interaction with the thread so far, e.g. if a user began a thread. 
Label features examine the labels that the user applies to mail using filters

다음은 실제 학습 알고리즘입니다. 기본적으로는 Logistic Regression을 사용하지만, 모든 유저의 데이터에서 학습한 내용과 개별 유저로부터의 학습 내용을 모두 학습에 사용하기 위하여 Transfer Learning을 사용합니다. Transfer Learning은 모델을 학습한 도메인과 적용할 도메인이 다를 경우 사용하는 기법입니다. 다음 다이어그램은 이러한 학습 과정을 시각화합니다.


알고리즘에서 또 하나 이채로운 점은, 각 메일에 대한 Important / Not Important의 결정을 내리는 기준(threshold)을 사용자의 Explicit Label을 사용해 개인화한다는 점입니다. 각 사용자 별로 중요한 메일의 비율이 다르기 때문에, 이는 자동화하기 힘든 부분입니다.

Production

개발된 알고리즘을 수백만의 사용자가 매일 사용하는 시스템에 적용하는 것은 또다른 문제입니다. 논문에서는 구글 컴퓨팅 클러스터의 기본 데이터 구조인 BigTable이 어떻게 활용되는지 자세히 밝히고 있습니다. 사용자별 학습 알고리즘 수행의 부하를 각 Core에 나누는 과정도 흥미롭습니다.

Result

논문에서는 위에서 설명한 Global Model과 Per-user Model의 조합, 그리고 사용자별 중요도 기준의 개인화를 통해서 에러율을 상당부분 낮출 수 있었다는 결론을 내고 있습니다. 또한 Industry Paper답게 Priority Inbox의 도입이 Gmail사용자들의 메일 사용을 어떻게 효율적으로 만들었는지를 다음과 같이 밝히고 있습니다. 

The ultimate goal is to help Gmail users. We analyzed the time Google employees spent on email with and without Priority Inbox. Averaging over Googlers that receive similar volumes of mail, Priority Inbox users (approx. 2000 users) spent 6% less time reading mail overall, and 13% less time reading unimportant mail. They are also more confident to bulk archive or delete email.

마치며

겨우 4장짜리 논문이지만, 기계학습 알고리즘을 실제 문제에 적용하는 과정에서 발생하는 수많은 문제를 간결하면서도 명쾌하게 기록하고 있습니다. 한때 기계학습이 알고리즘의 인풋과 아웃풋만 알면 블랙박스처럼 활요할 수 있을 것이라고 생각한 때도 있었지만, 위 논문만 읽어 보아도 학습 기법의 실전 활용에는 상당한 지식이 필요함을 알 수 있습니다. 기타 재미있는 디테일이 많으니 관심있으신 분들꼐 일독을 권합니다.

2011년 새해인사

공지사항 : 2011. 1. 4. 11:12   By LiFiDeA
해가 바뀌고도 어느새 며칠이 지났습니다. 작년 한해 있었던 일을 돌아보니, 참으로 많은 일이 있었습니다. 학교에서는 석사 과정을 마치면서 논자시를 통과했고, SIGIR과 CIKM학회에 참석했고, 여름에는 Bing 서치에서 인턴을 했습니다. 

외형적으로는 나쁘지 않은 한해였지만, 실제로 얼마나 배우고 성장했는지는 의문입니다. 한해동안 읽은 논문과 책을 따져보니, 제작년보다 양적으로는 오히려 덜 읽었던 것 같습니다. 작년 초에 '성장과 성숙의 한해'를 만들겠다고 했었는데, 내실을 다지기보다는 눈에 보이는 성과에 치중했다는 생각도 듭니다. 

대학원에서 4년차 하고도 한학기를 더 보낸 지금, 연구자로서의 역량이 꼭 논문 발표 횟수에 비례하는 것은 아니라는 사실을 깨달아 갑니다. 비슷한 주제에 대해 논문을 쓰다 보면 어느 정도 자신만의 틀이 생기고, 논문을 쓰는 일이 처음만큼의 노력을 요하지는 않기 때문입니다. 이렇게 계속하다가는 일을 하면서도 발전이 없는 매너리즘에 빠지게 되고, '논문쓰는 공장'이 된 듯한 느낌을 받을수도 있습니다.

그런 의미에서 올해의 목표는 기존의 틀을 꺨 수 있는 연구를 하는 것으로 설정했습니다. 이미 주어진 Task에서의 성능을 몇 %올리는 연구보다는, Task 자체를 새롭게 바라볼 수 있는 시각을 줄 수 있는 연구 말입니다. 물론 이런 시각을 얻는 것, 그리고 이를 논문에 표현해 내는 것은 '깊이'를 필요로 합니다. 그리고 꾸준한 학습과 경험만이 그러한 깊이를 가져다 줄 것입니다. 

공부가 주업이라는 대학원 생활도, 년차가 쌓일수록 내실을 다지기보다는 실적을 쌓는데 주력하게 되는 것 같습니다. 이미 많이 배웠다는 섣부른 포만감도, 졸업 후 진로에 대한 고민도 아마 그 원인일 것입니다. 하지만, 처음 진학했을 때 항상 마음에 품고 다니던 배움과 지식에 대한 갈망, 꾸준히 간직하고 싶습니다. 

작년 한해를 값지게 해주신 많은 분들꼐 감사의 말씀 드립니다. 새해 복 많이 받으세요. 

2010년을 돌아보며 - 블로깅

공지사항 : 2010. 12. 30. 09:58   By LiFiDeA
한국 나이로 서른이 되어 2010년을 '성장과 성숙의 한해'로 만들겠다는 결심을 했던 것이 엇그제같은데, 벌써 한해가 저물어갑니다. 올 초에 블로깅을 좀더 활발하게 해보겠다고 생각했었는데, 일단 '꾸준함'이라는 측면에서는 어느정도 성공을 거두었다는 생각입니다. 올 한해 32개의 포스팅을 했으니 대략 10일에 하나 꼴입니다. 9개의 글을 올렸던 2009년에 비해서는 대단한 발전(?)입니다.

하지만 내용을 살펴보면 조금 아쉬운 점이 있습니다. 올 초에 의욕을 가지고 시작했던 검색 기술 관련 연재를 끝마치지 못했고, 연구 및 개발에 대해서 쓴 글들도 많은 호응을 이끌어내지는 못했던 것 같습니다. 하지만 소수의 독자분들과 꾸준히 소통할 수 있었다는 데에 의의를 두고 싶습니다. 


반면, IT 산업 동향과 관련된 포스팅이나 제 개인 신변에 관련된 글들이 더 많은 호응을 얻었습니다. 특히 올초를 떠들썩하게 했던 네이버 관련 포스팅이나, iPad등과 관련된 포스팅이 많은 조회수를 기록하였습니다. 검색 연구자의 관점에서 이슈를 조명하는 것도 나름의 공헌이라는 생각이 듭니다. 

2010/07/13 - 빙(Bing Search)에서의 인턴 생활, 첫달을 보내며
2010/03/24 - 네이버가 구글과 싸우는 법 - 검색엔진 연구자의 관점
2010/02/22 - 한국 인터넷은 술자리다
2010/01/30 - iPod, iPhone, iPad, 소프트웨어를 무시해서는 삼성전자도 안된다

이 블로그에는 좀더 연구와 관련된 내용을 더 많이 다루고 싶은 것이 저의 소망이지만, 지나치게 기술적인 내용보다는 시사적인 이슈에 대한 저의 생각을 적는 것이 더 독자들에게서는 어필하지 않나 합니다. 기술적인 내용도 다루되 좀 더 쉽게 쓸 수 있도록 노력하겠습니다. 저의 영문 블로그에는 좀더 기술적인 내용이 소개되고 있습니다. 또한 여자친구와 운영중인 EduHow블로그에는 유학 준비 및 생활과 관련된 내용이 다루어지니 참고 바랍니다. 

돌이켜보면 어떤 식으로든 기록해두지 않았던 일들을 다 잊혀지지 않나 합니다. 2010년 블로그를 통해 여러분과 나눌 수 있었던 많은 이야기가 소중한 기억으로 남습니다. 아직도 많이 부족하지만, 겸허한 마음으로 꾸준히 나아가겠습니다. 

p.s. 포스팅에 대한 희망 사항이 있으시면 메일이나 답글로 부탁드립니다 ;)
 

'공지사항' 카테고리의 다른 글

2011년 새해인사  (2) 2011.01.04
Blog Renewal : 성당에서 시장으로  (2) 2010.02.01
2010년, 성장과 성숙의 한해로  (4) 2010.01.18

인터넷 불통이 가져다준 마음의 평화

Essay : 2010. 12. 27. 07:08   By LiFiDeA
며칠 전 갑자기 집에서 사용하는 인터넷이 먹통이 되는 사건이 있었습니다. 저희 집은 옆집의 컴캐스트 인터넷 계정을 무선으로 공유하기 때문에, 문제가 생기면 옆집에서 해결해주기를 기다리는 것 이외에 별다른 방법이 없습니다. 얼마전 @estima7님꼐서도 비슷한 내용을 트윗하신걸 보았지만, 갑자기 인터넷이 되지 않으니 답답한 일이 한두가지가 아니었습니다. 메일, 구글 리더, 트위터, 스카이프 등등의 커뮤니케이션은 물론이요, iPad와의 싱크를 위해 사용하는 DropBox, Google Docs 등의 모든 클라우드 기반 서비스가 동작하지 않으니 일을 제대로 할수도 없었습니다 (아니, 그렇게 생각했습니다). 

어쨌든 한참을 기다려도 상황은 해결되지 않았기에, 조금 여유를 가지고 현실을 받아들이기로 하였습니다. 그런데, 그렇게 몇시간을 보내고 나자 전혀 기대하지 않았던 일이 벌어졌습니다.

인터넷이 없는 집에서의 시간이 너무나 평화롭게 느껴진 것입니다.

메일이나 블로그를 읽을 수도 없고 웹서핑을 할수도 없으니, 가능한 활동 범위가 훨씬 제한되는 것은 사실이었습니다. 하지만, 그러한 선택의 제한이 오히려 평소에 중요하지만 긴급하지 않아 미루어 두었던 활동을 할 수 있는 기회를 주었던 것입니다. 그 몇 시간동안에 언젠가 읽어야겠다고 출력했다가 한쪽에 밀쳐둔 논문을 읽을 수 있었습니다. 그 후에는 책 한권을 들고 (Society of Mind) 읽으며 생각하는 시간을 가졌습니다. 이렇게 일 이외의 무언가에 차분히 열중할 수 있는 경험은 참으로 오랜만이었습니다. 

지난 글에도 썼지만, 소셜 네트워크로 대표되는 인터넷의 무한한 가능성은 그 만큼의 (선택에 대한) 불안과 혼란을 초래합니다. 항상 새로운 메시지가 도착하고, 전 세계의 정보를 원클릭으로 검색할 수 있는 구글의 시대에 컴퓨터 (및 기타 internet-enabled device) 앞에서 온전히 집중하기란 쉬운 일이 아닐지도 모릅니다. 예전에 Is Google Making Us Stupid?라는 글을 읽은 적이 있는데, 검색을 연구하는 사람으로서, 검색 기술 발전이 가져올 수 있는 잠재적인 폐해에 대해서도 진지하게 생각해 보게 됩니다. 

이런 상황에서 우리가 할 수 있는 최선의 일은 무었일까요? 그러한 distraction을 잠시나마 차단하는 것이 하나의 해결책이 될 수 있지 않을까요. 저희 집에서 일어난 '인터넷 사건'은 인터넷이라는 가능성의 세계를 차단했을 때, 오히려 남아있는 일에 온전히 집중할 수 있다는 것을 경험하게 해 주었습니다. 예전에 폴 그레이엄이 집에 인터넷을 하는 방을 따로 만들었다는 이야기를 썼던 것을 생각해보면, 저 혼자만의 생각은 아닌가 봅니다. "자유를 제한받은 곳에서 참된 자유가 발휘된다. 정신활동의 완전 연소는 어느 정도의 구속 없이는 성취하기 어려운 것 같다."는 시오노 나나미의 말도 다시금 떠오릅니다.

며칠만에 인터넷은 복구되었고, 다시 시작된 distraction속에 저는 며칠간 경험했던 평화로움을 다시 그리워하게 되었습니다. 심지어는 집에서 인터넷을 사용하지 않는 것을 심각하게 고려중입니다. 많은 인터넷 서비스에서 (이메일 / RSS / Calendar) 오프라인 사용을 가능하게 하는 애플리케이션을 제공하기에 인터넷이 되지 않아도 큰 불편함은 없으리라는 생각입니다. 

소셜 미디어의 홍수 시대에 살아남기

Essay : 2010. 11. 21. 12:11   By LiFiDeA
트위터 타임라인 5일치 따라잡는데 한시간 소요. 좋은 글을 많이 읽었지만, 절대 양보다도 지나치게 다양한 종류의 정보가 머리를 채워 복잡해지는 느낌. SNS는 일과중보다는 자투리시간에 하기 좋은 활동. 그래서 '막간'에 강한 스마트폰이 최적인 듯. 

@sokion: @lifidea 지나치게 동감해요. 이런 무작정 리스트 말고 뭔가 색다른 접근이 필요한 것 같은데. Priority Inbox같은 분석 툴도 필요해요. 트위터 가끔 들어오는 저로선 타임라인 따라잡기는 거의 불가능한 지경.

최근에 트위터에서 후배와 주고받은 대화입니다. 이처럼 다양한 종류의 소셜 미디어(Social Network Service -- SNS)의 등장이 그 장점만큼이나 많은 스트레스를 유발하는 것 같습니다. 하루에 몇 시간을 투자해도 소화하기 힘든 양도 문제이지만, 다양한 채널 (블로그/트위터/페북)에서 온갖 종류의 정보가 동시에 쏟아진다는 점이 더 큰 문제인 것 같습니다. 예를 들면 한번에 한가지의 정보를 소화하는 독서와 달리, 트위터 메시지 각각에 담기는 전혀 다른 정보를 한꺼번에 소화하는 일은 더 큰 부담(Cognitive Overhead)으로 느껴집니다. 예전 글에 썼듯이, 잦은 Context-switching은 컴퓨터뿐만 아니라 두뇌에도 힘든 걸까요?

그거, 안 하면 안되나?

그런 이유에선지 많은 사람들이 아예 SNS를 멀리합니다. 대부분 시간 소모와 Distraction이 너무 크다는 이유에서입니다. 하지만 지식 산업에 종사하는 대부분의 사람들에게 SNS에서 얻는 정보는 포기하기에 너무나 값진 경우가 많습니다. 연구자라면 주변 연구자들의 관심사 및 산업 동향등을 어느정도 인지하고 있어야 적절한(Relevant) 연구를 할 수 있을 테니까요. 굳이 연구자가 아닐지라도, SNS에서 얻는 정보는 뉴스에서 접하는 것보다 더 깊이있고 정제된 것이 많습니다. 전 국민을 대상으로하는 뉴스가 아니라, 내가 선택한 정보원으로부터의 선별을 거친 컨텐츠이니까요.

또한 정보의 생산이라는 측면에 초점을 맞추면, 블로그와 트위터를 중심으로 한 SNS는 '전문가'의 정의를 바꾸고 있습니다.  예전에는 신문 및 방송에 자주 등장하는 사람이 전문가였다면, 우리 시대의 전문가는 구글 검색에 해당 키워드를 쳤을 때 가장 먼저 나오거나 블로그 구독자(트위터 팔로워)가 가장 많은 사람이 아닐까요? 자신의 분야에서 새로운 흐름을 만들고 이를 널리 전파할 수 있는 능력이 전문가의 핵심 경쟁력을테니까요. 많은 파워블로거들이 책을 출판하고 강연을 다닐 정도의 영향력을 가지는 것도 이런 맥락에서 이해할 수 있을 것입니다. 이런 의미에서 전문가가 되고 싶다면 SNS는 이미 선택이 아니라 필수입니다.

어떻게 해야 할까?

SNS를 피할 수 없다면 효과적인 소비 방법을 찾아야 할 것입니다. 저의 경우, 양적인 문제를 해결하기 위해서 한번에 45분 정도의 시간을 정하고 그 기간 동안에 가능한 분량을 소화한 후, 나머지를 포기하거나, 나중을 위해 Instapaper등에 저장합니다. 피드 구독에 가급적 자투리 시간을 이용하고, 한 시간 이상을 넘기지 않으려 합니다. 또한, 피드를 추가할 때마다 하나씩 제거한다는 원칙을 세워, 매일 소화하기 힘든 양이 쌓이는 일을 막으려고 합니다. 

종류의 다양함에서 오는 문제는 채널별로 다른 컨텐츠와 소비 패턴을 도입함으로써 해결하고 있습니다. 블로그는 주로 연구 등 Professional Communication을 위해 활용하고, 트위터는 트렌드 및 뉴스를 따라잡는데 사용합니다. 예컨데 기술 트렌드 관련 훌륭한 블로거도 많이 계시지만, 블로그 대신 그분들의 트위터 피드를 팔로우합니다. 또한, 구독하는 블로그의 종류가 다양하기에, 한번에 한 종류의 피드만을 읽으려고 노력합니다. (예컨데, 검색 관련 블로그들) 이렇게 하면 한번에 지나치게 많은 종류의 정보를 소화하는데서 얻는 피로를 최소화할 수 있습니다. 

마지막으로, 수동적인 정보 습득 대신에 비판적이고 능동적인 커뮤니케이션을 하려고 노력합니다. 블로그 포스팅에 답글을 남기고, 관심이 가는 트윗은 리트윗합니다. 소통도 소통이지만, 이렇게 하면 주어진 정보의 옥석을 가리고, 자신의 관점에서 해석하는 능력을 키울 수 있을 것입니다.  오늘날과 같은 정보 홍수의 시대에 어찌보면 가장 중요한 능력이 아닐까요. 마지막으로, SNS를 통한 배움이 일회성에 그치는 경우가 많은데, 이런 식으로 기록을 남기면 지식 축적에도 도움이 됩니다. 

자동화된 솔루션은 없을까?

위에서는 사용자의 소비 습관에 촛점을 둔 해결책을 언급했지만, SNS는 자동화된 검색 및 필터링 기술을 가장 필요로 하는 분야가 아닐까요. 특히 개인적인 메시지와 퍼블릭한 트윗이 공존하는 트위터를 쓰다보면, 사용자에 따른 트윗의 중요도를 구분해서 보여주면 좋겠다는 생각입니다. 최근에 Gmail의 Priority Inbox를 사용하면서, '어떻게 이런 기능이 없는 이메일을 쓸까?' 생각했었는데, 이메일보다 훨씬 메시지의 양도 많고 (이와함께) 노이즈도 많은 SNS에서 훨씬 필요한 기능이 아닐까 합니다. 

이상적인 형태의 솔루션은 모든 채널에서 수집되는 정보를 모아 토픽별로 자동 분류하고, 노이즈 및 중복에 해당하는 부분을 제거한 후 사용자가 관심을 가질만한 순서로 보여주는 것이 아닐까요. 마치 정보 수집 및 분류에 능통한 똑똑한 비서가 한명 있는것 처럼 말입니다. 그리고 일단 읽은 내용도, 흘려보내는 것이 아니라 향후에 관련 글이 다시 들어오면 remind시켜준다면 지식의 축적이라는 측면에서 도움이 되겠군요. 이런 서비스가 있다면 사용자의 취향에 대해서도 잘 알테니, 새로운 정보원을 발굴해서 보여줄 수도 있겠군요. 

최근 논문을 살펴보니, 각 서비스 유형 별로 (포럼 / 트위터 / 블로그) 컨텐츠를 필터링하는 테크닉에 대해서는 연구가 되어 있지만, 한 사용자의 소셜 미디어를 통합 관리하는 주제를 다룬 연구는 아직 없군요. 개별 미디어의 필터링은 Collaborative Filtering이라는 분야에서 다루지만, 이렇게 개별 사용자 중심에서 정보 부담을 최소화하는 방법을 연구하는 것은 저의 주 관심사인 개인 정보 관리(Personal Information Management)라는 분야의 연구주제입니다. 

제 예전 논문에서는 데스크톱 검색을 다루었지만, 개인 정보 관리의 무게추가 인터넷(cloud)으로 옮겨간 요즈음, 연구 측면에서도 더 관심이 가는 주제입니다. 사실은, 위에서 언급한 SNS 기반 지식관리와 관련된 프로젝트가 지난번 글에 언급한 Rails 개발입니다. 조만간 이 프로젝트에 대해 더 구체적으로 써볼 생각입니다. 

여러분은 소셜 미디어의 홍수를 어떻게 해결하고 계신가요? 혹시 유용한 툴을 아시나요? 

관련글


예전에 연구자로서 개발(programming)을 한다는 것에 대한 글을 쓴적이 있지만, 박사 논문 Proposal 등을 준비하느라 코드에 한동안 손을 대지 못하다가 최근에야 다시 시작할 수 있었습니다. 예전 글에서도 파트타임 개발자(?)의 어려움을 이야기한적이 있지만, 1년 전에 작성한 코드를 다시 읽고 기능을 추가하는 일은 역시 난감했습니다. 코드를 다시 머리에 넣는 것도 문제였지만, 예전에 작성한 코드가 문제투성이로 보이는 바람에, 처음부터 새로 짤까 고민하기 시작했습니다. (개발자라면 이런 고민 해보셨을 겁니다 ;)

또 하나의 문제는, 제가 사용하는 웹 프레임웍인 Ruby on Rails (Rails)가 3.0으로 버전업되면서 기존에 작성한 코드를 상당 부분 고쳐야 한다는 것이었습니다. Rails 2.0이 나왔을 때도 비슷한 일을 겪었었는데, 이처럼 프레임웍의 진화가 역설적으로 이에 기반하는 애플리케이션의 유지보수에 어려움을 주는 것이 큰 문제라고 생각했습니다. 하지만, Rails 3.0의 변경 내용을 구체적으로 살펴보면서 이런 불만은 탄성으로 바뀌었습니다. 애자일(agile) 웹 프레임웍의 대표격으로 인정받는 Rails이지만, 변화하는 웹 환경에 발맞추기 위해 끊임없이 혁신을 지속하는 점이 놀라웠기 때문입니다. Rails 3.0이 나온지는 꽤 시간이 지났지만, 이번 글에서는 Rails의 변화된 모습과 이에 관련된 웹 개발의 동향에 대해 알아볼까 합니다.

모듈화 및 플러거블 아키텍쳐

우선 가장 눈에띄는점은 Model-View-Controller로 이루어진 웹 프레임웍의 각 부분을 모듈화해 상호간의 인터페이스를 최소화했다는 점입니다. 이는 단순히 프레임웍의 유지보수를 편하게 하는 차원을 넘어, MVC의 각 구성요소를 사용자 편의에 맞게 바꾸는 것을 가능하게 합니다. 예컨데, Model쪽에서 기본으로 제공되는 ActiveRecord라는 데이터베이스 어댑터 대신 NoSQL 류를 포함한 다른 데이터 소스(persistence layer)를 사용할 수 있게 되었고, View측면에서 Prototype이라는 자바스크립트 프레임웍 대신에 JQuery를 사용할 수 있게 되었습니다. 유닛 테스팅에도 기본으로 제공되는 Test/Unit 대신에 BDD(Behavior-driven Development)에 기반을 둔 RSpec을 사용할 수 있습니다.

이런 변화가 웹 개발환경 자체의 특성과 어떤 관련이 있을까요? 웹은 끊임없이 신기술이 명멸하고, 근본적인 패러다임이 몇 년을 주기로 변화하는 다이나믹한 환경입니다. 이런 상황에서 웹 프레임웍이 특정한 컴포넌트의 사용을 강요하는 것은 사용자의 선택을 제약할 뿐 아니라, 프레임웍 자체의 가치를 위협하는 요소인 것입니다. 예컨데, Rails에 처음 Javascript 프레임웍이 채택되었을때, Prototype은 단연 우뚝선 존재였으나, 몇년 사이에 JQuery가 더 인기를 끌게 되었습니다. 백엔드 역시 모두가 MySQL등 RDBMS를 사용하는 환경에서, NoSQL이라는 이름의 Schema-free 어프로치가 세력을 키워가고 있습니다. 

이 모두가 최근 2-3년간 생긴 변화이고 앞으로도 이러한 추세는 계속될 것이기에, 프레임웍에 더 많은 기능과 제약을 부여하기보다는 프레임웍의 크기를 줄이고 모듈화하는 Rails의 변화는 환영할만합니다. 개발자 입장에서 모듈화에 따른 또다른 장점은 Rails 프레임웍의 소스 코드를 이해하기가 훨씬 편해졌다는 점입니다. 본격적인 애플리케이션 개발을 하다 보면 많은 경우 프레임웍 자체에 어느 정도 수정을 가해야 한다는 점을 고려하면 이 역시 작은 장점은 아닙니다.

REST(레스트) 프로토콜 지원

웹 사용이 일반화되면서 꾸준히 제기된 개념이 '기계가 사용하는 웹'입니다. 그리고, 이를 실현하기 위해 근 10년간 Semantic Web이라는 이름으로 다양한 스펙이 제안되었지만, 아직 널리 사용되지는 않고 있습니다. 반면에 Web 2.0로 불리우는 웹의 실제 진화 과정에서 웹 서비스의 일부를 API형태로 제공하는 사례가 일반화되었습니다. API는 프로그램에 의해 사용된다는 측면에서 Semantic Web과 같은 개념이지만, 개발 과정에서 복잡한 스펙에 얽매일 필요가 없습니다. 문제는 API의 정의 및 개발이 쉽지 않으며 이에 대한 표준안 역시 없다는 점입니다. 

REST(Representational State Transfer)는 이처럼 웹 서비스의 일부를 표준화된 (따라서 기계가 사용할 수 있는) 형태로 제공하게 해주는 프로토콜입니다. 좀더 구체적으로, REST는 복잡한 스펙대신에 표준화된 URL과 HTML Verb (GET, PUT, POST, DELETE)를 사용하여 웹 서비스를 구성하는 각 객체를 접근하고 수정하는 API를 정의합니다. 서비스 제공자의 입장에서는 복잡한 Semantic Web 프로토콜을 구현하거나 오류를 범하기 쉬운 커스텀 API를 구현하는 대신에, 훨씬 간편한 방식으로 표준 API를 구현할 수 있으며, API 이용자 측면에서는 웹에 존재하는 임의의 객체를 동일한 방식으로 접근할 수 있습니다. 

Rails에서는 1.2버전부터 모든 객체에 대해 RESTful한 (REST 표준에 따르는) API를 제공할 수 있게 하였으며, 2.0버전부터는 컨트롤러에서 RESTful한 API를 제공하는 것을 기본으로 채택하였습니다. 이는 웹 서비스의 모든 구성요소를 최종 사용자에게 제공하는 동시에, 개발자의 추가적인 노력을 전혀 들이지 않고 표준화된 API로도 제공할 수 있다는 것을 의미합니다. 제가 Rails 2.0으로 코드를 업그레이드할 당시에 이런 변화에 대해 불평했던 기억이 나는데, 돌이켜 생각해보면 옳은 결정이라는 생각입니다. 

이밖에도 Rails 3.0은 View에서 HTML5에 호환되는 Mark-up을 지원한다고 합니다. 또한 관련 패키지를 설치하고 관리하는 훨씬 단순한 방법을 제공합니다. 기타 자잘한 변화는 여기서 확인하실 수 있습니다. 

Rails와 웹의 미래는?

이처럼 프레임웍이 개발 생태계에 (혹은 개발 생태계가 프레임웍에) 미치는 영향은 지대합니다. Rails와 같이 영향력있는 웹 프레임웍이 이미 표준화되었거나 가까운 장래에 표준화될 기술의 사용을 적극 지원하고 장려하는 것은 개방과 공유를 근간으로 하는 웹 생태계의 발전에 크게 이바지할 것입니다. 요약하면, 다음 세대의 웹은 지금보다 서비스 각각이 더 유기적으로 결합되어 마치 거대한 하나의 애플리케이션을 사용하는 듯한 느낌을 주게 되지 않을까요. 

끊임없이 바뀌는 프레임웍에 맞춰 애플리케이션 소스를 수정하는 것은 이런 의미에서 가치있는 일일지도 모릅니다. 자신이 사용하는 프레임웍이 환경 변화에 맞추어 발전하지 못한다면, 언젠가 자신의 애플리케이션 역시 시대에 뒤안길로 밀려날지도 모르니까요. 개발자 각각의 그 모든 기술 변화를 이해하고 자신의 애플리케이션의 적용하는 것은 훨씬 더 큰 노력이 필요할테니, 어떤 의미에서 프레임웍의 사용은 변화하는 환경에 적응하는 노력을 최소화해준다고나 할까요.

이제 개발이 본업은 아니지만, 이처럼 새로운 기술이 쏟아지고 모든 면에서 끊임없이 진화하는 웹 개발 환경을 바라보는 것은 흥분되는 일입니다. 이제 다시 TextMate를 켜고 코딩을 할 생각입니다. 요즘 NoSQL류 데이터베이스 중에 MongoDB가 대세라는데 한번 써 봐야겠군요 ;)

p.s. 여러분은 요즘 어떤 웹 프레임웍을 쓰시나요? 한때 우리나라에도 활발한 Ruby / Rails 커뮤니티가 있었던 걸로 아는데요, 검색을 해보니 많이 없어진 모양이네요. 어떻게 된 일인지 아시는 분?

컨퍼런스에서 발휘된 iPad의 진가

Review : 2010. 11. 8. 11:55   By LiFiDeA
토론토에서 CIKM'10 컨퍼런스를 마치고 돌아왔습니다. 지난 포스팅에서 언급한대로 컨퍼런스 내내 iPad만을 가지고 다녔습니다. 처음에는 걱정이 있었지만, 결과적으로는 대만족이었습니다. 초기 적응기를 거쳐 능숙하게 사용하게 되면서 iPad의 진가를 알수 있었습니다. 컨퍼런스의 각 상황별로 사용소감을 정리해볼까 합니다. 

Attending Talks

학술 컨퍼런스의 대부분을 차지하는 것이 발표를 듣는 것입니다. 발표는 크게 연구 분야를 개관하고 조망하는 기조연설(keynote speech)와 컨퍼런스의 주된 프로그램이라고 할수 있는 논문 발표(technical talk)으로 나뉩니다. 기조연설은 SoundNote라는 앱을 통하여 핵심 부분을 녹음해가며 내용을 정리하였고, 논문 발표시에는 GoodReader를 사용하여 실제 논문에 주석을 달아가며 읽었습니다. 특히 최근에는 컨퍼런스 Proceeding (논문집)이 CD로 제공되는데, GoodReader에 CD를 넣어두면, HTML인덱스 페이지에서 PDF 논문으로의 링크까지 그대로 사용할 수 있어서 매우 편리합니다. 

이는 많은 부분 노트북으로도 가능한 일이지만, iPad의 폼펙터와 베터리 성능은 이를 훨씬 수월하게 합니다. 또한, 논문에 주석을 다는 일은 마우스보다 터치 인풋을 사용할 때 훨씬 자연스럽습니다. 타이핑 역시 익숙해지니 단순 텍스트 입력에는 실제 키보드와 별 차이가 없었습니다. 또한 책상이 제공되지 않는 많은 환경에서, iPad는 노트북보다 장시간 사용하기가 좀더 용이합니다. 

Giving a Poster Presentation

이번 컨퍼런스 참석의 주된 목적은 포스터 발표였습니다. 이번 연구의 주제가 개인 문서를 브라우징할 수 있는 새로운 방법이었기에, 포스터와 함께 실제 시스템의 데모가 필요했습니다. 이번 연구를 위해 개발한 시스템은 웹 기반이었기에, 포스터 발표 도중에 iPad를 사용하여 즉석 시연을 할 수 있었습니다. 또한 포스터 발표를 들은 분들께서 필기 입력이 가능한 입을 사용하여 방명록을 남길 수 있도록 하였습니다. iPad가 가벼운 무게는 아니지만, 노트북을 들고 서있는 것과는 비교할 바는 아니었습니다. 

Socialize & etc.

비디오 발표를 포함하는 모든 정보가 인터넷으로 공개되는 세상에서, 컨퍼런스에 참가하는 가장 큰 목적은 관심 분야의 사람들을 만나는 것이 아닐까요? 휴식 및 식사 시간, 혹은 기타 상황에서 사람들을 만나게 되었을 떄, iPad는 만능 프리젠테이션 툴로 변신합니다. 한 기기에서 포스터, 논문, 그리고 데모까지 모든 것을 다 보여줄 수 있기 때문입니다. 사람들과 있을 때 노트북을 꺼내기는 웬지 힘들지만, iPad는 바로 꺼내 사용할 수 있습니다. 노트북보다 social context에서 훨씬 자연스러운 태블릿의 매력이 발휘되는 부분입니다. 

마치며

모든 정보가 인터넷에 집중되고, 이에 따라 컴퓨터의 활용 범위가 점점 넓어지는 상황에서, 컴퓨터와 거의 동일한 (혹은 더 나은) 기능을 제공하면서 훨씬 광범위한 컨텍스트에서 사용할 수 있는 iPad와 같은 타블렛의 인기는 자연스러워 보입니다. 서 있거나, 책상이 없거나, 한손만이 사용 가능하거나, 여러 사람들과 같이 있는 상황에서 컴퓨터를 사용하는 것은 상상하기 힘들었지만, 타블렛은 편리하게 사용할 수 있기 때문입니다. 아직 펜 입력이 되지 않는 등 기능적 제약으로 완전히 종이를 대체하지는 못하고 있지만, 터치와 펜을 동시에 사용할 수 있는 타블렛의 등장도 멀지 않았다고 봅니다. 내년에 공개될 iPad 2를 기대해봅니다.