Friday, August 13, 2010

[Gd] HTML5Rocks v2 - More Guides, New Studio

| More

Chromium Blog: HTML5Rocks v2 - More Guides, New Studio

We think HTML5 will make your work more engaging and create a faster, more responsive experience for your users, so we're happy to add today a slew of new content to

If you want to not only get up to speed, but understand the browser differences and techniques for a robust implementation, please take a look through the new guides for implementing HTML5 video, understanding "offline," auditing your webapp with the Chrome developer tools, and using web workers and @font-face. You can now comment about your experiences with these features and stay up to date on new content via our new RSS feed.

We're also sharing the new HTML5 Studio, a collection of samples of these features in use, with code you can learn from and hack on.

If you'd like to contribute code, guides, or samples, please get in touch on the bug tracker or on @ChromiumDev. We'd love to incorporate your work.

Posted by Paul Irish, Google Chrome Developer Relations

[Gd] HTML5: Still Rocking!

| More

Google Code Blog: HTML5: Still Rocking!

As announced on the blog, we’ve just pushed a bunch of new content to our developer site, which launched earlier this summer.

Anyone that’s following HTML5 knows how fast things are moving! To keep you informed with all of the amazing features landing in today’s browsers, we’ve added five new articles, a heap of new resources, and a much needed RSS feed for staying tuned in. We're also revealing a new component of the site, the HTML5 Studio. It’s a collection of standalone demos that highlight hot, new HTML5 features working together.

If you'd like to contribute code, guides, or samples, we’re working on a third-party contributors guide. Please stay tuned! In the meantime, you can get in touch with us on the bug tracker or via @ChromiumDev.

By Eric Bidelman, Google Chrome Developer Relations

[Gd] Dev Channel Update

| More

Google Chrome Releases: Dev Channel Update

The Dev channel has been updated to 6.0.490.1 for Windows, Mac, Linux, and Chrome Frame platforms

  • Late binding enabled for SSL sockets: High priority SSL requests are now always sent to the server first.
  • Fixed focus problems with restoring from minimize (Issue 48917)
  • Fixed Cannot add an address properly in the "AutoFill options" dialog box (Issue 50047)
  • Several fixes and checks relating to syncing extensions (Issue 46516, Issue 49346, Issue 46516, Issue 49346, Issue 50567)
  • Click-to-play is now behind the --enable-click-to-play command line switch.
  • Fixed several issues with click-to-play (Issue 49686, Issue 49836)
  • Various tweaks and fixes to the Wrench menu (Issue 49356, Issue 49996, Issue 49716, Issue 49448)
  • Fix a bug with the Custom Homepages preference (Issue 49320)
  • Fixed broken thumbnail images in new tab window (Issue 48066)
Known Issues
  • Incognito downloads are not showing up in the incognito downloads page: Issue 51955
More details about additional changes are available in the 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

Karen Grunberg
Google Chrome

Thursday, August 12, 2010

[Gd] New Google Buzz API features, including a garden hose

| More

Google Code Blog: New Google Buzz API features, including a garden hose

It’s been less than a month since our last launch, but we couldn’t sit still so today we’re announcing three new features. We think these will help developers create deeper, more engaging user experiences.

First, we wanted to make the firehose experience available to those who didn’t have the required server resources to support that amount of traffic. So we built a “garden hose” that’s a random sampling of public Google Buzz posts with a query rate that’ll come under the free quota limit for Google App Engine. As such, many more developers will be able to easily get their hands dirty on this great source of real-time data.

Second, we’ve created an API to return the people associated with a particular activity query. That is, you can now search for people who have recently created a public post that includes an arbitrary string or related geo-location. For example, if you wanted to see the people associated with Red Sox near Fenway Park, you could use this URL for the JSON response.

Third, we now enable users to discover and explore content related to a particular post. With this new API, developers can now access and deliver Google search results related to the topic of that post. For example, given this post about Coworking Day, you could add ‘/@related’ to the end of the self link to get this JSON response of related links. Cool, huh?

