Friday, February 5, 2010

[Gd] Dev Channel Update

| More

Google Chrome Releases: Dev Channel Update

The dev channel has been updated to 4.0.317.0 for Windows

  • [r37939] (Windows/Linux) Do not select a word by right-click on an editable field in a web page (Issue: 8841)
  • [r37411] (Extensions) Adds a new experimental processes module to the extensions API. (Issue: 32303)

  • Integrated page level language translation.
  • Added new privacy management tools, under "Options->Under the Hood->Content settings..." which all for better management of images, JavaScript, plugins, and popups.

Known Issues
  • Automatic translation does not work for Chinese language sites (Issue: 43803)
  • Uninstall problem on Google Chrome and Chromium (Issue: 34652)
  • Crashes following the installing of a current Beta/Stable release after an uninstall (Issues 34794, 34688).
  • Multiple exceptions can occur, related to the Content Settings UI. (Issue: 34692)
  • When "Ask me ..." is set, cookies are still set without asking. (Issue: 34693)
  • Pop-up settings changed in bubble appear are not saved. (Issue: 34781)

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

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

[Gd] Update on Google I/O BootCamp

| More

Google Code Blog: Update on Google I/O BootCamp

Earlier this week, we announced the introduction of I/O BootCamp, a new event happening the day before Google I/O. We didn't anticipate the level of interest we've seen in just the last few days, and we're both excited and sorry to let you know that I/O BootCamp is now sold out.

However, we are accepting waitlist sign-ups. So if you'd like to attend I/O BootCamp, submit your info on the BootCamp website, and we'll email you if a spot opens up.

Please remember that I/O BootCamp is only available to those who've already registered for Google I/O. If you'd like learn more about and register for Google I/O, visit

By Joyce Sohn, Google Developer Team

[Gd] Live wallpapers

| More

Android Developers Blog: Live wallpapers

With the introduction of live wallpapers in Android 2.1, users can now enjoy richer, animated, interactive backgrounds on their home screen. A live wallpaper is very similar to a normal Android application and has access to all the facilities of the platform: SGL (2D drawing), OpenGL (3D drawing), GPS, accelerometers, network access, etc. The live wallpapers included on Nexus One demonstrate the use of some of these APIs to create fun and interesting user experiences. For instance, the Grass wallpaper uses the phone's location to compute sunrise and sunset times in order to display the appropriate sky.

Creating your own live wallpaper is easy, especially if you have had previous experience with SurfaceView or Canvas. To learn how to create a live wallpaper, you should check out the CubeLiveWallpaper sample provided with the Android 2.1 SDK; you will find it in the directory platforms/android-2.1/samples/CubeLiveWallpaper.

A live wallpaper is very similar to a regular Android service. The only difference is the addition of a new method, onCreateEngine() whose goal is to create a WallpaperService.Engine. The engine is responsible for handling the lifecycle and the drawing of a wallpaper. The system provides you with a surface on which you can draw, just like you would with a SurfaceView. Drawing a wallpaper can be very expensive so you should optimize your code as much as possible to avoid using too much CPU, not only for battery life but also to avoid slowing down the rest of the system. That is also why the most important part of the lifecycle of a wallpaper is when it becomes invisible. When invisible, for instance because the user launched an application that covers the home screen, a wallpaper must stop all activity.

The engine can also implement several methods to interact with the user or the home application. For instance, if you want your wallpaper to scroll along when the user swipes from one home screen to another, you can use onOffsetsChanged(). To react to touch events, simply implement onTouchEvent(MotionEvent). Finally, applications can send arbitrary commands to the live wallpaper. Currently, only the standard home application sends commands to the onCommand() method of the live wallpaper:

  • android.wallpaper.tap: When the user taps an empty space on the workspace. This command is interpreted by the Nexus and Water live wallpapers to make the wallpaper react to user interaction. For instance, if you tap an empty space on the Water live wallpaper, new ripples appear under your finger.
  • android.home.drop: When the user drops an icon or a widget on the workspace. This command is also interpreted by the Nexus and Water live wallpapers.

