Friday, October 19, 2007

[Gd] Blogger GData JavaScript client library released with offline Blogger client example

| More

Google Code Blog: Blogger GData JavaScript client library released with offline Blogger client example

Near the end of September we announced the release of a new GData JavaScript client library that allowed you to do full read-write access to Google Calendar from JavaScript.

We now have another service for you to have at. A GData JavaScript client for Blogger has been released, which means that you can now do richer mashups with blog content.

We sat down with Ryan Boyd and Pamela Fox to discuss the release and delved into some of the sample applications that have already been written. They include:

  • A tool that takes your upcoming Calendar entries and creates blog posts of the events
  • A code snippet that you can add to your website that enables visitors to your site to click on a link to comment on your content on their own blog
  • Code that allows you to search blogs on various topics, find entries, and again allow users to comment on their own blog

Pamela also worked on Blog.gears, a Blogger client that works offline using Google Gears. She took some time to take a peak at the architecture behind the application, and then walked us through the application itself.

If you have ever wished that you could do writable Blogger mashups without the need of proxy code on your own server, take a peak at the new client library, and listen in:


[Gd] An interview with Paul McDonald and Rich Burdon of the Google Mashup Editor Team

| More

Google Code Blog: An interview with Paul McDonald and Rich Burdon of the Google Mashup Editor Team

We had the pleasure of sitting down with two of the Google Mashup Editor team to discuss the product and how developers can use it to build mashups in short order.

We start out by discussing what the product actually is. The term "mashup" is a very overloaded term out there, so a mashup editor could do a number of things. What are the pieces? How does it compare to other tools like Yahoo! Pipes (complementary!)? What are the user and global feeds?

We then delve into practices for building your mashups, and discuss good examples that are out there. We finish up discussing areas that the team would like to delve into as the product evolves.

So, take some time to download the episode directly, or subscribe to the show (click here for iTunes one-click subscribe).

Thanks to Paul and Rich for taking the time to chat with us.


[Gd] Livin' in a Mario World

| More

Google Code Blog: Livin' in a Mario World

I think we all remember the 8-bit awesome that was classic Super Mario Brothers. Most of us in Developer Ops have spent many hours immersed in the pixelated world of question marks, mushrooms, coins, and Koopas. So, when the cube decorating contest (the theme was 'Games') was announced, the course of action seemed obvious.

I recruited a few lieutenants and we had some brainstorming sessions -- complete with design docs sketched out on a whiteboard.

There would be two main areas - the classic Level 1 terrain and an underwater level. We took on this task with typical Google vigor -- 15 yards of blue cloth, 5 rolls of saran wrap, 10 pieces of posterboard, foam, lots of color printer toner, and a few afterwork hours/weekends later, here are some of the results.

They say that a good work environment increases productivity. Where better to seek inspiration than the hardest working plumber ever?

Living the dream.

Stephanie Liu
On behalf of the Developer Operations team

P.S. In case you were wondering, we came in 2nd to Analytics (their theme was Jumanji). They had a motion sensor box that triggered a tiger roar when you walked by though. It was pretty cool.


Thursday, October 18, 2007

[Gd] Tell us about the code on your site with Code Search Sitemaps

| More

Google Code Blog: Tell us about the code on your site with Code Search Sitemaps

We've heard from a number of site owners who want to make sure their public source code is searchable via Google Code Search. To help with that, we extended the Sitemap Protocol to support code files. This makes it possible to specify all the code files on your site, as well as the programming language and software license for each file.

To get started, check out the new Code Search tags for Sitemaps. For complete software packages that are archives (.tar, .tar.gz, .tar.bz2, or .zip), you can create a packagemap file to describe all the individual code files in each package. For example:

  <urlset xmlns=""


Once you've created your Sitemap, post it to a public URL on your site and then be sure to submit it through Google Webmaster Tools.

We hope this effort will help make even more code accessible and useful for developers. Let us know what you think. There's still a lot more code out there, so we'll keep working on improving Google Code Search as a tool for finding it.


[Gd] Lombardi Blueprint

| More

Featured Projects on Google Code: Lombardi Blueprint

Lombardi Screenshot
Google APIs used:
Lombardi has built a desktop-like experience for managing workflow using GWT.


Wednesday, October 17, 2007

[Gd] Joomla!Day USA East at Google

| More

Google Code Blog: Joomla!Day USA East at Google

