Friday, 17 December 2010
Facebook StumbleUpon Twitter Google+ Pin It

New Shopping APIs and Deprecation of the Base API

We are pleased to announce our newest addition to the shopping family -- a simple yet powerful programmatic interface that enables retailers to upload their content to Google and query data from Google. The new Shopping APIs have two components: Content and Search. As part of this launch, we’re are also deprecating the Base API and replacing it with today’s new Shopping APIs.

The Content API for Shopping allows retailers to upload product data to Google for use in multiple places online like Google Product Search, Product Ads, Google Affiliate Network, Google Commerce Search, and Shopping Rich Snippets.

The Search API for Shopping makes it easy for our Google Commerce Search customers, Google Affiliate Network publishers, and developers to build innovative applications using product data.

The Shopping APIs replace the Base API
These new Shopping APIs replace the existing Google Base Data API for our content providers and search applications. We are deprecating the Base API and will fully retire it on June 1, 2011. For existing developers making the switch, we’ve provided a Migration Guide to help.

You can read more details about these announcements on the Google Merchant Center blog and our FAQ on Google Base Data API Deprecation.

Android stretches its legs... errr wheels... with help from 20% time at Google

Today we announced a fun 20% robotics project that resulted in three ways you can play with your iRobot Create®, LEGO® MINDSTORMS®, or VEX Pro® through the cloud. We did this by enhancing App Inventor for Android, contributing to the open source Cellbots Java app, and beefing up the Cellbots Python libraries. Together these apps provide new connectivity between robots, Android, the cloud, and your browser.

You can start empowering your Android phone with robot mobility by picking the solution below that matches your skill level and programming style:

  • App Inventor for Android
    This is an entirely cloud based programming environment where you drag and drop elements into a project right within your browser. The latest features for robots include a low level Bluetooth client for connecting with many serial-enabled robots, and tight integration with LEGO MINDSTORMS. There are seven LEGO components in all, with NxtDrive and NxtDirectCommands used for driving and basic control while NxtColorSensor, NxtLightSensor, NxtSoundSensor, NxtTouchSensor, and NxtUltrasonicSensor are used for sensors.

    Also be sure to try out the social components to connect with Twitter, and TinyWebDB for hooking up to AppEngine. All of these can be used together to make your phone a powerful robot brain.

  • Cellbots for Android

    We wanted to offer a flexible application that could drive multiple platforms and support different control modes. To do this we created the Cellbots Java application which currently supports four robot platforms and allows additional robot types and UI control schemes to be added using the standard Android SDK. It is entirely open source and available for free in the Android Market so you can try it out right away.

    With it you can use the phone as a remote control with D-Pad, joystick, accelerometer, or voice control inputs. Then try mounting your phone to the robot in brain mode where you can stream video back to a web browser and make the robot speak using Android’s native text-to-speech. For those of you with two Android phones, we support remote-to-brain mode where you can ask the robot for its compass heading or change the persona on screen.


  • Cellbots Python library

    The 20% team got together to create a more modularized version of the popular Cellbots project, which is all open source code. The goal for the Python library is to allow developers an easy way to demonstrate the features on Android phones suitable for robots. There are commands to make it speak, listen, record audio, take pictures, get a geolocation, and of course provide the I/O to the bot.

    The Python code is the most flexible in terms of connectivity with support for Google Talk chat over XMPP, HTTP through a relay or direct connection, telnet, and voice input. To use it you just need to install the Scripting Layer 4 Android and enable the Python interpreter. Then copy over the Python and config files to the SD card and script away.

We hope this gives developers, hobbyists, and students a head start in connecting the next generation of cloud apps to the world of robotics. Be sure to push your mobile phone’s processor to its limits and share the results with the Cellbots Google Group. Try using Willow Garage’s OpenCV for Android or the new Gingerbread APIs for gyroscopes, enhanced OpenGL graphics, and multiple cameras!

Thursday, 16 December 2010
Facebook StumbleUpon Twitter Google+ Pin It

