Thursday, August 20, 2009

[Gd] GTUG Campout - 3 Day Hackstravaganza

| More

Google Code Blog: GTUG Campout - 3 Day Hackstravaganza

The Silicon Valley Google Technology User Group (GTUG) held the first GTUG Campout, a 46 hour hackathon, over the weekend of August 7-9. Nearly 200 developers, designers, and business people came to build working applications using Google Technology, focusing largely on the Google Wave API.

The event was intense, spanning 3 days. In that time, attendees had to pitch ideas, form teams, and code like heck to have a working prototype to demo by Sunday evening.

Friday evening, we had over 50 pitches. Afterwards, people had a chance to mingle and find teams that they wanted to work with. Groups whiteboarded and discussed their ideas, then started working hard. Over 30 coders were still working past 2:00 am Saturday morning.

Sunday night we had 32 presentations of working applications followed by wooden nickel style voting to determine the winner. The crowd chose Videowave, a Wave gadget that allows synchronized viewing of videos from YouTube. They were awarded 1 pass to Google I/O '10, 2 G1 phones, and lunch with members of the Wave team.

Screenshot of Videowave in action

The list of winners:
  • 1st place: Videowave, by Solomon Wu, Aaron Tong, Nelson To. (their blog)
  • 2nd place: H3LP, by Jen McCabe, Steve Okay, Stig Hackvan, Andrey Petrov
    • Android app and mobile web app for emergency medical situations. If launched, app locates you and notify authorities and emergency contacts.
    • Mobile web vers:
  • 3rd place (3 way tie)
    • PoppyWave, by Hitesh Parashar, Van Riper, Kewaljit, David Elliston, Dave Lyman, Prathap Nimal, Dave Neubaur, Toby Morning, Perrine Crampton
      • Wave-Email Gateway that lets non-Wave users to participate in Wave.
      • Robot:
    • BeerTime Bot, by Jason, Aaditya, Joe
      • Measures hostility level in a Wave. If too high, hijacks thread and geolocates participants and suggests nearby drinking establishment. Robot and gadget components.
      • Robot:, Gadget XML
      • Open sourced code: beertime, meetuptime
    • Cutebox, by Audrey Roy
Congratulations to all the winners and other attendees who worked so hard! Thanks also to the Googlers who helped out and answered questions, and our volunteers, especially those that helped with videos and photos.

A fun slideshow of the event:

The Silicon Valley Google Technology User Group is one of the first GTUGs around the world. Today around 70 GTUGs exist worldwide. Information about starting a GTUG in your area can be found at The first GTUG Campout was a great success and we are looking forward to doing the event next year, and hope other GTUGs will host GTUG Campouts in their neighborhoods.

By Kevin Nilson, co-leader of the Silicon Valley Google Technology User Group

[Gd] The Fall Collection on Google Code University

| More

Google Code Blog: The Fall Collection on Google Code University

Back-to-School usually means preparing new courses and topics. Educators as well as students are looking for exciting and fresh content. We are happy to announce that we are able to share some new additions to Google Code University's repository of CS course materials just in time for the fall semester. As always, all of these course materials are Creative Commons licensed and can be reused and adapted to curricula at universities everywhere:
Please also check out our CS Resources page for updates on useful training materials.

But that's not all! We want to encourage educators to contribute their great content to Google Code University. By implementing a submission form we hope to make the process easy and convenient. Just follow the big blue button on the homepage and tell us about your materials. We look forward to hearing from you!

By Andrea Held, Google Code University Team

[Gd] Aza Raskin: Conversational Computing (Ubiquity & Jetpack)

| More

Google Code Blog: Aza Raskin: Conversational Computing (Ubiquity & Jetpack)

Aza Raskin delivered the eighth Web Exponents tech talk at Google last week. Aza is head of user experience at Mozilla Labs. He's an entrepreneur and Renaissance man, as evidenced by the breadth of topics in his presentation.

What I like about Aza is that he's a user advocate - sharing our frustrations over the complexities and hurdles of interacting with computers. It's not that applications lack functionality. Aza points out that "90% of the feature requests for features in [Microsoft] Word are in fact for features that are already in Word." The problem is that humans can't interact with, speak with, computer applications using a familiar language.

Ubiquity is one of the projects from Mozilla Labs that bridges this digital divide. Ubiquity is a Firefox add-on that allows users to complete tasks using a more intuitive language. One example Aza shows is highlighting part of a web page and typing "translate this to Russian". Ubiquity acts on the user's request by replacing the text in the web page with the Russian translation. Another example is typing an address in a Yahoo! Mail message, typing "map this", and having Ubiquity embed the desired Google map inside the email.

Aza calls this you-centric computing - allowing us to interact by talking about what we want to do, rather than forcing us to think about how to do it. Ubiquity achieves this, moving us from a web of nouns to a web of verbs. The point, according to Aza, is "perhaps by adding language, by making things hackable, we go from interfaces which work to our failabilities and our frailities, and instead are a little bit more human and hence a little bit more humane."

