We have decided to contribute to the Google Wave developer community by releasing some of the internal tools and API’s that we use at withwaves.com by building Google Wave Extensions.
If you already have Java, Ant, Maven and the Java App Engine SDK installed, simply execute the following command in your console:
mvn archetype:generate -DarchetypeCatalog=http://mvn.withwaves.com
After entering the values for your project, you will have a running Google Wave robot & gadget ready in no time.
Use the same command to generate extensions in the future and you will have the option to enable new features as we release more extension generators.
Check out the videos below for a demo creating a simple "Hello World" robot and gadget, and optionally running it inside Eclipse and the Google Plugin for Eclipse.
When you create your Google Wave extension with our generator this is what you get…
- Runnable Hello World project ready to be modified and added to a Wave
- Spring integration in your robot / gadget back-end project compatible with Google App Engine
- Ant tasks to test your gadget locally and deploy to App Engine from the command line
- Access to our API core components, including an open source implementation of Named Entity Recognition for blips based on the Alchemy API
- Gadget server handlers for communication from your gadget to the server with JSON / Spring
- jQuery integration for your gadgets
- Common gadget JS classes to handle Wave callbacks and state modifications
- Simple Wave JS emulator that allows you to view your gadget locally for testing HTML/JS/CSS before deploying
- Locale based language support for your gadget
- Metadata to expose your robot / gadget as a extension installer
- Eclipse / Google plugin ready project to run and update to app engine from Eclipse
Enjoy and stay tuned for more developer tips and open source utilities for Google Wave!

Dedicated-virtual (dv) by Media Temple
[...] This post was mentioned on Twitter by Derek and Raúl Raja, WithWaves. WithWaves said: RT WithWaves: Google Wave Extension Generator http://bit.ly/3ACAKr [...]
[...] Original post by WithWaves [...]
Social comments and analytics for this post…
This post was mentioned on Twitter by withwaves: RT WithWaves: Google Wave Extension Generator http://bit.ly/3ACAKr…
[...] WithWaves.com just published a Google Wave Extension Generator at withwaves.com. [...]
Fantastic work! Any plans on integrating other AlchemyAPI functionality, such as keyword extraction, language ID, etc ?
Elliot, thanks for the comment. Yes we plan on implementing all the API functionality in our bots and in the extension generator. We plan to expose each feature to developers so they can easily decide which pieces in the AlchemyAPI they want to use.
It won’t let me pass if I don’t enter an alchemyAPIKey, I thought it’s optional as stated in the video. And the video is blur, a screen shot in PNG is more suitable IMO.
Anyway to set it up without downloading the jar, pom files again unless there’s an update?
Hi Wezzax,
For the maven archetype wizard just type anything. The generated project contains the source code that you can modify to not actually call the alchemy api.
OnBlipSubmittedListenerImpl (lines 31-40)
Hi
I have a question about bot-gadget communications: I have a Wave Bot, working and all fine, and I have a Gadget, also working fine (built using the generator from this page…). What I want is to initialize the gadget from within the bot with data I have for it. Basically the end result I’m aiming to is something like your ebay bot, where the participant types something, and the gadget is added with contents (search results in that case) relating to what was typed. I couldn’t find a way to do that, but I’m probably missing something trivial… am I?
thank you
Gadi
Hi Gadi,
The gadget can communicate with any server side application.
With the deployment of the bot there are sources included that demonstrate how the gadget can call your server and the server replies with data in JSON format.
Once you receive the data you can make changes in the gadget.
The server side sample file that handles the request for the gadget is
src/main/java//your/package/gadget/handler/impl/GadgetServiceImpl.java
To invoke your service which is actually configured with spring at
/war/WEB-INF/conf/applicationContext.xml
You can simply use some javascript with jquery for a jsonp request similar to the one below.
urlParams.push(”param=” + value);
$.getJSON(
“yourgadgetdeploymenturl” + “?” + urlParams.join(”&”) + “callback=?”,
function(data) {
//doSomethingWithData
);
}
We bundle com.withwaves.commons.utils.view.JSONPSupportView with the generator so you should have a View generator in your bot that already supports the callback replacement for JSONP.
You can use the same technique with any other server that you’d like to fetch data from that supports jsonp, for example ebay.
Let us know if you have any more questions and glad you found the generator useful.