Thursday, December 24, 2009

[Gd] Helping webmasters from user to user

| More

Official Google Webmaster Central Blog: Helping webmasters from user to user

You have to have some kind of super-powers to keep up with all of the issues posted in our Webmaster Help Forum—that's why we call our Top Contributors the "Bionic Posters." They're able to leap through tall questions in a single bound, providing helpful and solid information all around. We're thankful to the Bionics for tackling problems both hard and easy (well, easy if you know how). Our current Bionic Posters are: Webado (Christina), Phil Payne, Red Cardinal (Richard), Shades1 (Louis), Autocrat, Tim Abracadabra, Aaron, Cristina, Robbo, John, Becky Sharpe, Sasch, BbDeath, Beussery (Brian), Chibcha (Terry), Luzie (Herbert), 奥宁 (Andy), Ashley, Kaleh and Redleg!

With thousands of webmasters visiting the English Help Forum every day, some questions naturally pop up more often than others. To help catch these common issues, the Bionic Posters have also helped to create and maintain a comprehensive list of frequently asked questions and their answers. These FAQs cover everything from "Why isn't my site indexed?" to diagnosing difficult issues with the help of Google Webmaster Tools, often referring to our Webmaster Help Center for specific topics. Before you post in the forum, make sure you've read through these resources and do a quick search in the forum; chances are high that your question has been answered there already.

Besides the Bionic Posters, we're lucky to have a number of very active and helpful users in the forum, such as: squibble, Lysis, yasir, Steven Lockey, seo101, RickyD, MartinJ and many more. Thank you all for making this community so captivating and—most of the time—friendly.

Here are just a few (well, a little more than a few) of the many comments that we've seen posted in the forum:

  • "Thank you for this forum... Thank you to those that take the time to answer and care!"
  • "I've only posted one question here, but have received a wealth of knowledge by reading tons of posts and answers. The time you experts put into helping people with their problems is very inspiring and my hat's off to each of you. Anyway, I just wanted to let you know that your services aren't going unnoticed and I truly appreciate the lessons."
  • "Thank you very much cristina, what you told me has done the trick. I really appriciate the help as this has been bugging me for a while now and I didn't know what was wrong."
  • "thank you ssssssssssoooo much kaleh. "
  • "OK, Phil Payne big thanks to You! I have made changes and maybe people are starting to find me in G! Thanks to Ashley, I've started to make exclusive and relevant content for people."
  • "If anything, it has helped me reflect on the sites and projects of days gone by so as to see what I could have done better - so that I can deliver that much more and better results going forward. I've learned that some things I had done right, were spot on, and other issues could have been handled differently, as well as a host of technical information that I've stored away for future use. Bottom Line: this forum rocks and is incredibly helpful."
  • "I asked a handful of questions, got GREAT help while doing a whole lot of lurking, and now I've got a site that rocks!! (...) Huge thanks to all the Top Contributors, and a very special mention to WEBADO, who helped me a TON with my .htaccess file."
  • "Over the years of reading (and sometimes contributing) to this forum I think it has helped to remove many false assumptions and doubts over Google's ranking systems. Contrary to what many have said I verily believe Google can benefit small businesses. Keep up the good work. "
  • "The forum members are awesome and are a most impressive bunch. Their contribution is immeasurable as it is huge. Not only have they helped Google in their success as a profitable business entity, but also helped webmasters both aspiring and experienced. There is also an engender(ment) of "family" or "belonging" in the group that has transcended the best and worst of times (Current forum change still TBD :-) ). We can agree, disagree and agree to disagree but remain respectful and civil (Usually :-) )."
  • "Hi Redleg, Thank you very much for all of the information. Without your help, I don't think I would ever have known how to find the problem. "
  • "What an amazing board. Over the last few days I have asked 1 question and recieved a ton of advice mainly from Autocrat. "
  • "A big thank you to the forum and the contributors that helped me get my site on Google . After some hassle with my web hosters and their naff submission service, issues over adding pages Google can see, issues over Sitemaps, I can now say that when I put my site name into the search and when i put in [custom made watch box], for instance, my site now comes up."
  • "Thank you Autocrat! You are MAGNIFICENT! (...) I am your biggest fan today. : ) Imagine Joe Cocker singing With a Little Help from My Friends...that's my theme song today."
  • "I've done a lot of reading since then and I've learned more in the last year than I learned in the previous 10. When I stumbled into this forum I had no idea what I was getting into but finding this forum was a gift from God! Words cannot express the amount of gratitude I feel for the help you have given me and I wish I could repay you some how.... I don't mean to sound so mushy, but I write this with tears in my eyes and I am truly, truly grateful..."