Please note that live wallpaper is an Android 2.1 feature. To ensure that only users with devices that support this feature can download your live wallpaper, remember to add the following to your manifest before releasing to Android Market:

  • <uses-sdk android:minSdkVersion="7" />, which lets Android Market and the platform know that your application is using the Android 2.1 version.
  • <uses-feature android:name="" />, which lets the Android Market and the platform know that your application is a live wallpaper.

Many great live wallpapers are already available on Android Market and we can't wait to see more!


Thursday, February 4, 2010

[Gd] Using IBM Mashup Center to build interoperable Web 2.0 applications with OpenSocial gadgets

| More

OpenSocial API Blog: Using IBM Mashup Center to build interoperable Web 2.0 applications with OpenSocial gadgets


As many of you know, IBM is committed to building and advancing open standards and platforms. Openness fosters an ecosystem of innovation, promotes customer choice, and allows enterprises to build solutions that best meet their needs. We’ve been working with the OpenSocial Foundation to help define and implement the requirements of enterprise customers.

Recently, we put together an article that can be found on DeveloperWorks that describes how you can use IBM Mashup Center to build complex Web 2.0 applications that use OpenSocial gadgets by simply dragging them from a pallet and dropping them on a page.

However, OpenSocial gadgets are not the only component model available, for example there are OpenAjax widgets as well as one that IBM uses for many of our products called iWidgets. Because of the importance of interoperability with previously deployed products that leverage different component models, this article demonstrates how you can build a mashup using different types of gadgets/widgets and still have them interoperate and communicate with each other. This interoperability is achieved by leveraging the OpenAjax Hub, a proven technology for inter-gadget communication available from the OpenAjax Alliance.

The article on DeveloperWorks represents an initial step. Members of the OpenSocial Foundation and the OpenAjax Alliance are now working together to support inter-gadget communication into the next version of OpenSocial by integrating the OpenAjax Hub. The designs and work items can be found on the OpenSocial wiki.

Feel free to jump in and help continue to evolve OpenSocial for use in enterprise environments.

Posted by Mark Weitzel, IBM SWG Strategy & Technology, Emerging Standards Team

[Gd] Dev Channel Update

| More

Google Chrome Releases: Dev Channel Update

Google Chrome 5.0.307.5 has been released to the Developer channel for Mac and Linux. We've fixed some bugs present in 5.0.307.1 in an effort to stabilize 307 for a Beta channel update.

If your favorite theme didn't look right after the last update: we fixed that in this update (Issue 33416).
Want to subscribe to the Dev channel to get the latest updates? See

Bugs fixed in this release:
  • [r37760] (Mac/Linux) Fix themes being corrupted after upgrade (bad colors, extra wrench menu, etc). (Issue 33416)
  • [r37440] (Mac) Fix a crash when the page is closed or navigates while a popup menu is open. (Issue 33250)
  • [r37445] (Mac) Bookmark manager: restore focus when people press Esc. (Issue 32734)
  • [r37522] (Mac) Bookmark manager: Fix a crash on deleting a folder (Issue 33083)
  • [r37542] (Mac) Fix a crash when plugins are scrolled or multiple plugins frames load (Issue 33467)
  • [r37549] (Mac) Prevent tabs from closing when a popup window is open (Issue 31716)
  • [r37342] (Linux) Fix a browser crash when the network connection is down. (Issue 33091)
  • [r37738] (Mac) Fix a crash when opening a menu while the browser starts. (Issue 33890)
  • [r37838] (Linux) Developer Tools: fix broken autocomplete. (Issue 33403)
  • [r37853] (Mac) Fix cookie management dialog being slow to load (Issue 33248)
  • [r37725] (Linux) Fix App and Edit menus not appearing on pressing Alt+F or Alt+E (Issue 33471)

--Mark Larson, Google Chrome Team

