Friday 29 July 2011
Facebook StumbleUpon Twitter Google+ Pin It

Fridaygram


By Scott Knaster, Google Code Blog Editor

Walking to my office today, I saw a bunch of kids wearing "GSOC" t-shirts. That reminded me that the 7th annual Google Summer of Code is going on now. Google Summer of Code helps students spend part of their vacation writing code for open source projects, in return for a ton of experience and a nice stipend. Plus, GSOC participants can use the work they do to get college credit. Students, it’s something to think about for next year. Keep an eye on the site as GSOC 2011 progresses and, eventually, next year’s info is announced.

While students ponder the limits of their summer, physicists at the University of Maryland recently ran a simulation of one possible scenario for the end of time, also called the Big Crunch. In this scenario, the universe collapses on itself and becomes a black hole. Here’s a spoiler: one scientist said, “the end of time looks very hot”. (See this Wikipedia page for other big ideas about what might happen when time ends, and there are these possibilities from Douglas Adams and Neil Gaiman.)

And finally, because Fridaygram loves wacky nature stories, here’s one about a rain forest vine with a dish-shaped structure that produces an “echo beacon”, reflecting back sonic calls from bats to help them find the plant. The bats get nectar and the vines get pollinated. Awesome.

What do black holes and chirpy vines have to do with writing code? Not much. Fridaygram posts are just for fun. They're designed for your Friday afternoon and weekend enjoyment. Each Fridaygram item must pass only one test: it has to be interesting to us nerds.

Page Speed Service: Web performance, delivered.


By Ram Ramani, Engineering Manager

Update 7/29/11: We were notified of a bug in the measurement tool that sometimes causes incorrect measurements. If your results indicated a slowdown on your pages, please run the tests again, and make sure you specify a fully qualified domain such as www.example.com. We apologize for any inconvenience and confusion this may have caused.

Details:
Measurement tests run for bare domains (such as example.com, without the prefix www) previously indicated that pages were loading more slowly, rather than speeding up, when using Page Speed Service. The test results page now prominently notifies you of this when you visit this page, if this error applies to you. Please check your old measurement results page if this bug applies to you. Running the tests again with the fully qualified domain such as www.example.com usually fixes the issue and gives you the correct measurement.


Two years ago we released the Page Speed browser extension and earlier this year the Page Speed Online API to provide developers with specific suggestions to make their web pages faster. Last year we released mod_pagespeed, an Apache module, to automatically rewrite web pages. To further simplify the life of webmasters and to avoid the hassles of installation, today we are releasing the latest addition to the Page Speed family: Page Speed Service.

Page Speed Service is an online service that automatically speeds up loading of your web pages. To use the service, you need to sign up and point your site’s DNS entry to Google. Page Speed Service fetches content from your servers, rewrites your pages by applying web performance best practices, and serves them to end users via Google's servers across the globe. Your users will continue to access your site just as they did before, only with faster load times. Now you don’t have to worry about concatenating CSS, compressing images, caching, gzipping resources or other web performance best practices.

In our testing we have seen speed improvements of 25% to 60% on several sites. But we know you care most about the numbers for your site, so check out how much Page Speed Service can speed up your site. If you’re encouraged by the results, please sign up. If not, be sure to check back later. We are diligently working on adding more improvements to the service.

At this time, Page Speed Service is being offered to a limited set of webmasters free of charge. Pricing will be competitive and details will be made available later. You can request access to the service by filling out this web form.

Ram Ramani is an Engineering Manager on the Make the Web Faster Team in Bangalore, India. He is a believer in "Faster is better".

Posted by Scott Knaster, Editor

Thursday 28 July 2011
Facebook StumbleUpon Twitter Google+ Pin It

Learn about Google Apps Script in NYC

By Saurabh Gupta, Developer Relations

Cross-posted from the Google Enterprise Blog

Google Apps Script lets you automate and extend Google Apps. Using Apps Script, businesses can build efficient solutions to meet their requirements such as:
Join us on August 18th for the Google Apps Script Hackathon. If your organization uses Google Apps and you want to explore how you can use Google Apps Script to create custom functions or automate repetitive tasks, then this hackathon is a perfect opportunity to learn. Google engineers will be available to answer your questions and help you learn Apps Script throughout the day’s agenda. We’ll provide food, refreshments, and experts to help you learn to use Apps Script and write your own scripts. Just bring your laptop, ideas, and enthusiasm to complete the mix. We hope to see you there!

What: Apps Script Hackathon
Date: Thursday, August 18th, 2011
Time: 2pm to 7pm EST
Where: 76 9th Avenue, New York, NY
Register: Space is limited, register here.