Are you new to the Webmaster Help Forum? Tell us a little bit about yourself and then join us to learn more and help others!

Posted by John Mueller, Webmaster Trends Analyst, Google Zürich
URL: http://googlewebmastercentral.blogspot.com/2009/12/helping-webmasters-from-user-to-user.html

Wednesday, December 23, 2009

[Gd] Discover v2009: Location Extensions

| More

AdWords API Blog: Discover v2009: Location Extensions

Location, location, location: so goes the mantra of the real estate business. Although, in this constantly connected world where people are carrying Internet-enabled mobile devices more and more, location is important to every retail business. Often, users are looking for the closest provider of a service or a product, rather than your specific business.

So how can you get your business on the map? In the past, we had an entirely separate ad type: the Local Business Ad (LBA). But with the new AdWords interface and AdWords API v2009, we have a much simpler solution available: Location Extensions. These allow you to easily add location information to any text ad in your campaigns.

Let's look at an example. Say your business has a few branches open throughout the city, and you want to add location information to your existing ads. The first step is to retrieve the location of each branch, based on its address. That means making a call to the new GeoLocationService, which uses a process known as "geocoding."

// Create address object.
Address address = new Address();
address.setStreetAddress("123 Easy Street");
address.setCityName("Mountain View");
address.setProvinceCode("US-CA");
address.setPostalCode("94043");
address.setCountryCode("US");
// Get location information from the service.
GeoLocationSelector selector = new GeoLocationSelector();
selector.setAddresses(new Address[] {address});
GeoLocation[] locations = geoLocationService.get(selector);
location = locations[0];

The next step is to use the CampaignAdExtensionService to add a location extension to your campaign using the information returned by the GeoLocationService:

// Create LocationExtension.
LocationExtension locationExtension = new LocationExtension();
locationExtension.setAddress(location.getAddress());
locationExtension.setGeoPoint(location.getGeoPoint());
locationExtension.setEncodedLocation(location.getEncodedLocation());
locationExtension.setCompanyName("Foo");
locationExtension.setPhoneNumber("650-555-5555");
locationExtension.setSource(LocationExtensionSource.ADWORDS_FRONTEND);
// Create CampaignAdExtension.
CampaignAdExtension campaignAdExtension = new CampaignAdExtension();
campaignAdExtension.setCampaignId(campaignId);
campaignAdExtension.setAdExtension(locationExtension);
// Add location extension to the campaign.
CampaignAdExtensionOperation operation = new CampaignAdExtensionOperation();
operation.setOperand(campaignAdExtension);
operation.setOperator(Operator.ADD);
CampaignAdExtensionOperation[] operations =
new CampaignAdExtensionOperation[] {operation};
CampaignAdExtensionReturnValue result =
campaignAdExtensionService.mutate(operations);

Multiple location extensions can be added to the same campaign, and by default each ad in the campaign will be associated with every location. When serving your ad the AdWords system will choose the most relevant location to display to the user. Do keep in mind that there is a limit of 9 manually created location extensions per campaign. Alternatively you can have AdWords pull addresses directly from your Local Business Center (LBC) account, which isn't subject to the same restriction. For now, LBC synchronization is only supported via the AdWords interface, but the next API version will include support for it as well.