[Gd] Extending Google Chrome 25,621 Miles

| More

Chromium Blog: Extending Google Chrome 25,621 Miles

At the end of 2009, we traveled around the world — to the Czech Republic, Russia, and Argentina — meeting with developers and talking to them about Google Chrome Extensions and HTML5.

In the first leg of our trip, we headed to Europe for Google Developer Day Prague and Google Developer Day Moscow on November 6th and 10th. Google Developer Days are one-day events featuring seminars and office hours about Google developer products like Android, Google App Engine, and of course Google Chrome! More than 800 developers were on hand in Prague and more than 1,500 in Moscow to learn, among lots of other things, how to develop extensions for Google Chrome. Below is video of the talk Brian gave about extensions in Moscow. You can also watch video of this talk translated into Russian or video of a similar talk from Prague and view slides from Prague or slides from Moscow.

Our next and last stop was Buenos Aires for Google DevFest Argentina. Google DevFests are more focused versions of Google Developer Days. On November 17th, another 800 or so developers attended this event. There, we covered the Google Chrome platform in a couple sessions — on HTML5 and extensions. Below are slides from the talk Mihai gave on HTML5. You can also view slides from the extension talk.

For us, the best part of being at these events was seeing and hearing about all the interest in Google Chrome from developers everywhere and all the cool things those developers are building with the browser. If you'd like to get involved too, there are a bunch of community-organized Google Chrome events going on now. Check out the Google Technology User Group site to find a group or Meetup to find an event near you. And if there isn't a nearby group or event already, why not create your own! We have a collection of hackathon-in-a-box resources to help you do so.

Posted by Brian Kennish and Mihai Ionescu, Developer Advocates

Wednesday, February 3, 2010

[Gd] Who's @ Google I/O: spotlight on Enterprise sessions

| More

Google Code Blog: Who's @ Google I/O: spotlight on Enterprise sessions

Each week in our "Who's @ Google I/O" blog series, we'll highlight the latest from a featured track at I/O. This week, the spotlight is on Enterprise -- a major theme of this year's event.

In 2009, we saw an increasing number of large companies moving to the cloud (and "Going Google"), choosing the web as their platform of choice. At I/O, we'll share our enterprise and commercial developer offerings and focus on how to build business apps in the cloud.

We'll be adding new Enterprise sessions over the next couple of months, but here's a preview of some of the sessions you'll see at I/O:

Customizing Google Apps & integrating with customer environments
Hear real-life examples of customizing Google Apps to meet customer requirements from several panelists, including two of our Sandbox participants -- Iein Valdez of Appirio and Michael Cohn of CloudSherpas. Explore integration issues and deployment best practices with the people who have done it.

Run corporate applications on Google App Engine? Yes we do.
Our CIO, Ben Fried, describes how Google IT and other companies use the latest Google App Engine enhancements to respond more quickly to business needs while reducing operational burden to near zero.

It’s 2010: How is your move to the cloud doing?
Come discover the latest innovations from Google enabling IT and ISV developers to build on Google's cloud-based storage and computing offerings. This talk will give a complete overview of Google's commercial developer products and provide insights and best practices so enterprise developers can take more advantage of the cloud.

Launch your app inside of Google Apps with gadgets
Gadgets represent a valuable opportunity to get in front of the many Google Apps users who use Gmail, Google Calendar, and Google Sites throughout the day. This session will talk about how you can write gadgets as natural extensions of your existing products and take advantage of the unique opportunities available to gadgets in Google Apps.

Making Freemium work - converting free users to paying customers
Don Dodge will moderate a panel of prominent venture capital leaders (Brad Feld, Dave McClure, Jeff Clavier, Matt Holleran) to help you understand how to build free apps that can be upgraded to paid & how to build products that can be profitable.

You can find the current list of Enterprise sessions here.

To learn more about and register for Google I/O, visit We add new sessions and content to the I/O website each week so follow @googleio on Twitter to keep up with changes!