WebGL now in Beta: here comes the 3D web!

(Cross-posted from the Chromium Blog)

We’re happy to announce that WebGL is now on by default in Google Chrome’s beta channel, with some shiny new demos to show off what the technology can do.

WebGL is a 3D graphics API for JavaScript that developers can use to create fully 3D web apps. It is based on the OpenGL ES 2.0 API, which should be familiar to many 3D graphics developers. Google, Mozilla, Apple, Opera and graphics hardware vendors have been working together to standardize WebGL for over a year now, and since the spec is just about final at this point, we wanted to get our implementation out there for feedback.

While you may not find much WebGL content on the web, we expect developers to quickly create a lot of content given the power and familiarity of the API. To inspire developers and give users a taste of the kind of apps they can expect in the near future, we’ve worked with a few talented teams to build a few more 3D web apps:

Body Browser, a human anatomy explorer built by a team at Google as a 20% project

Nine Point Five, a 3D earthquake map by Dean McNamee

Music Visualizer, a jukebox that synchronizes 3D graphics to the beat of the music by Jacob Seidelin

You can find these and other demos in the new Chrome Experiments Gallery for WebGL demos. Now that WebGL is enabled in the beta channel, the Chrome Experiments team is looking for your cool WebGL app submissions to show off this slick technology, so don’t forget to submit your cool 3D apps!

Wednesday, 15 December 2010
Facebook StumbleUpon Twitter Google+ Pin It

WindowBuilder becomes new open source project with major code contribution to Eclipse Foundation

When Google acquired Instantiations in August 2010, everyone knew about our Java Eclipse products. Shortly after we joined, we talked about how best to help developers now that we are part of Google. We have always wanted to get these tools in more developers’ hands. So, back in September we decided to give them away for free! The community response has been fantastic. With that done, we asked ourselves, how could we make a good thing even better? How about by open sourcing the code and creating two new Eclipse projects!

Today we are announcing Google’s donation of the source code and IP for two of these products to the open source community through the Eclipse Foundation. This donation includes WindowBuilder, the leading Eclipse Java GUI Designer, and CodePro Profiler, which identifies Java code performance issues. Specifically, the WindowBuilder Engine and designers for SWT and Swing. All in all, this is a value of more than $5 million dollars worth of code and IP.

The Eclipse Foundation’s Executive Director, Mike Milinkovich, states that, “this is clearly a significant new project announcement, and very good news for Java developers using Eclipse. It has been impressive to see the continued growth and popularity of WindowBuilder, as this product has always filled a much needed gap in the Eclipse offerings. We look forward to it appearing in an Eclipse release soon. We’re very pleased with Google’s generous support of Eclipse, and the Java developer community around the world.”

One of the exciting aspects of innovating in the open source arena is that customers benefit from a full community. We are very excited to see the diverse collection of companies and individuals that have already expressed an interest in contributing to these projects. Commercial level support is important to many customers. Genuitec, makers of MyEclipse, intends to offer commercial support for the various WindowBuilder based products including the SWT, Swing Designer and even the GWT Designer from Google. Please sign up on the Genuitec site for more information. Similarly, OnPositive intends to offer commercial support for CodePro Profiler, as well as lead as the committers on the Eclipse Community Project. Sign up on the OnPositive site for more information.

"Genuitec is pleased to offer commercial support for WindowBuilder-based products - Swing, SWT and GWT - in early 2011 for companies who wish to continue a paid support contract once their Google support expires. We've been involved with the Eclipse Foundation since the beginning, so we are very familiar with these products. Thus, providing commercial support for this product line is a natural fit for us," said Maher Masri, President of Genuitec.

“Over the years OnPositive has built up unique experience with the CodePro Profiler and we are excited to offer commercial support for it. Google’s donation ensures that Java developers can build faster applications,” said Pavel Petrochenko, President of OnPositive.

WindowBuilder is regarded as the leading GUI builder in the Java community (winning the award for Best Commercial Eclipse Tool in 2009). It includes powerful functionality for creating user interfaces based on the popular Swing, SWT (Standard Widget Toolkit), GWT (Google Web Toolkit), RCP and XWT UI frameworks.

