WaveCamp soup http://wavecamp.soup.io/ WaveCamp soup http://wavecamp.soup.io/ http://d.asset.soup.io/asset/0466/6605_2857.png 103 67 Wave Technology Sharing Blog - jeder kann Wave Technolgie Wissen an dieser Stelle mitsammeln - deutsch/englisch - powered by http://wavecamp.mixxt.org [wavecamp] Introducing Apache Wave {"tags":[],"type":"regular","title":"\u003Ca href=\"http://feedproxy.google.com/~r/GoogleWaveDeveloperBlog/~3/1vIb3TsvV9g/introducing-apache-wave.html\"\u003EIntroducing Apache Wave\u003C/a\u003E","source":"http://feedproxy.google.com/~r/GoogleWaveDeveloperBlog/~3/1vIb3TsvV9g/introducing-apache-wave.html","body":"One of the best outcomes from November's \u003Ca href=\"http://googlewavedev.blogspot.com/2010/11/this-weeks-wave-protocol-summit-updates.html\"\u003EWave Protocol Summit\u003C/a\u003E was a \u003Ca href=\"http://wiki.apache.org/incubator/WaveProposal\"\u003Eproposal\u003C/a\u003E for Wave to enter the \u003Ca href=\"http://apache.org/\"\u003EApache\u003C/a\u003E Software Foundation's \u003Ca href=\"http://incubator.apache.org/\"\u003Eincubator\u003C/a\u003E program. Apache has a fantastic reputation for fostering healthy open source communities that create great software. Last week, that proposal was accepted, and we're spinning up the project infrastructure so that the community can continue to grow in the Apache way. \u003Cbr /\u003E\u003Cbr /\u003E\nDuring the summit, it became quite clear that there is a healthy community of startups, independent developers, and industry partners enthusiastic to continue development of the Wave Federation protocols and Wave in a Box product. We've posted \u003Ca href=\"http://www.waveprotocol.org/wave-protocol-summit/wave-summit-talks\"\u003Evideos\u003C/a\u003E of the technical talks and demos presented throughout the summit so that those who couldn't make it to San Francisco needn't miss out.\u003Cbr /\u003E\u003Cbr /\u003E\n\nThe final days of the summit were dedicated to technical design and coding. Progress since then includes significant improvements to the wave panel, visual enhancements to the login pages, gadgets hooked up and working, improved development set-up and documentation, and a \u003Ca href=\"http://www.waveprotocol.org/protocol/design-proposals/http-based-federation-protocol\"\u003Edraft\u003C/a\u003E HTTP transport for wave federation.\u003Cbr /\u003E\u003Cbr /\u003E\n\nIn recognition of this work, we're proud to announce that the open source project leadership is expanding to include a number of new committers from outside Google: Tad Glines, Michael McFadden (Solute), James Purser, Ian Roughley (Novell), Anthony Watkins (SESI), and Torben Weis (University Duisburg-Essen). They are joining graduated Google interns Joseph Gentle and Lennard de Rijk as trusted contributors who have demonstrated high quality code and valuable design insight.\u003Cbr /\u003E\u003Cbr /\u003E\n\n\nThe creation of Apache Wave will serve to accelerate the growth of the existing community with strong open source processes. If you'd like to get involved, please join the Apache Wave mailing list (send an email to wave-dev-subscribe@incubator.apache.org). We're looking forward to working with you.\u003Cbr /\u003E\u003Cbr /\u003E\n\n\n\n\u003Cspan class=\"post-author\"\u003EPosted by Alex North, Software Engineer, Google Wave team \u003C/span\u003E\u003Cdiv class=\"blogger-post-footer\"\u003E\u003Cimg src=\"https://blogger.googleusercontent.com/tracker/7938035922388048219-5311697211198060903?l=googlewavedev.blogspot.com\" height=\"1\" alt=\"\" width=\"1\" /\u003E\u003C/div\u003E\u003Cimg src=\"http://feeds.feedburner.com/~r/GoogleWaveDeveloperBlog/~4/1vIb3TsvV9g\" height=\"1\" width=\"1\" /\u003E"} One of the best outcomes from November's <a href="http://googlewavedev.blogspot.com/2010/11/this-weeks-wave-protocol-summit-updates.html">Wave Protocol Summit</a> was a <a href="http://wiki.apache.org/incubator/WaveProposal">proposal</a> for Wave to enter the <a href="http://apache.org/">Apache</a> Software Foundation's <a href="http://incubator.apache.org/">incubator</a> program. Apache has a fantastic reputation for fostering healthy open source communities that create great software. Last week, that proposal was accepted, and we're spinning up the project infrastructure so that the community can continue to grow in the Apache way. <br /><br /> During the summit, it became quite clear that there is a healthy community of startups, independent developers, and industry partners enthusiastic to continue development of the Wave Federation protocols and Wave in a Box product. We've posted <a href="http://www.waveprotocol.org/wave-protocol-summit/wave-summit-talks">videos</a> of the technical talks and demos presented throughout the summit so that those who couldn't make it to San Francisco needn't miss out.<br /><br /> The final days of the summit were dedicated to technical design and coding. Progress since then includes significant improvements to the wave panel, visual enhancements to the login pages, gadgets hooked up and working, improved development set-up and documentation, and a <a href="http://www.waveprotocol.org/protocol/design-proposals/http-based-federation-protocol">draft</a> HTTP transport for wave federation.<br /><br /> In recognition of this work, we're proud to announce that the open source project leadership is expanding to include a number of new committers from outside Google: Tad Glines, Michael McFadden (Solute), James Purser, Ian Roughley (Novell), Anthony Watkins (SESI), and Torben Weis (University Duisburg-Essen). They are joining graduated Google interns Joseph Gentle and Lennard de Rijk as trusted contributors who have demonstrated high quality code and valuable design insight.<br /><br /> The creation of Apache Wave will serve to accelerate the growth of the existing community with strong open source processes. If you'd like to get involved, please join the Apache Wave mailing list (send an email to <a href="mailto:wave-dev-subscribe@incubator.apache.org">wave-dev-subscribe@incubator.apache.org</a>). We're looking forward to working with you.<br /><br /> <span class="post-author">Posted by Alex North, Software Engineer, Google Wave team </span><div class="blogger-post-footer"><img src="https://blogger.googleusercontent.com/tracker/7938035922388048219-5311697211198060903?l=googlewavedev.blogspot.com" height="1" alt="" width="1" /></div><img src="http://feeds.feedburner.com/~r/GoogleWaveDeveloperBlog/~4/1vIb3TsvV9g" height="1" width="1" />Tue, 07 Dec 2010 01:02:32 GMThttp://wavecamp.soup.io/post/92500320/Introducing-Apache-Waveurn:www-soup-io:1:92500320regular [wavecamp] This Week's Wave Protocol Summit: Updates {"tags":[],"type":"regular","title":"\u003Ca href=\"http://feedproxy.google.com/~r/GoogleWaveDeveloperBlog/~3/KGiTkN-6qdk/this-weeks-wave-protocol-summit-updates.html\"\u003EThis Week's Wave Protocol Summit: Updates\u003C/a\u003E","source":"http://feedproxy.google.com/~r/GoogleWaveDeveloperBlog/~3/KGiTkN-6qdk/this-weeks-wave-protocol-summit-updates.html","body":"\u003Cp\u003EWe've just wrapped up day 3 of this week's \u003Ca href=\"http://www.waveprotocol.org/wave-protocol-summit\"\u003EWave Protocol Summit\u003C/a\u003E in San Francisco. Developers and industry partners have gathered from all over the world to discuss the architecture of Wave, opportunities for use in enterprise, government, and consumer technology, and the future of the open source project. The last few days have included a great mix of architecture presentations, technical discussions, and interesting demos using Wave technology (\u003Ca href=\"http://wavelook.com/\"\u003EWaveLook\u003C/a\u003E, \u003Ca href=\"http://www.youtube.com/watch?v=KFaUrDFjERM\u0026amp;feature=player_embedded\"\u003ENovell Vibe\u003C/a\u003E, \u003Ca href=\"http://wave-vs.net/\"\u003EWave-vs.net\u003C/a\u003E, and others).\u003C/p\u003E\n\n\u003Cp\u003ESince the \u003Ca href=\"http://googlewavedev.blogspot.com/2010/09/wave-open-source-next-steps-wave-in-box.html\"\u003EWave in a Box announcement\u003C/a\u003E in September, progress has been rapid. We've recently added: \u003C/p\u003E\u003Cul\u003E\u003Cli\u003Ea new \u003Ca href=\"http://www.waveprotocol.org/protocol/design-proposals/new-wave-panel-undercurrent\"\u003Ewave panel\u003C/a\u003E, which is much prettier and a lot faster,\u003C/li\u003E\u003Cli\u003Eimprovements to \u003Ca href=\"http://www.waveprotocol.org/protocol/design-proposals/authentication\"\u003Elogin and authentication\u003C/a\u003E,\u003C/li\u003E\u003Cli\u003E\u003Ca href=\"http://google-opensource.blogspot.com/2010/11/adding-robots-to-wave-in-box.html\"\u003Erobot and data API support\u003C/a\u003E,\u003C/li\u003E\u003Cli\u003Esupport for \u003Ca href=\"http://code.google.com/apis/wave/extensions/gadgets/guide.html\"\u003EWave Gadgets\u003C/a\u003E,\u003C/li\u003E\u003Cli\u003E\u003Ca href=\"http://www.waveprotocol.org/code\"\u003Enew setup, installation guides and tutorials\u003C/a\u003E,\u003C/li\u003E\u003Cli\u003Esupport for browers without websocket support (via \u003Ca href=\"http://code.google.com/p/socketio-java/\"\u003Esocket.io\u003C/a\u003E),\u003C/li\u003E\u003Cli\u003Edesigns for a \u003Ca href=\"http://www.waveprotocol.org/protocol/design-proposals/wave-store-design-for-wave-in-a-box\"\u003Efile-based wave store\u003C/a\u003E, and\u003C/li\u003E\u003Cli\u003Esupport for federation between instances of Wave in a Box (and \u003Ca href=\"http://wavesandbox.com/\"\u003Ewavesandbox.com\u003C/a\u003E).\u003C/li\u003E\u003C/ul\u003E\u003Cp\u003E\u003C/p\u003E\n\n\u003Ca href=\"http://1.bp.blogspot.com/_TinOg0_YgIQ/TNtNcDRXRvI/AAAAAAAATXk/aDfmqBA0yjo/s1600/wiab.png\"\u003E\u003Cimg src=\"http://1.bp.blogspot.com/_TinOg0_YgIQ/TNtNcDRXRvI/AAAAAAAATXk/aDfmqBA0yjo/s320/wiab.png\" alt=\"\" /\u003E\u003C/a\u003E\u003Cdiv\u003E\u003Cspan class=\"Apple-style-span\"\u003EWave in a Box \"out of the box\"\u003C/span\u003E\u003C/div\u003E\n\n\u003Cp\u003EYou can keep up to date by following the \u003Ca href=\"https://wave.google.com/wave/#restored:wave:googlewave.com/w+tYBKatJxA\"\u003EProgress Reports wave\u003C/a\u003E.\u003C/p\u003E\n\n\u003Cp\u003EFor the rest of this week we'll be hacking on Wave in a Box, helping new contributors tackle some \u003Ca href=\"http://www.waveprotocol.org/code/starter-projects\"\u003Estarter projects\u003C/a\u003E, resolving \u003Ca href=\"http://code.google.com/p/wave-protocol/issues/list\"\u003Eopen issues\u003C/a\u003E, and adding even more functionality.\u003C/p\u003E\n\n\u003Cp\u003EAs a reminder, we'll continue running \u003Ca href=\"http://wave.google.com/\"\u003Ewave.google.com\u003C/a\u003E at least through the end of the year. We've also recently introduced a \u003Ca href=\"http://googlewave.blogspot.com/2010/11/exporting-your-waves.html\"\u003Ewave export feature\u003C/a\u003E. In addition, we're working on ways for you to access waves through Google Docs and we hope to share more on our progress soon.\u003C/p\u003E\n\n\u003Cp\u003EIf you're following along from home, we'll be sharing videos following the event -- but please join us in the \u003Ca href=\"http://groups.google.com/group/wave-protocol/\"\u003EWave Protocol group\u003C/a\u003E.\u003C/p\u003E\u003Cbr /\u003E\n\n\u003Cspan class=\"post-author\"\u003EPosted by Dan Peterson, Product Manager\u003C/span\u003E\u003Cdiv class=\"blogger-post-footer\"\u003E\u003Cimg src=\"https://blogger.googleusercontent.com/tracker/7938035922388048219-2121884782119103805?l=googlewavedev.blogspot.com\" height=\"1\" alt=\"\" width=\"1\" /\u003E\u003C/div\u003E\u003Cimg src=\"http://feeds.feedburner.com/~r/GoogleWaveDeveloperBlog/~4/KGiTkN-6qdk\" height=\"1\" width=\"1\" /\u003E"} <p>We've just wrapped up day 3 of this week's <a href="http://www.waveprotocol.org/wave-protocol-summit">Wave Protocol Summit</a> in San Francisco. Developers and industry partners have gathered from all over the world to discuss the architecture of Wave, opportunities for use in enterprise, government, and consumer technology, and the future of the open source project. The last few days have included a great mix of architecture presentations, technical discussions, and interesting demos using Wave technology (<a href="http://wavelook.com/">WaveLook</a>, <a href="http://www.youtube.com/watch?v=KFaUrDFjERM&amp;feature=player_embedded">Novell Vibe</a>, <a href="http://wave-vs.net/">Wave-vs.net</a>, and others).</p> <p>Since the <a href="http://googlewavedev.blogspot.com/2010/09/wave-open-source-next-steps-wave-in-box.html">Wave in a Box announcement</a> in September, progress has been rapid. We've recently added: </p><ul><li>a new <a href="http://www.waveprotocol.org/protocol/design-proposals/new-wave-panel-undercurrent">wave panel</a>, which is much prettier and a lot faster,</li><li>improvements to <a href="http://www.waveprotocol.org/protocol/design-proposals/authentication">login and authentication</a>,</li><li><a href="http://google-opensource.blogspot.com/2010/11/adding-robots-to-wave-in-box.html">robot and data API support</a>,</li><li>support for <a href="http://code.google.com/apis/wave/extensions/gadgets/guide.html">Wave Gadgets</a>,</li><li><a href="http://www.waveprotocol.org/code">new setup, installation guides and tutorials</a>,</li><li>support for browers without websocket support (via <a href="http://code.google.com/p/socketio-java/">socket.io</a>),</li><li>designs for a <a href="http://www.waveprotocol.org/protocol/design-proposals/wave-store-design-for-wave-in-a-box">file-based wave store</a>, and</li><li>support for federation between instances of Wave in a Box (and <a href="http://wavesandbox.com/">wavesandbox.com</a>).</li></ul><p></p> <a href="http://1.bp.blogspot.com/_TinOg0_YgIQ/TNtNcDRXRvI/AAAAAAAATXk/aDfmqBA0yjo/s1600/wiab.png"><img src="http://1.bp.blogspot.com/_TinOg0_YgIQ/TNtNcDRXRvI/AAAAAAAATXk/aDfmqBA0yjo/s320/wiab.png" alt="" /></a><div><span class="Apple-style-span">Wave in a Box "out of the box"</span></div> <p>You can keep up to date by following the <a href="https://wave.google.com/wave/#restored:wave:googlewave.com/w+tYBKatJxA">Progress Reports wave</a>.</p> <p>For the rest of this week we'll be hacking on Wave in a Box, helping new contributors tackle some <a href="http://www.waveprotocol.org/code/starter-projects">starter projects</a>, resolving <a href="http://code.google.com/p/wave-protocol/issues/list">open issues</a>, and adding even more functionality.</p> <p>As a reminder, we'll continue running <a href="http://wave.google.com/">wave.google.com</a> at least through the end of the year. We've also recently introduced a <a href="http://googlewave.blogspot.com/2010/11/exporting-your-waves.html">wave export feature</a>. In addition, we're working on ways for you to access waves through Google Docs and we hope to share more on our progress soon.</p> <p>If you're following along from home, we'll be sharing videos following the event -- but please join us in the <a href="http://groups.google.com/group/wave-protocol/">Wave Protocol group</a>.</p><br /> <span class="post-author">Posted by Dan Peterson, Product Manager</span><div class="blogger-post-footer"><img src="https://blogger.googleusercontent.com/tracker/7938035922388048219-2121884782119103805?l=googlewavedev.blogspot.com" height="1" alt="" width="1" /></div><img src="http://feeds.feedburner.com/~r/GoogleWaveDeveloperBlog/~4/KGiTkN-6qdk" height="1" width="1" />Thu, 11 Nov 2010 02:27:45 GMThttp://wavecamp.soup.io/post/87199479/This-Weeks-Wave-Protocol-Summit-Updatesurn:www-soup-io:1:87199479regular [wavecamp] Join us at the Wave Protocol Summit {"tags":[],"type":"regular","title":"\u003Ca href=\"http://feedproxy.google.com/~r/GoogleWaveDeveloperBlog/~3/PMsEpN3WUg0/wave-protocol-summit-november-8-12th.html\"\u003EJoin us at the Wave Protocol Summit\u003C/a\u003E","source":"http://feedproxy.google.com/~r/GoogleWaveDeveloperBlog/~3/PMsEpN3WUg0/wave-protocol-summit-november-8-12th.html","body":"\u003Cp\u003EThe \u003Ca href=\"http://googlewavedev.blogspot.com/2010/09/wave-open-source-next-steps-wave-in-box.html\"\u003EWave in a Box\u003C/a\u003E project is shaping up well and we're now posting regular progress reports to the group forum (the most recent is \u003Ca href=\"https://groups.google.com/group/wave-protocol/browse_thread/thread/6bde65dd8d4ee1d8/6ffde83a0f624a55\"\u003Ehere\u003C/a\u003E). We've also created a list of \u003Ca href=\"http://www.waveprotocol.org/code/starter-projects\"\u003Estarter projects\u003C/a\u003E, easy tasks for developers to get started contributing to the codebase. You can chat with some of the Wave engineers at the upcoming online office hours (in Google Wave). The next one is on Monday (Tuesday down under) - details are \u003Ca href=\"http://groups.google.com/group/wave-protocol/browse_thread/thread/5763f3033d447120\"\u003Ein the forum\u003C/a\u003E.\u003C/p\u003E \n \n\u003Cp\u003ETo bring the developer community together we are hosting a Wave Protocol Summit in San Francisco, November 2010. Through the summit we aim to grow the Wave developer community, share technical knowledge, and discuss the future of Wave technology and its community. The summit will be targeted towards technical people interested in using, contributing to, or building on Wave technology. Content will include:\n\u003C/p\u003E\u003Cul\u003E\n\u003Cli\u003Etechnical talks on specific aspects of Wave technology,\n\u003C/li\u003E\u003Cli\u003Eproblem solving around open technical issues,\n\u003C/li\u003E\u003Cli\u003Ediscussions about project organisation and governance, and\n\u003C/li\u003E\u003Cli\u003Egroup coding sessions (fun!).\n\u003C/li\u003E\u003C/ul\u003E\n\u003Cp\u003E\u003C/p\u003E \n \n\u003Cp\u003EThe summit will be three days of talks and discussion (November 8 - 10) followed by two days of coding (November 11 - 12) on Wave in a Box and federation. We're still working out the detailed schedule, so stay tuned to the forums for further details (and give your feedback).\u003C/p\u003E \n \n\u003Cp\u003EIf you would like to join us, you can \u003Ca href=\"https://spreadsheets.google.com/viewform?formkey=dGFwZDBFMlpfRWhyWVk4LTZQRXJNM2c6MA\"\u003Erequest a seat\u003C/a\u003E (due to capacity constraints, we'll confirm your seat in the coming weeks). To help improve the summit, please also suggest or request session content of particular interest to you.\u003C/p\u003E \n \n\u003Cp\u003EIn the meantime, see you on the forums!\u003C/p\u003E \n \u003Cbr /\u003E\n\u003Cspan class=\"post-author\"\u003EPosted by Alex North, Google Wave team.\u003C/span\u003E\u003Cdiv class=\"blogger-post-footer\"\u003E\u003Cimg src=\"https://blogger.googleusercontent.com/tracker/7938035922388048219-2365508760148787115?l=googlewavedev.blogspot.com\" height=\"1\" alt=\"\" width=\"1\" /\u003E\u003C/div\u003E\u003Cimg src=\"http://feeds.feedburner.com/~r/GoogleWaveDeveloperBlog/~4/PMsEpN3WUg0\" height=\"1\" width=\"1\" /\u003E"} <p>The <a href="http://googlewavedev.blogspot.com/2010/09/wave-open-source-next-steps-wave-in-box.html">Wave in a Box</a> project is shaping up well and we're now posting regular progress reports to the group forum (the most recent is <a href="https://groups.google.com/group/wave-protocol/browse_thread/thread/6bde65dd8d4ee1d8/6ffde83a0f624a55">here</a>). We've also created a list of <a href="http://www.waveprotocol.org/code/starter-projects">starter projects</a>, easy tasks for developers to get started contributing to the codebase. You can chat with some of the Wave engineers at the upcoming online office hours (in Google Wave). The next one is on Monday (Tuesday down under) - details are <a href="http://groups.google.com/group/wave-protocol/browse_thread/thread/5763f3033d447120">in the forum</a>.</p> <p>To bring the developer community together we are hosting a Wave Protocol Summit in San Francisco, November 2010. Through the summit we aim to grow the Wave developer community, share technical knowledge, and discuss the future of Wave technology and its community. The summit will be targeted towards technical people interested in using, contributing to, or building on Wave technology. Content will include: </p><ul> <li>technical talks on specific aspects of Wave technology, </li><li>problem solving around open technical issues, </li><li>discussions about project organisation and governance, and </li><li>group coding sessions (fun!). </li></ul> <p></p> <p>The summit will be three days of talks and discussion (November 8 - 10) followed by two days of coding (November 11 - 12) on Wave in a Box and federation. We're still working out the detailed schedule, so stay tuned to the forums for further details (and give your feedback).</p> <p>If you would like to join us, you can <a href="https://spreadsheets.google.com/viewform?formkey=dGFwZDBFMlpfRWhyWVk4LTZQRXJNM2c6MA">request a seat</a> (due to capacity constraints, we'll confirm your seat in the coming weeks). To help improve the summit, please also suggest or request session content of particular interest to you.</p> <p>In the meantime, see you on the forums!</p> <br /> <span class="post-author">Posted by Alex North, Google Wave team.</span><div class="blogger-post-footer"><img src="https://blogger.googleusercontent.com/tracker/7938035922388048219-2365508760148787115?l=googlewavedev.blogspot.com" height="1" alt="" width="1" /></div><img src="http://feeds.feedburner.com/~r/GoogleWaveDeveloperBlog/~4/PMsEpN3WUg0" height="1" width="1" />Mon, 04 Oct 2010 22:43:55 GMThttp://wavecamp.soup.io/post/80342315/Join-us-at-the-Wave-Protocol-Summiturn:www-soup-io:1:80342315regular [wavecamp] Wave open source next steps: "Wave in a Box" {"tags":[],"type":"regular","title":"\u003Ca href=\"http://feedproxy.google.com/~r/GoogleWaveDeveloperBlog/~3/ORZNNtRyOOE/wave-open-source-next-steps-wave-in-box.html\"\u003EWave open source next steps: \"Wave in a Box\"\u003C/a\u003E","source":"http://feedproxy.google.com/~r/GoogleWaveDeveloperBlog/~3/ORZNNtRyOOE/wave-open-source-next-steps-wave-in-box.html","body":"Since the \u003Ca href=\"http://googleblog.blogspot.com/2010/08/update-on-google-wave.html\"\u003Eannouncement that we will discontinue development\u003C/a\u003E of Google Wave as a standalone product, many people have asked us about the future of the open source code and Wave federation protocol. After spending some time on \u003Ca href=\"http://googlewave.blogspot.com/2010/08/quick-note-on-next-steps-for-google.html\"\u003Efiguring out our next steps\u003C/a\u003E, we'd like to share the plan for our contributions over the coming months.\u003Cdiv\u003E\u003Cp\u003E\n\n\nWe will expand upon the 200K lines of code we've already open sourced (detailed at \u003Ca href=\"http://waveprotocol.org/\"\u003Ewaveprotocol.org\u003C/a\u003E) to flesh out the existing example Wave server and web client into a more complete application or \"Wave in a Box.\" \u003C/p\u003E\u003Cp\u003E\n\n\nThis project will include:\n\u003C/p\u003E\u003Cul\u003E\u003Cli\u003Ean application bundle including a server and web client supporting real-time collaboration using the same structured conversations as the Google Wave system\u003C/li\u003E\u003Cli\u003Ea fast and fully-featured wave panel in the web client with complete support for threaded conversations\u003C/li\u003E\u003Cli\u003Ea persistent wave store and search implementation for the server (building on contributed patches to implement a MongoDB store)\u003C/li\u003E\u003Cli\u003Erefinements to the client-server protocols\u003C/li\u003E\u003Cli\u003Egadget, robot and data API support \u003C/li\u003E\u003Cli\u003Esupport for importing wave data from \u003Ca href=\"http://wave.google.com/\"\u003Ewave.google.com\u003C/a\u003E\u003C/li\u003E\u003Cli\u003Ethe ability to federate across other Wave in a Box instances, with some additional configuration\u003C/li\u003E\u003C/ul\u003EThis project will not have the full functionality of Google Wave as you know it today. However, we intend to give developers and enterprising users an opportunity to run wave servers and host waves on their own hardware. \u003Cp\u003E\u003C/p\u003E\u003Cp\u003E\n\n\nSince the beginning, it has been our vision that the Google Wave protocols could support a new generation of communication and collaboration tools. The response from the developer community to date has been amazing and rewarding. Even more so now, we believe that developers and \u003Ca href=\"http://googlewavedev.blogspot.com/2010/06/wave-federation-keeps-growing-rich-text.html\"\u003Eother projects\u003C/a\u003E are a critical part of this story. \u003C/p\u003E\u003Cp\u003E\n\n\nWhile Wave in a Box will be a functional application, the future of Wave will be defined by your contributions. We hope this project will help the Wave developer community continue to grow and evolve. We'll discuss more technical details of our plan on the \u003Ca href=\"https://groups.google.com/group/wave-protocol?pli=1\"\u003EWave Protocol Forum\u003C/a\u003E, which is the best place to keep up with the latest progress on the open source project and learn how you can contribute. \u003C/p\u003E\u003Cp\u003E\n\n\n\nWave on \u003C/p\u003E\u003Cp\u003E\n\n\n\u003C/p\u003E\u003Cdiv\u003E\n\u003Cspan class=\"post-author\"\u003EPosted by Alex North, Software Engineer, Google Wave team \u003C/span\u003E\u003C/div\u003E\u003Cp\u003E\u003C/p\u003E\u003C/div\u003E\u003Cdiv class=\"blogger-post-footer\"\u003E\u003Cimg src=\"https://blogger.googleusercontent.com/tracker/7938035922388048219-5465656544619947203?l=googlewavedev.blogspot.com\" height=\"1\" alt=\"\" width=\"1\" /\u003E\u003C/div\u003E\u003Cimg src=\"http://feeds.feedburner.com/~r/GoogleWaveDeveloperBlog/~4/ORZNNtRyOOE\" height=\"1\" width=\"1\" /\u003E"} Since the <a href="http://googleblog.blogspot.com/2010/08/update-on-google-wave.html">announcement that we will discontinue development</a> of Google Wave as a standalone product, many people have asked us about the future of the open source code and Wave federation protocol. After spending some time on <a href="http://googlewave.blogspot.com/2010/08/quick-note-on-next-steps-for-google.html">figuring out our next steps</a>, we'd like to share the plan for our contributions over the coming months.<div><p> We will expand upon the 200K lines of code we've already open sourced (detailed at <a href="http://waveprotocol.org/">waveprotocol.org</a>) to flesh out the existing example Wave server and web client into a more complete application or "Wave in a Box." </p><p> This project will include: </p><ul><li>an application bundle including a server and web client supporting real-time collaboration using the same structured conversations as the Google Wave system</li><li>a fast and fully-featured wave panel in the web client with complete support for threaded conversations</li><li>a persistent wave store and search implementation for the server (building on contributed patches to implement a MongoDB store)</li><li>refinements to the client-server protocols</li><li>gadget, robot and data API support </li><li>support for importing wave data from <a href="http://wave.google.com/">wave.google.com</a></li><li>the ability to federate across other Wave in a Box instances, with some additional configuration</li></ul>This project will not have the full functionality of Google Wave as you know it today. However, we intend to give developers and enterprising users an opportunity to run wave servers and host waves on their own hardware. <p></p><p> Since the beginning, it has been our vision that the Google Wave protocols could support a new generation of communication and collaboration tools. The response from the developer community to date has been amazing and rewarding. Even more so now, we believe that developers and <a href="http://googlewavedev.blogspot.com/2010/06/wave-federation-keeps-growing-rich-text.html">other projects</a> are a critical part of this story. </p><p> While Wave in a Box will be a functional application, the future of Wave will be defined by your contributions. We hope this project will help the Wave developer community continue to grow and evolve. We'll discuss more technical details of our plan on the <a href="https://groups.google.com/group/wave-protocol?pli=1">Wave Protocol Forum</a>, which is the best place to keep up with the latest progress on the open source project and learn how you can contribute. </p><p> Wave on </p><p> </p><div> <span class="post-author">Posted by Alex North, Software Engineer, Google Wave team </span></div><p></p></div><div class="blogger-post-footer"><img src="https://blogger.googleusercontent.com/tracker/7938035922388048219-5465656544619947203?l=googlewavedev.blogspot.com" height="1" alt="" width="1" /></div><img src="http://feeds.feedburner.com/~r/GoogleWaveDeveloperBlog/~4/ORZNNtRyOOE" height="1" width="1" />Fri, 03 Sep 2010 01:17:33 GMThttp://wavecamp.soup.io/post/74571851/Wave-open-source-next-steps-Wave-inurn:www-soup-io:1:74571851regular [wavecamp] Upcoming Wave Talks: Michigan &amp; Washington, DC {"tags":[],"type":"regular","title":"\u003Ca href=\"http://feedproxy.google.com/~r/GoogleWaveDeveloperBlog/~3/mP7IJYEhLQg/upcoming-wave-api-talks-michigan.html\"\u003EUpcoming Wave Talks: Michigan \u0026amp; Washington, DC\u003C/a\u003E","source":"http://feedproxy.google.com/~r/GoogleWaveDeveloperBlog/~3/mP7IJYEhLQg/upcoming-wave-api-talks-michigan.html","body":"\u003Cp\u003EEvery so often, I leave this beautiful city of Sydney, Australia and depart for foreign lands to meet developers from around the world. This time, I'm heading to the states and dropping by two \u003Ca href=\"http://gtugs.org/\"\u003EGTUGs\u003C/a\u003E (Google Technology User Groups) to talk about Google Wave and the APIs:\u003C/p\u003E \n\u003Cul\u003E\n\u003Cli\u003E\u003Cp\u003E\u003Ca href=\"https://sites.google.com/site/dcgtug/home\"\u003EDC GTUG\u003C/a\u003E\u003Cbr /\u003EWashington, DC\u003Cbr /\u003EAugust 10, 6pm\u003C/p\u003E\u003C/li\u003E\n\u003Cli\u003E\u003Cp\u003E\u003Ca href=\"http://migtug.eventbrite.com/\"\u003EMichigan GTUG\u003C/a\u003E\u003Cbr /\u003ESouthfield, MI\u003Cbr /\u003EAugust 12, 6:30pm\u003C/p\u003E \n\u003C/li\u003E\n\u003C/ul\u003E\n\u003Cp\u003EAfter the GTUG talks, I'll also be swinging by the \u003Ca href=\"http://gtug-campout-2010.eventbrite.com/\"\u003EHTML5 GTUG campout\u003C/a\u003E in San Francisco, setting up waves for the teams to document their progress and ask questions.\u003C/p\u003E \n\u003Cp\u003EIf you're in the area, I hope to see you there!\u003C/p\u003E\n\u003Cbr /\u003E\n\u003Cspan class=\"post-author\"\u003EPosted by Pamela Fox, Developer Relations\u003C/span\u003E\u003Cdiv class=\"blogger-post-footer\"\u003E\u003Cimg src=\"https://blogger.googleusercontent.com/tracker/7938035922388048219-3717859526834668410?l=googlewavedev.blogspot.com\" height=\"1\" alt=\"\" width=\"1\" /\u003E\u003C/div\u003E\u003Cimg src=\"http://feeds.feedburner.com/~r/GoogleWaveDeveloperBlog/~4/mP7IJYEhLQg\" height=\"1\" width=\"1\" /\u003E"} <p>Every so often, I leave this beautiful city of Sydney, Australia and depart for foreign lands to meet developers from around the world. This time, I'm heading to the states and dropping by two <a href="http://gtugs.org/">GTUGs</a> (Google Technology User Groups) to talk about Google Wave and the APIs:</p> <ul> <li><p><a href="https://sites.google.com/site/dcgtug/home">DC GTUG</a><br />Washington, DC<br />August 10, 6pm</p></li> <li><p><a href="http://migtug.eventbrite.com/">Michigan GTUG</a><br />Southfield, MI<br />August 12, 6:30pm</p> </li> </ul> <p>After the GTUG talks, I'll also be swinging by the <a href="http://gtug-campout-2010.eventbrite.com/">HTML5 GTUG campout</a> in San Francisco, setting up waves for the teams to document their progress and ask questions.</p> <p>If you're in the area, I hope to see you there!</p> <br /> <span class="post-author">Posted by Pamela Fox, Developer Relations</span><div class="blogger-post-footer"><img src="https://blogger.googleusercontent.com/tracker/7938035922388048219-3717859526834668410?l=googlewavedev.blogspot.com" height="1" alt="" width="1" /></div><img src="http://feeds.feedburner.com/~r/GoogleWaveDeveloperBlog/~4/mP7IJYEhLQg" height="1" width="1" />Tue, 03 Aug 2010 03:51:40 GMThttp://wavecamp.soup.io/post/68806931/Upcoming-Wave-Talks-Michigan-amp-Washington-DCurn:www-soup-io:1:68806931regular [wavecamp] Wave Visualizer: Turning Threads into Trees {"tags":[],"type":"regular","title":"\u003Ca href=\"http://feedproxy.google.com/~r/GoogleWaveDeveloperBlog/~3/DtPPux4TQJ0/wave-visualizer-turning-trees-into.html\"\u003EWave Visualizer: Turning Threads into Trees\u003C/a\u003E","source":"http://feedproxy.google.com/~r/GoogleWaveDeveloperBlog/~3/DtPPux4TQJ0/wave-visualizer-turning-trees-into.html","body":"\u003Cp\u003ETwo years ago, I discovered the \u003Ca href=\"http://thejit.org/\"\u003EJavaScript InfoVis Toolkit\u003C/a\u003E, a really cool library for doing visualizations in Javascript, like force-directed graphs, hypertree, treemaps, sunbursts, and more. Since then, I've been looking for an excuse to use the library in conjunction with a Google API, and after our latest API release, I found the perfect use.\u003C/p\u003E \n \n\u003Cp\u003EA few weeks ago, we released a new feature in the data and robot APIs: threads. This feature means that developers can render threaded waves in alternative clients and export waves to other formats while retaining their true structure. It also means that I can finally use the InfoVis Toolkit, in order to visualize the threads in a wave as a structured tree.\u003C/p\u003E \n \n\u003Cp\u003ETo create the visualization, I started with the code for the \u003Ca href=\"http://wave-samples-gallery.appspot.com/about_app?app_id=266001\"\u003EInbox Checker\u003C/a\u003E sample, a Python App Engine app that asks a user to authenticate (via OAuth), and then shows them their inbox and any wave they click on. I modified that app to output JSON instead of HTML for each wave, and I piped that JSON into the \u003Ca href=\"http://thejit.org/static/v20/Docs/files/Visualizations/Spacetree-js.html\"\u003ESpaceTree\u003C/a\u003E class from the toolkit.\u003C/p\u003E \n \n\u003Cp\u003EHere's an side-by-side example of how a wave might look like in the client, and what it looks like as a SpaceTree:\u003C/p\u003E \n\u003Cbr /\u003E\n\n\u003Cimg src=\"http://2.bp.blogspot.com/_T1lquhCmKo8/TFNlRYDzkqI/AAAAAAAADcE/jICtOuVO59w/wavevisualizer_sidebyside.png\" /\u003E\n\u003Cbr /\u003E\n\u003Cp\u003EYou can try the app out for yourself here: \u003Ca href=\"http://wave-visualizer.appspot.com/\"\u003EWave Visualizer\u003C/a\u003E. After granting access to the app, you can click each of the waves in your inbox and browse the tree for it. As you mouse over each blip, you'll see a snippet of the content of the blip in the tooltip. When you click on a blip, you'll be taken to that exact blip in the Wave client, utilizing our other new feature: \u003Ca href=\"http://wave-api-faq.appspot.com/#bliplinking\"\u003Eblip linking\u003C/a\u003E.\u003Cbr /\u003E(You can also try out the \"Timeline\" view, which shows the sequence of blips over time, using the \u003Ca href=\"http://code.google.com/apis/visualization/documentation/gallery/annotatedtimeline.html\"\u003EGoogle Visualization API\u003C/a\u003E).\u003C/p\u003E \n \n\u003Cp\u003EThis app shows off one of my favorite features of Wave - flexibly structured conversations. Some waves are very flat long trees, and others are wide and deeply nested, and they are all made possible by the \u003Ca href=\"http://www.youtube.com/watch?v=ydsSFMB4SFI\"\u003EWave conversation model\u003C/a\u003E. And now, thanks to the new \u003Ca href=\"http://code.google.com/apis/wave/wavedata/\"\u003EWave data APIs\u003C/a\u003E, apps like this are possible.\u003C/p\u003E \n \n\u003Cp\u003EEnjoy playing around with the visualizer, and if you have any questions about building apps like it, stop by \u003Ca href=\"http://code.google.com/apis/wave/forum.html\"\u003Ethe Wave API forum\u003C/a\u003E and let us know!\u003C/p\u003E\n\n\u003Cbr /\u003E\n\u003Cspan class=\"post-author\"\u003EPosted by Pamela Fox, Developer Relations\u003C/span\u003E\u003Cdiv class=\"blogger-post-footer\"\u003E\u003Cimg src=\"https://blogger.googleusercontent.com/tracker/7938035922388048219-8599130216816050091?l=googlewavedev.blogspot.com\" height=\"1\" alt=\"\" width=\"1\" /\u003E\u003C/div\u003E\u003Cimg src=\"http://feeds.feedburner.com/~r/GoogleWaveDeveloperBlog/~4/DtPPux4TQJ0\" height=\"1\" width=\"1\" /\u003E"} <p>Two years ago, I discovered the <a href="http://thejit.org/">JavaScript InfoVis Toolkit</a>, a really cool library for doing visualizations in Javascript, like force-directed graphs, hypertree, treemaps, sunbursts, and more. Since then, I've been looking for an excuse to use the library in conjunction with a Google API, and after our latest API release, I found the perfect use.</p> <p>A few weeks ago, we released a new feature in the data and robot APIs: threads. This feature means that developers can render threaded waves in alternative clients and export waves to other formats while retaining their true structure. It also means that I can finally use the InfoVis Toolkit, in order to visualize the threads in a wave as a structured tree.</p> <p>To create the visualization, I started with the code for the <a href="http://wave-samples-gallery.appspot.com/about_app?app_id=266001">Inbox Checker</a> sample, a Python App Engine app that asks a user to authenticate (via OAuth), and then shows them their inbox and any wave they click on. I modified that app to output JSON instead of HTML for each wave, and I piped that JSON into the <a href="http://thejit.org/static/v20/Docs/files/Visualizations/Spacetree-js.html">SpaceTree</a> class from the toolkit.</p> <p>Here's an side-by-side example of how a wave might look like in the client, and what it looks like as a SpaceTree:</p> <br /> <img src="http://2.bp.blogspot.com/_T1lquhCmKo8/TFNlRYDzkqI/AAAAAAAADcE/jICtOuVO59w/wavevisualizer_sidebyside.png" /> <br /> <p>You can try the app out for yourself here: <a href="http://wave-visualizer.appspot.com/">Wave Visualizer</a>. After granting access to the app, you can click each of the waves in your inbox and browse the tree for it. As you mouse over each blip, you'll see a snippet of the content of the blip in the tooltip. When you click on a blip, you'll be taken to that exact blip in the Wave client, utilizing our other new feature: <a href="http://wave-api-faq.appspot.com/#bliplinking">blip linking</a>.<br />(You can also try out the "Timeline" view, which shows the sequence of blips over time, using the <a href="http://code.google.com/apis/visualization/documentation/gallery/annotatedtimeline.html">Google Visualization API</a>).</p> <p>This app shows off one of my favorite features of Wave - flexibly structured conversations. Some waves are very flat long trees, and others are wide and deeply nested, and they are all made possible by the <a href="http://www.youtube.com/watch?v=ydsSFMB4SFI">Wave conversation model</a>. And now, thanks to the new <a href="http://code.google.com/apis/wave/wavedata/">Wave data APIs</a>, apps like this are possible.</p> <p>Enjoy playing around with the visualizer, and if you have any questions about building apps like it, stop by <a href="http://code.google.com/apis/wave/forum.html">the Wave API forum</a> and let us know!</p> <br /> <span class="post-author">Posted by Pamela Fox, Developer Relations</span><div class="blogger-post-footer"><img src="https://blogger.googleusercontent.com/tracker/7938035922388048219-8599130216816050091?l=googlewavedev.blogspot.com" height="1" alt="" width="1" /></div><img src="http://feeds.feedburner.com/~r/GoogleWaveDeveloperBlog/~4/DtPPux4TQJ0" height="1" width="1" />Fri, 30 Jul 2010 23:54:55 GMThttp://wavecamp.soup.io/post/68287869/Wave-Visualizer-Turning-Threads-into-Treesurn:www-soup-io:1:68287869regular [wavecamp] Wave UI: Making your gadgets look &amp; feel Wave-y {"tags":[],"type":"regular","title":"\u003Ca href=\"http://feedproxy.google.com/~r/GoogleWaveDeveloperBlog/~3/cn2_0unak28/wave-ui-making-your-gadgets-look-feel.html\"\u003EWave UI: Making your gadgets look \u0026amp; feel Wave-y\u003C/a\u003E","source":"http://feedproxy.google.com/~r/GoogleWaveDeveloperBlog/~3/cn2_0unak28/wave-ui-making-your-gadgets-look-feel.html","body":"\u003Cp\u003EAs part of my Google I/O talk on \"\u003Ca href=\"http://www.youtube.com/watch?v=tXKidPYCEzQ\"\u003EAnatomy of a Great Extension\u003C/a\u003E\", I talked about the optimal look \u0026amp; feel for Wave gadgets. On one hand, if your Wave gadget is based off an existing website, like the 6Rounds gadget, then we recommend mimicing the UI of your website inside the gadget, so that your existing users feel like they're using an extension of your website into Wave. On the other hand, if your Wave gadget is independent and designed purely for Wave, like many extensions in the gallery, then we suggest mimicing the UI of the Google Wave client itself, so that users feel like the gadgets fit inside their environment, and so that waves with multiple independent gadgets look cohesive. To make that easier for developers, we've introduced a new feature to the Wave Gadgets API, the \u003Ca href=\"http://code.google.com/apis/wave/extensions/gadgets/guide.html#waveui\"\u003Ewave.ui library\u003C/a\u003E, which makes it easy to turn your gadget elements into wave-styled elements.\u003C/p\u003E \n \n\u003Cp\u003EFor example, you might start with an anchor with some javascript onclick behavior:\u003Cbr /\u003E\n\u003C/p\u003E\u003Cpre class=\"code\"\u003E\n\u0026lt;a id=\"button\" href=\"javascript:void(0)\" onclick=\"doIt()\"\u0026gt;Do Cool Stuff!\u0026lt;/a\u0026gt;\n\u003C/pre\u003E\n\u003Cspan\u003E\u003C/span\u003E\u003Cp\u003E\u003C/p\u003E \n \n\u003Cp\u003EYou can then call makeButton and pass in the anchor element:\u003Cbr /\u003E\n\u003C/p\u003E\u003Cpre class=\"code\"\u003E\n\u0026lt;script\u0026gt;\nwave.ui.makeButton(document.getElementById(\"button\"));\n\u0026lt;/script\u0026gt;\n\u003C/pre\u003E\n\u003Cspan\u003E\n\u003Cbr /\u003EAnd, presto, your button will be wave-styled like this:\u003C/span\u003E\u003Cp\u003E\u003C/p\u003E \n \n\u003Cp\u003E\n\u003Cimg src=\"http://1.bp.blogspot.com/_T1lquhCmKo8/TFIoLmTeopI/AAAAAAAADb8/_QJaMdf-hIw/s400/waveuimakebutton.png\" alt=\"\" /\u003E\n\u003C/p\u003E \n \n\u003Cp\u003EThe wave.ui library also offers the \u003Cspan\u003EloadCss\u003C/span\u003E\u003Cspan\u003E, \u003C/span\u003E\u003Cspan\u003EmakeDialog\u003C/span\u003E\u003Cspan\u003E, and \u003C/span\u003E\u003Cspan\u003EmakeFrame\u003C/span\u003E\u003Cspan\u003E methods, and will expand to include additional methods as needed by developers.\u003C/span\u003E\u003C/p\u003E \n \n\u003Cp\u003EFor examples of gadgets using the new wave.ui library, check out the \u003Ca href=\"https://wave.google.com/wave/waveref/googlewave.com/w+sYRTy7ZkCT3\"\u003EFlammard bible bot\u003C/a\u003E, which uses \u003Cspan\u003EmakeFrame \u003C/span\u003E\u003Cspan\u003Efor a multi-tabbed interface, or the \u003Ca href=\"https://wave.google.com/wave/waveref/googlewave.com/w+R8RbkhA9C\"\u003EGoogle Maps gadget\u003C/a\u003E, which uses \u003C/span\u003E\u003Cspan\u003EmakeDialog \u003C/span\u003E\u003Cspan\u003Efor a welcome screen and \u003C/span\u003E\u003Cspan\u003EmakeButton \u003C/span\u003Efor the info window buttons.\u003C/p\u003E \n \n\u003Cp\u003EAs usual, please let us know in \u003Ca href=\"http://code.google.com/apis/wave/forum.html\"\u003Ethe forum\u003C/a\u003E how you're using this feature and if you have any questions.\u003C/p\u003E \n \n\u003Cp\u003EEnjoy wave-styling!\u003C/p\u003E\n\u003Cbr /\u003E\n\u003Cspan class=\"post-author\"\u003EPosted by Pamela Fox, Developer Relations\u003C/span\u003E\u003Cdiv class=\"blogger-post-footer\"\u003E\u003Cimg src=\"https://blogger.googleusercontent.com/tracker/7938035922388048219-4134202163792708643?l=googlewavedev.blogspot.com\" height=\"1\" alt=\"\" width=\"1\" /\u003E\u003C/div\u003E\u003Cimg src=\"http://feeds.feedburner.com/~r/GoogleWaveDeveloperBlog/~4/cn2_0unak28\" height=\"1\" width=\"1\" /\u003E"} <p>As part of my Google I/O talk on "<a href="http://www.youtube.com/watch?v=tXKidPYCEzQ">Anatomy of a Great Extension</a>", I talked about the optimal look &amp; feel for Wave gadgets. On one hand, if your Wave gadget is based off an existing website, like the 6Rounds gadget, then we recommend mimicing the UI of your website inside the gadget, so that your existing users feel like they're using an extension of your website into Wave. On the other hand, if your Wave gadget is independent and designed purely for Wave, like many extensions in the gallery, then we suggest mimicing the UI of the Google Wave client itself, so that users feel like the gadgets fit inside their environment, and so that waves with multiple independent gadgets look cohesive. To make that easier for developers, we've introduced a new feature to the Wave Gadgets API, the <a href="http://code.google.com/apis/wave/extensions/gadgets/guide.html#waveui">wave.ui library</a>, which makes it easy to turn your gadget elements into wave-styled elements.</p> <p>For example, you might start with an anchor with some javascript onclick behavior:<br /> </p><pre class="code"> &lt;a id="button" href="javascript:void(0)" onclick="doIt()"&gt;Do Cool Stuff!&lt;/a&gt; </pre> <span></span><p></p> <p>You can then call makeButton and pass in the anchor element:<br /> </p><pre class="code"> &lt;script&gt; wave.ui.makeButton(document.getElementById("button")); &lt;/script&gt; </pre> <span> <br />And, presto, your button will be wave-styled like this:</span><p></p> <p> <img src="http://1.bp.blogspot.com/_T1lquhCmKo8/TFIoLmTeopI/AAAAAAAADb8/_QJaMdf-hIw/s400/waveuimakebutton.png" alt="" /> </p> <p>The wave.ui library also offers the <span>loadCss</span><span>, </span><span>makeDialog</span><span>, and </span><span>makeFrame</span><span> methods, and will expand to include additional methods as needed by developers.</span></p> <p>For examples of gadgets using the new wave.ui library, check out the <a href="https://wave.google.com/wave/waveref/googlewave.com/w+sYRTy7ZkCT3">Flammard bible bot</a>, which uses <span>makeFrame </span><span>for a multi-tabbed interface, or the <a href="https://wave.google.com/wave/waveref/googlewave.com/w+R8RbkhA9C">Google Maps gadget</a>, which uses </span><span>makeDialog </span><span>for a welcome screen and </span><span>makeButton </span>for the info window buttons.</p> <p>As usual, please let us know in <a href="http://code.google.com/apis/wave/forum.html">the forum</a> how you're using this feature and if you have any questions.</p> <p>Enjoy wave-styling!</p> <br /> <span class="post-author">Posted by Pamela Fox, Developer Relations</span><div class="blogger-post-footer"><img src="https://blogger.googleusercontent.com/tracker/7938035922388048219-4134202163792708643?l=googlewavedev.blogspot.com" height="1" alt="" width="1" /></div><img src="http://feeds.feedburner.com/~r/GoogleWaveDeveloperBlog/~4/cn2_0unak28" height="1" width="1" />Fri, 30 Jul 2010 01:22:48 GMThttp://wavecamp.soup.io/post/68180371/Wave-UI-Making-your-gadgets-look-ampurn:www-soup-io:1:68180371regular [wavecamp] Building Wave Gadgets with GWT {"tags":[],"type":"regular","title":"\u003Ca href=\"http://feedproxy.google.com/~r/GoogleWaveDeveloperBlog/~3/kjMKSpyXhHk/building-wave-gadgets-with-gwt.html\"\u003EBuilding Wave Gadgets with GWT\u003C/a\u003E","source":"http://feedproxy.google.com/~r/GoogleWaveDeveloperBlog/~3/kjMKSpyXhHk/building-wave-gadgets-with-gwt.html","body":"\u003Cspan\u003EHilbrand Bouwkamp is an independent internet developer/trainer/presenter specialized in RIA, GWT and Android. He has been following GWT and Wave since it's first release and has created two open source libraries related to GWT and Wave: \u003Ca href=\"http://www.cobogw.org\"\u003Ecobogw\u003C/a\u003E and \u003Ca href=\"http://code.google.com/p/cobogwave\"\u003Ecobogwave\u003C/a\u003E.This blogpost is about the cobogwave library.\u003C/span\u003E \n \n\u003Cp\u003EAs soon as Google Wave was released and I had an account, I wanted to write a Wave Gadget. I believe Gadgets are one of the strengths of Wave because they let you add a structured component to an unstructured communication flow to make things more efficient. For example, a simple date picker Gadget can be added to an event-planning wave, and instead of people having to go to a separate site and communicate their date preferences manually, they can do the date-selection in the wave, and all of the information is stored in a single place. There are many situations like this where gadgets can add structure and keep related information together.\u003C/p\u003E \n \n\u003Cp\u003E\u003Cimg src=\"http://code.google.com/webtoolkit/images/gwt-logo.png\" /\u003ESince the Google Wave client itself is build with \u003Ca href=\"http://code.google.com/webtoolkit/\"\u003EGWT (Google Web Toolkit)\u003C/a\u003E, I thought it to be natural to write a Gadget with GWT. To do that, I needed to wrap the Wave Gadgets JavaScript API with my own GWT JSNI wrapper. Like other GWT gadget developers, I wrote my own wrapper - but I wanted to do it in a way that other developers could benefit from. So, I made sure that my wrapper included all of the Wave Gadgets API functionality, I wrote documentation for it, and I open-sourced it under the Apache 2 license as the \u003Ca href=\"http://code.google.com/p/cobogwave/\"\u003Ecobogwave\u003C/a\u003E library. Now, other developers can skip the wrapper-writing step and simply focus on writing their gadget.\u003C/p\u003E \n \n\u003Cp\u003EThe cobogwave library makes it very easy to build gadgets for Wave. Just like the iGoogle GWT Gadgets API library, it defines a \u003Cspan\u003ENeeds \u003C/span\u003E\u003Cspan\u003Einterface: \u003C/span\u003E\u003Cspan\u003ENeedsWave\u003C/span\u003E. By implementing the interface, you can make your gadget code Wave-enabled. Or, you can simply extend the WaveGadget class for the same effect.\u003C/p\u003E \n \n\u003Cp\u003EGWT developers are accustomed to work with handlers, so the cobogwave library provides much of its functionality via handlers. For example, you can register for the ModeChangeEvent to be notified when the user changes from playback to edit mode, ParticipantUpdateEvent when a new user is added or removed to the wave, and StateUpdateEvent when the gadget receives a new state. The cobogwave library also has support for experimental functionallity in the Wave Gadget library, like the \u003Ca href=\"http://www.bouwkamp.com/?p=107\"\u003EWave UI Widgets Button, Frame and Dialog\u003C/a\u003E.\u003C/p\u003E \n \n\u003Cp\u003ERecently, I was involved in the \u003Ca href=\"http://googlewebtoolkit.blogspot.com/2010/06/google-api-libraries-for-google-web.html\"\u003Elatest release\u003C/a\u003E of the gadgets support in the \u003Ca href=\"http://code.google.com/p/gwt-google-apis\"\u003EGoogle API Libraries for GWT\u003C/a\u003E. In the new version, it's much easier to \u003Ca href=\"http://www.bouwkamp.com/?p=110\"\u003Eimplement RPC calls\u003C/a\u003E to your own server, and this method also works for Wave Gadgets.\u003C/p\u003E \n \n\u003Cp\u003EHere's a sampling of diverse range of gadgets that developers have built using the cobogwave library:\u003C/p\u003E \n\u003Cimg src=\"http://1.bp.blogspot.com/_HrTFtSYIY_8/S9pBtzbVWWI/AAAAAAAAAA8/9XLOJFh9X-c/s200/r4.png\" /\u003E\n\n\u003Cul\u003E\n\u003Cli\u003E\n\u003Ca href=\"http://googlewebtoolkit.blogspot.com/2010/04/tale-of-two-and-more-apps.html\"\u003EShortyz\u003C/a\u003E: Lets you solve crosswords together in a wave - ported from Android code.\n\u003C/li\u003E\u003Cli\u003E\n\u003Ca href=\"http://code.google.com/p/wavemindmap\"\u003EMindMap\u003C/a\u003E: Lets you create an interactive mindmap, and favorite nodes up or down.\n\n\u003C/li\u003E\u003Cli\u003E\n\u003Ca href=\"http://karma.ourproject.org\"\u003EKarma\u003C/a\u003E: Lets participants in a Wave rate each other.\n\u003Cbr /\u003E\n\n\u003C/li\u003E\u003Cli\u003E\n\u003Ca href=\"http://code.google.com/p/pongy\"\u003EPongy\u003C/a\u003E: Lets you play the classic game \"Pong\" with a fellow Wave user. (This last gadget was written by me to showcase the highly interactive possibilities of Wave.)\n\u003C/li\u003E\u003C/ul\u003E\n\u003Cp\u003E\nTo start building your own Wave Gadgets with GWT, visit the \u003Ca href=\"http://code.google.com/p/cobogwave\"\u003Ecobogwave\u003C/a\u003E project page and to keep informed on updates, follow me on \u003Ca href=\"http://www.twitter.com/hilbrand\"\u003ETwitter\u003C/a\u003E.\n\u003C/p\u003E\n\n\u003Cbr /\u003E\n\u003Cspan class=\"post-author\"\u003EPosted by Hilbrand Bouwkamp, Community Developer\u003C/span\u003E\u003Cdiv class=\"blogger-post-footer\"\u003E\u003Cimg src=\"https://blogger.googleusercontent.com/tracker/7938035922388048219-1244770098010843000?l=googlewavedev.blogspot.com\" height=\"1\" alt=\"\" width=\"1\" /\u003E\u003C/div\u003E\u003Cimg src=\"http://feeds.feedburner.com/~r/GoogleWaveDeveloperBlog/~4/kjMKSpyXhHk\" height=\"1\" width=\"1\" /\u003E"} <span>Hilbrand Bouwkamp is an independent internet developer/trainer/presenter specialized in RIA, GWT and Android. He has been following GWT and Wave since it's first release and has created two open source libraries related to GWT and Wave: <a href="http://www.cobogw.org">cobogw</a> and <a href="http://code.google.com/p/cobogwave">cobogwave</a>.This blogpost is about the cobogwave library.</span> <p>As soon as Google Wave was released and I had an account, I wanted to write a Wave Gadget. I believe Gadgets are one of the strengths of Wave because they let you add a structured component to an unstructured communication flow to make things more efficient. For example, a simple date picker Gadget can be added to an event-planning wave, and instead of people having to go to a separate site and communicate their date preferences manually, they can do the date-selection in the wave, and all of the information is stored in a single place. There are many situations like this where gadgets can add structure and keep related information together.</p> <p><img src="http://code.google.com/webtoolkit/images/gwt-logo.png" />Since the Google Wave client itself is build with <a href="http://code.google.com/webtoolkit/">GWT (Google Web Toolkit)</a>, I thought it to be natural to write a Gadget with GWT. To do that, I needed to wrap the Wave Gadgets JavaScript API with my own GWT JSNI wrapper. Like other GWT gadget developers, I wrote my own wrapper - but I wanted to do it in a way that other developers could benefit from. So, I made sure that my wrapper included all of the Wave Gadgets API functionality, I wrote documentation for it, and I open-sourced it under the Apache 2 license as the <a href="http://code.google.com/p/cobogwave/">cobogwave</a> library. Now, other developers can skip the wrapper-writing step and simply focus on writing their gadget.</p> <p>The cobogwave library makes it very easy to build gadgets for Wave. Just like the iGoogle GWT Gadgets API library, it defines a <span>Needs </span><span>interface: </span><span>NeedsWave</span>. By implementing the interface, you can make your gadget code Wave-enabled. Or, you can simply extend the WaveGadget class for the same effect.</p> <p>GWT developers are accustomed to work with handlers, so the cobogwave library provides much of its functionality via handlers. For example, you can register for the ModeChangeEvent to be notified when the user changes from playback to edit mode, ParticipantUpdateEvent when a new user is added or removed to the wave, and StateUpdateEvent when the gadget receives a new state. The cobogwave library also has support for experimental functionallity in the Wave Gadget library, like the <a href="http://www.bouwkamp.com/?p=107">Wave UI Widgets Button, Frame and Dialog</a>.</p> <p>Recently, I was involved in the <a href="http://googlewebtoolkit.blogspot.com/2010/06/google-api-libraries-for-google-web.html">latest release</a> of the gadgets support in the <a href="http://code.google.com/p/gwt-google-apis">Google API Libraries for GWT</a>. In the new version, it's much easier to <a href="http://www.bouwkamp.com/?p=110">implement RPC calls</a> to your own server, and this method also works for Wave Gadgets.</p> <p>Here's a sampling of diverse range of gadgets that developers have built using the cobogwave library:</p> <img src="http://1.bp.blogspot.com/_HrTFtSYIY_8/S9pBtzbVWWI/AAAAAAAAAA8/9XLOJFh9X-c/s200/r4.png" /> <ul> <li> <a href="http://googlewebtoolkit.blogspot.com/2010/04/tale-of-two-and-more-apps.html">Shortyz</a>: Lets you solve crosswords together in a wave - ported from Android code. </li><li> <a href="http://code.google.com/p/wavemindmap">MindMap</a>: Lets you create an interactive mindmap, and favorite nodes up or down. </li><li> <a href="http://karma.ourproject.org">Karma</a>: Lets participants in a Wave rate each other. <br /> </li><li> <a href="http://code.google.com/p/pongy">Pongy</a>: Lets you play the classic game "Pong" with a fellow Wave user. (This last gadget was written by me to showcase the highly interactive possibilities of Wave.) </li></ul> <p> To start building your own Wave Gadgets with GWT, visit the <a href="http://code.google.com/p/cobogwave">cobogwave</a> project page and to keep informed on updates, follow me on <a href="http://www.twitter.com/hilbrand">Twitter</a>. </p> <br /> <span class="post-author">Posted by Hilbrand Bouwkamp, Community Developer</span><div class="blogger-post-footer"><img src="https://blogger.googleusercontent.com/tracker/7938035922388048219-1244770098010843000?l=googlewavedev.blogspot.com" height="1" alt="" width="1" /></div><img src="http://feeds.feedburner.com/~r/GoogleWaveDeveloperBlog/~4/kjMKSpyXhHk" height="1" width="1" />Fri, 16 Jul 2010 03:38:33 GMThttp://wavecamp.soup.io/post/65593309/Building-Wave-Gadgets-with-GWTurn:www-soup-io:1:65593309regular [wavecamp] Behind the Scenes of the Wave API Python Client Library {"tags":[],"type":"regular","title":"\u003Ca href=\"http://feedproxy.google.com/~r/GoogleWaveDeveloperBlog/~3/Yh5OppCiyM0/behind-scenes-of-wave-api-python-client.html\"\u003EBehind the Scenes of the Wave API Python Client Library\u003C/a\u003E","source":"http://feedproxy.google.com/~r/GoogleWaveDeveloperBlog/~3/Yh5OppCiyM0/behind-scenes-of-wave-api-python-client.html","body":"\u003Cp\u003EWhen I heard that Australia was going to have its very own \u003Ca href=\"http://pycon-au.org/2010/about/\"\u003EPyCon\u003C/a\u003E, I knew I wanted to give a talk. While working on the with the Wave APIs over the last year, I've gotten to the point where I'm using the \u003Ca href=\"http://code.google.com/p/wave-robot-python-client/\"\u003EPython client library\u003C/a\u003E on a daily basis, and I've learnt a lot about Python from our library. I wanted to give a talk that would be interesting both to Wave API developers and to Python developers and would force me to dig deeper into the depths of our client library.\u003C/p\u003E \n \n\u003Cp\u003ESo, I presented a talk called \"Wave Robots API: Behind the Scenes\", with the goal of showing how we used Python to abstract on top of our HTTP API. I started with an overview of Google Wave and a quick look at Wave's core technology \u2014 the \u003Ca href=\"http://www.waveprotocol.org/draft-protocol-specs/wave-conversation-model\"\u003Econversation model\u003C/a\u003E and \u003Ca href=\"http://wave-protocol.googlecode.com/hg/whitepapers/operational-transform/operational-transform.html\"\u003Eoperational transformation\u003C/a\u003E algorithm \u2014 so that everyone in the room would be comfortable with me talking about blips, wavelets, operations, and the like. Then I went deep into the robots API, explaining the \u003Ca href=\"http://code.google.com/apis/wave/extensions/robots/protocol.html\"\u003EJSON-RPC protocol\u003C/a\u003E between the Wave server and robots, and showing how the Python client library serializes the JSON into Python objects, how it lets developers register for events, and how it signs outgoing requests using OAuth. I then explained how we designed the client library to be hosting-provider-agnostic, and live demoed \u003Ca href=\"http://pamelafox-samplecode.googlecode.com/svn/trunk/djangobot/\"\u003Ea robot\u003C/a\u003E that I created using the Django framework on a slicehost node. I finished with a summary of the most important features of the client library \u2014 versioning, automation, authentication, flexibility, and \u003Ca href=\"http://faassen.n--tree.net/blog/view/weblog/2005/08/06/0\"\u003Ebeing Pythonic\u003C/a\u003E.\u003C/p\u003E \n \n\u003Cp\u003EBut, hey, if all that sounds interesting to you, you don't have to read about it -- you can watch it! Check out the \u003Ca href=\"http://blip.tv/file/3841401\"\u003Evideo here\u003C/a\u003E, and the \u003Ca href=\"http://prezi.com/_p_ufchsw8wc/wave-robots-api-behind-the-scenes/\"\u003Eslides here\u003C/a\u003E. If you have any questions after watching, just head over to our \u003Ca href=\"http://code.google.com/apis/wave/forum.html\"\u003EGoogle Wave API forum\u003C/a\u003E.\u003C/p\u003E \n\u003Cbr /\u003E\n\n\u003Cspan class=\"post-author\"\u003EPosted by Pamela Fox, Developer Relations\u003C/span\u003E\u003Cdiv class=\"blogger-post-footer\"\u003E\u003Cimg src=\"https://blogger.googleusercontent.com/tracker/7938035922388048219-5254190541607187439?l=googlewavedev.blogspot.com\" height=\"1\" alt=\"\" width=\"1\" /\u003E\u003C/div\u003E\u003Cimg src=\"http://feeds.feedburner.com/~r/GoogleWaveDeveloperBlog/~4/Yh5OppCiyM0\" height=\"1\" width=\"1\" /\u003E"} <p>When I heard that Australia was going to have its very own <a href="http://pycon-au.org/2010/about/">PyCon</a>, I knew I wanted to give a talk. While working on the with the Wave APIs over the last year, I've gotten to the point where I'm using the <a href="http://code.google.com/p/wave-robot-python-client/">Python client library</a> on a daily basis, and I've learnt a lot about Python from our library. I wanted to give a talk that would be interesting both to Wave API developers and to Python developers and would force me to dig deeper into the depths of our client library.</p> <p>So, I presented a talk called "Wave Robots API: Behind the Scenes", with the goal of showing how we used Python to abstract on top of our HTTP API. I started with an overview of Google Wave and a quick look at Wave's core technology — the <a href="http://www.waveprotocol.org/draft-protocol-specs/wave-conversation-model">conversation model</a> and <a href="http://wave-protocol.googlecode.com/hg/whitepapers/operational-transform/operational-transform.html">operational transformation</a> algorithm — so that everyone in the room would be comfortable with me talking about blips, wavelets, operations, and the like. Then I went deep into the robots API, explaining the <a href="http://code.google.com/apis/wave/extensions/robots/protocol.html">JSON-RPC protocol</a> between the Wave server and robots, and showing how the Python client library serializes the JSON into Python objects, how it lets developers register for events, and how it signs outgoing requests using OAuth. I then explained how we designed the client library to be hosting-provider-agnostic, and live demoed <a href="http://pamelafox-samplecode.googlecode.com/svn/trunk/djangobot/">a robot</a> that I created using the Django framework on a slicehost node. I finished with a summary of the most important features of the client library — versioning, automation, authentication, flexibility, and <a href="http://faassen.n--tree.net/blog/view/weblog/2005/08/06/0">being Pythonic</a>.</p> <p>But, hey, if all that sounds interesting to you, you don't have to read about it -- you can watch it! Check out the <a href="http://blip.tv/file/3841401">video here</a>, and the <a href="http://prezi.com/_p_ufchsw8wc/wave-robots-api-behind-the-scenes/">slides here</a>. If you have any questions after watching, just head over to our <a href="http://code.google.com/apis/wave/forum.html">Google Wave API forum</a>.</p> <br /> <span class="post-author">Posted by Pamela Fox, Developer Relations</span><div class="blogger-post-footer"><img src="https://blogger.googleusercontent.com/tracker/7938035922388048219-5254190541607187439?l=googlewavedev.blogspot.com" height="1" alt="" width="1" /></div><img src="http://feeds.feedburner.com/~r/GoogleWaveDeveloperBlog/~4/Yh5OppCiyM0" height="1" width="1" />Thu, 15 Jul 2010 04:06:38 GMThttp://wavecamp.soup.io/post/65415418/Behind-the-Scenes-of-the-Wave-APIurn:www-soup-io:1:65415418regular [wavecamp] Developers Wanted: Help create an open source Wave-based forum {"tags":[],"type":"regular","title":"\u003Ca href=\"http://feedproxy.google.com/~r/GoogleWaveDeveloperBlog/~3/9iEXBrdldtw/developers-wanted-help-create-open.html\"\u003EDevelopers Wanted: Help create an open source Wave-based forum\u003C/a\u003E","source":"http://feedproxy.google.com/~r/GoogleWaveDeveloperBlog/~3/9iEXBrdldtw/developers-wanted-help-create-open.html","body":"\u003Cp\u003E\u003Cspan\u003EDavid Crane is an external Wave developer, involved in the development of the \u003Ca href=\"http://googlewave.blogspot.com/2010/01/debatewise-global-youth-panel-waving-on.html\"\u003EDebatewise extension\u003C/a\u003E. We've invited him to post on this blog to share his vision for an open source project.\u003C/span\u003E\u003C/p\u003E \n \n\u003Cp\u003EA few months ago, the Google Wave team open-sourced the code underlying \u003Ca href=\"http://code.google.com/p/forum-botty/\"\u003EForum Botty\u003C/a\u003E, the robot that is powering the \u003Ca href=\"http://code.google.com/apis/wave/forum.html\"\u003EWave API forum\u003C/a\u003E. We want to continue developing this code base into a powerful and generic extension for running forums in wave, and we're hoping that other developers like you will join us in this project.\u003C/p\u003E \n \n\u003Cp\u003EGoogle Wave offers a number of benefits over traditional forum software, with just its native functionality. However, by incorporating some of the tried-and-tested features from forums into a robot, we could turn Google Wave into the ultimate platform for forum-based discussion.\u003C/p\u003E \n \n\u003Cp\u003EA forum could be a killer app for Wave. It\u2019s a tool that people already use in huge numbers for specific purposes, are used to keeping separate to their email, and will dip in and out of as required. Wave is similar enough for them to jump in quickly and different enough for them to get, and be hooked by, the benefits. A forum removes the need for people to find things to use Wave for and means they could use it even if none of their friends did. Wave could enhance and improve upon some of the most important features of a forum and through acclimatisation, will encourage them to use it for a world of other purposes.\u003C/p\u003E \n \n\u003Cp\u003EThere are three specific areas we believe need developing\u003C/p\u003E \n \n\u003Cp\u003E\u003Cspan\u003EGoal\u003C/span\u003E: Allow people to coalesce around a subject of their choosing and help them find Waves of interest \u003Cbr /\u003E\n\u003Cspan\u003ETasks\u003C/span\u003E: Group waves around subject areas. List the following alongside each Wave title: the total number of blips in the wave (including read/unread), total number of views, date/time of last post and who made the post. Later add ways of rating, sorting and categorising the Wave.\u003C/p\u003E \n \n\u003Cp\u003E\u003Cspan\u003EGoal\u003C/span\u003E: Encourage and reward participation in the conversations\u003Cbr /\u003E\n\u003Cspan\u003ETasks\u003C/span\u003E: Add karma mechanisms, applause and trophies so Waves, blips and users can be rated. Incorporate tiered participation levels and privileges (eg StackOverflow).\u003C/p\u003E \n \n\u003Cp\u003E\u003Cspan\u003EGoal\u003C/span\u003E: Develop trust mechanisms so people can determine who to rely upon or ignore \u003Cbr /\u003E\n\u003Cspan\u003ETasks\u003C/span\u003E: Link waves with Google Profiles (or other profiles), display the user\u2019s trophy cabinet, list all posts by user and their ranking in the community\u003C/p\u003E \n \n\u003Cp\u003EWe\u2019re looking for Python, Java and Javascript developers, QA testers and anyone with an interest in forum software, community building and online discussion. All software will be licensed under Apache 2.0, the same open source licence that Google Wave uses.\u003C/p\u003E \n \n\u003Cp\u003EThis project is organised by \u003Ca href=\"http://Debatewise.org\"\u003EDebatewise.org\u003C/a\u003E, a non-profit debating web site whose goal is to be the Wikipedia of debate. Anyone can create a debate on any subject they like and anyone can edit and strengthen that debate. In this way and over time the debates become stronger, more definitive and an ever-greater resource for anyone looking to make up their mind.\u003C/p\u003E \n \n\u003Cp\u003EIf you're interested in joining the project, please wave me at dh.crane@googlewave.com.\u003C/p\u003E \n\n\u003Cspan class=\"post-author\"\u003EPosted by David Crane, Debatewise\u003C/span\u003E\u003Cdiv class=\"blogger-post-footer\"\u003E\u003Cimg src=\"https://blogger.googleusercontent.com/tracker/7938035922388048219-5590999003673104932?l=googlewavedev.blogspot.com\" height=\"1\" alt=\"\" width=\"1\" /\u003E\u003C/div\u003E\u003Cimg src=\"http://feeds.feedburner.com/~r/GoogleWaveDeveloperBlog/~4/9iEXBrdldtw\" height=\"1\" width=\"1\" /\u003E"} <p><span>David Crane is an external Wave developer, involved in the development of the <a href="http://googlewave.blogspot.com/2010/01/debatewise-global-youth-panel-waving-on.html">Debatewise extension</a>. We've invited him to post on this blog to share his vision for an open source project.</span></p> <p>A few months ago, the Google Wave team open-sourced the code underlying <a href="http://code.google.com/p/forum-botty/">Forum Botty</a>, the robot that is powering the <a href="http://code.google.com/apis/wave/forum.html">Wave API forum</a>. We want to continue developing this code base into a powerful and generic extension for running forums in wave, and we're hoping that other developers like you will join us in this project.</p> <p>Google Wave offers a number of benefits over traditional forum software, with just its native functionality. However, by incorporating some of the tried-and-tested features from forums into a robot, we could turn Google Wave into the ultimate platform for forum-based discussion.</p> <p>A forum could be a killer app for Wave. It’s a tool that people already use in huge numbers for specific purposes, are used to keeping separate to their email, and will dip in and out of as required. Wave is similar enough for them to jump in quickly and different enough for them to get, and be hooked by, the benefits. A forum removes the need for people to find things to use Wave for and means they could use it even if none of their friends did. Wave could enhance and improve upon some of the most important features of a forum and through acclimatisation, will encourage them to use it for a world of other purposes.</p> <p>There are three specific areas we believe need developing</p> <p><span>Goal</span>: Allow people to coalesce around a subject of their choosing and help them find Waves of interest <br /> <span>Tasks</span>: Group waves around subject areas. List the following alongside each Wave title: the total number of blips in the wave (including read/unread), total number of views, date/time of last post and who made the post. Later add ways of rating, sorting and categorising the Wave.</p> <p><span>Goal</span>: Encourage and reward participation in the conversations<br /> <span>Tasks</span>: Add karma mechanisms, applause and trophies so Waves, blips and users can be rated. Incorporate tiered participation levels and privileges (eg StackOverflow).</p> <p><span>Goal</span>: Develop trust mechanisms so people can determine who to rely upon or ignore <br /> <span>Tasks</span>: Link waves with Google Profiles (or other profiles), display the user’s trophy cabinet, list all posts by user and their ranking in the community</p> <p>We’re looking for Python, Java and Javascript developers, QA testers and anyone with an interest in forum software, community building and online discussion. All software will be licensed under Apache 2.0, the same open source licence that Google Wave uses.</p> <p>This project is organised by <a href="http://Debatewise.org">Debatewise.org</a>, a non-profit debating web site whose goal is to be the Wikipedia of debate. Anyone can create a debate on any subject they like and anyone can edit and strengthen that debate. In this way and over time the debates become stronger, more definitive and an ever-greater resource for anyone looking to make up their mind.</p> <p>If you're interested in joining the project, please wave me at <a href="mailto:dh.crane@googlewave.com">dh.crane@googlewave.com</a>.</p> <span class="post-author">Posted by David Crane, Debatewise</span><div class="blogger-post-footer"><img src="https://blogger.googleusercontent.com/tracker/7938035922388048219-5590999003673104932?l=googlewavedev.blogspot.com" height="1" alt="" width="1" /></div><img src="http://feeds.feedburner.com/~r/GoogleWaveDeveloperBlog/~4/9iEXBrdldtw" height="1" width="1" />Tue, 06 Jul 2010 00:21:22 GMThttp://wavecamp.soup.io/post/63827865/Developers-Wanted-Help-create-an-open-sourceurn:www-soup-io:1:63827865regular [wavecamp] Wave Federation Keeps Growing: Rich text editor is open source {"tags":[],"type":"regular","title":"\u003Ca href=\"http://feedproxy.google.com/~r/GoogleWaveDeveloperBlog/~3/9xwetZeLaLs/wave-federation-keeps-growing-rich-text.html\"\u003EWave Federation Keeps Growing: Rich text editor is open source\u003C/a\u003E","source":"http://feedproxy.google.com/~r/GoogleWaveDeveloperBlog/~3/9xwetZeLaLs/wave-federation-keeps-growing-rich-text.html","body":"\u003Cp\u003EAs you may have heard before, the \u003Ca href=\"http://www.waveprotocol.org/\"\u003EGoogle Wave Federation Protocol\u003C/a\u003E is an emerging open protocol for improving communication and collaboration across the web -- not just in a single product. To further propel the community, as part of Google I/O, we open sourced another significant chunk of Google Wave production code (now totaling more than 200,000 lines of code released), including: the in-browser rich text editor, the wave model, and the concurrency control mechanism.\u003C/p\u003E \n \n\u003Cp\u003EThis code release introduces a simple web client for FedOne, which enables you to bring up your own browser-based client running against the FedOne backend, which can then federate over to \u003Ca href=\"http://WaveSandbox.com\"\u003EWaveSandbox.com\u003C/a\u003E. The web client communicates with the FedOne server using an emerging \u003Ca href=\"http://wave-protocol.googlecode.com/hg/whitepapers/client-server-protocol/client-server-protocol.html\"\u003EWebSocket-based client/server protocol\u003C/a\u003E, with the initial documentation in the whitepaper under review. There is even work going on to make an \u003Ca href=\"http://code.google.com/p/wave-client-for-emacs/\"\u003EEmacs client for wave\u003C/a\u003E using this emerging client/server protocol. To get started with your own instance, please read a recent forum post: \u003Ca href=\"http://groups.google.com/group/wave-protocol/browse_thread/thread/fa5e530b29d9215f\"\u003Eexploring the simple web client\u003C/a\u003E, and you may also be interested in reading the \u003Ca href=\"http://code.google.com/p/wave-protocol/wiki/WaveModelCodeWalk\"\u003Ewave model code walk-through\u003C/a\u003E.\u003C/p\u003E \n \n\u003Cp\u003EThere is a growing community of wave providers building on wave technology and the Google Wave Federation Protocol, including SAP StreamWork (demo below, and you can read more about \u003Ca href=\"http://decisionvelocity.net/2010/05/19/watch-that-stream-become-a-wave/\"\u003ESAP StreamWork and the wave protocol\u003C/a\u003E), Novell Pulse (\u003Ca href=\"http://www.novell.com/communities/node/11233/guest-post-novell-pulse-and-google-wave-demonstrating-inter-company-collaboration\"\u003Ehere's a demo\u003C/a\u003E), ProcessOne's \u003Ca href=\"http://www.process-one.net/en/blogs/article/waveone_a_wave_server_by_processone/\"\u003EOneWave\u003C/a\u003E, \u003Ca href=\"http://wave-vs.net\"\u003Ewave-vs.net\u003C/a\u003E\u003Ca href=\"http://pygowave.net/\"\u003E,\u003C/a\u003E and \u003Ca href=\"http://AboutPeers.com\"\u003EAboutPeers.com\u003C/a\u003E. The US Navy also put out a call for proposals earlier in the year (\u003Ca href=\"http://www.acq.osd.mil/osbp/sbir/solicitations/sttr10A/navy10A.pdf\"\u003ENavy Wave RFP\u003C/a\u003E [PDF]). Additionally, there are several open source projects in development as well: \u003Ca href=\"http://pygowave.net/\"\u003EPyGoWave\u003C/a\u003E, \u003Ca href=\"http://code.google.com/p/qwaveclient/\"\u003EQWave\u003C/a\u003E, \u003Ca href=\"http://code.google.com/p/arwave/\"\u003EARWave\u003C/a\u003E, and \u003Ca href=\"http://github.com/danopia/ruby-on-sails\"\u003ERuby on Sails\u003C/a\u003E.\u003C/p\u003E \n \n\u003Cp\u003EHere's a video showing SAP StreamWork federating with \u003Ca href=\"http://WaveSandbox.com:\"\u003EWaveSandbox.com\u003C/a\u003E:\u003C/p\u003E\n\u003Cp\u003E\n\u003Cobject height=\"385\" width=\"480\"\u003E\u003Cembed src=\"http://www.youtube.com/v/3HuLnoxxz5U\u0026amp;hl=en_US\u0026amp;fs=1\u0026amp;\" type=\"application/x-shockwave-flash\" height=\"385\" width=\"480\" /\u003E\u003C/object\u003E\u003C/p\u003E\n \n\u003Cp\u003EThis is all driven by the desire to let users work together no matter what system they may be using. For more information about building your own wave provider, feel free to check out the \u003Ca href=\"http://code.google.com/events/io/2010/sessions/open-source-wave-provider.html\"\u003Esession video and slides\u003C/a\u003E from Google I/O 2010.\u003C/p\u003E \n \n\u003Cp\u003EPlease join us in \u003Ca href=\"http://groups.google.com/group/wave-protocol\"\u003Ethe forum\u003C/a\u003E if you'd like to get involved.\u003C/p\u003E \n\n\u003Cp\u003E\u003Cspan class=\"post-author\"\u003EPosted by J.D. Zamfirescu, and Anthony Baxter, Software Engineers, Google Wave\u003C/span\u003E\u003C/p\u003E\u003Cdiv class=\"blogger-post-footer\"\u003E\u003Cimg src=\"https://blogger.googleusercontent.com/tracker/7938035922388048219-4269901954930206714?l=googlewavedev.blogspot.com\" height=\"1\" alt=\"\" width=\"1\" /\u003E\u003C/div\u003E\u003Cimg src=\"http://feeds.feedburner.com/~r/GoogleWaveDeveloperBlog/~4/9xwetZeLaLs\" height=\"1\" width=\"1\" /\u003E"} <p>As you may have heard before, the <a href="http://www.waveprotocol.org/">Google Wave Federation Protocol</a> is an emerging open protocol for improving communication and collaboration across the web -- not just in a single product. To further propel the community, as part of Google I/O, we open sourced another significant chunk of Google Wave production code (now totaling more than 200,000 lines of code released), including: the in-browser rich text editor, the wave model, and the concurrency control mechanism.</p> <p>This code release introduces a simple web client for FedOne, which enables you to bring up your own browser-based client running against the FedOne backend, which can then federate over to <a href="http://WaveSandbox.com">WaveSandbox.com</a>. The web client communicates with the FedOne server using an emerging <a href="http://wave-protocol.googlecode.com/hg/whitepapers/client-server-protocol/client-server-protocol.html">WebSocket-based client/server protocol</a>, with the initial documentation in the whitepaper under review. There is even work going on to make an <a href="http://code.google.com/p/wave-client-for-emacs/">Emacs client for wave</a> using this emerging client/server protocol. To get started with your own instance, please read a recent forum post: <a href="http://groups.google.com/group/wave-protocol/browse_thread/thread/fa5e530b29d9215f">exploring the simple web client</a>, and you may also be interested in reading the <a href="http://code.google.com/p/wave-protocol/wiki/WaveModelCodeWalk">wave model code walk-through</a>.</p> <p>There is a growing community of wave providers building on wave technology and the Google Wave Federation Protocol, including SAP StreamWork (demo below, and you can read more about <a href="http://decisionvelocity.net/2010/05/19/watch-that-stream-become-a-wave/">SAP StreamWork and the wave protocol</a>), Novell Pulse (<a href="http://www.novell.com/communities/node/11233/guest-post-novell-pulse-and-google-wave-demonstrating-inter-company-collaboration">here's a demo</a>), ProcessOne's <a href="http://www.process-one.net/en/blogs/article/waveone_a_wave_server_by_processone/">OneWave</a>, <a href="http://wave-vs.net">wave-vs.net</a><a href="http://pygowave.net/">,</a> and <a href="http://AboutPeers.com">AboutPeers.com</a>. The US Navy also put out a call for proposals earlier in the year (<a href="http://www.acq.osd.mil/osbp/sbir/solicitations/sttr10A/navy10A.pdf">Navy Wave RFP</a> [PDF]). Additionally, there are several open source projects in development as well: <a href="http://pygowave.net/">PyGoWave</a>, <a href="http://code.google.com/p/qwaveclient/">QWave</a>, <a href="http://code.google.com/p/arwave/">ARWave</a>, and <a href="http://github.com/danopia/ruby-on-sails">Ruby on Sails</a>.</p> <p>Here's a video showing SAP StreamWork federating with <a href="http://WaveSandbox.com:">WaveSandbox.com</a>:</p> <p> </p> <p>This is all driven by the desire to let users work together no matter what system they may be using. For more information about building your own wave provider, feel free to check out the <a href="http://code.google.com/events/io/2010/sessions/open-source-wave-provider.html">session video and slides</a> from Google I/O 2010.</p> <p>Please join us in <a href="http://groups.google.com/group/wave-protocol">the forum</a> if you'd like to get involved.</p> <p><span class="post-author">Posted by J.D. Zamfirescu, and Anthony Baxter, Software Engineers, Google Wave</span></p><div class="blogger-post-footer"><img src="https://blogger.googleusercontent.com/tracker/7938035922388048219-4269901954930206714?l=googlewavedev.blogspot.com" height="1" alt="" width="1" /></div><img src="http://feeds.feedburner.com/~r/GoogleWaveDeveloperBlog/~4/9xwetZeLaLs" height="1" width="1" />Thu, 24 Jun 2010 14:52:57 GMThttp://wavecamp.soup.io/post/62046224/Wave-Federation-Keeps-Growing-Rich-text-editorurn:www-soup-io:1:62046224regular [wavecamp] Running a Contest in Wave: Behind the Scenes {"tags":[],"type":"regular","title":"\u003Ca href=\"http://feedproxy.google.com/~r/GoogleWaveDeveloperBlog/~3/3ITP-ONIxZs/running-contest-in-wave-behind-scenes.html\"\u003ERunning a Contest in Wave: Behind the Scenes\u003C/a\u003E","source":"http://feedproxy.google.com/~r/GoogleWaveDeveloperBlog/~3/3ITP-ONIxZs/running-contest-in-wave-behind-scenes.html","body":"\u003Cp\u003EBack in April, we ran \u003Ca href=\"http://mashable.com/2010/03/09/google-wave-api-challenge/\"\u003Ea challenge\u003C/a\u003E together with Mashable, asking developers to make fun and useful extensions. We saw a lot of great extensions come out of it, like \u003Ca href=\"https://wave.google.com/wave/waveref/googlewave.com/w+zxOw37ZkSB\"\u003EWaveTube\u003C/a\u003E, \u003Ca href=\"https://wave.google.com/wave/waveref/googlewave.com/w+rqNRqrZkk6\"\u003EPoker\u003C/a\u003E, \u003Ca href=\"https://wave.google.com/wave/waveref/googlewave.com/w+FFJnwrZkXn\"\u003EWave Transformer\u003C/a\u003E, and more. Now, I want to take some time out to explain how an \u003Ca href=\"http://wave-samples-gallery.appspot.com/about_app?app_id=218001\"\u003Eopen-sourced Wave robot\u003C/a\u003E made it possible to run the contest entirely in Wave, from the submission to the voting.\u003C/p\u003E \n \n\u003Ch2\u003E1) Submission Wave\u003C/h2\u003E\n\u003Cp\u003E\n\u003Cspan\u003EThe process is all kicked off by the creation of a new submission wave.\u003C/span\u003E\u003C/p\u003E\n\n\u003Cp\u003ETo submit an entry, developers would install the Mashable Submitty extension. They then clicked 'New extension submission' in the New Wave menu, and watched a robot populate the new wave with a submission template. The robot does this by responding to the \u003Ca href=\"http://wave-robot-python-client.googlecode.com/svn/trunk/pydocs/index.html#events.WaveletSelfAdded\"\u003EWaveletSelfAdded\u003C/a\u003E event, and appending text, form elements, and a gadget. The text describes the submission process, the form input elements let the developers give the robot information in a structured way, and the gadget manages the flow of submission.\u003C/p\u003E \n \n\u003Cp\u003E\n\u003Ca href=\"http://2.bp.blogspot.com/_T1lquhCmKo8/TB8yRz3FvAI/AAAAAAAADZA/bFRkOCxa4oI/s1600/mashablesubmitty_step1.png\"\u003E\u003Cimg src=\"http://2.bp.blogspot.com/_T1lquhCmKo8/TB8yRz3FvAI/AAAAAAAADZA/bFRkOCxa4oI/mashablesubmitty_step1.png\" alt=\"\" /\u003E\u003C/a\u003E\n\u003C/p\u003E \n \n\u003Ch2\u003E2) Installer Checking\u003C/h2\u003E\n\u003Cp\u003E\n\u003Cspan\u003EThe robot helps automate some of the more tedious aspects of the review process, like checking an installer is valid.\u003C/span\u003E\n\u003C/p\u003E\n\u003Cp\u003E\nWhen the developer is filling in the wave, they specify the URL of the \u003Ca href=\"http://code.google.com/apis/wave/extensions/installers/index.html\"\u003Einstaller XML\u003C/a\u003E in one of the input elements. When the robot sees a URL in that field, it grabs the XML, and parses it to look for all the required fields. If there are any errors, it reports them in an inline blip, and if not, it inserts the \u003Ca href=\"http://wave-robot-python-client.googlecode.com/svn/trunk/pydocs/index.html#element.Installer\"\u003Einstaller element\u003C/a\u003E inside that blip. By doing this, the reviewers can easily install the extension from inside the wave.\u003C/p\u003E \n \n\u003Cp\u003E\n\u003Ca href=\"http://2.bp.blogspot.com/_T1lquhCmKo8/TB8yfI1oroI/AAAAAAAADZI/XD1WkSWrZqY/s1600/mashablesubmitty_installerchecking.png\"\u003E\u003Cimg src=\"http://2.bp.blogspot.com/_T1lquhCmKo8/TB8yfI1oroI/AAAAAAAADZI/XD1WkSWrZqY/mashablesubmitty_installerchecking.png\" alt=\"\" /\u003E\u003C/a\u003E\n\u003C/p\u003E \n \n\u003Ch2\u003E3) Workflow Gadget\u003C/h2\u003E\n\u003Cp\u003E\n\u003Cspan\u003EThe workflow gadget helps manage the sequence of steps, and let some participants move the sequence forward.\u003C/span\u003E\n\u003C/p\u003E\n\u003Cp\u003EWhen the wave is first created, the only participants are the developer and the robot. When the developer is done filling out the information, they click \"Share with Reviewers\" in the gadget, which prompts the robot to add the review team Google Group and tag the wave with status-review. At that point, the gadget shows different options depending on who's viewing it. For the developer who submitted the extension, the gadget explains that the wave is currently shared with the team and will be responded to soon. For the admins of the review process, the gadget provides a \"Approve for Gallery\" button. When an admin clicks that button, the robot first checks that the event actually came from an admin (just in case someone's simulated the button click in javascript) and then kicks off the process to add the extension to the gallery.\u003C/p\u003E \n \n\u003Cp\u003E\n\u003Ca href=\"http://4.bp.blogspot.com/_T1lquhCmKo8/TB8ypxCXs9I/AAAAAAAADZQ/qG7xLxYhOk0/s1600/mashablesubmitty_workflowall.png\"\u003E\u003Cimg src=\"http://4.bp.blogspot.com/_T1lquhCmKo8/TB8ypxCXs9I/AAAAAAAADZQ/qG7xLxYhOk0/mashablesubmitty_workflowall.png\" alt=\"\" /\u003E\u003C/a\u003E\n\u003C/p\u003E \n \n\u003Ch2\u003E4) Gallery Waves\u003C/h2\u003E\n\u003Cp\u003E\u003Cspan\u003EThe robot automates the process of creating individual waves that are rich in content, and of creating one central table of contents wave.\u003C/span\u003E\u003C/p\u003E \n \n\u003Cp\u003EAfter the extension is approved, the robot starts by creating an individual wave about the extension - inserting the title, description, installer, a ratings gadget, and a sharing gadget. Since gadgets don't have access to the wave content around them, the robot injects the extension name into the state of the sharing gadget so users can easily tweet about it (e.g. \"Checking out Requesty- \u003Ca href=\"http://www\"\u003Ehttp://www\u003C/a\u003E...\"). Next, the robot fetches the table of contents wave using the \u003Ca href=\"http://code.google.com/apis/wave/extensions/robots/operations.html#ActiveRobotAPI\"\u003EActive API\u003C/a\u003E and appends an image and links for the new extension.\u003C/p\u003E \n \n\u003Cp\u003E\n\u003Ca href=\"http://2.bp.blogspot.com/_T1lquhCmKo8/TB8ywfJz3vI/AAAAAAAADZY/uglg2aHD0uI/s1600/mashablesubmitty_gallerydiscuss.png\"\u003E\u003Cimg src=\"http://2.bp.blogspot.com/_T1lquhCmKo8/TB8ywfJz3vI/AAAAAAAADZY/uglg2aHD0uI/mashablesubmitty_gallerydiscuss.png\" alt=\"\" /\u003E\u003C/a\u003E\n\u003C/p\u003E \n \n\u003Cp\u003EAll in all, the Submitty extension helps automate a multi-step process in Wave while still allowing for freeform discussion. In the submission waves, we would often go back and forth with the submitter when trying out the extension and start up private replies to discuss the status of the extension with just the reviewers. In the gallery waves, wave users would report bugs and request features, and on the \u003Ca href=\"https://wave.google.com/wave/waveref/googlewave.com/w+QQ_p0LZkbD\"\u003Ediscussion wave\u003C/a\u003E for the most popular extension, Mr. Ray, they even got into a passionate discussion about the future of wave.\u003C/p\u003E \n \n\u003Cp\u003EIf you're interested in running a contest in wave or employing a similar workflow for your own use, check out the code for \u003Ca href=\"http://wave-samples-gallery.appspot.com/about_app?app_id=218001\"\u003EMashable Submitty\u003C/a\u003E from the samples gallery. Let us know in \u003Ca href=\"http://code.google.com/apis/wave/forum.html\"\u003Ethe forum\u003C/a\u003E if you have any questions.\u003C/p\u003E\n\u003Cbr /\u003E\n\u003Cspan class=\"post-author\"\u003EPosted by Pamela Fox, Developer Relations\u003C/span\u003E\u003Cdiv class=\"blogger-post-footer\"\u003E\u003Cimg src=\"https://blogger.googleusercontent.com/tracker/7938035922388048219-812283608701603984?l=googlewavedev.blogspot.com\" height=\"1\" alt=\"\" width=\"1\" /\u003E\u003C/div\u003E\u003Cimg src=\"http://feeds.feedburner.com/~r/GoogleWaveDeveloperBlog/~4/3ITP-ONIxZs\" height=\"1\" width=\"1\" /\u003E"} <p>Back in April, we ran <a href="http://mashable.com/2010/03/09/google-wave-api-challenge/">a challenge</a> together with Mashable, asking developers to make fun and useful extensions. We saw a lot of great extensions come out of it, like <a href="https://wave.google.com/wave/waveref/googlewave.com/w+zxOw37ZkSB">WaveTube</a>, <a href="https://wave.google.com/wave/waveref/googlewave.com/w+rqNRqrZkk6">Poker</a>, <a href="https://wave.google.com/wave/waveref/googlewave.com/w+FFJnwrZkXn">Wave Transformer</a>, and more. Now, I want to take some time out to explain how an <a href="http://wave-samples-gallery.appspot.com/about_app?app_id=218001">open-sourced Wave robot</a> made it possible to run the contest entirely in Wave, from the submission to the voting.</p> <h2>1) Submission Wave</h2> <p> <span>The process is all kicked off by the creation of a new submission wave.</span></p> <p>To submit an entry, developers would install the Mashable Submitty extension. They then clicked 'New extension submission' in the New Wave menu, and watched a robot populate the new wave with a submission template. The robot does this by responding to the <a href="http://wave-robot-python-client.googlecode.com/svn/trunk/pydocs/index.html#events.WaveletSelfAdded">WaveletSelfAdded</a> event, and appending text, form elements, and a gadget. The text describes the submission process, the form input elements let the developers give the robot information in a structured way, and the gadget manages the flow of submission.</p> <p> <a href="http://2.bp.blogspot.com/_T1lquhCmKo8/TB8yRz3FvAI/AAAAAAAADZA/bFRkOCxa4oI/s1600/mashablesubmitty_step1.png"><img src="http://2.bp.blogspot.com/_T1lquhCmKo8/TB8yRz3FvAI/AAAAAAAADZA/bFRkOCxa4oI/mashablesubmitty_step1.png" alt="" /></a> </p> <h2>2) Installer Checking</h2> <p> <span>The robot helps automate some of the more tedious aspects of the review process, like checking an installer is valid.</span> </p> <p> When the developer is filling in the wave, they specify the URL of the <a href="http://code.google.com/apis/wave/extensions/installers/index.html">installer XML</a> in one of the input elements. When the robot sees a URL in that field, it grabs the XML, and parses it to look for all the required fields. If there are any errors, it reports them in an inline blip, and if not, it inserts the <a href="http://wave-robot-python-client.googlecode.com/svn/trunk/pydocs/index.html#element.Installer">installer element</a> inside that blip. By doing this, the reviewers can easily install the extension from inside the wave.</p> <p> <a href="http://2.bp.blogspot.com/_T1lquhCmKo8/TB8yfI1oroI/AAAAAAAADZI/XD1WkSWrZqY/s1600/mashablesubmitty_installerchecking.png"><img src="http://2.bp.blogspot.com/_T1lquhCmKo8/TB8yfI1oroI/AAAAAAAADZI/XD1WkSWrZqY/mashablesubmitty_installerchecking.png" alt="" /></a> </p> <h2>3) Workflow Gadget</h2> <p> <span>The workflow gadget helps manage the sequence of steps, and let some participants move the sequence forward.</span> </p> <p>When the wave is first created, the only participants are the developer and the robot. When the developer is done filling out the information, they click "Share with Reviewers" in the gadget, which prompts the robot to add the review team Google Group and tag the wave with status-review. At that point, the gadget shows different options depending on who's viewing it. For the developer who submitted the extension, the gadget explains that the wave is currently shared with the team and will be responded to soon. For the admins of the review process, the gadget provides a "Approve for Gallery" button. When an admin clicks that button, the robot first checks that the event actually came from an admin (just in case someone's simulated the button click in javascript) and then kicks off the process to add the extension to the gallery.</p> <p> <a href="http://4.bp.blogspot.com/_T1lquhCmKo8/TB8ypxCXs9I/AAAAAAAADZQ/qG7xLxYhOk0/s1600/mashablesubmitty_workflowall.png"><img src="http://4.bp.blogspot.com/_T1lquhCmKo8/TB8ypxCXs9I/AAAAAAAADZQ/qG7xLxYhOk0/mashablesubmitty_workflowall.png" alt="" /></a> </p> <h2>4) Gallery Waves</h2> <p><span>The robot automates the process of creating individual waves that are rich in content, and of creating one central table of contents wave.</span></p> <p>After the extension is approved, the robot starts by creating an individual wave about the extension - inserting the title, description, installer, a ratings gadget, and a sharing gadget. Since gadgets don't have access to the wave content around them, the robot injects the extension name into the state of the sharing gadget so users can easily tweet about it (e.g. "Checking out Requesty- <a href="http://www">http://www</a>..."). Next, the robot fetches the table of contents wave using the <a href="http://code.google.com/apis/wave/extensions/robots/operations.html#ActiveRobotAPI">Active API</a> and appends an image and links for the new extension.</p> <p> <a href="http://2.bp.blogspot.com/_T1lquhCmKo8/TB8ywfJz3vI/AAAAAAAADZY/uglg2aHD0uI/s1600/mashablesubmitty_gallerydiscuss.png"><img src="http://2.bp.blogspot.com/_T1lquhCmKo8/TB8ywfJz3vI/AAAAAAAADZY/uglg2aHD0uI/mashablesubmitty_gallerydiscuss.png" alt="" /></a> </p> <p>All in all, the Submitty extension helps automate a multi-step process in Wave while still allowing for freeform discussion. In the submission waves, we would often go back and forth with the submitter when trying out the extension and start up private replies to discuss the status of the extension with just the reviewers. In the gallery waves, wave users would report bugs and request features, and on the <a href="https://wave.google.com/wave/waveref/googlewave.com/w+QQ_p0LZkbD">discussion wave</a> for the most popular extension, Mr. Ray, they even got into a passionate discussion about the future of wave.</p> <p>If you're interested in running a contest in wave or employing a similar workflow for your own use, check out the code for <a href="http://wave-samples-gallery.appspot.com/about_app?app_id=218001">Mashable Submitty</a> from the samples gallery. Let us know in <a href="http://code.google.com/apis/wave/forum.html">the forum</a> if you have any questions.</p> <br /> <span class="post-author">Posted by Pamela Fox, Developer Relations</span><div class="blogger-post-footer"><img src="https://blogger.googleusercontent.com/tracker/7938035922388048219-812283608701603984?l=googlewavedev.blogspot.com" height="1" alt="" width="1" /></div><img src="http://feeds.feedburner.com/~r/GoogleWaveDeveloperBlog/~4/3ITP-ONIxZs" height="1" width="1" />Mon, 21 Jun 2010 12:45:38 GMThttp://wavecamp.soup.io/post/61782184/Running-a-Contest-in-Wave-Behind-theurn:www-soup-io:1:61782184regular [wavecamp] Highlights from the Google I/O Wave Developer Sandbox {"tags":[],"type":"regular","title":"\u003Ca href=\"http://feedproxy.google.com/~r/GoogleWaveDeveloperBlog/~3/CUE2yUyH4CI/highlights-wave-developer-sandbox-at-io.html\"\u003EHighlights from the Google I/O Wave Developer Sandbox\u003C/a\u003E","source":"http://feedproxy.google.com/~r/GoogleWaveDeveloperBlog/~3/CUE2yUyH4CI/highlights-wave-developer-sandbox-at-io.html","body":"\u003Cp\u003E\n\u003Ca href=\"http://3.bp.blogspot.com/_T1lquhCmKo8/TBrC5y1bsQI/AAAAAAAADYo/jzYLrJK1eck/s1600/19-12_41_40-01-IMG_0092.JPG\"\u003E\u003Cimg src=\"http://3.bp.blogspot.com/_T1lquhCmKo8/TBrC5y1bsQI/AAAAAAAADYo/jzYLrJK1eck/s400/19-12_41_40-01-IMG_0092.JPG\" alt=\"\" /\u003E\u003C/a\u003E\nWe recently \u003Ca href=\"http://googleblog.blogspot.com/2010/05/happy-1st-birthday-google-wave.html\"\u003Ecelebrated Google Wave's 1st Birthday\u003C/a\u003E and \u003Ca href=\"http://googlewavedev.blogspot.com/2010/05/google-wave-platform-updates-at-io-see.html\"\u003Eannounced several API and protocol updates\u003C/a\u003E at Google I/O. Along with that we invited 17 partners and developers to showcase their Wave extensions and integrations as part of the \u003Ca href=\"http://code.google.com/events/io/2010/sandbox.html#Wave\"\u003EGoogle Wave Developer Sandbox\u003C/a\u003E. We've been amazed at the many extensions and product integrations that developers have built eversince we launched Wave and we wanted to share with the public what were showcased at I/O:\u003C/p\u003E \n \n\n\u003Cp\u003E\u003Cb\u003EExtensions:\u003C/b\u003E\u003Cbr /\u003E\n\n\u003C/p\u003E\u003Cul\u003E\n\u003C/ul\u003E\u003Cli\u003E\n\u003Ca href=\"http://rucksack.com/\"\u003EColumbus Internet\u003C/a\u003E showcased \u003Ca href=\"https://wave.google.com/wave/#minimized:nav,minimized:contact,minimized:search:group%253Agoogle-wave-extension-gallery-all%2540googlegroups.com,restored:wave:googlewave.com!w%252Bl_7wqbZkDA\"\u003ETravel WithMe\u003C/a\u003E and \u003Ca href=\"https://wave.google.com/wave/#minimized:nav,minimized:contact,minimized:search:group%253Agoogle-wave-extension-gallery-all%2540googlegroups.com,restored:wave:googlewave.com!w%252BH6dhkbZkFC\"\u003EHostel WithMe\u003C/a\u003E, their useful trip planning extensions for Wave.\u003Cbr /\u003E\n\n\u003C/li\u003E\u003Cli\u003E\n\u003Ca href=\"http://www.processwave.org\"\u003EProcessWave\u003C/a\u003E showcased a \u003Ca href=\"https://wave.google.com/wave/waveref/googlewave.com/w+0enaYrZkk \"\u003Ecollaborative diagram editor\u003C/a\u003E that supports software and business process modeling with UML, BPMN and EPC.\u003Cbr /\u003E\n\u003C/li\u003E\u003Cli\u003E\n\u003Ca href=\"http://www.timebridge.com\"\u003ETimebridge\u003C/a\u003E showcased a \u003Ca href=\"https://wave.google.com/wave/#minimized:nav,minimized:contact,minimized:search:group%253Agoogle-wave-extension-gallery-all%2540googlegroups.com,restored:wave:googlewave.com!w%252BWcENY7Zk4P\"\u003Eweb conferencing gadget\u003C/a\u003E and a meeting planner gadget.\u003Cbr /\u003E\n\n\u003C/li\u003E\u003Cli\u003E\n\u003Ca href=\"http://www.unawave.com\"\u003EUnaWave\u003C/a\u003E demoed a \u003Ca href=\"https://wave.google.com/wave/#minimized:nav,minimized:contact,minimized:search:group%253Agoogle-wave-extension-gallery-all%2540googlegroups.com,restored:wave:googlewave.com!w%252BzqS7G7ZkBE9\"\u003Eproject and task management extension\u003C/a\u003E.\u003Cbr /\u003E\n\n\u003C/li\u003E\u003Cli\u003E\n\u003Ca href=\"http://www.withwaves.com\"\u003EWithWaves\u003C/a\u003E demoed the \u003Ca href=\"https://wave.google.com/wave/#minimized:nav,minimized:contact,minimized:search:group%253Agoogle-wave-extension-gallery-all%2540googlegroups.com,restored:wave:googlewave.com!w%252BMEzqRrZkkr\"\u003EBrowse eBay\u003C/a\u003E and \u003Ca href=\"https://wave.google.com/wave/#minimized:nav,minimized:contact,minimized:search:group%253Agoogle-wave-extension-gallery-all%2540googlegroups.com,restored:wave:googlewave.com!w%252BYZcm5rZkPY\"\u003EBrowse Amazon\u003C/a\u003E extensions that enable collaborative shopping.\u003Cbr /\u003E\n\n\u003C/li\u003E\u003Cli\u003E\n\u003Ca href=\"http://Wave.to\"\u003EWave.to\u003C/a\u003E showcased a lightweight wave client for the Android platform.\n\u003Cbr /\u003E\n\n\u003C/li\u003E\u003Cli\u003E\u003Ca href=\"http://www.conceptdraw.com/en/\"\u003ECS Odessa\u003C/a\u003E demoed their \u003Ca href=\"https://wave.google.com/wave/#minimized:nav,minimized:contact,minimized:search:group%253Agoogle-wave-extension-gallery%2540googlegroups.com,restored:wave:googlewave.com!w%252BaOZmbbZk2f\"\u003Ebrainstorming and mind maping extension\u003C/a\u003E.\u003Cbr /\u003E\n\n\u003C/li\u003E\u003Cli\u003E\n\u003Ca href=\"http://caseish.com/\"\u003ECaseish\u003C/a\u003E showcased their collaborative case management tool.\u003Cbr /\u003E\n\n\u003C/li\u003E\u003Cli\u003E\n\u003Ca href=\"http://www.6rounds.com\"\u003E6Rounds\u003C/a\u003E showcased their interactive \u003Ca href=\"https://wave.google.com/wave/#minimized:nav,minimized:contact,minimized:search:group%253Agoogle-wave-extension-gallery-all%2540googlegroups.com,restored:wave:googlewave.com!w%252BR8RbkhA9I\"\u003Evideo conferencing gadget\u003C/a\u003E.\u003Cbr /\u003E\n\n\u003C/li\u003E\u003Cli\u003E\n\u003Ca href=\"http://www.prezi.com\"\u003EPrezi\u003C/a\u003E demoed their collaborative presentation editor.\u003Cbr /\u003E\n\n\u003C/li\u003E\u003Cli\u003E\n\u003Ca href=\"http://www.twillio.com\"\u003ETwillio\u003C/a\u003E demoed their phone conferencing robot\u003C/li\u003E\u003Cp\u003E\u003C/p\u003E \n\n\n\u003Cp\u003E\u003Cb\u003EProduct Integrations:\u003C/b\u003E\u003Cbr /\u003E\n\u003C/p\u003E\u003Cul\u003E\n\u003C/ul\u003E\u003Cli\u003E\n\u003Ca href=\"http://www.process-one.net/en/\"\u003EProcessOne\u003C/a\u003E demoed their WaveOne XMPP server built based on the Wave protocol.\u003Cbr /\u003E\n\u003C/li\u003E\u003Cli\u003E\n\u003Ca href=\"http://www.salesforce.com\"\u003ESalesforce\u003C/a\u003E demoed their wave integration inside Chatter, their collaborative product.\u003Cbr /\u003E\n\u003C/li\u003E\u003Cli\u003E\n\u003Ca href=\"http://www.oracle.com\"\u003EOracle\u003C/a\u003E demoed their wave integration inside their CRM product.\u003C/li\u003E\u003Cp\u003E\u003C/p\u003E \n\n\n\u003Cp\u003E\u003Cb\u003EFederation:\u003C/b\u003E\u003Cbr /\u003E\n\u003C/p\u003E\u003Cul\u003E\n\u003C/ul\u003E\u003Cli\u003E\n\u003Ca href=\"http://www.sap.com\"\u003ESAP\u003C/a\u003E demoed their new Gravity product built based on the Wave protocol.\u003Cbr /\u003E\n\u003C/li\u003E\u003Cli\u003E\n\u003Ca href=\"http://www.novell.com\"\u003ENovell\u003C/a\u003E showcased Pulse, their collaborative product based on Wave protocol.\u003C/li\u003E\u003Cp\u003E\u003C/p\u003E \n\n\n\u003Cp\u003ETo see videos of many of the above extensions in action and read more about them, check out our \u003Ca href=\"http://wave.google.com/extensions.html\"\u003Efeatured extension page\u003C/a\u003E. We hope these extensions and product integrations will inspire you to build more things on Google Wave. As always, we love to hear from developers. If you have feedback on our APIs or want to build extensions, \u003Ca href=\"http://code.google.com/apis/wave/\"\u003Eread our guide\u003C/a\u003E and drop us a line in the \u003Ca href=\"http://code.google.com/apis/wave/forum.html\"\u003EWave APIs forum\u003C/a\u003E. If you're interested in the Wave Protocol, check out \u003Ca href=\"http://www.waveprotocol.org\"\u003Ehttp://www.waveprotocol.org\u003C/a\u003E and join the \u003Ca href=\"http://groups.google.com/group/wave-protocol/\"\u003EWave Protocol discussion forum\u003C/a\u003E.\u003C/p\u003E\n\n\u003Cbr /\u003E\n\u003Cspan class=\"post-author\"\u003EPosted by Amanda Surya, Developer Relations\u003C/span\u003E\u003Cdiv class=\"blogger-post-footer\"\u003E\u003Cimg src=\"https://blogger.googleusercontent.com/tracker/7938035922388048219-3440187319886926646?l=googlewavedev.blogspot.com\" height=\"1\" alt=\"\" width=\"1\" /\u003E\u003C/div\u003E\u003Cimg src=\"http://feeds.feedburner.com/~r/GoogleWaveDeveloperBlog/~4/CUE2yUyH4CI\" height=\"1\" width=\"1\" /\u003E"} <p> <a href="http://3.bp.blogspot.com/_T1lquhCmKo8/TBrC5y1bsQI/AAAAAAAADYo/jzYLrJK1eck/s1600/19-12_41_40-01-IMG_0092.JPG"><img src="http://3.bp.blogspot.com/_T1lquhCmKo8/TBrC5y1bsQI/AAAAAAAADYo/jzYLrJK1eck/s400/19-12_41_40-01-IMG_0092.JPG" alt="" /></a> We recently <a href="http://googleblog.blogspot.com/2010/05/happy-1st-birthday-google-wave.html">celebrated Google Wave's 1st Birthday</a> and <a href="http://googlewavedev.blogspot.com/2010/05/google-wave-platform-updates-at-io-see.html">announced several API and protocol updates</a> at Google I/O. Along with that we invited 17 partners and developers to showcase their Wave extensions and integrations as part of the <a href="http://code.google.com/events/io/2010/sandbox.html#Wave">Google Wave Developer Sandbox</a>. We've been amazed at the many extensions and product integrations that developers have built eversince we launched Wave and we wanted to share with the public what were showcased at I/O:</p> <p><b>Extensions:</b><br /> </p><ul> </ul><li> <a href="http://rucksack.com/">Columbus Internet</a> showcased <a href="https://wave.google.com/wave/#minimized:nav,minimized:contact,minimized:search:group%253Agoogle-wave-extension-gallery-all%2540googlegroups.com,restored:wave:googlewave.com!w%252Bl_7wqbZkDA">Travel WithMe</a> and <a href="https://wave.google.com/wave/#minimized:nav,minimized:contact,minimized:search:group%253Agoogle-wave-extension-gallery-all%2540googlegroups.com,restored:wave:googlewave.com!w%252BH6dhkbZkFC">Hostel WithMe</a>, their useful trip planning extensions for Wave.<br /> </li><li> <a href="http://www.processwave.org">ProcessWave</a> showcased a <a href="https://wave.google.com/wave/waveref/googlewave.com/w+0enaYrZkk ">collaborative diagram editor</a> that supports software and business process modeling with UML, BPMN and EPC.<br /> </li><li> <a href="http://www.timebridge.com">Timebridge</a> showcased a <a href="https://wave.google.com/wave/#minimized:nav,minimized:contact,minimized:search:group%253Agoogle-wave-extension-gallery-all%2540googlegroups.com,restored:wave:googlewave.com!w%252BWcENY7Zk4P">web conferencing gadget</a> and a meeting planner gadget.<br /> </li><li> <a href="http://www.unawave.com">UnaWave</a> demoed a <a href="https://wave.google.com/wave/#minimized:nav,minimized:contact,minimized:search:group%253Agoogle-wave-extension-gallery-all%2540googlegroups.com,restored:wave:googlewave.com!w%252BzqS7G7ZkBE9">project and task management extension</a>.<br /> </li><li> <a href="http://www.withwaves.com">WithWaves</a> demoed the <a href="https://wave.google.com/wave/#minimized:nav,minimized:contact,minimized:search:group%253Agoogle-wave-extension-gallery-all%2540googlegroups.com,restored:wave:googlewave.com!w%252BMEzqRrZkkr">Browse eBay</a> and <a href="https://wave.google.com/wave/#minimized:nav,minimized:contact,minimized:search:group%253Agoogle-wave-extension-gallery-all%2540googlegroups.com,restored:wave:googlewave.com!w%252BYZcm5rZkPY">Browse Amazon</a> extensions that enable collaborative shopping.<br /> </li><li> <a href="http://Wave.to">Wave.to</a> showcased a lightweight wave client for the Android platform. <br /> </li><li><a href="http://www.conceptdraw.com/en/">CS Odessa</a> demoed their <a href="https://wave.google.com/wave/#minimized:nav,minimized:contact,minimized:search:group%253Agoogle-wave-extension-gallery%2540googlegroups.com,restored:wave:googlewave.com!w%252BaOZmbbZk2f">brainstorming and mind maping extension</a>.<br /> </li><li> <a href="http://caseish.com/">Caseish</a> showcased their collaborative case management tool.<br /> </li><li> <a href="http://www.6rounds.com">6Rounds</a> showcased their interactive <a href="https://wave.google.com/wave/#minimized:nav,minimized:contact,minimized:search:group%253Agoogle-wave-extension-gallery-all%2540googlegroups.com,restored:wave:googlewave.com!w%252BR8RbkhA9I">video conferencing gadget</a>.<br /> </li><li> <a href="http://www.prezi.com">Prezi</a> demoed their collaborative presentation editor.<br /> </li><li> <a href="http://www.twillio.com">Twillio</a> demoed their phone conferencing robot</li><p></p> <p><b>Product Integrations:</b><br /> </p><ul> </ul><li> <a href="http://www.process-one.net/en/">ProcessOne</a> demoed their WaveOne XMPP server built based on the Wave protocol.<br /> </li><li> <a href="http://www.salesforce.com">Salesforce</a> demoed their wave integration inside Chatter, their collaborative product.<br /> </li><li> <a href="http://www.oracle.com">Oracle</a> demoed their wave integration inside their CRM product.</li><p></p> <p><b>Federation:</b><br /> </p><ul> </ul><li> <a href="http://www.sap.com">SAP</a> demoed their new Gravity product built based on the Wave protocol.<br /> </li><li> <a href="http://www.novell.com">Novell</a> showcased Pulse, their collaborative product based on Wave protocol.</li><p></p> <p>To see videos of many of the above extensions in action and read more about them, check out our <a href="http://wave.google.com/extensions.html">featured extension page</a>. We hope these extensions and product integrations will inspire you to build more things on Google Wave. As always, we love to hear from developers. If you have feedback on our APIs or want to build extensions, <a href="http://code.google.com/apis/wave/">read our guide</a> and drop us a line in the <a href="http://code.google.com/apis/wave/forum.html">Wave APIs forum</a>. If you're interested in the Wave Protocol, check out <a href="http://www.waveprotocol.org">http://www.waveprotocol.org</a> and join the <a href="http://groups.google.com/group/wave-protocol/">Wave Protocol discussion forum</a>.</p> <br /> <span class="post-author">Posted by Amanda Surya, Developer Relations</span><div class="blogger-post-footer"><img src="https://blogger.googleusercontent.com/tracker/7938035922388048219-3440187319886926646?l=googlewavedev.blogspot.com" height="1" alt="" width="1" /></div><img src="http://feeds.feedburner.com/~r/GoogleWaveDeveloperBlog/~4/CUE2yUyH4CI" height="1" width="1" />Fri, 18 Jun 2010 05:54:24 GMThttp://wavecamp.soup.io/post/61446660/Highlights-from-the-Google-I-O-Waveurn:www-soup-io:1:61446660regular [wavecamp] Make your waves easier to find with savedSearchHook {"tags":[],"type":"regular","title":"\u003Ca href=\"http://feedproxy.google.com/~r/GoogleWaveDeveloperBlog/~3/BjOx9380gBU/new-feature-make-your-waves-easier-to.html\"\u003EMake your waves easier to find with savedSearchHook\u003C/a\u003E","source":"http://feedproxy.google.com/~r/GoogleWaveDeveloperBlog/~3/BjOx9380gBU/new-feature-make-your-waves-easier-to.html","body":"\u003Cp\u003EOne of my favorite features of Wave is \"saved searches.\" When I use a search query that I want to remember to check later, I click \"save search\" at the bottom of the search panel, specify a title, and then that search shows up in my nav panel as a link. When a wave matching that search query show up in the search panel, it will be labeled with the saved search terms.\u003C/p\u003E \n \n\u003Cp\u003EI use searches for lots of things - keeping track of waves for particular Google groups (e.g. \"group:artisticwaves@googlegroups.com\"), waves with particular tags (e.g. \"tag:wavedevfaq\"), waves I've contributed to (\"with:me\"), and oftentimes, waves created by a particular robot (e.g. \"with:submitty-bot tag:status-inreview\").\u003C/p\u003E \n \n\u003Cp\u003EI always wished extensions could automatically save those searches for me, and today, I'm happy to announce that extension installers can now use the savedSearchHook to specify saved searches to be automatically added to the user's nav panel. For example, the Google I/O extension adds a saved search to make it easy to find all the conference waves, using this addition to the installer XML:\u003C/p\u003E\n\n\u003Cpre class=\"code\"\u003E\n\u0026lt;savedSearchHook name=\"Google IO 2010\" query=\"group:io2010-wave@googlegroups.com tag:io2010\"\u0026gt;\u0026lt;/savedSearchHook\u0026gt;\n\u003C/pre\u003E\n\n\u003Cp\u003EFor another example, the \u003Ca href=\"https://wave.google.com/wave/waveref/googlewave.com/w+V3ZKIrZkMt\"\u003ETasky\u003C/a\u003E developer provides users with a \u003Ca href=\"https://wave.google.com/wave/?pli=1#restored:wave:googlewave.com!w%252B0iUY5fqtC\"\u003E\"Tasky Extras\"\u003C/a\u003E extension that adds a set of hooks for finding tasks in various stages of progress:\u003C/p\u003E\n\u003Cpre class=\"code\"\u003E\n\u0026lt;savedSearchHook name=\"Tasky: All\" query=\"with:me tag:task\"\u0026gt;\u0026lt;/savedSearchHook\u0026gt; \n\u0026lt;savedSearchHook name=\"Tasky: Top-Level\" query=\"with:me tag:task -tag:sub-task\"\u0026gt;\u0026lt;/savedSearchHook\u0026gt; \n\u0026lt;savedSearchHook name=\"Tasky: Active\" query=\"with:me tag:task -tag:status-completed -tag:status-canceled -tag:status-rejected\"\u0026gt;\u0026lt;/savedSearchHook\u0026gt; \n\u0026lt;savedSearchHook name=\"Tasky: New\" query=\"with:me tag:status-describing OR tag:status-notstarted OR tag:status-brainstorming past:1w\"\u0026gt;\u0026lt;/savedSearchHook\u0026gt; \n\u003C/pre\u003E\n \n\u003Cp\u003EFor more information, read through the \u003Ca href=\"http://code.google.com/apis/wave/extensions/installers/index.html#Hooks\"\u003Eextension installer documentation\u003C/a\u003E. Stop by \u003Ca href=\"http://code.google.com/apis/wave/forum.html\"\u003Ethe forum\u003C/a\u003E to ask any questions or to share your use of the feature.\u003C/p\u003E\n\u003Cbr /\u003E\n\n\u003Cspan class=\"post-author\"\u003EPosted by Pamela Fox, Developer Relations\u003C/span\u003E\u003Cdiv class=\"blogger-post-footer\"\u003E\u003Cimg src=\"https://blogger.googleusercontent.com/tracker/7938035922388048219-15929871172644285?l=googlewavedev.blogspot.com\" height=\"1\" alt=\"\" width=\"1\" /\u003E\u003C/div\u003E\u003Cimg src=\"http://feeds.feedburner.com/~r/GoogleWaveDeveloperBlog/~4/BjOx9380gBU\" height=\"1\" width=\"1\" /\u003E"} <p>One of my favorite features of Wave is "saved searches." When I use a search query that I want to remember to check later, I click "save search" at the bottom of the search panel, specify a title, and then that search shows up in my nav panel as a link. When a wave matching that search query show up in the search panel, it will be labeled with the saved search terms.</p> <p>I use searches for lots of things - keeping track of waves for particular Google groups (e.g. "group:<a href="mailto:artisticwaves@googlegroups.com">artisticwaves@googlegroups.com</a>"), waves with particular tags (e.g. "tag:wavedevfaq"), waves I've contributed to ("with:me"), and oftentimes, waves created by a particular robot (e.g. "with:submitty-bot tag:status-inreview").</p> <p>I always wished extensions could automatically save those searches for me, and today, I'm happy to announce that extension installers can now use the savedSearchHook to specify saved searches to be automatically added to the user's nav panel. For example, the Google I/O extension adds a saved search to make it easy to find all the conference waves, using this addition to the installer XML:</p> <pre class="code"> &lt;savedSearchHook name="Google IO 2010" query="group:io2010-wave@googlegroups.com tag:io2010"&gt;&lt;/savedSearchHook&gt; </pre> <p>For another example, the <a href="https://wave.google.com/wave/waveref/googlewave.com/w+V3ZKIrZkMt">Tasky</a> developer provides users with a <a href="https://wave.google.com/wave/?pli=1#restored:wave:googlewave.com!w%252B0iUY5fqtC">"Tasky Extras"</a> extension that adds a set of hooks for finding tasks in various stages of progress:</p> <pre class="code"> &lt;savedSearchHook name="Tasky: All" query="with:me tag:task"&gt;&lt;/savedSearchHook&gt; &lt;savedSearchHook name="Tasky: Top-Level" query="with:me tag:task -tag:sub-task"&gt;&lt;/savedSearchHook&gt; &lt;savedSearchHook name="Tasky: Active" query="with:me tag:task -tag:status-completed -tag:status-canceled -tag:status-rejected"&gt;&lt;/savedSearchHook&gt; &lt;savedSearchHook name="Tasky: New" query="with:me tag:status-describing OR tag:status-notstarted OR tag:status-brainstorming past:1w"&gt;&lt;/savedSearchHook&gt; </pre> <p>For more information, read through the <a href="http://code.google.com/apis/wave/extensions/installers/index.html#Hooks">extension installer documentation</a>. Stop by <a href="http://code.google.com/apis/wave/forum.html">the forum</a> to ask any questions or to share your use of the feature.</p> <br /> <span class="post-author">Posted by Pamela Fox, Developer Relations</span><div class="blogger-post-footer"><img src="https://blogger.googleusercontent.com/tracker/7938035922388048219-15929871172644285?l=googlewavedev.blogspot.com" height="1" alt="" width="1" /></div><img src="http://feeds.feedburner.com/~r/GoogleWaveDeveloperBlog/~4/BjOx9380gBU" height="1" width="1" />Tue, 01 Jun 2010 00:25:29 GMThttp://wavecamp.soup.io/post/58434739/Make-your-waves-easier-to-find-withurn:www-soup-io:1:58434739regular [wavecamp] Google Wave platform updates at I/O: See what you can build now! {"tags":[],"type":"regular","title":"\u003Ca href=\"http://feedproxy.google.com/~r/GoogleWaveDeveloperBlog/~3/OKksR8uqjVk/google-wave-platform-updates-at-io-see.html\"\u003EGoogle Wave platform updates at I/O: See what you can build now!\u003C/a\u003E","source":"http://feedproxy.google.com/~r/GoogleWaveDeveloperBlog/~3/OKksR8uqjVk/google-wave-platform-updates-at-io-see.html","body":"\u003Cp\u003EWhen we first launched Google Wave in developer preview mode at last year's I/O, thousands of developers started playing around on \u003Ca href=\"http://WaveSandbox.com\"\u003EWaveSandbox.com\u003C/a\u003E, experimenting with the APIs, and checking out the preliminary set of specs and whitepapers on \u003Ca href=\"http://waveprotocol.org\"\u003Ewaveprotocol.org\u003C/a\u003E. Back then, many developers looked around and decided that they couldn't do what they wanted with the APIs yet, or the protocol wasn't fleshed out enough for their needs, so they filed their feature requests and slowly disappeared from the Wave world.\u003C/p\u003E \n \n\u003Cp\u003EToday, we'd like to encourage all those developers to take a second look. Over the past year, and today at Google I/O, we've launched a series of improvements that make Wave a more compelling platform, product, and protocol, and enable the kind of apps and integrations developers first dreamed of when they encountered Wave.\u003C/p\u003E \n \n\u003Cp\u003EHere's a quick recap of the last few months of API releases:\u003C/p\u003E \n \n\u003Cul\u003E\n\u003Cli\u003EWe introduced (and iterated on!) an \u003Ca href=\"http://googlewave.blogspot.com/2010/05/discover-your-favorite-extension-today.html\"\u003E\u003Cspan\u003Eextensions gallery\u003C/span\u003E\u003C/a\u003E\u003Cspan\u003E, making it easier for users to find extensions.\n \n\u003C/span\u003E\u003C/li\u003E\u003Cli\u003EWe launched \u003C/li\u003E\u003Ca href=\"http://googlewavedev.blogspot.com/2010/03/introducing-robots-api-v2-rise-of.html\"\u003E\u003C/a\u003E\u003Cspan\u003ERobots API v2 and the Active Robots API\u003C/span\u003E\u003Cspan\u003E, making it easier to integrate with external systems. That release, along with \u003Ca href=\"http://mashable.com/2010/04/21/google-wave-api-contest-winners/\"\u003EMashable's Google Wave API Contest\u003C/a\u003E, resulted in robots like Ferry for Google Docs integration, Mr. Ray for email integration, and Salesforce.com's just-announced \u003Ca href=\"http://Force.com\"\u003EForce.com\u003C/a\u003E Toolkit for for the Google Wave APIs, which shows how developers can bring Google Wave together with the \u003Ca href=\"http://Force.com\"\u003EForce.com\u003C/a\u003E platform and Salesforce Chatter.\n\n\u003Cli\u003EWe released \u003C/li\u003E\u003Ca href=\"http://googlewavedev.blogspot.com/2010/04/embed-api-improvements-viewing-public.html\"\u003E\u003C/a\u003E\u003C/span\u003E\u003Cspan\u003Eanonymous read-only access for embedded waves\u003C/span\u003E\u003Cspan\u003E, making Wave a more compelling platform for publishing content and discussions on the web, and leading to some \u003Ca href=\"http://www.fastcompany.com/1639697/google-wave-preps-to-get-its-wow-back\"\u003Elive blogging\u003C/a\u003E experiments.\n\n\u003C/span\u003E\u003C/ul\u003E\n\n\u003Cp\u003EAnd here's what we've announced at I/O:\u003C/p\u003E \n\u003Cul\u003E\n\u003Cli\u003E\u003Cspan\u003ERun robots on any server\u003C/span\u003E\u003Cspan\u003E -- not just App Engine. This means you run robots on your own web servers, and you can use your language of choice, making it significantly easier to write robots that integrate with your existing website and systems. \u003Ca href=\"http://code.google.com/apis/wave/extensions/robots/registration.html\"\u003ERead more in the docs.\u003C/a\u003E\n\u003C/span\u003E\u003C/li\u003E\u003Cli\u003E\u003C/li\u003E\u003Cspan\u003EUse a robot to\u003C/span\u003E\u003Cspan\u003E \u003C/span\u003E\u003Cspan\u003Emanipulate and retrieve attachments\u003C/span\u003E\u003Cspan\u003E within a wave, so you can build something like a wave -\u0026gt; Flickr album converter, a CSV -\u0026gt; interactive map builder, or as we'll be demo'ing live at the \u003Ca href=\"http://code.google.com/events/io/2010/sessions/google-wave-media-apis.html\"\u003EI/O talk\u003C/a\u003E, a wave -\u0026gt; PowerPoint exporter. \u003Ca href=\"http://code.google.com/apis/wave/extensions/robots/attachments.html\"\u003ERead more in the docs\u003C/a\u003E. \n\u003Cli\u003E\u003C/li\u003E\u003C/span\u003E\u003Cspan\u003EUse the\u003C/span\u003E\u003Cspan\u003E \u003C/span\u003E\u003Cspan\u003E\"Wave This\"\u003C/span\u003E\u003Cspan\u003E service to let your website's visitors easily create waves out of the content on your site. You can see an example of it in use with the \u003Ca href=\"https://chrome.google.com/extensions/detail/fdgmdpiobhnblhnhlmngalmeobbmofbm\"\u003EWave This Chrome Extension\u003C/a\u003E. \u003Ca href=\"http://code.google.com/apis/wave/wavethis/\"\u003ERead more in the docs\u003C/a\u003E. \n\u003Cli\u003E\u003C/li\u003E\u003C/span\u003E\u003Cspan\u003EFetch waves on behalf of users with Wave data APIs\u003C/span\u003E to build lightweight clients or apps like what we just launched, the official \u003Ca href=\"https://chrome.google.com/extensions/detail/ihbcpkcoopncbdefilgpnlncpeajenmk?hl=en\"\u003EGoogle Wave Notifier Chrome Extension\u003C/a\u003E. \u003Ca href=\"http://code.google.com/apis/wave/extensions/wavedataapi/index.html\"\u003ERead more in the docs.\u003C/a\u003E \n\u003C/ul\u003E\n\n\u003Cp\u003EBeyond the API releases, we're also open sourcing a lot more of Google Wave's code, including the rich text editor, so you can learn how to run a wave server, like the one \u003Ca href=\"http://googlewavedev.blogspot.com/2010/03/novell-pulse-and-google-wave.html\"\u003ENovell Pulse is working on\u003C/a\u003E, and start prototyping with a simple frontend for editing and replying to waves. You can also extend that code to build your own alternative Wave clients. Today, \u003Ca href=\"http://decisionvelocity.net/2010/05/18/watch-that-stream-become-a-wave/\"\u003ESAP announced\u003C/a\u003E that they are working to adopt the Google Wave Federation Protocol in their product, StreamWork. Stay tuned for another blogpost with more pointers and details.\u003C/p\u003E \n \n\u003Cp\u003ENow, all of this sounds great, but as a developer building on top of a platform, many of you will be most concerned about one thing: users. We've been in invite-only mode for the past year, and built up a loyal user base of about 1 million active users. Today, we will let anyone with a Google account use Google Wave (no more invites!), *and* even better, any company or organization using Google Apps can \u003Ca href=\"http://www.google.com/apps/intl/en/business/wave.html\"\u003Eenable Wave for their domain\u003C/a\u003E. So, there should both be more users who want to use your extensions and more businesses that want developers to build extensions for them. Win-win!\u003C/p\u003E \n \n\u003Cp\u003EWe're not done yet, of course. The product and the APIs are in Labs, because we think it's important to stay flexible when creating a whole new paradigm in web based communication and collaboration. We want to be able to respond to your feedback, and we still have a lot left to do to make the vision a reality.\u003C/p\u003E \n \n\u003Cp\u003EBut we think we've made good progress with these improvements, and we invite you to check them out, give us your feedback, and hopefully join us on the rest of this journey.\u003C/p\u003E \n\n\u003Cbr /\u003E\n\u003Cspan class=\"post-author\"\u003EPosted by Pamela Fox, Developer Relations, Google Wave Team\u003C/span\u003E\u003Cdiv class=\"blogger-post-footer\"\u003E\u003Cimg src=\"https://blogger.googleusercontent.com/tracker/7938035922388048219-6247171720318608505?l=googlewavedev.blogspot.com\" height=\"1\" alt=\"\" width=\"1\" /\u003E\u003C/div\u003E\u003Cimg src=\"http://feeds.feedburner.com/~r/GoogleWaveDeveloperBlog/~4/OKksR8uqjVk\" height=\"1\" width=\"1\" /\u003E"} <p>When we first launched Google Wave in developer preview mode at last year's I/O, thousands of developers started playing around on <a href="http://WaveSandbox.com">WaveSandbox.com</a>, experimenting with the APIs, and checking out the preliminary set of specs and whitepapers on <a href="http://waveprotocol.org">waveprotocol.org</a>. Back then, many developers looked around and decided that they couldn't do what they wanted with the APIs yet, or the protocol wasn't fleshed out enough for their needs, so they filed their feature requests and slowly disappeared from the Wave world.</p> <p>Today, we'd like to encourage all those developers to take a second look. Over the past year, and today at Google I/O, we've launched a series of improvements that make Wave a more compelling platform, product, and protocol, and enable the kind of apps and integrations developers first dreamed of when they encountered Wave.</p> <p>Here's a quick recap of the last few months of API releases:</p> <ul> <li>We introduced (and iterated on!) an <a href="http://googlewave.blogspot.com/2010/05/discover-your-favorite-extension-today.html"><span>extensions gallery</span></a><span>, making it easier for users to find extensions. </span></li><li>We launched </li><a href="http://googlewavedev.blogspot.com/2010/03/introducing-robots-api-v2-rise-of.html"></a><span>Robots API v2 and the Active Robots API</span><span>, making it easier to integrate with external systems. That release, along with <a href="http://mashable.com/2010/04/21/google-wave-api-contest-winners/">Mashable's Google Wave API Contest</a>, resulted in robots like Ferry for Google Docs integration, Mr. Ray for email integration, and Salesforce.com's just-announced <a href="http://Force.com">Force.com</a> Toolkit for for the Google Wave APIs, which shows how developers can bring Google Wave together with the <a href="http://Force.com">Force.com</a> platform and Salesforce Chatter. <li>We released </li><a href="http://googlewavedev.blogspot.com/2010/04/embed-api-improvements-viewing-public.html"></a></span><span>anonymous read-only access for embedded waves</span><span>, making Wave a more compelling platform for publishing content and discussions on the web, and leading to some <a href="http://www.fastcompany.com/1639697/google-wave-preps-to-get-its-wow-back">live blogging</a> experiments. </span></ul> <p>And here's what we've announced at I/O:</p> <ul> <li><span>Run robots on any server</span><span> -- not just App Engine. This means you run robots on your own web servers, and you can use your language of choice, making it significantly easier to write robots that integrate with your existing website and systems. <a href="http://code.google.com/apis/wave/extensions/robots/registration.html">Read more in the docs.</a> </span></li><li></li><span>Use a robot to</span><span> </span><span>manipulate and retrieve attachments</span><span> within a wave, so you can build something like a wave -&gt; Flickr album converter, a CSV -&gt; interactive map builder, or as we'll be demo'ing live at the <a href="http://code.google.com/events/io/2010/sessions/google-wave-media-apis.html">I/O talk</a>, a wave -&gt; PowerPoint exporter. <a href="http://code.google.com/apis/wave/extensions/robots/attachments.html">Read more in the docs</a>. <li></li></span><span>Use the</span><span> </span><span>"Wave This"</span><span> service to let your website's visitors easily create waves out of the content on your site. You can see an example of it in use with the <a href="https://chrome.google.com/extensions/detail/fdgmdpiobhnblhnhlmngalmeobbmofbm">Wave This Chrome Extension</a>. <a href="http://code.google.com/apis/wave/wavethis/">Read more in the docs</a>. <li></li></span><span>Fetch waves on behalf of users with Wave data APIs</span> to build lightweight clients or apps like what we just launched, the official <a href="https://chrome.google.com/extensions/detail/ihbcpkcoopncbdefilgpnlncpeajenmk?hl=en">Google Wave Notifier Chrome Extension</a>. <a href="http://code.google.com/apis/wave/extensions/wavedataapi/index.html">Read more in the docs.</a> </ul> <p>Beyond the API releases, we're also open sourcing a lot more of Google Wave's code, including the rich text editor, so you can learn how to run a wave server, like the one <a href="http://googlewavedev.blogspot.com/2010/03/novell-pulse-and-google-wave.html">Novell Pulse is working on</a>, and start prototyping with a simple frontend for editing and replying to waves. You can also extend that code to build your own alternative Wave clients. Today, <a href="http://decisionvelocity.net/2010/05/18/watch-that-stream-become-a-wave/">SAP announced</a> that they are working to adopt the Google Wave Federation Protocol in their product, StreamWork. Stay tuned for another blogpost with more pointers and details.</p> <p>Now, all of this sounds great, but as a developer building on top of a platform, many of you will be most concerned about one thing: users. We've been in invite-only mode for the past year, and built up a loyal user base of about 1 million active users. Today, we will let anyone with a Google account use Google Wave (no more invites!), *and* even better, any company or organization using Google Apps can <a href="http://www.google.com/apps/intl/en/business/wave.html">enable Wave for their domain</a>. So, there should both be more users who want to use your extensions and more businesses that want developers to build extensions for them. Win-win!</p> <p>We're not done yet, of course. The product and the APIs are in Labs, because we think it's important to stay flexible when creating a whole new paradigm in web based communication and collaboration. We want to be able to respond to your feedback, and we still have a lot left to do to make the vision a reality.</p> <p>But we think we've made good progress with these improvements, and we invite you to check them out, give us your feedback, and hopefully join us on the rest of this journey.</p> <br /> <span class="post-author">Posted by Pamela Fox, Developer Relations, Google Wave Team</span><div class="blogger-post-footer"><img src="https://blogger.googleusercontent.com/tracker/7938035922388048219-6247171720318608505?l=googlewavedev.blogspot.com" height="1" alt="" width="1" /></div><img src="http://feeds.feedburner.com/~r/GoogleWaveDeveloperBlog/~4/OKksR8uqjVk" height="1" width="1" />Wed, 19 May 2010 17:08:53 GMThttp://wavecamp.soup.io/post/56866454/Google-Wave-platform-updates-at-I-Ourn:www-soup-io:1:56866454regular [wavecamp] New features for Robots: Bundled Annotations, Inline Blips, Read-Only Roles {"tags":[],"type":"regular","title":"\u003Ca href=\"http://feedproxy.google.com/~r/GoogleWaveDeveloperBlog/~3/mrU38T12Wsw/new-features-for-robots-bundled.html\"\u003ENew features for Robots: Bundled Annotations, Inline Blips, Read-Only Roles\u003C/a\u003E","source":"http://feedproxy.google.com/~r/GoogleWaveDeveloperBlog/~3/mrU38T12Wsw/new-features-for-robots-bundled.html","body":"\u003Cp\u003EOver the last few releases, we've been rolling out incremental improvements to the \u003Cspan\u003Erobots API\u003C/span\u003E\u003Cspan\u003E, based on the feedback from all of you developers. For those of you who haven't been reading the \u003Ca href=\"http://code.google.com/apis/wave/forum.html\"\u003Eforum\u003C/a\u003E waves and changelogs, here's a summary of the new features:\u003C/span\u003E\u003C/p\u003E \n \n\u003Cp\u003E\u003Cspan\u003EBundled Annotations\u003C/span\u003E\u003Cspan\u003E:\u003C/span\u003E\u003C/p\u003E \n \n\u003Cp\u003EWhen you're adding new text to a blip, you often want to annotate that text with a particular set of annotations. In the past, you had to calculate the range of that text and use the annotate operation, like so:\u003Cbr /\u003E\n\u003C/p\u003E\u003Cpre class=\"code\"\u003E\nblip.append('New text')\nblip.range(len(blip.text), len(blip.text)+8).annotate('style/fontWeight', 'bold')\n\u003C/pre\u003E\n\n\u003Cspan\u003E\u003Cbr /\u003EThis often led to off-by-1 errors and frustration. Now with bundled annotations, you can specify both the content to append and the annotation(s) to apply to that content, all in the same operation, like so:\u003Cbr /\u003E\u003C/span\u003E\n\u003Cpre class=\"code\"\u003E\nblip.append('New Text', bundled_annotations=[('style/fontWeight', 'bold')])\n\u003C/pre\u003E \n \n\u003Cp\u003E\u003Cspan\u003EFor more information, read the \u003Ca href=\"https://wave.google.com/wave/waveref/googlewave.com/w+WtMrv2glD\"\u003Eannouncement wave\u003C/a\u003E.\u003C/span\u003E\u003C/p\u003E \n\u003Cbr /\u003E\n\u003Cp\u003E\u003Cspan\u003EInline Blip Positions:\u003Cbr /\u003E\u003C/span\u003E\u003Cspan\u003E\u003Cbr /\u003ESeveral robots produce alternate rendering of waves, like \u003Ca href=\"http://wave.to/projects/mr-ray\"\u003EMr. Ray\u003C/a\u003E and its \u003Ca href=\"http://wave.to/google-io-2010/wave-lite\"\u003E\"Wave Lite\"\u003C/a\u003E view, and those robots needed to know the positions of inline blips inside other blips for a more accurate rendering. To help with this, we introduced a new attribute to the Blip classes to let robots access that position. For more info, see the \u003Ca href=\"http://wave-robot-python-client.googlecode.com/svn/trunk/pydocs/index.html#blip.Blip.inline_blip_offset\"\u003EPython\u003C/a\u003E or \u003Ca href=\"http://wave-robot-java-client.googlecode.com/svn/trunk/doc/com/google/wave/api/Blip.html#getInlineBlipOffset()\"\u003EJava reference\u003C/a\u003E.\u003C/span\u003E\u003C/p\u003E \n\u003Cbr /\u003E\n\u003Cp\u003E\u003Cspan\u003ERead Only Roles:\u003Cbr /\u003E\u003C/span\u003E\u003Cspan\u003E\u003Cbr /\u003EA few months ago Google Wave \u003Ca href=\"http://googlewave.blogspot.com/2010/01/new-features-read-only-and-restore.html\"\u003Elaunched the ability to have \"Read-only\" participants\u003C/a\u003E, which lets the creator of a wave set access rights for the other participants as either \"full access\" (the default) or \"read only\". We now offer that same ability in the API, so a robot that creates a wave can set the access rights of all the participants on the wave, like so:\u003Cbr /\u003E\u003C/span\u003E\n\n\u003C/p\u003E\u003Cpre class=\"code\"\u003E\nnew_wave.participants.set_role('public@a.gwave.com', wavelet.Participants.ROLE_READ_ONLY)\n\u003C/pre\u003E\n \n\u003Cp\u003E\u003Cspan\u003EFor more information, read the \u003Ca href=\"https://wave.google.com/wave/waveref/googlewave.com/w+l_zuOVEmB\"\u003Eannouncement wave\u003C/a\u003E.\u003C/span\u003E\u003C/p\u003E \n \n\u003Cp\u003ECheck out the new features, and let us know in the \u003Ca href=\"http://code.google.com/apis/wave/forum.html\"\u003Eforum\u003C/a\u003E how you're using them in your robots.\u003C/p\u003E\n\u003Cbr /\u003E\n\u003Cspan class=\"post-author\"\u003EPosted by Pamela Fox, Developer Relations\u003C/span\u003E\u003Cdiv class=\"blogger-post-footer\"\u003E\u003Cimg src=\"https://blogger.googleusercontent.com/tracker/7938035922388048219-9026652106052134450?l=googlewavedev.blogspot.com\" height=\"1\" alt=\"\" width=\"1\" /\u003E\u003C/div\u003E\u003Cimg src=\"http://feeds.feedburner.com/~r/GoogleWaveDeveloperBlog/~4/mrU38T12Wsw\" height=\"1\" width=\"1\" /\u003E\u003Cp\u003E\u003C/p\u003E\u003Cp\u003E\u003C/p\u003E"} <p>Over the last few releases, we've been rolling out incremental improvements to the <span>robots API</span><span>, based on the feedback from all of you developers. For those of you who haven't been reading the <a href="http://code.google.com/apis/wave/forum.html">forum</a> waves and changelogs, here's a summary of the new features:</span></p> <p><span>Bundled Annotations</span><span>:</span></p> <p>When you're adding new text to a blip, you often want to annotate that text with a particular set of annotations. In the past, you had to calculate the range of that text and use the annotate operation, like so:<br /> </p><pre class="code"> blip.append('New text') blip.range(len(blip.text), len(blip.text)+8).annotate('style/fontWeight', 'bold') </pre> <span><br />This often led to off-by-1 errors and frustration. Now with bundled annotations, you can specify both the content to append and the annotation(s) to apply to that content, all in the same operation, like so:<br /></span> <pre class="code"> blip.append('New Text', bundled_annotations=[('style/fontWeight', 'bold')]) </pre> <p><span>For more information, read the <a href="https://wave.google.com/wave/waveref/googlewave.com/w+WtMrv2glD">announcement wave</a>.</span></p> <br /> <p><span>Inline Blip Positions:<br /></span><span><br />Several robots produce alternate rendering of waves, like <a href="http://wave.to/projects/mr-ray">Mr. Ray</a> and its <a href="http://wave.to/google-io-2010/wave-lite">"Wave Lite"</a> view, and those robots needed to know the positions of inline blips inside other blips for a more accurate rendering. To help with this, we introduced a new attribute to the Blip classes to let robots access that position. For more info, see the <a href="http://wave-robot-python-client.googlecode.com/svn/trunk/pydocs/index.html#blip.Blip.inline_blip_offset">Python</a> or <a href="http://wave-robot-java-client.googlecode.com/svn/trunk/doc/com/google/wave/api/Blip.html#getInlineBlipOffset()">Java reference</a>.</span></p> <br /> <p><span>Read Only Roles:<br /></span><span><br />A few months ago Google Wave <a href="http://googlewave.blogspot.com/2010/01/new-features-read-only-and-restore.html">launched the ability to have "Read-only" participants</a>, which lets the creator of a wave set access rights for the other participants as either "full access" (the default) or "read only". We now offer that same ability in the API, so a robot that creates a wave can set the access rights of all the participants on the wave, like so:<br /></span> </p><pre class="code"> new_wave.participants.set_role('public@a.gwave.com', wavelet.Participants.ROLE_READ_ONLY) </pre> <p><span>For more information, read the <a href="https://wave.google.com/wave/waveref/googlewave.com/w+l_zuOVEmB">announcement wave</a>.</span></p> <p>Check out the new features, and let us know in the <a href="http://code.google.com/apis/wave/forum.html">forum</a> how you're using them in your robots.</p> <br /> <span class="post-author">Posted by Pamela Fox, Developer Relations</span><div class="blogger-post-footer"><img src="https://blogger.googleusercontent.com/tracker/7938035922388048219-9026652106052134450?l=googlewavedev.blogspot.com" height="1" alt="" width="1" /></div><img src="http://feeds.feedburner.com/~r/GoogleWaveDeveloperBlog/~4/mrU38T12Wsw" height="1" width="1" /><p></p><p></p>Wed, 12 May 2010 18:41:40 GMThttp://wavecamp.soup.io/post/56163025/New-features-for-Robots-Bundled-Annotations-Inlineurn:www-soup-io:1:56163025regular [wavecamp] Embed API Improvements: Viewing public waves without a wave account {"tags":[],"type":"regular","title":"\u003Ca href=\"http://feedproxy.google.com/~r/GoogleWaveDeveloperBlog/~3/qdSr7rMsno0/embed-api-improvements-viewing-public.html\"\u003EEmbed API Improvements: Viewing public waves without a wave account\u003C/a\u003E","source":"http://feedproxy.google.com/~r/GoogleWaveDeveloperBlog/~3/qdSr7rMsno0/embed-api-improvements-viewing-public.html","body":"\u003Cp\u003EWe recently introduced a new API for embedding waves, which includes a powerful new feature: anonymous, read-only access to public waves. Prior to this launch, webmasters could embed waves into their sites, but visitors could only see the content of the embedded wave if they had a Google Wave account, were logged in, and had access to that particular wave. Now, all waves with public@a.gwave.com (or a properly \u003Ca href=\"http://www.google.com/support/wave/bin/answer.py?answer=168248\"\u003Econfigured Google Group\u003C/a\u003E) as a participant can be embedded in a website so their content can be read by those who don't have a wave account (or simply aren't logged in).\u003C/p\u003E \n\n\u003Cp\u003EYou can view an example of this below or see it in action by visiting the \u003Ca href=\"http://code.google.com/apis/wave/extensions/robots/python-walkthrough.html\"\u003EKitchenSinky walkthrough documentation\u003C/a\u003E.\u003C/p\u003E \n\u003Cbr /\u003E\n\u003Cp\u003E\u003Ca href=\"http://1.bp.blogspot.com/_TinOg0_YgIQ/S9sWhcS-eKI/AAAAAAAATCA/NMUoN9_N1gs/s1600/mashable-embed2.jpg\"\u003E\u003Cimg src=\"http://1.bp.blogspot.com/_TinOg0_YgIQ/S9sWhcS-eKI/AAAAAAAATCA/NMUoN9_N1gs/s320/mashable-embed2.jpg\" alt=\"\" /\u003E\u003C/a\u003E\u003C/p\u003E\n\u003Cbr /\u003E\n\n\u003Cp\u003EThe new embed API also provides some optional parameters, like the ability to display participants in the the header panel or to include the toolbar. With an embedded wave, users are able to discuss topics in realtime and even catch up by playing back the exchange. Additionally, it provides a mechanism for staying involved in the conversation without requiring the user to constantly check the host site for updates.\u003C/p\u003E \n \n\u003Cp\u003ETo get started with the API, please visit the \u003Ca href=\"http://code.google.com/apis/wave/embed/guide.html\"\u003Etutorial\u003C/a\u003E and consult the \u003Ca href=\"http://code.google.com/apis/wave/embed/reference.html\"\u003EAPI reference\u003C/a\u003E.\u003C/p\u003E \n \n\u003Cp\u003EIf you're just interested in quickly getting a wave embedded on your site, you can simply make the wave and then get the code to paste into your site using the new \u003Ca href=\"http://www.google.com/webelements/wave/\"\u003EWave Element\u003C/a\u003E.\u003C/p\u003E \n \n\u003Cp\u003EAs you're diving in, here are a few ideas for ways to make use of embedded waves:\u003C/p\u003E\u003Cul\u003E\u003Cli\u003EUse a wave to do live-blogging (or \"live-waving\" as we call it) about breaking news. You can provide up-to-the-second commentary for an election, earnings call, sporting event, or product announcement -- and even combine points of view from multiple bloggers into a single wave.\u003C/li\u003E\u003Cli\u003EDisplay realtime RSVPs to an event with the Yes/No/Maybe gadget. Participants can also add comments for everyone to see.\u003C/li\u003E\u003Cli\u003EPublish documentation or other articles via embedded waves. It's easy to update and readers can simply follow the wave to stay in the loop on changes. For example, we publish the \u003Ca href=\"http://code.google.com/p/google-wave-resources/wiki/WaveAPIsChangeLog\"\u003EWave API release changelog\u003C/a\u003E as an embedded wave.\u003C/li\u003E\u003Cli\u003ETake advantage of the \u003Ca href=\"http://code.google.com/apis/wave/extensions/robots/operations.html#ActiveRobotAPI\"\u003Eactive robots API\u003C/a\u003E and create waves programmatically for embedding in a variety of sites, such as a private messaging system for a social network, a shared collaborative workspace in a productivity tool, or as a customer support system.\u003C/li\u003E\u003C/ul\u003E \n \n\u003Cp\u003EWe hope you find this new API and this new level of access useful, and we have more improvements to the embed API on the way. For example, at the moment, embedded waves do not work in Internet Explorer (even with Google Chrome Frame), but we will be resolving that issue.\u003C/p\u003E \n \n\u003Cp\u003EWe look forward to seeing what you come up with. If you have questions or comments, please discuss in the \u003Ca href=\"http://code.google.com/apis/wave/forum.html\"\u003Eforum\u003C/a\u003E.\u003C/p\u003E\n\u003Cbr /\u003E\n\u003Cspan class=\"post-author\"\u003EPosted by Dhanji R. Prasanna, Software Engineer, Google Wave team\u003C/span\u003E\u003Cdiv class=\"blogger-post-footer\"\u003E\u003Cimg src=\"https://blogger.googleusercontent.com/tracker/7938035922388048219-3579505361249941357?l=googlewavedev.blogspot.com\" height=\"1\" alt=\"\" width=\"1\" /\u003E\u003C/div\u003E\u003Cimg src=\"http://feeds.feedburner.com/~r/GoogleWaveDeveloperBlog/~4/qdSr7rMsno0\" height=\"1\" width=\"1\" /\u003E"} <p>We recently introduced a new API for embedding waves, which includes a powerful new feature: anonymous, read-only access to public waves. Prior to this launch, webmasters could embed waves into their sites, but visitors could only see the content of the embedded wave if they had a Google Wave account, were logged in, and had access to that particular wave. Now, all waves with <a href="mailto:public@a.gwave.com">public@a.gwave.com</a> (or a properly <a href="http://www.google.com/support/wave/bin/answer.py?answer=168248">configured Google Group</a>) as a participant can be embedded in a website so their content can be read by those who don't have a wave account (or simply aren't logged in).</p> <p>You can view an example of this below or see it in action by visiting the <a href="http://code.google.com/apis/wave/extensions/robots/python-walkthrough.html">KitchenSinky walkthrough documentation</a>.</p> <br /> <p><a href="http://1.bp.blogspot.com/_TinOg0_YgIQ/S9sWhcS-eKI/AAAAAAAATCA/NMUoN9_N1gs/s1600/mashable-embed2.jpg"><img src="http://1.bp.blogspot.com/_TinOg0_YgIQ/S9sWhcS-eKI/AAAAAAAATCA/NMUoN9_N1gs/s320/mashable-embed2.jpg" alt="" /></a></p> <br /> <p>The new embed API also provides some optional parameters, like the ability to display participants in the the header panel or to include the toolbar. With an embedded wave, users are able to discuss topics in realtime and even catch up by playing back the exchange. Additionally, it provides a mechanism for staying involved in the conversation without requiring the user to constantly check the host site for updates.</p> <p>To get started with the API, please visit the <a href="http://code.google.com/apis/wave/embed/guide.html">tutorial</a> and consult the <a href="http://code.google.com/apis/wave/embed/reference.html">API reference</a>.</p> <p>If you're just interested in quickly getting a wave embedded on your site, you can simply make the wave and then get the code to paste into your site using the new <a href="http://www.google.com/webelements/wave/">Wave Element</a>.</p> <p>As you're diving in, here are a few ideas for ways to make use of embedded waves:</p><ul><li>Use a wave to do live-blogging (or "live-waving" as we call it) about breaking news. You can provide up-to-the-second commentary for an election, earnings call, sporting event, or product announcement -- and even combine points of view from multiple bloggers into a single wave.</li><li>Display realtime RSVPs to an event with the Yes/No/Maybe gadget. Participants can also add comments for everyone to see.</li><li>Publish documentation or other articles via embedded waves. It's easy to update and readers can simply follow the wave to stay in the loop on changes. For example, we publish the <a href="http://code.google.com/p/google-wave-resources/wiki/WaveAPIsChangeLog">Wave API release changelog</a> as an embedded wave.</li><li>Take advantage of the <a href="http://code.google.com/apis/wave/extensions/robots/operations.html#ActiveRobotAPI">active robots API</a> and create waves programmatically for embedding in a variety of sites, such as a private messaging system for a social network, a shared collaborative workspace in a productivity tool, or as a customer support system.</li></ul> <p>We hope you find this new API and this new level of access useful, and we have more improvements to the embed API on the way. For example, at the moment, embedded waves do not work in Internet Explorer (even with Google Chrome Frame), but we will be resolving that issue.</p> <p>We look forward to seeing what you come up with. If you have questions or comments, please discuss in the <a href="http://code.google.com/apis/wave/forum.html">forum</a>.</p> <br /> <span class="post-author">Posted by Dhanji R. Prasanna, Software Engineer, Google Wave team</span><div class="blogger-post-footer"><img src="https://blogger.googleusercontent.com/tracker/7938035922388048219-3579505361249941357?l=googlewavedev.blogspot.com" height="1" alt="" width="1" /></div><img src="http://feeds.feedburner.com/~r/GoogleWaveDeveloperBlog/~4/qdSr7rMsno0" height="1" width="1" />Fri, 30 Apr 2010 17:51:06 GMThttp://wavecamp.soup.io/post/54709868/Embed-API-Improvements-Viewing-public-waves-withouturn:www-soup-io:1:54709868regular [wavecamp] The API v2 Robots Have Risen: Check them out! {"tags":[],"type":"regular","title":"\u003Ca href=\"http://feedproxy.google.com/~r/GoogleWaveDeveloperBlog/~3/-moz2ikVn28/api-v2-robots-have-risen-check-them-out.html\"\u003EThe API v2 Robots Have Risen: Check them out!\u003C/a\u003E","source":"http://feedproxy.google.com/~r/GoogleWaveDeveloperBlog/~3/-moz2ikVn28/api-v2-robots-have-risen-check-them-out.html","body":"\u003Cp\u003EWe launched the \u003Ca href=\"http://googlewavedev.blogspot.com/2010/03/introducing-robots-api-v2-rise-of.html\"\u003Enew Robots API (v2)\u003C/a\u003E last month, and since then, we've seen a a slew of new and interesting robots from Google Wave developers -- proving that robots can now be used in more ways than ever before.\u003C/p\u003E \n \n\u003Cp\u003EWe want to share some examples here, to give you a taste of the possibilities:\u003C/p\u003E \n\u003Cbr /\u003E\n\u003Ctable\u003E\n\u003Ctr\u003E\n\u003Ctd\u003E\u003Cimg src=\"http://pushyrobot.appspot.com/assets/icon.png\" height=\"100\" width=\"100\" /\u003E\n\u003C/td\u003E\n\u003Ctd\u003E\n\u003Cspan\u003EPushy\u003C/span\u003E: This robot accepts any form of HTTP post and adds the content as a new message on the wave. It has special handling for the post-commit hooks on github and googlecode. The developer created this robot because he uses Google Wave at his company, and he wanted a way to have waves be updated based on their github project activity I've personally been using it to subscribe to updates on our google-wave-resources project. You can check out the source code from the \u003Ca href=\"http://wave-samples-gallery.appspot.com/about_app?app_id=114001\"\u003Esamples gallery\u003C/a\u003E, and install it from the \u003Ca href=\"https://wave.google.com/wave/?pli=1#restored:search:group%253Agoogle-wave-extension-gallery%2540googlegroups.com,restored:wave:googlewave.com!w%252B-sIsArZkMU.2\"\u003Egallery wave\u003C/a\u003E. \n\u003C/td\u003E\n\u003C/tr\u003E\n\u003Ctr\u003E\n\u003Ctd\u003E\n\u003Cimg src=\"http://docxwave.appspot.com/profile/avatar.png\" height=\"100\" width=\"100\" /\u003E\n\u003C/td\u003E\n\u003Ctd\u003E\n\u003Cspan\u003EdocXwave\u003C/span\u003E: This robot imports .docx (Microsoft Word) files into a wave, converting the formatting and even tables, using a table gadget. The developer is a part of Plutext, a group of developers working on various Microsoft Word related efforts and an open source OpenXML file converter python module. You can install it from the \u003Ca href=\"https://wave.google.com/wave/#restored:search:group%253Agoogle-wave-extension-gallery-all%2540googlegroups.com,restored:wave:googlewave.com!w%252BSwU9zrZkk\"\u003Egallery wave\u003C/a\u003E. \n\u003C/td\u003E\n\u003C/tr\u003E\n\u003Ctr\u003E\n\u003Ctd\u003E\n\u003Cimg src=\"http://ferrybot.appspot.com/gadget/thumb2.png\" height=\"100\" width=\"100\" /\u003E\n\u003C/td\u003E\n\u003Ctd\u003E\n\u003Cspan\u003EFerry\u003C/span\u003E: This robot exports Google waves to Google documents, letting you specify if you want to continually export, and if you want to export everything or just the root blip. This is useful for people that want to export to a Google doc for the printing, exporting, or extra formatting capabilities. You can install it from the \u003Ca href=\"https://wave.google.com/wave/?pli=1#restored:wave:googlewave.com!w%252B19YUd7ZkLU\"\u003Egallery wave\u003C/a\u003E.\n\u003C/td\u003E\n\u003C/tr\u003E\n\u003Ctr\u003E\n\u003Ctd\u003E\n\u003Cimg src=\"http://robot-robot.appspot.com/assets/icon.png\" height=\"100\" width=\"100\" /\u003E\n\u003C/td\u003E\n\u003Ctd\u003E\n\u003Cspan\u003Erobot-robot\u003C/span\u003E: The robot lets you write code inside a wave, and run that code as a robot on another wave. This means that you can get started playing around with the APIs, without having to setup an App Engine account and your own project. I'm looking forward to using it for live demos and codelabs. You can check out the source code from the \u003Ca href=\"http://wave-samples-gallery.appspot.com/about_app?app_id=164001\"\u003Esamples gallery\u003C/a\u003E, and install it from the \u003Ca href=\"https://wave.google.com/wave/?pli=1#restored:wave:googlewave.com!w%252BCPKVVbZkBsC\"\u003Egallery wave\u003C/a\u003E. You might also be interested in \"\u003Ca href=\"http://as-a-robot.appspot.com/\"\u003Eas-a-robot\u003C/a\u003E\", another robot-writing robot from a different developer. Great developers think alike! \n\u003C/td\u003E\n\u003C/tr\u003E\n\u003Ctr\u003E\n\u003Ctd\u003E\n\u003Cimg src=\"http://mr-ray.appspot.com/web/media/icon.png\" height=\"100\" width=\"100\" /\u003E\n\u003C/td\u003E\n\u003Ctd\u003E\n\u003Cspan\u003EMr. Ray: \u003C/span\u003EThis robot makes it possible to use wave with people not on wave - you add their emails via a gadget, and the robot emails them a static copy of the wave. When they reply in the static interface, it syncs the reply back into the wave. It's a fantastic use of the proxying for feature in the new API, and of course, the active API. It's also incredibly useful - I'm using it to plan an event with high school friends, who are all highly addicted to their email system of choice. You can install Mr. Ray from the \u003Ca href=\"https://wave.google.com/wave/?pli=1#restored:wave:googlewave.com!w%252BmIb3SrZkcw\"\u003Egallery wave\u003C/a\u003E. \n\u003C/td\u003E\n\u003C/tr\u003E\n\u003C/table\u003E\n\n\u003Cp\u003EIf you're working on your own API v2 robots, be sure to share them in \u003Ca href=\"http://code.google.com/apis/wave/forum.html\"\u003Ethe forum\u003C/a\u003E and in the \u003Ca href=\"http://code.google.com/apis/wave/submitextension.html\"\u003Eextensions gallery\u003C/a\u003E. We look forward to seeing what your creative minds come up with.\u003C/p\u003E \n\u003Cbr /\u003E\n\u003Cspan class=\"post-author\"\u003EPosted by Pamela Fox, Developer Relations\u003C/span\u003E\u003Cdiv class=\"blogger-post-footer\"\u003E\u003Cimg src=\"https://blogger.googleusercontent.com/tracker/7938035922388048219-2899527433709737987?l=googlewavedev.blogspot.com\" height=\"1\" alt=\"\" width=\"1\" /\u003E\u003C/div\u003E\u003Cimg src=\"http://feeds.feedburner.com/~r/GoogleWaveDeveloperBlog/~4/-moz2ikVn28\" height=\"1\" width=\"1\" /\u003E"} <p>We launched the <a href="http://googlewavedev.blogspot.com/2010/03/introducing-robots-api-v2-rise-of.html">new Robots API (v2)</a> last month, and since then, we've seen a a slew of new and interesting robots from Google Wave developers -- proving that robots can now be used in more ways than ever before.</p> <p>We want to share some examples here, to give you a taste of the possibilities:</p> <br /> <img src="http://pushyrobot.appspot.com/assets/icon.png" height="100" width="100" /> <span>Pushy</span>: This robot accepts any form of HTTP post and adds the content as a new message on the wave. It has special handling for the post-commit hooks on github and googlecode. The developer created this robot because he uses Google Wave at his company, and he wanted a way to have waves be updated based on their github project activity I've personally been using it to subscribe to updates on our google-wave-resources project. You can check out the source code from the <a href="http://wave-samples-gallery.appspot.com/about_app?app_id=114001">samples gallery</a>, and install it from the <a href="https://wave.google.com/wave/?pli=1#restored:search:group%253Agoogle-wave-extension-gallery%2540googlegroups.com,restored:wave:googlewave.com!w%252B-sIsArZkMU.2">gallery wave</a>. <img src="http://docxwave.appspot.com/profile/avatar.png" height="100" width="100" /> <span>docXwave</span>: This robot imports .docx (Microsoft Word) files into a wave, converting the formatting and even tables, using a table gadget. The developer is a part of Plutext, a group of developers working on various Microsoft Word related efforts and an open source OpenXML file converter python module. You can install it from the <a href="https://wave.google.com/wave/#restored:search:group%253Agoogle-wave-extension-gallery-all%2540googlegroups.com,restored:wave:googlewave.com!w%252BSwU9zrZkk">gallery wave</a>. <img src="http://ferrybot.appspot.com/gadget/thumb2.png" height="100" width="100" /> <span>Ferry</span>: This robot exports Google waves to Google documents, letting you specify if you want to continually export, and if you want to export everything or just the root blip. This is useful for people that want to export to a Google doc for the printing, exporting, or extra formatting capabilities. You can install it from the <a href="https://wave.google.com/wave/?pli=1#restored:wave:googlewave.com!w%252B19YUd7ZkLU">gallery wave</a>. <img src="http://robot-robot.appspot.com/assets/icon.png" height="100" width="100" /> <span>robot-robot</span>: The robot lets you write code inside a wave, and run that code as a robot on another wave. This means that you can get started playing around with the APIs, without having to setup an App Engine account and your own project. I'm looking forward to using it for live demos and codelabs. You can check out the source code from the <a href="http://wave-samples-gallery.appspot.com/about_app?app_id=164001">samples gallery</a>, and install it from the <a href="https://wave.google.com/wave/?pli=1#restored:wave:googlewave.com!w%252BCPKVVbZkBsC">gallery wave</a>. You might also be interested in "<a href="http://as-a-robot.appspot.com/">as-a-robot</a>", another robot-writing robot from a different developer. Great developers think alike! <img src="http://mr-ray.appspot.com/web/media/icon.png" height="100" width="100" /> <span>Mr. Ray: </span>This robot makes it possible to use wave with people not on wave - you add their emails via a gadget, and the robot emails them a static copy of the wave. When they reply in the static interface, it syncs the reply back into the wave. It's a fantastic use of the proxying for feature in the new API, and of course, the active API. It's also incredibly useful - I'm using it to plan an event with high school friends, who are all highly addicted to their email system of choice. You can install Mr. Ray from the <a href="https://wave.google.com/wave/?pli=1#restored:wave:googlewave.com!w%252BmIb3SrZkcw">gallery wave</a>. <p>If you're working on your own API v2 robots, be sure to share them in <a href="http://code.google.com/apis/wave/forum.html">the forum</a> and in the <a href="http://code.google.com/apis/wave/submitextension.html">extensions gallery</a>. We look forward to seeing what your creative minds come up with.</p> <br /> <span class="post-author">Posted by Pamela Fox, Developer Relations</span><div class="blogger-post-footer"><img src="https://blogger.googleusercontent.com/tracker/7938035922388048219-2899527433709737987?l=googlewavedev.blogspot.com" height="1" alt="" width="1" /></div><img src="http://feeds.feedburner.com/~r/GoogleWaveDeveloperBlog/~4/-moz2ikVn28" height="1" width="1" />Wed, 28 Apr 2010 09:48:17 GMThttp://wavecamp.soup.io/post/54536254/The-API-v2-Robots-Have-Risen-Checkurn:www-soup-io:1:54536254regular [wavecamp] 10 New Articles; 10 More Ways to Learn the Google Wave APIs {"tags":[],"type":"regular","title":"\u003Ca href=\"http://feedproxy.google.com/~r/GoogleWaveDeveloperBlog/~3/6SemlggQCvs/10-new-articles-10-more-ways-to-learn.html\"\u003E10 New Articles; 10 More Ways to Learn the Google Wave APIs\u003C/a\u003E","source":"http://feedproxy.google.com/~r/GoogleWaveDeveloperBlog/~3/6SemlggQCvs/10-new-articles-10-more-ways-to-learn.html","body":"\u003Cp\u003EWe've added 10 new articles to the \u003Ca href=\"http://code.google.com/apis/wave/articles.html\"\u003Edocumentation\u003C/a\u003E, written by both the Google Wave API team and developers like you, and we hope these articles will give you a new way of understanding how to use the APIs.\u003C/p\u003E \n \n\u003Cp\u003EAfter launching the new robots API a month ago, robot developers have already written a bunch of articles about using it in various ways, from developing in Eclipse to integrating with Salesforce:\u003C/p\u003E \n\u003Cul\u003E\n\u003Cli\u003E\n\u003Ca href=\"http://wave.to/guides/simple-robots-v2\"\u003E\u003Cspan\u003ESimple Guides for Robot API v2\u003C/span\u003E\u003C/a\u003E\u003Cspan\u003E: A series of sample robots that demonstrate accomplishing basic tasks in the new API. All samples are both in Java \u0026amp; Python.\u003C/span\u003E\n\u003C/li\u003E\n\u003Cli\u003E\n\u003Ca href=\"http://www.vogella.de/articles/GoogleWave/article.html\"\u003E\u003Cspan\u003EGoogle Wave Java Robot Tutorial\u003C/span\u003E\u003C/a\u003E\u003Cspan\u003E: Gives a detailed explanation of creating a basic Java robot, and then shows how to extend the robot to respond to commands.\n\u003C/span\u003E\n\u003C/li\u003E\u003Cli\u003E\n\u003Ca href=\"http://googlewaveexperiments.wordpress.com/2010/03/09/episode-1-writing-your-first-google-wave-robot-using-robot-api-v2/\"\u003E\u003Cspan\u003EWriting your First Google Wave Robot with Eclipse\u003C/span\u003E\u003C/a\u003E\u003Cspan\u003E: Shows the steps of creating a basic Java Wave robot using the Eclipse IDE.\n\u003C/span\u003E\n\u003C/li\u003E\n\n\u003Cli\u003E\n\u003Ca href=\"http://d3developer.com/2010/04/01/syncing-google-wave-with-salesforce-chatter/\"\u003E\u003Cspan\u003EWriting a Salesforce Chatter Robot for Google Wave\u003C/span\u003E\u003C/a\u003E\u003Cspan\u003E: Shows how to sync between Google Wave and Salesforce chatter, displaying Salesforce posts in a wave, and syncing wave replies to the Salesforce posts. Uses the Java SDK.\u003C/span\u003E\n\u003C/li\u003E\n\n\u003Cli\u003E\n\u003Ca href=\"https://wave.google.com/wave/#restored:wave:googlewave.com!w%252B1hW-euxPC\"\u003E\u003Cspan\u003EUsing the Deferred Task Queue Library with the Python Wave Robots Library\u003C/span\u003E\u003C/a\u003E\u003Cspan\u003E: Explains how to use the deferred library in the App Engine Python SDK to defer robot operations, like creating new waves or performing many operations in a row.\u003C/span\u003E\n\u003C/li\u003E\n\u003Cli\u003E\n\u003Ca href=\"https://wave.google.com/wave/#restored:wave:googlewave.com!w%252B04QrF_rEE\"\u003E\u003Cspan\u003EResponding to User Selection\u003C/span\u003E\u003C/a\u003E\u003Cspan\u003E: Describes how to use the annotateSelection action in extension installers to create extensions, and more specifically, robots, that respond to and process user-selected text.\n\u003C/span\u003E\u003C/li\u003E\n\u003C/ul\u003E\n \n\u003Cp\u003EMeanwhile, gadget developers have been spreading their knowledge on writing gadgets, with articles on everything from Flex to GWT:\u003C/p\u003E \n\n\u003Cul\u003E\n\u003Cli\u003E\n\u003Ca href=\"http://www.ibm.com/developerworks/library/os-googlewave/index.html\"\u003E\u003Cspan\u003EDeveloping gadgets for Google Wave:\u003C/span\u003E\u003C/a\u003E\u003Cspan\u003E Explains what a wave gadget is, and how to develop a basic gadget.\n\u003C/span\u003E\n\u003C/li\u003E\n\n\u003Cli\u003E\n\u003Ca href=\"http://www.masteringwave.com/2010/03/5-easy-steps-to-create-a-google-wave-gadget-using-flex/\"\u003E\u003Cspan\u003E5 Easy Steps To Create A Google Wave Gadget Using Flex\u003C/span\u003E\u003C/a\u003E\u003Cspan\u003E: Presents a 5-part video tutorial to creating a counter gadget using Flex (Flash Builder and Flex 4, specifically).\u003C/span\u003E\n\u003C/li\u003E\n\u003Cli\u003E\n\u003Ca href=\"http://thezukunft.com/2010/02/08/a-wave-gadget-robot-using-gwt-2-0-and-google-app-engine-part-1/\"\u003E\u003Cspan\u003EBuilding a Wave Gadget Using GWT 2.0 \u0026amp; App Engine\u003C/span\u003E\u003C/a\u003E\u003Cspan\u003E: Steps through the creation of a simple message-sharing gadget using GWT, App Engine, and the cobogwave GWT wrapper for the Gadgets API.\n\u003C/span\u003E\n\u003C/li\u003E\n\u003Cli\u003E\n\u003Ca href=\"http://thezukunft.com/2010/02/10/waveconnector-for-gwt-local-testing-and-turnkey-gadget-development/\"\u003E\u003Cspan\u003EWaveConnector for GWT\u003C/span\u003E\u003C/a\u003E\u003Cspan\u003E: Shows how to use the open-source WaveConnector library for developing Google Wave gadgets using GWT and testing them locally in hosted mode.\n\u003C/span\u003E\u003C/li\u003E\n\u003C/ul\u003E\n \n\u003Cp\u003EIf you wrote an article yourself, please share it in the \u003Ca href=\"http://code.google.com/apis/wave/forum.html\"\u003Eforum\u003C/a\u003E. Happy reading!\u003C/p\u003E \n\n\u003Cp\u003E\u003Cspan class=\"post-author\"\u003EPosted by Pamela Fox, Developer Relations\u003C/span\u003E\u003C/p\u003E\u003Cdiv class=\"blogger-post-footer\"\u003E\u003Cimg src=\"https://blogger.googleusercontent.com/tracker/7938035922388048219-6654606743407000638?l=googlewavedev.blogspot.com\" height=\"1\" alt=\"\" width=\"1\" /\u003E\u003C/div\u003E\u003Cimg src=\"http://feeds.feedburner.com/~r/GoogleWaveDeveloperBlog/~4/6SemlggQCvs\" height=\"1\" width=\"1\" /\u003E"} <p>We've added 10 new articles to the <a href="http://code.google.com/apis/wave/articles.html">documentation</a>, written by both the Google Wave API team and developers like you, and we hope these articles will give you a new way of understanding how to use the APIs.</p> <p>After launching the new robots API a month ago, robot developers have already written a bunch of articles about using it in various ways, from developing in Eclipse to integrating with Salesforce:</p> <ul> <li> <a href="http://wave.to/guides/simple-robots-v2"><span>Simple Guides for Robot API v2</span></a><span>: A series of sample robots that demonstrate accomplishing basic tasks in the new API. All samples are both in Java &amp; Python.</span> </li> <li> <a href="http://www.vogella.de/articles/GoogleWave/article.html"><span>Google Wave Java Robot Tutorial</span></a><span>: Gives a detailed explanation of creating a basic Java robot, and then shows how to extend the robot to respond to commands. </span> </li><li> <a href="http://googlewaveexperiments.wordpress.com/2010/03/09/episode-1-writing-your-first-google-wave-robot-using-robot-api-v2/"><span>Writing your First Google Wave Robot with Eclipse</span></a><span>: Shows the steps of creating a basic Java Wave robot using the Eclipse IDE. </span> </li> <li> <a href="http://d3developer.com/2010/04/01/syncing-google-wave-with-salesforce-chatter/"><span>Writing a Salesforce Chatter Robot for Google Wave</span></a><span>: Shows how to sync between Google Wave and Salesforce chatter, displaying Salesforce posts in a wave, and syncing wave replies to the Salesforce posts. Uses the Java SDK.</span> </li> <li> <a href="https://wave.google.com/wave/#restored:wave:googlewave.com!w%252B1hW-euxPC"><span>Using the Deferred Task Queue Library with the Python Wave Robots Library</span></a><span>: Explains how to use the deferred library in the App Engine Python SDK to defer robot operations, like creating new waves or performing many operations in a row.</span> </li> <li> <a href="https://wave.google.com/wave/#restored:wave:googlewave.com!w%252B04QrF_rEE"><span>Responding to User Selection</span></a><span>: Describes how to use the annotateSelection action in extension installers to create extensions, and more specifically, robots, that respond to and process user-selected text. </span></li> </ul> <p>Meanwhile, gadget developers have been spreading their knowledge on writing gadgets, with articles on everything from Flex to GWT:</p> <ul> <li> <a href="http://www.ibm.com/developerworks/library/os-googlewave/index.html"><span>Developing gadgets for Google Wave:</span></a><span> Explains what a wave gadget is, and how to develop a basic gadget. </span> </li> <li> <a href="http://www.masteringwave.com/2010/03/5-easy-steps-to-create-a-google-wave-gadget-using-flex/"><span>5 Easy Steps To Create A Google Wave Gadget Using Flex</span></a><span>: Presents a 5-part video tutorial to creating a counter gadget using Flex (Flash Builder and Flex 4, specifically).</span> </li> <li> <a href="http://thezukunft.com/2010/02/08/a-wave-gadget-robot-using-gwt-2-0-and-google-app-engine-part-1/"><span>Building a Wave Gadget Using GWT 2.0 &amp; App Engine</span></a><span>: Steps through the creation of a simple message-sharing gadget using GWT, App Engine, and the cobogwave GWT wrapper for the Gadgets API. </span> </li> <li> <a href="http://thezukunft.com/2010/02/10/waveconnector-for-gwt-local-testing-and-turnkey-gadget-development/"><span>WaveConnector for GWT</span></a><span>: Shows how to use the open-source WaveConnector library for developing Google Wave gadgets using GWT and testing them locally in hosted mode. </span></li> </ul> <p>If you wrote an article yourself, please share it in the <a href="http://code.google.com/apis/wave/forum.html">forum</a>. Happy reading!</p> <p><span class="post-author">Posted by Pamela Fox, Developer Relations</span></p><div class="blogger-post-footer"><img src="https://blogger.googleusercontent.com/tracker/7938035922388048219-6654606743407000638?l=googlewavedev.blogspot.com" height="1" alt="" width="1" /></div><img src="http://feeds.feedburner.com/~r/GoogleWaveDeveloperBlog/~4/6SemlggQCvs" height="1" width="1" />Sun, 11 Apr 2010 19:57:47 GMThttp://wavecamp.soup.io/post/52772039/10-New-Articles-10-More-Ways-tourn:www-soup-io:1:52772039regular [wavecamp] Google Wave Federation Protocol: More Docs, More Code {"tags":[],"type":"regular","title":"\u003Ca href=\"http://feedproxy.google.com/~r/GoogleWaveDeveloperBlog/~3/fhndyxx5eOM/google-wave-federation-protocol-more.html\"\u003EGoogle Wave Federation Protocol: More Docs, More Code\u003C/a\u003E","source":"http://feedproxy.google.com/~r/GoogleWaveDeveloperBlog/~3/fhndyxx5eOM/google-wave-federation-protocol-more.html","body":"\u003Cp\u003EWhen we shipped the FedOne code to demonstrate the \u003Ca href=\"http://www.waveprotocol.org/\"\u003EGoogle Wave Federation Protocol\u003C/a\u003E, we included some overview information and basic \u003Ca href=\"http://code.google.com/p/wave-protocol/wiki/Installation\"\u003Edocumentation\u003C/a\u003E on how to get it up and running. Since then, the community has stepped up and contributed some great documentation, and we wanted to highlight a couple of great resources that may be helpful to anyone interested in the Google Wave Federationn Protocol.\u003C/p\u003E \n\u003Cp\u003EFor example, Anthony Watkins wrote several articles to explain the architecture of the FedOne code:\u003C/p\u003E \n\u003Cul\u003E\u003Cli\u003E\u003Ca href=\"http://www.angleofsight.com/2010/02/google-wave-federation-part-1/\"\u003EPart 1 - Audience and Prerequisites\u003C/a\u003E\u003C/li\u003E\u003Cli\u003E\u003Ca href=\"http://www.angleofsight.com/2010/02/google-wave-federation-part-2/\"\u003EPart 2 - Startup Process\u003C/a\u003E\u003C/li\u003E\u003Cli\u003E\u003Ca href=\"http://www.angleofsight.com/2010/02/google-wave-federation-part-3/\"\u003EPart 3 - Dependency Object Graph\u003C/a\u003E\u003C/li\u003E\u003Cli\u003E\u003Ca href=\"http://www.angleofsight.com/2010/02/google-wave-federation-part-4/\"\u003EPart 4 - Communication Interfaces\u003C/a\u003E\u003C/li\u003E\u003Cli\u003E\u003Ca href=\"http://www.angleofsight.com/2010/02/google-wave-federation-part-5/\"\u003EPart 5 - Wavelet Container\u003C/a\u003E\u003C/li\u003E\u003C/ul\u003E\n\u003Cp\u003EIn an effort to bring together this and other community-created resources in a single place, we've gathered links to Anthony's articles, along with links to articles by James Purser and Bryce into a \u003Ca href=\"http://code.google.com/p/wave-protocol/wiki/FurtherReading\"\u003Ewiki page\u003C/a\u003E. Be sure to check them out, and let us know if we've missed any great articles on the Google Wave Federation Protocol or the FedOne code. Share your links on the \u003Ca href=\"http://groups.google.com/group/wave-protocol\"\u003Ewave protocol discussion forum\u003C/a\u003E and we will update the wiki as they come in.\u003C/p\u003E \n\u003Cp\u003EAlso be sure to check out the new, recently open sourced wave document model code, as announced by J.D. in the \u003Ca href=\"http://groups.google.com/group/wave-protocol/msg/020c84c38c3ee74b\"\u003EGoogle Wave Protocol Forum\u003C/a\u003E:\u003C/p\u003E \n\u003Cblockquote\u003E We have just open sourced a significant new chunk of Google Wave source code: the wave document model. The new code, some thirty-eight thousand lines of code mainly in the org.waveprocotol.wave.model.document package, implements useful and efficient data structures for reading and manipulating wave documents. This is the same document model used by the Google Wave client and servers.\u003C/blockquote\u003E\n\u003Cp\u003EIn case you missed it, Novell Pulse recently demonstrated \u003Ca href=\"http://googlewavedev.blogspot.com/2010/03/novell-pulse-and-google-wave.html\"\u003Efederation with Google Wave\u003C/a\u003E.\u003C/p\u003E \n\u003Cp\u003EFinally, be sure to visit us if you are attending Google I/O, there are some some \u003Ca href=\"http://code.google.com/events/io/2010/sessions.html#Wave\"\u003Egreat talks lined up\u003C/a\u003E, we hope to see you there!\u003C/p\u003E \n\n\u003Cp\u003E\u003Cspan class=\"post-author\"\u003EPosted by Joe Gregorio, Developer Relations\u003C/span\u003E\u003C/p\u003E\u003Cdiv class=\"blogger-post-footer\"\u003E\u003Cimg src=\"https://blogger.googleusercontent.com/tracker/7938035922388048219-7814022240222638059?l=googlewavedev.blogspot.com\" height=\"1\" alt=\"\" width=\"1\" /\u003E\u003C/div\u003E\u003Cimg src=\"http://feeds.feedburner.com/~r/GoogleWaveDeveloperBlog/~4/fhndyxx5eOM\" height=\"1\" width=\"1\" /\u003E"} <p>When we shipped the FedOne code to demonstrate the <a href="http://www.waveprotocol.org/">Google Wave Federation Protocol</a>, we included some overview information and basic <a href="http://code.google.com/p/wave-protocol/wiki/Installation">documentation</a> on how to get it up and running. Since then, the community has stepped up and contributed some great documentation, and we wanted to highlight a couple of great resources that may be helpful to anyone interested in the Google Wave Federationn Protocol.</p> <p>For example, Anthony Watkins wrote several articles to explain the architecture of the FedOne code:</p> <ul><li><a href="http://www.angleofsight.com/2010/02/google-wave-federation-part-1/">Part 1 - Audience and Prerequisites</a></li><li><a href="http://www.angleofsight.com/2010/02/google-wave-federation-part-2/">Part 2 - Startup Process</a></li><li><a href="http://www.angleofsight.com/2010/02/google-wave-federation-part-3/">Part 3 - Dependency Object Graph</a></li><li><a href="http://www.angleofsight.com/2010/02/google-wave-federation-part-4/">Part 4 - Communication Interfaces</a></li><li><a href="http://www.angleofsight.com/2010/02/google-wave-federation-part-5/">Part 5 - Wavelet Container</a></li></ul> <p>In an effort to bring together this and other community-created resources in a single place, we've gathered links to Anthony's articles, along with links to articles by James Purser and Bryce into a <a href="http://code.google.com/p/wave-protocol/wiki/FurtherReading">wiki page</a>. Be sure to check them out, and let us know if we've missed any great articles on the Google Wave Federation Protocol or the FedOne code. Share your links on the <a href="http://groups.google.com/group/wave-protocol">wave protocol discussion forum</a> and we will update the wiki as they come in.</p> <p>Also be sure to check out the new, recently open sourced wave document model code, as announced by J.D. in the <a href="http://groups.google.com/group/wave-protocol/msg/020c84c38c3ee74b">Google Wave Protocol Forum</a>:</p> <blockquote> We have just open sourced a significant new chunk of Google Wave source code: the wave document model. The new code, some thirty-eight thousand lines of code mainly in the org.waveprocotol.wave.model.document package, implements useful and efficient data structures for reading and manipulating wave documents. This is the same document model used by the Google Wave client and servers.</blockquote> <p>In case you missed it, Novell Pulse recently demonstrated <a href="http://googlewavedev.blogspot.com/2010/03/novell-pulse-and-google-wave.html">federation with Google Wave</a>.</p> <p>Finally, be sure to visit us if you are attending Google I/O, there are some some <a href="http://code.google.com/events/io/2010/sessions.html#Wave">great talks lined up</a>, we hope to see you there!</p> <p><span class="post-author">Posted by Joe Gregorio, Developer Relations</span></p><div class="blogger-post-footer"><img src="https://blogger.googleusercontent.com/tracker/7938035922388048219-7814022240222638059?l=googlewavedev.blogspot.com" height="1" alt="" width="1" /></div><img src="http://feeds.feedburner.com/~r/GoogleWaveDeveloperBlog/~4/fhndyxx5eOM" height="1" width="1" />Thu, 08 Apr 2010 04:36:34 GMThttp://wavecamp.soup.io/post/52314955/Google-Wave-Federation-Protocol-More-Docs-Moreurn:www-soup-io:1:52314955regular [wavecamp] Developing with the Google Wave APIs - For a grade! {"tags":[],"type":"regular","title":"\u003Ca href=\"http://feedproxy.google.com/~r/GoogleWaveDeveloperBlog/~3/xPXz1Uavk2s/developing-with-google-wave-apis-for.html\"\u003EDeveloping with the Google Wave APIs - For a grade!\u003C/a\u003E","source":"http://feedproxy.google.com/~r/GoogleWaveDeveloperBlog/~3/xPXz1Uavk2s/developing-with-google-wave-apis-for.html","body":"\u003Cp\u003EAs a student at university, I always loved when I had the chance to use a Web API in my programming assignments. I think Web API programming is a great way for students to get a taste of the real world, and plus, APIs are just plain fun. :)\u003C/p\u003E \n\n\u003Cp\u003ESo, I was thrilled when I found out that a class of students in Singapore were working on a Google Wave extensions project, and I volunteered to give them a virtual talk. As part of the talk, I critiqued each of their final projects, giving them advice on making them \"Wave-ier\"and easier to use. Overall, I was incredibly impressed with the diversity \u0026amp; utility of their extensions - everything from adorable games to meeting planners:\u003C/p\u003E \n\u003Cbr /\u003E\n\u003Ctable\u003E\n\u003Ctr\u003E\n\u003Ctd\u003E\u003Cimg src=\"http://4.bp.blogspot.com/_T1lquhCmKo8/S7q6ZtKl7QI/AAAAAAAADRE/hVI3bnXy70g/s400/thumbnail_scrummy.png\" alt=\"\" /\u003E\u003C/td\u003E\n\u003Ctd\u003E\u003Cspan\u003EScrummy\u003C/span\u003E: This gadget lets you assign tasks to participants for particular \"sprints\", and then visualize the tasks for each sprint.\n\u003C/td\u003E\n\u003C/tr\u003E\n\u003Ctr\u003E\n\u003Ctd\u003E\u003Cimg src=\"http://1.bp.blogspot.com/_T1lquhCmKo8/S7q5rwSZ8qI/AAAAAAAADQc/DW6cYTcZ5Ck/s400/thumbnail_bubbleman.png\" alt=\"\" /\u003E\u003C/td\u003E\n\u003Ctd\u003E\u003Cspan\u003EBubble Man\u003C/span\u003E: This super cute gadget let you play a game of balloon popping - if you pop the balloon next to the other player, you win. As a connoisseur of water balloon fights, I think this is an awesome game.\n\u003C/td\u003E\n\u003C/tr\u003E\n\u003Ctr\u003E\n\u003Ctd\u003E\u003Cimg src=\"http://3.bp.blogspot.com/_T1lquhCmKo8/S7q593oPKBI/AAAAAAAADQs/fXlpTp8g65c/s400/thumbnail_chessroom.png\" alt=\"\" /\u003E\u003C/td\u003E\n\u003Ctd\u003E\u003Cspan\u003EChess Room\u003C/span\u003E: This gadget displays a \"room\" of 6 tables. You can pick a \"table\", and enter it to a game of chess against another player.\n\u003C/td\u003E\n\u003C/tr\u003E\n\u003Ctr\u003E\n\u003Ctd\u003E\u003Cimg src=\"http://3.bp.blogspot.com/_T1lquhCmKo8/S7q6P9unAuI/AAAAAAAADQ8/wA8ObOi8Uqw/s400/thumbnail_notesticky.png\" alt=\"\" /\u003E\n\u003C/td\u003E\n\u003Ctd\u003E\u003Cspan\u003ENote Sticker\u003C/span\u003E: This gadget lets you collect notes in a collaborative gadget, similar to desktop note apps (or similar to post-its on your physical desktop, if you're old school like that). \n\u003C/td\u003E\n\u003C/tr\u003E\n\u003Ctr\u003E\n\u003Ctd\u003E\u003Cimg src=\"http://2.bp.blogspot.com/_T1lquhCmKo8/S7q7CvSbEoI/AAAAAAAADRM/uK3vJyKDslQ/s400/thumbnail_waveplan.png\" alt=\"\" /\u003E\u003C/td\u003E\n\u003Ctd\u003E\n\u003Cspan\u003EWavePlan\u003C/span\u003E: This gadget lets participants select what days/hours they're available, to help in picking the best meeting time.\n\u003C/td\u003E\n\u003C/tr\u003E\n\u003Ctr\u003E\n\u003Ctd\u003E\u003Cimg src=\"http://1.bp.blogspot.com/_T1lquhCmKo8/S7q5gQd3MZI/AAAAAAAADQU/i9OQxqSLyWA/s400/thumbnail_brainstormer.png\" alt=\"\" /\u003E\u003C/td\u003E\n\u003Ctd\u003E\n\u003Cspan\u003EyourBrainstormer\u003C/span\u003E: This slick looking gadget lets you create a sequence of parent and child nodes, and to navigate amongst them. \n\u003C/td\u003E\n\u003C/tr\u003E\n\u003Ctr\u003E\n\u003Ctd\u003E\u003Cimg src=\"http://1.bp.blogspot.com/_T1lquhCmKo8/S7q6HJ78DfI/AAAAAAAADQ0/M-UygPVIQ7M/s400/thumbnail_langtranslate.png\" alt=\"\" /\u003E\n\u003C/td\u003E\n\u003Ctd\u003E\n\u003Cspan\u003ENTI Language Translator\u003C/span\u003E: This gadget lets you translate text using the Google AJAX Language API, and it shares the currently translated text with others in the wave. \n\u003C/td\u003E\n\u003C/tr\u003E\n\u003C/table\u003E\n\n\u003Cp\u003EFor the complete list and links to the extensions, visit the course \u003Ca href=\"http://www.comp.nus.edu.sg/~cs3216/projects.html#ass2Pan\"\u003Eproject page\u003C/a\u003E.\u003C/p\u003E \n\u003Cp\u003EMany of these are still in prototype form, but some of them are already user-ready and in the extensions gallery, like the \u003Ca href=\"https://wave.google.com/wave/?pli=1#restored:search:group%253Agoogle-wave-extension-gallery-all%2540googlegroups.com,restored:wave:googlewave.com!w%252Bcl-Sv7ZkPA\"\u003EyourBrainstormer extension\u003C/a\u003E, and others are in the samples gallery, like the \u003Ca href=\"http://wave-samples-gallery.appspot.com/about_app?app_id=109004\"\u003EScrummy gadget\u003C/a\u003E. I hope that the students have the time to continue working on their extensions, and take them from a class assignment to an in-use web app. It's so cool that you can make something for a class *and* for thousands of users.\u003C/p\u003E \n\u003Cp\u003EIf you are a professor and thinking of using Google Wave in your programming assignments, you can grab the \u003Ca href=\"http://google-wave-resources.googlecode.com/svn/trunk/articles/assignment/\"\u003ELatex\u003C/a\u003E/\u003Ca href=\"http://google-wave-resources.googlecode.com/svn/trunk/articles/assignment/wave.pdf\"\u003EPDF\u003C/a\u003E for this class assignment, and you can browse the \u003Ca href=\"http://code.google.com/apis/wave/mediagallery.html\"\u003Epresentations gallery\u003C/a\u003E for slides to deliver for class lectures. Let us know if you have any questions in \u003Ca href=\"http://code.google.com/apis/wave/forum.html\"\u003Ethe forum\u003C/a\u003E.\u003C/p\u003E \n\u003Cp\u003EThanks to Professor Ben Leong for teaching his students about the Google Wave APIs, letting me talk with the students for a few brief virtual hours, and for getting students excited by the possibility of Web APIs.\u003C/p\u003E \n\u003Cbr /\u003E\n\u003Cspan class=\"post-author\"\u003EPosted by Pamela Fox, Developer Relations\u003C/span\u003E\u003Cdiv class=\"blogger-post-footer\"\u003E\u003Cimg src=\"https://blogger.googleusercontent.com/tracker/7938035922388048219-4462788800156467614?l=googlewavedev.blogspot.com\" height=\"1\" alt=\"\" width=\"1\" /\u003E\u003C/div\u003E\u003Cimg src=\"http://feeds.feedburner.com/~r/GoogleWaveDeveloperBlog/~4/xPXz1Uavk2s\" height=\"1\" width=\"1\" /\u003E"} <p>As a student at university, I always loved when I had the chance to use a Web API in my programming assignments. I think Web API programming is a great way for students to get a taste of the real world, and plus, APIs are just plain fun. :)</p> <p>So, I was thrilled when I found out that a class of students in Singapore were working on a Google Wave extensions project, and I volunteered to give them a virtual talk. As part of the talk, I critiqued each of their final projects, giving them advice on making them "Wave-ier"and easier to use. Overall, I was incredibly impressed with the diversity &amp; utility of their extensions - everything from adorable games to meeting planners:</p> <br /> <img src="http://4.bp.blogspot.com/_T1lquhCmKo8/S7q6ZtKl7QI/AAAAAAAADRE/hVI3bnXy70g/s400/thumbnail_scrummy.png" alt="" /> <span>Scrummy</span>: This gadget lets you assign tasks to participants for particular "sprints", and then visualize the tasks for each sprint. <img src="http://1.bp.blogspot.com/_T1lquhCmKo8/S7q5rwSZ8qI/AAAAAAAADQc/DW6cYTcZ5Ck/s400/thumbnail_bubbleman.png" alt="" /> <span>Bubble Man</span>: This super cute gadget let you play a game of balloon popping - if you pop the balloon next to the other player, you win. As a connoisseur of water balloon fights, I think this is an awesome game. <img src="http://3.bp.blogspot.com/_T1lquhCmKo8/S7q593oPKBI/AAAAAAAADQs/fXlpTp8g65c/s400/thumbnail_chessroom.png" alt="" /> <span>Chess Room</span>: This gadget displays a "room" of 6 tables. You can pick a "table", and enter it to a game of chess against another player. <img src="http://3.bp.blogspot.com/_T1lquhCmKo8/S7q6P9unAuI/AAAAAAAADQ8/wA8ObOi8Uqw/s400/thumbnail_notesticky.png" alt="" /> <span>Note Sticker</span>: This gadget lets you collect notes in a collaborative gadget, similar to desktop note apps (or similar to post-its on your physical desktop, if you're old school like that). <img src="http://2.bp.blogspot.com/_T1lquhCmKo8/S7q7CvSbEoI/AAAAAAAADRM/uK3vJyKDslQ/s400/thumbnail_waveplan.png" alt="" /> <span>WavePlan</span>: This gadget lets participants select what days/hours they're available, to help in picking the best meeting time. <img src="http://1.bp.blogspot.com/_T1lquhCmKo8/S7q5gQd3MZI/AAAAAAAADQU/i9OQxqSLyWA/s400/thumbnail_brainstormer.png" alt="" /> <span>yourBrainstormer</span>: This slick looking gadget lets you create a sequence of parent and child nodes, and to navigate amongst them. <img src="http://1.bp.blogspot.com/_T1lquhCmKo8/S7q6HJ78DfI/AAAAAAAADQ0/M-UygPVIQ7M/s400/thumbnail_langtranslate.png" alt="" /> <span>NTI Language Translator</span>: This gadget lets you translate text using the Google AJAX Language API, and it shares the currently translated text with others in the wave. <p>For the complete list and links to the extensions, visit the course <a href="http://www.comp.nus.edu.sg/~cs3216/projects.html#ass2Pan">project page</a>.</p> <p>Many of these are still in prototype form, but some of them are already user-ready and in the extensions gallery, like the <a href="https://wave.google.com/wave/?pli=1#restored:search:group%253Agoogle-wave-extension-gallery-all%2540googlegroups.com,restored:wave:googlewave.com!w%252Bcl-Sv7ZkPA">yourBrainstormer extension</a>, and others are in the samples gallery, like the <a href="http://wave-samples-gallery.appspot.com/about_app?app_id=109004">Scrummy gadget</a>. I hope that the students have the time to continue working on their extensions, and take them from a class assignment to an in-use web app. It's so cool that you can make something for a class *and* for thousands of users.</p> <p>If you are a professor and thinking of using Google Wave in your programming assignments, you can grab the <a href="http://google-wave-resources.googlecode.com/svn/trunk/articles/assignment/">Latex</a>/<a href="http://google-wave-resources.googlecode.com/svn/trunk/articles/assignment/wave.pdf">PDF</a> for this class assignment, and you can browse the <a href="http://code.google.com/apis/wave/mediagallery.html">presentations gallery</a> for slides to deliver for class lectures. Let us know if you have any questions in <a href="http://code.google.com/apis/wave/forum.html">the forum</a>.</p> <p>Thanks to Professor Ben Leong for teaching his students about the Google Wave APIs, letting me talk with the students for a few brief virtual hours, and for getting students excited by the possibility of Web APIs.</p> <br /> <span class="post-author">Posted by Pamela Fox, Developer Relations</span><div class="blogger-post-footer"><img src="https://blogger.googleusercontent.com/tracker/7938035922388048219-4462788800156467614?l=googlewavedev.blogspot.com" height="1" alt="" width="1" /></div><img src="http://feeds.feedburner.com/~r/GoogleWaveDeveloperBlog/~4/xPXz1Uavk2s" height="1" width="1" />Tue, 06 Apr 2010 05:07:43 GMThttp://wavecamp.soup.io/post/52024067/Developing-with-the-Google-Wave-APIs-Forurn:www-soup-io:1:52024067regular [wavecamp] Novell Pulse and Google Wave: Demonstrating Inter-company Collaboration {"tags":[],"type":"regular","title":"\u003Ca href=\"http://feedproxy.google.com/~r/GoogleWaveDeveloperBlog/~3/i5owf6UDmEE/novell-pulse-and-google-wave.html\"\u003ENovell Pulse and Google Wave: Demonstrating Inter-company Collaboration\u003C/a\u003E","source":"http://feedproxy.google.com/~r/GoogleWaveDeveloperBlog/~3/i5owf6UDmEE/novell-pulse-and-google-wave.html","body":"\u003Cspan\u003EIan Roughley is an architect on Novell Pulse, a new real-time collaboration environment for enterprises that federates with Google Wave so users of both products can work together using their tool of choice.\u003Cbr /\u003E\u003C/span\u003E\u003Cbr /\u003E\u003Cbr /\u003EFor Novell Pulse, it was a pretty easy decision to adopt the \u003Ca href=\"http://www.waveprotocol.org/\"\u003EGoogle Wave Federation Protocol\u003C/a\u003E. For many months before Google Wave was announced to the world, we had been working on solving exactly the same problems: how to collaborate instantly and on\u2011demand; how to make collaboration easier for groups; how to expedite document workflow; and how to do it all in real\u2011time. We had also come to many of the same conclusions, and if you look at the products side\u2011by\u2011side you can see this reflected through the interfaces. Not exactly, but certainly the big decisions.\u003Cbr /\u003E\u003Cbr /\u003EThe Google Wave Federation Protocol excited us, because for the first time since email, it provided a way for collaboration systems to cooperate in a non\u2011silo'dway . The promise is that each organization can choose what product to use and the communication will flow unimpeded between the different systems, in the same way that people on different email systems can send and receive messages to each other today. This is a collaboration revolution we wanted to be a part of.\u003Cbr /\u003E\u003Cbr /\u003EFrom a technical perspective we've leveraged the code Google has open sourced by integrating Google Wave's \u003Ca href=\"http://www.waveprotocol.org/whitepapers/operational-transform\"\u003Eoperational transformation algorithm\u003C/a\u003E and the federation parts of the \u003Ca href=\"http://code.google.com/p/wave-protocol/\"\u003EFedOne implementation\u003C/a\u003E into Novell Pulse. This allowed us to quickly get the core \u003Ca href=\"http://www.waveprotocol.org/draft-protocol-specs/draft-protocol-spec\"\u003Efederation protocol\u003C/a\u003E features working. We have developed our own editor, which provides compatibility with a large number of browsers, and provided a mapping from the \u003Ca href=\"http://www.waveprotocol.org/draft-protocol-specs/wave-conversation-model\"\u003EGoogle Wave Conversation Model\u003C/a\u003E to our own internal structure. Along with the Google Wave Federation Protocol, we also support the \u003Ca href=\"http://code.google.com/apis/wave/extensions/gadgets/guide.html\"\u003EWave Gadgets API\u003C/a\u003E and are working to support the \u003Ca href=\"http://code.google.com/apis/wave/extensions/robots/index.html\"\u003EWave Robots API\u003C/a\u003E. This allows extensions built by 3rd parties to work seamlessly with a mix of users on Novell Pulse and Google Wave. \u003Cbr /\u003E\u003Cbr /\u003ECheck out this video to see a business use-case of federation between Novell Pulse and Google Wave.\u003Cbr /\u003E\u003Cbr /\u003E\u003Cobject height=\"340\" width=\"560\"\u003E\u003Cembed src=\"http://www.youtube.com/v/KFaUrDFjERM\u0026amp;hl=en\u0026amp;fs=1\u0026amp;rel=0\" type=\"application/x-shockwave-flash\" height=\"340\" width=\"560\" /\u003E\u003C/object\u003E\u003Cbr /\u003E\u003Cbr /\u003EWe're excited about the opportunities for open collaboration that utilizing the Google Wave Federation Protocol will bring to both the users of Novell Pulse and Google Wave, as well as a growing ecosystem of extension developers that now have broader distribution opportunities. For more information on Novell Pulse, visit \u003Ca href=\"http://www.novell.com/pulse\"\u003Ewww.novell.com/pulse\u003C/a\u003E.\u003Cbr /\u003E\u003Cbr /\u003E\u003Cspan class=\"post-author\"\u003EPosted by Ian Roughley, Architect, Novell Pulse\u003C/span\u003E\u003Cdiv class=\"blogger-post-footer\"\u003E\u003Cimg src=\"https://blogger.googleusercontent.com/tracker/7938035922388048219-7065173114321042846?l=googlewavedev.blogspot.com\" height=\"1\" alt=\"\" width=\"1\" /\u003E\u003C/div\u003E\u003Cimg src=\"http://feeds.feedburner.com/~r/GoogleWaveDeveloperBlog/~4/i5owf6UDmEE\" height=\"1\" width=\"1\" /\u003E"} <span>Ian Roughley is an architect on Novell Pulse, a new real-time collaboration environment for enterprises that federates with Google Wave so users of both products can work together using their tool of choice.<br /></span><br /><br />For Novell Pulse, it was a pretty easy decision to adopt the <a href="http://www.waveprotocol.org/">Google Wave Federation Protocol</a>. For many months before Google Wave was announced to the world, we had been working on solving exactly the same problems: how to collaborate instantly and on‑demand; how to make collaboration easier for groups; how to expedite document workflow; and how to do it all in real‑time. We had also come to many of the same conclusions, and if you look at the products side‑by‑side you can see this reflected through the interfaces. Not exactly, but certainly the big decisions.<br /><br />The Google Wave Federation Protocol excited us, because for the first time since email, it provided a way for collaboration systems to cooperate in a non‑silo'dway . The promise is that each organization can choose what product to use and the communication will flow unimpeded between the different systems, in the same way that people on different email systems can send and receive messages to each other today. This is a collaboration revolution we wanted to be a part of.<br /><br />From a technical perspective we've leveraged the code Google has open sourced by integrating Google Wave's <a href="http://www.waveprotocol.org/whitepapers/operational-transform">operational transformation algorithm</a> and the federation parts of the <a href="http://code.google.com/p/wave-protocol/">FedOne implementation</a> into Novell Pulse. This allowed us to quickly get the core <a href="http://www.waveprotocol.org/draft-protocol-specs/draft-protocol-spec">federation protocol</a> features working. We have developed our own editor, which provides compatibility with a large number of browsers, and provided a mapping from the <a href="http://www.waveprotocol.org/draft-protocol-specs/wave-conversation-model">Google Wave Conversation Model</a> to our own internal structure. Along with the Google Wave Federation Protocol, we also support the <a href="http://code.google.com/apis/wave/extensions/gadgets/guide.html">Wave Gadgets API</a> and are working to support the <a href="http://code.google.com/apis/wave/extensions/robots/index.html">Wave Robots API</a>. This allows extensions built by 3rd parties to work seamlessly with a mix of users on Novell Pulse and Google Wave. <br /><br />Check out this video to see a business use-case of federation between Novell Pulse and Google Wave.<br /><br /><br /><br />We're excited about the opportunities for open collaboration that utilizing the Google Wave Federation Protocol will bring to both the users of Novell Pulse and Google Wave, as well as a growing ecosystem of extension developers that now have broader distribution opportunities. For more information on Novell Pulse, visit <a href="http://www.novell.com/pulse">www.novell.com/pulse</a>.<br /><br /><span class="post-author">Posted by Ian Roughley, Architect, Novell Pulse</span><div class="blogger-post-footer"><img src="https://blogger.googleusercontent.com/tracker/7938035922388048219-7065173114321042846?l=googlewavedev.blogspot.com" height="1" alt="" width="1" /></div><img src="http://feeds.feedburner.com/~r/GoogleWaveDeveloperBlog/~4/i5owf6UDmEE" height="1" width="1" />Thu, 25 Mar 2010 23:35:46 GMThttp://wavecamp.soup.io/post/50347678/Novell-Pulse-and-Google-Wave-Demonstrating-Interurn:www-soup-io:1:50347678regular [wavecamp] Upcoming Wave Developer Events {"tags":[],"type":"regular","title":"\u003Ca href=\"http://feedproxy.google.com/~r/GoogleWaveDeveloperBlog/~3/CRKu5gVZyxA/upcoming-wave-developer-events.html\"\u003EUpcoming Wave Developer Events\u003C/a\u003E","source":"http://feedproxy.google.com/~r/GoogleWaveDeveloperBlog/~3/CRKu5gVZyxA/upcoming-wave-developer-events.html","body":"\u003Cp\u003E\u003Cbr /\u003ENow that the new Wave Robots API is launched, we're excited to spread the word about Wave to developers in all corners of the world. Please join us in one of the upcoming events:\u003Cbr /\u003E\u003C/p\u003E\u003Cbr /\u003E\u003Cb\u003E\u003Ca href=\"http://chigtug7.eventbrite.com/\"\u003EChicago GTUG Google Wave \u0026amp; Android Workshop\u003C/a\u003E\u003C/b\u003E\u003Cbr /\u003E\u003Cul\u003E\u003Cli\u003EMarch 13, 9-5pm\u003C/li\u003E\u003Cli\u003EChicago, Illinois\u003C/li\u003E\u003C/ul\u003E\u003Cbr /\u003E\u003Cb\u003E\u003Ca href=\"http://www.google.com/events/sxsw2010/hackathon.html\"\u003EGoogle Hackathon @ SXSW Interactive\u003C/a\u003E\u003C/b\u003E\u003Cbr /\u003E\u003Cul\u003E\u003Cli\u003EMarch 14, 12pm\u003C/li\u003E\u003Cli\u003EAustin, Texas\u003C/li\u003E\u003C/ul\u003E\u003Cbr /\u003E\u003Cb\u003E\u003Ca href=\"http://www.meetup.com/sfgwmg/\"\u003ESF Wave Meetup\u003C/a\u003E\u003C/b\u003E\u003Cbr /\u003E\u003Cul\u003E\u003Cli\u003EMarch 16, 6:30pm\u003C/li\u003E\u003Cli\u003ESan Francisco, CA\u003C/li\u003E\u003C/ul\u003E\u003Cbr /\u003E\u003Cb\u003E\u003Ca href=\"http://www.novell.com/brainshare/\"\u003ENovell Brainshare\u003C/a\u003E\u003C/b\u003E\u003Cbr /\u003E\u003Cul\u003E\u003Cli\u003EMarch 23 and March 25\u003C/li\u003E\u003Cli\u003ESalt Lake City, Utah\u003C/li\u003E\u003C/ul\u003E\u003Cbr /\u003E\u003Cb\u003E\u003Ca href=\"http://www.googledevfest.com.mx/index.php\"\u003EDevFest Mexico\u003C/a\u003E\u003C/b\u003E\u003Cbr /\u003E\u003Cul\u003E\u003Cli\u003EApril 13, All day\u003C/li\u003E\u003Cli\u003EMexico City, Mexico\u003C/li\u003E\u003C/ul\u003E\u003Cbr /\u003E\u003Cb\u003E\u003Ca href=\"http://www.enterprisejava.org.au/index.php?title=Current_events\"\u003EEJA Melbourne Forum\u003C/a\u003E\u003C/b\u003E\u003Cbr /\u003E\u003Cul\u003E\u003Cli\u003EApril 21, 5pm\u003C/li\u003E\u003Cli\u003EMelbourne, Australia\u003C/li\u003E\u003C/ul\u003E\u003Cbr /\u003E\u003Cspan class=\"post-author\"\u003EPosted by Pamela Fox, Developer Relations\u003C/span\u003E\u003Cdiv class=\"blogger-post-footer\"\u003E\u003Cimg src=\"https://blogger.googleusercontent.com/tracker/7938035922388048219-6469233476274247574?l=googlewavedev.blogspot.com\" height=\"1\" alt=\"\" width=\"1\" /\u003E\u003C/div\u003E\u003Cimg src=\"http://feeds.feedburner.com/~r/GoogleWaveDeveloperBlog/~4/CRKu5gVZyxA\" height=\"1\" width=\"1\" /\u003E"} <p><br />Now that the new Wave Robots API is launched, we're excited to spread the word about Wave to developers in all corners of the world. Please join us in one of the upcoming events:<br /></p><br /><b><a href="http://chigtug7.eventbrite.com/">Chicago GTUG Google Wave &amp; Android Workshop</a></b><br /><ul><li>March 13, 9-5pm</li><li>Chicago, Illinois</li></ul><br /><b><a href="http://www.google.com/events/sxsw2010/hackathon.html">Google Hackathon @ SXSW Interactive</a></b><br /><ul><li>March 14, 12pm</li><li>Austin, Texas</li></ul><br /><b><a href="http://www.meetup.com/sfgwmg/">SF Wave Meetup</a></b><br /><ul><li>March 16, 6:30pm</li><li>San Francisco, CA</li></ul><br /><b><a href="http://www.novell.com/brainshare/">Novell Brainshare</a></b><br /><ul><li>March 23 and March 25</li><li>Salt Lake City, Utah</li></ul><br /><b><a href="http://www.googledevfest.com.mx/index.php">DevFest Mexico</a></b><br /><ul><li>April 13, All day</li><li>Mexico City, Mexico</li></ul><br /><b><a href="http://www.enterprisejava.org.au/index.php?title=Current_events">EJA Melbourne Forum</a></b><br /><ul><li>April 21, 5pm</li><li>Melbourne, Australia</li></ul><br /><span class="post-author">Posted by Pamela Fox, Developer Relations</span><div class="blogger-post-footer"><img src="https://blogger.googleusercontent.com/tracker/7938035922388048219-6469233476274247574?l=googlewavedev.blogspot.com" height="1" alt="" width="1" /></div><img src="http://feeds.feedburner.com/~r/GoogleWaveDeveloperBlog/~4/CRKu5gVZyxA" height="1" width="1" />Sat, 13 Mar 2010 15:19:03 GMThttp://wavecamp.soup.io/post/48510649/Upcoming-Wave-Developer-Eventsurn:www-soup-io:1:48510649regular [wavecamp] Introducing the Google Wave Extensions Gallery {"tags":[],"type":"regular","title":"\u003Ca href=\"http://feedproxy.google.com/~r/GoogleWaveDeveloperBlog/~3/__TezGqUpkU/introducing-google-wave-extensions.html\"\u003EIntroducing the Google Wave Extensions Gallery\u003C/a\u003E","source":"http://feedproxy.google.com/~r/GoogleWaveDeveloperBlog/~3/__TezGqUpkU/introducing-google-wave-extensions.html","body":"We've just rolled out an initial version of our extensions gallery: simply look for \"Extensions\" in the navigation panel of \u003Ca href=\"http://wave.google.com/wave/\"\u003EGoogle Wave\u003C/a\u003E. The gallery is intended to make it easier for users to discover the fun and useful extensions you all are building with the \u003Ca href=\"http://code.google.com/apis/wave/\"\u003EGoogle Wave APIs\u003C/a\u003E.\u003Cbr /\u003E\u003Cbr /\u003E\u003Ca href=\"http://4.bp.blogspot.com/_TinOg0_YgIQ/S5nZMWa7qWI/AAAAAAAAS-E/pPDHWMwGMqQ/s1600-h/extensions_link.png\"\u003E\u003Cimg src=\"http://4.bp.blogspot.com/_TinOg0_YgIQ/S5nZMWa7qWI/AAAAAAAAS-E/pPDHWMwGMqQ/s320/extensions_link.png\" alt=\"\" /\u003E\u003C/a\u003E\u003Cbr /\u003EThe gallery is simply a set of waves containing \u003Ca href=\"http://code.google.com/apis/wave/extensions/installers/\"\u003Eextension installers\u003C/a\u003E (the puzzle pieces). The first wave, \"\u003Ca href=\"https://wave.google.com/wave/#minimized:search,restored:wave:googlewave.com!w%252BR8RbkhA9Y\"\u003ERead me first\u003C/a\u003E\" contains an introduction to extensions and how to use them. In many cases, those particular waves won't maintain their read/unread status in Google Wave preview; we're working on this. Beyond that, we have some design improvements in the works, but we wanted to get this out there to get feedback and help users find your extensions.\u003Cbr /\u003E\u003Cbr /\u003EAs a tip, you can also use the waves in the gallery to share a direct link to your extension's installer with other Google Wave users -- simply open the installer and copy-and-paste the URL (note: the panel arrangement and search query are included in the URL, but can easily be edited out).\u003Cbr /\u003E\u003Cbr /\u003EWhile you're building your extensions, if you'd like them to be included in the gallery, please be sure to \u003Ca href=\"http://code.google.com/apis/wave/submitextension.html\"\u003Esubmit them for review\u003C/a\u003E. You may also want to check out \u003Ca href=\"http://mashable.com/2010/03/09/google-wave-api-challenge/\"\u003EMashable's Google Wave API Challenge\u003C/a\u003E.\u003Cbr /\u003E\u003Cbr /\u003EWe look forward to seeing what you come up with -- especially with the new \u003Ca href=\"http://googlewavedev.blogspot.com/2010/03/introducing-robots-api-v2-rise-of.html\"\u003EGoogle Wave robots API (v2)\u003C/a\u003E. \u003Cbr /\u003E\u003Cbr /\u003E\u003Cspan class=\"post-author\"\u003EPosted by Dan Peterson, Product Manager, Google Wave\u003C/span\u003E\u003Cdiv class=\"blogger-post-footer\"\u003E\u003Cimg src=\"https://blogger.googleusercontent.com/tracker/7938035922388048219-2550396064596843413?l=googlewavedev.blogspot.com\" height=\"1\" alt=\"\" width=\"1\" /\u003E\u003C/div\u003E\u003Cimg src=\"http://feeds.feedburner.com/~r/GoogleWaveDeveloperBlog/~4/__TezGqUpkU\" height=\"1\" width=\"1\" /\u003E"} We've just rolled out an initial version of our extensions gallery: simply look for "Extensions" in the navigation panel of <a href="http://wave.google.com/wave/">Google Wave</a>. The gallery is intended to make it easier for users to discover the fun and useful extensions you all are building with the <a href="http://code.google.com/apis/wave/">Google Wave APIs</a>.<br /><br /><a href="http://4.bp.blogspot.com/_TinOg0_YgIQ/S5nZMWa7qWI/AAAAAAAAS-E/pPDHWMwGMqQ/s1600-h/extensions_link.png"><img src="http://4.bp.blogspot.com/_TinOg0_YgIQ/S5nZMWa7qWI/AAAAAAAAS-E/pPDHWMwGMqQ/s320/extensions_link.png" alt="" /></a><br />The gallery is simply a set of waves containing <a href="http://code.google.com/apis/wave/extensions/installers/">extension installers</a> (the puzzle pieces). The first wave, "<a href="https://wave.google.com/wave/#minimized:search,restored:wave:googlewave.com!w%252BR8RbkhA9Y">Read me first</a>" contains an introduction to extensions and how to use them. In many cases, those particular waves won't maintain their read/unread status in Google Wave preview; we're working on this. Beyond that, we have some design improvements in the works, but we wanted to get this out there to get feedback and help users find your extensions.<br /><br />As a tip, you can also use the waves in the gallery to share a direct link to your extension's installer with other Google Wave users -- simply open the installer and copy-and-paste the URL (note: the panel arrangement and search query are included in the URL, but can easily be edited out).<br /><br />While you're building your extensions, if you'd like them to be included in the gallery, please be sure to <a href="http://code.google.com/apis/wave/submitextension.html">submit them for review</a>. You may also want to check out <a href="http://mashable.com/2010/03/09/google-wave-api-challenge/">Mashable's Google Wave API Challenge</a>.<br /><br />We look forward to seeing what you come up with -- especially with the new <a href="http://googlewavedev.blogspot.com/2010/03/introducing-robots-api-v2-rise-of.html">Google Wave robots API (v2)</a>. <br /><br /><span class="post-author">Posted by Dan Peterson, Product Manager, Google Wave</span><div class="blogger-post-footer"><img src="https://blogger.googleusercontent.com/tracker/7938035922388048219-2550396064596843413?l=googlewavedev.blogspot.com" height="1" alt="" width="1" /></div><img src="http://feeds.feedburner.com/~r/GoogleWaveDeveloperBlog/~4/__TezGqUpkU" height="1" width="1" />Fri, 12 Mar 2010 12:39:20 GMThttp://wavecamp.soup.io/post/48391529/Introducing-the-Google-Wave-Extensions-Galleryurn:www-soup-io:1:48391529regular [wavecamp] My Extension Wish: Recipeasy {"tags":[],"type":"regular","title":"\u003Ca href=\"http://feedproxy.google.com/~r/GoogleWaveDeveloperBlog/~3/N0v4fBBge1s/my-extension-wish-recipeasy.html\"\u003EMy Extension Wish: Recipeasy\u003C/a\u003E","source":"http://feedproxy.google.com/~r/GoogleWaveDeveloperBlog/~3/N0v4fBBge1s/my-extension-wish-recipeasy.html","body":"\u003Cp\u003EHi! I'm Anna Rose Kerr, a Kiwi and Google Wave user living in Sydney. Coming from a background in creative advertising, I see a lot of potential for Wave to make everyday tasks more efficient and enjoyable. Now, I want to share one of my ideas for how developers can make my own life easier.\u003C/p\u003E\u003Cp\u003EBefore I moved in with my boyfriend, I had no idea that making dinner could be such a complex problem. My normal approach of \"eat whatever I feel like when I get hungry\" does not compute with him, and thus we spend hours each day discussing what is for dinner that night. We have to factor in what's in the fridge that needs to be consumed, seasonal product, and which animal he currently feels sympathetic towards and won't eat. It often gets too complicated and we end up eating take-aways.\u003C/p\u003E\u003Cp\u003EAn ideal solution would be a cookbook extension that could do the math and come up with a recipe given all these variables, and I call that solution \"Recipeasy.\" This extension would sit on a wave between you and your dinner guests, suggesting recipes using the ingredients you have and the foods you all like to eat.\u003C/p\u003E\u003Cp\u003EFirst, the extension could insert a gadget that let users add lists of food items which they \"have\", \"would like\" or \"would not like\". Other users can click on these items to confirm they are a good choice or delete them from a list. The most popular ingredients have the greatest influence on the generated recipe suggestions. The extension could also include a robot that would scan the conversation for food items, and pull those out and insert them into the gadget. It would work off phrases such as \"I can bring some...\" or \"yuck I don't like...\" to place the various ingredients discussed into the right lists.\u003C/p\u003E\u003Cp\u003E\u003Cimg src=\"http://4.bp.blogspot.com/_T1lquhCmKo8/S5OClTqlz2I/AAAAAAAADMg/yC-dLZWvV0Y/s400/recipegadget+(1).jpg\" /\u003E\u003Cbr /\u003E\u003C/p\u003E\u003Cp\u003ERecipeasy would automatically produce 3-5 of the top recipes based on your selections. Clicking on a recipe name within the gadget would open the recipe's own Wave. Here, you might find suggestions and tips from other Wavers who have already tried the recipe and you can add your own review. These \"Recipeasy\" waves form your own virtual cookbook, which would be easily accessible by searching \"with:recipeasy\".\u003C/p\u003E\u003Cp\u003EThere are some obvious businesses to partner with when making this extension \u2014 like supermarket chains which could offer to deliver the extra food needed to complete a recipe. Recipe sites or chefs could add to the Recipeasy database from their own repertoire and pull the Waver's comments back onto their site.\u003C/p\u003E\u003Cp\u003EAn extension like Recipeasy would make cooking so much easier by using food you already have (or getting what you don't have delivered) and taking the effort out of agreeing on a meal. While cooking may not appeal to you directly, just think \u2014 this could be the way you get your mother using Google Wave!\u003C/p\u003E\u003Cbr /\u003E\u003Cspan class=\"post-author\"\u003EPosted by Anna Rose Kerr, Google Wave User\u003C/span\u003E\u003Cdiv class=\"blogger-post-footer\"\u003E\u003Cimg src=\"https://blogger.googleusercontent.com/tracker/7938035922388048219-2763161105441799840?l=googlewavedev.blogspot.com\" height=\"1\" alt=\"\" width=\"1\" /\u003E\u003C/div\u003E\u003Cimg src=\"http://feeds.feedburner.com/~r/GoogleWaveDeveloperBlog/~4/N0v4fBBge1s\" height=\"1\" width=\"1\" /\u003E"} <p>Hi! I'm Anna Rose Kerr, a Kiwi and Google Wave user living in Sydney. Coming from a background in creative advertising, I see a lot of potential for Wave to make everyday tasks more efficient and enjoyable. Now, I want to share one of my ideas for how developers can make my own life easier.</p><p>Before I moved in with my boyfriend, I had no idea that making dinner could be such a complex problem. My normal approach of "eat whatever I feel like when I get hungry" does not compute with him, and thus we spend hours each day discussing what is for dinner that night. We have to factor in what's in the fridge that needs to be consumed, seasonal product, and which animal he currently feels sympathetic towards and won't eat. It often gets too complicated and we end up eating take-aways.</p><p>An ideal solution would be a cookbook extension that could do the math and come up with a recipe given all these variables, and I call that solution "Recipeasy." This extension would sit on a wave between you and your dinner guests, suggesting recipes using the ingredients you have and the foods you all like to eat.</p><p>First, the extension could insert a gadget that let users add lists of food items which they "have", "would like" or "would not like". Other users can click on these items to confirm they are a good choice or delete them from a list. The most popular ingredients have the greatest influence on the generated recipe suggestions. The extension could also include a robot that would scan the conversation for food items, and pull those out and insert them into the gadget. It would work off phrases such as "I can bring some..." or "yuck I don't like..." to place the various ingredients discussed into the right lists.</p><p><img src="http://4.bp.blogspot.com/_T1lquhCmKo8/S5OClTqlz2I/AAAAAAAADMg/yC-dLZWvV0Y/s400/recipegadget+(1).jpg" /><br /></p><p>Recipeasy would automatically produce 3-5 of the top recipes based on your selections. Clicking on a recipe name within the gadget would open the recipe's own Wave. Here, you might find suggestions and tips from other Wavers who have already tried the recipe and you can add your own review. These "Recipeasy" waves form your own virtual cookbook, which would be easily accessible by searching "with:recipeasy".</p><p>There are some obvious businesses to partner with when making this extension — like supermarket chains which could offer to deliver the extra food needed to complete a recipe. Recipe sites or chefs could add to the Recipeasy database from their own repertoire and pull the Waver's comments back onto their site.</p><p>An extension like Recipeasy would make cooking so much easier by using food you already have (or getting what you don't have delivered) and taking the effort out of agreeing on a meal. While cooking may not appeal to you directly, just think — this could be the way you get your mother using Google Wave!</p><br /><span class="post-author">Posted by Anna Rose Kerr, Google Wave User</span><div class="blogger-post-footer"><img src="https://blogger.googleusercontent.com/tracker/7938035922388048219-2763161105441799840?l=googlewavedev.blogspot.com" height="1" alt="" width="1" /></div><img src="http://feeds.feedburner.com/~r/GoogleWaveDeveloperBlog/~4/N0v4fBBge1s" height="1" width="1" />Mon, 08 Mar 2010 14:37:03 GMThttp://wavecamp.soup.io/post/47750430/My-Extension-Wish-Recipeasyurn:www-soup-io:1:47750430regular [wavecamp] Introducing Robots API v2: The Rise of Active Robots {"tags":[],"type":"regular","title":"\u003Ca href=\"http://feedproxy.google.com/~r/GoogleWaveDeveloperBlog/~3/mhMJvoCON9s/introducing-robots-api-v2-rise-of.html\"\u003EIntroducing Robots API v2: The Rise of Active Robots\u003C/a\u003E","source":"http://feedproxy.google.com/~r/GoogleWaveDeveloperBlog/~3/mhMJvoCON9s/introducing-robots-api-v2-rise-of.html","body":"Robots are an important part of the Google Wave API, and they've just become a lot more powerful. We've recently released version 2.0 of the \u003Ca href=\"http://code.google.com/apis/wave/extensions/robots/\"\u003Erobots API\u003C/a\u003E, which includes a bunch of new features:\u003Cbr /\u003E\u003Cul\u003E\u003Cli\u003E\u003Cb\u003EActive API:\u003C/b\u003E 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 \u003Ca href=\"http://code.google.com/apis/wave/extensions/robots/operations.html#ActiveRobotAPI\"\u003Ethe Active API docs\u003C/a\u003E.\u003C/li\u003E\u003Cli\u003E\u003Cb\u003EContext:\u003C/b\u003E 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's bandwidth, then you can specify the new 'SELF' context. On the flip side, if you do need all the information in the wavelet, you can specify the new 'ALL' context. You can learn more in \u003Ca href=\"http://code.google.com/apis/wave/extensions/robots/events.html#EventContext\"\u003Ethe Context docs\u003C/a\u003E.\u003C/li\u003E\u003Cli\u003E\u003Cb\u003EFiltering:\u003C/b\u003E In a similar way, with this new API, the robot can specify what events it needs to respond to, conserving valuable bandwidth -- and ignore all those that don't apply. You can learn more in \u003Ca href=\"http://code.google.com/apis/wave/extensions/robots/events.html#EventFiltering\"\u003Ethe Filtering Events docs\u003C/a\u003E.\u003C/li\u003E\u003Cli\u003E\u003Cb\u003EError reporting:\u003C/b\u003E Robots are now able to register to receive errors about failed operations, such as insertion on non-existent ranges. You can learn more in \u003Ca href=\"http://code.google.com/apis/wave/extensions/robots/operations.html#OperationErrors\"\u003Ethe Error Reporting docs\u003C/a\u003E.\u003C/li\u003E\u003Cli\u003E\u003Cb\u003EProxying-For:\u003C/b\u003E 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 \u003Ca href=\"http://wave-samples-gallery.appspot.com/about_app?app_id=107016\"\u003EBuggy sample\u003C/a\u003E, 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 \u003Ca href=\"http://code.google.com/apis/wave/extensions/robots/operations.html#Proxying\"\u003Ethe Proxying-For docs\u003C/a\u003E.\u003C/li\u003E\u003C/ul\u003E To get started with the new API, please check out the \u003Ca href=\"http://code.google.com/apis/wave/extensions/robots/basics.html\"\u003Ebasics\u003C/a\u003E and download the new client libraries: \u003Ca href=\"http://code.google.com/p/wave-robot-java-client/downloads/list\"\u003EJava\u003C/a\u003E | \u003Ca href=\"http://code.google.com/p/wave-robot-python-client/downloads/list\"\u003EPython\u003C/a\u003E. As part of this new API release, we're also standardizing around a new \u003Ca href=\"http://code.google.com/apis/wave/extensions/robots/protocol.html\"\u003Erobot wire protocol\u003C/a\u003E. These client libraries are built around this wire protocol, and this protocol specification also opens the door for you to write your own client libraries in your preferred language.\u003Cbr /\u003E\u003Cbr /\u003EAs you're getting started, visit the \u003Ca href=\"http://wave-samples-gallery.appspot.com/\"\u003Esamples gallery\u003C/a\u003E to see what others have built, which includes examples of the new robot API in action: \u003Ca href=\"http://wave-samples-gallery.appspot.com/about_app?app_id=1009\"\u003EStocky\u003C/a\u003E, \u003Ca href=\"http://wave-samples-gallery.appspot.com/about_app?app_id=109013\"\u003ESubmitty\u003C/a\u003E, and \u003Ca href=\"http://wave-samples-gallery.appspot.com/about_app?app_id=107014\u0026amp;utm_source=twitterfeed\u0026amp;utm_medium=twitter\"\u003ETwitter-Searchy\u003C/a\u003E.\u003Cbr /\u003E\u003Cbr /\u003EIf you create an amazing extension and think it's ready to share with users, please \u003Ca href=\"http://code.google.com/apis/wave/submitextension.html\"\u003Esubmit your extension\u003C/a\u003E (naturally, we're using a robot to help, but more on that later).\u003Cbr /\u003E\u003Cbr /\u003EAdditionally, as part of this release, we're experimenting with holding discussions about the new API in Google Wave itself. We've actually created a robot to help facilitate these conversations, and you can read more about how to get started with Wave API discussions in the \u003Ca href=\"http://code.google.com/apis/wave/forum.html\"\u003EWave API Forum Botty\u003C/a\u003E page. Please continue to file bugs in \u003Ca href=\"http://code.google.com/p/google-wave-resources/\"\u003Egoogle-wave-resources\u003C/a\u003E. \u003Cbr /\u003E\u003Cbr /\u003E\u003Cspan class=\"post-author\"\u003EPosted by Dan Peterson, Product Manager, Google Wave\u003C/span\u003E\u003Cdiv class=\"blogger-post-footer\"\u003E\u003Cimg src=\"https://blogger.googleusercontent.com/tracker/7938035922388048219-4450844090958912498?l=googlewavedev.blogspot.com\" height=\"1\" alt=\"\" width=\"1\" /\u003E\u003C/div\u003E\u003Cimg src=\"http://feeds.feedburner.com/~r/GoogleWaveDeveloperBlog/~4/mhMJvoCON9s\" height=\"1\" width=\"1\" /\u003E"} Robots are an important part of the Google Wave API, and they've just become a lot more powerful. We've recently released version 2.0 of the <a href="http://code.google.com/apis/wave/extensions/robots/">robots API</a>, which includes a bunch of new features:<br /><ul><li><b>Active API:</b> 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#ActiveRobotAPI">the Active API docs</a>.</li><li><b>Context:</b> 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's bandwidth, then you can specify the new 'SELF' context. On the flip side, if you do need all the information in the wavelet, you can specify the new 'ALL' context. You can learn more in <a href="http://code.google.com/apis/wave/extensions/robots/events.html#EventContext">the Context docs</a>.</li><li><b>Filtering:</b> In a similar way, with this new API, the robot can specify what events it needs to respond to, conserving valuable bandwidth -- and ignore all those that don't apply. You can learn more in <a href="http://code.google.com/apis/wave/extensions/robots/events.html#EventFiltering">the Filtering Events docs</a>.</li><li><b>Error reporting:</b> 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#OperationErrors">the Error Reporting docs</a>.</li><li><b>Proxying-For:</b> 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#Proxying">the Proxying-For docs</a>.</li></ul> To get started with the new API, please check out the <a href="http://code.google.com/apis/wave/extensions/robots/basics.html">basics</a> and download the new client libraries: <a href="http://code.google.com/p/wave-robot-java-client/downloads/list">Java</a> | <a href="http://code.google.com/p/wave-robot-python-client/downloads/list">Python</a>. As part of this new API release, we're also standardizing around a new <a href="http://code.google.com/apis/wave/extensions/robots/protocol.html">robot wire protocol</a>. These client libraries are built around this wire protocol, and this protocol specification also opens the door for you to write your own client libraries in your preferred language.<br /><br />As you're getting started, visit the <a href="http://wave-samples-gallery.appspot.com/">samples gallery</a> to see what others have built, which includes examples of the new robot API in action: <a href="http://wave-samples-gallery.appspot.com/about_app?app_id=1009">Stocky</a>, <a href="http://wave-samples-gallery.appspot.com/about_app?app_id=109013">Submitty</a>, and <a href="http://wave-samples-gallery.appspot.com/about_app?app_id=107014&amp;utm_source=twitterfeed&amp;utm_medium=twitter">Twitter-Searchy</a>.<br /><br />If you create an amazing extension and think it's ready to share with users, please <a href="http://code.google.com/apis/wave/submitextension.html">submit your extension</a> (naturally, we're using a robot to help, but more on that later).<br /><br />Additionally, as part of this release, we're experimenting with holding discussions about the new API in Google Wave itself. We've actually created a robot to help facilitate these conversations, and you can read more about how to get started with Wave API discussions in the <a href="http://code.google.com/apis/wave/forum.html">Wave API Forum Botty</a> page. Please continue to file bugs in <a href="http://code.google.com/p/google-wave-resources/">google-wave-resources</a>. <br /><br /><span class="post-author">Posted by Dan Peterson, Product Manager, Google Wave</span><div class="blogger-post-footer"><img src="https://blogger.googleusercontent.com/tracker/7938035922388048219-4450844090958912498?l=googlewavedev.blogspot.com" height="1" alt="" width="1" /></div><img src="http://feeds.feedburner.com/~r/GoogleWaveDeveloperBlog/~4/mhMJvoCON9s" height="1" width="1" />Tue, 02 Mar 2010 14:01:23 GMThttp://wavecamp.soup.io/post/47000669/Introducing-Robots-API-v2-The-Rise-ofurn:www-soup-io:1:47000669regular [wavecamp] My Extension Wish: Workflow in Wave {"tags":[],"type":"regular","title":"\u003Ca href=\"http://feedproxy.google.com/~r/GoogleWaveDeveloperBlog/~3/jxAMVxkTHBc/my-extension-wish-workflow-in-wave.html\"\u003EMy Extension Wish: Workflow in Wave\u003C/a\u003E","source":"http://feedproxy.google.com/~r/GoogleWaveDeveloperBlog/~3/jxAMVxkTHBc/my-extension-wish-workflow-in-wave.html","body":"\u003Cp\u003EGreetings! I'm Amanda and I work on Developer Relations for Google Wave. Continuing on our series of dream Google Wave extensions, I want to tell you one of my own wish...a Wave-ified workflow system.\u003C/p\u003E\u003Cp\u003EFrom Expense Reports to major Press Releases, there are a lot of documents a typical company produces that require a workflow to ask for reviews and collect the necessary approvals/signatures. Google Wave is already very useful as a mean for collaboration to produce such documents and can potentially be extended to process workflows as well.\u003C/p\u003E\u003Cp\u003ETo describe how this can work, let's say I need to write a press release announcing the release of a new ground-breaking product to the world. Before releasing it, I first want the product manager to sign off on it, then a lawyer, then a PR person, and finally someone from upper management. These approvals can be done using a gadget inserted at the top of the wave while the rest of the wave contains the press release itself and reviewer comments. The gadget contains a graphical representation of the workflow and shows simple colored buttons representing the state so far. This can potentially be done by parsing \u003Ca href=\"http://www.yawlfoundation.org\"\u003EYAWL\u003C/a\u003E (Yet Another Workflow Language) into Javascript.\u003C/p\u003E\u003Cp\u003EFor example, once the press release has been approved by PM and Legal, the current gadget state is \"Pending PR Approval\", the PM and Legal buttons are greyed out, and the PR button is highlighted. Since Joe is the designated PR person to approve, there is an extra \"Approval\" button only visible to him. When an action happens, like Joe pressing that button, the state changes accordingly and proceeds to the next step in the workflow.\u003C/p\u003E\u003Cbr /\u003E\u003Ca href=\"http://1.bp.blogspot.com/_T1lquhCmKo8/S3SSH9wTgYI/AAAAAAAADGI/mULTje0ws-Q/s1600-h/wave-workflow.png\"\u003E\u003Cimg src=\"http://1.bp.blogspot.com/_T1lquhCmKo8/S3SSH9wTgYI/AAAAAAAADGI/mULTje0ws-Q/s400/wave-workflow.png\" alt=\"\" /\u003E\u003C/a\u003E\u003Cp\u003EThe extension could also let the user select different document types in the gadget and depending on the type, it can automatically check if a document already meets the basic criteria (e.g a tweet can only contains 140 characters) before it can be approved. Furthermore, once all approvals have been received, a robot can automatically delete the comment blips to prepare the document for final publication. The possibilities are endless of course, and different companies would have different workflows to match their needs. The most flexible workflow extension should allow the creation of custom workflow templates.\u003C/p\u003E\u003Cp\u003EGoogle Wave may not be ready to replace heavy workflow systems such as those to process insurance claim or what not, but for many forms of official communication documents, it is the perfect tool to collaborate, (and hopefully soon) review, and approve.\u003C/p\u003E\u003Cp\u003EFeel free to discuss ideas for workflow extensions in \u003Ca href=\"http://groups.google.com/group/google-wave-api\"\u003Ethe API forum\u003C/a\u003E or in a public wave. We're looking forward to hearing your ideas!\u003C/p\u003E\u003Cbr /\u003E\u003Cspan class=\"post-author\"\u003EPosted by Amanda Surya, Developer Relations\u003C/span\u003E\u003Cdiv class=\"blogger-post-footer\"\u003E\u003Cimg src=\"https://blogger.googleusercontent.com/tracker/7938035922388048219-469815058559391813?l=googlewavedev.blogspot.com\" height=\"1\" alt=\"\" width=\"1\" /\u003E\u003C/div\u003E\u003Cimg src=\"http://feeds.feedburner.com/~r/GoogleWaveDeveloperBlog/~4/jxAMVxkTHBc\" height=\"1\" width=\"1\" /\u003E"} <p>Greetings! I'm Amanda and I work on Developer Relations for Google Wave. Continuing on our series of dream Google Wave extensions, I want to tell you one of my own wish...a Wave-ified workflow system.</p><p>From Expense Reports to major Press Releases, there are a lot of documents a typical company produces that require a workflow to ask for reviews and collect the necessary approvals/signatures. Google Wave is already very useful as a mean for collaboration to produce such documents and can potentially be extended to process workflows as well.</p><p>To describe how this can work, let's say I need to write a press release announcing the release of a new ground-breaking product to the world. Before releasing it, I first want the product manager to sign off on it, then a lawyer, then a PR person, and finally someone from upper management. These approvals can be done using a gadget inserted at the top of the wave while the rest of the wave contains the press release itself and reviewer comments. The gadget contains a graphical representation of the workflow and shows simple colored buttons representing the state so far. This can potentially be done by parsing <a href="http://www.yawlfoundation.org">YAWL</a> (Yet Another Workflow Language) into Javascript.</p><p>For example, once the press release has been approved by PM and Legal, the current gadget state is "Pending PR Approval", the PM and Legal buttons are greyed out, and the PR button is highlighted. Since Joe is the designated PR person to approve, there is an extra "Approval" button only visible to him. When an action happens, like Joe pressing that button, the state changes accordingly and proceeds to the next step in the workflow.</p><br /><a href="http://1.bp.blogspot.com/_T1lquhCmKo8/S3SSH9wTgYI/AAAAAAAADGI/mULTje0ws-Q/s1600-h/wave-workflow.png"><img src="http://1.bp.blogspot.com/_T1lquhCmKo8/S3SSH9wTgYI/AAAAAAAADGI/mULTje0ws-Q/s400/wave-workflow.png" alt="" /></a><p>The extension could also let the user select different document types in the gadget and depending on the type, it can automatically check if a document already meets the basic criteria (e.g a tweet can only contains 140 characters) before it can be approved. Furthermore, once all approvals have been received, a robot can automatically delete the comment blips to prepare the document for final publication. The possibilities are endless of course, and different companies would have different workflows to match their needs. The most flexible workflow extension should allow the creation of custom workflow templates.</p><p>Google Wave may not be ready to replace heavy workflow systems such as those to process insurance claim or what not, but for many forms of official communication documents, it is the perfect tool to collaborate, (and hopefully soon) review, and approve.</p><p>Feel free to discuss ideas for workflow extensions in <a href="http://groups.google.com/group/google-wave-api">the API forum</a> or in a public wave. We're looking forward to hearing your ideas!</p><br /><span class="post-author">Posted by Amanda Surya, Developer Relations</span><div class="blogger-post-footer"><img src="https://blogger.googleusercontent.com/tracker/7938035922388048219-469815058559391813?l=googlewavedev.blogspot.com" height="1" alt="" width="1" /></div><img src="http://feeds.feedburner.com/~r/GoogleWaveDeveloperBlog/~4/jxAMVxkTHBc" height="1" width="1" />Thu, 11 Feb 2010 23:32:32 GMThttp://wavecamp.soup.io/post/45055468/My-Extension-Wish-Workflow-in-Waveurn:www-soup-io:1:45055468regular [wavecamp] My Extension Wish: Wave Timer {"tags":[],"type":"regular","title":"\u003Ca href=\"http://feedproxy.google.com/~r/GoogleWaveDeveloperBlog/~3/0KkfLdyfuHw/my-extension-wish-wave-timer.html\"\u003EMy Extension Wish: Wave Timer\u003C/a\u003E","source":"http://feedproxy.google.com/~r/GoogleWaveDeveloperBlog/~3/0KkfLdyfuHw/my-extension-wish-wave-timer.html","body":"Hi I'm Anna-Christina, I work on product marketing for Google Wave. Aside from \u003Ca href=\"http://4.bp.blogspot.com/_7ZYqYi4xigk/Sh40hRLylhI/AAAAAAAAD10/sLJ28_3Fe9E/s1600-h/Google_Wave_snapshots_inbox.png\"\u003E\"drinkin' coffee\"\u003C/a\u003E, I run a weekly team meeting using waves: I start the wave ahead of time, people add their questions and agenda items, then during the meeting I project the wave on the screen for people in the room, and others just follow along. Generally, it runs pretty smoothly, except for one thing: I can't tell how long we talk about each topic!\u003Cbr /\u003E\u003Cbr /\u003EI would love a collaborative timer, clock, or stopwatch that I could put at the top of a wave when the meeting starts. As we begin each topic, we can set the timer for a given amount of time, and we could easily see when we are taking too much time (or approaching that stage). Ideally, we could embed the gadget twice, and use one of them to keep track of the overall meeting length. I run a tight ship! :)\u003Cbr /\u003E\u003Cbr /\u003E\u003Ca href=\"http://3.bp.blogspot.com/_T1lquhCmKo8/S29ZB1RaMnI/AAAAAAAADE0/cnc9FyAgYvM/s1600-h/wavetimer.png\"\u003E\u003Cimg src=\"http://3.bp.blogspot.com/_T1lquhCmKo8/S29ZB1RaMnI/AAAAAAAADE0/cnc9FyAgYvM/s400/wavetimer.png\" alt=\"\" /\u003E\u003C/a\u003E\u003Cbr /\u003EWhile my example use case is for work, I think a stopwatch extension could work for school applications (like timed practice tests), or any sort of timed activity in a wave, like office hours or a timed creative brainstorm like: How many haikus can we create in 5 minutes? Ready.....go!\u003Cbr /\u003E\u003Cbr /\u003EA more sophisticated stopwatch extension could also include a robot to update the wave when time was nearing to an end, so that the wave popped up in participant's inboxes. Then, it could be used for things like warning people when a meeting is about to start, or when a big event is about to happen (New Years!).\u003Cbr /\u003E\u003Cbr /\u003EFeel free to discuss ideas for the stopwatch extension in \u003Ca href=\"http://groups.google.com/group/google-wave-api\"\u003Ethe forum\u003C/a\u003E or in a public wave, and make sure to \u003Ca href=\"https://wave-extensions-gallery.appspot.com/submit\"\u003Esubmit it\u003C/a\u003E to the extensions gallery when you're ready to share it with the world (and most importantly, *me*).\u003Cbr /\u003E\u003Cbr /\u003EHappy waving!\u003Cbr /\u003E\u003Cbr /\u003E\u003Cspan class=\"post-author\"\u003EPosted by Anna-Christina Douglas, Product Marketing, Google Wave\u003C/span\u003E\u003Cdiv class=\"blogger-post-footer\"\u003E\u003Cimg src=\"https://blogger.googleusercontent.com/tracker/7938035922388048219-3743683035591040779?l=googlewavedev.blogspot.com\" height=\"1\" alt=\"\" width=\"1\" /\u003E\u003C/div\u003E\u003Cimg src=\"http://feeds.feedburner.com/~r/GoogleWaveDeveloperBlog/~4/0KkfLdyfuHw\" height=\"1\" width=\"1\" /\u003E"} Hi I'm Anna-Christina, I work on product marketing for Google Wave. Aside from <a href="http://4.bp.blogspot.com/_7ZYqYi4xigk/Sh40hRLylhI/AAAAAAAAD10/sLJ28_3Fe9E/s1600-h/Google_Wave_snapshots_inbox.png">"drinkin' coffee"</a>, I run a weekly team meeting using waves: I start the wave ahead of time, people add their questions and agenda items, then during the meeting I project the wave on the screen for people in the room, and others just follow along. Generally, it runs pretty smoothly, except for one thing: I can't tell how long we talk about each topic!<br /><br />I would love a collaborative timer, clock, or stopwatch that I could put at the top of a wave when the meeting starts. As we begin each topic, we can set the timer for a given amount of time, and we could easily see when we are taking too much time (or approaching that stage). Ideally, we could embed the gadget twice, and use one of them to keep track of the overall meeting length. I run a tight ship! :)<br /><br /><a href="http://3.bp.blogspot.com/_T1lquhCmKo8/S29ZB1RaMnI/AAAAAAAADE0/cnc9FyAgYvM/s1600-h/wavetimer.png"><img src="http://3.bp.blogspot.com/_T1lquhCmKo8/S29ZB1RaMnI/AAAAAAAADE0/cnc9FyAgYvM/s400/wavetimer.png" alt="" /></a><br />While my example use case is for work, I think a stopwatch extension could work for school applications (like timed practice tests), or any sort of timed activity in a wave, like office hours or a timed creative brainstorm like: How many haikus can we create in 5 minutes? Ready.....go!<br /><br />A more sophisticated stopwatch extension could also include a robot to update the wave when time was nearing to an end, so that the wave popped up in participant's inboxes. Then, it could be used for things like warning people when a meeting is about to start, or when a big event is about to happen (New Years!).<br /><br />Feel free to discuss ideas for the stopwatch extension in <a href="http://groups.google.com/group/google-wave-api">the forum</a> or in a public wave, and make sure to <a href="https://wave-extensions-gallery.appspot.com/submit">submit it</a> to the extensions gallery when you're ready to share it with the world (and most importantly, *me*).<br /><br />Happy waving!<br /><br /><span class="post-author">Posted by Anna-Christina Douglas, Product Marketing, Google Wave</span><div class="blogger-post-footer"><img src="https://blogger.googleusercontent.com/tracker/7938035922388048219-3743683035591040779?l=googlewavedev.blogspot.com" height="1" alt="" width="1" /></div><img src="http://feeds.feedburner.com/~r/GoogleWaveDeveloperBlog/~4/0KkfLdyfuHw" height="1" width="1" />Mon, 08 Feb 2010 00:28:32 GMThttp://wavecamp.soup.io/post/44850186/My-Extension-Wish-Wave-Timerurn:www-soup-io:1:44850186regular [processwave] Open source library syncro brings realtime collaboration to Google Wave Gadgets {"tags":[],"type":"link","title":"Open source library syncro brings realtime collaboration to Google Wave Gadgets","source":"http://www.processwave.org/2010/02/syncro-real-collaboration-in-google.html","body":"We have written syncro, an open source JavaScript library for Google Wave gadgets that makes it really simple to bring complex collaboration to gadgets. Syncro provides an interface to a distributed\u00a0command stack stored in the gadget state. The library ensures an unambiguous chronological order of all commands pushed to this stack.\u003Cdiv\u003E\u003Cbr /\u003E\u003C/div\u003E\u003Cdiv\u003ETo see a little demo gadget, get the code or read more, visit our \u003Ca href=\"http://www.processwave.org/2010/02/syncro-real-collaboration-in-google.html\"\u003Eblog\u003C/a\u003E.\u003Cbr /\u003E\u00a0 \u003Cdiv\u003E\u003Cbr /\u003E\u003C/div\u003E\n\u003Cdiv\u003E\u003Cimg src=\"http://static.processwave.org/syncro300.png\" /\u003E\u003Cbr /\u003E\u003C/div\u003E\n \u003C/div\u003E"} <p>We have written syncro, an open source JavaScript library for Google Wave gadgets that makes it really simple to bring complex collaboration to gadgets. Syncro provides an interface to a distributed command stack stored in the gadget state. The library ensures an unambiguous chronological order of all commands pushed to this stack.<div><br /></div><div>To see a little demo gadget, get the code or read more, visit our <a href="http://www.processwave.org/2010/02/syncro-real-collaboration-in-google.html">blog</a>.<br />  <div><br /></div> <div><img src="http://static.processwave.org/syncro300.png" /><br /></div> </div></p> <p><a href="http://www.processwave.org/2010/02/syncro-real-collaboration-in-google.html">http://www.processwave.org/2010/02/syncro-real-collaboration-in-google.html</a></p><p>[Reposted from <span class="user_container user220119" ><a class="" href="http://processwave.soup.io/post/44495416/Open-source-library-syncro-brings-realtime-collaboration"><span class="name">processwave</span></a></span>]</p>Fri, 05 Feb 2010 17:26:01 GMThttp://wavecamp.soup.io/post/44514084/Open-source-library-syncro-brings-realtime-collaborationurn:www-soup-io:1:44514084link [wavecamp] Google Wave at I/O {"tags":[],"type":"regular","title":"\u003Ca href=\"http://feedproxy.google.com/~r/GoogleWaveDeveloperBlog/~3/14svApyVe60/google-wave-at-io.html\"\u003EGoogle Wave at I/O\u003C/a\u003E","source":"http://feedproxy.google.com/~r/GoogleWaveDeveloperBlog/~3/14svApyVe60/google-wave-at-io.html","body":"\u003Cp\u003EAs you may remember, Google Wave was first unveiled to the world at last year's Google I/O, in the 80-minute (infamous?) \u003Ca href=\"http://www.youtube.com/watch?v=v_UyVmITiYQ\"\u003Ekeynote\u003C/a\u003E. In the handful of sessions that we squeezed in on that second day, we explained the basics of the API, the core operational transformation (OT) algorithm, how we take advantage of GWT to build the client, and a bit about the federation protocol. This year, we are focusing on how you can build upon those basics to take Wave integration to the next level. We'll teach you how to build amazing extensions, how to get your own wave server running, and how to start using Wave inside your business. Check out the sessions below, and make sure you can join us for them by \u003Ca href=\"http://code.google.com/events/io/2010/\"\u003Eregistering for I/O\u003C/a\u003E!\u003C/p\u003E \u003Cbr /\u003E\u003Cp\u003E\u003Ca href=\"http://code.google.com/events/io/2010/sessions/open-source-wave-provider.html\"\u003EOpen source Google Wave: Building your own wave provider\u003C/a\u003E\u003Cbr /\u003EDan Peterson, Jochen Bekmann\u003C/p\u003E \u003Cp\u003E\u003Ca href=\"http://code.google.com/events/io/2010/sessions/wave-api-design-extensions.html\"\u003EGoogle Wave API design principles + anatomy of a great extension\u003C/a\u003E \u003Cbr /\u003EPamela Fox, Douwe Osinga\u003C/p\u003E \u003Cp\u003E\u003Ca href=\"http://code.google.com/events/io/2010/sessions/smart-scalable-wave-robots.html\"\u003EMaking smart \u0026amp; scalable Wave robots\u003C/a\u003E\u003Cbr /\u003EDouwe Osinga, David Byttow\u003C/p\u003E\u003Cp\u003E\u003Ca href=\"http://code.google.com/events/io/2010/sessions/google-wave-enterprise.html\"\u003EGoogle Wave and the enterprise environment\u003C/a\u003E\u003Cbr /\u003EGreg D'alesandre\u003C/p\u003E \u003Cbr /\u003E\u003Cp\u003EWe're looking forward to chatting with you all, seeing what you've been working on, and discussing what awesome ideas are brewing in your heads.\u003C/p\u003E\u003Cbr /\u003E\u003Cbr /\u003E\u003Cspan class=\"post-author\"\u003EPosted by Pamela Fox, Developer Relations\u003C/span\u003E\u003Cdiv class=\"blogger-post-footer\"\u003E\u003Cimg src=\"https://blogger.googleusercontent.com/tracker/7938035922388048219-1398030126668274679?l=googlewavedev.blogspot.com\" height=\"1\" alt=\"\" width=\"1\" /\u003E\u003C/div\u003E\u003Cimg src=\"http://feeds.feedburner.com/~r/GoogleWaveDeveloperBlog/~4/14svApyVe60\" height=\"1\" width=\"1\" /\u003E"} <p>As you may remember, Google Wave was first unveiled to the world at last year's Google I/O, in the 80-minute (infamous?) <a href="http://www.youtube.com/watch?v=v_UyVmITiYQ">keynote</a>. In the handful of sessions that we squeezed in on that second day, we explained the basics of the API, the core operational transformation (OT) algorithm, how we take advantage of GWT to build the client, and a bit about the federation protocol. This year, we are focusing on how you can build upon those basics to take Wave integration to the next level. We'll teach you how to build amazing extensions, how to get your own wave server running, and how to start using Wave inside your business. Check out the sessions below, and make sure you can join us for them by <a href="http://code.google.com/events/io/2010/">registering for I/O</a>!</p> <br /><p><a href="http://code.google.com/events/io/2010/sessions/open-source-wave-provider.html">Open source Google Wave: Building your own wave provider</a><br />Dan Peterson, Jochen Bekmann</p> <p><a href="http://code.google.com/events/io/2010/sessions/wave-api-design-extensions.html">Google Wave API design principles + anatomy of a great extension</a> <br />Pamela Fox, Douwe Osinga</p> <p><a href="http://code.google.com/events/io/2010/sessions/smart-scalable-wave-robots.html">Making smart &amp; scalable Wave robots</a><br />Douwe Osinga, David Byttow</p><p><a href="http://code.google.com/events/io/2010/sessions/google-wave-enterprise.html">Google Wave and the enterprise environment</a><br />Greg D'alesandre</p> <br /><p>We're looking forward to chatting with you all, seeing what you've been working on, and discussing what awesome ideas are brewing in your heads.</p><br /><br /><span class="post-author">Posted by Pamela Fox, Developer Relations</span><div class="blogger-post-footer"><img src="https://blogger.googleusercontent.com/tracker/7938035922388048219-1398030126668274679?l=googlewavedev.blogspot.com" height="1" alt="" width="1" /></div><img src="http://feeds.feedburner.com/~r/GoogleWaveDeveloperBlog/~4/14svApyVe60" height="1" width="1" />Fri, 29 Jan 2010 04:15:03 GMThttp://wavecamp.soup.io/post/43559949/Google-Wave-at-I-Ourn:www-soup-io:1:43559949regular [wavecamp] My Extension Wish: A Joint Jukebox {"tags":[],"type":"regular","title":"\u003Ca href=\"http://feedproxy.google.com/~r/GoogleWaveDeveloperBlog/~3/M8OcWu3ki_0/my-extension-wish-joint-jukebox.html\"\u003EMy Extension Wish: A Joint Jukebox\u003C/a\u003E","source":"http://feedproxy.google.com/~r/GoogleWaveDeveloperBlog/~3/M8OcWu3ki_0/my-extension-wish-joint-jukebox.html","body":"\u003Cp\u003EIn the API corner of the Google Wave cubicles, we're often digressing into energetic discussions about an awesome extension that we want to see, and scheming about how we can encourage developers to implement these fantasy extensions. Since none of us are very good at inserting subliminal messages into forum posts, we figured we'd share our ideas on this blog instead, in a series of posts from various members of the Google Wave team.\u003C/p\u003E \u003Cbr /\u003E\u003Cp\u003E\u003Ca href=\"http://3.bp.blogspot.com/_T1lquhCmKo8/S05z-KiWZsI/AAAAAAAADCs/z5TszEBP1P8/s1600-h/youtubeplaylist.jpg\"\u003E\u003Cimg src=\"http://3.bp.blogspot.com/_T1lquhCmKo8/S05z-KiWZsI/AAAAAAAADCs/z5TszEBP1P8/s400/youtubeplaylist.jpg\" alt=\"\" /\u003E\u003C/a\u003ETo start off the series, I want to sell you on the idea of the \"Joint Jukebox\". First, some background. Sometimes I find myself in situations where friends put me in charge of playing music during a party, and I am constantly reminded by said people that I have one of the \"worst\" tastes in music ever.\u003C/p\u003E\u003Cbr /\u003E\u003Cp\u003ESo, I have experimented with various ways of giving people a way to influence the stream of music. When I was a lab assistant in college, I wrote an app that used Google Spreadsheets to power a Youtube player that I projected on the screen. My classmates could add Youtube video IDs to the spreadsheet, and change the number in the \"rank\" column to get the video to play sooner. That worked alright, but the voting mechanism (the \"rank\" column) was too easy to hack, and not that fun to use. I always envisioned writing a digg-like interface for it, but since I never got the chance, I'm putting you up to the challenge of doing it... but Wave-ified!\u003C/p\u003E \u003Cbr /\u003E\u003Cp\u003EThe Joint Jukebox would let users search for songs (using any one of the various \u003Ca href=\"http://www.programmableweb.com/apis/directory/1?apicat=Music\"\u003Emusic APIs\u003C/a\u003E on the web), and then submit play requests (or skip requests for the haters) on each submitted song. A highly intelligent algorithm would be constantly analyzing the current rankings and play history of all the songs, and use that information to select the next song to play. A group could use this as their DJ for a party or joint working space, just by hooking up a computer displaying the Wave to their audio system. Or, a couple in a long-distance relationship could use it across oceans, to feel like they're aurally connected. The Jukebox could also support playing music videos, or even playing karaoke versions of songs with lyrics displayed. No more listening to lame slow songs by the one depressed dude at Karaoke \u2014 you'll just vote him down!\u003C/p\u003E \u003Cbr /\u003E\u003Cp\u003EThe diagram below \u2014 made using a cool UI mockup app called \u003Ca href=\"http://gomockingbird.com/\"\u003EMockingbird\u003C/a\u003E (which would also make a great extension to Google Wave) \u2014 shows what the main screen and stats dialog could look like for the gadget. The jukebox shows the currently playing songs, the songs slated to play next, and then tabs to browse other songs users can rate. Users can suggest new songs, of course, when they want to listen to the latest from their favorite pop star or musical TV drama. :) \u003C/p\u003E \u003Cbr /\u003E\u003Ca href=\"http://2.bp.blogspot.com/_T1lquhCmKo8/S050CQdkWsI/AAAAAAAADC0/v4di8dgld6k/s1600-h/1.+Home.png\"\u003E\u003Cimg src=\"http://2.bp.blogspot.com/_T1lquhCmKo8/S050CQdkWsI/AAAAAAAADC0/v4di8dgld6k/s400/1.+Home.png\" alt=\"\" /\u003E\u003C/a\u003E\u003Cbr /\u003E\u003Cp\u003ESo, that's my wish \u2014 making music listening into a collaborative experience. If you want to help fulfill my wish \u2014 or if you're inspired to take it in a different direction \u2014 pop by \u003Ca href=\"http://groups.google.com/group/google-wave-api\"\u003Ethe forum\u003C/a\u003E and share your ideas. Thanks, in advance!\u003C/p\u003E\u003Cbr /\u003E\u003Cbr /\u003E\u003Cspan class=\"post-author\"\u003EPosted by Pamela Fox, Developer Relations\u003C/span\u003E\u003Cdiv class=\"blogger-post-footer\"\u003E\u003Cimg src=\"https://blogger.googleusercontent.com/tracker/7938035922388048219-1476692188117068909?l=googlewavedev.blogspot.com\" height=\"1\" alt=\"\" width=\"1\" /\u003E\u003C/div\u003E\u003Cimg src=\"http://feeds.feedburner.com/~r/GoogleWaveDeveloperBlog/~4/M8OcWu3ki_0\" height=\"1\" width=\"1\" /\u003E"} <p>In the API corner of the Google Wave cubicles, we're often digressing into energetic discussions about an awesome extension that we want to see, and scheming about how we can encourage developers to implement these fantasy extensions. Since none of us are very good at inserting subliminal messages into forum posts, we figured we'd share our ideas on this blog instead, in a series of posts from various members of the Google Wave team.</p> <br /><p><a href="http://3.bp.blogspot.com/_T1lquhCmKo8/S05z-KiWZsI/AAAAAAAADCs/z5TszEBP1P8/s1600-h/youtubeplaylist.jpg"><img src="http://3.bp.blogspot.com/_T1lquhCmKo8/S05z-KiWZsI/AAAAAAAADCs/z5TszEBP1P8/s400/youtubeplaylist.jpg" alt="" /></a>To start off the series, I want to sell you on the idea of the "Joint Jukebox". First, some background. Sometimes I find myself in situations where friends put me in charge of playing music during a party, and I am constantly reminded by said people that I have one of the "worst" tastes in music ever.</p><br /><p>So, I have experimented with various ways of giving people a way to influence the stream of music. When I was a lab assistant in college, I wrote an app that used Google Spreadsheets to power a Youtube player that I projected on the screen. My classmates could add Youtube video IDs to the spreadsheet, and change the number in the "rank" column to get the video to play sooner. That worked alright, but the voting mechanism (the "rank" column) was too easy to hack, and not that fun to use. I always envisioned writing a digg-like interface for it, but since I never got the chance, I'm putting you up to the challenge of doing it... but Wave-ified!</p> <br /><p>The Joint Jukebox would let users search for songs (using any one of the various <a href="http://www.programmableweb.com/apis/directory/1?apicat=Music">music APIs</a> on the web), and then submit play requests (or skip requests for the haters) on each submitted song. A highly intelligent algorithm would be constantly analyzing the current rankings and play history of all the songs, and use that information to select the next song to play. A group could use this as their DJ for a party or joint working space, just by hooking up a computer displaying the Wave to their audio system. Or, a couple in a long-distance relationship could use it across oceans, to feel like they're aurally connected. The Jukebox could also support playing music videos, or even playing karaoke versions of songs with lyrics displayed. No more listening to lame slow songs by the one depressed dude at Karaoke — you'll just vote him down!</p> <br /><p>The diagram below — made using a cool UI mockup app called <a href="http://gomockingbird.com/">Mockingbird</a> (which would also make a great extension to Google Wave) — shows what the main screen and stats dialog could look like for the gadget. The jukebox shows the currently playing songs, the songs slated to play next, and then tabs to browse other songs users can rate. Users can suggest new songs, of course, when they want to listen to the latest from their favorite pop star or musical TV drama. :) </p> <br /><a href="http://2.bp.blogspot.com/_T1lquhCmKo8/S050CQdkWsI/AAAAAAAADC0/v4di8dgld6k/s1600-h/1.+Home.png"><img src="http://2.bp.blogspot.com/_T1lquhCmKo8/S050CQdkWsI/AAAAAAAADC0/v4di8dgld6k/s400/1.+Home.png" alt="" /></a><br /><p>So, that's my wish — making music listening into a collaborative experience. If you want to help fulfill my wish — or if you're inspired to take it in a different direction — pop by <a href="http://groups.google.com/group/google-wave-api">the forum</a> and share your ideas. Thanks, in advance!</p><br /><br /><span class="post-author">Posted by Pamela Fox, Developer Relations</span><div class="blogger-post-footer"><img src="https://blogger.googleusercontent.com/tracker/7938035922388048219-1476692188117068909?l=googlewavedev.blogspot.com" height="1" alt="" width="1" /></div><img src="http://feeds.feedburner.com/~r/GoogleWaveDeveloperBlog/~4/M8OcWu3ki_0" height="1" width="1" />Fri, 15 Jan 2010 06:41:19 GMThttp://wavecamp.soup.io/post/41749003/My-Extension-Wish-A-Joint-Jukeboxurn:www-soup-io:1:41749003regular [wavecamp] German Wave Camp - Stand der Dinge: wavecamp.soup.io/... {"tags":[],"type":"regular","title":null,"source":"http://twitter.com/GermanWaveCamp/statuses/7451662392","body":"German Wave Camp - Stand der Dinge: \u003Ca href=\"http://wavecamp.soup.io/post/40614094/German-Wave-Camp-Stand-der-Dinge?sessid=150dddc514f359580577d10dcc84734a\u0026amp;sharedby=179306\" title=\"http://bit.ly/7gWaY2\"\u003Ewavecamp.soup.io/...\u003C/a\u003E"} German Wave Camp - Stand der Dinge: <a href="http://wavecamp.soup.io/post/40614094/German-Wave-Camp-Stand-der-Dinge?sessid=150dddc514f359580577d10dcc84734a&amp;sharedby=179306" title="http://bit.ly/7gWaY2">wavecamp.soup.io/...</a>Wed, 06 Jan 2010 19:55:26 GMThttp://wavecamp.soup.io/post/40629747/German-Wave-Camp-Stand-der-Dinge-wavecampurn:www-soup-io:1:40629747regular [oneaim] German Wave Camp - Stand der Dinge {"tags":["german wave camp","wave","google wave","wavecamp"],"type":"regular","title":"German Wave Camp - Stand der Dinge","source":null,"body":"Wie ist der Stand rund um das German Wave Camp in K\u00fcrze?\u003Cbr /\u003E\u003Cbr /\u003E- das Camp soll zwei mal im Jahr stattfinden\u003Cbr /\u003E\u003Cbr /\u003E- das erste soll bis Juni 2010 in Berlin statt finden\u003Cbr /\u003E\u003Cbr /\u003E- das zweite im Herbst 2010 in M\u00fcnchen\u003Cbr /\u003E\u003Cbr /\u003E- wir werden mit allen Google Technology User Groups in Deutschland zusammenarbeiten\u003Cbr /\u003E\u003Cbr /\u003E-\nWarum ging es Ende 2009 nicht? Weil es noch zu wenig Projekte gab und\ndie grundlegende Waveentwicklung mehr Zeit in Anspruch nahm als\ngedacht. Beides nicht so gut f\u00fcr eine gro\u00dfe \u00f6ffentliche Veranstaltung.\u003Cbr /\u003E\u003Cbr /\u003E-\nAusserdem ist es wichtig Google in die Planung gut einzubinden. Wir\nstehen in Kontakt zu Google. Herausforderung: Alle Google Wave\nEntwickler sind in Australien. Wir m\u00fcssen also Entwickler aus\nAustralien zu den Veranstaltungen holen. Google macht sein Jahresplan\nf\u00fcr 2010 gerade fertig. Im Februar soll es konkret werden. Eine gro\u00dfe Konferenz ohne die Wissenstr\u00e4ger macht nur wenig Sinn.\u003Cbr /\u003E\u003Cbr /\u003EBei weiteren Fragen schreibt einfach.\u003Cbr /\u003E\u003Cbr /\u003EWir melden uns wieder sobald es mit Google konkret wird. Bitte schreibt auch, wenn ihr Technologieunternehmen kennt, die an Wave interessiert\nsind und entweder\u003Cbr /\u003E\u003Cbr /\u003E- die Wave Entwicklung pushen wollen (Stichwort Wave Server)\u003Cbr /\u003E\u003Cbr /\u003E- oder f\u00fcr ein Sponsoring in Frage kommen w\u00fcrden (einige Sponsoren haben wir schon)\u003Cbr /\u003E\u003Cbr /\u003EAlles Liebe und ein erfolgreiches Jahr 2010 w\u00fcnscht\u003Cbr /\u003Edas Orga Team!\u003Cbr /\u003E\u003Cbr /\u003EEmail: ingmar.redel \u0026lt;at\u0026gt; echologic.org\u003Cbr /\u003E\u003Cbr /\u003EWebseite: http://wavecamp.mixxt.org"} Wie ist der Stand rund um das German Wave Camp in Kürze?<br /><br />- das Camp soll zwei mal im Jahr stattfinden<br /><br />- das erste soll bis Juni 2010 in Berlin statt finden<br /><br />- das zweite im Herbst 2010 in München<br /><br />- wir werden mit allen Google Technology User Groups in Deutschland zusammenarbeiten<br /><br />- Warum ging es Ende 2009 nicht? Weil es noch zu wenig Projekte gab und die grundlegende Waveentwicklung mehr Zeit in Anspruch nahm als gedacht. Beides nicht so gut für eine große öffentliche Veranstaltung.<br /><br />- Ausserdem ist es wichtig Google in die Planung gut einzubinden. Wir stehen in Kontakt zu Google. Herausforderung: Alle Google Wave Entwickler sind in Australien. Wir müssen also Entwickler aus Australien zu den Veranstaltungen holen. Google macht sein Jahresplan für 2010 gerade fertig. Im Februar soll es konkret werden. Eine große Konferenz ohne die Wissensträger macht nur wenig Sinn.<br /><br />Bei weiteren Fragen schreibt einfach.<br /><br />Wir melden uns wieder sobald es mit Google konkret wird. Bitte schreibt auch, wenn ihr Technologieunternehmen kennt, die an Wave interessiert sind und entweder<br /><br />- die Wave Entwicklung pushen wollen (Stichwort Wave Server)<br /><br />- oder für ein Sponsoring in Frage kommen würden (einige Sponsoren haben wir schon)<br /><br />Alles Liebe und ein erfolgreiches Jahr 2010 wünscht<br />das Orga Team!<br /><br />Email: ingmar.redel &lt;at&gt; echologic.org<br /><br />Webseite: <a href="http://wavecamp.mixxt.org">http://wavecamp.mixxt.org</a>Wed, 06 Jan 2010 19:50:47 GMThttp://wavecamp.soup.io/post/40614094/German-Wave-Camp-Stand-der-Dingeurn:www-soup-io:1:40614094regulargerman wave campwavegoogle wavewavecamp [oneaim] DokuWiki und Google Wave {"tags":["google wave","wave","dokuwiki"],"type":"link","title":"DokuWiki und Google Wave","source":"http://github.com/evilhackerdude/dokuwave","body":"Du m\u00f6chtest DokuWiki Inhalte mit einer Wave synchronisieren? Dann probiere mal die verlinkte Entwicklung aus und gib uns Feedback ob es klappt!\u003Cbr /\u003E\u003Cbr /\u003Eteam\u003Cbr /\u003Ewavecamp.mixxt.org"} <p>Du möchtest DokuWiki Inhalte mit einer Wave synchronisieren? Dann probiere mal die verlinkte Entwicklung aus und gib uns Feedback ob es klappt!<br /><br />team<br />wavecamp.mixxt.org</p> <p><a href="http://github.com/evilhackerdude/dokuwave">http://github.com/evilhackerdude/dokuwave</a></p>Wed, 06 Jan 2010 19:43:42 GMThttp://wavecamp.soup.io/post/40613041/DokuWiki-und-Google-Waveurn:www-soup-io:1:40613041linkgoogle wavewavedokuwiki [wavecamp] 15 days, 8 countries and zillions of developers {"tags":[],"type":"regular","title":"\u003Ca href=\"http://feedproxy.google.com/~r/GoogleWaveDeveloperBlog/~3/aW0dzYaSBX4/15-days-8-countries-and-zillions-of.html\"\u003E15 days, 8 countries and zillions of developers\u003C/a\u003E","source":"http://feedproxy.google.com/~r/GoogleWaveDeveloperBlog/~3/aW0dzYaSBX4/15-days-8-countries-and-zillions-of.html","body":"\u003Cp\u003ELeaving October spring weather in Sydney for a trip around Europe was not easy. But any doubts about the wiseness of our trip disappeared as we walked into the first GTUG event in London where 300+ developers showed up to learn more about the \u003Ca href=\"http://code.google.com/apis/wave/\"\u003EGoogle Wave APIs\u003C/a\u003E\u003Cspan\u003E. We met two of the most prolific wave developers there (you might know them from extensions such as \u003Ca href=\"http://wave-samples-gallery.appspot.com/about_app?app_id=30012\"\u003ERssybot\u003C/a\u003E and \u003Ca href=\"http://www.waverz.com/contentwave/Voting_for_Waves_-_Votely/\"\u003EVotely\u003C/a\u003E) as well as meeting David Crane who asked for 1000 accounts for \u003Ca href=\"http://gyp.debatewise.org/\"\u003EGlobal Youth Panel\u003C/a\u003E to \u003Ca href=\"http://www.guardian.co.uk/environment/blog/2009/dec/15/copenhagen-google-wave-youth-panel\"\u003Edebate climate change.\u003C/a\u003E As we flew from country to country, we continued to meet more developers whose enthusiasm for Wave gave us the energy to overcome our jetlag and see the sights of Europe.\u003Cbr /\u003E \u003Cbr /\u003ECheck out the lives waves, videos, and slides for the various events below:\u003Cbr /\u003E\u003C/span\u003E\u003Cbr /\u003E\u003Ca href=\"http://1.bp.blogspot.com/_T1lquhCmKo8/SzIDWQK3NTI/AAAAAAAAC7g/0-NmTLPeIpA/s1600-h/IMG_5659.JPG\"\u003E\u003Cimg src=\"http://1.bp.blogspot.com/_T1lquhCmKo8/SzIDWQK3NTI/AAAAAAAAC7g/0-NmTLPeIpA/s400/IMG_5659.JPG\" alt=\"\" /\u003E\u003C/a\u003E\u003Cspan\u003ELondon, England\u003C/span\u003E\u003Cspan\u003E\u003Cbr /\u003EOct. 26: \u003Ca href=\"http://www.london-gtug.org/Venue\"\u003E\u003C/a\u003E\u003C/span\u003E\u003Cspan\u003EGTUG London: \u003Ca href=\"https://wave.google.com/wave/#minimized:nav,minimized:contact,restored:search:with%253Apublic+tag%253Agtuglondon,restored:wave:googlewave.com!w%252BwbBbkEWbA.1\"\u003ELive waves\u003C/a\u003E, \u003Ca href=\"http://london-gtug.blogspot.com/2009/12/google-wave-talk-by-lars-rasmussen-and.html\"\u003EBlog post\u003C/a\u003E \u003C/span\u003E\u003Cspan\u003E\u003Cbr /\u003E\u003Cbr /\u003E\u003C/span\u003E\u003Cspan\u003EVienna, Austria\u003C/span\u003E\u003Cspan\u003E\u003Cbr /\u003EOct 27: \u003Ca href=\"http://www.sapteched.com/emea/\"\u003E\u003C/a\u003E\u003C/span\u003E\u003Cspan\u003ETechEd SAP\u003C/span\u003E\u003Cspan\u003E\u003Cbr /\u003E\u003Cbr /\u003E\u003C/span\u003E\u003Cspan\u003EAmsterdam, Netherlands\u003C/span\u003E\u003Cspan\u003E\u003Cbr /\u003EOct. 28: \u003Ca href=\"http://sites.google.com/site/dutchgtug/Home/announcements/firstmeeting-lotsofmeatswagwavebeer\"\u003E\u003C/a\u003E\u003C/span\u003E\u003Cspan\u003EDutch GTUG: \u003Ca href=\"http://www.youtube.com/watch?v=_6N7_zx3JtE\"\u003EVideo\u003C/a\u003E\u003C/span\u003E\u003Cspan\u003E\u003Cbr /\u003EOct. 30: \u003Ca href=\"http://europe.ecomm.ec/2009/\"\u003E\u003C/a\u003E\u003C/span\u003E\u003Cspan\u003EeComm Europe 2009: \u003Ca href=\"https://wave.google.com/wave/#minimized:nav,minimized:contact,restored:search:with%253Apublic+ecomm,restored:wave:googlewave.com!w%252BCFvfaVe-A\"\u003E30+ live waves\u003C/a\u003E, \u003Ca href=\"http://blogsearch.google.com.au/blogsearch?hl=en\u0026amp;source=hp\u0026amp;q=ecomm%20google%20wave\u0026amp;um=1\u0026amp;ie=UTF-8\u0026amp;sa=N\u0026amp;tab=wb\"\u003EMany blog posts\u003C/a\u003E \u003C/span\u003E\u003Cspan\u003E\u003Cbr /\u003E\u003Cbr /\u003E\u003C/span\u003E\u003Cspan\u003EZurich, Switzerland\u003C/span\u003E\u003Cspan\u003E\u003Cbr /\u003ENov. 2: \u003Ca href=\"http://spreadsheets.google.com/viewform?hl=en\u0026amp;formkey=dEQ2cE5aUndtZzJaMGZCTUx1Q2szLVE6MA\"\u003E\u003C/a\u003E\u003C/span\u003EGoogle Wave Tech Talk: \u003Ca href=\"https://wave.google.com/wave/#minimized:nav,minimized:contact,minimized,restored:wave:googlewave.com!w%252B_rzZRMjOE\"\u003ELive wave\u003C/a\u003E\u003Cbr /\u003E\u003Cbr /\u003E\u003Cspan\u003EPrague, Czech Republic\u003C/span\u003E\u003Cspan\u003E\u003Cbr /\u003ENov. 6: \u003Ca href=\"http://code.google.com/intl/cs/events/developerday/2009/home.html\"\u003E\u003C/a\u003E\u003C/span\u003E\u003Cspan\u003EGoogle Developer Day: Prague: \u003Ca href=\"http://www.youtube.com/watch?v=bqYkyLslniQ\"\u003EWave APIs talk\u003C/a\u003E (and \u003Ca href=\"http://docs.google.com/present/view?id=dggjrx3s_204cxqz8mhm\"\u003Eslides\u003C/a\u003E), \u003Ca href=\"http://www.youtube.com/watch?v=qlaeskDJaLc\u0026amp;feature=channel\"\u003EWave client talk\u003C/a\u003E\u003Cbr /\u003E\u003Cbr /\u003E\u003C/span\u003E\u003Cspan\u003EMoscow, Russia\u003C/span\u003E\u003Cspan\u003E\u003Cbr /\u003ENov. 10: \u003Ca href=\"http://code.google.com/intl/ru/events/developerday/2009/home.html\"\u003E\u003C/a\u003E\u003C/span\u003E\u003Cspan\u003EGoogle Developer Day: Moscow: \u003Ca href=\"http://www.youtube.com/watch?v=gv7QdFKSVFk\u0026amp;feature=SeriesPlayList\u0026amp;p=A1D96F3A45A28DCB\"\u003EWave APIs talk\u003C/a\u003E (in Vadim's native Russian!), \u003Ca href=\"http://www.youtube.com/watch?v=cI9ofz1xZL0\u0026amp;feature=SeriesPlayList\u0026amp;p=A1D96F3A45A28DCB\"\u003EWave client talk\u003C/a\u003E, \u003Ca href=\"https://wave.google.com/wave/#restored:search:tag%253Agdd09ru+with%253Apublic\"\u003ELive waves\u003C/a\u003E \u003C/span\u003E\u003Cspan\u003E\u003Cbr /\u003E\u003Cbr /\u003E\u003C/span\u003E\u003Cspan\u003EMunich, Germany\u003C/span\u003E\u003Cspan\u003E\u003Cbr /\u003ENov. 11: \u003Ca href=\"http://sites.google.com/a/gtugs.org/munich/\"\u003E\u003C/a\u003E\u003C/span\u003E\u003Cspan\u003EGTUG Munich: \u003C/span\u003E\u003Ca href=\"https://wave.google.com/wave/#minimized:nav,minimized:contact,restored,restored:wave:googlewave.com!w%252BLr46lFn3A.1\"\u003E\u003Cspan\u003ELive wave\u003C/span\u003E\u003C/a\u003E, \u003Ca href=\"http://www.youtube.com/profile?user=gtugs#p/u/1/M-tSjSqKi-E\"\u003EVideo\u003C/a\u003E\u003Cbr /\u003E \u003Cbr /\u003E\u003Cbr /\u003EWe look forward to hearing about future Wave events put on by European developers, like the recently held 2-day \u003Ca href=\"http://sites.google.com/a/gtugs.org/munich/\"\u003EWave Hackathon\u003C/a\u003E in Munich. \u003Cbr /\u003ESee you next year, Europe!\u003C/p\u003E \u003Cbr /\u003E\u003Cembed src=\"http://picasaweb.google.com/s/c/bin/slideshow.swf\" type=\"application/x-shockwave-flash\" height=\"400\" width=\"550\" /\u003E\u003Cbr /\u003E\u003Cbr /\u003E\u003Cspan class=\"post-author\"\u003EPosted by Steph Hannon, Google Wave Product Manager\u003C/span\u003E\u003Cdiv class=\"blogger-post-footer\"\u003E\u003Cimg src=\"https://blogger.googleusercontent.com/tracker/7938035922388048219-8894204736367491446?l=googlewavedev.blogspot.com\" height=\"1\" alt=\"\" width=\"1\" /\u003E\u003C/div\u003E\u003Cimg src=\"http://feeds.feedburner.com/~r/GoogleWaveDeveloperBlog/~4/aW0dzYaSBX4\" height=\"1\" width=\"1\" /\u003E"} <p>Leaving October spring weather in Sydney for a trip around Europe was not easy. But any doubts about the wiseness of our trip disappeared as we walked into the first GTUG event in London where 300+ developers showed up to learn more about the <a href="http://code.google.com/apis/wave/">Google Wave APIs</a><span>. We met two of the most prolific wave developers there (you might know them from extensions such as <a href="http://wave-samples-gallery.appspot.com/about_app?app_id=30012">Rssybot</a> and <a href="http://www.waverz.com/contentwave/Voting_for_Waves_-_Votely/">Votely</a>) as well as meeting David Crane who asked for 1000 accounts for <a href="http://gyp.debatewise.org/">Global Youth Panel</a> to <a href="http://www.guardian.co.uk/environment/blog/2009/dec/15/copenhagen-google-wave-youth-panel">debate climate change.</a> As we flew from country to country, we continued to meet more developers whose enthusiasm for Wave gave us the energy to overcome our jetlag and see the sights of Europe.<br /> <br />Check out the lives waves, videos, and slides for the various events below:<br /></span><br /><a href="http://1.bp.blogspot.com/_T1lquhCmKo8/SzIDWQK3NTI/AAAAAAAAC7g/0-NmTLPeIpA/s1600-h/IMG_5659.JPG"><img src="http://1.bp.blogspot.com/_T1lquhCmKo8/SzIDWQK3NTI/AAAAAAAAC7g/0-NmTLPeIpA/s400/IMG_5659.JPG" alt="" /></a><span>London, England</span><span><br />Oct. 26: <a href="http://www.london-gtug.org/Venue"></a></span><span>GTUG London: <a href="https://wave.google.com/wave/#minimized:nav,minimized:contact,restored:search:with%253Apublic+tag%253Agtuglondon,restored:wave:googlewave.com!w%252BwbBbkEWbA.1">Live waves</a>, <a href="http://london-gtug.blogspot.com/2009/12/google-wave-talk-by-lars-rasmussen-and.html">Blog post</a> </span><span><br /><br /></span><span>Vienna, Austria</span><span><br />Oct 27: <a href="http://www.sapteched.com/emea/"></a></span><span>TechEd SAP</span><span><br /><br /></span><span>Amsterdam, Netherlands</span><span><br />Oct. 28: <a href="http://sites.google.com/site/dutchgtug/Home/announcements/firstmeeting-lotsofmeatswagwavebeer"></a></span><span>Dutch GTUG: <a href="http://www.youtube.com/watch?v=_6N7_zx3JtE">Video</a></span><span><br />Oct. 30: <a href="http://europe.ecomm.ec/2009/"></a></span><span>eComm Europe 2009: <a href="https://wave.google.com/wave/#minimized:nav,minimized:contact,restored:search:with%253Apublic+ecomm,restored:wave:googlewave.com!w%252BCFvfaVe-A">30+ live waves</a>, <a href="http://blogsearch.google.com.au/blogsearch?hl=en&amp;source=hp&amp;q=ecomm%20google%20wave&amp;um=1&amp;ie=UTF-8&amp;sa=N&amp;tab=wb">Many blog posts</a> </span><span><br /><br /></span><span>Zurich, Switzerland</span><span><br />Nov. 2: <a href="http://spreadsheets.google.com/viewform?hl=en&amp;formkey=dEQ2cE5aUndtZzJaMGZCTUx1Q2szLVE6MA"></a></span>Google Wave Tech Talk: <a href="https://wave.google.com/wave/#minimized:nav,minimized:contact,minimized,restored:wave:googlewave.com!w%252B_rzZRMjOE">Live wave</a><br /><br /><span>Prague, Czech Republic</span><span><br />Nov. 6: <a href="http://code.google.com/intl/cs/events/developerday/2009/home.html"></a></span><span>Google Developer Day: Prague: <a href="http://www.youtube.com/watch?v=bqYkyLslniQ">Wave APIs talk</a> (and <a href="http://docs.google.com/present/view?id=dggjrx3s_204cxqz8mhm">slides</a>), <a href="http://www.youtube.com/watch?v=qlaeskDJaLc&amp;feature=channel">Wave client talk</a><br /><br /></span><span>Moscow, Russia</span><span><br />Nov. 10: <a href="http://code.google.com/intl/ru/events/developerday/2009/home.html"></a></span><span>Google Developer Day: Moscow: <a href="http://www.youtube.com/watch?v=gv7QdFKSVFk&amp;feature=SeriesPlayList&amp;p=A1D96F3A45A28DCB">Wave APIs talk</a> (in Vadim's native Russian!), <a href="http://www.youtube.com/watch?v=cI9ofz1xZL0&amp;feature=SeriesPlayList&amp;p=A1D96F3A45A28DCB">Wave client talk</a>, <a href="https://wave.google.com/wave/#restored:search:tag%253Agdd09ru+with%253Apublic">Live waves</a> </span><span><br /><br /></span><span>Munich, Germany</span><span><br />Nov. 11: <a href="http://sites.google.com/a/gtugs.org/munich/"></a></span><span>GTUG Munich: </span><a href="https://wave.google.com/wave/#minimized:nav,minimized:contact,restored,restored:wave:googlewave.com!w%252BLr46lFn3A.1"><span>Live wave</span></a>, <a href="http://www.youtube.com/profile?user=gtugs#p/u/1/M-tSjSqKi-E">Video</a><br /> <br /><br />We look forward to hearing about future Wave events put on by European developers, like the recently held 2-day <a href="http://sites.google.com/a/gtugs.org/munich/">Wave Hackathon</a> in Munich. <br />See you next year, Europe!</p> <br /><br /><br /><span class="post-author">Posted by Steph Hannon, Google Wave Product Manager</span><div class="blogger-post-footer"><img src="https://blogger.googleusercontent.com/tracker/7938035922388048219-8894204736367491446?l=googlewavedev.blogspot.com" height="1" alt="" width="1" /></div><img src="http://feeds.feedburner.com/~r/GoogleWaveDeveloperBlog/~4/aW0dzYaSBX4" height="1" width="1" />Wed, 30 Dec 2009 06:10:27 GMThttp://wavecamp.soup.io/post/39695329/15-days-8-countries-and-zillions-ofurn:www-soup-io:1:39695329regular [wavecamp] 2 days of ideas, hacks, and pufferfish in Tokyo {"tags":[],"type":"regular","title":"\u003Ca href=\"http://feedproxy.google.com/~r/GoogleWaveDeveloperBlog/~3/738c0s6tjJI/2-days-of-ideas-hacks-and-pufferfish-in.html\"\u003E2 days of ideas, hacks, and pufferfish in Tokyo\u003C/a\u003E","source":"http://feedproxy.google.com/~r/GoogleWaveDeveloperBlog/~3/738c0s6tjJI/2-days-of-ideas-hacks-and-pufferfish-in.html","body":"\u003Cp\u003EI am never one to turn down a trip to Japan. Firstly, because a friend of mine has become entirely dependent on a constantly flowing supply of authentic \u003Ca href=\"http://en.wikipedia.org/wiki/Pocky\"\u003EPocky\u003C/a\u003E (a surprisingly addictive chocolate-covered pretzel snack that I once ate for breakfast every day for 2 weeks). Secondly, because the Japanese developer community has a creativity and energy that both infects and inspires me.\u003C/p\u003E \u003Cbr /\u003E \u003Cbr /\u003E\u003Cp\u003E\u003Ca href=\"http://4.bp.blogspot.com/_T1lquhCmKo8/SynB4Ro7sCI/AAAAAAAAC4U/1YMKsmfPbQU/s1600-h/P1040925.JPG\"\u003E\u003Cimg src=\"http://4.bp.blogspot.com/_T1lquhCmKo8/SynB4Ro7sCI/AAAAAAAAC4U/1YMKsmfPbQU/s400/P1040925.JPG\" alt=\"\" /\u003E\u003C/a\u003EI stopped by Japan on my way back to Australia, for 2 days of Google Wave developer events. I arrived on the first night in a strangely alert jet-lagged state to find myself amidst what they called an \"Idea-a-thon\". This was basically a pre-party for the hackathon the next day, where groups of developers would brainstorm ideas and then present them. I didn't understand much of what they said, but luckily, they sketched out logos and diagrams on sheets of paper. I saw a Wave/Twitter logo, where the \"w\" was Wave's \"w\", and a diagram involving a flow between Eclipse and SVN... enough info to get me excited.\u003C/p\u003E \u003Cbr /\u003E \u003Cbr /\u003E\u003Cp\u003EAfter the idea-a-thon, we all headed upstairs to a real party (beer = party, right?), where a mix of developers and journalists gathered to hear the latest about Google Wave. \u003Ca href=\"http://wave-samples-gallery.appspot.com/profile?id=64056\"\u003EAndo Yasushi\u003C/a\u003E started off the night with an introduction of the APIs, and a demo of his own \u003Ca href=\"http://wave-samples-gallery.appspot.com/about_app?app_id=66003\"\u003EAnimal Chess\u003C/a\u003E (\"Dobutsu Shogi\") gadget (which is now near and dear to my heart, as I was actually able to win the game.. that never happens). I then showed off a series of my favorite demos - using \u003Ca href=\"http://wave-samples-gallery.appspot.com/about_app?app_id=5023\"\u003ENapkin Gadget\u003C/a\u003E to collaboratively draw a demon love-child, \u003Ca href=\"http://osflash.org/ajaxanimator\"\u003EAJAX Animator\u003C/a\u003E to show my flight across the Pacific, and \u003Ca href=\"http://withwaves.com/amazon/\"\u003EAmazonBot\u003C/a\u003E to aid my purchase of an inflatable castle and a pony (childhood dreams never die). Googler \u003Ca href=\"http://wave-samples-gallery.appspot.com/profile?id=64018\"\u003EHiroshi Ichikawa\u003C/a\u003E demo'd his own extensions - an \u003Ca href=\"http://wave-samples-gallery.appspot.com/about_app?app_id=18016\"\u003EHTML5 drawing gadget\u003C/a\u003E and a \u003Ca href=\"http://wave-samples-gallery.appspot.com/about_app?app_id=48013\"\u003EKanjy robot\u003C/a\u003E, and then blazed through \u003Ca href=\"https://wave.google.com/wave/#restored:wave:googlewave.com!w%252Bx0pqz4KYA,minimized:wave:googlewave.com!w%252BTIXmwLBPC\"\u003Ea wave of Japanese-created games\u003C/a\u003E, like Donpachi, Reversi, Tetris, Tictactoe, and yet another Shogi implementaton. After a few more talks and rounds of beer, we headed home to rest up for a full day of hacking the next day (well, that would have been the plan, if I hadn't sold my soul to the jet lag devil).\u003C/p\u003E \u003Cbr /\u003E\u003Cbr /\u003E\u003Cp\u003E\u003Ca href=\"http://1.bp.blogspot.com/_T1lquhCmKo8/SynBw7ziCyI/AAAAAAAAC4M/qP2TULtU9ng/s1600-h/P1040919.JPG\"\u003E\u003Cimg src=\"http://1.bp.blogspot.com/_T1lquhCmKo8/SynBw7ziCyI/AAAAAAAAC4M/qP2TULtU9ng/s400/P1040919.JPG\" alt=\"\" /\u003E\u003C/a\u003E Bright and early, at 10am, I kicked off the hackathon with several \u003Ca href=\"http://wave-api-faq.appspot.com/#debugdevel\"\u003Edebugging tips\u003C/a\u003E, and presented \u003Ca href=\"http://prezi.com/egrptwqumq8j/\"\u003E\"Making Wave-y Extensions\"\u003C/a\u003E, a talk about how to make gadgets and robots that take full advantage of the collaborative \u0026amp; real-time experience of Google Wave. For the next 8 hours, the developers dilligently worked together to make their idea come to life, each group huddled around a 30inch monitor.\u003C/p\u003E \u003Cbr /\u003E \u003Cbr /\u003E\u003Cp\u003EFinally, my favorite part: demos! The first team showed \"Weclipse\", a plugin for Eclipse that embedded the Google Wave client as a tab in the IDE, with the hope of making coding more social. In that embedded wave, they also showed a robot that received messages from an Android and posted them as blips. Then, \u003Ca href=\"http://wave-samples-gallery.appspot.com/profile?id=64056\"\u003EMaripo Goda\u003C/a\u003E, author of the \u003Ca href=\"http://wave-samples-gallery.appspot.com/about_app?app_id=34038\"\u003EBrainstorming gadget\u003C/a\u003E and \u003Ca href=\"http://wave-samples-gallery.appspot.com/about_app?app_id=75008\"\u003EtDiary plug-in\u003C/a\u003E, showed her team's project: an end-to-end message translation system. One of her team members is on the Debian JP project, and wanted an extension to expedite translations for the operating system. The extension starts with a gadget that loads in translation files, lets the participants set the translations, and then it commits them to an SVN repository. There have been multiple translation helper extensions created by international developers over the last few months, but this is the first I've seen that tackles the software message translation problem.\u003C/p\u003E \u003Cbr /\u003E \u003Cbr /\u003E\u003Cp\u003E\u003Ca href=\"http://3.bp.blogspot.com/_T1lquhCmKo8/SynBoAfLT4I/AAAAAAAAC4E/cR9hyljI3kU/s1600-h/screenshot_chromemo+(1)\"\u003E\u003Cimg src=\"http://3.bp.blogspot.com/_T1lquhCmKo8/SynBoAfLT4I/AAAAAAAAC4E/cR9hyljI3kU/s400/screenshot_chromemo+(1)\" alt=\"\" /\u003E\u003C/a\u003EAtsushi Nakamura, who also attended the Tokyo Chrome Extensions hackathon the week before, then demo'd his Chrome+Google Wave hack, a bookmarklet which pops down an embedded Wave - \"\u003Ca href=\"https://chrome.google.com/extensions/detail/olebpfnapmcojnmpenpjfopdfheohofk\"\u003EChroMemo\u003C/a\u003E.\" I can see that being really useful for storing little notes, a to-do list, or a schedule. \u003Ca href=\"http://wave-samples-gallery.appspot.com/profile?id=63054\"\u003EAndo Yasushi\u003C/a\u003E demoed his own prototype of operational transforms - in JavaScript. Well, that's certainly one way of learning how Wave works. :)\u003C/p\u003E \u003Cbr /\u003E \u003Cbr /\u003E\u003Cp\u003EMy trip ended with a dinner of traditional \"\u003Ca href=\"http://japanesefood.about.com/cs/seafoodfish/a/fugublowfish.htm\"\u003EFugu\u003C/a\u003E\" - pufferfish, cooked (and not cooked) in every way possible: sashimi, grilled, boiled, and my favorite: deep fried. I learnt over dinner that a dish of pufferfish can cause instantaneous death, if the internal organs aren't plucked out properly. Well, luckily, my new Japanese friends took me to a properly licensed restaurant, and I'm alive now to tell you about the trip and enjoy my souvenirs - 10 flavors of Pocky and 3 flavors of Mochi.\u003C/p\u003E \u003Cbr /\u003E \u003Cbr /\u003E\u003Cp\u003EThe Japanese developers are going full speed ahead into Wave development, with another two events planned in the next month: \u003Ca href=\"http://kyoto-gtug.org/event/googlewavehackathon\"\u003EKyoto GTUG Wave Hackathon\u003C/a\u003E, and a \u003Ca href=\"http://spreadsheets.google.com/viewform?hl=en\u0026amp;formkey=dDJpSHNJYzJfNHNqSmhzYkl3UW9qVFE6MA\"\u003ETokyo \"Demo Tournament\"\u003C/a\u003E. I'm too bloated on my pocky to make it out there for those events, but I expect to hear about more innovative ideas and exciting extensions coming from my new developer friends in Japan. Until next time, Tokyo!\u003C/p\u003E \u003Cbr /\u003E \u003Cbr /\u003E\u003Cbr /\u003E\u003Cspan class=\"post-author\"\u003EPosted by Pamela Fox, Developer Relations\u003C/span\u003E\u003Cdiv class=\"blogger-post-footer\"\u003E\u003Cimg src=\"https://blogger.googleusercontent.com/tracker/7938035922388048219-5815879370635804084?l=googlewavedev.blogspot.com\" height=\"1\" alt=\"\" width=\"1\" /\u003E\u003C/div\u003E\u003Cimg src=\"http://feeds.feedburner.com/~r/GoogleWaveDeveloperBlog/~4/738c0s6tjJI\" height=\"1\" width=\"1\" /\u003E"} <p>I am never one to turn down a trip to Japan. Firstly, because a friend of mine has become entirely dependent on a constantly flowing supply of authentic <a href="http://en.wikipedia.org/wiki/Pocky">Pocky</a> (a surprisingly addictive chocolate-covered pretzel snack that I once ate for breakfast every day for 2 weeks). Secondly, because the Japanese developer community has a creativity and energy that both infects and inspires me.</p> <br /> <br /><p><a href="http://4.bp.blogspot.com/_T1lquhCmKo8/SynB4Ro7sCI/AAAAAAAAC4U/1YMKsmfPbQU/s1600-h/P1040925.JPG"><img src="http://4.bp.blogspot.com/_T1lquhCmKo8/SynB4Ro7sCI/AAAAAAAAC4U/1YMKsmfPbQU/s400/P1040925.JPG" alt="" /></a>I stopped by Japan on my way back to Australia, for 2 days of Google Wave developer events. I arrived on the first night in a strangely alert jet-lagged state to find myself amidst what they called an "Idea-a-thon". This was basically a pre-party for the hackathon the next day, where groups of developers would brainstorm ideas and then present them. I didn't understand much of what they said, but luckily, they sketched out logos and diagrams on sheets of paper. I saw a Wave/Twitter logo, where the "w" was Wave's "w", and a diagram involving a flow between Eclipse and SVN... enough info to get me excited.</p> <br /> <br /><p>After the idea-a-thon, we all headed upstairs to a real party (beer = party, right?), where a mix of developers and journalists gathered to hear the latest about Google Wave. <a href="http://wave-samples-gallery.appspot.com/profile?id=64056">Ando Yasushi</a> started off the night with an introduction of the APIs, and a demo of his own <a href="http://wave-samples-gallery.appspot.com/about_app?app_id=66003">Animal Chess</a> ("Dobutsu Shogi") gadget (which is now near and dear to my heart, as I was actually able to win the game.. that never happens). I then showed off a series of my favorite demos - using <a href="http://wave-samples-gallery.appspot.com/about_app?app_id=5023">Napkin Gadget</a> to collaboratively draw a demon love-child, <a href="http://osflash.org/ajaxanimator">AJAX Animator</a> to show my flight across the Pacific, and <a href="http://withwaves.com/amazon/">AmazonBot</a> to aid my purchase of an inflatable castle and a pony (childhood dreams never die). Googler <a href="http://wave-samples-gallery.appspot.com/profile?id=64018">Hiroshi Ichikawa</a> demo'd his own extensions - an <a href="http://wave-samples-gallery.appspot.com/about_app?app_id=18016">HTML5 drawing gadget</a> and a <a href="http://wave-samples-gallery.appspot.com/about_app?app_id=48013">Kanjy robot</a>, and then blazed through <a href="https://wave.google.com/wave/#restored:wave:googlewave.com!w%252Bx0pqz4KYA,minimized:wave:googlewave.com!w%252BTIXmwLBPC">a wave of Japanese-created games</a>, like Donpachi, Reversi, Tetris, Tictactoe, and yet another Shogi implementaton. After a few more talks and rounds of beer, we headed home to rest up for a full day of hacking the next day (well, that would have been the plan, if I hadn't sold my soul to the jet lag devil).</p> <br /><br /><p><a href="http://1.bp.blogspot.com/_T1lquhCmKo8/SynBw7ziCyI/AAAAAAAAC4M/qP2TULtU9ng/s1600-h/P1040919.JPG"><img src="http://1.bp.blogspot.com/_T1lquhCmKo8/SynBw7ziCyI/AAAAAAAAC4M/qP2TULtU9ng/s400/P1040919.JPG" alt="" /></a> Bright and early, at 10am, I kicked off the hackathon with several <a href="http://wave-api-faq.appspot.com/#debugdevel">debugging tips</a>, and presented <a href="http://prezi.com/egrptwqumq8j/">"Making Wave-y Extensions"</a>, a talk about how to make gadgets and robots that take full advantage of the collaborative &amp; real-time experience of Google Wave. For the next 8 hours, the developers dilligently worked together to make their idea come to life, each group huddled around a 30inch monitor.</p> <br /> <br /><p>Finally, my favorite part: demos! The first team showed "Weclipse", a plugin for Eclipse that embedded the Google Wave client as a tab in the IDE, with the hope of making coding more social. In that embedded wave, they also showed a robot that received messages from an Android and posted them as blips. Then, <a href="http://wave-samples-gallery.appspot.com/profile?id=64056">Maripo Goda</a>, author of the <a href="http://wave-samples-gallery.appspot.com/about_app?app_id=34038">Brainstorming gadget</a> and <a href="http://wave-samples-gallery.appspot.com/about_app?app_id=75008">tDiary plug-in</a>, showed her team's project: an end-to-end message translation system. One of her team members is on the Debian JP project, and wanted an extension to expedite translations for the operating system. The extension starts with a gadget that loads in translation files, lets the participants set the translations, and then it commits them to an SVN repository. There have been multiple translation helper extensions created by international developers over the last few months, but this is the first I've seen that tackles the software message translation problem.</p> <br /> <br /><p><a href="http://3.bp.blogspot.com/_T1lquhCmKo8/SynBoAfLT4I/AAAAAAAAC4E/cR9hyljI3kU/s1600-h/screenshot_chromemo+(1)"><img src="http://3.bp.blogspot.com/_T1lquhCmKo8/SynBoAfLT4I/AAAAAAAAC4E/cR9hyljI3kU/s400/screenshot_chromemo+(1)" alt="" /></a>Atsushi Nakamura, who also attended the Tokyo Chrome Extensions hackathon the week before, then demo'd his Chrome+Google Wave hack, a bookmarklet which pops down an embedded Wave - "<a href="https://chrome.google.com/extensions/detail/olebpfnapmcojnmpenpjfopdfheohofk">ChroMemo</a>." I can see that being really useful for storing little notes, a to-do list, or a schedule. <a href="http://wave-samples-gallery.appspot.com/profile?id=63054">Ando Yasushi</a> demoed his own prototype of operational transforms - in JavaScript. Well, that's certainly one way of learning how Wave works. :)</p> <br /> <br /><p>My trip ended with a dinner of traditional "<a href="http://japanesefood.about.com/cs/seafoodfish/a/fugublowfish.htm">Fugu</a>" - pufferfish, cooked (and not cooked) in every way possible: sashimi, grilled, boiled, and my favorite: deep fried. I learnt over dinner that a dish of pufferfish can cause instantaneous death, if the internal organs aren't plucked out properly. Well, luckily, my new Japanese friends took me to a properly licensed restaurant, and I'm alive now to tell you about the trip and enjoy my souvenirs - 10 flavors of Pocky and 3 flavors of Mochi.</p> <br /> <br /><p>The Japanese developers are going full speed ahead into Wave development, with another two events planned in the next month: <a href="http://kyoto-gtug.org/event/googlewavehackathon">Kyoto GTUG Wave Hackathon</a>, and a <a href="http://spreadsheets.google.com/viewform?hl=en&amp;formkey=dDJpSHNJYzJfNHNqSmhzYkl3UW9qVFE6MA">Tokyo "Demo Tournament"</a>. I'm too bloated on my pocky to make it out there for those events, but I expect to hear about more innovative ideas and exciting extensions coming from my new developer friends in Japan. Until next time, Tokyo!</p> <br /> <br /><br /><span class="post-author">Posted by Pamela Fox, Developer Relations</span><div class="blogger-post-footer"><img src="https://blogger.googleusercontent.com/tracker/7938035922388048219-5815879370635804084?l=googlewavedev.blogspot.com" height="1" alt="" width="1" /></div><img src="http://feeds.feedburner.com/~r/GoogleWaveDeveloperBlog/~4/738c0s6tjJI" height="1" width="1" />Thu, 17 Dec 2009 05:49:28 GMThttp://wavecamp.soup.io/post/38254049/2-days-of-ideas-hacks-and-pufferfishurn:www-soup-io:1:38254049regular [wavecamp] What Does Clam Chowder &amp; the Google Wave API Have in Common? Boston! {"tags":[],"type":"regular","title":"\u003Ca href=\"http://feedproxy.google.com/~r/GoogleWaveDeveloperBlog/~3/mPH2XU6KXY8/what-does-clam-chowder-google-wave-api.html\"\u003EWhat Does Clam Chowder \u0026amp; the Google Wave API Have in Common? Boston!\u003C/a\u003E","source":"http://feedproxy.google.com/~r/GoogleWaveDeveloperBlog/~3/mPH2XU6KXY8/what-does-clam-chowder-google-wave-api.html","body":"\u003Cp\u003E\u003Cspan\u003EI've always been a fan of Boston, Massachusetts. If I could dig it up and transport it to an eternally warm weather location, it would rank in my top 3 of best cities in the world. It's filled with history (really gruesome stuff like the Salem Witch trials) and creative intellect (the MIT Media Lab is like a playground for nerds), and conveniently enough, 2 members of my immediate family (3, counting my kitty). So, I like to visit it whenever I'm in the states, and since there is now a \u003Ca href=\"http://massgtug.gtugs.org/\"\u003EMassachusetts GTUG\u003C/a\u003E, I took the opportunity to co-organize a \u003C/span\u003E\u003Ca href=\"http://code.google.com/apis/wave/\"\u003EGoogle Wave APIs\u003C/a\u003E\u003Cspan\u003E hackathon with them (using \u003Ca href=\"https://wave.google.com/wave/#restored:search:mass+gtug,restored:wave:googlewave.com!w%252BnmYfnkVQC.2\"\u003Ea wave\u003C/a\u003E to plan it, of course).\u003C/span\u003E\u003C/p\u003E \u003Cbr /\u003E\u003Cp\u003E\u003Ca href=\"http://www.youtube.com/watch?v=_jw7m4N6klM\"\u003E\u003Cimg src=\"http://4.bp.blogspot.com/_T1lquhCmKo8/Sx5M_VRei8I/AAAAAAAAC1Y/GSxDAKkRDDU/s400/screenshot_wavehack.png\" alt=\"\" /\u003E\u003C/a\u003EOn the day of the event, about 60 developers showed up (including my sister, a Drupal developer), and they filled the office cafe up nicely with their laptops and power cords. I kicked it off with a talk called \u003Ca href=\"http://prezi.com/sxuwendhwqsy/\"\u003E\u003Cspan\u003E\"Understanding \u0026amp; Extending Wave\"\u003C/span\u003E\u003C/a\u003E\u003Cspan\u003E, then Brian Kennish led them through a coding walkthrough of the \"click me\" gadget and Embeddy robot. We used \u003Ca href=\"http://ustream.tv\"\u003Eustream.tv\u003C/a\u003E to stream the the talks and also recorded them, so you can watch them now on \u003Ca href=\"http://www.youtube.com/watch?v=_jw7m4N6klM\"\u003EYoutube\u003C/a\u003E. Then we grabbed lunch and got to coding. There was a never-ending stream of good questions throughout the day, which I captured in \u003Ca href=\"https://wave.google.com/wave/#restored:search:mass+gtug,restored:wave:googlewave.com!w%252BnmYfnkVQC.2\"\u003Ethe comments wave\u003C/a\u003E and later used to fuel our new \u003Ca href=\"http://wave-api-faq.appspot.com\"\u003EGoogle Wave APIs FAQ\u003C/a\u003E. There was also a table of people hacking specifically on \u003Ca href=\"http://code.google.com/p/wave-protocol/wiki/FedOne\"\u003EFedOne\u003C/a\u003E, creating agents and getting their own servers running. After everyone had gotten their hands dirty in code for a few hours, I showed extension installers and presented \u003Ca href=\"http://prezi.com/egrptwqumq8j/\"\u003E\u003C/a\u003E\u003C/span\u003E\u003Cspan\u003E\"Making Wave-y Extensions\"\u003C/span\u003E\u003Cspan\u003E.\u003C/span\u003E\u003C/p\u003E\u003Cbr /\u003E\u003Cp\u003E\u003Ca href=\"https://wave.google.com/a/wavesandbox.com/#restored:wave:wavesandbox.com!w%252B0JSRlA3CA\"\u003E\u003Cimg src=\"http://1.bp.blogspot.com/_T1lquhCmKo8/Sx5KGQl3BxI/AAAAAAAAC1Q/KdxapZN6Kho/s400/screenshot_ivoicechat.png\" /\u003E\u003C/a\u003EAfter another few hours of hacking, we started demos and wrote them up in this \u003Ca href=\"https://wave.google.com/wave/#restored:search:hackathon,restored:wave:googlewave.com!w%252BF83lgW0gV\"\u003E\u003Cspan\u003Elive wave\u003C/span\u003E\u003C/a\u003E\u003Cspan\u003E. We were once again using \u003Ca href=\"http://ustream.tv\"\u003Eustream.tv\u003C/a\u003E to stream demos, and after tweeting about it, we suddenly had developers from all over the world commenting on the Wave and watching our demos. They hailed from Argentina, Ukraine, and Japan, and used the Yes/No/Maybe gadgets to demand that we wave hello to them on our webcam (and then uploaded a recording of our real lifewave as an attachment!). The local developers showed off nifty demos, like the \u003Ca href=\"https://wave.google.com/a/wavesandbox.com/#restored:wave:wavesandbox.com!w%252B0JSRlA3CA\"\u003EVoiceChat-9 gadget\u003C/a\u003E, \u003Ca href=\"http://www.randomhacks.net/articles/2009/11/21/wave-hackathon\"\u003ERuby FedOne Agent API\u003C/a\u003E, and the \u003Ca href=\"https://wave.google.com/a/wavesandbox.com/#restored:search:mastermind+with%253Apublic,restored:wave:wavesandbox.com!w%252BjVbLZyozD\"\u003EMastermind game gadget\u003C/a\u003E. Interning Googler Jonathan Goldberg also showed off beginnings of integration with the just-released \u003Ca href=\"http://tables.googlelabs.com/Home?pli=1\"\u003EGoogle Fusion Tables\u003C/a\u003E. You can watch those demos on \u003Ca href=\"http://www.youtube.com/watch?v=RmZC4h2npLo\"\u003EYoutube\u003C/a\u003E.\u003C/span\u003E\u003C/p\u003E\u003Cbr /\u003E\u003Cp\u003EIt was great to meet Bostonian developers, and it gave me a new reason to love Boston. Hopefully by the time I make my next annual visit, I'll have taught my kitty cat to use Wave. :)\u003C/p\u003E \u003Cbr /\u003E\u003Cbr /\u003E\u003Cspan class=\"post-author\"\u003EPosted by Pamela Fox, Developer Relations\u003C/span\u003E\u003Cdiv class=\"blogger-post-footer\"\u003E\u003Cimg src=\"https://blogger.googleusercontent.com/tracker/7938035922388048219-3440771626837380148?l=googlewavedev.blogspot.com\" height=\"1\" alt=\"\" width=\"1\" /\u003E\u003C/div\u003E\u003Cimg src=\"http://feeds.feedburner.com/~r/GoogleWaveDeveloperBlog/~4/mPH2XU6KXY8\" height=\"1\" width=\"1\" /\u003E"} <p><span>I've always been a fan of Boston, Massachusetts. If I could dig it up and transport it to an eternally warm weather location, it would rank in my top 3 of best cities in the world. It's filled with history (really gruesome stuff like the Salem Witch trials) and creative intellect (the MIT Media Lab is like a playground for nerds), and conveniently enough, 2 members of my immediate family (3, counting my kitty). So, I like to visit it whenever I'm in the states, and since there is now a <a href="http://massgtug.gtugs.org/">Massachusetts GTUG</a>, I took the opportunity to co-organize a </span><a href="http://code.google.com/apis/wave/">Google Wave APIs</a><span> hackathon with them (using <a href="https://wave.google.com/wave/#restored:search:mass+gtug,restored:wave:googlewave.com!w%252BnmYfnkVQC.2">a wave</a> to plan it, of course).</span></p> <br /><p><a href="http://www.youtube.com/watch?v=_jw7m4N6klM"><img src="http://4.bp.blogspot.com/_T1lquhCmKo8/Sx5M_VRei8I/AAAAAAAAC1Y/GSxDAKkRDDU/s400/screenshot_wavehack.png" alt="" /></a>On the day of the event, about 60 developers showed up (including my sister, a Drupal developer), and they filled the office cafe up nicely with their laptops and power cords. I kicked it off with a talk called <a href="http://prezi.com/sxuwendhwqsy/"><span>"Understanding &amp; Extending Wave"</span></a><span>, then Brian Kennish led them through a coding walkthrough of the "click me" gadget and Embeddy robot. We used <a href="http://ustream.tv">ustream.tv</a> to stream the the talks and also recorded them, so you can watch them now on <a href="http://www.youtube.com/watch?v=_jw7m4N6klM">Youtube</a>. Then we grabbed lunch and got to coding. There was a never-ending stream of good questions throughout the day, which I captured in <a href="https://wave.google.com/wave/#restored:search:mass+gtug,restored:wave:googlewave.com!w%252BnmYfnkVQC.2">the comments wave</a> and later used to fuel our new <a href="http://wave-api-faq.appspot.com">Google Wave APIs FAQ</a>. There was also a table of people hacking specifically on <a href="http://code.google.com/p/wave-protocol/wiki/FedOne">FedOne</a>, creating agents and getting their own servers running. After everyone had gotten their hands dirty in code for a few hours, I showed extension installers and presented <a href="http://prezi.com/egrptwqumq8j/"></a></span><span>"Making Wave-y Extensions"</span><span>.</span></p><br /><p><a href="https://wave.google.com/a/wavesandbox.com/#restored:wave:wavesandbox.com!w%252B0JSRlA3CA"><img src="http://1.bp.blogspot.com/_T1lquhCmKo8/Sx5KGQl3BxI/AAAAAAAAC1Q/KdxapZN6Kho/s400/screenshot_ivoicechat.png" /></a>After another few hours of hacking, we started demos and wrote them up in this <a href="https://wave.google.com/wave/#restored:search:hackathon,restored:wave:googlewave.com!w%252BF83lgW0gV"><span>live wave</span></a><span>. We were once again using <a href="http://ustream.tv">ustream.tv</a> to stream demos, and after tweeting about it, we suddenly had developers from all over the world commenting on the Wave and watching our demos. They hailed from Argentina, Ukraine, and Japan, and used the Yes/No/Maybe gadgets to demand that we wave hello to them on our webcam (and then uploaded a recording of our real lifewave as an attachment!). The local developers showed off nifty demos, like the <a href="https://wave.google.com/a/wavesandbox.com/#restored:wave:wavesandbox.com!w%252B0JSRlA3CA">VoiceChat-9 gadget</a>, <a href="http://www.randomhacks.net/articles/2009/11/21/wave-hackathon">Ruby FedOne Agent API</a>, and the <a href="https://wave.google.com/a/wavesandbox.com/#restored:search:mastermind+with%253Apublic,restored:wave:wavesandbox.com!w%252BjVbLZyozD">Mastermind game gadget</a>. Interning Googler Jonathan Goldberg also showed off beginnings of integration with the just-released <a href="http://tables.googlelabs.com/Home?pli=1">Google Fusion Tables</a>. You can watch those demos on <a href="http://www.youtube.com/watch?v=RmZC4h2npLo">Youtube</a>.</span></p><br /><p>It was great to meet Bostonian developers, and it gave me a new reason to love Boston. Hopefully by the time I make my next annual visit, I'll have taught my kitty cat to use Wave. :)</p> <br /><br /><span class="post-author">Posted by Pamela Fox, Developer Relations</span><div class="blogger-post-footer"><img src="https://blogger.googleusercontent.com/tracker/7938035922388048219-3440771626837380148?l=googlewavedev.blogspot.com" height="1" alt="" width="1" /></div><img src="http://feeds.feedburner.com/~r/GoogleWaveDeveloperBlog/~4/mPH2XU6KXY8" height="1" width="1" />Tue, 08 Dec 2009 13:34:57 GMThttp://wavecamp.soup.io/post/37247796/What-Does-Clam-Chowder-amp-the-Googleurn:www-soup-io:1:37247796regular [wavecamp] Google Wave API Articles: Extensions Debugging &amp; Robot-to-Gadget Communication {"tags":[],"type":"regular","title":"\u003Ca href=\"http://feedproxy.google.com/~r/GoogleWaveDeveloperBlog/~3/1NgSJq0Q3lA/google-wave-api-articles-extensions.html\"\u003EGoogle Wave API Articles: Extensions Debugging \u0026amp; Robot-to-Gadget Communication\u003C/a\u003E","source":"http://feedproxy.google.com/~r/GoogleWaveDeveloperBlog/~3/1NgSJq0Q3lA/google-wave-api-articles-extensions.html","body":"We've recently added an \u003Ca href=\"http://code.google.com/apis/wave/articles.html\"\u003Earticles section\u003C/a\u003E to the \u003Ca href=\"http://code.google.com/apis/wave/\"\u003EGoogle Wave APIs\u003C/a\u003E documentation, with three articles to make Google Wave API development easier. \u003Cbr /\u003E \u003Cbr /\u003E\u003Ca href=\"http://code.google.com/apis/wave/articles/robotdebugging.html\"\u003E\u003Cspan\u003EDebugging Robots\u003C/span\u003E\u003C/a\u003E \u003Cspan\u003E\u003Cbr /\u003ELearn how to use the App Engine logs for easier debugging, verify your robot is set up correctly, and even test your robot locally (without deploying). This article can speed up your development process by making it faster and easier to catch bugs.\u003Cbr /\u003E\u003Cbr /\u003E\u003Ca href=\"http://code.google.com/apis/wave/articles/gadgetdebugging.html\"\u003E\u003C/a\u003E\u003C/span\u003E\u003Cspan\u003EDebugging Gadgets \u003C/span\u003E\u003Cspan\u003E\u003Cbr /\u003EGet tips for testing new code, simulating multiple users, logging debug messages, and logging state deltas. Developing multi-user real-time gadgets is hard when you're just one developer, and this article should make it easier for you.\u003Cbr /\u003E\u003Cbr /\u003E\u003Ca href=\"http://code.google.com/apis/wave/articles/embeddy.html\"\u003E\u003C/a\u003E\u003C/span\u003E\u003Cspan\u003ERobot-to-Gadget Communication \u003C/span\u003E\u003Cspan\u003E\u003Cbr /\u003EDelve into the innards of \"Embeddy\", the robot that generates embed code for a wave. This article describes how robots can insert gadgets on a wave, and then set the state of them. Some of the most useful extensions out there involve careful interaction of robots and gadgets, and this can get you started.\u003Cbr /\u003E \u003Cbr /\u003EEnjoy the articles - and please tell us in the forum if you have improvements or your own articles to share. \u003C/span\u003E\u003Cbr /\u003E\u003Cbr /\u003E\u003Cspan class=\"post-author\"\u003EPosted by Pamela Fox, Developer Relations\u003C/span\u003E\u003Cdiv class=\"blogger-post-footer\"\u003E\u003Cimg src=\"https://blogger.googleusercontent.com/tracker/7938035922388048219-1817377445271415246?l=googlewavedev.blogspot.com\" height=\"1\" alt=\"\" width=\"1\" /\u003E\u003C/div\u003E\u003Cimg src=\"http://feeds.feedburner.com/~r/GoogleWaveDeveloperBlog/~4/1NgSJq0Q3lA\" height=\"1\" width=\"1\" /\u003E"} We've recently added an <a href="http://code.google.com/apis/wave/articles.html">articles section</a> to the <a href="http://code.google.com/apis/wave/">Google Wave APIs</a> documentation, with three articles to make Google Wave API development easier. <br /> <br /><a href="http://code.google.com/apis/wave/articles/robotdebugging.html"><span>Debugging Robots</span></a> <span><br />Learn how to use the App Engine logs for easier debugging, verify your robot is set up correctly, and even test your robot locally (without deploying). This article can speed up your development process by making it faster and easier to catch bugs.<br /><br /><a href="http://code.google.com/apis/wave/articles/gadgetdebugging.html"></a></span><span>Debugging Gadgets </span><span><br />Get tips for testing new code, simulating multiple users, logging debug messages, and logging state deltas. Developing multi-user real-time gadgets is hard when you're just one developer, and this article should make it easier for you.<br /><br /><a href="http://code.google.com/apis/wave/articles/embeddy.html"></a></span><span>Robot-to-Gadget Communication </span><span><br />Delve into the innards of "Embeddy", the robot that generates embed code for a wave. This article describes how robots can insert gadgets on a wave, and then set the state of them. Some of the most useful extensions out there involve careful interaction of robots and gadgets, and this can get you started.<br /> <br />Enjoy the articles - and please tell us in the forum if you have improvements or your own articles to share. </span><br /><br /><span class="post-author">Posted by Pamela Fox, Developer Relations</span><div class="blogger-post-footer"><img src="https://blogger.googleusercontent.com/tracker/7938035922388048219-1817377445271415246?l=googlewavedev.blogspot.com" height="1" alt="" width="1" /></div><img src="http://feeds.feedburner.com/~r/GoogleWaveDeveloperBlog/~4/1NgSJq0Q3lA" height="1" width="1" />Thu, 03 Dec 2009 22:30:38 GMThttp://wavecamp.soup.io/post/36754027/Google-Wave-API-Articles-Extensions-Debugging-ampurn:www-soup-io:1:36754027regular [wavecamp] You got questions? We've got answers! {"tags":[],"type":"regular","title":"\u003Ca href=\"http://feedproxy.google.com/~r/GoogleWaveDeveloperBlog/~3/HOIwrS13qX4/you-got-questions-weve-got-answers.html\"\u003EYou got questions? We've got answers!\u003C/a\u003E","source":"http://feedproxy.google.com/~r/GoogleWaveDeveloperBlog/~3/HOIwrS13qX4/you-got-questions-weve-got-answers.html","body":"\u003Cp\u003ELast Saturday, at the \u003Ca href=\"http://massgtug.gtugs.org/news/wave-hackaton\"\u003EMass GTUG Wave Hackathon\u003C/a\u003E, I spent six hours hopping from table to table, answering questions about the best way to do X, the quickest way to do Y, and the future way to do Z. I soon realized that these questions were likely reflective of the questions that go through the heads of developers getting started with the \u003Ca href=\"http://code.google.com/apis/wave/\"\u003EGoogle Wave APIs\u003C/a\u003E, and I started taking notes (in Google Wave, of course). With the help of my colleagues, we've turned those notes into the beginnings of an \u003Ca href=\"http://wave-api-faq.appspot.com\"\u003EFAQ for Wave developers\u003C/a\u003E. There are 4 sections in the \u003Ca href=\"http://wave-api-faq.appspot.com\"\u003EFAQ\u003C/a\u003E, covering questions on sandbox/preview accounts, client libraries, and general development tips, helping you answer questions like \u003Ca href=\"http://wave-api-faq.appspot.com/#submittedblip\"\u003E\"How do you retrieve a submitted blip?\"\u003C/a\u003E and \u003Ca href=\"http://wave-api-faq.appspot.com/#editordebug\"\u003E\"How can you view the XML representation of a Wave?\"\u003C/a\u003E.\u003C/p\u003E\u003Cp\u003EThe coolest part of the \u003Ca href=\"http://wave-api-faq.appspot.com\"\u003EFAQ\u003C/a\u003E is that it's actually generated from a series of waves on \u003Ca href=\"http://www.wavesandbox.com\"\u003EWaveSandbox.com\u003C/a\u003E, and a robot takes care of exporting the waves into the HTML page. This means that our team can use Wave for super-easy collaboration on the FAQs, but we can represent the information in a format that is viewable by everyone and fits in with the rest of the documentation. The FAQ-generator robot is based on the \u003Ca href=\"http://wave-samples-gallery.appspot.com/about_app?app_id=75018\"\u003EExporty sample\u003C/a\u003E, so take a look at that if you want to implement a similar system to meet your own needs.\u003C/p\u003E\u003Cp\u003EPlease read through the \u003Ca href=\"http://wave-api-faq.appspot.com\"\u003EFAQ\u003C/a\u003E when you have the chance; you might learn something new, or hey, you might have an answer that's better than ours. Stop by the \u003Ca href=\"http://groups.google.com/group/google-wave-api\"\u003EGoogle Wave API forum\u003C/a\u003E to let us know what we can improve or add.\u003C/p\u003E\u003Cbr /\u003E\u003Cspan class=\"post-author\"\u003EPosted by Pamela Fox, Developer Relations\u003C/span\u003E\u003Cdiv class=\"blogger-post-footer\"\u003E\u003Cimg src=\"https://blogger.googleusercontent.com/tracker/7938035922388048219-7538295842698855540?l=googlewavedev.blogspot.com\" height=\"1\" alt=\"\" width=\"1\" /\u003E\u003C/div\u003E\u003Cimg src=\"http://feeds.feedburner.com/~r/GoogleWaveDeveloperBlog/~4/HOIwrS13qX4\" height=\"1\" width=\"1\" /\u003E"} <p>Last Saturday, at the <a href="http://massgtug.gtugs.org/news/wave-hackaton">Mass GTUG Wave Hackathon</a>, I spent six hours hopping from table to table, answering questions about the best way to do X, the quickest way to do Y, and the future way to do Z. I soon realized that these questions were likely reflective of the questions that go through the heads of developers getting started with the <a href="http://code.google.com/apis/wave/">Google Wave APIs</a>, and I started taking notes (in Google Wave, of course). With the help of my colleagues, we've turned those notes into the beginnings of an <a href="http://wave-api-faq.appspot.com">FAQ for Wave developers</a>. There are 4 sections in the <a href="http://wave-api-faq.appspot.com">FAQ</a>, covering questions on sandbox/preview accounts, client libraries, and general development tips, helping you answer questions like <a href="http://wave-api-faq.appspot.com/#submittedblip">"How do you retrieve a submitted blip?"</a> and <a href="http://wave-api-faq.appspot.com/#editordebug">"How can you view the XML representation of a Wave?"</a>.</p><p>The coolest part of the <a href="http://wave-api-faq.appspot.com">FAQ</a> is that it's actually generated from a series of waves on <a href="http://www.wavesandbox.com">WaveSandbox.com</a>, and a robot takes care of exporting the waves into the HTML page. This means that our team can use Wave for super-easy collaboration on the FAQs, but we can represent the information in a format that is viewable by everyone and fits in with the rest of the documentation. The FAQ-generator robot is based on the <a href="http://wave-samples-gallery.appspot.com/about_app?app_id=75018">Exporty sample</a>, so take a look at that if you want to implement a similar system to meet your own needs.</p><p>Please read through the <a href="http://wave-api-faq.appspot.com">FAQ</a> when you have the chance; you might learn something new, or hey, you might have an answer that's better than ours. Stop by the <a href="http://groups.google.com/group/google-wave-api">Google Wave API forum</a> to let us know what we can improve or add.</p><br /><span class="post-author">Posted by Pamela Fox, Developer Relations</span><div class="blogger-post-footer"><img src="https://blogger.googleusercontent.com/tracker/7938035922388048219-7538295842698855540?l=googlewavedev.blogspot.com" height="1" alt="" width="1" /></div><img src="http://feeds.feedburner.com/~r/GoogleWaveDeveloperBlog/~4/HOIwrS13qX4" height="1" width="1" />Thu, 03 Dec 2009 02:18:39 GMThttp://wavecamp.soup.io/post/36642727/You-got-questions-Weve-got-answersurn:www-soup-io:1:36642727regular [wavecamp] Upcoming US Events with Google Wave Presentations {"tags":[],"type":"regular","title":"\u003Ca href=\"http://feedproxy.google.com/~r/GoogleWaveDeveloperBlog/~3/zF52DvLiDzY/upcoming-us-events-with-google-wave.html\"\u003EUpcoming US Events with Google Wave Presentations\u003C/a\u003E","source":"http://feedproxy.google.com/~r/GoogleWaveDeveloperBlog/~3/zF52DvLiDzY/upcoming-us-events-with-google-wave.html","body":"\u003Cp\u003ESimiliar to the \u003Ca href=\"http://googlewavedev.blogspot.com/2009/10/google-wave-is-headed-to-europe-join-us.html\"\u003EGoogle Wave European tour\u003C/a\u003E, we're stopping by several developer events in the states: \u003C/p\u003E\u003Cp\u003E\u003C/p\u003E\u003Cul\u003E\u003Cli\u003E\u003Ca href=\"http://www.usenix.org/event/lisa09/\"\u003ELISA 2009\u003C/a\u003E\u003C/li\u003E\u003Cul\u003E\u003Cli\u003ENov. 1-6, 2009, in Baltimore MD\u003C/li\u003E\u003Cli\u003ENov. 4 (today!) - \"Google Wave Federation Protocol\" with Joe Gregorio\u003C/li\u003E\u003C/ul\u003E\u003Cli\u003E\u003Ca href=\"http://www.sfjava.org/calendar/11573532/?eventId=11573532\u0026amp;action=detail\"\u003ESF Java User Group\u003C/a\u003E\u003C/li\u003E\u003Cul\u003E\u003Cli\u003ENov. 10, 2009, in San Francisco, CA\u003C/li\u003E\u003Cli\u003E\"Google Wave APIs: Now \u0026amp; Beyond\" with Marcel Prasetya\u003C/li\u003E\u003C/ul\u003E\u003Cli\u003E\u003Ca href=\"http://www.salesforce.com/dreamforce/DF09/site/\"\u003EDreamforce\u003C/a\u003E\u003C/li\u003E\u003Cul\u003E\u003Cli\u003ENov. 17-20, 2009, in San Francisco, CA\u003C/li\u003E\u003Cli\u003ENov. 19 - \"Ready to Ride the Google Wave?\" with Dan Peterson\u003C/li\u003E\u003C/ul\u003E\u003Cli\u003E\u003Ca href=\"http://massgtug.gtugs.org/news/wave-hackaton\"\u003EMassachusetts GTUG Wave Hackathon\u003C/a\u003E\u003C/li\u003E\u003Cul\u003E\u003Cli\u003ENov. 21, 2009, in Boston, MA\u003C/li\u003E\u003C/ul\u003E\u003C/ul\u003E\u003Cp\u003E\u003C/p\u003E\u003Cp\u003EAll of these events are still open for registration - so grab a seat while you still can. See you there!\u003Cbr /\u003E\u003Cbr /\u003E\u003Cspan class=\"post-author\"\u003EPosted by Pamela Fox, Developer Relations\u003C/span\u003E\u003C/p\u003E\u003Cdiv class=\"blogger-post-footer\"\u003E\u003Cimg src=\"https://blogger.googleusercontent.com/tracker/7938035922388048219-3376960696328429146?l=googlewavedev.blogspot.com\" height=\"1\" width=\"1\" /\u003E\u003C/div\u003E\u003Cimg src=\"http://feeds.feedburner.com/~r/GoogleWaveDeveloperBlog/~4/zF52DvLiDzY\" height=\"1\" width=\"1\" /\u003E\u003Cp\u003E\u003C/p\u003E"} <p>Similiar to the <a href="http://googlewavedev.blogspot.com/2009/10/google-wave-is-headed-to-europe-join-us.html">Google Wave European tour</a>, we're stopping by several developer events in the states: </p><p></p><ul><li><a href="http://www.usenix.org/event/lisa09/">LISA 2009</a></li><ul><li>Nov. 1-6, 2009, in Baltimore MD</li><li>Nov. 4 (today!) - "Google Wave Federation Protocol" with Joe Gregorio</li></ul><li><a href="http://www.sfjava.org/calendar/11573532/?eventId=11573532&amp;action=detail">SF Java User Group</a></li><ul><li>Nov. 10, 2009, in San Francisco, CA</li><li>"Google Wave APIs: Now &amp; Beyond" with Marcel Prasetya</li></ul><li><a href="http://www.salesforce.com/dreamforce/DF09/site/">Dreamforce</a></li><ul><li>Nov. 17-20, 2009, in San Francisco, CA</li><li>Nov. 19 - "Ready to Ride the Google Wave?" with Dan Peterson</li></ul><li><a href="http://massgtug.gtugs.org/news/wave-hackaton">Massachusetts GTUG Wave Hackathon</a></li><ul><li>Nov. 21, 2009, in Boston, MA</li></ul></ul><p></p><p>All of these events are still open for registration - so grab a seat while you still can. See you there!<br /><br /><span class="post-author">Posted by Pamela Fox, Developer Relations</span></p><div class="blogger-post-footer"><img src="https://blogger.googleusercontent.com/tracker/7938035922388048219-3376960696328429146?l=googlewavedev.blogspot.com" height="1" width="1" /></div><img src="http://feeds.feedburner.com/~r/GoogleWaveDeveloperBlog/~4/zF52DvLiDzY" height="1" width="1" /><p></p>Wed, 04 Nov 2009 23:31:00 GMThttp://wavecamp.soup.io/post/33652969/Upcoming-US-Events-with-Google-Wave-Presentationsurn:www-soup-io:1:33652969regular