For those who cannot attend in person, we invite you to try out a number of self-paced tutorials on the Apps Script documentation site.

Posted by Scott Knaster, Editor

Wednesday 27 July 2011
Facebook StumbleUpon Twitter Google+ Pin It

Countdown to the Open Call HTML5 Challenge


By Phoebe Peronto, Developer Marketing Team

Attention, HTML5 developers! Open Call for Google Developer Day 2011 starts Tuesday, August 2 at 9AM PDT. Open Call is an opportunity to showcase your best work alongside developer peers from 8 GDD countries worldwide. Visit us online for a chance to showcase your work and earn a ticket to GDD 2011.

The HTML5 challenge launches Tuesday, August 2 at 9AM PDT with 1 week to complete. Submissions are due by Tuesday, August 9 at 5PM PDT and will be judged by regional panels of the most qualified developers worldwide. Judges will select the top 10 HTML5 submissions from each country to be featured online for Google Developer Day.

Just a friendly reminder that Open Call is an optional supplement to your GDD application, though you might get extra credit for participating.

Want more GDD news? Check out our website as we bring you the latest on locations, sessions, and agendas. Looking forward to seeing you at #gdd11!

Google Developer Day will come to eight cities around the world in 2011, bringing you the future in web and mobile technologies. These one-day events feature deep technical content on Google platforms and products from the teams that work on them. Join us for the latest developments in Android, Chrome, HTML5, App Engine and more in a city near you.

Phoebe Peronto is a Developer Marketing Intern working to coordinate the launch of Google Developer Days 2011. She hails from UC Berkeley as a rising senior studying Political Science and Business, and is excited to work with the Google team for summer 2011.

Posted by Scott Knaster, Editor

OK Go play with HTML5


By Keiko Hirayama, Google Tokyo


All is Not Lost is a new HTML5 music experience based on a three-way collaboration between the band OK Go, dance troupe and choreographers Pilobolus, and Google. In this music experience, you can embed your message in a music video, and have the band dance it out. The band and Pilobolous dancers are filmed through a clear floor, making increasingly complex shapes and eventually words – and messages you can write yourself.



This project principally employs HTML5’s <audio> and <video> tags, along with an event listener to ensure the correct sync of audio and visual components. A challenge, however, was balancing and syncing load, with the potential of too high a load and thus corresponding delays. As a result, we store movies with the <video> tag as a buffer, using the image object in Canvas 2D. The canvas image object allows us to draw the videos in perfect timing with the music and create a smooth experience throughout.



All is Not Lost is best experienced in Chrome -- check it out at allisnotlo.st.

Keiko Hirayama is a Senior Marketing Manager on the Google Chrome team in Tokyo. When she is not at work, she enjoys playing with her 2-year-old boy (but sometimes wishes she has her own time!)

Posted by Scott Knaster, Editor

Friday 22 July 2011
Facebook StumbleUpon Twitter Google+ Pin It

Fridaygram


By Scott Knaster, Google Code Blog Editor

History is more fun when you can see it in pictures. Google and non-profit social company We Are What We Do have collaborated to create Historypin, a site that mashes up old photos with modern Street View images. So you can see old Times Square on top of today’s, or a photo of Abraham Lincoln’s inauguration pinned to a current view of the U. S. Capitol.


Historypin is made up of user-contributed photos. So go there, contribute some, and make a little history of your own.

There’s really no way to introduce this one without just stating it: hey, how about a photo of a tool-using fish? It’s a tuskfish cracking open its food by bashing it against a rock, anvil-style. This might make you think twice the next time you eat crab.

Finally, as the U.S. Space Shuttle program comes to an end, take a look at this spectacular photograph of Shuttle Atlantis re-entering the atmosphere as seen from the International Space Station. Nice view.

Updated 4:24 PM PDT: corrected location of photo from White House to U. S. Capitol.

Fridaygram posts are just for fun. They're designed for your Friday afternoon and weekend enjoyment. Each Fridaygram item must pass only one test: it has to be interesting to us nerds.

Wednesday 20 July 2011
Facebook StumbleUpon Twitter Google+ Pin It

Get picky with the Google Picker API


By Chris Thrasher, Software Engineer, Google Picker API

Users have content across many Google properties: YouTube, Picasa Web Albums, Google Docs, and more. Now we have a common interface for your users to select Google content. The Google Picker API provides a familiar-looking dialog box that’s easy for you to integrate into your apps. Your users can quickly browse their own content without ever leaving your page or app.

