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 On the top of the Wave, Robot Development, Wave, Wave Federation | Tagged 2010, featured, Google Wave, Wave | 1 Comment

Develop your first wave robot in Java

This post will show you how to develop a simple Google Wave Robot in Java using Eclipse IDE.

Right now, you have to deploy your robot application to google app engine. Google plans to make wave robot application portable on other web container. Moreover, google only support Python and Java as developing languages right now. No, you actually can use any JVM languages which work on Google app engine to develop your robot, such as Groovy, JRuby, Scala. In this post, we only focus on Java.

This post is based on Google officially tutorial.

Requirements for developing and testing a wave robot:

Java 6 http://java.sun.com/javase/downloads/index.jsp
Google Wave robot lib http://code.google.com/p/wave-robot-java-client/downloads/list
Eclipse http://www.eclipse.org/
Google Plugin for Eclipse http://code.google.com/eclipse/
Google App engine account https://appengine.google.com
Google Wave account http://wave.google.com/

Note: In this post, I am going to use Eclipse3.4 (Ganymede), but Google also has a plug-in for Galileo. So there should be no significantly different.

Step 1. Install Google Plugin
In the Eclipse, Click “Help” -> “Software Updates…”, and then click “Add Site” in the popup window, put http://dl.google.com/eclipse/plugin/3.4to the location, install the Google Update Site for Eclipse 3.4 (both Plugin and SDKs) . (if you are using Galileo the update location should be http://dl.google.com/eclipse/plugin/3.5 ) After accepting the term of use, the plugin and Google app engine SDK will be installed. If installation is successful, the Eclipse will ask to restart, click ok.

Now, let’s start the development.

Step 2. Creating a project
Create a new “Web Application project” by click the icon in the toolbar.

1. Give a project name, such as : first-Robot
2. Give a package name, (optional, but a good practice ), such as com.onthetopofthewave
3. Uncheck “Use Google Web Toolkit”, since our robot will have any UI. Make sure “Use Google App Engine“is checked. at the moment of writing, google App engine SDK for Java’s version is 1.2.6
4. Click “Finish”

Project Overview
Figure.1 Project Structure

Your project should look like the above figure.

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 On the top of the Wave, Robot Development | Tagged development, eclipse, featured, java, robot, Robot Development, sdk, Wave Robots | 16 Comments

OTW – New design and translations

We are really happy to announce the new design and translations that we have been preparing for you. From now on we will translate all our content to Spanish and Chinese though it will take some time to be done with the early posts.

We hope you will like the new design and we are open to any critics about it. We want to make the most suitable for you that we can.

We appreciate you following us on Onthetopofthewave.com

Thanks, OTW Team.


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

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

Understanding Wave protocol – Part II

This is the second part of  Understanding Wave protocol, if you haven’t read the first post, we recommend to read it first. This post will be more technical and we recommend to read the white papers for more detailed explanations.

Now it’s time to talk about the server-server protocol, the Federation protocol. This protocol is used to communicate servers that have participants of the same wave. How does this work? Every communication between servers starts from a client that wants to do an operation. The client sends the operation to his server. The server adds an order tag to this operation and add operations into a bundle. After that, the server signs the bundle and sends it to the rest of the servers. This is the big picture of federation protocol.

Let’s see in details each part of the communication. The first part is explained on the Client-server protocol post. The second one, where the server adds an order tag, is one of the most important parts of the federation. This example will help understand what kind of problems can be found. In server-server protocol all messages have something else than in client-server protocol. In server-server protocol, the bundles have a verification hint used to make the verification more efficient. They have also an order tag as the client-server protocol. The Server sends bundles of data to the Ordering Server. This server is the responsible to order all the bundles they get and do the necessary to prevent branching in hash chain. This picture represents a normal server usage. We can see 3 server (S1,S2,S3) and the Ordering server. Each line simulate a sent message.  Every message has an order tag put it by his own server. For example the first message of S1 is m0. This are the basics concepts.

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 Wave, Wave Servers | Tagged featured, federation, hash, protocol server, server-server, signs, Wave, Wave Federation, wave server | 5 Comments

Understanding Wave protocol – Part I

In the first post related to the prototype server we didn’t have the chance to speak about security. To understand the security measures it is imprescindible to understand the client-server protocol and server-server protocol (federation). In this post we will talk about client-server protocol.

