Friday, September 17, 2010

[Gd] Video Sitemaps: Is your video part of a gallery?

| More

Official Google Webmaster Central Blog: Video Sitemaps: Is your video part of a gallery?

Webmaster Level: All

Often a website which hosts videos will have a common top-level page that groups conceptually related videos together. Such a page may be of interest to a user searching on that subject. Sites with many videos about a single subject can group these videos together on a top-level page, often known as a gallery. This can make it easier for users to find exactly what they're looking for. In this case, you can use a Sitemap to tell Google the URL of the gallery page on which each video appears.


You can specify the URL of the gallery level page using the optional tag <video:gallery_loc> on a per-video basis. Note that only one gallery_loc is allowed per video.

For more information on Google Videos, including Sitemap specifications, please visit our Help Center. To post questions and search for answers, check out our Help Forum.

Posted by Nelson Lee, Product Manager, Video Search
URL: http://googlewebmastercentral.blogspot.com/2010/09/video-sitemaps-is-your-video-part-of.html

[Gd] Announcing Four AdWords API workshops

| More

AdWords API Blog: Announcing Four AdWords API workshops

Join the AdWords API engineering team for a day of hacking on the latest features. Events will be held in the following cities:
  • London, September 28th
  • Hamburg, September 30th
  • San Francisco, October 7th
  • New York, October 12th
In addition to answering all of the questions you can ask us, we’ll be presenting technical deep dives of:
  • The new CustomerSyncService (Change History)
  • AdWords Campaign Experiments
  • The new TrafficEstimatorService
  • The completely rewritten (forthcoming) Java Client Library
  • Migrating from v13 to v2010 reports
  • New Ad Extensions and Product Ads
All events will have the same agenda, will run from 10:00 AM until 5:00 PM (local time), and will be geared towards software developers.

Seats are limited. For more information and to register, visit: https://sites.google.com/site/awapiworkshops/

-- Aaron Karp, AdWords API Team
URL: http://adwordsapi.blogspot.com/2010/09/announcing-four-adwords-api-workshops.html

[Gd] Aftermath of the Google NY event

| More

Google Testing Blog: Aftermath of the Google NY event

By James Whittaker

First and foremost, apologies to all of those trying to get to our NY event who weren't able to do so. It was an absolutely packed house, frankly the popularity of it overwhelmed us! Clearly the mixture of a Google tour, Google goodies, food, drink and testing is an intoxicating cocktail.

The event was not taped but GTAC will be and I'll likely not have been part of a two hour party before that talk! Some things, I think, are better off unrecorded and off the record...

We will be having more of these events in the future. We'll learn from this and make sure you have plenty of warning.

Thanks for understanding and if any rumors emerge from this event about things I may have said on stage...you can't prove anything!
URL: http://googletesting.blogspot.com/2010/09/aftermath-of-google-ny-event.html

[Gd] An Ingredients List for Testing - Part Four

| More

Google Testing Blog: An Ingredients List for Testing - Part Four

By James Whittaker

Ever look at a testing problem and wonder how to solve it? If so you know what it feels like to lack domain expertise. Sometimes this is user-oriented knowledge. Testing a flight simulator requires knowledge of how to fly a plane. Testing tax preparation software requires knowledge of accounting. Other times the knowledge is more problem-oriented. Testing a mobile operating system means understand how Wi-Fi and device drivers work. Whenever the bill of materials contains a testing problem that the risk analysis identifies as important, the expertise needed to test it needs to be on the testing team. Hire it, contract it, outsource it. Whatever it takes to ensure that people who know what they are doing and have experience doing it are on staff for the duration of the project. There is no technological substitution for expertise.

It doesn't matter how good you think you are at exploratory testing, if you don't understand how something works find someone who does.
URL: http://googletesting.blogspot.com/2010/09/ingredients-list-for-testing-part-four.html

[Gd] Stable, Beta Channel Updates

| More

Google Chrome Releases: Stable, Beta Channel Updates

Google Chrome has been updated to 6.0.472.62 for Windows, Linux and Mac on the Stable channel. In addition, all of the above plus Chrome Frame have been updated on the Beta channel.


Along with the security fixes listed below, this version includes an updated version of the Flash Plugin.

Security fixes and rewards
Please see
the Chromium security page for more detail. Note that the referenced bugs may be kept private until a majority of our users are up to date with the fix.
  • [$500] [55114] High Bad cast with malformed SVG. Credit to wushi of team 509.
  • [55119] Critical Buffer mismanagement in the SPDY protocol. Credit to Mike Belshe of the Chromium development community.
  • [$1000] [55350] High Cross-origin property pollution. Credit to Stefano Di Paola of MindedSecurity.