Last weekend, Google hosted the first Joomla!Day to be held in New York City. We had around 80 users and developers join us to discuss everything from the GPL to cool new features added to the project's latest release candidate. We had a mix of scheduled talks and unconference-styl breakout sessions, plus a cool hacking lounge open throughout the day. We concluded with a review and collaborative feedback session on the Joomla! sites created by several of the conference attendees.

(Photo Credit: Ben Freda)

If you'd like to hear a bit more about the event and some of the co-conspirators who made our day a success, check out the wrap up post by Louis Landry, Joomla! Project Manager and one of their developers.

Many thanks to all of our guests for joining us and sharing their time and collective creativity!


[Gd] Updated Documentation & Examples for Mapplets

| More

Official Google Maps API Blog: Updated Documentation & Examples for Mapplets

We're happy to announce that the Google Mapplets documentation has been given a makeover similar to that which the main Google Maps API documentation underwent in September. We took this opportunity to greatly expand documentation for Mapplets and add many more relevant examples. In specific, we tried to convert all existing Maps API examples (where applicable) to their Mapplet equivalents.

As with the main Maps API, we hope the documentation makes it easier to read, understand, and find information. The original "Concepts and Examples" file has been split up into 5 sections:

So, if you haven't tried out Mapplets before, give them a shot. The ability to share your application via the main website is a terrific draw.

If you have any feedback or questions on the new documentation, please post in theMaps API forum. Happy Mappleteering!


Tuesday, October 16, 2007

[Gd] Better KML Support in Maps API (Dynamic Streaming Markers, Oh my!)

| More

Official Google Maps API Blog: Better KML Support in Maps API (Dynamic Streaming Markers, Oh my!)

Maps has just added support for view and interval based refresh in KML Network Links. This means that NetworkLinks can now provide you with dynamic, living content. You can, for instance, refresh marker locations every few seconds, or load only the geometry contained within the current viewport. This reduces load on your server and the browser, and provides for a richer experience for the user. These types of network links have worked in Google Earth for quite a while now, but this is the first time that they're working in Maps, and in the Maps API using GGeoXml.

OK, enough said, let's see some code. The following is an example of a NetworkLink that uses viewBaseRefresh:

 <?xml version="1.0" encoding="UTF-8"?> <kml xmlns="">     <NetworkLink>         <description>Panoramio photos, updates once you stop moving the map.</description>         <name>Placeopedia</name>         <Link>             <href></href>             <viewRefreshMode>onStop</viewRefreshMode>             <viewRefreshTime>1</viewRefreshTime>         </Link>     </NetworkLink> </kml> 

This network link retrieves KML through a PHP script hosted at Since this network link has a viewRefreshMode of onStop, it will automatically append a bounding box parameter to the end of the URL - BBOX=[bboxWest],[bboxSouth],[bboxEast],[bboxNorth] - with the bracketed parameters replaced by values that describes the current map viewport. So, one second after the user stops panning or zooming the map, the NetworkLink might call a URL like this:,-10,10,10 
Then the kml.php file looks at the BBOX parameter value sent in and sends back a KML document that only contains the placemarks visible inside that bounding box. The end result, when embedded on a Maps API map, looks something like this:

If you want more information on view based refresh, check out the KML Reference. If you want more information on using KML in the Google Maps API, check out the Maps API documentation.


[Gd] SVN Time-Lapse View

| More

Featured Projects on Google Code: SVN Time-Lapse View

SVN Time-Lapse View Screenshot
Subversion tool for quickly viewing all revisions of a file.


Monday, October 15, 2007

[Gd] Sigurd Magnusson of SilverStripe on open source and the Summer of Code

| More

Google Code Blog: Sigurd Magnusson of SilverStripe on open source and the Summer of Code

Sigurd Magnusson, co-founder of the SilverStripe open source CMS platform, was in town for the mentor summit that wrapped up the Summer of Code.

We used that opportunity to grab him, put him in a Tiki hut, and chat with him about SilverStripe. We discuss life as an open source company, and the experience and advice based on having ten students enrolled in the summer of code program.

Thanks to Ohloh we have statistics on the code produced by the students. Obviously, the lines of code metric is purely quantitative and doesn't show the actual work involved, but it is great to see how these students have produced:

In the chat below you will hear about some of the really cool additions that SilverStripe has in its trunk thanks to the students.