Friday, November 20, 2009

[Gd] Launching the iGoogle Gadget Dashboard

| More

iGoogle Developer Blog: Launching the iGoogle Gadget Dashboard

As Googlers, we love data. More data lets us make better decisions and make improvements to our products. As fellow gadget authors, we know that once you've developed a gadget, it can be difficult to get data that lets you know how your gadget is doing. The stats and comments in the directory are tailored for users, not developers, to help them make better decisions about which gadgets to install. Developers deserve a way to get data that lets them improve their gadgets.

Worry no longer! We're pleased to announce the launch of the iGoogle gadget dashboard, a place where developers can manage their gadgets and see detailed analytics about their gadgets' usage. Right now the dashboard allows you to see user numbers over time, number of gadget loads in home and canvas view, as well a geographic break down of users. We plan on adding more features to the dashboard in the near future which will give developers even more detailed information.

If you've already built an iGoogle gadget, go to the dashboard and add it. All you have to do is log in and enter the URL of any gadget you own or developed. Enjoy!

If you have any questions about the gadget dashboard, please visit the iGoogle Developer Forum.

Posted by Chris Pedregal, Product Manager and Kevin Liu, Tech Lead

[Gd] Dev Channel Update

| More

Google Chrome Releases: Dev Channel Update

The Dev channel has been updated to for all platforms (Windows, Mac, and Linux).

