간단히 말해서, 구글 웨이브는 여러 타입의 웹 테크놀로지들을 - 이메일, 인스턴트 메신저(IM), 위키, 온-라인 도큐먼틀을 포함하는 - 통합한 실시간 커뮤니케이션 및 협업 플랫폼이다. 보다 기술적인 용어로, 구글 웨이브는 동시 수정 및 낮은-레이턴시(latency) 업데이트를 지원하는 호스팅된 XML 도큐먼트들 (웨이브라고 불림)에 기반을 둔 플랫폼이다.
구글 웨이브 자체는 확립된 그리고 부상하는 웹 테크놀로지들의 조합된 사용을 통하여 커뮤니케이션및 협업의 향상을 목적으로하는 새로운 방식(approach)을 가리킨다. 구글은 일반적으로 구글웨이브를 플랫폼이라고 설명하며, 보다 큰 의미론(문맥으로), 세개의 상호의존적 레이어들의 셋이라고 설명한다.
1. 제품 레이어: 구글 웨이브 제품은 사용자가 웨이브들을 액세스및 편집하기위해 사용하는 웹 애플리케이션이다. 이는 HTML5 애플리케이션이며, 구글 웹 툴킷위에 형성된다. 리치 텍스트 에디터와 데스크 탑 드랙-앤-드롭과 같은 다른 기능들 (이는, 예를 들어, 사용자가 일련의 사진들을 웨이브로 직접 끌어 넣을수 있게 해준다)을 포함한다. 공개 프리뷰 기간 동안 구글 웨이브를 사용하는 대부분의 사용자들은 제품 레이어에 액세스하게 된다. 이 글의 나머지 부분에서는, 이 제품을 구글 웨이브 클라이언트로 지칭한다.
2. 플랫폼 레이어: 구글 웨이브는 또한 개발자들이 웨이브들을 다른 웹 서비스들에 임베드할 수 있게, 또한 웨이브들 내부에서 작동하는 새로운 익스텐션들을 만들수 있게 해주는 광범위한 오픈 API 세트를 가진 플랫폼으로도 생각될 수 있다.
3. 프로토콜 레이어: 구글 웨이브 프로토콜은 웨이브들을 저장하기 위한 기저 포맷들 그리고 이들을 공유하기 위한 수단들이며, “라이브” 동시 컨트롤을 포함하며, 이는 편집이 즉각적으로 사용자들과 서비스 모두에 걸쳐 반영되게 해준다. 프로토콜은 오픈 페더레이션(open federation)을 위해 디자인 되어, 임의의 사용자의 웨이브 서비스들이 서로간에 그리고 구글 웨이브 서비스와 함께 상호 작용할 수 있게 되어 있다. 이 프로토콜의 채택을 장려하기 위해서, 구글은 구글 웨이브의 코드를 오픈 소스로 공개했다.
이들 세개의 레이어들의 중요성을 이해하는 것이 중요하다. 대부분의 사용자들은 구글 웨이브를 단편적인 방식으로 이해하여, 주로 구글 웨이브가 웹 애플리케이션이라고 여긴다.
일반 용어로서 (즉, 위에 언급된 바와 같은, 플랫폼의 기술적 정의가 아닌) 구글 웨이브를 “플랫폼”으로 지칭하는 것은 구글 웨이브와 같이 광범위하며 새로운 것을 적절하게 설명할수 있는 다른 용어가 없다는 사실에 기인한다고 해야할 것이다. 따라서, 누군가 구글 웨이브를 지칭할 때, 그 명칭이, 사용자와 오디언스(audience)에 따라서 상이할 수 있다.
이들 세개의 레이어의 컴비네이션은 다양한 정도의 기술적 능숙함을 가닌 다수의 유저들이 쉽게 접근할 수 있는 상당히 포괄적인 제공을(offering) 나타낸다. 그림 1-2는 각 레이어가 어떻게 나타내어 지는가와 각 레이어를 사용할 것으로 예상되는 오디언스들을 보여준다.
*’구글 웨이브’가 구글이 개발한 제품, 플랫폼 그리고 프로토콜을 설명하는데 사용하는 브랜드 네임임을 주의하는 것이 중요하다. 그러나, 플랫폼 레이어가 외부적으로 접근 가능하며 프로토콜이 오픈 소스이기 때문에, 써드 파티가 새로운 브랜드와 시장 상이화를 이루기 위해 “웨이브”와 다른 이름들을 사용한 제품들과 툴들을 제공할 수도 있다. 실질적으로, 이들 써드 파티들은 웨이브 프로바이더로서 역할하게 되는 것이다. 구글 웨이브가 인기를 얻으며 상이한 타입의 프로바이더들이 잠재적으로 나타날 수 있기 때문에 이를 유념한다.
브라우저 내에서의 커뮤니케이션 그리고 협업
Dion Hinchcliffe는 구글 웨이브를 “브라우저를 통한 대화 모델들의 역동적 혼합 및 고도로 상호작용적인 도큐먼트 생성으로 이루어진” 협업 및 커뮤니케이션 매쉬업(mashup)이라고 설명한다. 이는 구글 웨이브 클라이 언트가 완전히 브라우저 내에서 작동하는 새로운 애플리케이션이라는 공통의 트렌드를 따르기에 중요한 통찰이라 할 수 있다.
구글 웨이브의 유저 인터페이스 및 기능은 구글 웹 툴킷을 사용하여 만들어지며, 이는 자바 코드를 HTML, CSS, 및 JavaScript로 변환시켜 준다. Ajax와 새로운HTML 5 표준의 힘을 얻어, 구글 웨이브 클라이언트는 데스크탑에 유사한 유저 경험을 제공해주는 풍부한 피처들(features)과 기능을 제공한다.
그림 1-3은 구글 웨이브가 어떻게 인복스, 컨택트, 네비게이션, 및 대화 쓰레드를 포함하는, 단일-페이지 유저 인터페이스에서 “창들(panes)”을 사용하여 다양한 타입의 정보를 디스플레이하는 가를 보여준다.
브라우저 밖에서의 웨이브 사용에(Riding Waves) 대해서
구글 웨이브 클라이언트 인터페이스는 웹 브라우저 내의 애플리케이션으로서 유저 경험을 다루기 위한 구글의 바람직한 방식을 나타낸다. 그러나, 구글 웽이브의 API 및 그 오픈 소스 엘리먼트들(네트웍 프로토콜 포함)은 써드 파티들이, 데스크탑, 모바일, 그리고 브라우저-기반의 애플리케이션을 포함하는, 자신의 유저 인터페이스들을 개발할 기회를 제공한다(이는 시중의 수많은 트위터 애플리케이션이 있는 것과 상당히 같은 식이라고 할 수 있다).
이는 이메일과 이메일이 다양한 애플리케이션들을 통해 액세스되고 사용되는 방식들과 같은 방식으로 볼 수 있다 (예를 들어, 필자는, 어디 있으며 어떤 컴퓨터를 사용하고 있는 가에 따라, Gmail 계정에 액세스하기 위해 모질라의 썬더버드 데스크탑 애플리케이션과 브라우저 이 둘 모두를 사용한다). 개발자들이 구글 웨이브 API를 사용하여 기술을 연마하고 네트웍 프로토콜이 인기를 얻어감에 따라, 상이한 웨이브 프로바이더들로부터의 웨이브들에 액세스하는데 사용되는 상이한 데스크탑및 브라우저 애플리케이션을 보게될 것으로 예상된다.
웨이브, 웨이블릿, 그리고 블립, 이런!
몇개의 일반 용어들이 구글 웨이브와 관련된 엘리먼트들을 기술하는데 사용된다. 용어들에 보다 익숙하게 됨에 따라서, 다수의 핵심 용어들의 위계관계가( hierarchy) 있음을 유념한다. 익숙해져야 할 몇몇의 보다 일반적인 용어들은 웨이브, 웨이블릿, 블립, 로봇, 가젯을 포함한다. (그림 1-3 참조)
웨이브(Waves): 일반적 의미로, 웨이브는, 하나 이상이 참가자로 (이는 인간 참가자와 로봇 모두를 포함할 수 있다) 구성된, 도큐먼트로 디스플레이 될 수 있는 향상된 세트의 대화 쓰레드들을 위한 컨테이너이다. 웨이브는 상태와 히스토리 정보를 포함하는 다이내믹 엔터티이다. 웨이브는 생물체와 같으며, 참가자의 액션에 따라 실시간 수정된다. 웨이브는 아래에 정의된 하나 또는 그 이상의 웨이블릿을 포함한다.
웨이블릿(Wavelets): 웨이블릿은 웨이브 내에서 스폰되는(spawn) 대화 쓰레드이다. 웨이블릿은, 블립으로 불리는, 하나 또는 그 이상의 메시지들을 위한 컨테이너로 역할한다. 웨이블릿은 특정 웨이브내에서 데이터를 위한 액세스 컨트롤의 기본 유닛이다. 웨으블릿 상의 모든 참가자들은 웨이블릿 내에서 컨텐트로의 읽기/쓰기 액세스를 가진다. 또한, 구글 웨이브 API 내에서 일어나는 모든 이벤트들은 웨이블릿 또는 보다 하위 레벨에서 작동한다.
블립(Blips): 블립은 대화의 기본 유닛이며 웨이블릿에 나타나는 단일 메시지로 구성된다. 블립은 작성(drafts)되거나 (웨이브 클라이언트에서 “Done”을 클릭해서) 개시될(published) 수 있다. 블립은, 아래에 정의된, 이들의 도큐먼트를 통해 컨텐트를 관리하게된다. 블립은 또한 자식으로서 다른 블립들을 가져서, 하이어아키를 형성할 수 있다. 각 웨이블릿은 항상 적어도 하나의 루트 블립으로 구성된다.
참가자(Participants): 각 웨이브는 하나 또는 그 이상의 참가자들 셋을 가진다. 참가자들은 한 웨이브 내에서 능동적으로 연계하여 상호 작용하는 인간 또는 로봇 (아래 로봇 참조) 이다. 참가자들은 기존 참가자들에 의해서 웨이브에 더해진다.
도큐먼트: 도큐먼트는 블립에 부가된 컨텐트이며 API를 통해 선택, 수정, 또는 첨가될 수 있다. 일반적으로, 도큐먼트는 XML 다터 구조의 직접적 조작보다는 편의 메쏘드들을 통해 다뤄진다. 이러한 의미에서, 도큐먼트는 물리적 도큐먼트보다는 추상적 컨텐트 셋을 지칭하게 된다.
구글 웨이브는 몇가지 웹 테크놀로지들을 통합한다.
구글 웨이브에 사용되는 몇가지 일반 용어의 이해에 더해서, 구글 웨이브로 통합되는 몇가지 테크놀로지를 리뷰하는 것도 가치가 있다.
이메일: 구글 웨이브는 이메일을 매우 가치있게 만들어 주는 피처들과 기능의 일부를 가지며 이는 메시지 보관, 첨부, 단일 또는 다수 수신자, 그리고 리치 텍스트 편집을 포함한다.
인스턴트 메시징: 구글 웨이브는 유저들이 실시간으로 하나 또는 그 이상의 유저들과 짧은 메시지들 및 파일들을 교환할 수 있게 해줌으로써 IM과 유사한 기능을 포함하나, 구글 웨이브의 쓰레드 메시징 및 보관 기능은 모든 참가자들이 동시에 온라인 상태일 것을 요구하지 않는다.
위키: 위키와 유사한 방식으로, 구글 웨이브는 유저들이 위키와 유사한 식으로 대화 쓰레드를 편집하게 해준다 (편집되는 컨텐트가 그 유저에 의해서 원래 생성된 것인가에 상관없이).
온라인 도큐먼트: 구글의 ‘Google Docs‘ 및 Zoho.com의 생산성 애플리케이션과 같은 인기있는 온라인 도큐먼트 ‘슈트들’은 값비싼 데스크탑 소프트웨어의 인기있는 (공짜 또는 저가) 대안으로 부상하고 있다. 구글 웨이브는 구글 웨이브 유저 인터페이스 내에 Google Docs에 있는 기능 일부를 통합한다.
로봇, 가젯(Gadgets), 그리고 임베드된 웨이브
구글 웨이브는 개발자가 피처들과 기능을 확장하고 커스터마이징하는 것을 상당히 단순하게 만들어 주는 오픈 API들을 포함한다. 또한, 이들 오픈 API들은 구글 웨이브를, 다른 다양한 커뮤니케이션, 협동, 그리고 소셜 네트웍 애플리케이션 및 서비스들을 포함하는, 써드 파티 서비스들과 통합하는 것을 가능하게 해준다.
현재 구글 웨이브 API들은 웨이브 익스텐션들과 다른 웹 페이지들내의 임베드된 웨이브들을 개발하는데 사용될 수 있다. 익스텐션들은 웨이브의 기능을 향상시키는데 사용된다. 현재, 구글 웨이브는 두가지 타입의 익스텐션들에의 액세스를 제공하며, 이는 로봇과 가젯이다.
로봇
로봇은 웨이브에서 다른 참가자들(인간 및/또는 로봇)과 상호작용하는 프로그램으로 컨트롤되는 참가자들이다. 로봇은 보통 클라우드(예를 들어, Google App Engine)에 거주하며 기능적으로(operationally) 웨이브에서 일어나는 액션들과 상호작용하며 응답할 수 있다.
로봇은 웨이브의 다수의 컨텐트에 액세스를 가지며, 또한 다른 참가자들가 동일한 식으로 블립들을 생성하고, 편집하며 삭제할 수 있다. 로봇은, 비록 로봇이 웨이브의 컨텐트를 해석하는 방식에 있어 명백한 차이점들이 있더라도, 웨이브에서 인간과 동일한 액세스 및 능력을 가지는 것으로 생각될 수 있다. 일발적으로, 로봇은 다음의 액션들을 수행한다:
-웨이브의 정보를 수정
-웨이브에서 참가자들과 상호작용
-웨이브의 정보를 다른 바깥 세계로 또는 다른 웨이브들로 커뮤니케이트 및 싱크로나이즈함
-써드 파티(예를 들어 데이터 베이스)에서의 상태(state)로의 액세스 및 수정
로봇은 웨이브에서 정보 및 액션들을 항시 프로세스하고 응답하는 자동화된 참가자로서 기능하며, 로봇이 구글 웨이브의 커뮤니케이션 및 협업을 향상시켜 줄 수 있는 다양한 방식들이 존재한다. 예를 들어, 로봇은 블립들을 다른 언어들로 자동 번역시켜주거나, 다른 서비스들 상으로 웨이브를 다시 브로드캐스팅하거나 (예를 들어, 프로젝트 매니지먼트 앱), 또는 정보를 다른 서비스들로부터 웨이브로 전송하는 (예를 들어, 특정 토픽에 대한 긴급 뉴스를 가진 블립을 첨가하는 것) 데에 사용될 수 있다.
로봇은 웨이브 어드레스를 통한 구글 웨이브로의 컨택트로서 더해질 수 있으며, 이 주소는 이들의 App Engine 애플리케이션 네임에 (예를 들어 myApplication@appspot.com) 근거한다. 새로운 익스텐션 인스톨러가 또한 최근 로봇을 인스톨하는 것을 가능하게 만들어 주고 있다(보다 자세한 사항은 아래의 익스텐션 인스톨러 참고). 익스텐션 갤러리 페이지는 현재 구글 및 써드 파티 개발자들에 의해서 개발된 여러 로봇들의 리스트를 보여준다.
로봇이 컨택트로서 더해진 후, 로봇은 웨이브에 참가자로서 추가 상호작용을 위해서 더해질 수 있다. 그림 1-5에서, Stocky로봇이 더해지며, Stocky 는 실시간 주식 시세들(stock quotes)을 제공해 준다.
가젯
가젯들은 본질적으로 특정 기능을 제공하는 미니-애플리케이션이며, 이 특정 기능은 때때로 또 다른 웹 애플리케이션에서 사용가능한 기능의 서브셋에 근거한다. 가젯은 (브라우저 내부의) 클라이언트에서 구현되지만, 가젯은 정보를 프로세싱하고 서버와 교환할 수 있다.
구글 웨이브에서 사용되는 가젯들은 다른 구글 서비스 및 애플리케이션들에서 사용되는 가젯들과 유사하며, 이들은 구글 홈 페이지(즉, iGoogle) 의 개인화된 버전들에서 사용되는 가젯들과 Orkut과 같은 소셜 네트웍에서 사용되는 가젯들을 포함한다. 사실상, 구글 웨이브 가젯들과 다른 구글 가젯들이 동이한 구조를 공유하기 때문에, 다른 구글 서비스들 및 애플리케이션들을 위해 개발된 가젯들은 구글 웨이브에서 사용될 수 있다. 몇몇 보다 인기있는 가젯들로 게임(예를 들어, 체스 게임) 및 유틸리티(예를 들어, 구글 맵)를 들수 있다. 그림 1-6은 필자가 Checky the Checklist Gadget으로 만든 샘플 웨이브를 보여준다.
가젯들은 익스텐션 인스톨러를 사용하여 더해질 수 있으며, 이는 유저들이 쉽게 가젯들과 로봇을 웨이브에 더하게 해주는 새로운 피처이다.
익스텐션 인스톨러
익스텐션 인스톨러는 현재 쉬운 인스톨 프로세스를 통해 대화 창 툴바에 다양한 타입의 가젯들을 더하게 해준다. 익스텐션 갤러리 웨이브(그림 1-7 참조)는 사용자에게 퍼즐 피스들로 표현된 여러개의 가젯으로의 액세스를 제공한다. 익스텐션 인스톨러 상의 “Install” 버튼을 클리하면 가젯이 툴바에 더해져서, 사용자가 가젯을 사용자가 생성한 어떠한 후속 웨이브들 상에서도 사용할 수 있게 해준다.
* 구글 웨이브는 현재 Open Social 가젯들을 지원하지 않지만, 오우너, 뷰어, 그리고 친구와 같은 유사한 소셜 네트웍 컨셉트들은 포함하는 것에 주의한다.
익스텐션 인스톨러에 대한 보다 자세한 사항을 위해 이들 명령을(링크) 사용할 수 있다. 비록 이 기능이 완전히 구현되지는 않았지만, 익스텐션 인스톨러가 또한 로봇을 웨이브에 더하는데 사용될 있다는 것을 볼 수 있다.
익스텐션 인스톨러에 번들되어있지 않은 가젯 또한 대화 창의 툴바의 가젯 버튼을 클릭해서 외부 가젯으로 더할 수 있다. 버튼을 클릭하게 되면, 팝업 윈도우가 가젯의 URL을 붙여넣을 수 있는 텍스트 인풋 박스를 디스플레이한다. 가젯 갤러리 페이지는 구글과 써드 파티 개발자들에 의해서 개발된 가젯들의 리스트를 제공한다. 이들 가젯들은 팝업 윈도우의 텍스트 인풋 박스안으로 가젯의 스페시피케이션 파일(XML 파일)을 카피 앤 페이스트함에 의해서 더해질 수 있다. 외부 가젯을 추가하는 것에 대한 추가 명령들은 여기에서 볼 수 있다.
임베딩된 웨이브
익스텐션이 웨이브의 피처들과 기능을 향상시키는 한편, 임베딩된 웨이브는 커뮤니케이션 및 협업 기능을 웹 페이지들에 통합시킨다. 구글 웨이브로 가젯을 로딩하는 것과 유사한 방식으로, 웨이브는 다른 웹 페이지들에 미니 애플리케이션으로서 로딩 될 수 있다.
익스텐션과 임베딩된 웨이브 간의 차이점을 생각하는 한가지 방식으로 각 타입의 엘리먼트들이 유저들에게 도달하는 방식을 볼 수 있다. (그림 1-8 참고) 로봇과 가젯은 웨이브를 통해 유저에 도달하는데 반해, 임베딩된 웨이브는 웹-기반 애플리케이션 및 웹 페이지를 통해 유저에 도달하게 된다. 다시 말해, 익스텐션은 컨테이너로서 웨이브에 의존하며, 임베딩된 웨이브는 컨테이너로서 애플리케이션과 웹 페이지에 의존한다.
구글 웨이브 페더레이션 프로토콜
구글이 웨이브를 호스트하며 관리하는 유일한 엔터티는 아니다. 구글 웨이브의 광범위한 채택을 위한 구글의 전략의 부분은 연방화된(federated) 방식을 사용하여 상이한 웨이브 프로바이더 간의 웨이브를 공유하게 하는 오픈 소스 네트웍의 릴리즈를 포함한다. 근본적으로 이는 이메일 서버를 셋업할 수 있는 것과 동일한 식으로, 누구든 Google Wave Federation Protocol을 사용하여 서버를 셋업하고 내부 웨이블릿 및 외부 웨이블릿을 포함하는 웨이브를 호스트할 수 있다는 것을 의미한다.
다수의 웨이브 프로바이더를 가진 구글 웨이브 환경이 부상하리라는 것을 쉽게 유추할 수 있다. 소위 웹-기반 이메일 프로바이더와 유사한 방식으로, 표준 프로토콜 및 포맷들이 서비스 프로바이더들(구글 포함) 사이의 그리고 이들 내에서의 정보 교환을 가능게 해주며 또한 용이하게 해줄 것이다.
서치
서치 엔진 공간에서의 구글의 인기 및 커다란 마켓 서치를 놓고 볼때, 구글 웨이브 클라이언트가 다양한 타입의 서치를 포함하는 것은 자연스럽다고 할 수 있다. 유저들은 자신의 웨이브 인복스에서 웨이브를 서치할 수 있으며, 컨택트들이 서치될 수 있고, 구글 서치 가젯이 모든 웨이브에서 사용가능하며(그리고 가젯은 서치 결과로의 링크를 허용한다), 웨이브들은 미래의 서치를 쉽게하기 위해 키워드로 태깅될(tagged) 수 있다. 서치가 클라이언트의 다양한 부분들로 병합될 뿐만 아니라, 유저의 인복스에서 수행된 서치들이 필터로서 (GMail과 유사한 방식으로) 세이브될 수 있다.
서치가 구글 웨이브 클라이언트의 까다로운 피처로서 마주치게 될 수 있다 하더라도, 이는 협업을 향상시키며 유저 웍플로우를 원활하게 해주는데 있어 중요한 의미을 가진다. 서치 엔진의 병합은 유저들이, 사냥하기에 다양한 정보를 페이지마다 뒤지기 보다는, 이들의 직접적인 필요에 관련된 정보를 보다 쉽게 액세스할 수 있게 해주는 것을 의미한다. 또한, 웨이브에 대해 기존의, 이미 컨픽이된 (pre-configured) 필터들을 사용할 수 있게 해주는 것은 또한 정보가 컨텐트에 의해서 집합될 수 있으며, 따라서 사용자가 쉽게 액세스할 수 있는 정보의 논리적인 그룹화를 가능하게 해준 다는 것을 의미한다.
대화(converstations)가 구글 웨이브에 중심적(integral)이다.
대화 쓰레드
컨텍스트-리치(contextually-rich) 대화 쓰레드 모델은 구글 웨이브로 커뮤니케이팅하는 것을 매우 가치있게 만들어주는 키 엘리먼트들의 하나이다. 대화 쓰레드는 시작 메시지와 메시지 트리의 부분을 형성하는 관련된 상응하는 응답들의 셋을 포함하는 관련된 메시지 셋의 시각적 표현이다. (그림 1-9 참조) 관련된 메시지들은 대화에서 한 쓰레드이며, 쓰레드 그 자신은 부모-자식 타입의 하이어아키로 몇개의 다른 쓰레드들을 포함할 수 있다.
웹시대 이전에 처럼 느껴지는 시대에 막강하게 지배했던, 온라인 개시판은 이러한 타입의 대화 쓰레드 모델을 사용하여, 유저들이 각각의 다른 이들의 메시지에 응답하여 이러한 타입의 메시지 하이어아키를 형성하게 해준다. IM은 또한, 비록 메시지들이 모든 참가자들 간에 단일 쓰레드로 제한되게 하는 경향을 가지지만, 이러한 쓰레드된 방식을 사용한다. 따라서, 유저들이 대화 쓰레드의 기술적 사항들에 필연적으로 익숙하지 못할 지라도, 이러한 타입의 대화 모델에 익숙한 것으로 보인다. 대화 쓰레드 모델이 새롭지 않다는 사실은 실제적으로 장점이며, 이는 사용자들이 구글 웨이브에서 이러한 형태의 대화를 채택하여 비슷하게 사용할 수 있기 때문이다.
일반적인 대화 쓰레드를 넘어서
구글 웨이브에서 대화 쓰레드는 고 레벨의 상호작용을 제공하여, 참가자들이 실시간 및 지연된 시간 모두에서 컨텐트-리치 블립들을 반복하여 교환할 수 있게 해준다. 이 정보는, 웨이브에 더해진 다른 엘리먼트들(가젯 또는 멀티미디어)과 함께, 웨이브안에 저장되어, 대화를 중심적으로 액세스가능하게 만들어 주고 참가자들이 누가 누구에게 답하며 언제 이들이 답했는가를 볼 수 있게 해준다(그림 1-10 참조). 결과로서, 구글 웨이브의 대화들은 도큐먼트 또는 이메일의 일관성을 성취하게 되며, 한편 동시에 IM의 실시간 기능들을 유지하게 된다. 이는 또한 웨이브가 보통 소수의 답신만의 교환을 요구하는 짧은 커뮤니케이션 교환(short communication burst)에 사용될 수 있거나 또는 참가자들간의 다수의 쓰레드들을 포함하는 긴 대화에 사용될 수 있다는 것을 의미한다.
참가자들은 시간적 시퀀스에 관계없이 쓰레드의 어떠한 블립에도 응답할 수 있으며, 응답은 사실상 블립의 특정 부분에 더해질 수 있어서(예를 들어, 문단의 두번째 문장에의 응답), 따라서 순서에 있어서 순차적일 필요가 없는 세그먼트된 쓰레드를 생성하게 된다. 참가자들은 또한 위키와 유사한 식으로 블립을 편집할 수 있으며, 이는 다른 유저들이 생성한 블립들도 포함한다. 멀티-쓰레드 블립과 편집의 이러한 퓨전에 있어서 굉장한 것은 아웃데이트된 정보가 업데이트되고, 에러가 수정되며, 블립들이 추가 정보들을 포함하게 보정될 수 있다는 것이다.
고도로 상호작용적인 실시간 커뮤니케이션과 쉽게 액세스 가능한 저장된 응답들의 결합은 구글 웨이브의 핵심적 이점들 중의 하나이며, 이는 구글 웨이브가 이메일 및 IM(이들은 독립적으로 이러한 타입의 기능 및 접근성을 제공하기 못한다)에 대해서 가지는 장점들의 하나이다. 또한, 참가자들이 회귀적으로(retroactively) 블립을 편집하고 수정하게 하는 능력은 또한 구글 웨이브에 이메일 및 IM에 대해 추가 장점을 부여하며, 이는 이메일 또는 IM을 통해 보내진 메시지들이 수신자에게 보내지고 나면 스태틱하다는 점에 기인한다.
또한 참가자들이, 언제 웨이브에 조인했는 가에 관계없이, 전체 대화에 액세스할 수 있다는 것은 주목할 만하다. 이메일 또는 IM에서, 참가자들은 보통 대화의 시작에 포함된다. 그렇지 않으면, 새로운 참가자는 사후에 이메일 쓰레드에 더해질 수 있으나, 이들 새로운 참가자들은 이메일의 쓰레드의 모두를 볼 수는 없게될 수 있다(할 수 있게 된다 해도, 이들은 보통 참가자들간에 오고 간 긴 응답들을 지루하게 봐야만 한다).
-명확하게 말하자면, 대화 쓰레드들은 웨이브의 중요한 부분이지만, 웨이브는 대화 쓰레드 그 이상의 것이다.
-다음의 섹션에서 보게 되겠지만, 웨이브에 있어서 대화는, 대화 쓰레드를 포함하는, 다양한 엘리먼트들을 통합하는 온라인 도규먼트의 부분을 형성한다.
이봐! 우리(we)가 도큐먼트를 만들고 있다네
우리가 알아채던 그렇지 못하던 간에, 우리가 웨이브를 생성해낼 때마다, 우리는 사실상 새로운 도큐먼트를 생성하고 있는 것이다. 기술적 용어로, 웨이브는 실제로 웨이브 서버에 호스팅되는 XML도큐먼트이다. 필자가 웨이브의 이러저러한 기술적 세부사항에 깊이 설명하지는 않겠지만, 여기서 이해해야할 핵심 사항은 웨이브의 대화가 한시적인 것이 아니며, (이메일과 같이) 분리된 부분들로부터 함께 짜맞춰진 대화도 아니라는 점이다. 새로운 블립이 웨이브에 더해질 때 마다, 그 블립은 대화의 모두 또는 부분을 디스플레이하는데 후속적으로 사용될 수 있는 동적 도큐먼트의 부분이 된다.
비 기술 용어로, 구글 웨이브 클라이언트에서 웨이브의 시각적 표현은 또한 새로운 타입의 온라인 도큐먼트로서 작용한다. 이 도큐먼트는 리치 텍스트 에디터 및 스프레드쉬트와 같은 다른 타입의 도큐먼트들에서 보통 발견되는 엘리먼트들을 포함하며, 이는 또한 참가자들 간의 사회적 상호작용을 결합시킨다. 다시 말해, 웨이브는 사용자들이 웹에서 보통 사용하는 많은 가치있는 피처들을 함께 결합시키는 멀티-디멘저널(multi-dimensional) 도큐먼트를 나타낸다. (그림 1-11 참조).
따라서, 참가자들이 구글 웨이브를 통해 각자 다른 참가자와 커뮤니케이트할 때 마다, 이들의 액션들은 도큐먼트의 백엔드 상에서 캡처되며, 프론트 엔드 상에서 리치 컨텐트를 포함하는 상호-관련된 대화 쓰레드들의 셋으로 디스플레이 된다.
이는 구글 웨이브 클라이언트가(또는 관련된 다른 다른 웨이브 클라이언트가) (일종의) 온라인 도큐먼트 뷰어라기 보다는 IM콘솔로서 이해되는 경우 지나치기 쉬운 중요한 차이점이라고 할 수 있다. 이는 아마도 위키 비유가 참가자들에게 사용가능한 정보가 단지 스테틱한, 순차적 대화 쓰레드 그 이상이라는 것을 설명하는데 도움을 주는 부분이 될 것이다.
대화 재생(Replaying)
웨이브에서 정보를 편집하는 위키에 유사한 기능에 대한 초반 반응들의 일부는 참가자들이 각 다른이들의 블립들을 수정할 수 있는기능에 관한 우려를 포함한다. 이는 정당한 우려이며, 특히 참가자들이 의견의 차이를 가질 수 있는 민감한 정보 또는 대화에 초점이 맞춰진 대화와 관련하기 때문에 그러하다. 궁극적으로 웨이브에 만들어진 변경들은, 정보가 어떻게 더해지고 수정되었는지 확인하기 위해, 트래킹이 가능해야 할 필요가 있다.
만일 몇몇 보다 인기있는 위키 플랫폼들에 (예를 들어, Wikipedia의 엔진인 WikiMedia) 친숙하다면, 주어진 페이지의 리비전 히스토리가 누가 어떤 변경을 했으며 언제 이들 변경이 만들어 졌는지를 알기 위해서 리뷰될 수 있다는 것을 알 수 있을 것이다. 이 기능은 기여를 한 저자가 투명한 형태의 피어 리뷰를 통해 다른 저자의 컨텐트에 가한 변경들에 대한 설명을 가능하게 하는 것을 보장해 준다.
구글 웨이브는 이러한 개념의 피어 리뷰 및 리비전 히스토리를 포함하지만, 다음과 같은 변경을 가진다: 구글 웨이브 클라이언트를 사용하는 참가자들은 웨이브를 실제로 애니메이트하는 재생 기능을 사용하여, 그 구조와 컨텐트를 단계별로 재생한다. (그림 1-12 참조)
http://oreilly.com/web-develo
http://oreilly.com/web-development/excerpts/9780596806002/google-wave-intro.html
누군가 요약 좀 해주시면 감사... ==3=3
전에 언뜻 소개
전에 언뜻 소개 동영상을 본 기억으로는 "실시간 위키"인거 같은 느낌이었습니다.
메일을 보내는 것으로 위키페이지를 개설하고
그 페이지에 초대된 사람들간에 서로 메신저로 대화하듯 내용을 첨부/수정하고...
저도 그럼... ==3===3
번역
그렇다면 구글 웨이브란 정확히 뭔가?
핵심소개(In a Nutshell)
간단히 말해서, 구글 웨이브는 여러 타입의 웹 테크놀로지들을 - 이메일, 인스턴트 메신저(IM), 위키, 온-라인 도큐먼틀을 포함하는 - 통합한 실시간 커뮤니케이션 및 협업 플랫폼이다. 보다 기술적인 용어로, 구글 웨이브는 동시 수정 및 낮은-레이턴시(latency) 업데이트를 지원하는 호스팅된 XML 도큐먼트들 (웨이브라고 불림)에 기반을 둔 플랫폼이다.
구글 웨이브 자체는 확립된 그리고 부상하는 웹 테크놀로지들의 조합된 사용을 통하여 커뮤니케이션및 협업의 향상을 목적으로하는 새로운 방식(approach)을 가리킨다. 구글은 일반적으로 구글웨이브를 플랫폼이라고 설명하며, 보다 큰 의미론(문맥으로), 세개의 상호의존적 레이어들의 셋이라고 설명한다.
1. 제품 레이어: 구글 웨이브 제품은 사용자가 웨이브들을 액세스및 편집하기위해 사용하는 웹 애플리케이션이다. 이는 HTML5 애플리케이션이며, 구글 웹 툴킷위에 형성된다. 리치 텍스트 에디터와 데스크 탑 드랙-앤-드롭과 같은 다른 기능들 (이는, 예를 들어, 사용자가 일련의 사진들을 웨이브로 직접 끌어 넣을수 있게 해준다)을 포함한다. 공개 프리뷰 기간 동안 구글 웨이브를 사용하는 대부분의 사용자들은 제품 레이어에 액세스하게 된다. 이 글의 나머지 부분에서는, 이 제품을 구글 웨이브 클라이언트로 지칭한다.
2. 플랫폼 레이어: 구글 웨이브는 또한 개발자들이 웨이브들을 다른 웹 서비스들에 임베드할 수 있게, 또한 웨이브들 내부에서 작동하는 새로운 익스텐션들을 만들수 있게 해주는 광범위한 오픈 API 세트를 가진 플랫폼으로도 생각될 수 있다.
3. 프로토콜 레이어: 구글 웨이브 프로토콜은 웨이브들을 저장하기 위한 기저 포맷들 그리고 이들을 공유하기 위한 수단들이며, “라이브” 동시 컨트롤을 포함하며, 이는 편집이 즉각적으로 사용자들과 서비스 모두에 걸쳐 반영되게 해준다. 프로토콜은 오픈 페더레이션(open federation)을 위해 디자인 되어, 임의의 사용자의 웨이브 서비스들이 서로간에 그리고 구글 웨이브 서비스와 함께 상호 작용할 수 있게 되어 있다. 이 프로토콜의 채택을 장려하기 위해서, 구글은 구글 웨이브의 코드를 오픈 소스로 공개했다.
이들 세개의 레이어들의 중요성을 이해하는 것이 중요하다. 대부분의 사용자들은 구글 웨이브를 단편적인 방식으로 이해하여, 주로 구글 웨이브가 웹 애플리케이션이라고 여긴다.
일반 용어로서 (즉, 위에 언급된 바와 같은, 플랫폼의 기술적 정의가 아닌) 구글 웨이브를 “플랫폼”으로 지칭하는 것은 구글 웨이브와 같이 광범위하며 새로운 것을 적절하게 설명할수 있는 다른 용어가 없다는 사실에 기인한다고 해야할 것이다. 따라서, 누군가 구글 웨이브를 지칭할 때, 그 명칭이, 사용자와 오디언스(audience)에 따라서 상이할 수 있다.
이들 세개의 레이어의 컴비네이션은 다양한 정도의 기술적 능숙함을 가닌 다수의 유저들이 쉽게 접근할 수 있는 상당히 포괄적인 제공을(offering) 나타낸다. 그림 1-2는 각 레이어가 어떻게 나타내어 지는가와 각 레이어를 사용할 것으로 예상되는 오디언스들을 보여준다.
*’구글 웨이브’가 구글이 개발한 제품, 플랫폼 그리고 프로토콜을 설명하는데 사용하는 브랜드 네임임을 주의하는 것이 중요하다. 그러나, 플랫폼 레이어가 외부적으로 접근 가능하며 프로토콜이 오픈 소스이기 때문에, 써드 파티가 새로운 브랜드와 시장 상이화를 이루기 위해 “웨이브”와 다른 이름들을 사용한 제품들과 툴들을 제공할 수도 있다. 실질적으로, 이들 써드 파티들은 웨이브 프로바이더로서 역할하게 되는 것이다. 구글 웨이브가 인기를 얻으며 상이한 타입의 프로바이더들이 잠재적으로 나타날 수 있기 때문에 이를 유념한다.
브라우저 내에서의 커뮤니케이션 그리고 협업
Dion Hinchcliffe는 구글 웨이브를 “브라우저를 통한 대화 모델들의 역동적 혼합 및 고도로 상호작용적인 도큐먼트 생성으로 이루어진” 협업 및 커뮤니케이션 매쉬업(mashup)이라고 설명한다. 이는 구글 웨이브 클라이 언트가 완전히 브라우저 내에서 작동하는 새로운 애플리케이션이라는 공통의 트렌드를 따르기에 중요한 통찰이라 할 수 있다.
구글 웨이브의 유저 인터페이스 및 기능은 구글 웹 툴킷을 사용하여 만들어지며, 이는 자바 코드를 HTML, CSS, 및 JavaScript로 변환시켜 준다. Ajax와 새로운HTML 5 표준의 힘을 얻어, 구글 웨이브 클라이언트는 데스크탑에 유사한 유저 경험을 제공해주는 풍부한 피처들(features)과 기능을 제공한다.
그림 1-3은 구글 웨이브가 어떻게 인복스, 컨택트, 네비게이션, 및 대화 쓰레드를 포함하는, 단일-페이지 유저 인터페이스에서 “창들(panes)”을 사용하여 다양한 타입의 정보를 디스플레이하는 가를 보여준다.
브라우저 밖에서의 웨이브 사용에(Riding Waves) 대해서
구글 웨이브 클라이언트 인터페이스는 웹 브라우저 내의 애플리케이션으로서 유저 경험을 다루기 위한 구글의 바람직한 방식을 나타낸다. 그러나, 구글 웽이브의 API 및 그 오픈 소스 엘리먼트들(네트웍 프로토콜 포함)은 써드 파티들이, 데스크탑, 모바일, 그리고 브라우저-기반의 애플리케이션을 포함하는, 자신의 유저 인터페이스들을 개발할 기회를 제공한다(이는 시중의 수많은 트위터 애플리케이션이 있는 것과 상당히 같은 식이라고 할 수 있다).
이는 이메일과 이메일이 다양한 애플리케이션들을 통해 액세스되고 사용되는 방식들과 같은 방식으로 볼 수 있다 (예를 들어, 필자는, 어디 있으며 어떤 컴퓨터를 사용하고 있는 가에 따라, Gmail 계정에 액세스하기 위해 모질라의 썬더버드 데스크탑 애플리케이션과 브라우저 이 둘 모두를 사용한다). 개발자들이 구글 웨이브 API를 사용하여 기술을 연마하고 네트웍 프로토콜이 인기를 얻어감에 따라, 상이한 웨이브 프로바이더들로부터의 웨이브들에 액세스하는데 사용되는 상이한 데스크탑및 브라우저 애플리케이션을 보게될 것으로 예상된다.
웨이브, 웨이블릿, 그리고 블립, 이런!
몇개의 일반 용어들이 구글 웨이브와 관련된 엘리먼트들을 기술하는데 사용된다. 용어들에 보다 익숙하게 됨에 따라서, 다수의 핵심 용어들의 위계관계가( hierarchy) 있음을 유념한다. 익숙해져야 할 몇몇의 보다 일반적인 용어들은 웨이브, 웨이블릿, 블립, 로봇, 가젯을 포함한다. (그림 1-3 참조)
웨이브(Waves): 일반적 의미로, 웨이브는, 하나 이상이 참가자로 (이는 인간 참가자와 로봇 모두를 포함할 수 있다) 구성된, 도큐먼트로 디스플레이 될 수 있는 향상된 세트의 대화 쓰레드들을 위한 컨테이너이다. 웨이브는 상태와 히스토리 정보를 포함하는 다이내믹 엔터티이다. 웨이브는 생물체와 같으며, 참가자의 액션에 따라 실시간 수정된다. 웨이브는 아래에 정의된 하나 또는 그 이상의 웨이블릿을 포함한다.
웨이블릿(Wavelets): 웨이블릿은 웨이브 내에서 스폰되는(spawn) 대화 쓰레드이다. 웨이블릿은, 블립으로 불리는, 하나 또는 그 이상의 메시지들을 위한 컨테이너로 역할한다. 웨이블릿은 특정 웨이브내에서 데이터를 위한 액세스 컨트롤의 기본 유닛이다. 웨으블릿 상의 모든 참가자들은 웨이블릿 내에서 컨텐트로의 읽기/쓰기 액세스를 가진다. 또한, 구글 웨이브 API 내에서 일어나는 모든 이벤트들은 웨이블릿 또는 보다 하위 레벨에서 작동한다.
블립(Blips): 블립은 대화의 기본 유닛이며 웨이블릿에 나타나는 단일 메시지로 구성된다. 블립은 작성(drafts)되거나 (웨이브 클라이언트에서 “Done”을 클릭해서) 개시될(published) 수 있다. 블립은, 아래에 정의된, 이들의 도큐먼트를 통해 컨텐트를 관리하게된다. 블립은 또한 자식으로서 다른 블립들을 가져서, 하이어아키를 형성할 수 있다. 각 웨이블릿은 항상 적어도 하나의 루트 블립으로 구성된다.
참가자(Participants): 각 웨이브는 하나 또는 그 이상의 참가자들 셋을 가진다. 참가자들은 한 웨이브 내에서 능동적으로 연계하여 상호 작용하는 인간 또는 로봇 (아래 로봇 참조) 이다. 참가자들은 기존 참가자들에 의해서 웨이브에 더해진다.
도큐먼트: 도큐먼트는 블립에 부가된 컨텐트이며 API를 통해 선택, 수정, 또는 첨가될 수 있다. 일반적으로, 도큐먼트는 XML 다터 구조의 직접적 조작보다는 편의 메쏘드들을 통해 다뤄진다. 이러한 의미에서, 도큐먼트는 물리적 도큐먼트보다는 추상적 컨텐트 셋을 지칭하게 된다.
구글 웨이브는 몇가지 웹 테크놀로지들을 통합한다.
구글 웨이브에 사용되는 몇가지 일반 용어의 이해에 더해서, 구글 웨이브로 통합되는 몇가지 테크놀로지를 리뷰하는 것도 가치가 있다.
이메일: 구글 웨이브는 이메일을 매우 가치있게 만들어 주는 피처들과 기능의 일부를 가지며 이는 메시지 보관, 첨부, 단일 또는 다수 수신자, 그리고 리치 텍스트 편집을 포함한다.
인스턴트 메시징: 구글 웨이브는 유저들이 실시간으로 하나 또는 그 이상의 유저들과 짧은 메시지들 및 파일들을 교환할 수 있게 해줌으로써 IM과 유사한 기능을 포함하나, 구글 웨이브의 쓰레드 메시징 및 보관 기능은 모든 참가자들이 동시에 온라인 상태일 것을 요구하지 않는다.
위키: 위키와 유사한 방식으로, 구글 웨이브는 유저들이 위키와 유사한 식으로 대화 쓰레드를 편집하게 해준다 (편집되는 컨텐트가 그 유저에 의해서 원래 생성된 것인가에 상관없이).
온라인 도큐먼트: 구글의 ‘Google Docs‘ 및 Zoho.com의 생산성 애플리케이션과 같은 인기있는 온라인 도큐먼트 ‘슈트들’은 값비싼 데스크탑 소프트웨어의 인기있는 (공짜 또는 저가) 대안으로 부상하고 있다. 구글 웨이브는 구글 웨이브 유저 인터페이스 내에 Google Docs에 있는 기능 일부를 통합한다.
로봇, 가젯(Gadgets), 그리고 임베드된 웨이브
구글 웨이브는 개발자가 피처들과 기능을 확장하고 커스터마이징하는 것을 상당히 단순하게 만들어 주는 오픈 API들을 포함한다. 또한, 이들 오픈 API들은 구글 웨이브를, 다른 다양한 커뮤니케이션, 협동, 그리고 소셜 네트웍 애플리케이션 및 서비스들을 포함하는, 써드 파티 서비스들과 통합하는 것을 가능하게 해준다.
현재 구글 웨이브 API들은 웨이브 익스텐션들과 다른 웹 페이지들내의 임베드된 웨이브들을 개발하는데 사용될 수 있다. 익스텐션들은 웨이브의 기능을 향상시키는데 사용된다. 현재, 구글 웨이브는 두가지 타입의 익스텐션들에의 액세스를 제공하며, 이는 로봇과 가젯이다.
로봇
로봇은 웨이브에서 다른 참가자들(인간 및/또는 로봇)과 상호작용하는 프로그램으로 컨트롤되는 참가자들이다. 로봇은 보통 클라우드(예를 들어, Google App Engine)에 거주하며 기능적으로(operationally) 웨이브에서 일어나는 액션들과 상호작용하며 응답할 수 있다.
로봇은 웨이브의 다수의 컨텐트에 액세스를 가지며, 또한 다른 참가자들가 동일한 식으로 블립들을 생성하고, 편집하며 삭제할 수 있다. 로봇은, 비록 로봇이 웨이브의 컨텐트를 해석하는 방식에 있어 명백한 차이점들이 있더라도, 웨이브에서 인간과 동일한 액세스 및 능력을 가지는 것으로 생각될 수 있다. 일발적으로, 로봇은 다음의 액션들을 수행한다:
-웨이브의 정보를 수정
-웨이브에서 참가자들과 상호작용
-웨이브의 정보를 다른 바깥 세계로 또는 다른 웨이브들로 커뮤니케이트 및 싱크로나이즈함
-써드 파티(예를 들어 데이터 베이스)에서의 상태(state)로의 액세스 및 수정
로봇은 웨이브에서 정보 및 액션들을 항시 프로세스하고 응답하는 자동화된 참가자로서 기능하며, 로봇이 구글 웨이브의 커뮤니케이션 및 협업을 향상시켜 줄 수 있는 다양한 방식들이 존재한다. 예를 들어, 로봇은 블립들을 다른 언어들로 자동 번역시켜주거나, 다른 서비스들 상으로 웨이브를 다시 브로드캐스팅하거나 (예를 들어, 프로젝트 매니지먼트 앱), 또는 정보를 다른 서비스들로부터 웨이브로 전송하는 (예를 들어, 특정 토픽에 대한 긴급 뉴스를 가진 블립을 첨가하는 것) 데에 사용될 수 있다.
로봇은 웨이브 어드레스를 통한 구글 웨이브로의 컨택트로서 더해질 수 있으며, 이 주소는 이들의 App Engine 애플리케이션 네임에 (예를 들어 myApplication@appspot.com) 근거한다. 새로운 익스텐션 인스톨러가 또한 최근 로봇을 인스톨하는 것을 가능하게 만들어 주고 있다(보다 자세한 사항은 아래의 익스텐션 인스톨러 참고). 익스텐션 갤러리 페이지는 현재 구글 및 써드 파티 개발자들에 의해서 개발된 여러 로봇들의 리스트를 보여준다.
로봇이 컨택트로서 더해진 후, 로봇은 웨이브에 참가자로서 추가 상호작용을 위해서 더해질 수 있다. 그림 1-5에서, Stocky로봇이 더해지며, Stocky 는 실시간 주식 시세들(stock quotes)을 제공해 준다.
가젯
가젯들은 본질적으로 특정 기능을 제공하는 미니-애플리케이션이며, 이 특정 기능은 때때로 또 다른 웹 애플리케이션에서 사용가능한 기능의 서브셋에 근거한다. 가젯은 (브라우저 내부의) 클라이언트에서 구현되지만, 가젯은 정보를 프로세싱하고 서버와 교환할 수 있다.
구글 웨이브에서 사용되는 가젯들은 다른 구글 서비스 및 애플리케이션들에서 사용되는 가젯들과 유사하며, 이들은 구글 홈 페이지(즉, iGoogle) 의 개인화된 버전들에서 사용되는 가젯들과 Orkut과 같은 소셜 네트웍에서 사용되는 가젯들을 포함한다. 사실상, 구글 웨이브 가젯들과 다른 구글 가젯들이 동이한 구조를 공유하기 때문에, 다른 구글 서비스들 및 애플리케이션들을 위해 개발된 가젯들은 구글 웨이브에서 사용될 수 있다. 몇몇 보다 인기있는 가젯들로 게임(예를 들어, 체스 게임) 및 유틸리티(예를 들어, 구글 맵)를 들수 있다. 그림 1-6은 필자가 Checky the Checklist Gadget으로 만든 샘플 웨이브를 보여준다.
가젯들은 익스텐션 인스톨러를 사용하여 더해질 수 있으며, 이는 유저들이 쉽게 가젯들과 로봇을 웨이브에 더하게 해주는 새로운 피처이다.
익스텐션 인스톨러
익스텐션 인스톨러는 현재 쉬운 인스톨 프로세스를 통해 대화 창 툴바에 다양한 타입의 가젯들을 더하게 해준다. 익스텐션 갤러리 웨이브(그림 1-7 참조)는 사용자에게 퍼즐 피스들로 표현된 여러개의 가젯으로의 액세스를 제공한다. 익스텐션 인스톨러 상의 “Install” 버튼을 클리하면 가젯이 툴바에 더해져서, 사용자가 가젯을 사용자가 생성한 어떠한 후속 웨이브들 상에서도 사용할 수 있게 해준다.
* 구글 웨이브는 현재 Open Social 가젯들을 지원하지 않지만, 오우너, 뷰어, 그리고 친구와 같은 유사한 소셜 네트웍 컨셉트들은 포함하는 것에 주의한다.
익스텐션 인스톨러에 대한 보다 자세한 사항을 위해 이들 명령을(링크) 사용할 수 있다. 비록 이 기능이 완전히 구현되지는 않았지만, 익스텐션 인스톨러가 또한 로봇을 웨이브에 더하는데 사용될 있다는 것을 볼 수 있다.
익스텐션 인스톨러에 번들되어있지 않은 가젯 또한 대화 창의 툴바의 가젯 버튼을 클릭해서 외부 가젯으로 더할 수 있다. 버튼을 클릭하게 되면, 팝업 윈도우가 가젯의 URL을 붙여넣을 수 있는 텍스트 인풋 박스를 디스플레이한다. 가젯 갤러리 페이지는 구글과 써드 파티 개발자들에 의해서 개발된 가젯들의 리스트를 제공한다. 이들 가젯들은 팝업 윈도우의 텍스트 인풋 박스안으로 가젯의 스페시피케이션 파일(XML 파일)을 카피 앤 페이스트함에 의해서 더해질 수 있다. 외부 가젯을 추가하는 것에 대한 추가 명령들은 여기에서 볼 수 있다.
임베딩된 웨이브
익스텐션이 웨이브의 피처들과 기능을 향상시키는 한편, 임베딩된 웨이브는 커뮤니케이션 및 협업 기능을 웹 페이지들에 통합시킨다. 구글 웨이브로 가젯을 로딩하는 것과 유사한 방식으로, 웨이브는 다른 웹 페이지들에 미니 애플리케이션으로서 로딩 될 수 있다.
익스텐션과 임베딩된 웨이브 간의 차이점을 생각하는 한가지 방식으로 각 타입의 엘리먼트들이 유저들에게 도달하는 방식을 볼 수 있다. (그림 1-8 참고) 로봇과 가젯은 웨이브를 통해 유저에 도달하는데 반해, 임베딩된 웨이브는 웹-기반 애플리케이션 및 웹 페이지를 통해 유저에 도달하게 된다. 다시 말해, 익스텐션은 컨테이너로서 웨이브에 의존하며, 임베딩된 웨이브는 컨테이너로서 애플리케이션과 웹 페이지에 의존한다.
구글 웨이브 페더레이션 프로토콜
구글이 웨이브를 호스트하며 관리하는 유일한 엔터티는 아니다. 구글 웨이브의 광범위한 채택을 위한 구글의 전략의 부분은 연방화된(federated) 방식을 사용하여 상이한 웨이브 프로바이더 간의 웨이브를 공유하게 하는 오픈 소스 네트웍의 릴리즈를 포함한다. 근본적으로 이는 이메일 서버를 셋업할 수 있는 것과 동일한 식으로, 누구든 Google Wave Federation Protocol을 사용하여 서버를 셋업하고 내부 웨이블릿 및 외부 웨이블릿을 포함하는 웨이브를 호스트할 수 있다는 것을 의미한다.
다수의 웨이브 프로바이더를 가진 구글 웨이브 환경이 부상하리라는 것을 쉽게 유추할 수 있다. 소위 웹-기반 이메일 프로바이더와 유사한 방식으로, 표준 프로토콜 및 포맷들이 서비스 프로바이더들(구글 포함) 사이의 그리고 이들 내에서의 정보 교환을 가능게 해주며 또한 용이하게 해줄 것이다.
서치
서치 엔진 공간에서의 구글의 인기 및 커다란 마켓 서치를 놓고 볼때, 구글 웨이브 클라이언트가 다양한 타입의 서치를 포함하는 것은 자연스럽다고 할 수 있다. 유저들은 자신의 웨이브 인복스에서 웨이브를 서치할 수 있으며, 컨택트들이 서치될 수 있고, 구글 서치 가젯이 모든 웨이브에서 사용가능하며(그리고 가젯은 서치 결과로의 링크를 허용한다), 웨이브들은 미래의 서치를 쉽게하기 위해 키워드로 태깅될(tagged) 수 있다. 서치가 클라이언트의 다양한 부분들로 병합될 뿐만 아니라, 유저의 인복스에서 수행된 서치들이 필터로서 (GMail과 유사한 방식으로) 세이브될 수 있다.
서치가 구글 웨이브 클라이언트의 까다로운 피처로서 마주치게 될 수 있다 하더라도, 이는 협업을 향상시키며 유저 웍플로우를 원활하게 해주는데 있어 중요한 의미을 가진다. 서치 엔진의 병합은 유저들이, 사냥하기에 다양한 정보를 페이지마다 뒤지기 보다는, 이들의 직접적인 필요에 관련된 정보를 보다 쉽게 액세스할 수 있게 해주는 것을 의미한다. 또한, 웨이브에 대해 기존의, 이미 컨픽이된 (pre-configured) 필터들을 사용할 수 있게 해주는 것은 또한 정보가 컨텐트에 의해서 집합될 수 있으며, 따라서 사용자가 쉽게 액세스할 수 있는 정보의 논리적인 그룹화를 가능하게 해준 다는 것을 의미한다.
대화(converstations)가 구글 웨이브에 중심적(integral)이다.
대화 쓰레드
컨텍스트-리치(contextually-rich) 대화 쓰레드 모델은 구글 웨이브로 커뮤니케이팅하는 것을 매우 가치있게 만들어주는 키 엘리먼트들의 하나이다. 대화 쓰레드는 시작 메시지와 메시지 트리의 부분을 형성하는 관련된 상응하는 응답들의 셋을 포함하는 관련된 메시지 셋의 시각적 표현이다. (그림 1-9 참조) 관련된 메시지들은 대화에서 한 쓰레드이며, 쓰레드 그 자신은 부모-자식 타입의 하이어아키로 몇개의 다른 쓰레드들을 포함할 수 있다.
웹시대 이전에 처럼 느껴지는 시대에 막강하게 지배했던, 온라인 개시판은 이러한 타입의 대화 쓰레드 모델을 사용하여, 유저들이 각각의 다른 이들의 메시지에 응답하여 이러한 타입의 메시지 하이어아키를 형성하게 해준다. IM은 또한, 비록 메시지들이 모든 참가자들 간에 단일 쓰레드로 제한되게 하는 경향을 가지지만, 이러한 쓰레드된 방식을 사용한다. 따라서, 유저들이 대화 쓰레드의 기술적 사항들에 필연적으로 익숙하지 못할 지라도, 이러한 타입의 대화 모델에 익숙한 것으로 보인다. 대화 쓰레드 모델이 새롭지 않다는 사실은 실제적으로 장점이며, 이는 사용자들이 구글 웨이브에서 이러한 형태의 대화를 채택하여 비슷하게 사용할 수 있기 때문이다.
일반적인 대화 쓰레드를 넘어서
구글 웨이브에서 대화 쓰레드는 고 레벨의 상호작용을 제공하여, 참가자들이 실시간 및 지연된 시간 모두에서 컨텐트-리치 블립들을 반복하여 교환할 수 있게 해준다. 이 정보는, 웨이브에 더해진 다른 엘리먼트들(가젯 또는 멀티미디어)과 함께, 웨이브안에 저장되어, 대화를 중심적으로 액세스가능하게 만들어 주고 참가자들이 누가 누구에게 답하며 언제 이들이 답했는가를 볼 수 있게 해준다(그림 1-10 참조). 결과로서, 구글 웨이브의 대화들은 도큐먼트 또는 이메일의 일관성을 성취하게 되며, 한편 동시에 IM의 실시간 기능들을 유지하게 된다. 이는 또한 웨이브가 보통 소수의 답신만의 교환을 요구하는 짧은 커뮤니케이션 교환(short communication burst)에 사용될 수 있거나 또는 참가자들간의 다수의 쓰레드들을 포함하는 긴 대화에 사용될 수 있다는 것을 의미한다.
참가자들은 시간적 시퀀스에 관계없이 쓰레드의 어떠한 블립에도 응답할 수 있으며, 응답은 사실상 블립의 특정 부분에 더해질 수 있어서(예를 들어, 문단의 두번째 문장에의 응답), 따라서 순서에 있어서 순차적일 필요가 없는 세그먼트된 쓰레드를 생성하게 된다. 참가자들은 또한 위키와 유사한 식으로 블립을 편집할 수 있으며, 이는 다른 유저들이 생성한 블립들도 포함한다. 멀티-쓰레드 블립과 편집의 이러한 퓨전에 있어서 굉장한 것은 아웃데이트된 정보가 업데이트되고, 에러가 수정되며, 블립들이 추가 정보들을 포함하게 보정될 수 있다는 것이다.
고도로 상호작용적인 실시간 커뮤니케이션과 쉽게 액세스 가능한 저장된 응답들의 결합은 구글 웨이브의 핵심적 이점들 중의 하나이며, 이는 구글 웨이브가 이메일 및 IM(이들은 독립적으로 이러한 타입의 기능 및 접근성을 제공하기 못한다)에 대해서 가지는 장점들의 하나이다. 또한, 참가자들이 회귀적으로(retroactively) 블립을 편집하고 수정하게 하는 능력은 또한 구글 웨이브에 이메일 및 IM에 대해 추가 장점을 부여하며, 이는 이메일 또는 IM을 통해 보내진 메시지들이 수신자에게 보내지고 나면 스태틱하다는 점에 기인한다.
또한 참가자들이, 언제 웨이브에 조인했는 가에 관계없이, 전체 대화에 액세스할 수 있다는 것은 주목할 만하다. 이메일 또는 IM에서, 참가자들은 보통 대화의 시작에 포함된다. 그렇지 않으면, 새로운 참가자는 사후에 이메일 쓰레드에 더해질 수 있으나, 이들 새로운 참가자들은 이메일의 쓰레드의 모두를 볼 수는 없게될 수 있다(할 수 있게 된다 해도, 이들은 보통 참가자들간에 오고 간 긴 응답들을 지루하게 봐야만 한다).
-명확하게 말하자면, 대화 쓰레드들은 웨이브의 중요한 부분이지만, 웨이브는 대화 쓰레드 그 이상의 것이다.
-다음의 섹션에서 보게 되겠지만, 웨이브에 있어서 대화는, 대화 쓰레드를 포함하는, 다양한 엘리먼트들을 통합하는 온라인 도규먼트의 부분을 형성한다.
이봐! 우리(we)가 도큐먼트를 만들고 있다네
우리가 알아채던 그렇지 못하던 간에, 우리가 웨이브를 생성해낼 때마다, 우리는 사실상 새로운 도큐먼트를 생성하고 있는 것이다. 기술적 용어로, 웨이브는 실제로 웨이브 서버에 호스팅되는 XML도큐먼트이다. 필자가 웨이브의 이러저러한 기술적 세부사항에 깊이 설명하지는 않겠지만, 여기서 이해해야할 핵심 사항은 웨이브의 대화가 한시적인 것이 아니며, (이메일과 같이) 분리된 부분들로부터 함께 짜맞춰진 대화도 아니라는 점이다. 새로운 블립이 웨이브에 더해질 때 마다, 그 블립은 대화의 모두 또는 부분을 디스플레이하는데 후속적으로 사용될 수 있는 동적 도큐먼트의 부분이 된다.
비 기술 용어로, 구글 웨이브 클라이언트에서 웨이브의 시각적 표현은 또한 새로운 타입의 온라인 도큐먼트로서 작용한다. 이 도큐먼트는 리치 텍스트 에디터 및 스프레드쉬트와 같은 다른 타입의 도큐먼트들에서 보통 발견되는 엘리먼트들을 포함하며, 이는 또한 참가자들 간의 사회적 상호작용을 결합시킨다. 다시 말해, 웨이브는 사용자들이 웹에서 보통 사용하는 많은 가치있는 피처들을 함께 결합시키는 멀티-디멘저널(multi-dimensional) 도큐먼트를 나타낸다. (그림 1-11 참조).
따라서, 참가자들이 구글 웨이브를 통해 각자 다른 참가자와 커뮤니케이트할 때 마다, 이들의 액션들은 도큐먼트의 백엔드 상에서 캡처되며, 프론트 엔드 상에서 리치 컨텐트를 포함하는 상호-관련된 대화 쓰레드들의 셋으로 디스플레이 된다.
이는 구글 웨이브 클라이언트가(또는 관련된 다른 다른 웨이브 클라이언트가) (일종의) 온라인 도큐먼트 뷰어라기 보다는 IM콘솔로서 이해되는 경우 지나치기 쉬운 중요한 차이점이라고 할 수 있다. 이는 아마도 위키 비유가 참가자들에게 사용가능한 정보가 단지 스테틱한, 순차적 대화 쓰레드 그 이상이라는 것을 설명하는데 도움을 주는 부분이 될 것이다.
대화 재생(Replaying)
웨이브에서 정보를 편집하는 위키에 유사한 기능에 대한 초반 반응들의 일부는 참가자들이 각 다른이들의 블립들을 수정할 수 있는기능에 관한 우려를 포함한다. 이는 정당한 우려이며, 특히 참가자들이 의견의 차이를 가질 수 있는 민감한 정보 또는 대화에 초점이 맞춰진 대화와 관련하기 때문에 그러하다. 궁극적으로 웨이브에 만들어진 변경들은, 정보가 어떻게 더해지고 수정되었는지 확인하기 위해, 트래킹이 가능해야 할 필요가 있다.
만일 몇몇 보다 인기있는 위키 플랫폼들에 (예를 들어, Wikipedia의 엔진인 WikiMedia) 친숙하다면, 주어진 페이지의 리비전 히스토리가 누가 어떤 변경을 했으며 언제 이들 변경이 만들어 졌는지를 알기 위해서 리뷰될 수 있다는 것을 알 수 있을 것이다. 이 기능은 기여를 한 저자가 투명한 형태의 피어 리뷰를 통해 다른 저자의 컨텐트에 가한 변경들에 대한 설명을 가능하게 하는 것을 보장해 준다.
구글 웨이브는 이러한 개념의 피어 리뷰 및 리비전 히스토리를 포함하지만, 다음과 같은 변경을 가진다: 구글 웨이브 클라이언트를 사용하는 참가자들은 웨이브를 실제로 애니메이트하는 재생 기능을 사용하여, 그 구조와 컨텐트를 단계별로 재생한다. (그림 1-12 참조)
백문이
백문이 불여일견이라고.. http://googlesystem.blogspot.com/2009/05/google-wave.html 이쪽 동영상을 보시면 가장 이해가 빠르실 것입니다.
비유하자면...
브라우저 안의 데스크탑 구현 기술... 이겠군요?
====
하나는 전부, 전부는 하나
초대장 있으신분 계시면 부탁 좀 드리겠습니다.
구글 웨이브 초대해주시면 감사하겠습니다. 너무 궁금하네요.
kimgihwan골뱅이gmail닷컴 입니다.
라스베가스를 꿈꾸며...
라스베가스를 꿈꾸며...
초대했습니다. ~~
초대했습니다. ~~
맨처음 in:inbox 써있는곳에
with:public with:ko쓰고 우선 하나하나씩 놀아보세요~~
흘러가고있는 지금 이 시간에 충실하자.
초대 어케 하는지도 모르게 있네요 ㅠ-ㅠ
전 얼리 어뎁터 아닌가 봅니다. -_-;;
저의 어머니 컴터 하시는 모습과 순간 오버랩 되더라눈 ㅠ_ㅠ
============================
Stay Hungry, Stay Foolish
============================
Stay Hungry, Stay Foolish
오 뭘 해야할 지
뭘 해야할 지 몰랐는데 with:public 이란 게 있었군요.
with:ko를 더해도 별 차이가 없더군요. 그래서
혹시나 해서 with:public lang:ko 해 봤더니 한국어 wave만 나오네요.
자세한 필터링 설명이 어디 있는지 모르겠네요.
클라우드 컴퓨팅
단순한 메신저나 메일 시스템이 아닌 클라우드 컴퓨팅 같네요.
일반인들을 대상으로 하는 것은 처음인것 같은데... 이제 정말 브라우저에서 스타나 WoW를 돌릴수 있는 새로운 컴퓨팅 환경이 열리는 걸까요.
---------------------------------
제일 왼쪽이 저입니다 :)
---------------------------------
제일 왼쪽이 저입니다 :)
구글 웨이브에 관한
구글 웨이브에 관한 어떤 기자의 분석입니다.
구글 웨이브는 기자를 위해 태어난 서비스다
혹시 초대장 있으신
혹시 초대장 있으신 분은 저도 초대 부탁드립니다.
cncel81 ad gmail dot com
초대했습니다~
초대했습니다~
흘러가고있는 지금 이 시간에 충실하자.
혹시 저도 초대
혹시 저도 초대 부탁...-_-;
eminency@g~ 입니다.
감사합니다 (__)
노루가 사냥꾼의 손에서 벗어나는 것 같이, 새가 그물치는 자의 손에서 벗어나는 것 같이 스스로 구원하라 -잠언 6:5
초대했습니다~
초대했습니다~
흘러가고있는 지금 이 시간에 충실하자.
초대장 있으신분 부탁드립니다 ^^
저도 초대장좀 ㅠㅠ
leedonghwa@gmail.com
감사해요 ^_^
초대했습니다~~ : )
초대했습니다~~ : )
흘러가고있는 지금 이 시간에 충실하자.
컨셉은 참 좋은데
컨셉은 참 좋은데 글이 좀 쌓이면 도저히 어떻게 해 보지도 못할 정도로 느려지더군요. -_- 속도가 좀 잡히기 전까지는 봉인해야 할듯...
--
"It's too bad that stupidity isn't painful" - Anton LaVey
밤여우 Tech: http://foxtech.tistory.com
트롤은 말려 죽입시다 - http://kldp.org/files/trollfreeKLDP.user_.js__0.txt
--
"It's too bad that stupidity isn't painful" - Anton LaVey
밤여우 Tech: http://foxtech.tistory.com
트롤은 말려 죽입시다 - http://kldp.org/files/trollfreeKLDP.user_.js__0.txt
초대 부탁드립니다.
저도 초대 부탁드립니다.
dcmaru ad g~
-------------------------------------------------------
노력만이 살길이다.
노력만이 살길이다.
초대해드렸습니다.
초대해드렸습니다.
감사합니다.
감사합니다.
-------------------------------------------------------
노력만이 살길이다.
노력만이 살길이다.
다른것보다.. 아직
다른것보다.. 아직 beta라 그렇겠지만, 모든 사용자를 이름대신에, 아바타를 사용하는게 저는 불편하더군요. (inbox에서요)
대부분 자기 사진을 않올려놓는데.. 일일이 확인하기 귀찮고.. 누구랑 이야기하는지도 잘 모르겠구요.
음햐햐
http://case.ksan2.net
앗,... 초대장 있으신 분 저도 신개념의 세계로 초대를...
부탁드려요~~
메일은 sunggon.kang 골뱅이 쥐메일 닷컴 입니다~~
句日新, 日新 日新 又日新.
句日新, 日新 日新 又日新.
보내 드렸습니다.
드디어 초대장 보내는거 찾았다눈...정확히 말하면 생기는 군요;;
============================
Stay Hungry, Stay Foolish
============================
Stay Hungry, Stay Foolish
와우~~ 감사합니다~~ (냉무)
句日新, 日新 日新 又日新.
句日新, 日新 日新 又日新.
저도 초대장 부탁드려요
저도 부탁~~~~
shinsu.kim@gmail.com
그런데
왜 구글웨이브는 초대장을 요구하나요?
저도 하나 부탁드립니다~
저도 초대장 하나 부탁드립니다~
jwjeong0 엣 지멜
저도 초대장 부탁드립니다.
저도 초대장 부탁드립니다.
jiniri 엣 지멜
윗 세분 초대장 보내드렸습니다.
윗 세분 초대장 보내드렸습니다.
mattengi 지멜 초대
mattengi 지멜
초대 부탁합니다.
--
마잇
--
마잇
초대장
초대장 보내드렸습니다.
이런 남는거 하나 있으면 저도 하나 부탁합니다. ^.^
madman93 at gmail.com
---------------------------------------------
git init
git add .
git commit -am "project init"
---------------------------------------------
---------------------------------------------
git init
git add .
git commit -am "project init"
---------------------------------------------
보내드렸습니다.
--
악한 자는 죽어서 댓가를 치르고, 어리석은 자는 살아서 댓가를 치른다.