Jetpack extends Ubiquity's theme of making the Web hackable. Aza describes it as "an incredibly fast prototyping environment for changing the Web to make the Web yours. Sort of like taking the idea of Greasemonkey and mashing it up with extensions and giving it all steroids." Ubiquity and Jetpack allow each of us to make the Web our very own by modifying it to work the way we want.

Empowering users to customize the Web and more easily complete tasks moves us from a feeling of helplessness to a feeling of being in control. This is an important point and reminds me of Matt Mullenweg's talk at Velocity about slow web sites (my personal bent). There Matt says, "...when an interface is faster, you feel good. And ultimately what that comes down to is you feel in control." Empowering users is a common goal, and yet today's web applications still contain many hurdles (complexity, poor interaction language, slowness) that need to be addressed to make users feel in control and ultimately happy. Thanks to Aza and the folks at Mozilla Labs, we're moving closer to the you-centric Web each of us wants.

By Steve Souders, Performance Evangelist

Wednesday, August 19, 2009

[Gd] Dev Channel Update

| More

Google Chrome Releases: Dev Channel Update

The Windows and Mac Dev channels have been updated to

More details about additional changes are available in the svn log of all revisions.

You can find out about getting on the Dev channel here:

If you find new issues, please let us know by filing a bug at

Anthony Laforge
Google Chrome Program Manager


[Gd] Towards a programmable web: PubSubHubbub for Google Alerts

| More

Google Code Blog: Towards a programmable web: PubSubHubbub for Google Alerts

Why shouldn't the web itself be programmable? A programmable web enables one application to be extended by another to create new applications that people haven't imagined before. This goes beyond mash-ups, which primarily combine data sources together into new views. A programmable web is reactive and relies on Web Hooks for event-driven notification, syncing, chaining, modification, and extension.

One simple example of programming the web itself is the post commit-hook on Project Hosting, which lets developers call their own web service every time someone commits to their repository. An advanced example is the Wave Robots API, which gives developers the power to enhance and modify the behavior of Wave in new ways that no-one has envisioned. The magic of this programmable approach is that these services come to *your* webapp whenever something requires attention; there's no need to poll for events or data that you're interested in.

In keeping with this goal of programmability, over the past few weeks we've enabled the PubSubHubbub protocol for many Google services, including FeedBurner, Reader shared items, and Blogger. This protocol provides web-hook notifications when Atom and RSS feeds are updated, delivering web applications near-real-time information about what's new or changed.

Today we're happy to announce that we have gone a step further and added PubSubHubbub support to Google Alerts. This gives developers the means to write web applications that process newly relevant search results as they become available. Think of it as an AJAX search API that tells *you* when it finds new results. Acting upon these notifications your app could update your website, email friends, send an SMS-- the possibilities are endless.

Like the huge number of Maps mash-ups out there, we hope to see a whole new class of applications built on top of these notifications. So give the protocol a try and tell us what you've built in our Google Group!

By Brett Slatkin, Google Developer Team

Monday, August 17, 2009

[Gd] Dev Channel Update

| More

Google Chrome Releases: Dev Channel Update

The Windows Dev channel has been updated to

This release contains all the fixes and changes from, plus one additional change: we've added bookmark synchronization!

To start using the feature, start Chrome with the "--enable-sync" flag, and go to "Wrench"->"Sync my bookmarks..."

For more details about bookmark synchronization go to:

You can find out about getting on the Dev channel here:

If you find new issues, please let us know by filing a bug at

Anthony Laforge
Google Chrome Program Manager

[Gd] Bookmarks Here, Bookmarks There, Bookmarks Everywhere

| More

Chromium Blog: Bookmarks Here, Bookmarks There, Bookmarks Everywhere

As of today's dev channel build, we're adding a brand new feature to Google Chrome: bookmark sync. Many users have several machines, one at home and one at work for example. This new feature makes it easy to keep the same set of bookmarks on all your machines, and stores them alongside your Google Docs for easy web access.

To activate this feature, launch Google Chrome with the --enable-sync command-line flag. Once you set up sync from the Tools menu, Chrome will then upload and store your bookmarks in your Google Account. Anytime you add or change a bookmark, your changes will be sent to the cloud and immediately broadcast to all other computers for which you've activated bookmark sync (using the same XMPP technology as Google Talk).

For more information on this, please see this email to chromium-dev.

Happy syncing!

Posted by Tim Steele, Software Engineer

[Gd] Recent Happenings: TickTock, parallel queries, DryDrop, and more

| More

Google App Engine Blog: Recent Happenings: TickTock, parallel queries, DryDrop, and more

Every month or so, we compile a list of interesting things in the community related to App Engine. Here are some recent projects and resources that you might find interesting:

Ubisoft's TickTock on Facebook

Ubisoft has released a fun game for Facebook called TickTock which challenges you to guess which of your friends have posted particular status updates. From the application page "TickTock is a Facebook trivia game that tests your knowledge of your friends. Use that knowledge to create playful devices to challenge others. Unlock items and create bigger challenges. Post them on your people's Facebook Walls, and see who knows their friends best!"