All Platforms
  • Fixed - Issue 27897: [Extension] Some extensions crash after installing
  • Fixed - Issue 27900: [Extension] Reload on crash infobar causes more crashes
  • Fixed top windows crasher. (Issues: 27856, 28096)
  • Fixed a crashing race condition in bookmark synchronization. (Issue: 23251)
  • Make the character encoding indicator visible again on Windows. (Issue: 26438)
  • Pasting some text into the Omnibox should no longer crash Google Chrome. (Issue: 27698)
  • Tab traversal in popups fixed on Windows, also a few other focus-related bugs. (Issues: 22654, 28086, 28087)
    Known Issues:
    • Issue 27902: [Extension] Extension link on new tab page doesn't work properly

    More details about additional changes are available in the svn 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

    Anthony Laforge
    Google Chrome Program Manager

    [Gd] Captions available for all Google I/O videos

    | More

    Google Code Blog: Captions available for all Google I/O videos

    We work hard to make sure that the videos on the GoogleDevelopers channel on Youtube are captioned, but when I/O added over a hundred hours of video content, we got a little behind. I'm happy to announce that we're finally caught up! Every English and Spanish video from I/O now has captions that you can turn on in YouTube.

    Didn't know we had captions? Just click to select captions from the menu in the lower right corner of the video player.

    Some caption and subtitle-related news:
    • A group of volunteers from Russia used the software to crowdsource translation for Google Wave video captions. Thank you, habratranslation! Check out one of the Wave videos with Russian subtitles. (You have to choose Russian from the caption menu in YouTube to see them.)

    • If you'd like to help translate captions for any of our videos, please email with a request. We'd be happy to share any caption files that you might be interested in under a creative commons attribution license. If you send us the translation, we'll credit you in the video caption track and blog about how awesome you are.

    • In addition to machine translation for captions, YouTube now provides experimental automatic caption transcription using the same speech recognition algorithms found in Google Voice. The GoogleDevelopers channel is part of the initial pilot, so this feature is available on many of our videos. To learn more, check out the blog post on the Official Google Blog.

    By Naomi Bilodeau, Google Developer Team

    [Gd] 'New software version' notifications for your site

    | More

    Official Google Webmaster Central Blog: 'New software version' notifications for your site

    Webmaster level: All

    One of the great things about working at Google is that we get to take advantage of an enormous amount of computing power to do some really cool things. One idea we tried out was to let webmasters know about their potentially hackable websites. The initial effort was successful enough that we thought we would take it one step further by expanding our efforts to cover other types of web applications—for example, more content management systems (CMSs), forum/bulletin-board applications, stat-trackers, and so on.

    This time, however, our goal is not just to isolate vulnerable or hackable software packages, but to also notify webmasters about newer versions of the software packages or plugins they're running on their website. For example, there might be a Drupal module or Joomla extension update available but some folks might not have upgraded. There are a few reasons a webmaster might not upgrade to the newer version and one of the reasons could be that they just don't know a new version exists. This is where we think we can help. We hope to let webmasters know about new versions of their software by sending them a message via Webmaster Tools. This way they can make an informed decision about whether or not they would like to upgrade.

    One of the ways we identify sites to notify is by parsing source code of web pages that we crawl. For example, WordPress and other CMS applications include a generator meta tag that specifies the version number. This has proven to be tremendously helpful in our efforts to notify webmasters. So if you're a software developer, and would like us to help you notify your users about newer versions of your software, a great way to start would be to include a generator meta tag that tells the version number of your software. If you're a plugin or a widget developer, including a version number in the source you provide to your users is a great way to help too.

    We've seen divided opinions over time about whether it's a good security practice to include a version number in source code, because it lets hackers or worm writers know that the website might be vulnerable to a particular type of exploit. But as Matt Mullenweg pointed out, "Where [a worm writer's] 1.0 might have checked for version numbers, 2.0 just tests [a website's] capabilities...". Meanwhile, the advantage of a version number is that it can help alert site owners when they need to update their site. In the end, we tend to think that including a version number can do more good than harm.

    We plan to begin sending out the first of these messages soon and hope that webmasters find them useful! If you have any questions or feedback, feel free to comment here.

    Posted by Patrick Chapman, Search Quality Team

    Thursday, November 19, 2009

    [Gd] Testing Chrome OS

    | More

    Google Testing Blog: Testing Chrome OS

    By Julian Harty

    The open-source launch of Chrome OS was announced today, and the source is available to download and build The entire project, including testing, is being open-sourced and made available for scrutiny and to help others to both contribute and learn from our experiences.

    The test engineering team haven't been idle - we're a small, international team and as a result we're having to be innovative in terms of our testing so we maximize our contribution to the project. We had two goals: to take care of short-term release quality and to plan an automation infrastructure that will serve the operating system for many years in the future.

    Currently we're combining manual and automated testing to achieve these goals. The manual testing provides fast feedback while we're extending the use of test automation to optimize future testing. In terms of test automation, we're using a collection of open-source tools such as:
    There are some interesting plans and ideas afoot on how to significantly increase the testability and accessibility of Chrome OS - watch for future blog posts on these topics in the coming months!

    We have used various approaches to design our tests, including 'tours' (mentioned in various posts on this blog). We are also applying the concept of 'attack surface' used in security testing more generally to determine what to test, from both technical and functional perspectives.

    For the launch we devised the 'early-adopters tour'; where we validated the open source build and installation instructions on a collection of netbooks purchased from local stores (we expect many of you will want to build and run Chrome OS on similar machines).

    If you're one of the early adopters - have fun building, installing and running Chrome OS and post your comments and ideas here. We hope you enjoy using Chrome OS as much as we're enjoying testing it!


    [Gd] Hello, open source developers. Would you like to help build an operating system for web users?

    | More

    Chromium Blog: Hello, open source developers. Would you like to help build an operating system for web users?

    Today we announced the Chromium OS project on the Official Google Blog. This release of Chromium OS includes:
    We are doing this early, almost a year before Google Chrome OS will be ready for users, because we are eager to engage with open source developers. There are many of you who share our passion for creating a new model of computing. Chromium OS makes it possible for any interested developer to contribute code, ideas and designs to help shape the future of personal computing.

    Speed, simplicity and security are fundamental to Chrome OS. We wanted to talk about these areas in a bit more detail.




    Open Source

    We expect to publish additional design docs and documentation in the upcoming few months. You can track what we're doing on this blog and we hope you will join us in this effort.

    Posted by Glen Murphy, Martin Bligh, Will Drewry, Software Engineers

    [Gd] Speaking Tonight at SASQAG

    | More

    Google Testing Blog: Speaking Tonight at SASQAG

    By James A. Whittaker

    I am pleased to be speaking tonight at the local (and in my experience one of the finest) QA special interest group, SASQAG. My talk is based on my STAR keynote, but having just released Chrome OS today I am going to be detailing more of our process for making testing more conscious and deliberate.

    If you are local and want to attend go to for details. I hope to see you there.


    Wednesday, November 18, 2009

    [Gd] Running desktop and mobile versions of your site

    | More

    Official Google Webmaster Central Blog: Running desktop and mobile versions of your site

    (This post was largely translated from our Japanese version of the Webmaster Central Blog )

    Recently I introduced several methods to ensure your mobile site is properly indexed by Google. Today I'd like to share information useful for webmasters who manage both desktop and mobile phone versions of a site.

    One of the most common problems for webmasters who run both mobile and desktop versions of a site is that the mobile version of the site appears for users on a desktop computer, or that the desktop version of the site appears when someone finds them from a mobile device. In dealing with this scenario, here are two viable options:

    Redirect mobile users to the correct version
    When a mobile user or crawler (like Googlebot-Mobile) accesses the desktop version of a URL, you can redirect them to the corresponding mobile version of the same page. Google notices the relationship between the two versions of the URL and displays the standard version for searches from desktops and the mobile version for mobile searches.

    If you redirect users, please make sure that the content on the corresponding mobile/desktop URL matches as closely as possible. For example, if you run a shopping site and there's an access from a mobile phone to a desktop-version URL, make sure that the user is redirected to the mobile version of the page for the same product, and not to the homepage of the mobile version of the site. We occasionally find sites using this kind of redirect in an attempt to boost their search rankings, but this practice only results in a negative user experience, and so should be avoided at all costs.

    On the other hand, when there's an access to a mobile-version URL from a desktop browser or by our web crawler, Googlebot, it's not necessary to redirect them to the desktop-version. For instance, Google doesn't automatically redirect desktop users from their mobile site to their desktop site, instead they include a link on the mobile-version page to the desktop version. These links are especially helpful when a mobile site doesn't provide the full functionality of the desktop version -- users can easily navigate to the desktop-version if they prefer.

    Switch content based on User-agent
    Some sites have the same URL for both desktop and mobile content, but change their format according to User-agent. In other words, both mobile users and desktop users access the same URL (i.e. no redirects), but the content/format changes slightly according to the User-agent. In this case, the same URL will appear for both mobile search and desktop search, and desktop users can see a desktop version of the content while mobile users can see a mobile version of the content.

    However, note that if you fail to configure your site correctly, your site could be considered to be cloaking, which can lead to your site disappearing from our search results. Cloaking refers to an attempt to boost search result rankings by serving different content to Googlebot than to regular users. This causes problems such as less relevant results (pages appear in search results even though their content is actually unrelated to what users see/want), so we take cloaking very seriously.

    So what does "the page that the user sees" mean if you provide both versions with a URL? As I mentioned in the previous post, Google uses "Googlebot" for web search and "Googlebot-Mobile" for mobile search. To remain within our guidelines, you should serve the same content to Googlebot as a typical desktop user would see, and the same content to Googlebot-Mobile as you would to the browser on a typical mobile device. It's fine if the contents for Googlebot are different from the one for Googlebot-Mobile.

    One example of how you could be unintentionally detected for cloaking is if your site returns a message like "Please access from mobile phones" to desktop browsers, but then returns a full mobile version to both crawlers (so Googlebot receives the mobile version). In this case, the page which web search users see (e.g. "Please access from mobile phones") is different from the page which Googlebot crawls (e.g. "Welcome to my site"). Again, we detect cloaking because we want to serve users the same relevant content that Googlebot or Googlebot-Mobile crawled.

    Diagram of serving content from your mobile-enabled site

    We're working on a daily basis to improve search results and solve problems, but because the relationship between PC and mobile versions of a web site can be nuanced, we appreciate the cooperation of webmasters. Your help will result in more mobile content being indexed by Google, improving the search results provided to users. Thank you for your cooperation in improving the mobile search user experience.

    Posted by Jun Mukai, Software Engineer, Mobile Search Team

    [Gd] YouTube APIs + App Engine = YouTube Direct

    | More

    Google App Engine Blog: YouTube APIs + App Engine = YouTube Direct

    When choosing a platform to power a new application that will be used by popular media sites, some of the criteria we look for are scalability, ease of deployment, and ease of management. As with the nature of news and media, traffic can go up and down without much warning and getting new content out of the door quickly is the name of the game. App Engine has greatly simplified development and deployment of YouTube Direct, a new tool built on YouTube's open APIs that allows media organizations to request, review, and re-broadcast user-submitted videos by embedding the upload functionality of YouTube directly into their own sites. By using the Google Plugin for Eclipse to "click and deploy" new code changes and App Engine's admin console to manage application data, our launch partners -- most of which had never used App Engine before -- were able to easily deploy their own instances of YouTube Direct.

    To date, media organizations like The Washington Post, The San Francisco Chronicle, NPR, The Huffington Post and ABC's Good Morning America are using YouTube Direct powered by App Engine's Java runtime and we hope more organizations take advantage of the platform. Visit YouTube Direct's developer page to learn more about it. The project's source is also available on Google Code.

    Guest post by Amanda Surya, YouTube Direct team

    [Gd] The latest addition to Google's open source projects

    | More

    Google Code Blog: The latest addition to Google's open source projects

    Did you know Google has released more than 300 open source projects to date? Yesterday, we announced the latest addition to Google's open source projects - YouTube Direct, a new tool that enables any developer to solicit video submissions, moderate and display them on their website, all powered by YouTube. We recognize the role that open source plays at Google and how it helps us create better applications and we try to give back to the community as much as possible.

    YouTube Direct was built on top of YouTube's public APIs and is designed to run on Google App Engine - Google's highly scalable platform. To date, several media organizations like ABC News, The Huffington Post and Politico have taken advantage of the open platform to deploy their own version of YouTube Direct to empower citizen journalism and enrich their site in the process. We look forward to see for more creative usage of the tool.

    By Amanda Surya, YouTube Direct team

    [Gd] Google Chrome Frame Update: Bug Fixes

    | More

    Google Chrome Releases: Google Chrome Frame Update: Bug Fixes

    Google Chrome Frame has been updated to version All users should be updated automatically.

    This release fixes several of the most common crashes and the following issues:

    • Network requests fail randomly (Issue 27401).
    • Fix issues with CFInstall.js to better detect compatible OS and browser versions, allow users to cancel the installation frame, and not cache the isAvailable result (Issues 22738, 23057, and 23132).
    • Don't use Google Chrome Frame for frames or iframes (Issue 22989).
    • Follow redirects properly (Issue 25643).
    • IE8 freezing intermittently (Issue 24007).
    • Remove data directories on uninstall (Issue 27483).
    Security Fix
    Google Chrome Frame and earlier versions were vulnerable to a cross-origin bypass.

    Severity: High. An attacker could have bypassed cross-origin protections. Although important, "High" severity issues do not permit persistent malware to infect a user's machine. We're unaware of any exploitation of this issue.

    Credit: Thanks to Billy Rios and Microsoft Vulnerability Research (MSVR) and also to Lostmon for finding and reporting this vulnerability responsibly.

    -- Mark Larson, Google Chrome Team


    [Gd] Welcome to Google Developer Relations, Don!

    | More

    Google Code Blog: Welcome to Google Developer Relations, Don!

    A couple days ago, Google welcomed Don Dodge to our Developer Relations team, where he joins us as a Developer Advocate working with developers, startups, and other Google Apps partners. We're expecting Don to be a fantastic addition to our team. He's already a prominent voice in the developer community, well-known and highly-regarded among entrepreneurs, technologists, and the media.

    In the TechCrunch post first announcing Don's availability, Michael Arrington wrote how Don, "makes a big effort to give young startups the attention they deserve. This is a guy who gives a heck of a lot more to the community than he ever takes back." This dedication to the community of developers and the businesses they build is one of the things that excites us the most about having Don on our team. These businesses have been central to Google's success over the years, so we already know that Don's attitude will fit right in with our efforts. Don has deep experience working in startups from his days at companies like AltaVista, Napster, and Groove Networks, and has always continued to maintain the connection and passion for that community since leaving their ranks to join Microsoft, and now Google. We are eager for Don to share his personal experience and professional insights with developers and small businesses integrating with Google Apps, and be an advocate for developers and partners inside the company.

    Don already wrote about his first day on the job at Google. Tomorrow you can hear him speak on the Enterprise Cloud Summit Panel in New York City. You can follow Don on his personal blog, email him at dondodge at, or follow @dondodge on Twitter.

    By Michael Winton, Google Developer Relations

    Tuesday, November 17, 2009

    [Gd] Pros and cons of watermarked images

    | More

    Official Google Webmaster Central Blog: Pros and cons of watermarked images

    Webmaster Level: All

    What's our take on watermarked images for Image Search? It's a complicated topic. I talked with Peter Linsley—my friend at the 'plex, video star, and Product Manager for Image Search—to hear his thoughts.

    Maile: So, Peter... "watermarked images". Can you break it down for us?
    Peter: It's understandable that webmasters find watermarking images beneficial.
    Pros of watermarked images
    • Photographers can claim credit/be recognized for their art.
    • Unknown usage of the image is deterred.
    If search traffic is important to a webmaster, then he/she may also want to consider some of our findings:
    Findings relevant to watermarked images
    • Users prefer large, high-quality images (high-resolution, in-focus).
    • Users are more likely to click on quality thumbnails in search results. Quality pictures (again, high-res and in-focus) often look better at thumbnail size.
    • Distracting features such as loud watermarks, text over the image, and borders are likely to make the image look cluttered when reduced to thumbnail size.
    In summary, if a feature such as watermarking reduces the user-perceived quality of your image or your image's thumbnail, then searchers may select it less often. Preview your images at thumbnail size to get an idea of how the user might perceive it.
    Maile: Ahh, I see: Webmasters concerned with search traffic likely want to balance the positives of watermarking with the preferences of their users -- keeping in mind that sites that use clean images without distracting artifacts tend to be more popular, and that this can also impact rankings. Will Google rank an image differently just because it's watermarked?
    Peter: Nope. The presence of a watermark doesn't itself cause an image to be ranked higher or lower.

    Do you have questions or opinions on the topic? Let's chat in the webmaster forum.

    Written by Maile Ohye, Developer Programs Tech Lead

    [Gd] Enrich your site with YouTube Direct

    | More

    YouTube API Blog: Enrich your site with YouTube Direct

    Today we announced the launch of YouTube Direct, a new tool built on top of YouTube's public APIs that enables any developer to solicit video submissions on their website, powered by YouTube.

    Users upload their videos directly on the developer's website, after which the developer can review the submissions and select the best ones to showcase. Since these videos live on YouTube, users are able to reach YouTube's large user base directly while also getting broader exposure and editorial validation for the videos they create.

    Although YouTube Direct was originally created with our news partners in mind, we believe that other developers and website owners can benefit from it as well. To put YouTube Direct in the hands of as many developers as possible, we open sourced the bulk of the code and designed it to run on Google App Engine - Google's scalable hosting platform. This enables developers to easily deploy their own instance of the tool and take advantage of App Engine's scalability and low cost. The videos themselves are served from the same infrastructure that powers

    Visit YouTube Direct for Developers page to read more about it or go directly to the project page to download the code. As always, we'd love to hear your feedback on this new tool. Drop us a line in YouTube's Developer Forum.

    [Gd] How to get Started with TDD

    | More

    Google Testing Blog: How to get Started with TDD

    By Miško Hevery

    Best way to learn TDD is to have someone show you while pairing with you. Short of that, I have set up an eclipse project for you where you can give it a try:

    1. hg clone

    2. Open project blog/tdd/01_Calculator in Eclipse.

    3. It should be set up to run all tests every time you modify a file.

      • You may have to change the path to java if you are not an Mac OS.

      • Project -> Properties -> Builders -> Test -> Edit

      • Change location to your java

    4. Right-click on -> Run As -> Java Application to run the calculator

    Your mission is to make the calculator work using TDD. This is the simplest form of TDD where you don't have to mock classes or create complex interactions, so it should be a good start for beginners.

    TDD means:

    1. write a simple test, and assert something interesting in it

    2. implement just enough to make that tests green (nothing more, or you will get ahead of your tests)

    3. then write another test, rinse, and repeat.

    I have already done all of the work of separating the behavior from the UI, so that the code is testable and properly Dependency Injected, so you don't have to worry about running into testability issues.

    • This is the main method and it is where all of the wiring is happening.

    • This is a view and we don't usually bother unit testing it has cyclomatic complexity of one, hence there is no logic. It either works or does not. Views are usually good candidates for end-to-end testing, which is not part of this exercise.

    • is just a PoJo which marshals data from the Controller to the View, not much to test here.

    • is where all of your if statements will reside, and we need good tests for it.

    I have started you off with first 'testItShouldInitializeToZero' test. Here are some ideas for next tests you may want to write.

    • testItShouldConcatinateNumberPresses

    • testItShouldSupportDecimalPoint

    • testItShouldIgnoreSecondDecimalPoint

    • testItShouldAddTwoIntegers

    I would love to see what you will come up with and what your thoughts are, after you get the whole calculator working. I would also encourage you to post interesting corner case tests here for others to incorporate. If you want to share your code with others, I would be happy to post your solutions.

    Good luck!

    PS: I know it is trivial example, but you need to start someplace.

    Monday, November 16, 2009

    [Gd] Dev Channel Update

    | More

    Google Chrome Releases: Dev Channel Update

    The Dev channel has been updated to for all platforms (Windows, Mac, and Linux).

    All Platforms
    • [r31779] Introduced Timeline and Storage panels in Chrome's Developer Tools
    • Covered by All Platforms and Extensions.
    • [r31793] Visual fixes to the popup blocker in chrome theme mode (Issue: 26155).
    • [r31984] Status bubble should move out of the way of the mouse (Issue: 18311)
    • [r32008] Mostly fixes black flashing that happens during popup resize. (Issue: 25459)
    • [r31996] Re-enable database storage for extensions. (Issue: 27216)
    • [r31844] Fix a crash in ExtensionMessageService when a source renderer closed. (Issue: 27554)
    • [r31840] Fix a crash in BrowserActionButton::OnImageLoaded. (Issue: 27167)
    • [r31826] Fix a crash in ExtensionsService::ReloadExtension (Issue: 27199)

    Known Issues:
    • Issue 27897: [Extension] Some extensions crash after installing
    • Issue 27900: [Extension] Reload on crash infobar causes more crashes
    • Issue 27902: [Extension] Extension link on new tab page doesn't work properly

      More details about additional changes are available in the svn 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

      Anthony Laforge
      Google Chrome Program Manager