CodePro Profiler
CodePro Profiler is an Eclipse-based Java application profiling tool that helps developers identify performance issues early in the development cycle and find CPU and algorithmic bottlenecks, memory leaks, threading issues, and other concurrency-related problems that can slow down an application or cause it to hang.

Both WindowBuilder and CodePro Profiler will become Eclipse projects in the first half of 2011. Once each one is set up as a project and available for download from the Eclipse site, the products will be accessible to use as open source code under the the standard Eclipse license. I am looking forward to leading the WindowBuilder project.

If you have any questions, you can learn more at this FAQ or we look forward to hearing from you on the forums.

Monday, 13 December 2010
Facebook StumbleUpon Twitter Google+ Pin It


The Apache Software Foundation (ASF) has had a profound influence on everything I’ve worked on over the last decade, and a new partnership with them is a great opportunity for saying “thanks” and giving back. Today we’re announcing the launch of Much like our launch of earlier this year, we’re creating a separate instance of Project Hosting specifically for ASF-related projects to congregate around.

Back in 2000, when the Subversion project was in its nascent stages, we first few committers were all made members of the APR (Apache Portable Runtime) project; Subversion and Apache HTTPD shared this common portability layer. Over the following years, I was pulled ever closer to the workings of the ASF -- attending Apachecon conventions and meeting members from other ASF projects. And because the Subversion project started out with a significant number of developers from the Apache community, its own processes came to mimic the same classic consensus-driven culture that the ASF champions.

Years after that, Google Code’s Project Hosting service was also started by ASF members working at Google. So it’s not surprise that those of us who still work on the product share the ASF’s core philosophy: that open source projects aren’t just buckets of code, but are all about people. A codebase without a living, breathing community is a dead project.

So what can we do, as a company, to support open source communities? Providing hosting infrastructure certainly helps, but we can even go a step further. Successful open source software projects are rarely islands of development; larger projects tend to develop ecosystems of related but “unofficial” projects around them. It’s sometimes hard to identify these sub-communities, and so we can help by bolstering their presence: give them a clearer sense of identity and location by inviting them to live under a common banner.

This is why we’re excited to launch today. By working under a common logo and domain name, we hope these projects can gain more visibility and grow into their own thriving community.

And to the ASF: a great big “thanks” for doing what you do.

[If you already have a project on Google Code and would like to migrate it to the apache-extras instance, you can fill out this request form.]

Thursday, 9 December 2010
Facebook StumbleUpon Twitter Google+ Pin It

A fresh look for Google Project Hosting

Simplicity is key to longevity. Since we launched in 2006, even as we’ve added new features, we’ve had very little desire to change our user interface. It’s simple, it’s clean, it’s quick -- and as engineers, we like it.

However, the look of other Google products has evolved significantly in the last four years. Rounded corners, for example, are not used as aggressively as they used to be. Therefore, we’ve pushed out a small set of changes that update the style of our pages.

Take a look at the project creation page, project pages, and user profile page and give us your feedback. We look forward to hearing what you think.

Tuesday, 7 December 2010
Facebook StumbleUpon Twitter Google+ Pin It

Richer photo support in the Google Buzz API

You’ve already been able to simply include a photo in a Google Buzz post using the Buzz API. Today we’re making it much easier to add photos to Buzz posts. Additionally, using Picasa as the photo repository, you’ll now be able to wield the Buzz API to take all sorts of other actions on behalf of the user:

  • Create a new album
  • Get an album
  • Update an album’s metadata
  • Delete an album
  • List a user’s albums
  • Upload a new photo
  • Get a photo
  • Update a photo’s metadata
  • Delete a photo
  • List a user’s photos

Accessing a photo entry through the Buzz API is just as easy as getting an activity. The form for retrieving an activity is:{userId}/@self/{activityId}

With just a few alterations, we get the form for retrieving a photo:{userId}/@self/{albumId}/@photos/{photoId}