Perhaps you’re developing a blogging platform and you want your users to be able to embed their Picasa Web Albums photos. You can even let your users pick from public content, as found from image and video search.

Once the Picker is invoked by your user, a modal dialog appears on the page. If the user is already signed in to their Google account, they’ll see their content in just a second or two. If not, the user will be asked to sign in.


Integrating with the Google Picker API is straightforward. First, you specify which Google services should show up as options in the Picker navigation. For example, if you’re a photo site, you may choose to show Picasa and Google Image Search, but hide Google Docs and other services. Then, you simply specify a callback function that will be called as soon as the user’s data is returned to your application.
var picker = new google.picker.PickerBuilder().
addView(google.picker.ViewId.IMAGE_SEARCH).
setCallback(pickerCallback).
build();
picker.setVisible(true);
You can find more integration details and examples in the documentation. We hope you enjoy this new API!

Chris Thrasher is a Software Engineer at Google Kirkland and is part of the Google+ team. When he's not writing code, Chris is usually watching old movies. Or quoting from them.

Posted by Scott Knaster, Editor

Tuesday 19 July 2011
Facebook StumbleUpon Twitter Google+ Pin It

Make money with In-App Payments for the Web

By Amit Fulay, Product Manager

Cross-posted from the Google Commerce Blog.

At the Google I/O conference back in May, Vikas Gupta introduced a preview of the Google In-App Payments API during the Chrome keynote speech. Google In-App Payments purchases were demonstrated as a simple click right within a web app, so buyers could enjoy a developer’s content, without interruption.

Today, we’re making Google In-App Payments available for all web application developers to integrate with their web apps wherever they’re hosted, including the Chrome Web Store. Integration is simple with just a few lines of code. And pricing is set at just 5-percent.



In-App Payments is initially available for developers with a United States bank account and for buyers in more than 140 countries. We look forward to expanding to additional developer locations as quickly as possible.

Posted by Scott Knaster, Editor

Lightning fast! Performance tips for using Google APIs

Sven
Anton
By Anton Lopyrev and Sven Mawson, Google Developer Team

Over a year ago, we launched support for partial response and partial update for a number of APIs based on the Google Data Protocol. That launch was a part of our continuous effort to make the web faster. It was well received by our developer community as it significantly reduced network, memory, and CPU resources needed to work with certain Google APIs.

Today, we are adding support for partial response and an improved version of partial update, called patch, to a number of newer APIs such as Buzz, URL Shortener, Tasks and many others. In fact, all APIs available in the Google APIs Discovery Service and the APIs Explorer now support this feature.

To learn how to use partial response and partial update with a Google API, you can see the “Performance Tips” page in the documentation of the Tasks and Buzz APIs. We’ll roll out this page for all of the supported APIs over the next few months, but you can already use the algorithms with all of them today.

The partial response algorithm is identical to what was provided by the Google Data Protocol. By supplying a fields query parameter to any API call that returns data, you can request specific fields. Here is an example request that returns only titles and timestamps of a user’s public Buzz activities:
https://www.googleapis.com/buzz/v1/activities/antonlopyrev@gmail.com/@public?alt=json&pp=1&fields=items(title,updated)
Given that the full response is around 53KB and the partial response is only 3KB, the data sent to the client is reduced by almost 95%!

While the partial response algorithm is unchanged, the partial update algorithm has changed significantly compared to what was provided by Google Data Protocol. We’ve received feedback that the old algorithm was too complicated and hard to use, which prompted us to design something much simpler. The basics remain the same: you can use the HTTP PATCH verb in supported API methods to send partial updates to Google servers. However, the mechanics are different. Adding and modifying data uses the same 'merge' semantics as before. But deleting is simplified; just set a field to 'null'. Of course, the devil is in the details, so please check out the documentation for the nitty gritty.

You can try out both partial response and patch algorithms in the APIs Explorer. For partial responses, the fields parameter is available for most methods. In addition, the partial update methods are denoted by .patch in the method name. You can try both the fields parameter and the patch method on the “tasklist” resource in the APIs explorer.

If you are using Java or Python client libraries to access Google APIs, you can already ask for partial responses and send patch requests in the code. We are adding partial support to the rest of the Google APIs client libraries over time.

As our APIs get more and more use from devices with limited resources, taking advantage of performance optimizations such as partial response and patch is crucial for making your applications faster and more efficient. By using these features in your applications, you are joining us in our effort to make the web faster. For this, we thank you! Let us know of any issues and feature requests by posting to the developer forums of your favorite APIs or by leaving a comment on this post. Happy hacking!