Of course, not all ads are created equal, and you may want some ads to target only a single store. In that case, the solution is to create an Ad Extension Override for the one location extension that you do want to associate with that ad:

// Create ad extension override for the specified ad Id.
AdExtensionOverride adExtensionOverride = new AdExtensionOverride();
adExtensionOverride.setAdId(adId);
// Create ad extension object using specified campaign ad extension Id.
// This will be the only extension used for the specified ad.
AdExtension adExtension = new AdExtension();
adExtension.setId(campaignAdExtensionId);
adExtensionOverride.setAdExtension(adExtension);
// Add the override.
AdExtensionOverrideOperation operation = new AdExtensionOverrideOperation();
operation.setOperand(adExtensionOverride);
operation.setOperator(Operator.ADD);
AdExtensionOverrideOperation[] operations =
new AdExtensionOverrideOperation[] {operation};
AdExtensionOverrideReturnValue result =
adExtensionOverrideService.mutate(operations);

If you're looking for more detailed examples, be sure to check the 'examples' directory for the client library of your choice.

Extending your ads with location information will enable them to be shown on Google.com and other properties (such as Google Maps), bringing you closer to your customers' local searches. That way they'll not only find out about your offers, they'll actually be able to find you.

-- Sérgio Gomes, AdWords API Team

URL: http://adwordsapi.blogspot.com/2009/12/discover-v2009-location-extensions.html

[Gd] "Enterprise OpenSocial White paper" now available!

| More

OpenSocial API Blog: "Enterprise OpenSocial White paper" now available!

OpenSocial emerged from the demands of consumer-facing social networking sites, including MySpace, LinkedIn, and Ning. The rise of online social networking, and the changing nature of the consumer web, have both made OpenSocial increasingly relevant to business and enterprises. Beyond social capabilities for accessing and sharing user profile, relationship and activity data, OpenSocial can also be used as a general purpose web application integration technology, providing open standards for browser-based components known as gadgets. For non-browser/ui data transfer OpenSocial also includes a REST based server-to-server protocol

Over the last few months, a small group of enterprise vendors have been working together to understand how each is using OpenSocial within their organizations, and identify requirements based upon their enterprise use cases. What started out as a panel session at Google IO in May of 2009, led to larger face to face meeting in September consisting of representatives from IBM, SAP, Atlassian, Alfresco, SocialText, Cisco, Cubetree, eXo Platform, Google and others. The result of that face to face meeting is the Enterprise OpenSocial white paper, a collaborative effort that discusses general requirements for enterprise social systems and describes how OpenSocial can be used today to address them. Not all requirements are met today, however, so the paper also outlines the current gaps and discusses how the specification might evolve to meet them.

The white paper is intended for IT professionals, development managers, and Chief Technology Officers (CTOs) who are leading organizational changes through social computing by embracing standards and Web 2.0 approaches. Our next face to face meeting is in late January 2010, so check out the Enterprise OpenSocial page on OpenSocial.org for more details. We hope that you find the paper enjoyable and educational. However, we recognize this is only the first step. Like the paper, we'll conclude with a call to action and encourage you to become involved and help shape OpenSocial.

Click here to read the "Enterprise OpenSocial White paper"!


Posted on behalf of the Enterprise OpenSocial team by Mark Weitzel (IBM) and Chris Schalk (Google)
URL: http://blog.opensocial.org/2009/12/enterprise-opensocial-white-paper-now.html

Tuesday, December 22, 2009

[Gd] JPA/JDO Java Persistence Tips - The Year In Review

| More

Google App Engine Blog: JPA/JDO Java Persistence Tips - The Year In Review

If you’re developing a Java application on App Engine you probably already know that you can use JPA and JDO, both standard Java persistence APIs, to interact with the datastore. What you may not know, and what I’m here to point out, is that for the past few months I’ve been accumulating a collection of practical, real-world examples that can help you take full advantage of these powerful APIs.