More details about additional changes are available in the SVN revision log.  If you find new issues, please let us know by filing a bug. Want to change to another Chrome release channel - find out how.


Jason Kersey
Google Chrome
URL: http://googlechromereleases.blogspot.com/2010/09/stable-beta-channel-updates_17.html

[Gd] Dev Channel Update

| More

Google Chrome Releases: Dev Channel Update

The Dev channel has been updated to 7.0.517.8 for Windows, Mac, Linux, and ChromeFrame.

This release focused on resolving minor bug fixes or crashes. 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: http://dev.chromium.org/getting-involved/dev-channel.

If you find new issues, please let us know by filing a bug at http://code.google.com/p/chromium/issues/entry

Anthony Laforge
Google Chrome
URL: http://googlechromereleases.blogspot.com/2010/09/dev-channel-update_16.html

[Gd] Google Apps Marketplace Billing API and Payment Policy Update

| More

Google Apps Developer Blog: Google Apps Marketplace Billing API and Payment Policy Update

Since launching the Apps Marketplace back in March, we’ve been heads down working on our Marketplace billing API, which is based on Google Checkout. The goal of the API is to make it easy for Marketplace vendors to sell their installable applications to Google Apps customers, using either a subscription model or one-time payment, and accommodating both free trial and freemium pricing plans. We are excited to get it in to developers’ hands.

Our current plan is to release it in Q4 for US sellers, and then expand to other seller countries in the following months. Please see our FAQ for more information on supported countries, and watch this blog or sign up to our email announcement list to be notified of changes.

Marketplace Payment Policy Updated

As a reminder, our Marketplace payment policy launched with a revenue sharing exemption period, which lasts until 3 months after the release of these billing APIs. Upon expiration, all installable apps sold through the Marketplace are required to integrate with these billing APIs and bill new customers acquired through the Marketplace exclusively through these APIs.

However since our seller country list is may be smaller than the list of countries where our vendors are located, we have updated our payment policy to extend the revenue sharing exemption period until 3 months after it is released in a country where you are located.

Put more concretely, if you are a Google Apps Marketplace vendor located in Australia or India or any other country not currently on our seller list, your revenue sharing exemption period remains in effect until 3 months after the billing API supports your country.

We encourage you to read the payment policy in full to make sure you understand it, and consult our FAQ for more information. Note that the availability of the revenue exemption, including the determination of where a developer is located for purposes of the exemption, is entirely at our discretion.


Posted by Tim Grow, Google Apps Marketplace Product Manager

Want to weigh in on this topic? Discuss on Buzz

URL: http://googleappsdeveloper.blogspot.com/2010/09/google-apps-marketplace-billing-api-and.html

[Gd] Google Developer Day Registration Now Open for Brazil

| More

Google Code Blog: Google Developer Day Registration Now Open for Brazil

As promised, registration for our Sao Paulo Google Developer Day is now open. Developer Day in Brazil takes place on October 29, 2010. More details on sessions and speaker bios are now available on the site.

