Google Wave in the 2010

A New year starts and this one will be the year of Google Wave.

Google like the great demos and great announcements, but when we tried the Google Wave Developer Preview in August we started crying. Nothing worked, at the first click, Dr. Wave used to appear and you had to refresh again…

Dr. Wave and his friend F5

Nowadays it’s hard to find Dr. Wave.

Other things that Google Wave has improved is the speed. Waiting 20-30 seconds for a wave of 4 or 5 participants was the rule more than the exception at that time. Now, you can open a wave of 100 blips and 400 users, in less than 10 seconds you will have downloaded the entire wave. This is not all, you can start reading and scrolling down, it works!, not perfectly but works. A few months ago this was impossible. The usability has improved a lot, and users appreciate the speed and stability as well.
Read More »


If you like what you see, please, support us:

  • PDF
  • Digg
  • del.icio.us
  • TwitThis
  • Facebook
  • Google Bookmarks
  • StumbleUpon
  • RSS
  • Print
Posted in 浪波开发机器人, 置于浪波之上, 联邦协议, 谷歌浪波 | Tagged 2010, featured, Google Wave, 谷歌浪波 | 1 Comment

开发你第一个谷歌浪波机器人

这篇文章我们将介绍如何用Eclipse 集成开发环境开发一个简单的Java谷歌浪波机器人。

当前,只能把浪波机器人部使用任何与google app engine兼容的JVM(Java虚拟机)语言,比如Groovy,JRuby,Scala。这篇文章只涉及Java。

这篇文章是基于谷歌官方机器人开发的文章

开发和测试浪波机器人的要求:

Java 6 http://java.sun.com/javase/downloads/index.jsp

谷歌机器人Java 库(lib) http://code.google.com/p/wave-robot-java-client/downloads/list

Eclipse http://www.eclipse.org/

谷歌Eclipse插件 http://code.google.com/eclipse/

Google App engine 帐户 https://appengine.google.com

谷歌浪波帐户 http://wave.google.com/

注意: 这篇文章, 我将使用 Eclipse3.4 (Ganymede), 但是谷歌也有对于Galileo的插件。所以应该没有大的区别。

第一步:安装谷歌插件:
在 Eclipse里面, 点击 “Help” -> “Software Updates…”, 然后在跳出的窗口中点击“Add Site” in the popup window,在location里面输入 http://dl.google.com/eclipse/plugin/3.4,点击安装 Google Update Site for Eclipse 3.4 (包括 Plugin 和 SDKs) . (if 如果你使用的是 Galileo 那么安装地址 update location 就应该是 http://dl.google.com/eclipse/plugin/3.5 )
在接受 使用协议(the term of use), 插件和谷歌app engine 开发包SDK 就开始安装,如果安装成功, Eclipse 会要求重启, 点击 ok后,安装完毕。

现在,我们可以开始开发了。

第二步:创建项目:

点击(图)创建一个新的“Web Application project” by click the icon in the toolbar.
1. 给项目一个名字, 比如: first-Robot
2. 给项目的包 package 一个名字, (可选,但是一个好习惯 ), 比如 com.onthetopofthewave
3. 反选 (uncheck)“Use Google Web Toolkit”, 因为我们的机器人不会有任何用户界面。请确保“Use Google App Engine“是选上的 ,写这篇文章时 google App engine SDK Java的版本是 1.2.6
4. 点击“Finish”

Project Overview

Project Overview

图一.1 项目结构
你项目的结构应该和上图相似。 Read More »


If you like what you see, please, support us:

  • PDF
  • Digg
  • del.icio.us
  • TwitThis
  • Facebook
  • Google Bookmarks
  • StumbleUpon
  • RSS
  • Print
Posted in 浪波开发机器人, 置于浪波之上 | Tagged 开发, eclipse, featured, java, robot, 浪波开发机器人, sdk, 浪波机器人 | 16 Comments

OTW 新的设计和多语言

我们很高兴地宣布网站将有新的设计和支持多语言。从今以后,我们将把我们所有的内容翻译成中文和西班牙语,翻译工作还需要一段时间才能全部完成。