With live data, it would look like the following URL:

Browse to that address and you’ll get data that will point to this Picasa photo:

(Photo by Julie Farago, used under the Creative Commons Attribution Non-Commercial Share-Alike license)

The read-only endpoints will return public data without authentication. For authenticated access to the photos endpoints, you must be granted an OAuth token for the user with both the Buzz and Photos API scopes. For existing users, you will need to discard the OAuth tokens scoped to the Buzz API and request authorization to both scopes. More details can be found on the Google Buzz API documentation site.

Photos are an essential part of social applications. We expect these new capabilities will allow you to enrich your user’s experience with a minimum of fuss. As always, please swing by the Developer Forum to let us know what you think. And if you haven’t already, start using the APIs console to track your API usage and other coolness.

Monday, 6 December 2010
Facebook StumbleUpon Twitter Google+ Pin It

Highlights from Google Developer Day 2010

With our 3 Google Developer Days in Munich, Moscow and Prague last month, we wrapped up “GDD season” this year. It was great to meet many of you in person, and we’re happy to see all of the positive responses via your tweets and blog posts. Participating in the events was a great way to update you on where we are in our product development as well as to hear your feedback.

Here is a 3-minute highlights video and a short summary of each of our Google Developer Day events. For all photos and videos, see here.

Sep 28, Tokyo: Japan is the 2nd largest country for Android app uploads and App Engine usage, so we were happy to meet and thank the strong developer communities there. We hosted our largest Developer Day in Tokyo, with 1,500 developers in Tokyo and 200 developers at a satellite venue in Kyoto. Our developer sandbox had over 30 booths with 90 developers, from the Android-based Android robot to the Android Developers' Club, which presented more than 100 Android applications by its members. See for videos of all sessions.

Oct 29, Sao Paulo: Mario Queiroz, VP Product Management, opened the day for Brazil’s 4th Google Developer Day with the announcement that Jambool will now provide payments support for Orkut, and we announced that Brazil is our second largest country in number of Chrome users. As Voice Search and Navigation for Android launched just the day before, we demoed live during the keynote, including a daring and successful voice search query, “number of people who attended the Bon Jovi concert”. We hosted 1300 developers throughout the day to packed sessions. See keynote video, photos and presentation slides (linked from each session page).

Nov 9, Munich: For the first time, we organized Google Developer Day in partnership with the Technical University of Munich, who co-hosted their own sessions and ran an Innovation Sandbox throughout the day. 1200 developers were in attendance, and we met with one of our most active GTUG communities, with 11 locations in Germany and 21 events in the last six months. We treated ourselves to beer & pretzels and watched the Blinkendroid team put together 72 Android devices, the highest number yet. See our highlights video and photos.

Nov 12, Moscow: This year we reduced the number of simultaneous tracks from 6 to 4 to help developers choose between sessions. After a great keynote, 1300+ developers from over 85 cities attended 24 different sessions, 2 project showcase sessions, and participated in countless discussions, including one with a Duma member and Skolkovo advisor. The local GTUG also hosted two hackathons - one focused on Android & Chrome/HTML5, and one focused on Google Maps. Here are the highlights video, photos and PDFs (linked from each session page).

Nov 16, Prague: Bringing almost 1000 Czech & Slovak developers together, the third GDD in Prague was the biggest yet. We loved how much local stuff was happening there! The local Google User Group hosted a mini-barcamp onsite and launched an internet TV station ( during the event, developers competed in a QR hunting game, and much more. Almost every link regarding the event (including the YouTube playlist) was compiled by the community into this freely editable Google Doc.

While we have great fun at these events, and love interacting with local developers, we’re usually only in town once or twice a year. However, there are vibrant developer communities all over the globe that meet regularly to discuss and hack on all the technologies showcased at Developer Day. To get involved, find a local group near you, or start up your own!

Finally, based on the interest we saw from previous developer events, we created some digital “souvenirs” for you in the form of PC & Mac wallpapers and an Android live wallpaper.