Follow @googledevbr (hashtag: #gddbr) to stay updated on developer news in Brazil.

By Susan Taing, Google Developer Team
URL: http://googlecode.blogspot.com/2010/09/google-developer-day-registration-now.html

Thursday, September 16, 2010

[Gd] Google Relaunches Instantiations Developer Tools - Now Available for Free

| More

Google Web Toolkit Blog: Google Relaunches Instantiations Developer Tools - Now Available for Free


In early August, Google acquired Instantiations, a company known for its focus on Eclipse Java developer tools, including GWT Designer. We're happy to announce today that we're relaunching the following former Instantiations products under the Google name and making them available to all developers at no charge:




  • GWT Designer

    Powerful Eclipse-based development tools that enable Java developers to quickly create Ajax user interfaces using Google Web Toolkit (GWT)




  • CodePro AnalytiX

    Comprehensive automated software code quality and security analysis tools to improve software quality, reliability, and maintainability




  • WindowBuilder Pro

    Java graphical user interface designer for Swing, SWT, GWT, RCP, and XWT UI frameworks




  • WindowTester Pro

    Test GUI interactions within Java client rich applications for the SWT and Swing UI frameworks









Now that these products are available again, we hope you’ll start using them within your GWT projects. Meanwhile, our next step is to more deeply unify them into the GWT family of tools by blending the fantastic Instantiations technology into the Google Plugin for Eclipse (GPE). So, there’s much more to come, including things we’re pretty sure you’ll like, such as UiBinder support in GWT Designer.




You can download any of the tools from the GWT download page. If you have questions or comments we’d love to hear from you. The best place to discuss the tools above is at http://forums.instantiations.com. As always, continue to discuss GWT and GPE at the main GWT Group.




We would love to stay in better touch with you as we have more news about how we are integrating the Instantiations products into the Google Web Toolkit suite. Sign up if you’d like to receive email updates on these products and other developer tools.




By Bruce Johnson, Google Developer Team

URL: http://googlewebtoolkit.blogspot.com/2010/09/google-relaunches-instantiations.html

[Gd] Google Relaunches Instantiations Developer Tools - Now Available for Free

| More

Google Code Blog: Google Relaunches Instantiations Developer Tools - Now Available for Free

(Cross-posted from the Google Web Toolkit blog)

In early August, Google acquired Instantiations, a company known for its focus on Eclipse Java developer tools, including GWT Designer. We're happy to announce today that we're relaunching the following former Instantiations products under the Google name and making them available to all developers at no charge:

  • GWT Designer
    Powerful Eclipse-based development tools that enable Java developers to quickly create Ajax user interfaces using Google Web Toolkit (GWT)

  • CodePro AnalytiX
    Comprehensive automated software code quality and security analysis tools to improve software quality, reliability, and maintainability

  • WindowBuilder Pro
    Java graphical user interface designer for Swing, SWT, GWT, RCP, and XWT UI frameworks

  • WindowTester Pro
    Test GUI interactions within Java client rich applications for the SWT and Swing UI frameworks

Now that these products are available again, we hope you’ll start using them within your GWT projects. Meanwhile, our next step is to more deeply unify them into the GWT family of tools by blending the fantastic Instantiations technology into the Google Plugin for Eclipse (GPE). So, there’s much more to come, including things we’re pretty sure you’ll like, such as UiBinder support in GWT Designer.

You can download any of the tools from the GWT download page. If you have questions or comments we’d love to hear from you. The best place to discuss the tools above is at http://forums.instantiations.com. As always, continue to discuss GWT and GPE at the main GWT Group.

We would love to stay in better touch with you as we have more news about how we are integrating the Instantiations products into the Google Web Toolkit suite. Sign up if you’d like to receive email updates on these products and other developer tools.

By Bruce Johnson, Google Developer Team
URL: http://googlecode.blogspot.com/2010/09/google-relaunches-instantiations.html

[Gd] Our Culture

| More

Google Testing Blog: Our Culture

URL: http://googletesting.blogspot.com/2010/09/our-culture.html

[Gd] Discover v201008: TrafficEstimatorService upgrade

| More

AdWords API Blog: Discover v201008: TrafficEstimatorService upgrade

The TargetingIdeaService is a powerful tool for generating new keyword ideas and getting statistics about how those keywords perform globally. However, for more personalized estimates of how a keyword may perform in your account, the TrafficEstimatorService can be used. While this service was previously only available in the legacy v13 version of the AdWords API, it’s now available in v201008 with some slight changes.

Estimate Requests

While the v13 service provided separate methods for getting keywords estimates with and without an ad group or campaign context, the v201008 version has been simplified to use just a single get() method. This means that KeywordEstimateRequest objects must always be wrapped in AdGroupEstimateRequest and CampaignEstimateRequest objects, even if you don’t want to use the features those objects offer. Keep in mind though that specifying contextual information in estimate requests, especially the ids of existing ad groups and campaigns, can lead to more accurate estimates and is recommended when possible.

The CampaignEstimateRequest object allows you to set or override the targeting options for the estimation using the targets field. While this field accepts an array of any target type only the following are currently supported: LanguageTarget and GeoTarget, which itself is limited to only CountryTarget, CityTarget, MetroTarget, and ProvinceTarget. More information about the behavior of targeting is available here.

The following PHP example code demonstrates how to build up the estimate requests for three new keywords in a new ad group with a default bid of $1, in a new campaign that targets users in the US who speak English.

  // Create keywords. Up to 2000 keywords can be passed in a request.
$keywords = array();
$keywords[] = new Keyword('mars cruise', 'BROAD');
$keywords[] = new Keyword('cheap cruise', 'PHRASE');
$keywords[] = new Keyword('cruise', 'EXACT');

// Create a keyword estimate request for each keyword.
$keywordEstimateRequests = array();
foreach ($keywords as $keyword) {
$keywordEstimateRequest = new KeywordEstimateRequest();
$keywordEstimateRequest->keyword = $keyword;
$keywordEstimateRequests[] = $keywordEstimateRequest;
}

// Create ad group estimate requests.
$adGroupEstimateRequest = new AdGroupEstimateRequest();
$adGroupEstimateRequest->keywordEstimateRequests = $keywordEstimateRequests;
$adGroupEstimateRequest->maxCpc = new Money(1000000);
$adGroupEstimateRequests = array($adGroupEstimateRequest);

// Create campaign estimate requests.
$campaignEstimateRequest = new CampaignEstimateRequest();
$campaignEstimateRequest->adGroupEstimateRequests =
$adGroupEstimateRequests;
$campaignEstimateRequest->targets = array(new CountryTarget('US'),
new LanguageTarget('en'));
$campaignEstimateRequests = array($campaignEstimateRequest);

// Create selector.
$selector = new TrafficEstimatorSelector();
$selector->campaignEstimateRequests = $campaignEstimateRequests;

Estimated Statistics

While the v13 KeywordEstimate object contained both the minimum and maximum estimated statistics, it has been split into a min and max StatsEstimate object in the v201008 version. This object bundles together the estimated average CPC, average position, clicks and total cost. To get values similar to those returned by the Traffic Estimator web interface you will need to get the mean of the min and max estimates.

The following code shows how to get the estimates for the selector created above and display the results.

  // Get traffic estimates.
$result = $trafficEstimatorService->get($selector);

// Display traffic estimates.
if (isset($result)) {
$keywordEstimates =
$result->campaignEstimates[0]->adGroupEstimates[0]->keywordEstimates;
for ($i = 0; $i < sizeof($keywordEstimates); $i++) {
$keyword = $keywordEstimateRequests[$i]->keyword;
$keywordEstimate = $keywordEstimates[$i];

// Find the mean of the min and max values.
$meanAverageCpc = ($keywordEstimate->min->averageCpc->microAmount
+ $keywordEstimate->max->averageCpc->microAmount) / 2;
$meanAveragePosition = ($keywordEstimate->min->averagePosition
+ $keywordEstimate->max->averagePosition) / 2;
$meanClicks = ($keywordEstimate->min->clicks
+ $keywordEstimate->max->clicks) / 2;
$meanTotalCost = ($keywordEstimate->min->totalCost->microAmount
+ $keywordEstimate->max->totalCost->microAmount) / 2;

printf("Results for the keyword with text '%s' and match type '%s':\n",
$keyword->text, $keyword->matchType);
printf(" Estimated average CPC: %d\n", $meanAverageCpc);
printf(" Estimated ad position: %.2f \n", $meanAveragePosition);
printf(" Estimated daily clicks: %d\n", $meanClicks);
printf(" Estimated daily cost: %d\n\n", $meanTotalCost);
}
} else {
print "No traffic estimates were returned.\n";
}

Checking Keyword Traffic

The v13 service included a checkKeywordTraffic() method that could be used to determine if a keyword would get any traffic at all. This method has been removed from the v201008 service, but information about the search volume for a keyword can be obtained by using the TargetingIdeaService and requesting attributes such as AVERAGE_TARGETED_MONTHLY_SEARCHES, GLOBAL_MONTHLY_SEARCHES, or TARGETED_MONTHLY_SEARCHES.

If you have any questions about how to use this service we’ll be happy to address them on the forum.

Best,
- Eric Koleda, AdWords API Team
URL: http://adwordsapi.blogspot.com/2010/09/discover-v201008-trafficestimatorservic.html

Wednesday, September 15, 2010

[Gd] Prediction API: Make smart apps even smarter

| More

Google Code Blog: Prediction API: Make smart apps even smarter

Since its announcement at Google I/O, the Google Prediction API has seen an outstanding response from the developer community. Developers participating in the Prediction API preview are already using it to identify spam, categorize news, and more.

Today we’re adding new features to the Prediction API to make your apps even smarter:

Multi-category prediction: Imagine you’re writing a news aggregator that suggests articles based on the kinds of stories the user has read before. Previously, using the Prediction API, each article could only be tagged with one label - the most pertinent one. For example, an article about a new truck might be labeled as “truck,” but not “roomy” or “quiet.” Now articles can be tagged with all of those labels, with the labels ranked by pertinence, enabling your app to make better recommendations.

Continuous Output: You’d like to create a wine recommendation app. Matching a wine to personal preferences is a tricky task, dependent on many factors, including origin, grape, age, growing environment, and flavor presence. Previously, your app could only label wine as “good,” “decent,” “bad,” or some other set of pre-defined values. Using the new continuous output option, your app can provide a fine-grained ranking of wines based on how well they fit the user’s preferences.

Mixed Inputs: You’re creating an automatic moderator for your blog. You could already classify incoming posts automatically based on comment text and the username of the poster (text inputs), but not the number of times they’ve posted before or the number of users that have liked their posts (numeric inputs). We’ve now added support for mixed inputs, so both numeric and text data can be incorporated in your moderation helper, greatly improving accuracy and letting you get back to making content rather than managing it.

Combining Continuous Output with Mixed Inputs: To further enhance your automatic moderator, you can use continuous output to set thresholds for automatic posting, automatic rejection and manual moderation, further reducing your workload.

You can get all the details about these and other new features on the Prediction API website. We are continuing to offer the Prediction API as a preview to a limited number of developers. There is no charge for using the service during the preview. To learn more and sign up for an invitation, please join the waitlist.

By Travis Green, Prediction API Team
URL: http://googlecode.blogspot.com/2010/09/prediction-api-make-smart-apps-even.html

[Gd] Tips for getting help with your site

| More

Official Google Webmaster Central Blog: Tips for getting help with your site

Webmaster Level: All

As a search company, we at Google try to develop scalable solutions to problems. In fact, Webmaster Tools was born out of this instinct: rather than fighting the losing battle of trying to respond to questions via email (and in multiple languages!), we developed an automated, scalable product that gives webmasters like you information about your sites and lets you handle many requests yourself. Now you can streamline the crawling of your site, improve your sitelinks, or clean up after a malware attack all on your own.

Of course, our Help Forum still gets hundreds of questions from site owners every week — everything from "Why isn't my site in Google?" to very specific questions about a particular API call or a typo in our documentation. When we see patterns—such as a string of questions about one particular topic—we continue to use that information in scalable ways, such as to help us decide which parts of the product need work, or what new features we should develop. But we also still answer a lot of individual questions in our forum, on our blog, and at industry events. However, we can't answer them all.

So how do we decide which questions to tackle? We have a few guiding principles that help us make the most of the time we spend in places like our forum. We believe that there are many areas in which Google’s interests and site owners’ interests overlap, and we’re most motivated by questions that fall into these areas. We want to improve our search results, and improve the Internet; if we can help you make your site faster, safer, more compelling, or more accessible, that’s good for both of us, and for Internet users at large. We want to help as many people at a time as we can, so we like questions that are relevant to more than just one person, and we like to answer them publicly. We want to add value with the time we spend, so we prefer questions where we can provide more insight than the average person, rather than just regurgitating what’s already written in our Help Center.

The reason I tell you all this is because you can greatly increase your chances of getting an answer if you make it clear how your question helps us meet these goals. Here are some tips for increasing the likelihood that someone will answer your question:
  1. Ask in public.
    If you post your question in our forum, the whole world gets to see the answer. Then when Betty has the same question a week later, she benefits because she can find the answer instantly in our forum, and I benefit because it saves me from having to answer the same question twice (or ten times, or fifty times, or...). We have a very strong preference for answering questions publicly (in a forum, on a blog, at a conference, in a video...) so that many people can benefit from the answer.
  2. Do your homework.
    We put a lot of effort into writing articles, blog posts and FAQs to help people learn about search and site-building, and we strongly encourage you to search our Help Center, blog and/or forum for answers before asking a question. You may find an answer on the spot. If you don’t, when you post your question be sure to indicate what resources you’ve already read and why they didn’t meet your needs: for example, “I read the Help Center article on affiliate websites but I’m still not sure whether this particular affiliate page on my site has enough added value; can I get some feedback?” This shows that you’ve taken the time to try to help yourself, it saves everyone from reiterating the obvious solutions if you’ve already ruled those out, and it will help get you a more specific and relevant answer. It can also help us improve our documentation if something’s missing.
  3. Be specific.
    If you ask a vague question, you’re likely to get a vague answer. The more details and context you can give, the more able someone will be to give you a relevant, personalized answer. For example, “Why was my URL removal request denied?” is likely to get you a link to this article, as removals can be denied for a variety of reasons. However, if you say what type of removal you requested, what denial reason you got, and/or the URL in question, you’re more likely to get personalized advice on what went wrong in your case and what you can do differently.
  4. Make it relevant to others.
    As I said earlier, we like to help as many people at a time as we can. If you make it clear how your question is relevant to more people than just you, we’ll have more incentive to look into it. For example: “How can site owners get their videos into Google Video search? In particular, I’m asking about the videos on www.example.com.”
  5. Let us know if you’ve found a bug.
    As above, the more specific you can be, the better. What happened? What page or URL were you on? If it’s in Webmaster Tools, what site were you managing? Do you have a screenshot? All of these things help us track down the issue sooner. We appreciate your feedback, but if it’s too vague we won’t understand what you’re trying to tell us!
  6. Stay on-topic.
    Have a question about Google Analytics? iGoogle? Google Apps? That’s great; go ask it in the Analytics / iGoogle / Apps forum. Not every Googler is familiar with every product Google offers, so you probably won’t get an answer if you’re asking a Webmaster Central team member about something other than Web Search or Webmaster Tools.
  7. Stay calm.
    Trust me, we’ve heard it all. Making threats, being aggressive or accusatory, YELLING IN ALL CAPS, asking for “heeeeeeeeeeeeeeelp!!!!!1!!,” or claiming Google is involved in a mass conspiracy against you & your associates because your sites aren’t ranked on page one... Rather than making others want to help you, these things are likely to turn people off. The best way to get someone to help is by calmly explaining the situation, giving details, and being clear about what you’re asking for.
  8. Listen, even when it’s not what you wanted to hear.
    The answer to your question may not always be the one you wanted; but that doesn’t mean that answer isn’t correct. There are many areas of SEO and website design that are as much an art as a science, so a conclusive answer isn’t always possible. When in doubt, feel free to ask people to cite their sources, or to explain how/where they learned something. But keep an open mind and remember that most people are just trying to help, even if they don’t agree with you or tell you what you wanted to hear.
Bonus tip: Are you more comfortable communicating in a language other than English? We have Webmaster Help Forums available in 18 other languages; you can find the list here.

Posted by Susan Moskwa, Webmaster Trends Analyst
URL: http://googlewebmastercentral.blogspot.com/2010/09/tips-for-getting-help-with-your-site.html

Tuesday, September 14, 2010

[Gd] Introducing AdWords API version v201008

| More

AdWords API Blog: Introducing AdWords API version v201008

Today, we’re announcing a new version of the AdWords API: v201008. Following up on our release of v201003, this version includes many requested features, as well as TrafficEstimatorService and ReportDefinitionService (now out of beta). These two services will replace their v13 counterparts. While we’re not starting the sunset countdown for the v13 TrafficEstimatorService and ReportService just yet, we’d like to give you a heads-up that these services will be shut down in the first half of 2011. We’ll announce specific dates on this blog in the near future.

Here’s the list of what’s new in version v201008:
  • Reports: Now out of beta, the ReportDefinitionService service has what you need to receive detailed reporting for your AdWords accounts. With this, the rates for ReportDefinitionService have also been updated. Support for cross-client reports is expected in the next version of the API.
  • Traffic Estimates: An all-new version of the TrafficEstimatorService that will replace the existing v13 service.
  • Product Ads: Includes both Product Extensions and Product Listing Ads that feature rich product information, such as a product image, directly in your ads.  Note that you’ll need to use the AdWords web interface to link your campaigns with your Google Merchant Center account. We’ll add this feature to the API in an upcoming version. Also note that Product Listing Ads are not yet available to all AdWords users.
  • AdWords Campaign Experiments: Accurately test and measure changes to your keywords, bids, ad groups and placements by running split tests. Learn more
  • Ad group bid simulator (bid landscapes): Get bid simulator data at the ad group level with two sets of simulations: estimated results for changing the ad group default bid and estimated results for applying a single bid to all the keywords within that ad group. Learn more
  • Enhanced CPC: Dynamically raise or lower your Max. CPC bids to acquire more conversions at or below your current CPA. Learn more
  • Partial failure support for AdGroupCriterionService (beta): This functionality has been frequently requested by developers over the years and we’re excited to launch it in beta while we continue to develop and improve upon it. We’ll launch partial failure support for other key services in upcoming versions of the API.
We are also working on a couple of other new features that will be added to v201008 in the coming weeks.

The AdWords API team is working hard to bring you the features you’ve been asking for and we’re excited to hear what you think about the v201008 version of the API. We encourage you to start working with this new version and share your feedback with us on the developer forum.

Posted by Jason Shafton, Product Marketing Manager
URL: http://adwordsapi.blogspot.com/2010/09/introducing-adwords-api-version-v201008.html

[Gd] Stable, Beta Channel Updates

| More

Google Chrome Releases: Stable, Beta Channel Updates

Google Chrome 6.0.472.59 has been released to the Stable and Beta channels for Windows, Mac, and Linux.  In addition, it has been released to the beta channel for Chrome Frame.

Security fixes and rewards:
Please see the Chromium security page for more detail. Note that the referenced bugs may be kept private until a majority of our users are up to date with the fix.
  • [$500] [50250] High Use-after-free when using document APIs during parse. Credit to David Weston of Microsoft + Microsoft Vulnerability Research (MSVR) and wushi of team 509 (independent discoveries).
  • [$1000] [50712] High Use-after-free in SVG styles. Credit to kuzzcc.
  • [$500] [51252] High Use-after-free with nested SVG elements. Credit to kuzzcc.
  • [Linux only] [51709] Low Possible browser assert in cursor handling. Credit to “magnusmorton”.
  • [$500] [51919] High Race condition in console handling. Credit to kuzzcc.
  • [53176] Low Unlikely browser crash in pop-up blocking. Credit to kuzzcc.
  • [$500 x 2] [Mac only] [53361] Critical Fix bug 45400 properly on the Mac. Credit to Sergey Glazunov and “remy.saissy”.
  • [$500] [53394] High Memory corruption in Geolocation. Credit to kuzzcc.
  • [Linux only] [53930] High Memory corruption in Khmer handling. Credit to Google Chrome Security Team (Chris Evans).
  • [54006] Low Failure to prompt for extension history access. Credit to “adriennefelt”.

More details about additional changes are available in the svn revision log.  If you find new issues, please let us know by filing a bug. Want to change to another Chrome release channel - find out how.

Jason Kersey
Google Chrome
URL: http://googlechromereleases.blogspot.com/2010/09/stable-beta-channel-updates_14.html

[Gd] Increase your productivity with the Google Analytics API

| More

Google Code Blog: Increase your productivity with the Google Analytics API

(Cross-posted from the Google Analytics Blog)

Back in Episode 10 of Web Analytics TV, (32:00), Lisa C from Melbourne asked how to pull a trending report from Google Analytics for the top organic search landing pages. This was such a great question, that we wrote 2 articles and released sample code describing how you can automate retrieving this data from Google Analytics Data Export API. But first let’s look at the results.

Here is a graph plotting traffic to the top 100 landing pages for organic search for all of June for www.googlestore.com.

Let’s Analyze:
This is the typical trend graph you can find across the Google Analytics web interface. By itself, all you can tell is that something happened during the spike. what you can’t figure out is which page actually increased in traffic; to do so would require lots more digging.

Now let’s try again:
Here is a stacked area graph of each of the top 100 landing pages for organic search.

Let’s Analyze:
Awesome right! So obvious why this is cooler. But let me explain.

Lisa’s graph, above, presents significantly simplified insights. Notice how much more we can get from this graph. We can see the green page is what caused the big spike. Also we see that the blue and orange pages had interesting changes in traffic patterns; changes we couldn’t identify from the graph on the left. Being able to break down the totals graph is indeed a gold mine for analysis.

Typical actions you, or Lisa (!), can take from this data are to get the organic search keyword to send traffic to the blue page. Then to identify the keywords sending traffic to the green and orange page and see if we can increase traffic to other pages.

Exporting the Data from the web interface:
Anybody can pull this data from the Google Analytics web interface. You simply create a custom report with landing pages and entrances. Then drill into each landing page, and export the data to a csv file. Finally you go through all csv files and compile them into a single file for analysis. Let's illustrate:

Going through each report individually is a LOT of manual work, but we can automate all of this using the Data Export API; reducing hours of work into a few minutes!

Using the Data Export API to Automate:
In part one of our series, we demonstrate how to use the Data Export API to automate the exact task above. A user specifies 1 query to determine the top landing pages. The for each landing page, a separate query is used to get the data over time.

This is great and we built it to work with any query with a single dimension. But notice that the number of queries grows with the number dimensions. In fact this program requires n + 1 queries so if you want data for 1,000 dimensions, it will take 1,001 queries.

This is bad because there is a daily quota of 10,000 queries for the Data Export API. So if you ran this program 10 times, with 1,000 dimensions, it would require 10,010 queries completely using your quota. ouch!

Optimizing Data Export API Requests:
To reduce the number of queries requires, the second part of this series describes an alternate approach to retrieving the same data, but minimizes the number of queries required. In the second approach, we use Data Export API filter expressions to return data for multiple dimensions in each request.

This approach dramatically reduces the amount of quota required. In the best case, only 2 queries are required.

Using this second approach, analysts can now run this report to their hearts content. They can do this for different time frames, and different dimensions, comparing organic vs paid traffic, trends of keywords by search engine, even compare traffic by geography.

As we mentioned, we wrote two articles describing both approaches and released the sample code for the application. Let us know the amazing insights you find through using this tool.

Have fun!

By Nick Mihailovski, Analytics API Team
URL: http://googlecode.blogspot.com/2010/09/increase-your-productivity-with-google.html

[Gd] Supporting the new music Voice Action

| More

Android Developers Blog: Supporting the new music Voice Action

[This post is by Mike LeBeau, the Tech Lead and architect behind Voice Actions. — Tim Bray]

We recently launched Voice Actions in the new Google Voice Search for Android — an awesome new way to search, control, and communicate on your phone faster than ever before, by using your voice.

One of these new Voice Actions lets users find and automatically play music. By speaking something like “listen to They Might Be Giants” into the new Voice Search, users can quickly find the music they want online and play it, using any number of different apps. (Pandora, Last.fm, Spotify, mSpot, and Rdio are among the first apps to support this.)

To do this, we leveraged a very common little piece of Android magic: a new Intent. If you develop a music app that supports open-ended music search, you can make it work with users speaking “listen to” Voice Actions simply by registering for the new intent we’ve defined. This new intent isn’t defined as a constant in the SDK yet, but we wanted to make sure music app developers had all the information needed to use it right away.

Here’s all you should need to know:

  • In your AndroidManifest.xml, just register one of your activities for the new intent android.media.action.MEDIA_PLAY_FROM_SEARCH:

    <application android:label="@string/app_name" android:icon="@drawable/icon">
    <activity android:name="MusicActivity" android:label="@string/app_name">
    <intent-filter>
    <action android:name="android.media.action.MEDIA_PLAY_FROM_SEARCH" />
    <category android:name="android.intent.category.DEFAULT" />
    </intent-filter>
    </activity>
    </application>
  • When your activity receives this intent, you can find the user’s search query inside the SearchManager.QUERY string extra:

    import android.app.Activity;
    import android.app.SearchManager;

    public class MusicActivity extends Activity {
    @Override
    public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    String query = getIntent().getStringExtra(SearchManager.QUERY);
    // Do something with query...
    }
    }

    This will represent everything the user spoke after “listen to”. This is totally open-ended voice recognition, and it expects very flexible search — so, for example, the string could be the name of any artist (“they might be giants”), an album (“factory showroom”), a song (“metal detector”), or a combination of any of these (“metal detector by they might be giants”).