Anton Lopyrev is an Associate Product Manager for Google APIs Infrastructure. He is a computer graphics enthusiast who is also passionate about product design.

Sven Mawson is a Software Engineer working on Google’s API Infrastructure. He believes well-designed, beautiful APIs need not sacrifice performance.


Posted by Scott Knaster, Editor

Friday 15 July 2011
Facebook StumbleUpon Twitter Google+ Pin It

Fridaygram


By Scott Knaster, Google Code Blog Editor

This week was the big finish to the first global Google Science Fair. Earlier this year, we invited students aged 13 to 18 to submit science projects to this new competition. More than 10,000 young people from more than 90 countries sent in their entries. Two months ago, 15 projects were chosen as finalists. And last week, the members of those teams were flown to Google headquarters in Mountain View, California for the final judging. The winners:
  • Lauren Hodge (13-14 age group) for a study about reducing carcinogens in grilled chicken.
  • Naomi Shah (15-16) for her project relating better indoor air quality to a reduced need for asthma medication.
  • Shree Bose (17-18), who found a way to improve ovarian cancer treatment for certain patients.
Congratulations to the winners and to everyone who participated!

While you’re thinking about the great accomplishments of people so young, here’s another fact to make you ponder time in a different way: Neptune has just completed its first full orbit since its discovery in 1846, or just about one Neptune-year ago (that’s a little more than 164 Earth-years). Happy birthday (or something), Neptune.

Finally, I’m not sure if Neptune has any creatures that can match this remarkable rainbow toad. This animal was last seen in 1924 (right around half a Neptune-year ago) and had never been depicted in color before. This weekend, consider taking some time to go outside and see what you can discover.

Fridaygram posts are lighter than our usual fare. They're designed for your Friday afternoon and weekend enjoyment. Each Fridaygram item must pass only one test: it has to be interesting to us nerds.

Mark your calendars: HTML5 hackathons


By Mihai Ionescu, Developer Advocate

Cross-posted with the Google Commerce Blog

Over the past year, the web application ecosystem has been growing at an accelerating pace. Faster browsers and powerful web platforms like HTML5 have enabled developers to switch from native code to web based apps.

That’s why the Google Chrome and Commerce teams are holding several HTML5 Web App hackathons around the United States in early August. This is a great opportunity for developers to socialize, network, and play with the latest web APIs. During the hackathons, we'll cover the end-to-end process of developing an HTML5 application, publicizing with Chrome Web Store, and finally monetizing with In-App Payments.

In true hackathon style, participants will have the opportunity to create teams and work on a project together. At the end of the day, participants will present what they have created, and vote on the best apps or games. And of course we’ll have some awesome prizes for the winners.

The event is free of charge but space is limited. For more information and to register, please visit the location-specific links below:

August 1, 2011: New York
August 3, 2011: Chicago
August 8, 2011: Seattle
August 11, 2011: Mountain View

We’re looking forward to seeing the applications and games you build!

Mihai Ionescu is a Developer Advocate at Google helping developers build compelling applications using open web technologies. In his free time, when not skiing in the Sierras, Mihai enjoys traveling and exploring the great outdoors with his family.

Posted by Scott Knaster, Editor

Monday 11 July 2011
Facebook StumbleUpon Twitter Google+ Pin It

It's coming: Open Call for Google Developer Day


By Phoebe Peronto, Developer Marketing Team

Registration for our first set of Google Developer Day (GDD) events in Latin America will begin in two weeks, with the remaining six events following shortly thereafter. As in years past, the application process requires each developer to complete a short questionnaire and optional Developer Quiz.

Numbers and statistics aside, we wanted to give you a way to really show us what you’re made of. So for 2011, we’re inviting our most passionate developers to participate in Open Call for Google Developer Day, for a chance to showcase your work alongside your peers from eight GDD countries around the world.

This year’s Open Call challenges will focus on the Android ADK and HTML5 platforms, while giving you a chance to show us why your GDD country rocks. No matter which challenge you choose, your submission must reflect the regional culture of the GDD that you will be attending, be this through music, creative imagery, lighting or colors--the opportunities are endless!

A panel of judges in each country will select 10 submissions from each of the challenges to be featured online and in-person at Google Developer Day. We will also take your submission into consideration when reviewing your GDD application. Remember that Open Call is an optional supplement to your GDD application, though you might get extra credit for participating. In many cases, this will also mean that you secure your spot at GDD before we open registration to the public.

The Android ADK Open Call will open on July 18 with the HTML5 Open Call following on August 1. In the meantime, start by brushing up on your skills and familiarizing yourself with the guidelines for Open Call at our nifty website.