In episode one I put together a working example of an owned, bidirectional, one-to-many relationship and demonstrated how you can persist child objects just by associating them with parent objects. In episode two I demonstrated how to perform a batch get by issuing a query that only filters on the primary key property of your model object. In episode three I explored the exciting world of “transparent persistence,” explaining how you can modify the persistent state of objects without making any explicit calls to repersist them. In episode four I issued a keys-only query and got the results back crazy-fast because the datastore skipped the extra scan that turns keys into full-fledged entities. And in episode five I demonstrated how serialized fields can help you store arbitrary objects in the datastore.



After episode five I got a little bit tired, but there was still so much more to say, so I pressed on.



In episode six I powered through a discussion of long-running transactions and unearthed the ancient secret of how you can use optimistic locking to prevent users from updating stale data. In episode seven I explained how using unindexed properties can speed up your writes and save you valuable CPU time. In episode eight I attempted (cautiously) to blow your mind with a solution for case-insensitive queries. And finally, in episode nine, mere hours after releasing support for != and IN query operators in the SDK, I dove under the hood of these operators to help you understand their performance characteristics.



Many of these topics were inspired by questions from you, our users, so if there are topics you’d like to see covered in the coming year please let me know via the forum. As long as you keep reading and asking questions, I’ll keep writing.



Max Ross, App Engine Engineer
URL: http://googleappengine.blogspot.com/2009/12/jpajdo-java-persistence-tips-year-in.html

Monday, December 21, 2009

[Gd] This year in Custom Search

| More

Google Custom Search: This year in Custom Search


The Custom Search team has had a busy 2009. This is the year we turned 3. And now Custom Search is powering many tens of millions of queries a day on millions of small and large websites. We believe that search should be easy to deploy on your website, and, in addition to providing great relevance, should be flexible, customizable and feature-rich. With the help of your suggestions, we hope we are delivering on these goals.

This year, we hit many milestones. Here are some of the key developments:
  • integration with several hosters to bring Custom Search to your doorstep
  • enabled support for rich snippets, giving you more control over presentation of results
  • it's now easier for you to promote specific content to the top of your search results
  • we deployed contextual search within Blogger, Google Sites and Wikipedia
  • automatic transliteration is now integrated into the search box
  • improved results rendering flexibility with the Custom Search Element
  • plug-n-play with themes for enhanced customizability of results look and feel
  • added support for structured metadata and the ability to restrict results by specific attributes
  • we got you ready for the growing population of users searching your websites with mobile devices, such as Android phones, iPhone, iPod Touch, Palm Pre, etc.
And there's so much more to do with Custom Search. We'll be working next year to give you additional metadata support, more results customization, and search features that will make it even easier for your users to find the right information faster on your websites. Your users will be happier and you can focus on more important things.

As always, we're looking at your feedback to guide our efforts. And don't forget to follow us on Twitter. Meanwhile, happy holidays, and we'll see you soon ... in the next decade!

Posted by: Rajat Mukherjee for the Custom Search Team
URL: http://googlecustomsearch.blogspot.com/2009/12/this-year-in-custom-search.html

[Gd] A look back on 2009

| More

Google Code Blog: A look back on 2009

2009 was a remarkable year for developers. Vic Gundotra, VP of our developer team declared at Google I/O, "The web has won!" and this year was full of launches and announcements that remind us how the web has become the platform of our day. We found lots of inspiration from the developers at Google I/O in San Francisco and at our Google Developer Days in Japan, China, Brazil, Russia and the Czech Republic.



Here's a look back at some of our favorite highlights from 2009:
It is a very exciting time to be a developer...we are just starting to see what is possible with the web as the platform. It will be a lot of fun to see where all of us, together, can take the web in 2010!

Happy Holidays from the Google Developer Team!

By Mike Marchak, on behalf of the Google Developer Team
URL: http://googlecode.blogspot.com/2009/12/look-back-on-2009.html