我们希望你会喜欢我们的新设计,我们欢迎各种意见和建议,我们想尽可能把这个网站变得适合你。

十分感谢你对Onthetopofthewave.com的关注

再次感谢,OTW 小组.


If you like what you see, please, support us:

  • PDF
  • Digg
  • del.icio.us
  • TwitThis
  • Facebook
  • Google Bookmarks
  • StumbleUpon
  • RSS
  • Print
Posted in 谷歌浪波 | Tagged chinese, design, español, new design, spanish | 4 Comments

Understanding Wave protocol – Part II

这是了解Wave交互协议(Wave protocol)的第2部分,如果你没读过第一篇文章,我们推荐读一下。这篇文章将会讨论更多技术问题,我们推荐去读白皮书去了解更多细节方面的解释。

这篇文章讨论服务器-服务器交互协议(server-server protocol),联盟交互协议(Federation protocol)。这个协议用来协调同参与一个wave中的服务器如何交流。这个协议是如何工作的?每一个交流始于一个客户端想去执行一个操作(operation)。这客户端向自己的服务器发出操作。服务器对这个操作加上顺序标签(order tag)然后将多个操作打包(bundle)。然后,服务器在包含多个操作包(bundle)“签名”,然后传递其他的服务器。这就是联盟交互协议(Federation protocol)的大致的工作原理。

我们来逐步讲解这交流中的各个环节,第一部分:客户端-服务器交流在上一篇文章中解释了。第2部分就是服务器加顺序标签(order tag),它是联盟协议中最重要的几步之一。

下面这个例子讲有助于帮助了解这一环节会出现什么问题。在服务器对服务器交互协议中,所有的信息都包含了一些 客户端-服务器交互信息所没有的东西。在服务器对服务器交互协议中,操作包(bundles)有一个确认码(verification hint )让确认环节更高效。他们和客户端-服务器交互信息一样也有顺序标签(order tag)。服务器把信息包发送到排序服务器(Ordering Server)。 这个服务器负责给接受到的所有的包排序,执行必要的工作来避免哈西链(hash chain)中冲突(prevent branching in hash chain)。下图展现了一个正常服务器使用情况:我们能看见3个服务器(S1,S2,S3)和排序服务器。每一条线代表一个发出的信息。每个信息有一个自己服务器所加的顺序标签(order tag)。例如,第一个服务器S1的信息(m0)。这里涉及到一些基本概念。

wave server branching

Read More »


If you like what you see, please, support us:

  • PDF
  • Digg
  • del.icio.us
  • TwitThis
  • Facebook
  • Google Bookmarks
  • StumbleUpon
  • RSS
  • Print
Posted in 浪波服务器, 谷歌浪波 | Tagged featured, federation, hash, protocol server, server-server, signs, 谷歌浪波, 联邦协议, wave server | 5 Comments

Understanding Wave protocol – Part I

在第一篇关于 (服务器模型)prototype server的文章中,我们没有机会谈安全机制(security).想了解google wave的安全机制手段(security measures)先必须了解 客户端-服务器交互协议(client-server protocol)和 服务器-服务器交互协议(server-server protocol),又称联邦协议(federation)。这篇文章里面,我们将讨论客户端-服务器交互协议(client-server protocol)。

客户端-服务器交互协议是基于操作转化( Operation Transformation) (简称 OT )的。 如果你熟悉数据库, 当2个用户试图更新同一数据,他们在相同时间读那一数据,然后向系统发出他们的更新。最后,我们会失去2个更新中的一个。为了防止这种不一致性(inconsistency)的发生 ,数据库使用交易(transaction). 什么是交易(transaction)简而言之, 当某人试图用数据时, 该数据会被锁起来,如果其他人试图使用该数据的话,他们必须等待前面的人使用完毕.对于例如银行之类的系统,交易(transaction)是个不错的方案,任何数据的损失都是难以承受的.但是,如果我们要开发一个实时(real time) 多人合作编辑程序, 交易不是一个好的选择方案. 操作转化(OT)让用户并行(parallel)编辑同一个文本而且实时发送他们的更新。操作转化(OT)的基本理论就是让用户尽可能快发送数据,服务器尽可能快地接受发送数据。