Want more GDD news? Check back on this blog and stay tuned as we work on updating our GDD website to bring you the latest on locations, sessions and agenda. We're looking forward to seeing you at #gdd11!

(Updated July 12: corrected hashtag.)

Google Developer Day will come to eight cities around the world in 2011, bringing you the future in web and mobile technologies. These one-day events feature deep technical content on Google platforms and products from the teams that work on them. Join us for the latest developments in Android, Chrome, HTML5, App Engine and more in a city near you.

Phoebe Peronto is a Developer Marketing Intern working to coordinate the launch of Google Developer Days 2011. She hails from UC Berkeley as a rising senior studying Political Science and Business, and is excited to work with the Google team for summer 2011.

Posted by Scott Knaster, Editor


Wednesday 6 July 2011
Facebook StumbleUpon Twitter Google+ Pin It

Taking command of issue triage


By Jason Robbins, Google Project Hosting Team

Faster is better, especially for tedious tasks. Even though software development can be creative and exciting, it certainly has its share of tedious tasks. For example, that open source application library you developed that got users so excited? Well, now it is generating dozens of defect reports and enhancement requests for you and your teammates to sift through. Is your team growing? Are you planning a major release? Is it time to finally clean up obsolete issues? It’s awesome to be organized, but keeping up with all your issues can become tedious: click, click, click, click, click.

Today we’re launching a new issue tracking feature that allows quick edits in the issue preview window. It’s a happy medium between viewing one issue in detail and doing a bulk edit. Unlike the familiar forms-based UX that we normally use, quick edits are more command-like, keyboard-oriented, and emphasize the ability to repeat recent commands.


Previewing issues works about 40% faster than our normal issue detail page, so you can skim fast enough to achieve oneness with your backlog, then punch in some quick edits to show it who’s boss. When you’re in the zone, that click, click, click is replaced with something more like h, e, j, j, e, j, j, 2, e, j, e, j, j, j, 1, e, done! Here’s your cheat sheet:

Keystroke Action
hToggle the issue preview window.
j or kSelect the next or previous issue.
f, n, p, lScroll to the first, next, previous, or last comment in an issue.
1, 2, 3, 4, 5Select a recent command. If you modify the command or comment, it will be stored in that numbered slot for later reuse.
mFocus on the command text field.
eExecute the command and show the issue comment that it generated.

Not ready to go all-keyboard? Just turn on the user preference for issue preview when mousing. Then, you can do your most common and repetitive issue edits by just hovering over an ID number and clicking the Execute button.


Jason Robbins founded the ArgoUML and ReadySET open source projects as a result of his research into the cognitive challenges of software engineering tool UIs. He’s worked on Google Project Hosting since 2005. Over the years he’s been a contestant, coach, and judge for the ACM International Collegiate Programming Contest.

Posted by Scott Knaster, Editor

Friday 1 July 2011
Facebook StumbleUpon Twitter Google+ Pin It

Fridaygram


By Scott Knaster, Google Code Blog Editor

The idea of Google Web Fonts is one of those things that makes you say “of course!” once you hear about it. Google Web Fonts are stored remotely and loaded via HTTP for use on your web pages, so you don’t have to wonder about which fonts are installed on users’ machines. Using a web font is easy: add a <link rel="stylesheet"> tag to specify the font you want, then add styles to your CSS that use the font.

Earlier this week, the Web Fonts team launched an updated site with a three-step process for browsing and choosing fonts. It’s pretty simple:
  • In the Choose step, check out the available fonts and choose from among them by looking at whatever text you want, in any size. You can search for fonts by name, filter by category or thickness, or look for fonts that support specific scripts.
  • After you pick one or more fonts, use the Review step. This step includes a Test Drive feature to see your chosen fonts in a sample layout.
  • Finally, you’ll see a nice speedometer that shows you an estimate of loading time for your selected fonts, and you’ll also get the necessary code for adding the fonts to your pages.
From beautiful fonts to beautiful art: this week we announced that Google Goggles now knows all about the permanent collection of the J. Paul Getty Museum in Los Angeles. When you use Goggles on your phone to view a painting, you’ll get details and audio commentary about the work you’re looking at.

Finally, here’s a tale of danger in space: the crew of the International Space Station temporarily evacuated into docked capsules this week when a piece of space junk got a little too close to the station. That’s a story you don’t hear every day; in fact, the last time it happened was in 2009. Stay safe up there!

Fridaygram posts are lighter than our usual fare. They're designed for your Friday afternoon and weekend enjoyment. Each Fridaygram item must pass only one test: it has to be interesting to us nerds.