<?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>Mastering WAVE &#187; Architecture</title>
	<atom:link href="http://www.masteringwave.com/category/architecture/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.masteringwave.com</link>
	<description>Google Wave Made Easy</description>
	<lastBuildDate>Sun, 08 Aug 2010 13:46:32 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
<cloud domain='www.masteringwave.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
		<item>
		<title>Google Stop development of Wave</title>
		<link>http://www.masteringwave.com/2010/08/google-stop-development-of-wave/</link>
		<comments>http://www.masteringwave.com/2010/08/google-stop-development-of-wave/#comments</comments>
		<pubDate>Wed, 04 Aug 2010 22:02:46 +0000</pubDate>
		<dc:creator>Daniel Graversen</dc:creator>
				<category><![CDATA[Architecture]]></category>
		<category><![CDATA[Beginner]]></category>
		<category><![CDATA[Enterprise]]></category>
		<category><![CDATA[google wave]]></category>
		<category><![CDATA[stop]]></category>

		<guid isPermaLink="false">http://www.masteringwave.com/2010/08/google-stop-development-of-wave/</guid>
		<description><![CDATA[I just read the article Wave Goodbye To Google Wave. It is such a shame that it had to go like that. It also ties to what the shiny wave wrote a while ago, that I did not get to respond to. The idea that nothing new was released at IO2010 or not enough could have [...]


No related posts.

Related posts brought to you by <a href='http://mitcho.com/code/yarpp/'>Yet Another Related Posts Plugin</a>.]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.masteringwave.com%2F2010%2F08%2Fgoogle-stop-development-of-wave%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.masteringwave.com%2F2010%2F08%2Fgoogle-stop-development-of-wave%2F&amp;source=masteringwave&amp;style=normal&amp;service=bit.ly" height="61" width="50" /><br />
			</a>
		</div>
<p><img class="alignleft" title="stopsign" src="http://farm4.static.flickr.com/3110/2896787167_5ae8f96803_m.jpg" alt="" width="240" height="180" />I just read the article <a title="Wave Goodbye To Google Wave" href="http://techcrunch.com/2010/08/04/wave-goodbye-to-google-wave/"><span style="text-decoration: underline;">Wave Goodbye To Google Wave</span></a><span style="text-decoration: underline;">.</span> It is such a shame that it had to go like that. It also ties to what <a href="http://www.theshinywave.com/collaboration/google-wave-how-things-went-wrong/">the shiny wave</a> wrote a while ago, that I did not get to respond to. The idea that nothing new was released at IO2010 or not enough could have something to do with it.</p>
<p>It seems like Wave stopped being hyped when everybody got on, and could not find a way to use wave. And when nobody responded to waves it seemed like everything just stopped. I guess the live typing was not enough to get people to be attracted to the application.</p>
<p>I guess that working on bold new ideas can have some draw back. For Google it could have made it a large upside with the investment in Wave. It could attract people to the Apps and thereby get more people to switch form Exchange to Gmail.</p>
<p>For me how has been trying to develop applications for Google Wave it has been going down for a long time. I guess that you do not need to be the first to create applications and plugins for a new platform. But it is something like the chicken and the egg, Wave could not be successful without a thriving ecosystem of software vendors.</p>
<p>I&#8217;m not sure what is going to happen to the blog. I guess it does not make a lot of sense to continue to write. I will admit that the blog has not been active for a long time.  I also stopped being interested and have time to write about wave.</p>
<p>image by <a href="http://www.flickr.com/photos/ladybeames/2896787167/sizes/m/">http://www.flickr.com/photos/ladybeames/2896787167</a></p>


<p>No related posts.</p>
<p>Related posts brought to you by <a href='http://mitcho.com/code/yarpp/'>Yet Another Related Posts Plugin</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://www.masteringwave.com/2010/08/google-stop-development-of-wave/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Google Wave Robot and gadget interaction</title>
		<link>http://www.masteringwave.com/2010/03/google-wave-robot-and-gadget-interaction/</link>
		<comments>http://www.masteringwave.com/2010/03/google-wave-robot-and-gadget-interaction/#comments</comments>
		<pubDate>Fri, 12 Mar 2010 08:16:37 +0000</pubDate>
		<dc:creator>Daniel Graversen</dc:creator>
				<category><![CDATA[Architecture]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[api2]]></category>
		<category><![CDATA[gadget]]></category>
		<category><![CDATA[google wave]]></category>
		<category><![CDATA[robot]]></category>
		<category><![CDATA[video]]></category>

		<guid isPermaLink="false">http://www.masteringwave.com/?p=808</guid>
		<description><![CDATA[With the new Robot API version 2 is it possible to interact with the gadgets using robots. This will allow for some interesting integrations and will mean that the gadgets can be used to show the graphical information that needs to be displayed by a user. By using the robot to fetch and populate the [...]


No related posts.

Related posts brought to you by <a href='http://mitcho.com/code/yarpp/'>Yet Another Related Posts Plugin</a>.]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.masteringwave.com%2F2010%2F03%2Fgoogle-wave-robot-and-gadget-interaction%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.masteringwave.com%2F2010%2F03%2Fgoogle-wave-robot-and-gadget-interaction%2F&amp;source=masteringwave&amp;style=normal&amp;service=bit.ly" height="61" width="50" /><br />
			</a>
		</div>
<p>With the new Robot API version 2 is it possible to interact with the gadgets using robots. This will allow for some interesting integrations and will mean that the gadgets can be used to show the graphical information that needs to be displayed by a user. By using the robot to fetch and populate the data, you are also able to make the requests update other information than is possible using the social API.</p>
<p>I have created a small demo that shows how this can work out. Look at this video.<br />
<object width="425" height="344"><param name="movie" value="http://www.youtube.com/v/RZbuYt0yKM0&#038;hl=en&#038;fs=1"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/RZbuYt0yKM0&#038;hl=en&#038;fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"></embed></object><br />
The code for the robot is the following.</p>
<div class="codecolorer-container java default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="java codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">&nbsp; @Override<br />
&nbsp; <span style="color: #000000; font-weight: bold;">protected</span> <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Astring+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">String</span></a> getRobotName<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span><br />
&nbsp; &nbsp; <span style="color: #000000; font-weight: bold;">return</span> <span style="color: #0000ff;">&quot;DGR1&quot;</span><span style="color: #339933;">;</span><br />
&nbsp; <span style="color: #009900;">&#125;</span><br />
<br />
&nbsp; <br />
&nbsp; @Override<br />
&nbsp; <span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000066; font-weight: bold;">void</span> onWaveletSelfAdded<span style="color: #009900;">&#40;</span>WaveletSelfAddedEvent event<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span><br />
&nbsp; &nbsp; Blip blip <span style="color: #339933;">=</span> event.<span style="color: #006633;">getWavelet</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>.<span style="color: #006633;">reply</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;<span style="color: #000099; font-weight: bold;">\n</span>Hi everybody!&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; blip.<span style="color: #006633;">append</span><span style="color: #009900;">&#40;</span><span style="color: #000000; font-weight: bold;">new</span> Gadget<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;http://dgrjava1.appspot.com/gadget.xml&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
&nbsp; <span style="color: #009900;">&#125;</span> &nbsp;<br />
&nbsp; @Override<br />
&nbsp; &nbsp; <span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000066; font-weight: bold;">void</span> onGadgetStateChanged<span style="color: #009900;">&#40;</span>GadgetStateChangedEvent event<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; Blip blip <span style="color: #339933;">=</span> event.<span style="color: #006633;">getBlip</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; &nbsp; Gadget gadget <span style="color: #339933;">=</span> <span style="color: #009900;">&#40;</span>Gadget<span style="color: #009900;">&#41;</span> blip.<span style="color: #006633;">getElements</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>.<span style="color: #006633;">get</span><span style="color: #009900;">&#40;</span>event.<span style="color: #006633;">getIndex</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; &nbsp;<a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Astring+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">String</span></a> count <span style="color: #339933;">=</span> &nbsp;gadget.<span style="color: #006633;">getProperty</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;count&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; &nbsp;<br />
&nbsp; &nbsp; &nbsp;blip.<span style="color: #006633;">append</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;State changed changed &quot;</span> <span style="color: #339933;">+</span> count<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; &nbsp;gadget.<span style="color: #006633;">setProperty</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;count&quot;</span>, <span style="color: #0000ff;">&quot;56&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
&nbsp; <span style="color: #009900;">&#125;</span></div></div>
<p>Currently it is not possible with the Java api to update the gadget. But there is room for it in the gadget state information.</p>


<p>No related posts.</p>
<p>Related posts brought to you by <a href='http://mitcho.com/code/yarpp/'>Yet Another Related Posts Plugin</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://www.masteringwave.com/2010/03/google-wave-robot-and-gadget-interaction/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>New Google Wave Robot API v2</title>
		<link>http://www.masteringwave.com/2010/03/new-google-wave-robot-api-v2/</link>
		<comments>http://www.masteringwave.com/2010/03/new-google-wave-robot-api-v2/#comments</comments>
		<pubDate>Tue, 02 Mar 2010 15:13:25 +0000</pubDate>
		<dc:creator>Daniel Graversen</dc:creator>
				<category><![CDATA[Architecture]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[api]]></category>
		<category><![CDATA[Enterprise]]></category>
		<category><![CDATA[google wave]]></category>
		<category><![CDATA[robots]]></category>
		<category><![CDATA[sap]]></category>

		<guid isPermaLink="false">http://www.masteringwave.com/2010/03/new-google-wave-robot-api-v2/</guid>
		<description><![CDATA[Finally there is an update to the Google Wave robot API. In the blog Introducing Robots API v2: The Rise of Active Robots the new features are described. It is really nice to see that a lot of new features has been delivered. It is a long time since the last release of any updates [...]


No related posts.

Related posts brought to you by <a href='http://mitcho.com/code/yarpp/'>Yet Another Related Posts Plugin</a>.]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.masteringwave.com%2F2010%2F03%2Fnew-google-wave-robot-api-v2%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.masteringwave.com%2F2010%2F03%2Fnew-google-wave-robot-api-v2%2F&amp;source=masteringwave&amp;style=normal&amp;service=bit.ly" height="61" width="50" /><br />
			</a>
		</div>
<p>Finally there is an update to the Google Wave robot API. In the blog <a href="http://googlewavedev.blogspot.com/2010/03/introducing-robots-api-v2-rise-of.html">Introducing Robots API v2: The Rise of Active Robots</a> the new features are described.</p>
<p>It is really nice to see that a lot of new features has been delivered. It is a long time since the last release of any updates on the API, so it looked like the development or patching had stopped. But this new release solves many of the problems that have exists. I have written my comments to all to all of the functions.</p>
<ul>
<li><em><strong>Active API:</strong> In v2, robots can now push information into waves (without having to wait to respond to a user action). This replaces the need for our deprecated cron API, as now you can update a wave when the weather changes or the stock price falls below some threshold. You can learn more in <a href="http://code.google.com/apis/wave/extensions/robots/operations.html">the Active API docs</a>.<br />
</em></li>
</ul>
<p>This features is really useful for enterprise contexts, where it is required that you will be able to update the wave based on external events. With this features you can get a new Wave, when something happens that you need to react to. From the SAP perspective there is Universal Worklist where all events that you have to process are. With this Wave you can achieve some of the same ideas.</p>
<ul>
<li><em><strong>Context:</strong> Robots can now more precisely specify how much information they want to get back from a particular event. If only the contents of the affected blip needs updating and you want to reduce your robot&#8217;s bandwidth, then you can specify the new &#8216;SELF&#8217; context. On the flip side, if you do need all the information in the wavelet, you can specify the new &#8216;ALL&#8217; context. You can learn more in <a href="http://code.google.com/apis/wave/extensions/robots/events.html">the Context docs</a>.<br />
</em></li>
</ul>
<p>With this enhancement it will be much easier for robots to interact with the wave, because they can get a much better control of what the data is need in each instance. This will make the development easier because you got the date that you need and it will specify the data you need.</p>
<ul>
<li><em><strong>Filtering:</strong> In a similar way, with this new API, the robot can specify what events it needs to respond to, conserving valuable bandwidth &#8212; and ignore all those that don&#8217;t apply. You can learn more in <a href="http://code.google.com/apis/wave/extensions/robots/events.html">the Filtering Events docs</a></em>.</li>
</ul>
<p>With this function you will only get the events that you need in your robots. Simply create a regular expression and then only the entries matching the expression is sent. This is quite useful if you only want events, when a large number of capital letters is written.</p>
<ul>
<li><em><strong>Error reporting:</strong> Robots are now able to register to receive errors about failed operations, such as insertion on non-existent ranges. You can learn more in <a href="http://code.google.com/apis/wave/extensions/robots/operations.html">the Error Reporting docs</a>.<br />
</em></li>
</ul>
<p>This function will make it possible to make better and more stabile robots. The use requires that you work, how the robot should interact when an error is created.</p>
<ul>
<li><em><strong>Proxying-For:</strong> Robots can now convey to Google Wave that their actions are actually on behalf of a different user, via the proxyingFor field. For robots like the <a href="http://wave-samples-gallery.appspot.com/about_app?app_id=107016">Buggy sample</a>, which connects with the Google Code issue tracker, this means that the wave can be updated with attribution to users on non-wave systems. You can learn more in <a href="http://code.google.com/apis/wave/extensions/robots/operations.html">the Proxying-For docs</a>.<br />
</em></li>
</ul>
<p>I can see that this function will be really interesting when working with one place to monitor all of your solution. It will also make collaboration with external partners much easier.</p>
<p>With all of this information it looks like the robots have been much more decentralized and acts as regular clients. So in the principle the new features will allow you to create a client to Wave using the robot API and some proxy functionality.</p>
<p>There is still room for improvements in the API. This is the two things that I see that currently are missing.</p>
<ul>
<li>Better form handling and the ability to apply styles to the forms, so they don&#8217;t look as 90ish.</li>
<li><strong>UPDATE: This is also possible.</strong> Integration with Gadgets, so the robots can update the gadgets with new information. With the Active API is this even more interesting. It is now possible to update the statistic gadget when you get a new expression.</li>
</ul>
<p>Pamela Fox has created a great <a href="http://prezi.com/y1gmnbt6_4xk/google-wave-robots-v2/" target="_blank">presentation </a>describing what how the features connect.</p>


<p>No related posts.</p>
<p>Related posts brought to you by <a href='http://mitcho.com/code/yarpp/'>Yet Another Related Posts Plugin</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://www.masteringwave.com/2010/03/new-google-wave-robot-api-v2/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Google Wave Gadgets lack quality</title>
		<link>http://www.masteringwave.com/2010/01/wave-gadgets/</link>
		<comments>http://www.masteringwave.com/2010/01/wave-gadgets/#comments</comments>
		<pubDate>Tue, 05 Jan 2010 13:10:24 +0000</pubDate>
		<dc:creator>Daniel Graversen</dc:creator>
				<category><![CDATA[Architecture]]></category>
		<category><![CDATA[Beginner]]></category>
		<category><![CDATA[Community]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[Enterprise]]></category>
		<category><![CDATA[appstore]]></category>
		<category><![CDATA[critics]]></category>
		<category><![CDATA[gadget]]></category>
		<category><![CDATA[robots]]></category>

		<guid isPermaLink="false">http://www.masteringwave.com/?p=704</guid>
		<description><![CDATA[I tested quite a bit of different Google Wave gadgets in my christmas calender last month. I tried 40 different apps with a large verity in their complexity and usability. Some of them did not have any useful functions or did not work. I really liked many of the ideas created in the gadgets and [...]


No related posts.

Related posts brought to you by <a href='http://mitcho.com/code/yarpp/'>Yet Another Related Posts Plugin</a>.]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.masteringwave.com%2F2010%2F01%2Fwave-gadgets%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.masteringwave.com%2F2010%2F01%2Fwave-gadgets%2F&amp;source=masteringwave&amp;style=normal&amp;service=bit.ly" height="61" width="50" /><br />
			</a>
		</div>
<p>I tested quite a bit of different Google Wave gadgets in my christmas calender last month. I tried 40 different apps with a large verity in their complexity and usability. Some of them did not have any useful functions or did not work.</p>
<p>I really liked many of the ideas created in the gadgets and some was really useful. It was fun to see how people wanted to impress with new ideas.</p>
<p>The quality of the gadgets and robot was lausy. Mine included. I believe that many of to my application must be improved. But with the limited option in the robot API hinders making layouts to shine. It also provide a hindering there is a lack of way the gadget/robots can work together. If there was a better way to make the gadgets/robot work together, the layout issues could be solved.</p>
<p>I will say that most of the gadgets except maybe the simpler voting gadgets all require extra work before they can be used by a wider audience. The robots where you need to write commands with # or ! as the only thing in blip, I doubt that my mother will pick it up easily which is required to get non tech savvy users on board.</p>
<p>One key to make it possible to get the robot to function better is to pay the developers. I guess most of the developers of the robots/gadgets I have seen just tried the protocol out of see if they could make something useful. And they can. But to make them look wave-y the gadgets need to look better.</p>
<p>To make the gadgets/robot complete we need to be able to get some better apis and more importantly be able to charge for your apps. Currently it can be possible to charge for the usage of a robot and with some development also a gadget, but it is a pain and will require to much of the user.</p>
<p>I&#8217;m therefore looking forward a Wave app store is created. It will be interesting to see if it only supports one time payments or monthly payments and maybe even corporate multi seat licenses. The wave app store will mean that more developers will start with developing programs for Google Wave, making the platform more attractive.</p>
<p>I&#8217;m currently only letting my apps be available to my mail list subscribers. We have a new scrum gadget that just need to be published. So sign up to the newsletter and try it out.</p>


<p>No related posts.</p>
<p>Related posts brought to you by <a href='http://mitcho.com/code/yarpp/'>Yet Another Related Posts Plugin</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://www.masteringwave.com/2010/01/wave-gadgets/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Google Wave as a replacement of Notes databases</title>
		<link>http://www.masteringwave.com/2009/12/google-wave-as-a-replacement-of-notes-databases/</link>
		<comments>http://www.masteringwave.com/2009/12/google-wave-as-a-replacement-of-notes-databases/#comments</comments>
		<pubDate>Tue, 01 Dec 2009 13:28:10 +0000</pubDate>
		<dc:creator>Daniel Graversen</dc:creator>
				<category><![CDATA[Architecture]]></category>
		<category><![CDATA[Enterprise]]></category>
		<category><![CDATA[customers]]></category>
		<category><![CDATA[database]]></category>
		<category><![CDATA[lotus notes]]></category>
		<category><![CDATA[sap]]></category>

		<guid isPermaLink="false">http://www.masteringwave.com/?p=554</guid>
		<description><![CDATA[I was talking a person how was using Lotus Notes to administrate some of their interfaces towards the users. That made me think if Google Wave can replace Lotus Notes. I have been using Notes 6.5 and seen some of their databases. I did try to create some databases/application back in Notes 5. I was [...]


No related posts.

Related posts brought to you by <a href='http://mitcho.com/code/yarpp/'>Yet Another Related Posts Plugin</a>.]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.masteringwave.com%2F2009%2F12%2Fgoogle-wave-as-a-replacement-of-notes-databases%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.masteringwave.com%2F2009%2F12%2Fgoogle-wave-as-a-replacement-of-notes-databases%2F&amp;source=masteringwave&amp;style=normal&amp;service=bit.ly" height="61" width="50" /><br />
			</a>
		</div>
<p><img class="alignright size-full wp-image-561" title="database" src="http://www.masteringwave.com/wp-content/uploads/2009/12/8956688_5e767acdb4_m.jpg" alt="database" width="240" height="140" />I was talking a person how was using Lotus Notes to administrate some of their interfaces towards the users. That made me think if Google Wave can replace Lotus Notes.</p>
<p>I have been using Notes 6.5 and seen some of their databases. I did try to create some databases/application back in Notes 5. I was not really great at creating the applications. Some of the companies I have worked with have been using Notes to mange parts of their enterprise. Some use notes to employees easy has access to create new customers instead of using the more complex SAP screen for it. Or to build workflow applications to make the approval process of new customers easier than developing the same in SAP. I have also seen Databases with extract from SAP, where Notes just was a different interface.</p>
<p>I have not see how the newest version of Notes 8.5 works, but a lot of improvements should have been implemented to make it even more user friendly. I have always seen Notes as a system which was not really user friendly. The previous versions of Notes mail solution was not worth using compared to outlook, but the new version should be better. So I have always thought the killer app of notes was the many databases you could create and not the mail feature.</p>
<p>Lotus Notes is like Wave a collaborative software, which helps many people work together. I don&#8217;t think it is possible to edit documents together. But Notes has the Instant messaging feture, which works nicely together with the email contact. I see Notes databases as a strong force that it has the option of synchronization to off-line work.</p>
<p>Can you create an application on Google Wave to perform the same as you would to in a Notes database? Lots of the examples that I have created like the <a href="http://www.masteringwave.com/2009/08/workflow-and-forms-in-wave/">workflow and form demo</a>, <a href="http://www.masteringwave.com/2009/09/new-sap-es-demo-creating-service-requests/">es-robot</a> could be examples an example of where an application was exposed on Wave instead of the ERP system. That is basically what Notes also does.</p>
<p>Wave is not a good container for lots of unstructured data. In the instance we want to have our customers in Google Wave, we can either create a Wave pr customer or we can create one Wave with all the customers. The best would probably to have one Wave pr customer. It will be easy to find a specific customer using the search function, for name or street. But if we need all customers in the northern part of Zeeland ie post numbers 1000-3000 it will be difficult. You could tag the customers with lots of different tags like area, this will require a structured approach to create the customers.</p>
<p>When you have found the customer you want to perform an action on there could be a form making it possible to create order in a new Wave or a link to the Wave of previous orders.</p>
<p>It would be interesting to have all orders in Wave. I don&#8217;t think that it will create so much value, because you can just find them but not do anything with them. I think that it will be a bit deficult to make a great Wave robot/gadget for analizing changing sales orders. From my experiacnes with sales orders is that they are quite complex, when you use scheduling and have different processes for handling them.</p>
<p>But back to the question if  Wave will replace Lotus notes. I think that companies what to have their data more structured, which Lotus Notes supports best. In university I learned about the semi structured data, but I don&#8217;t see that it adopted on a massive scale.  On a longer sight there might be a swift toward using unstructured data to store data unstructured, with the structured data in the ERP system. I think Wave could be one of the places where Notes databases should be dropped.</p>
<p>If the development APIs for Wave became better to make applications, it would probably be easier to expose your data in Wave.</p>
<p>Image  <a href="http://www.flickr.com/photos/forresto/"><strong>fo.ol</strong></a></p>
<div id="_mcePaste" style="overflow: hidden; position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px;">http://www.masteringwave.com/2009/08/workflow-and-forms-in-wave/</div>


<p>No related posts.</p>
<p>Related posts brought to you by <a href='http://mitcho.com/code/yarpp/'>Yet Another Related Posts Plugin</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://www.masteringwave.com/2009/12/google-wave-as-a-replacement-of-notes-databases/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>The productive Wave system</title>
		<link>http://www.masteringwave.com/2009/10/the-productive-wave-system/</link>
		<comments>http://www.masteringwave.com/2009/10/the-productive-wave-system/#comments</comments>
		<pubDate>Thu, 01 Oct 2009 08:48:35 +0000</pubDate>
		<dc:creator>Daniel Graversen</dc:creator>
				<category><![CDATA[Architecture]]></category>
		<category><![CDATA[Beginner]]></category>
		<category><![CDATA[production]]></category>
		<category><![CDATA[welcome]]></category>

		<guid isPermaLink="false">http://www.masteringwave.com/?p=321</guid>
		<description><![CDATA[I just logged into my new Wave today, I wanted to share what I have learned so fair. Invitations are not sent all at once, but it seems like invitations are rolling out in batched. I still have not received an invitation one of my wave accounts. There are some differences between the sandbox and [...]


No related posts.

Related posts brought to you by <a href='http://mitcho.com/code/yarpp/'>Yet Another Related Posts Plugin</a>.]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.masteringwave.com%2F2009%2F10%2Fthe-productive-wave-system%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.masteringwave.com%2F2009%2F10%2Fthe-productive-wave-system%2F&amp;source=masteringwave&amp;style=normal&amp;service=bit.ly" height="61" width="50" /><br />
			</a>
		</div>
<p>I just logged into my new Wave today, I wanted to share what I have learned so fair.
</p>
<p>Invitations are not sent all at once, but it seems like invitations are rolling out in batched. I still have not received an invitation one of my wave accounts.
</p>
<p>There are some differences between the sandbox and the productive system. First the logo is from a &#8220;dev preview&#8221; to just a &#8220;preview&#8221;. Is preview then before beta?
</p>
<div>
<table style="border-collapse:collapse" border="0">
<colgroup>
<col style="width:326px"/>
<col style="width:326px"/></colgroup>
<tbody valign="top">
<tr>
<td style="padding-left: 7px; padding-right: 7px">
<p><img src="http://www.masteringwave.com/wp-content/uploads/2009/10/100109_0848_Theproducti1.png" alt=""/></p>
</td>
<td style="padding-left: 7px; padding-right: 7px">
<p><img src="http://www.masteringwave.com/wp-content/uploads/2009/10/100109_0848_Theproducti2.png" alt=""/></p>
</td>
</tr>
<tr>
<td style="padding-left: 7px; padding-right: 7px">
<p>Wavesandbox.com</p>
</td>
<td style="padding-left: 7px; padding-right: 7px">
<p>Googlewave.com</p>
</td>
</tr>
</tbody>
</table>
</div>
<p>The debug menus are gone. In the Sandbox it was possible to see call a debug menu, from where it was possible to see information about the wave. The menu was mostly used for inserting gadgets to the wave; it is now possible to from the menu. The debug is also removed from the blips. Using this function it was possible to see the raw content of the wave. This was very useful, when developing to the wave.
</p>
<p>I had two waves in my inbox. One welcome wave with Docter Wave, how had made a short video on how to get started with Wave. These waves are read only, so they have managed to add that feature somehow. It is not possible to everyone else to change this. There is also a link to wave, which contains some videos for how Wave can be used. This is an excellent guide to get started.
</p>
<p><object width="425" height="344"><param name="movie" value="http://www.youtube.com/v/YiGdUmvPRy8&#038;hl=en&#038;fs=1&#038;"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/YiGdUmvPRy8&#038;hl=en&#038;fs=1&#038;" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"></embed></object></p>
<p>The other wave is to send invites. You can enter a mail on how you want to invite. Google will then send out the invitations when the system is stable.  So you cannot get you peers on wave yet. Google will probably see how the system scales before; they add the potential 800.000 users from just 30.000 in the sandbox.
</p>
<p>The way you update your profile is also much easier. There is a wave you can use to add this information. Just select All waves and find the wave with your profile. In this wave you can edit your profile really easy.
</p>
<p><img src="http://www.masteringwave.com/wp-content/uploads/2009/10/100109_0848_Theproducti3.png" alt=""/>
	</p>
<p>Google has also made room for waves for Extension Settings and Setting for the wave. So all configuration is performed inside waves. Using this type of waves for configuration also makes it possible for third parties to have configuration waves. That way you only need to be in one place to configure your application.</p>


<p>No related posts.</p>
<p>Related posts brought to you by <a href='http://mitcho.com/code/yarpp/'>Yet Another Related Posts Plugin</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://www.masteringwave.com/2009/10/the-productive-wave-system/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Robots in .NET</title>
		<link>http://www.masteringwave.com/2009/09/robots-in-net/</link>
		<comments>http://www.masteringwave.com/2009/09/robots-in-net/#comments</comments>
		<pubDate>Mon, 28 Sep 2009 22:11:53 +0000</pubDate>
		<dc:creator>Daniel Graversen</dc:creator>
				<category><![CDATA[Architecture]]></category>

		<guid isPermaLink="false">http://www.masteringwave.com/?p=298</guid>
		<description><![CDATA[I&#8217;m not a .NET coder, but I&#8217;m always keen to see new libraries for creating Google Wave Robots. Dagfinn Parnas had linked to the project which creates Robots in .NET Jonathan Skeet has created a project for developing robots in .NET. Obvious .NET is not supported to run on the App Engine yet. I would [...]


No related posts.

Related posts brought to you by <a href='http://mitcho.com/code/yarpp/'>Yet Another Related Posts Plugin</a>.]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.masteringwave.com%2F2009%2F09%2Frobots-in-net%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.masteringwave.com%2F2009%2F09%2Frobots-in-net%2F&amp;source=masteringwave&amp;style=normal&amp;service=bit.ly" height="61" width="50" /><br />
			</a>
		</div>
<p><img src="http://www.masteringwave.com/wp-content/uploads/2009/09/csharpcoderobot-238x300.png" alt="csharpcoderobot" title="csharpcoderobot" width="238" height="300" class="alignleft size-medium wp-image-301" />
<p>I&#8217;m not a .NET coder, but I&#8217;m always keen to see new libraries for creating <a href="http://code.google.com/p/wave-robot-net-client/">Google Wave Robots</a>. Dagfinn Parnas had linked to the <a href="http://twitter.com/dparnas/status/4448359873">project</a> which creates Robots in .NET
</p>
<p><a href="http://code.google.com/u/jonathan.skeet/">Jonathan Skeet</a> has created a project for developing robots in .NET. Obvious .NET is not supported to run on the App Engine yet. I would guess that Google will not support .NET on App Engine. I don&#8217;t know if anybody are working on creating a C# Java compiler, so C# can be run from a Java environment.
</p>
<p>To use .NET Jonathan is instead using the <a href="http://code.google.com/p/downy/">Downy</a> to forward all request to the .NET server. Jonathan has created a <a href="http://code.google.com/p/wave-robot-net-client/wiki/GettingStarted">nice guide</a> to deploy Downy to the AppEngine. I guess that Downy also can be used for other projects, where you don&#8217;t want to use the AppEngine for your robots. As I can see Downy just forwards the plain http requests to the .NET server. Downy can also be used to run robots in Ruby or Grails hosted outside the Appengine, which can be necessary for some applications.
</p>
<p>The code for the Robot API looks much like the Java API and parses all the JSON using one of standard library for parsing. It looks fairly easy to use and you should be able to follow most of the Java tutorials. Expanding the Robot library to more languages, will make it much easier for developer to choose their favorite language.
</p>
<p>
 </p>
<p>  </p>


<p>No related posts.</p>
<p>Related posts brought to you by <a href='http://mitcho.com/code/yarpp/'>Yet Another Related Posts Plugin</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://www.masteringwave.com/2009/09/robots-in-net/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Designing robots</title>
		<link>http://www.masteringwave.com/2009/09/designing-robots/</link>
		<comments>http://www.masteringwave.com/2009/09/designing-robots/#comments</comments>
		<pubDate>Tue, 08 Sep 2009 14:53:17 +0000</pubDate>
		<dc:creator>Daniel Graversen</dc:creator>
				<category><![CDATA[Architecture]]></category>
		<category><![CDATA[modelling]]></category>
		<category><![CDATA[robots]]></category>
		<category><![CDATA[wave]]></category>

		<guid isPermaLink="false">http://www.masteringwave.com/2009/09/designing-robots/</guid>
		<description><![CDATA[I was just trying to design a robot that I would like to show for a demo. I needed somehow way to describe how the robot would interact with the user. As so many other times I found the Whiteboard very useful. With the whiteboard is it possible draw with different colors for each participant. [...]


No related posts.

Related posts brought to you by <a href='http://mitcho.com/code/yarpp/'>Yet Another Related Posts Plugin</a>.]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.masteringwave.com%2F2009%2F09%2Fdesigning-robots%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.masteringwave.com%2F2009%2F09%2Fdesigning-robots%2F&amp;source=masteringwave&amp;style=normal&amp;service=bit.ly" height="61" width="50" /><br />
			</a>
		</div>
<p>I was just trying to design a robot that I would like to show for a demo. I needed somehow way to describe how the robot would interact with the user.
</p>
<p><img align="left" src="http://www.masteringwave.com/wp-content/uploads/2009/09/090809_1453_Designingro1.png" alt=""/>
	</p>
<p>As so many other times I found the Whiteboard very useful. With the whiteboard is it possible draw with different colors for each participant. By using this method it will be possible to see the resulting Wave. The resulting wave will give an impression if the content is sufficient.
</p>
<p>I would expect that use cases also could be an option, but they would focus more on with what the participants interacted with, not on how the result looked. The use case design is probably still a good idea, to make sure that all interactions are covered,
</p>
<p>Designing such an interacting robot, might be involve many participants. It would be idea if the users cold design the resulting wave, by using Google Wave as the collaborative tool. They should probably create a wavelet, they could collaborate on and one where they could sketch the resulting wave.
</p>
<p>Do you know of any modeling tools or methods, which could be prove useful for designing robots?
</p>
<p>
 </p>
<p>
 </p>


<p>No related posts.</p>
<p>Related posts brought to you by <a href='http://mitcho.com/code/yarpp/'>Yet Another Related Posts Plugin</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://www.masteringwave.com/2009/09/designing-robots/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Workflow applications in Google Wave</title>
		<link>http://www.masteringwave.com/2009/08/workflow-applications-in-google-wave/</link>
		<comments>http://www.masteringwave.com/2009/08/workflow-applications-in-google-wave/#comments</comments>
		<pubDate>Thu, 20 Aug 2009 09:34:45 +0000</pubDate>
		<dc:creator>Daniel Graversen</dc:creator>
				<category><![CDATA[Architecture]]></category>
		<category><![CDATA[Enterprise]]></category>
		<category><![CDATA[bank]]></category>
		<category><![CDATA[forms]]></category>
		<category><![CDATA[google wave]]></category>
		<category><![CDATA[wave]]></category>
		<category><![CDATA[workflow]]></category>

		<guid isPermaLink="false">http://www.masteringwave.com/?p=105</guid>
		<description><![CDATA[One interesting aspect of Google Wave is the way that users can make semi structured workflows. In the workflows everyone can interact with each other in a simple flow manner. The workflow can be created just by adding other people to the conversation, and ask them questions or guide the process. This type of workflow [...]


No related posts.

Related posts brought to you by <a href='http://mitcho.com/code/yarpp/'>Yet Another Related Posts Plugin</a>.]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.masteringwave.com%2F2009%2F08%2Fworkflow-applications-in-google-wave%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.masteringwave.com%2F2009%2F08%2Fworkflow-applications-in-google-wave%2F&amp;source=masteringwave&amp;style=normal&amp;service=bit.ly" height="61" width="50" /><br />
			</a>
		</div>
<p>One interesting aspect of Google Wave is the way that users can make semi structured workflows. In the workflows everyone can interact with each other in a simple flow manner. The workflow can be created just by adding other people to the conversation, and ask them questions or guide the process. This type of workflow can
</p>
<p>But for some workflow instances you want to have the user to follow certain guidelines. You want another person for approve or sign the document, so what there is an agreement for the document. Something like this can also be performed by using voting Gadget. With the help of robots is it possible to make the workflow more structured. I have created a sample workflow application. The application emulates a bank loan submission form.
</p>
<p>The process is as following:
</p>
<ul>
<li>The customer creates a Wave and writes a reason for getting the loan.
</li>
<li> Then he adds the Bank robot. He thereby gets a form to fill in some fields, in a structured manner.
</li>
<li>He submits the form. The robot sends the form to a bank employee. In this case the users &#8220;test&#8221; user for approval. The customer can&#8217;t approve the form, because of access limitations.
</li>
<li>When the bank employee approves the application, the form data can be sent to the backend system.
</li>
</ul>
<p>This workflow is showed in the following video.
</p>
<p><object width="425" height="344"><param name="movie" value="http://www.youtube.com/v/2EuhMUcwCJY"></param>
               <embed src="http://www.youtube.com/v/2EuhMUcwCJY" type="application/x-shockwave-flash" width="425" height="344"></embed></object>
</p>
<p>This is a proff of concept solution and demonstrates that it is possible to build workflows in Wave.
</p>
<p>Using wave for frontend for a workflow engine, will allow the users to interact more with each other. It will give the participants a much better idea of the whole conversation and change the content in the mean time. I believe that this semi structured way for handling workflows is the easiest way to handle many of the tasks in today&#8217;s organizations. You don&#8217;t have to follow the rules completely, but can work the most natural way.
</p>
<p>One problem with Wave workflows is that you don&#8217;t know which workflows you need to take action on. You just have a list of all the Waves, which has changed since you where on the page last time. This could maybe be solved using tags, which each user could search for.
</p>
<p>For some workflows you need very strict or concrete results, like invoice approval. When you need to approve an invoice you need to assign the right cost elements to the different lines, get approval from manager and pay the vendor. This might be an area where the information given is too much structured data, so it is better to handle this in the ERP system.</p>


<p>No related posts.</p>
<p>Related posts brought to you by <a href='http://mitcho.com/code/yarpp/'>Yet Another Related Posts Plugin</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://www.masteringwave.com/2009/08/workflow-applications-in-google-wave/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Architecture for Google Wave applications.</title>
		<link>http://www.masteringwave.com/2009/08/architecture-for-google-wave-applications/</link>
		<comments>http://www.masteringwave.com/2009/08/architecture-for-google-wave-applications/#comments</comments>
		<pubDate>Tue, 18 Aug 2009 13:56:11 +0000</pubDate>
		<dc:creator>Daniel Graversen</dc:creator>
				<category><![CDATA[Architecture]]></category>
		<category><![CDATA[appengine]]></category>
		<category><![CDATA[robots]]></category>
		<category><![CDATA[ruby]]></category>

		<guid isPermaLink="false">http://www.masteringwave.com/?p=100</guid>
		<description><![CDATA[I&#8217;m designing an application for Google Wave, which interacts with the user. The following is the considerations that I have for how the architecture of the application works best. The application that I&#8217;m planning on should consist of a Robot which interacts with the user. The other part of the application should be a web [...]


No related posts.

Related posts brought to you by <a href='http://mitcho.com/code/yarpp/'>Yet Another Related Posts Plugin</a>.]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.masteringwave.com%2F2009%2F08%2Farchitecture-for-google-wave-applications%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.masteringwave.com%2F2009%2F08%2Farchitecture-for-google-wave-applications%2F&amp;source=masteringwave&amp;style=normal&amp;service=bit.ly" height="61" width="50" /><br />
			</a>
		</div>
<p>I&#8217;m designing an application for Google Wave, which interacts with the user. The following is the considerations that I have for how the architecture of the application works best.</p>
<p>The application that I&#8217;m planning on should consist of a Robot which interacts with the user. The other part of the application should be a web application where users can configure how the robot should interact and view status from the waves. There should also be some analytics capabilities. The backend application needs to be rather a little complex to fulfill the requirements.</p>
<p>The most convenient way would be to use appengine, since it is the place that is mostly integrated with Google Wave currently.<span id="more-100"></span></p>
<p>Appengine contains a lot of really nice features for building applications. You just created you application and then you don&#8217;t need to consider how to scale the application, since this is done by Google. This is a huge advantage and you don&#8217;t need to have any resources working with deployment. You can sleep at night, knowing that you cannot do anything to solve problems with the database or the servers. If you are successful and create the application with a lot of growth you just have to pay a little more. You don&#8217;t need to use Amazon EC2 or other cloud servers, where you need to scale you application programmatically via the APIs. Spikes in trafic are also handled without any problems.</p>
<p>I will not place my backend application on Appengine, even though I have the advantages listed above.</p>
<p>One problem is the &#8220;lack&#8221; of support for high performance development languages like Ruby-on-Rails (RoR) or Grails. I have tried to deploy <a href="http://graversen.org/2009/07/22/creating-google-wave-robots-in-grails/">Grails</a> applications to Appengine. There are still some problems with getting all the features working like they do with hibernate. I also ran into problems, where the application worked on the development server, but not on the Appengine because of the whiteliste.</p>
<p>There is also a <a href="http://code.google.com/p/appengine-jruby/wiki/GettingStarted">project</a> for getting Jruby to work on Appengine. It mostly looks like Ruby works with Sinatra, a smaller framework than Rails. I would suspect that there is still some way to go, before the Jruby and Appengine works just as easy as the standalone version.</p>
<p>If it is not possible to use one of these frameworks, development will take longer time. Also the application will be less flexible be more difficult to maintain.</p>
<p>I want to develop the backend application in Ruby-on-Rails, since this is the place, where I have found most resources on how to create scalable applications. The plugins also is of a high quality.</p>
<p>All the developers in the organization are Java developers, so Groovy and Grails would be the obvious choice to learn. I just don&#8217;t find the same size of community and quality of plugins. I think we also could have success with Grails applications.</p>
<p>The application that, I planning to building, will have some of analytics capabilities. The Appengine datastorage does not allow summarizations of data like with SQL &#8220;<em>select plant, sum(stock) from x group by plant</em>&#8220;. Therefore the application should fetch all the data objects and then calculate the sum. The datastorage also have a limit on the number of entries it can return. Thought I read on the Appengine <a href="http://googleappengine.blogspot.com/2009/08/recent-happenings-ticktock-parallel.html">blog</a>, that it was possible to perform queries in parallel, at least on python.</p>
<p>So how do I then plan to make this architecture work? Currently it is only possible to make robots, which runs on Appengine. This restriction will be removed at some point, and the robots can be created directly in the (G)rails application.</p>
<p>But I want to create an application which is ready, soon after wave is release of Wave to the public. So we need to get started already. To make this happen, I think the best architecture is create the deployment like the following.</p>
<p><img src="http://www.masteringwave.com/wp-content/uploads/2009/08/081809_1356_Architectur1.png" alt="" width="468" height="138" /></p>
<p>I&#8217;m planning on building the robots on Appengine. The robots have access to the backend data using REST, which should be easy to create in Ruby-on-Rails. We can then use Appengine datastorage and memcache for optimizing the robot. The other alternative is to create a proxy on the Appengine, which sends the posts to our Rails applications.</p>
<p>I need to find a way to get the Ruby-on-Rails application hosted, but there are plenty of resources for this. An even we are optimistic, we will probably not scale to more than 10 servers.</p>
<p>There will also be a problem with how we can do deployment of applications, when we rollout new releases. The release need to be synchronized both to the Rails application on a robot on Appengine.</p>
<p>There will be an issue with finding the right place to business logic in the robots. I&#8217;m currently not sure on how this can work out.</p>
<p>I would like to know if you think that I&#8217;m on a wild goose chaise with my architecture.  Will I have more success with developing the application on Appengine.</p>


<p>No related posts.</p>
<p>Related posts brought to you by <a href='http://mitcho.com/code/yarpp/'>Yet Another Related Posts Plugin</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://www.masteringwave.com/2009/08/architecture-for-google-wave-applications/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