By Joyce Sohn, Google Developer Team

Tuesday, February 2, 2010

[Gd] How did you do on the Webmaster Quiz?

| More

Official Google Webmaster Central Blog: How did you do on the Webmaster Quiz?

Webmaster Level: All

Thanks to all of you who took our webmaster quiz and waited patiently to see how well you did! Today, we're pleased to present the Webmaster Quiz answers! We hope this quiz has provided some clarity on common issues users ask about in the Webmaster Help Forum. We'll go over a few of the questions and answers here, but if some of the answers lead you to ask more questions, we encourage you to continue the discussion in the forum!

1) You have moved your site to a new domain name. For users and search engines, the preferred way to permanently redirect traffic is:

Correct answer: a) 301 redirect

Explanation: A 301 redirect is preferred because it tells search engines, "Ok, this is the new domain I want you to show to users from now on," as opposed to something like a 302 redirect, which tells search engines, "Hey, this is only a temporary redirect--so, uh, I might change the URL soon, okay?" In addition to implementing a 301 redirect, the Change of Address feature in Webmaster Tools can help Google find your new site.

2) Your server is going to be moved and unavailable for a day. What should you do?

Correct answer: c) Return "Network Unavailable (503)" with a helpful message to all requests

Explanation: Maybe not as commonly known to webmasters, but very useful if your site is down! This tells crawlers to come back later, rather than crawling and indexing your "Down for maintenance" pages when you respond with 200 rather than 503. Check out the Help Center to learn more about HTTP status codes.

3) Your website is not in the index five days after you've put it online; what should you do?

Correct answer: b) Continue working on the site

Explanation: This one is a bit tricky. There could be a number of reasons why your site is not indexed. For example, a site's robots.txt file may contain a directive to inadvertently block crawlers from searching its contents. But the main take-away from this question is that if your site is pretty new, it may just be a matter of time before it gets indexed. You should continue to focus on improving your site for your users.

6) You need to remove 192 PDF files from the /private-files/ folder which have gotten indexed. What's the fastest way to do this?

Correct answer: d) Disallow the folder in robots.txt and request removal of the whole folder in Webmaster Tools.

Explanation: Before removing a directory that you don't want indexed, you need to include the Disallow directive in your robots.txt file to tell search bots not to crawl it anymore.

9) You have a country-coded domain name called To associate your site with Spain, you need to:

Correct answer: c) None of this is necessary. Google should already associate a domain ending in .es with Spain.

Explanation: Some country-coded domains may overlap with international ones, like .tv--which could also be a site from Tuvalu. But these sort of cases are rare and if they do arise, don't be shy to seek out help on the forum.

Great job to everyone who took the quiz and tested their know-how! And last but certainly not least, kudos to the top scorers! Congratulations on a quiz well done!

  • ChrisRaimondi
  • theopeek
  • beussery
  • Petro
  • pornel
  • Ian Macfarlane
  • g1smd
  • Mattman
  • thinkpragmatic
  • GLV
  • GoalGorilla
  • rssmarketer
  • BartVB
  • Kim Minh Kaplan
  • Ippi
  • Erik Dafforn
  • scole01
  • Konstantin
  • John
  • fer.vazquez
  • eMBe
  • Todd Nemet
  • ph0b

Posted by Charlene Perez, Search Quality Team

[Gd] Enlist in BootCamp for Google I/O

| More

Google Code Blog: Enlist in BootCamp for Google I/O

This year, we're introducing I/O BootCamp, a new event happening the day before Google I/O. BootCamp is an opportunity for attendees to get a crash course in our major development platforms and tools before they head into Google I/O. BootCamp will feature introductory "101" content, hands-on lab sessions, and community-led discussions.

BootCamp is only available to those who are registered to attend Google I/O. Since space is limited, we ask that interested Google I/O attendees please register at our BootCamp site.

To register for Google I/O, please visit

By Stephanie Liu, Google Developer Team

