라이브러리
프로그래밍언어, 각종코드, 관련동향, 논문 등의 저장소
[웹2.0] 단일 디바이스를 넘는 소프트웨어
[웹2.0] 단일 디바이스를 넘는 소프트웨어
 
웹 2.0에 주목해야할 특징의 하나는 “PC 플랫폼으로 한정되지 않는다”고 하는 것이다. MS의 베테랑 개발자였던 데이브 스투즈(Dave Stutz)는 MS를 떠날 때에 "향후 긴 세월에 흐르면, 실용성이 높고 단일 디바이스의 테두리를 넘은 소프트웨어가 큰 이익을 가져올 것”이라고 말했다.

무엇보다 모든 웹 애플리케이션은 ‘단일 디바이스의 테두리를 넘은 소프트웨어’라고 부를 수 있다. 극히 단순한 웹 애플리케이션도 적어도 2대의 컴퓨터를 필요로 하기 때문이다. 하나는 웹 서버 역할을 하는 컴퓨터, 또 하나는 브라우저가 인스톨되는 컴퓨터다. 이미 설명한 대로 플랫폼으로서의 웹이 발전하면 복수의 컴퓨터가 제공하는 서비스를 완만하게 통합해 새로운 애플리케이션을 낳는 것이 가능하게 된다.

그러나 웹 2.0은 단지 새로운 것을 만드는 것은 아니고, 웹 플랫폼의 가능성을 최대한으로만든다는 것을 의미한다.

현재 이 원칙을 가장 잘 보여주는 것이 바로 아이튠즈다. 아이튠즈는 사용자가 휴대 단말을 사용하고, 웹의 방대한 정보로 액세스하는 것을 가능하게 했다. PC는 로컬 캐시나 컨트롤 스테이션으로서 기능한다. 웹의 정보를 휴대 단말에 전달하는 시도는 지금까지도 많이 행해져 왔지만, 아이팟과 아이튠즈의 편성은 복수의 기기로 이용되는 것을 전제로 설계된, 최초의 애플리케이션의 하나라고 할 수 있을 것이다. 티보(TiVo)도 그 좋은 예다.

아이튠즈와 티보는 그 이외의 웹 2.0이 가지는 중요한 원칙도 입증하고 있다. 예를 들어, 아이튠즈와 티보는 웹 애플리케이션은 아니지만, 둘 다 웹 플랫폼의 힘을 이용하고 인프라와 일체화하고 있다. 여기에서는 데이터 관리가 극히 중요한 역할을 한다. 또 어느 쪽이나 서비스이며, 패키지 애플리케이션은 아니다. 다만 아이튠즈는 사용자의 로컬 데이터를 관리하기 위한 패키지 애플리케이션이라고 해도 이용할 수 있다.

이 분야는 웹 2.0에서나, 새로운 플랫폼에 접속되는 기기가 증가하는 것에 따라, 큰 변화가 일어날 가능성이 높다고 생각된다. 전화나 자동차가 데이터를 받을 뿐만 아니라, 발신하게 되면 어떤 애플리케이션이 가능하게 될까. 실시간 트래픽 모니터링, 후랏슈모브(인터넷을 이용해 호소하는 집회), 시민 저널리즘 등은, 새로운 플랫폼의 가능성을 나타내는 최초의 징후에 지나지 않는다. @

사용자 삽입 이미지
 웹 2.0의 디자인 패턴
사용자 삽입 이미지
 
사용자 삽입 이미지
크리스토퍼 알렉산더는 저서 ‘패턴 랭귀지(A Pattern Language)’에서 건축에 관련되는 문제와 그 해법을 정리한 포맷을 정의했다. 알렉산더는 “각각의 패턴에는 어떤 환경하에서 반복해 일어나는 문제와 그 문제에 대한 해법의 핵이 기술되어 있다. 그렇게 해 같은 방식을 반복하는 일 없이 이 해법을 몇 번이라도 적용할 수 있다”라고 적고 있다. 이것을 웹 2.0에 적용한 것이 아래와 같은 8가지 패턴이다.

1. 롱 테일
인터넷의 과반수를 차지하고 있는 것은 소규모의 사이트다. 작은 니치가 인터넷으로 실현 가능한 애플리케이션의 대부분을 차지하고 있다. 따라서 유저 셀프서비스와 알고리즘에 의한 데이터 관리를 도입해, 웹 전체에 서비스를 제공하자.

2. 데이터는 차세대의 인텔 인사이드
데이터 지향의 애플리케이션이 증가하고 있다. 따라서 독자성이 높고, 같은 것을 만드는 것이 어려운 데이터 소스를 소유하는 것으로, 경쟁 우위를 획득하자.

3. 유저에 의한 부가가치 창조
경쟁력이 있는 인터넷 애플리케이션을 구축할 수 있을지는 기업이 제공하는 데이터에 유저가 어느 정도 데이터를 더할 수 있을까에 의해서 정해진다. 따라서 아키텍처를 소프트웨어 개발로 한정하는 것은 그만두자. 유저가 무의식 중에 또는 의식적으로 애플리케이션에 가치를 더할 수 있도록 하자.

4. 네트워크 효과를 재촉하는 초기설정
자신의 시간을 할애해서까지 기업의 애플리케이션 가치를 높여 주려는 유저는 적다. 따라서 유저가 애플리케이션을 사용하는 것에 의해서 부차적으로 유저의 데이터도 모이는 구조를 만들자.

5. 일부 권리 보유
지적 재산의 보호는 재이용을 제한해 실험적인 시도를 방해한다. 따라서 광범위하게 채용되는 것으로 메리트가 생기는 것은 이용을 제한하지 않고, 채용 장벽을 낮추자. 기존의 표준에 준거해, 제한 사항을 최소한으로 억제한 라이선스를 제공하자.

6. 영구 베타판
디바이스와 프로그램이 인터넷에 접속되고 있는 오늘날 애플리케이션은 물건이 아니라 간단히 제공되는 서비스이다. 따라서 새로운 기능은 릴리스라는 형태로 정리해 제공하는 것이 아니라, 통상의 유저 경험의 일부로서 일상적으로 제공해 나가자. 서비스를 제공할 때는 유저를 실시간 테스터라고 생각하고 신기능이 어떻게 사용되고 있는지를 관찰하자.

7. 컨트롤이 아니라 협력
웹 2.0 애플리케이션은 복수의 데이터 서비스의 협동 네트워크에 의해서 실현된다. 따라서 웹 서비스의 인터페이스를 통해 콘텐츠를 전달해, 다른 사람의 데이터 서비스를 재이용하자. 경량인 프로그래밍 모델을 채용해 시스템을 완만하게 통합할 수 있도록 하자.

8. 단일 디바이스의 테두리를 넘은 소프트웨어
인터넷 애플리케이션에 액세스할 수 있는 디바이스는 PC만이 아니다. 특정의 디바이스로 밖에 이용할 수 없는 애플리케이션은 디바이스의 테두리를 넘어 이용할 수 있는 애플리케이션보다 가치가 없다. 따라서 애플리케이션을 설계할 때는 처음부터 휴대 단말, PC, 인터넷 서버 등을 포괄한 시각을 갖고 통합적인 서비스를 제공하자.

사용자 삽입 이미지
사용자 삽입 이미지

이 기사는 2005년 9월 30일에O'Reilly Network로 공개된 것이다.
 
 
  Comments,     Trackbacks