A few subtle details worth understanding about this intent:

  • Your app should do its best to quickly find and automatically play music corresponding to the user’s search query. The intention here is to get users to their desired result as fast as possible, and in this case, that means playing music quickly.

  • This will really only work well for music apps that can find music across a very large corpus of options. Because our voice recognition doesn’t currently support any way to provide a list of specific songs to be recognized, trying to use it against a small set of music choices will work poorly — things which are not in the set will be over-recognized, and things which are in the set may not be recognized well. So if you’re not the developer of a large-scale cloud music application, this intent is probably not for you.

We think you’ll find this new intent can greatly enhance your music app’s experience for users. And we hope you enjoy our new Voice Actions as much as we do!



URL: http://android-developers.blogspot.com/2010/09/supporting-new-music-voice-action.html

[Gd] Unleashing GPU acceleration on the web

| More

Chromium Blog: Unleashing GPU acceleration on the web

Since our previous post, we've made good progress on 2D graphics performance: 2D canvas acceleration is now available in trunk and the canary build by using the --enable-accelerated-2d-canvas command-line switch (coming to the developer channel shortly). We’ve also been hard at work improving our 3D graphics stack. Today, we’re excited to release a set of WebGL demos to help highlight what you can do with the API.

Chromium’s 2D canvas acceleration uses the same GPU process infrastructure as the compositor, which is designed to maintain the same stability and security Chromium has always had. In addition, this system picks the best graphics API to use on each OS that Chromium supports: Windows XP/Vista/7, Mac OS and Linux. We haven’t finished implementing accelerated 2D canvas support – there’s no Mac support and some functions are not accelerated yet – but Chromium already achieves some impressive gains on the recent IE9 Platform Preview Test Drive 2D canvas demos:

These early numbers show up to 60x speed improvement over the current version of Google Chrome. With Google Chrome’s fast release cycles, we expect to be able to get these enhancements to users quickly and add new performance improvements over time.

We’re excited to give developers fast 2D graphics, but we think truly hardware accelerating graphics on the web means giving developers access to a programmable 3D graphics pipeline with WebGL. Even with accelerated 2D canvas and SVG, it’s still not possible to achieve many graphics effects with these APIs. (To read more about the progression from dynamic 2D to CSS Transforms and WebGL, check out our recent blog post). With WebGL and 3D CSS, developers can create modern games, impressive photo galleries, 3D data visualizations, virtual environments, and whatever else they can dream up.

To give you a taste for what WebGL can do, we’ve worked with a number of talented artists and developers to create the first round of a series of demos, ranging from a realistic aquarium to a 3D wall of photos. We hope these demos help demonstrate even more immersive experiences made possible with these APIs. So check out our demo gallery with an up-to-date canary build or Chromium build and have some fun with using your GPU in the browser! For a quick peek at some of these demos, you can watch our playlist of preview videos:



Posted by James Robinson, Software Engineer and Gregg Tavares, Software Engineer
URL: http://blog.chromium.org/2010/09/unleashing-gpu-acceleration-on-web.html