[Gd] Dev Channel Update

| More

Google Chrome Releases: Dev Channel Update

The devchannel has been updated to 5.0.307.1 for Linux

  • [r37017] Preliminary desktop notifications support. (Why not libnotify? See our technical FAQ.) (Issue: 23954)
  • [r37193] Use GTK+ selection colors when using GTK theme mode. (Issue: 25831)
  • [r37201] We now also will load plugins from ~/.config/$PRODUCT_NAME/Plugins. (Issue: 22261)
  • Improved complex text support, fixing a number of bugs in Hebrew/Arabic/Hindi/etc. display.

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

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
Orit Mazor
Google Chrome

Monday, February 1, 2010

[Gd] A New Format for JSON Results

| More

YouTube API Blog: A New Format for JSON Results

It's been two and a half years since we announced JSON as an alternative output format to Atom XML for YouTube API responses. As illustrated in the developer's guide and codelab, JSON-formatted data is a natural choice when writing web applications – after all, who wants to parse XML from JavaScript?

Our existing JSON format isn't perfect, however. It's very much a literal translation from Atom. As is often the case with literal translations, the current JSON format is wordier than it needs to be, and it lacks some of the elegance that a native dialect would offer.

We've rethought out current JSON implementation, and moved away from a literal representation of the Atom data to a format that we hope will be more pleasing to those who are fluent in JSON. The vestigial XML namespace prefixes are no more, and we've removed many pieces of metadata specific to Atom documents that come across as noise in JSON. Repeating data elements are always structured as true JSON lists, and useful video metadata that exist as XML attributes in Atom have been rearranged to make more sense in the JSON document. You'll also find that the new JSON results are more compact than Atom XML, which is of special importance to code running from limited-bandwith mobile applications.

We call this new format JSON-C, and you can read about all the technical details in our documentation and see it in action in our live demo.

With the release of JSON-C, we consider the legacy JSON format officially deprecated. All new development should prefer JSON-C to JSON, and if you have existing YouTube API code that relies on JSON-formatted results, you'll need to upgrade your code to use the new format. We will be supporting legacy JSON-formatted output in accordance with the deprecation policy outlined in our Terms of Service.

-Jeff Posnick, YouTube API Team

[Gd] 40,000 More Extensions!

| More

Chromium Blog: 40,000 More Extensions!

One thing that got lost in the commotion of the extensions launch is a feature that is near and dear to my heart: Google Chrome 4 now natively supports Greasemonkey user scripts. Greasemonkey is a Firefox extension I wrote in 2004 that allows developers to customize web pages using simple JavaScript and it was the inspiration for some important parts of our extension system.

Ever since the beginning of the Chromium project, friends and coworkers have been asking me to add support for user scripts in Google Chrome. I'm happy to report that as of the last Google Chrome release, you can install any user script with a single click. So, now you can use emoticons on blogger. Or, you can browse Google Image Search with a fancy lightbox. In fact, there's over 40,000 scripts on alone.

Installation is quick and easy, just like installing an extension. That's because under the covers, the user script is actually converted into an extension. This means that management tasks like disabling and uninstalling work just like they do with extensions.

Note that user scripts are powerful software and have full access to your private data on any web site. So, for example, they could read all your web mail or access your online bank. Be sure to read the comments on any user scripts in order to decide whether you trust the author with this power.

Also keep in mind that some user scripts won't work in Google Chrome yet, because of differences between it and Firefox. Based on some analysis that the current maintainers of Greasemonkey did, I expect between 15%-25% of scripts to not work in Google Chrome. If you find such a script, you should consider letting the author know. There may be something he or she can do to easily fix the problem. In the meantime, we'll keep working on bugs on our side to bring our implementation closer to Greasemonkey.

Have fun trying out the thousands of available scripts. And don't worry - If you get bored, there's lots more extensions at Google Chrome's extension gallery.

Posted by Aaron Boodman, Software Engineer