<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>The Shiny Wave &#187; opensource</title>
	<atom:link href="http://www.theshinywave.com/tag/opensource/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.theshinywave.com</link>
	<description>discussing all things (Google) Wave</description>
	<lastBuildDate>Sun, 27 Mar 2011 15:37:23 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Build Your Own Google Wave Extension</title>
		<link>http://www.theshinywave.com/developer/build-your-own-google-wave-extension/</link>
		<comments>http://www.theshinywave.com/developer/build-your-own-google-wave-extension/#comments</comments>
		<pubDate>Mon, 01 Mar 2010 12:11:56 +0000</pubDate>
		<dc:creator>David</dc:creator>
				<category><![CDATA[Developer]]></category>
		<category><![CDATA[API]]></category>
		<category><![CDATA[Business]]></category>
		<category><![CDATA[extension]]></category>
		<category><![CDATA[Extensions]]></category>
		<category><![CDATA[Gadgets]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[google docs]]></category>
		<category><![CDATA[Google I/O 10]]></category>
		<category><![CDATA[google wave]]></category>
		<category><![CDATA[Google Wave Blog]]></category>
		<category><![CDATA[google wave blogger]]></category>
		<category><![CDATA[google wave gadgets]]></category>
		<category><![CDATA[GWT]]></category>
		<category><![CDATA[Hackathon]]></category>
		<category><![CDATA[opensource]]></category>
		<category><![CDATA[ottawa wave group]]></category>
		<category><![CDATA[robot]]></category>

		<guid isPermaLink="false">http://www.theshinywave.com/?p=956</guid>
		<description><![CDATA[The great folks over at WithWaves have added a contribution to the Google Wave community by providing their internal tools to the public to help others build Google Wave extensions. You may remember the WithWaves guys from our Developer Spotlight: WithWaves post. They build some really great EBay &#38; Amazon extensions. Using their extension generator [...]


No related posts.

Related posts brought to you by <a href='http://yarpp.org'>Yet Another Related Posts Plugin</a>.]]></description>
			<content:encoded><![CDATA[<!--Amazon_CLS_IM_START--><p><a class="post_image_link" href="http://www.theshinywave.com/developer/build-your-own-google-wave-extension/" title="Permanent link to Build Your Own Google Wave Extension"><img class="post_image aligncenter" src="http://www.theshinywave.com/wp-content/gallery/post-images/withwaves_0.jpg" width="620" height="350" alt="Post image for Build Your Own Google Wave Extension" /></a>
</p><!-- Start Shareaholic LikeButtonSetTop Automatic --><!-- End Shareaholic LikeButtonSetTop Automatic --><p><span class="drop_cap">T</span>he great folks over at <a href="http://withwaves.com/google-wave-extension-generator/#more-255" target="_blank">WithWaves</a> have added a contribution to the Google Wave community by providing their internal tools to the public to help others build Google Wave extensions. You may remember the WithWaves guys from our <a href="http://www.theshinywave.com/developer/developer-spotlight-withwaves/" target="_blank">Developer Spotlight: WithWaves</a> post. They build some really great EBay &amp; Amazon extensions.</p>
<p>Using their extension generator you will get the following:</p>
<ul>
<blockquote>
<li>Runnable Hello World project ready to be modified and added to a Wave</li>
<li><a href="http://www.springsource.org/">Spring</a> integration in your robot / gadget back-end project compatible with <a href="http://code.google.com/appengine/">Google App Engine</a></li>
<li>Ant tasks to test your gadget locally and deploy to App Engine from the command line</li>
<li>Access to our API core components, including an open source implementation of <a href="http://en.wikipedia.org/wiki/Named_entity_recognition">Named Entity Recognition</a> for blips based on the<a href="http://www.alchemyapi.com/">Alchemy API</a></li>
<li>Gadget server handlers for communication from your gadget to the server with JSON / Spring</li>
<li>jQuery integration for your gadgets</li>
<li>Common gadget JS classes to handle Wave callbacks and state modifications</li>
<li>Simple Wave JS emulator that allows you to view your gadget locally for testing HTML/JS/CSS before deploying</li>
<li>Locale based language support for your gadget</li>
<li>Metadata to expose your robot / gadget as a extension installer</li>
<li>Eclipse / Google plugin ready project to run and update to app engine from Eclipse</li>
</blockquote>
</ul>
<p>They provide the following information and video to guide you through the process:</p>
<blockquote><p>If you already have <a href="http://java.sun.com/javase/downloads/index.jsp">Java</a>, <a href="http://ant.apache.org/bindownload.cgi">Ant</a>, <a href="http://maven.apache.org/download.html">Maven</a> and the <a href="http://code.google.com/appengine/downloads.html#Google_App_Engine_SDK_for_Java">Java App Engine SDK</a> installed, simply execute the following command in your console:</p>
<p><strong>mvn archetype:generate -DarchetypeCatalog=http://mvn.withwaves.com</strong></p>
<p>After entering the values for your project, you will have a running Google Wave robot &amp; gadget ready in no time.</p>
<p>Use the same command to generate extensions in the future and you will have the option to enable new features as we release more extension generators.</p>
<p>Check out the videos below for a demo creating a simple &#8220;Hello World&#8221; robot and gadget, and optionally running it inside <a href="http://www.eclipse.org/downloads/">Eclipse</a> and the <a href="http://code.google.com/eclipse/">Google Plugin for Eclipse</a>.</p></blockquote>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="620" height="400" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://vimeo.com/moogaloop.swf?clip_id=7646862&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=0&amp;show_portrait=0&amp;color=00adef&amp;fullscreen=1" /><embed type="application/x-shockwave-flash" width="620" height="400" src="http://vimeo.com/moogaloop.swf?clip_id=7646862&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=0&amp;show_portrait=0&amp;color=00adef&amp;fullscreen=1" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<p><a href="http://vimeo.com/7646862"><em><span style="font-size: x-small;">WithWaves Extension Generator Demo</span></em></a><em><span style="font-size: x-small;"> from </span></em><a href="http://vimeo.com/isdereks"><em><span style="font-size: x-small;">Derek Punsalan</span></em></a><em><span style="font-size: x-small;"> on </span></em><a href="http://vimeo.com"><em><span style="font-size: x-small;">Vimeo</span></em></a><em><span style="font-size: x-small;">.</span></em></p>
<p>If you need more information about getting started with <a href="http://www.eclipse.org/downloads/">Eclipse</a> and the <a href="http://code.google.com/eclipse/">Google Plugin for Eclipse</a> see our post and detailed powerpoint presentation that we used at our <a href="http://www.theshinywave.com/news/ottawa-google-wave-camp-hack-a-thon-wrap-up/" target="_blank">Google Wave Hackathon</a> we held in October.</p>
<p>If you need more information about <a href="http://java.sun.com/javase/downloads/index.jsp">Java</a>, <a href="http://ant.apache.org/bindownload.cgi">Ant</a>, <a href="http://maven.apache.org/download.html">Maven</a> and the <a href="http://code.google.com/appengine/downloads.html#Google_App_Engine_SDK_for_Java">Java App Engine SDK</a> you are going to have to visit the links provided for those products and do a little reading. If you are a complete beginner, you should probably be prepared to dedicate a full day to getting yourself started.</p>
<p>Hope any of you wanna-be developers find this useful. It should help you get started much quicker with a product. Look forward to hearing from anyone who found this useful. Also, drop a thank you off over at <a href="http://withwaves.com/google-wave-extension-generator/#more-255" target="_blank">WithWaves</a>.</p>
<p class="alert">Leave a comment below with your thoughts, we love hearing what your thinking. Have you used their tools?</p>
<div class="shr-publisher-956"></div><!-- Start Shareaholic LikeButtonSetBottom Automatic --><!-- End Shareaholic LikeButtonSetBottom Automatic --><!--Amazon_CLS_IM_END-->

<p>No related posts.</p>
<p>Related posts brought to you by <a href='http://yarpp.org'>Yet Another Related Posts Plugin</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://www.theshinywave.com/developer/build-your-own-google-wave-extension/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Google Wave: Top 10 Improvements for 2010</title>
		<link>http://www.theshinywave.com/collaboration/google-wave-top-10-improvements-for-2010/</link>
		<comments>http://www.theshinywave.com/collaboration/google-wave-top-10-improvements-for-2010/#comments</comments>
		<pubDate>Wed, 30 Dec 2009 17:20:30 +0000</pubDate>
		<dc:creator>David</dc:creator>
				<category><![CDATA[Business]]></category>
		<category><![CDATA[Featured]]></category>
		<category><![CDATA[Amazon]]></category>
		<category><![CDATA[Developer]]></category>
		<category><![CDATA[e-mail]]></category>
		<category><![CDATA[extension]]></category>
		<category><![CDATA[Gadgets]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[google docs]]></category>
		<category><![CDATA[google wave]]></category>
		<category><![CDATA[Google Wave Blog]]></category>
		<category><![CDATA[google wave blogger]]></category>
		<category><![CDATA[google wave gadgets]]></category>
		<category><![CDATA[Google Wave Top 10]]></category>
		<category><![CDATA[industry]]></category>
		<category><![CDATA[ms office]]></category>
		<category><![CDATA[opensource]]></category>
		<category><![CDATA[Wave Server]]></category>
		<category><![CDATA[Web 2.0]]></category>

		<guid isPermaLink="false">http://www.theshinywave.com/?p=690</guid>
		<description><![CDATA[In May 2009 at I/O 09, was launched to much deserved fanfare. A lot of the initial prognostications declaring  to be a replacement for just about everything and as an important an invention comparable to &#8220;the wheel&#8221; have, thank god, died down. In fact, because of much of the initial nonsense calling it a Twitter, [...]


No related posts.

Related posts brought to you by <a href='http://yarpp.org'>Yet Another Related Posts Plugin</a>.]]></description>
			<content:encoded><![CDATA[<!--Amazon_CLS_IM_START--><p><a class="post_image_link" href="http://www.theshinywave.com/collaboration/google-wave-top-10-improvements-for-2010/" title="Permanent link to Google Wave: Top 10 Improvements for 2010"><img class="post_image aligncenter" src="http://www.theshinywave.com/wp-content/gallery/post-images/top_ten__waynes_world_.jpg" width="520" height="280" alt="Post image for Google Wave: Top 10 Improvements for 2010" /></a>
</p><!-- Start Shareaholic LikeButtonSetTop Automatic --><!-- End Shareaholic LikeButtonSetTop Automatic --><p><span class="drop_cap">I</span>n May 2009 at <a href="http://code.google.com/events/io/2009/" target="_blank">I/O 09</a>,  was launched to much deserved fanfare. A lot of the initial prognostications declaring  to be a replacement for just about everything and as an important an invention comparable to &#8220;the wheel&#8221; have, thank god, died down. In fact, because of much of the initial nonsense calling it a Twitter, Facebook and e-mail replacement (<em>Google did that one</em>) have turned many off of the pre-Alpha Preview version.</p>
<p>Of course, readers of this blog know that while  may not be ready to replace anything just yet, it still holds unbelievable promise for transforming how we currently collaborate on everything from projects and documents to meetings and <a href="http://astore.amazon.ca/thshwa0a-20" target="_blank">online shopping</a>. If we take the current definition of Web 2.0 to be associated with web applications that facilitate interactive information sharing, interoperability, user-centered design<span style="font-size: small;"> </span>and collaboration on the World Wide Web. Then,  is the first true web 2.0 application for business.</p>
<p>That being said, the current preview version (pre-Alpha) of , although functional and gives folks an understanding of the product, is starting to do more harm than good. I understand the reason for the early preview: trying to understand server load problems, uncover shaky code and desperately searching for use cases. But the time has come to show that this application/protocol is much, much more than a glorified chat program with a few neat extensions. I think 2010 will be that time.</p>
<p class="alert">Thus, my <strong>TOP 10 IMPROVEMENTS for GOOGLE WAVE in 2010</strong>:</p>
<p><span class="drop_cap">10.</span> <strong><span style="text-decoration: underline;">Developmental Timeline</span></strong>. I blogged about this extensively in another post recently titled: <a href="http://www.theshinywave.com/collaboration/where-is-google-wave-going/" target="_blank">Where is Google Wave Going?</a> In that post I laid out the following:</p>
<ul>
<li>Develop your Google Wave strategy for the way ahead.</li>
<li>Release your vision of Google Wave and your vision for what you will be further developing for the product.</li>
<li>Release some milestones that you have for the product.</li>
<li>Talk about document support and how it will evolve and when you think it will be available.</li>
<li>More info about a robot/gadget store would be wonderful.</li>
<li>Outline a clear business support model. – Accreditation and/or certification credentials, building an appliance, etc, etc</li>
</ul>
<p><span class="drop_cap">9.</span> <strong><span style="text-decoration: underline;">Delete a Wave Permanently</span></strong>. The closest thing that you can now do is send your <em>Wave </em>to the trash. However, when you click on &#8220;All&#8221; you still see that <em>Wave</em>. It lives. Moreover, regardless of being the owner I cannot permanently delete a <em>Wave</em>, everybody else still has that Wave. I am only putting it in my trash. There is currently no delete. The owner should be allowed to delete the<em> Wave</em>. In business I don&#8217;t necessarily want to have collaboration work live forever. That would be another post by itself as to why that is a bad idea, but suffice to say the reasons are not nefarious&#8230;.just good business practice.</p>
<p><span class="drop_cap">8.</span> <strong><span style="text-decoration: underline;">Integration of Moderation Features</span></strong>. This was a topic of another post titled: <a href="http://www.theshinywave.com/news/google-wave-etiquette-moderating-your-wave/" target="_blank">Google Wave Etiquette &#8211; Moderating Your Wave</a>. This post talked about the good work done by those currently using Google Wave to put in place a set of rules that help ensure we have a civil real-time collaborative discussion or workgroup, that obeys certain rules or customs. These ideas are good ones and Google needs to take a hard look at what so many are adopting for their <em>Waves</em> and make it a functional part of the Google Wave client.</p>
<p><span class="drop_cap">7.</span> <strong><span style="text-decoration: underline;">Google Wave Client Code Released.</span></strong> Ok Google, thanks for the Federation protocol being open-source and all. Great, wonderful! But without a really slick client&#8230;federating is kind of worthless. The client is the great part. Now, one could develop a client but that would take great effort (for a good one) and with nothing released regarding Google strategy (see number 10) I could be wasting my time and money. Thus, if they want more people to actually federate with a meaningful Wave server they need to release the client code.</p>
<p><span class="drop_cap">6.</span> <strong><span style="text-decoration: underline;">Google Groups Integration</span></strong>. Well, they claim to have <a href="http://googlewave.blogspot.com/2009/12/waving-with-groups.html" target="_blank">integration with Google Groups</a>. But,&#8230;have you tried it. I dare you. Come back and let me know how long it took and how it worked out for you. Enough said. Fix this!</p>
<p><span class="drop_cap">5.</span> <strong><span style="text-decoration: underline;">I</span></strong><strong><span style="text-decoration: underline;">n</span><span style="text-decoration: underline;">box Management.</span></strong> I spent a quite a bit of time thinking about this before deciding to add it to the list, let alone make it in the top 5 improvements. There is a lot of Waves out there that describe hints of  inbox management with Google Wave. My problem is that it is way to similar to the email inbox. I think some real thought needs to given to this problem to make it work for Wave. I don&#8217;t think just replicating an email inbox management solution works. One simple example to highlight this point would be the problem with finding a reply to <em>Wave</em>. Somehow that should be evident from your Inbox. This needs work and a new approach to looking at this problem, I think.</p>
<p><span class="drop_cap">4.</span> <strong><span style="text-decoration: underline;">Draft Typing</span></strong>. The box is there but the functionality is still not available. I expect this will be an easy one for 2010, but it is a big one. Depending on how sensitive something is, this becomes critical&#8230;as in, I won&#8217;t use Google Wave for this correspondence because I don&#8217;t want anybody seeing what I&#8217;m writing until I am finished.</p>
<p><span class="drop_cap">3.</span> <strong><span style="text-decoration: underline;">Owner Only Remove</span></strong>. The owner of a <em>Wave </em>must be able to remove participants from that <em>Wave</em>. Let&#8217;s say someone inadvertently gets added to a sensitive <em>Wave</em> they were not intended to be part of. The owner needs to have the ability to control his <em>Wave</em> and remove folks as he see fit.</p>
<p><span class="drop_cap">2.</span> <strong><span style="text-decoration: underline;">Owner Only Invite.</span></strong> Keeping with same theme as the above improvement. There needs to be a function where the only person who can add a person to a <em>Wave</em> is the owner. It doesn&#8217;t need to be a default setting but its needs to available otherwise real business will not take place on Google Wave. If anybody can be invited into any <em>Wave</em> by anybody&#8230;I will share nothing of relevance with anyone.</p>
<p><span class="drop_cap">1.</span> <strong><span style="text-decoration: underline;">Document Collaboration</span></strong>. The Holy Grail for Google Wave. I have written many posts, the latest titled: <a href="http://www.theshinywave.com/collaboration/google-wave-preparing-to-add-document-collaboration/" target="_blank">Google Wave Preparing to add Document Collaboration</a>. This improvement is a must and needs to happen sooner rather than later. The problem with Google Wave right now is that nothing really serious is happening on it. Folks go looking for a Twitter like experience and find it lacking. Folks go to do collaboration and find that it is extremely limited because no office suite is integrated. Google Wave&#8217;s real power will lie in document collaboration and they must introduce it in the early part of 2010.</p>
<p class="alert">I, for one, will be at <a href="http://code.google.com/events/io/" target="_blank">I/O 10</a> this year and hope to see Google unveil all of the improvements I mentioned above. So, &#8220;&#8220;</p>
<p>Did I miss something that is tops on your list? Leave a comment on what you think should have made the list, or just leave a comment on the current list. We love hearing your feedback.<br />
<span class="drop_cap">Happy New Year!</span></p>
<div class="shr-publisher-690"></div><!-- Start Shareaholic LikeButtonSetBottom Automatic --><!-- End Shareaholic LikeButtonSetBottom Automatic --><!--Amazon_CLS_IM_END-->

<p>No related posts.</p>
<p>Related posts brought to you by <a href='http://yarpp.org'>Yet Another Related Posts Plugin</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://www.theshinywave.com/collaboration/google-wave-top-10-improvements-for-2010/feed/</wfw:commentRss>
		<slash:comments>29</slash:comments>
		</item>
		<item>
		<title>Developer Spotlight: Google Wave Notifier</title>
		<link>http://www.theshinywave.com/developer/developer-spotlight-google-wave-notifier/</link>
		<comments>http://www.theshinywave.com/developer/developer-spotlight-google-wave-notifier/#comments</comments>
		<pubDate>Sun, 27 Dec 2009 18:36:58 +0000</pubDate>
		<dc:creator>David</dc:creator>
				<category><![CDATA[Developer]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[google docs]]></category>
		<category><![CDATA[google wave]]></category>
		<category><![CDATA[Google Wave Blog]]></category>
		<category><![CDATA[google wave blogger]]></category>
		<category><![CDATA[google wave gadgets]]></category>
		<category><![CDATA[Google Wave Notifier]]></category>
		<category><![CDATA[opensource]]></category>
		<category><![CDATA[SourceForge]]></category>
		<category><![CDATA[Wave Server]]></category>

		<guid isPermaLink="false">http://www.theshinywave.com/?p=660</guid>
		<description><![CDATA[This month&#8217;s edition of the &#8220;Developer Spotlight&#8221; highlights the efforts of two developers: Laura Stolp and Pieter van Ginkel, both of whom you can find on SourceForge. If you are not familiar with SourceForge you are probably not a developer. SourceForge is the world&#8217;s largest open-source development site that provides numerous free services to manage your project, [...]


No related posts.

Related posts brought to you by <a href='http://yarpp.org'>Yet Another Related Posts Plugin</a>.]]></description>
			<content:encoded><![CDATA[<!--Amazon_CLS_IM_START--><p><a class="post_image_link" href="http://www.theshinywave.com/developer/developer-spotlight-google-wave-notifier/" title="Permanent link to Developer Spotlight: Google Wave Notifier"><img class="post_image aligncenter" src="http://www.theshinywave.com/wp-content/gallery/post-images/new-wave.png" width="520" height="298" alt="Post image for Developer Spotlight: Google Wave Notifier" /></a>
</p><!-- Start Shareaholic LikeButtonSetTop Automatic --><!-- End Shareaholic LikeButtonSetTop Automatic --><p><span class="drop_cap">T</span>his month&#8217;s edition of the &#8220;Developer Spotlight&#8221; highlights the efforts of two developers: <a href="http://sourceforge.net/users/laurastolp" target="_blank">Laura Stolp</a> and <a href="http://sourceforge.net/users/pvginkel" target="_blank">Pieter van Ginkel</a>, both of whom you can find on <a href="http://sourceforge.net/" target="_blank">SourceForge</a>.</p>
<p>If you are not familiar with <a href="http://sourceforge.net/" target="_blank">SourceForge</a> you are probably not a developer. <a href="http://sourceforge.net/" target="_blank">SourceForge</a> is the world&#8217;s largest open-source development site that provides numerous free services to manage your project, including collaboration software development tools&#8230;like CVS and Subversion.</p>
<p class="alert">The application that Laura and Pieter developed is called <a href="http://wave-notify.sourceforge.net/index.php" target="_blank">Google Wave Notifier</a>. They describe the application as follows:</p>
<blockquote><p>The <a href="http://wave-notify.sourceforge.net/index.php" target="_blank">Google Wave Notifier</a> is a Windows application that alerts you whenever you receive a new Wave. After you download the Notifier, an icon will appear in your system tray to let you know if you have any unread waves.</p>
<p>The <a href="http://wave-notify.sourceforge.net/index.php" target="_blank">Google Wave Notifier</a> has the following features:</p>
<ul>
<li>Get real-time updates of new and changes Waves;</li>
<li>See the last reply to an unread Wave;</li>
<li>Quick access to your last five unread Waves;</li>
<li>Automatically updates to the newest version;</li>
<li>Easily browse to an unread Wave or your inbox.</li>
</ul>
<p>The Google Wave Notifier installs itself into your system tray.</p>
<p><a href="http://www.theshinywave.com/wp-content/uploads/2009/12/notify-no-new-waves.png"><img class="aligncenter size-full wp-image-661" title="notify-no-new-waves" src="http://www.theshinywave.com/wp-content/uploads/2009/12/notify-no-new-waves.png" alt="" width="186" height="39" /></a></p>
<p>After logging on, the Google Wave Notifier will automatically inform you of new Waves or replies to existing Waves. When a new Wave appears, a pop-up will be displayed and the system tray icon will get an overlay icon to indicate you have an unread Wave.</p>
<p><a href="http://www.theshinywave.com/wp-content/uploads/2009/12/new-wave.png"><img class="aligncenter size-full wp-image-662" title="new-wave" src="http://www.theshinywave.com/wp-content/uploads/2009/12/new-wave.png" alt="" width="283" height="162" /></a></p>
<p>Clicking on this pop-up will automatically open your default browser with the new Wave already displayed.</p>
<p>When there are unread Waves, the system tray icon will get an overlay icon to tell you this. Clicking on this icon will give you easy access to your last five unread Waves.</p>
<p><a href="http://www.theshinywave.com/wp-content/uploads/2009/12/notify-new-waves-popup.png"><img class="aligncenter size-full wp-image-663" title="notify-new-waves-popup" src="http://www.theshinywave.com/wp-content/uploads/2009/12/notify-new-waves-popup.png" alt="" width="289" height="296" /></a></p>
<p>When the Google Wave Notifier starts, it queries you for your Google Wave credentials.</p></blockquote>
<p><a href="http://www.theshinywave.com/wp-content/uploads/2009/12/login.png"><img class="aligncenter size-medium wp-image-664" title="login" src="http://www.theshinywave.com/wp-content/uploads/2009/12/login-300x268.png" alt="" width="300" height="268" /></a></p>
<p>I have tried this application on my Windows machine and have to say that Laura and Pieter have done great work with this app. It works exactly as advertised and is extremely useful. Hopefully, this functionality (if not this app itself) is something Google will make standard in upcoming releases. But, don&#8217;t take my word for it&#8230;read all the <a href="http://sourceforge.net/projects/wave-notify/reviews/" target="_blank">great reviews</a> this app has gotten.</p>
<p class="alert">Congratulations to Laura and Pieter as our December &#8220;Developer Spotlight&#8221; choice. If you are familiar with this app please provide some user feedback below. If you are new to this app&#8230;give it a try&#8230;then please, come back and tell us about your experience.</p>
<div class="shr-publisher-660"></div><!-- Start Shareaholic LikeButtonSetBottom Automatic --><!-- End Shareaholic LikeButtonSetBottom Automatic --><!--Amazon_CLS_IM_END-->

<p>No related posts.</p>
<p>Related posts brought to you by <a href='http://yarpp.org'>Yet Another Related Posts Plugin</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://www.theshinywave.com/developer/developer-spotlight-google-wave-notifier/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>XMPP Mini-Series: Part 2 &#8211; How Google Wave Uses XMPP</title>
		<link>http://www.theshinywave.com/developer/xmpp-mini-series-part-2-how-google-wave-uses-xmpp/</link>
		<comments>http://www.theshinywave.com/developer/xmpp-mini-series-part-2-how-google-wave-uses-xmpp/#comments</comments>
		<pubDate>Sat, 26 Sep 2009 02:34:09 +0000</pubDate>
		<dc:creator>David</dc:creator>
				<category><![CDATA[Developer]]></category>
		<category><![CDATA[API]]></category>
		<category><![CDATA[FedOne Server]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[google wave]]></category>
		<category><![CDATA[google wave blogger]]></category>
		<category><![CDATA[GWT]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[JSON]]></category>
		<category><![CDATA[O'Reilly]]></category>
		<category><![CDATA[opensource]]></category>
		<category><![CDATA[PyGo Server]]></category>
		<category><![CDATA[security]]></category>
		<category><![CDATA[XMPP]]></category>
		<category><![CDATA[XMPP Advantage]]></category>
		<category><![CDATA[XMPP Client]]></category>
		<category><![CDATA[XMPP Mini-Series]]></category>
		<category><![CDATA[XMPP Server]]></category>

		<guid isPermaLink="false">http://www.googlewaveblogger.com/?p=293</guid>
		<description><![CDATA[In Part 1 &#8211; 7 Advantages of  XMPP we discussed some of the strengths of XMPP. In this second part of our XMPP Mini-Series we will concentrate on how Google Wave uses XMPP. Of note: this particular part has drawn a lot of attention in the blogosphere lately, based on an article which claimed that [...]


No related posts.

Related posts brought to you by <a href='http://yarpp.org'>Yet Another Related Posts Plugin</a>.]]></description>
			<content:encoded><![CDATA[<!--Amazon_CLS_IM_START--><p></p><!-- Start Shareaholic LikeButtonSetTop Automatic --><!-- End Shareaholic LikeButtonSetTop Automatic --><p>In <a href="http://www.googlewaveblogger.com/developer/xmpp-mini-series-part-1-the-7-advantages-of-xmpp/" target="_blank">Part 1 &#8211; 7 Advantages of  XMPP</a> we discussed some of the strengths of XMPP. In this second part of our XMPP Mini-Series we will concentrate on how Google Wave uses XMPP. Of note: this particular part has drawn a lot of attention in the blogosphere lately, based on an article which claimed that Google had developed a &#8220;full-featured XMPP Client&#8221;.</p>
<p>I hope to make is clear in this article that Google has not, nor do they claim to have, developed a XMPP Client. Although, it is easy to see how one could jump to that assumption given that what you see on your screen looks and feel like XMPP. Moreover, I don&#8217;t think the comment deserves the pedantic scrutiny that it has received. In fact, I thought the post was very well written and very clear describing the architecture and clearer with the point it was trying to make: that XMPP is a great tool. That being said, how does Google make the magic happen.</p>
<p>The best explanation can be found in a very short article, by J. Aaron Farr, titled <a href="http://www.cubiclemuses.com/cm/articles/2009/08/09/waves-web-of-protocols/" target="_blank">Wave&#8217;s Web of Protocol</a>. The diagram below comes from that post and is offered freely by the author.</p>
<div class="wp-caption aligncenter" style="width: 476px">
	<a href="http://www.cubiclemuses.com/cm/articles/2009/08/09/waves-web-of-protocols/"><img class="ngg-singlepic ngg-center " src="http://www.googlewaveblogger.com/wp-content/gallery/other-images/wave_protocols.png" alt="wave_protocols" width="476" height="466" /></a>
	<p class="wp-caption-text">by J. Aaron Farr</p>
</div>
<p>This diagram is the best I have come across to date and I think very clearly outlines the protocols used here. Thus, the following protocols and APIs being used by Google Wave are:</p>
<ul>
<li>Federation Protocol         &#8211;  XMPP</li>
<li>Robot Protocol                 &#8211;  JSON</li>
<li>Client-Server Protocol      -  As defined by the GWT</li>
<li>Gadget API                       &#8211;  OpenSocial</li>
<li>Wave Embedded  API       &#8211;  Javascript</li>
</ul>
<p>Now the problem is that only the Federation Protocol is defined. The Robot and Client-Server Protocol are not. The reason for that is because, according to Joe Gregorio in a <a href="http://groups.google.com/group/wave-protocol/browse_frm/thread/4fb0a32e14efc1ee" target="_blank">Google Groups &#8211; Wave Protocol FAQ</a></p>
<p><cite>The focus of our open source and protocol work at this point is on the federation protocol, which is critical for getting inter-operable server implementations, that is, for allowing many other people to build Wave servers and have them interop with each other and with the Google Wave server. We have definitely heard the requests for defining a client-server protocol, but at this time the team doesn&#8217;t have the time to put into such an effort.</cite></p>
<p>What is clear in the diagram above is that Google only uses XMPP in the federation protocol, and the federation protocol is only used for wave server-to-wave server communication. The Wave server itself is a OpenFire Server with a Google Wave Extension. Then using the GWT you build your client to speak with that extension. How it does that is pretty much wide open to whoever is building the Wave Client.</p>
<p>So why is it clear that the client is not XMPP. Well, if I have a new wave client, let&#8217;s say a desktop based client, I have no way to communicate to Google&#8217;s wave server. I have to host my own server, with its own private client-server protocol. Then I can federate with the Goole Server via the XMPP protocol.</p>
<p>At the XMPP Standards Foundation page they list the current <a href="http://xmpp.org/software/clients.shtml" target="_blank">XMPP clients</a> and link to a ton of other information about XMPP. The clients listed , in fact, look and feel much like Google Wave does: a XMPP Client. But it is not, many folks have made some clients for their own FedOne Server implementations that act and feel like Google Wave&#8217;s Client (see my <a href="http://www.googlewaveblogger.com/developer/how-to-get-a-google-wave-account-or-the-alternative-pygo-wave-server/" target="_blank">PyGo Wave post</a>) and their clients are not XMPP, they are clients that have been built with GWT. The fact that is not defined by Google will mean that the argument will continue. But in my mind, it is quite clear that building your server and your client is a different development effort.</p>
<p>I keep saying that I will be building my own server soon. That will now happen in the week after next as my lab space has finally become available and the equipment is being moved and set-up next week.That means I will be putting into practice what I am preaching here.</p>
<p>So, all that to say that Google uses XMPP for Wave Sever-to-Wave Server communications which is accomplished by adding a Google Wave extension to a OpenFire Server. Many folks have also done this using other XMPP servers.</p>
<p>Part 3 of this mini-series will focus on <a href="http://www.googlewaveblogger.com/developer/xmpp-mini-series-part-3-xmpp-and-security/" target="_blank">XMPP security</a>.</p>
<div class="shr-publisher-293"></div><!-- Start Shareaholic LikeButtonSetBottom Automatic --><!-- End Shareaholic LikeButtonSetBottom Automatic --><!--Amazon_CLS_IM_END-->

<p>No related posts.</p>
<p>Related posts brought to you by <a href='http://yarpp.org'>Yet Another Related Posts Plugin</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://www.theshinywave.com/developer/xmpp-mini-series-part-2-how-google-wave-uses-xmpp/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>XMPP Mini Series: Part 1 &#8211; The 7 Advantages of XMPP</title>
		<link>http://www.theshinywave.com/developer/xmpp-mini-series-part-1-the-7-advantages-of-xmpp/</link>
		<comments>http://www.theshinywave.com/developer/xmpp-mini-series-part-1-the-7-advantages-of-xmpp/#comments</comments>
		<pubDate>Thu, 24 Sep 2009 17:18:14 +0000</pubDate>
		<dc:creator>David</dc:creator>
				<category><![CDATA[Developer]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[google wave]]></category>
		<category><![CDATA[google wave blogger]]></category>
		<category><![CDATA[O'Reilly]]></category>
		<category><![CDATA[opensource]]></category>
		<category><![CDATA[security]]></category>
		<category><![CDATA[XMPP]]></category>
		<category><![CDATA[XMPP Advantages]]></category>
		<category><![CDATA[XMPP Mini-Series]]></category>

		<guid isPermaLink="false">http://www.googlewaveblogger.com/?p=283</guid>
		<description><![CDATA[There has been a lot of discussion in many blogs lately reference Extensible Messaging and Presence Protocol (XMPP). I thought it would be helpful to start a small blog-series about the things you should know about XMPP. The first part of this series will be a list of XMPP advantages. This should put in context [...]


No related posts.

Related posts brought to you by <a href='http://yarpp.org'>Yet Another Related Posts Plugin</a>.]]></description>
			<content:encoded><![CDATA[<!--Amazon_CLS_IM_START--><p></p><!-- Start Shareaholic LikeButtonSetTop Automatic --><!-- End Shareaholic LikeButtonSetTop Automatic --><p>There has been a lot of discussion in many blogs lately reference Extensible Messaging and Presence Protocol (XMPP). I thought it would be helpful to start a small blog-series about the things you should know about XMPP. The first part of this series will be a list of XMPP advantages. This should put in context why Google choose XMPP as its server-to-server protocol. Consider these seven (7) advantages (extract from <a href="http://oreilly.com/catalog/9780596521271" target="_blank">O&#8217;Reilly: XMPP The Definitive Guide)</a>:</p>
<ul>
<li><span style="font-family: Cambria, 'Times New Roman', 'Bitstream Charter', Times, serif; font-size: small;"><strong>XMPP is proven.</strong> Over 10 years of development has resulted in a stable, widely deployed, seriously tested, Internet-scale technology, with dozens of interoperable codebases, tens of thousands of deployed services, and millions of end users.</span></li>
<li><span style="font-family: Cambria, 'Times New Roman', 'Bitstream Charter', Times, serif; line-height: normal; font-size: small;"><strong>XMPP is secure.</strong> It provides built-in support for channel encryption and strong authentication, inherent resistance to many forms of malware, a diverse ecosystem of implementations, a decentralized network without a single point of failure, and significant deployment at some of the most security-conscious financial organizations and government agencies worldwide. Work on more advanced features (such as user-friendly end-to-end encryption) continues so that XMPP will be even more secure.</span></li>
<li><span style="font-family: Cambria, 'Times New Roman', 'Bitstream Charter', Times, serif; line-height: normal; font-size: small;"><strong>XMPP is decentralized</strong>. Unlike standalone communication silos, XMPP technologies are deployed in a decentralized client-server architecture with an unlimited number of servers. Any person or organization can run their own XMPP server and connect it to the rest of the network using standard Internet infrastructure such as the Domain Name System (DNS), and certificates are freely available through the XMPP Standards Foundation (XSF) to enable secure federation of XMPP traffic.</span></li>
<li><span style="font-family: Cambria, 'Times New Roman', 'Bitstream Charter', Times, serif; line-height: normal; font-size: small;"><strong>XMPP is extensible.</strong> Because XMPP is at its core a technology for rapidly delivering XML from one place to another, it has been used for a wide range of applications beyond instant messaging, including gaming, social networking, Voice over IP (VoIP), real-time collaboration, alerts and notifications, data syndication, geolocation, intelligent workflows, machine-to-machine communication, and custom applications.</span></li>
<li><span style="font-family: Cambria, 'Times New Roman', 'Bitstream Charter', Times, serif; line-height: normal; font-size: small;"><strong>XMPP is scalable.</strong> The “push” model of information transfer used in XMPP solves serious scaling problems associated with traditional HTTP-based polling approaches; as a result, it enables you to build applications that were literally im- possible until now.</span></li>
<li><span style="font-family: Cambria, 'Times New Roman', 'Bitstream Charter', Times, serif; line-height: normal; font-size: small;"><strong>XMPP is a standard</strong>. The core aspects of XMPP have undergone rigorous public review within the Internet Engineering Task Force (IETF), and extensions to XMPP are published in an open, developer-oriented standards process run by the XSF. This approach has resulted in strong technologies that can be freely implemented under any licensing terms, from open source to shareware to proprietary code.</span></li>
<li><span style="font-family: Cambria, 'Times New Roman', 'Bitstream Charter', Times, serif; line-height: normal; font-size: small;"><strong>XMPP is a community.</strong> Open standards, a large number of software products, and a communications network are all good, but the “secret sauce” of XMPP may be its vibrant and friendly community of technologists, developers, open source projects, commercial software companies, service providers, and end users. This community is committed to working together to solve problems and build great new applications.</span></li>
</ul>
<p>For these reasons, Google is using XMPP in the Google Wave architecture. For more information visit <a href="http://xmpp.org/" target="_blank">XMPP Standards Foundation</a> .</p>
<p>Part 2 of this Mini-Blog series will focus on <a href="http://www.googlewaveblogger.com/developer/xmpp-mini-series-part-2-how-google-wave-uses-xmpp/" target="_blank">how Google Wave uses XMPP</a>.</p>
<div class="shr-publisher-283"></div><!-- Start Shareaholic LikeButtonSetBottom Automatic --><!-- End Shareaholic LikeButtonSetBottom Automatic --><!--Amazon_CLS_IM_END-->

<p>No related posts.</p>
<p>Related posts brought to you by <a href='http://yarpp.org'>Yet Another Related Posts Plugin</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://www.theshinywave.com/developer/xmpp-mini-series-part-1-the-7-advantages-of-xmpp/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
	</channel>
</rss>