As always, these features are documented in more detail on the Google Buzz API documentation site. Please swing by the the Developer Forum and let us know what you think!

By Eric Steinlauf, Google Buzz Team

Photo credit: Nandhp, used under the Creative Commons Attribution-Share Alike 3.0 Unported license.

[Gd] Powering Chrome to Phone with Android Cloud to Device Messaging

| More

Android Developers Blog: Powering Chrome to Phone with Android Cloud to Device Messaging

[This post is by Dave Burke, who's an Engineering Manager 80% of the time. — Tim Bray]

Android Cloud to Device Messaging (C2DM) was launched recently as part of Android 2.2. C2DM enables third-party developers to push lightweight data messages to the phone. C2DM created a nice opportunity for us to pull together different Google developer tools to create a simple but useful application to enable users to push links and other information from their desktop / laptop to their phone. The result was Chrome to Phone - a 20-percent time project at Google.

Chrome to Phone comprises a Chrome Extension, an Android Application, and a Google AppEngine server. All of the code is open sourced and serves as a nice example of how to use C2DM.

The message flow in Chrome to Phone is fairly typical of a push service:

  1. The Android Application registers with the C2DM service and gets a device registration ID for the user. It sends this registration ID along with the user's account name to the AppEngine server.

  2. The AppEngine server authenticates the user account and stores the mapping from account name to device registration ID.

  3. The Chrome Extension accesses the URL and page title for the current tab, and POSTs it to the AppEngine server.

  4. The AppEngine server authenticates the user and looks up the corresponding device registration ID for the user account name. It then HTTP POSTs the URL and title to Google's C2DM servers, which subsequently route the message to the device, resulting in an Intent broadcast.

  5. The Android application is woken by its Intent receiver. The Android application then routes the URL to the appropriate application via a new Intent (e.g. browser, dialer, or Google Maps).

An interesting design choice in this application was to send the payload (URL and title) as part of the push message. A hash of the URL is used as a collapse_key to prevent multiple button presses resulting in duplicate intents. In principle the whole URL could have been used, but the hash is shorter and avoids unnecessarily exposing payload data. An alternative approach (and indeed the preferred one for larger payloads) is to use the push message service as a tickle to wake up the application, which would subsequently fetch the payload out-of-band, e.g. over HTTP.

The code for Chrome to Phone is online. Both the AppEngine and Android Application include a reusable package called that handles the lower-level C2DM interactions (e.g. configuration, task queues for resilience, etc).

Chrome to Phone is useful, but maybe it’s most interesting as an example of how to use Android C2DM.


[Gd] Beta Channel Update

| More

Google Chrome Releases: Beta Channel Update

Google Chrome 6.0.472.33 has been released to the Beta Channel for all platforms.
Updates from the previous beta include:
  • Updated UI
  • Form Autofill
  • Syncing of extensions and Autofill data
  • Increased speed and stability
These changes and more in Chrome 6 Beta are explained in more detail on the Google Chrome Blog.

To switch to the Beta channel, you can download Google Chrome
If you find issues, please let us know:

Jason Kersey
Google Chrome

Wednesday, August 11, 2010

[Gd] Going Deeper - More Integration Examples Available in our Developer Docs

| More

Google Apps Developer Blog: Going Deeper - More Integration Examples Available in our Developer Docs

Users love Single Sign-On, but we’ve found the depth and quality of a Marketplace app's integration with Google Apps is a key factor in both the user experience and vendor success in the Marketplace. Deep integration makes users happy, because it helps them avoid entering duplicate data and makes useful information accessible from their day-to-day communication and collaboration tools.

To help you discover ways to integrate your own applications with Google Apps, we added a new section to our developer docs showcasing examples from popular applications in the marketplace. Some examples, like BatchBook’s streamlined sign-up process for users, show simple ways applications can help users get started quicker.

Apps can help users be more productive by displaying information and allowing them to take action right within an e-mail message. Harvest, a time tracking application, allows users to complete their timesheets in gmail when they receive their weekly reminders.

You’ll also find examples for collaboration and document sharing, such as Manymoon’s seamless integration with Google Docs. This makes it easy for users to share information with teams or attach relevant docs to tasks.

You can read more about these and other integrations, or try out the apps yourself by going to the Google Apps Marketplace. Of course these are just a few of many ways to make apps easier for users, and we look forward to seeing even more creative ideas from developers.

Posted by Steven Bazyl, Google Apps Marketplace Team

P.S. If you want to learn about the APIs which enable these deep integrations, meet with fellow developers and ask questions of Googlers, come to our Google Apps and Apps Marketplace Hackathon at the Google Mountain View campus on August 24th!

Tuesday, August 10, 2010

[Gd] Stable Channel Update

| More

Google Chrome Releases: Stable Channel Update

Google Chrome 5.0.375.126 has been released to the Stable channel on Linux, Mac, and Windows. This version contains an updated version of the Flash plugin.

If you find issues, please let us know:

Jason Kersey
Google Chrome

[Gd] [Libraries][Update] jQueryUI 1.8.4

| More

Google AJAX API Alerts: [Libraries][Update] jQueryUI 1.8.4

jQueryUI was updated to 1.8.4.

Note: 1.8.3 is not being served, and the alias will redirect to 1.8.4.

[Gd] Practical Report Generation on App Engine

| More

Google App Engine Blog: Practical Report Generation on App Engine

We recently announced the Mapper API, a first step in a broader effort to provide full MapReduce capabilities on App Engine. While we still have some work ahead of us, there’s already a lot that can be done with today’s Mapper API. One area of particular interest is report generation.

Most applications create and maintain large numbers of detail records: entities in data models, transaction history or event logs. In order to glean useful information out of these vast data sets, your application has to iterate over your entities, summarize and breakdown the results. That’s where the Mapper API comes in.

The Mapper API uses the Task Queue to enable your application to rapidly iterate over its data sets, whether small or very, very large. The API takes care of the tedious bookkeeping involved in efficiently scheduling and keeping track of all those tasks. The Task Queue, in turn, automatically ‘pushes’ the work to your app.

Christopher O’Donnell (@markitecht), a technology product designer and developer from Cambridge, Massachusetts, was kind enough to share with us some of the motivations and implementation details behind his own project. In a new guest article, Modern Funnel Analytics Using Mapper, Christopher makes extensive use of the Mapper API to illustrate the process of generating rollup reports. With his approach, he's able to provide both summarized results and drill down capabilities.

If you like Christopher’s article, you should also checkout out the many other interesting articles on the Google App Engine home page. And, if you have an interesting App Engine article or story you'd like to share, let us know. We'd love to hear about it.

Posted by Fred Sauer, App Engine Team


[Gd] Google Apps and Apps Marketplace Hackathon

| More

Google Apps Developer Blog: Google Apps and Apps Marketplace Hackathon

What: Google will be holding a hackathon to help you get started integrating with Google Apps and the Google Apps Marketplace! We will be doing short introductions and presentations throughout the day on many of the Apps APIs. There will be plenty of time to try out APIs, ask questions, and get hands-on help from members of the Google team and other local developers. Bring your laptops and come hang out at Google. Food will be provided.

Who: Software developers looking to learn about integrating with Google Apps. Whether you’re a customer integrating with your existing systems, a VAR/SI helping customers integrate or a SaaS software vendor looking to reach the 2 million businesses using Google Apps by selling your integrated app on the Google Apps Marketplace, this event is for you! Of course, if you’re a developer and have already integrated with Google Apps and are just looking to learn more about the latest APIs or meet the Google team and fellow developers, you’re welcome as well!

When: Tuesday, August 24th from 10AM to 5PM.

Where: Google Campus: 1600 Amphitheatre Pkwy, Mountain View, CA 94043. Room to be announced to confirmed attendees.

Sign up here!

If you’re primarily interested in Google Apps Script, we’re having a separate hackathon on September 23rd just for Apps Script. Please see this site for more information.