TickTock uses App Engine to serve the game content and store game information. We're excited to see this as a great example of a growing number of games which are using App Engine behind the scenes. Sign on to Facebook and give it a try.

Query the App Engine datastore in parallel with asynctools

Written by a group of engineers at VendAsta, asynctools is a rather nifty toolkit that allows you to execute datastore queries in parallel in the Python runtime. The interface is slightly more involved than using standard queries, but the ability to execute multiple queries in parallel can substantially reduce the render time for a page where you need to execute multiple independent queries.

Jason Collins has written a detailed article about how and why they wrote asynctools, which can be found here.

Easily host and update static sites on App Engine with GitHub

DryDrop is a new tool that lets you host your static site on Google App Engine and update it by pushing to GitHub. Thanks to GitHub post-receive hooks your App Engine site can be updated automatically when you push new content.

Installing Google App Engine applications into Google Apps

We have a new screencast up in the Developer's Channel on YouTube, this one covers Installing Google App Engine applications into Google Apps.

Recent open source developments

  • TwitterFollow (source) is an article and accompanying sample application demonstrating Twitter's REST API in an App Engine app.
  • Gaelyk (source), a "lightweight Groovy toolkit" that runs on App Engine's Java runtime, enables developers to deploy small Groovy applications on App Engine. It supports Groovy templates and Groovlets for separating content from presentation.

For more open source projects built on top of Google App Engine, see the Open Source Projects wiki page, and feel free to add your own open source projects to that page if you want to see them featured in an upcoming community update post.

Posted by Jeff Scudder, Nick Johnson, and Jason Cooper, App Engine Team

Java is a trademark or registered trademark of Sun Microsystems, Inc. in the United States and other countries.


[Gd] Update! Speakers & Talks for GTAC

| More

Google Testing Blog: Update! Speakers & Talks for GTAC

We are thrilled to announce the speakers and talks for the 4th Google Test Automation Conference (GTAC). Competition was fierce: we received over 100 submissions and have an acceptance rate of lower than 10%.
  • Testing Applications on Mobile Devices (Doron Reuveni, uTest)
  • JsTestDriver (Jeremie Lenfang-Engelmann, Misko Hevery, Google)
  • Fighting Layout Bugs (Michael Tamm, optivo GmbH)
  • Even better than the real thing - Lessons learned from testing GWT applications (Nicolas Wettstein, Google)
  • Selenium: to 2.0 and Beyond! (Simon Stewart, Google)
  • Automating Performance Test Data Collection and Reporting (David Burns, David Henderson, smartFOCUS DIGITAL)
  • Achieving Web Test Automation with a Mixed-Skills Team (Mark Micallef, BBC Future Media and Technology)
  • Score One for Quality! (Joshua Williams and Ross Smith, Microsoft)
  • Automatic workarounds for web applications (Antonio Carzaniga, Alessandra Gorla, Nicolò Perino, Mauro Pezzè, University of Lugano )
  • Precondition Satisfaction by Smart Object Selection in Random Testing (Yi Wei, Serge Gebhardt, ETH Zurich)
For further information on the conference please visit its wepage at

[Gd] Google Developer Days 2009: New Locations!

| More

Google Code Blog: Google Developer Days 2009: New Locations!

After a successful set of Google Developer Days in Asia and Brazil this past June, Google Developer Days 2009, a set of one-day developer events, are returning to Eastern Europe and Russia this fall.

We'll host Google Developer Day in these locations:
  • Prague, Czech Republic -- November 6
  • Moscow, Russia -- November 10
At Google Developer Day, attendees learn about Google developer products from the engineering teams who built them. These events are an opportunity for developers with strong coding experience to delve deeper into our APIs, developer tools and applications. There is also plenty of time to interact among the developer community and with Googlers themselves at "office hours," during which developers can bring their own snippets of code or specific product questions to the Google engineers behind the product.

Save the dates as the official websites and registration for both events will be available soon. Hope to see you there.

By Alyssa England Sachs, Google Developer Programs

[Gd] Tweety Sample Improved with OAuth Support

| More

Google Wave Developer Blog: Tweety Sample Improved with OAuth Support

Many of you may have seen Tweety ( in action through either trying out the robot yourself or watching the Google Wave developer preview from Google I/O. The robot signs into your Twitter account and lets you fetch your Twitter timeline and post tweets from Google Wave. However, because Tweety was built as a quick demo for Google I/O, its initial authentication scheme involved passing a user's username and password in plain-text around Wave, which offered very little security.

We put together an OAuth library to extend the Java Robot API that allows for secure authentication using 3-legged OAuth. (See for a detailed explanation of the authorization flow). Users log in directly to a service provider and are given an access token, which is stored in the Google App Engine datastore. We also changed Tweety to use OAuth.

The OAuth library is open source and packaged with the Java Robot API, so feel free to use it for your own robots!

Posted by Elizabeth Ford and Kim White, Google Wave interns