Client-server protocol is based on Operation Transformation ( OT ). If you are familiarized with data bases, when 2 users try to update the same data, they read the value at the same time and make their update to the server. At the end, we loose one of this updates. To prevent this kind of inconsistency, data bases use the transaction. In a few words, when somebody use one piece of data, this data is locked and if someone else wants to use, they have to wait until the first finish. This is a good solution for example bank accounts, they can’t afford lose any kind of data. But, if we want to develop real time edition, this is not an option. OT allows users editting in parallel and send their updates in real time. The basic theory of OT is allow client send data as fast as they can, and server too.


Basic OT schema

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 Wave, Wave Federation, Wave Servers | Tagged ack, client server protocol, client-server, hash tree, OT, protocol client, schema, wave ot, wavelet | 5 Comments

Wave Federation Prototype Server

This post will be an introduction to our series of posts related to the Google Wave Federation Prototype Server. We will introduce the basic concepts that will allow us to have our own wave server. We will give an example of the instalation of our own server and several tips that can be really handy if you want to do it yourself.

The Wave server is based on XMPP technologies.

Extensible Messaging and Presence Protocol (XMPP) a set of open XML technologies for presence and real-time communication developed by the Jabber open-source community in 1999, formalized by the IETF in 2002-2004, continuously extended through the standards process of the XMPP Standards Foundation, and implemented in a wide variety of software, devices, and Internet services. More info

In a few words, the Google Wave server uses a standard XMPP server ( commonly used in Jabber, Gtalk, iChat… ). What Google developed is not a new server, but an application that implements the XEP-0114 extension of the XMPP server.

XMPP is the responsible of the communication between different servers. This way the extension used by the wave server has to be extension of the XMPP but doesn’t have to be the same as the original. In other words, different wave server extensions can interact without problems.

Wave server federation

Wave server federation

The prototype version that Google has released doesn’t have any robot, gadget or embedding functions. Once they release a more stable version, companies will be able to develop any kind of extensions for their own server. Who knows where that can lead us to?

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 Wave Federation, Wave Servers | Tagged fedone, have your own wave server, Prototype, server, Wave Federation, wave server, XMPP | 3 Comments

Collaborative top wave list.

Save the waves from being buried!

Save the waves from being buried!

As the time goes by more people has Wave accounts, more waves are created and many more areburied  under tons of new messages.

Since there is no way to organize properly all the wavelets there are we will here attempt to save some of the most important.

We will here post ( with comments, one per wave ) the best waves on the wavesphere. Thanks to the new comment system you will be able to add your own and vote the other ones.

Please leave the name, small description and a direct link. You can get the direct link of a wave by drag&dropping a wave to another. Here is an example.

Search Cheat Sheet – This wave provide the most usefull information to search waves. There are some “tricks” to find waves by user, by title… and you can find all of them here. 

https://wave.google.com/a/wavesandbox.com/#restor…

Let’s do all this together!


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

  • PDF
  • Digg
  • del.icio.us
  • TwitThis
  • Facebook
  • Google Bookmarks
  • StumbleUpon
  • RSS
  • Print
Posted in On the top of the Wave, Wave | Tagged best waves, top waves, wave list | 13 Comments

Waiting for Wave’s updates?

Spread wave...

Spread wave...

Right now, while waiting for the updates on the different APIs that are coming soon ( they must be doing a sprint before the beta entrance on September 30th), we believe that some changes on the structure of the blog, some SEO and refining some aspects of the site would be great.

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 On the top of the Wave | Tagged onthetopofthewave, update | 1 Comment

Tips & Tricks on Google Wave extension development ( Seekdroid )

After a week or so having the chance of developing for GW we have come with an extension that can help us show how to explore almost all the capabilities of the API ( as for 07/08/09 )

The reason why we want to do this is that we have found that there are many issues with the documentation provided that need a lot of time to get through. We will try to give some advices we believe that are important while presenting and explaining our new extension.

As an introduction we will here present our extension.

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 Robot Development, Wave | Tagged development, Gadget, Google Wave, Robots, seekdroid, Tips | 4 Comments

Google Wave Federation protocol updates

We read a few days ago some important news on google wave blog. They open a part of the source of Operation Transform (OT) and a basic Client/Server prototype. This basic client/server is now released to improve third party tests and encourage experimentation with the Google Wave Federation Protocol. We talked in previous posts about the federation protocol, the protocol interact with different servers and third party companies.

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

  • PDF
  • Digg
  • del.icio.us
  • TwitThis
  • Facebook
  • Google Bookmarks
  • StumbleUpon
  • RSS
  • Print
Posted in Wave, Wave Federation, Wave Servers | Tagged protocol, Wave Federation, wave server | 2 Comments