Basic OT schema

Read More »


If you like what you see, please, support us:

  • PDF
  • Digg
  • del.icio.us
  • TwitThis
  • Facebook
  • Google Bookmarks
  • StumbleUpon
  • RSS
  • Print
Posted in 浪波服务器, 联邦协议, 谷歌浪波 | Tagged ack, 客户端-服务器 交互协议, 客户端-服务器, hash tree, OT, protocol client, schema, wave ot, wavelet | 5 Comments

Wave Federation Prototype Server

Wave 联邦模型服务器(Federation Prototype Server)

这篇将是我们一系列关于google Wave 联邦模型服务器(Federation Prototype Server)的开始,我们将介绍开发自己wave服务器所需的基本概念。我们将安装自己wave服务器的例子和一些DIY的实用心得。

Wave服务器是基于XMPP(扩展消息和表示协议)技术。

扩展消息和表示协议(Extensible Messaging and Presence Protocol )是一些基于XML的,用于实时交流的技术集合,XMPP由Jabber开源社区在1991开发。Jabber社区在2002-2004年间成立IETF(Internet Engineering Task Force)。Jabber一直致力于在XMPP标志基础之上创新,开发了大量的软件,设备,和互联网服务(更多信息

简而言之,Google Wave服务器使用标准XMPP服务器(常见的服务器Jabber,Gtalk,iChat)google并没有开发一个新服务器,而是实施了XEP-0114 扩展标准(extension )的XMPP服务器。

XMPP负责多个服务器之间,这样一来,只要wave服务器们使用扩展标准(extension)是XMPP的扩展就可以交流,服务器们没有必要是同一个的扩展标准,换句话而言,不同的wave服务器可以畅通无阻的交流。

Wave server federation

Wave 联邦模型服务器(Federation Prototype Server)

google推出的模型服务器不包含任何机器人,小机件(gadget) 或者 嵌入功能(embedding functions)。 以后他们推出更稳定的版本后,公司们将可以任何的扩展(机器人,小机件,嵌入功能)。谁知道哪时候会怎么样哪?

Read More »


If you like what you see, please, support us:

  • PDF
  • Digg
  • del.icio.us
  • TwitThis
  • Facebook
  • Google Bookmarks
  • StumbleUpon
  • RSS
  • Print
Posted in 浪波服务器, 联邦协议 | Tagged fedone, have your own wave server, Prototype, server, 联邦协议, wave server, XMPP | 3 Comments

(English) Collaborative top wave list.

对不起,此内容只适用于EspañolEnglish


If you like what you see, please, support us:

  • PDF
  • Digg
  • del.icio.us
  • TwitThis
  • Facebook
  • Google Bookmarks
  • StumbleUpon
  • RSS
  • Print
Posted in 置于浪波之上, 谷歌浪波 | Tagged best waves, top waves, wave list | 13 Comments

(English) Waiting for Wave’s updates?

对不起,此内容只适用于EspañolEnglish


If you like what you see, please, support us:

  • PDF
  • Digg
  • del.icio.us
  • TwitThis
  • Facebook
  • Google Bookmarks
  • StumbleUpon
  • RSS
  • Print
Posted in 置于浪波之上 | Tagged onthetopofthewave, update | 1 Comment

Tips & Tricks on Google Wave extension development ( Seekdroid )

对不起,此内容只适用于EspañolEnglish


If you like what you see, please, support us:

  • PDF
  • Digg
  • del.icio.us
  • TwitThis
  • Facebook
  • Google Bookmarks
  • StumbleUpon
  • RSS
  • Print
Posted in 浪波开发机器人, 谷歌浪波 | Tagged 开发, Gadget, Google Wave, Robots, seekdroid, Tips | 4 Comments

(English) Google Wave Federation protocol updates

Read More »


If you like what you see, please, support us:

  • PDF
  • Digg
  • del.icio.us
  • TwitThis
  • Facebook
  • Google Bookmarks
  • StumbleUpon
  • RSS
  • Print
Posted in 浪波服务器, 联邦协议, 谷歌浪波 | Tagged protocol, 联邦协议, wave server | 2 Comments