My Google Wave Client

21st Century Code WorksBest of Erlang - noreply@blogger.com (Benjamin Nortier) - August 23, 2009

Google released a reference implementation of a Wave client and server in July, written in Java, that you can download and experiment with. When Mickaël Rémond wrote about using the reference implementation with ejabberd, I decided that it was time to get my hands dirty.

I got the reference implementation working, and I could chat with multiple participants in the console clients. However, I wanted to know more about what was happening behind the scenes in the client, and more importantly, the server (and how operation tranforms work).

So I decided to write my own client in Erlang that communicates with the reference server. This way I could investigate what was happening in the client and the server, and gain more knowledge about Wave. It required a bit of reverse engineering, and messing around with protocol buffers (the client communicates with the server using these), but it works nicely.

I’ve created a video to demonstrate it. Happy watching!

<object width=“400” height=“300”><param name=“allowfullscreen” value=“true” />

<embed src=“http://vimeo.com/moogaloop.swf?clip_id=6233461&server=vimeo.com&show_title=1&show_byline=1&show_portrait=0&color=&fullscreen=1” type=“application/x-shockwave-flash” allowfullscreen=“true” allowscriptaccess=“always” width=“400” height=“300”></embed></object><p>Vimeo link

P.S. I used ngerakines’s implementation of Erlang prototocol buffers, and the Nitrogen Web Framework.

P.P.S. I’m going on holiday for 2 weeks, so if I don’t reply to comments, please be patient. I will do so when I get back…




Categories: Blogs  21st Century Code Works  Best of Erlang  

Comments

anonymous avatar

It required a bit of reverse engineering, and messing around with protocol buffers. Thanks.

facebook backgrounds

Posted by facebook backgrounds on 24 Jul 2010 at 10:04



 
anonymous avatar

Very impressive. Thanks

Posted by c0ld on 25 Jul 2010 at 04:06



 
anonymous avatar

A business news needs access to credit for two reasons. First, credit allows a small business to get a loan or line of credit from a financial institution. Second, credit can let a small business buy the necessary supplies and goods. No matter why you need credit, it is giving you something of value in return for a promise of repaying all the cash in the future.

So who provides credit to a small business? A relative will often help, but what about the bank in town or a supplier that is separated by a continent? How can someone who doesn’t know you and has never met you determine your creditworthiness?

These companies would do exactly what you would do: they go to a reputable credit risk management agency in order to get a credit report. Through a comprehensive small business credit report, these companies can learn about all aspects of your business including your financial condition, credit history, top management and other important information. All of this is determined by your small business credit score. This single number can tell a potential lender whether or not you are a good risk. Often this score is a number on a scale, but can include alphabet letters. This score allows banks, lenders, suppliers or other creditors to determine whether or not you are likely to pay your bills on time.

Posted by employloan on 06 Aug 2010 at 13:14



 
anonymous avatar

very nice post thanks!! i like the info on it
tailored car mats

Posted by Simith on 13 Sep 2010 at 11:25



 
anonymous avatar

This is because pokemon_pb serves as a template for generated pb modules. Running protobuffs_compile scan_file reads the erlang forms from the pokemon_pb.beam file and expands and alters those forms to create the generated module…


Gibson Les Paul Studio

Posted by madurash on 17 Sep 2010 at 12:45



 
anonymous avatar

Quite interesting and very helpful for what I do, a home business means information liek this enables me to keep ahead of the game.
stubby holders

Posted by Cam The Stubby Holders Man on 17 Sep 2010 at 13:35



 
anonymous avatar

Great article and solid info as usual. Thanks

Posted by Tony on 28 Dec 2010 at 21:55



 
anonymous avatar

I got the advertence accomplishing working, and I could babble with assorted participants in the animate clients. pass4sure 220-701 However, I capital to apperceive added about what was accident abaft the scenes in the client, pass4sure 642-832 and added importantly, pass4sure 640-816 the server (and how operation tranforms work).

Posted by Yeng2 on 11 Feb 2011 at 06:31



 
anonymous avatar

Thanks for the information! It will be necessary to check up help performance of the client-server from Google.

Posted by Mark on 21 Feb 2011 at 14:34



 
anonymous avatar

I would like to visit this site regularly becuse of updation.
chicago commercial cleaning

Posted by chicago cleaning services on 25 Feb 2011 at 13:47



 
anonymous avatar

Thank you very much. has been very useful for me

Posted by Emre on 06 Apr 2011 at 17:55



 
anonymous avatar

the right materialHP0-M95 exam not seem much toHP0-M96 exam you at that timeHP0-XX3 exam will cost you moreHP0-Y42 exam  in terms of credit9A0-147 examtime and money. With 9A0-151 examexamsure however, this 9A0-153 exam is a one time investment9A0-149 exam

Posted by examsure on 18 May 2011 at 08:06



 

 <  1 2 3


Add comment

Name:

Email:

URL:

Smileys

Remember my personal information

Notify me of follow-up comments?