Saturday, July 9, 2011

[Gd] GTAC: Call for Team Attendance

| More

Google Testing Blog: GTAC: Call for Team Attendance

Attending conferences can be a great way to network and learn new concepts. However, taking those concepts back to your office and trying to convince your team apply them can be daunting. In order to make GTAC attendees more successful at implementing what they learn at this conference we are going to give preference to teammates from the same company applying for attendance. Bring another developer or tester (or two or three) and attend as a team so you can discuss what you learn and experience, hopefully increasing your chances of putting it into practice when you return to work.

We're extending the deadline for attendees until the end of July to give you a chance to round up some teammates.

Friday, July 8, 2011

[Gd] Using 2-legged OAuth with the Google Tasks API for Google Apps domain administrators

| More

Google Apps Developer Blog: Using 2-legged OAuth with the Google Tasks API for Google Apps domain administrators

Since the launch of the Google Tasks API many Google Apps domain administrators have asked us how to use the API with 2-legged OAuth 1.0 (2LO) for authorization. The process for using 2LO with the Tasks API is slightly different compared to using it for the Google Calendar API or the Google Contacts APIs, which makes it a little tricky if you are already accustomed to working with those.
  1. Any use of the Tasks API needs to reference a project in the APIs Console, as the Console is used to manage API quotas and other application settings (such as IP filters).
  2. The Tasks API needs to be explicitly enabled for your domain OAuth key and secret.
Note: 2-legged OAuth via the method described in this post and referenced documentation is available for Google Apps for Business and Google Apps for Education administrators, but is not available for administrators of the Free edition.

Referencing an APIs Console Project

The Tasks API needs to know which APIs Console project is sending requests to the API (so quota can be deducted, filters can be checked, etc.). To supply this information, you need to specify the API Key of your project within each request to the Tasks API-- even when using 2LO. This is done by specifying the API Key in a key URL query parameter.


The Java client library can do this for you automatically if you specify it after initializing the Tasks service:
// Initializing the Tasks API service
Tasks service = new Tasks("2-LO Tasks Test", httpTransport, jsonFactory);
service.accessKey = API_KEY;

Enabling the Tasks API for your domain OAuth key and secret

Also, before your API requests will be successful, you will need to change a few things in your OAuth Consumer Key and Secret configuration. In the Manage OAuth domain key page available in the Google Apps Control Panel (under advanced tools), you will need to make sure that the option Enable this consumer key is checked and the option saying Allow access to all APIs is unchecked. This may sound counterintuitive, but this option will give you access to a specific set of APIs and is necessary to access the Tasks API.

Setting up the domain OAuth consumer key and secret

Then you will need to specify which APIs you want your domain OAuth key and secret to have access to. You will be able to do this in the Manage third party OAuth Client access page where you will need to list manually all the scopes that your domain key will have access to. For example for your token to have access to the Google Calendar API and the Google Tasks API use:

You should then be all set to use 2LO with your Google Apps domain key and secret.

For a more detailed and step-by-step explanation with code samples on how to use 2LO if you are a Google Apps domain admin, I invite you to have a look at the newly published article: Using 2-Legged OAuth with Google Tasks API for Google Apps domain administrators.

Nicolas Garnier profile | twitter | events

Nicolas joined Google’s Developer Relations in 2008. Since then he's worked on commerce oriented products such as Google Checkout and Google Base. Currently, he is working on Google Apps with a focus on the Google Calendar API, the Google Contacts API, and the Tasks API. Before joining Google, Nicolas worked at Airbus and at the French Space Agency where he built web applications for scientific researchers.

Want to weigh in on this topic? Discuss on Buzz

[Gd] Video Case Studies: How Assistly and Cloud Sherpas Innovate on Google Apps

| More

Google Apps Developer Blog: Video Case Studies: How Assistly and Cloud Sherpas Innovate on Google Apps

The Google I/O Developer Sandbox is an annual tradition that gives innovative developers a chance to showcase their companies and technologies to others at our developer conference. This year, 24 companies were in the Google Apps Sandbox showing the products and custom solutions they’ve integrated with Google Apps. In case you weren’t able to see the Sandbox firsthand, we want to share a couple videos from these companies to spread their knowledge and excitement with the rest of the ecosystem.

Assistly - Delivering customer service, fully integrated with Gmail

Assistly is a customer support application from small to medium size enterprises, integrated with Google Apps Single Sign-On, Gmail and social networks and available for purchase on the Google Apps Marketplace. Assistly is one of many great business applications which make the vision of 100% Web viable today.

A couple spoilers:
  • 70% of Assistly users leverage Gmail
  • The Google Apps Marketplace is a Top 5 distribution channel for Assistly

Cloud Sherpas - Google Apps reseller, custom app and admin tools developer

Cloud Sherpas is a Google Apps reseller that helps companies migrate to Google Apps and fully utilize the suite of web-based collaboration tools. They’ve also built SherpaTools on Google App Engine, a corporate contact management and IT administration tool for Google Apps available for purchase on the Google Apps Marketplace.

A couple spoilers:
  • Cloud Sherpas has had a 3-fold increase in revenue year over year
  • SherpaTools is servicing domains totalling close to 3.5 million users

We’ve also created video case studies of 17 additional companies who are innovating using other Google technologies, such as App Engine, Chrome/HTML and Android. Check out the full playlist on the GoogleDevelopers YouTube channel.

Ryan Boyd profile | twitter | events

Ryan is a Developer Advocate on the Google Apps Marketplace team, helping businesses build applications integrated into Google Apps. Wearing both engineering and business development hats, you'll find Ryan writing code and helping businesses get to market with integrated features.

Want to weigh in on this topic? Discuss on Buzz

[Gd] Google Apps Marketplace - Developer Survey

| More

Google Apps Developer Blog: Google Apps Marketplace - Developer Survey

The Google Apps Marketplace team would like to get feedback from the developer community on your experience with the Marketplace and what you think can be done to improve it.

Please fill out the survey below if you have an installable app on the Marketplace (using the Add it Now blue button), are actively building an installable app or previously had an installable app on the Marketplace.

Most questions are optional, so please provide the feedback most important to you even if you don't have time to complete the whole survey.

We'd also like to offer the opportunity to speak 1:1 with the Google team about your Marketplace app. If you're interested, please provide a proposed agenda at the end of the survey.

-Ryan, Scott, Steve and the entire Apps Marketplace team

If you do not see the survey embedded above, please visit the form directly.

Ryan Boyd profile | twitter | events

Ryan is a Developer Advocate on the Google Apps Marketplace team, helping businesses build applications integrated into Google Apps. Wearing both engineering and business development hats, you'll find Ryan writing code and helping businesses get to market with integrated features.


Thursday, July 7, 2011

[Gd] GWT apps featured in Google I/O videos

| More

Google Web Toolkit Blog: GWT apps featured in Google I/O videos

Congrats to DayZipping, Eureka Streams, and Rovio on your case study videos from Google I/O! These were among the 19 companies selected for interviews on how they're innovating with Google technologies.

Watch the full playlist here.


[Gd] Using Cross-domain images in WebGL and Chrome 13

| More

Chromium Blog: Using Cross-domain images in WebGL and Chrome 13

A few weeks ago, we became aware of a security issue with WebGL: shaders could be used to indirectly deduce the contents of textures uploaded to the GRU. As a result, the WebGL specification was updated to be more restrictive when it comes to using cross-domain images and videos as WebGL textures.

As a result, Chrome 13 (and Firefox 5) will no longer allow cross-domain media as a WebGL texture. The default behavior will be a DOM_SECURITY_ERR. However, applications may still utilize images and videos from another domain with the cooperation of the server hosting the media, otherwise known as CORS.

CORS support for MediaElements has also been fully implemented in WebKit by setting a new .crossOrigin attribute. This means that sophisticated applications that were using cross-origin textures before, can continue to do so, assuming the hosting image server grants the necessary cross-origin permission using CORS. If you want to enable CORS request on an image, all you have to do is add one line of code:

var img = document.createElement('img');
img.onload = function(e) { … };
img.crossOrigin = ''; // no credentials flag. Same as img.crossOrigin='anonymous'
img.src = '';

Another nice property that we gain from this new setting is the ability to read cross-domain image data set on a 2D canvas. Normally, filling a canvas with a remote image (e.g. ctx.drawImage()) flips the origin-clean flag to false. Attempting to read back the pixels using ctx.toDataURL() or ctx.getImageData() throws a SECURITY_ERR. This is to prevent information leakage. However, when .crossOrigin is set (and the remote server supports CORS), the read is possible. For example:

var img = document.createElement('img');
img.onload = function(e) {
ctx.drawImage(img, 0, 0, canvas.width, canvas.height);
var url = canvas.toDataURL(); // Read succeeds, canvas won't be dirty.
img.crossOrigin = '';

img.src = '';

Unfortunately, this new restriction in WebGL means that some existing content will break. We’ve already started working with external image and video hosting services like Flickr to evangelize the use of CORS on their images.

You can test this new behavior today using images from Picasa, which already sends a CORS header allowing cross-origin requests, and the Chrome dev channel.

Posted by Eric Bidelman, Developer Advocate

Wednesday, July 6, 2011

[Gd] Taking command of issue triage

| More

The official Google Code blog: Taking command of issue triage

By Jason Robbins, Google Project Hosting Team

Faster is better, especially for tedious tasks. Even though software development can be creative and exciting, it certainly has its share of tedious tasks. For example, that open source application library you developed that got users so excited? Well, now it is generating dozens of defect reports and enhancement requests for you and your teammates to sift through. Is your team growing? Are you planning a major release? Is it time to finally clean up obsolete issues? It’s awesome to be organized, but keeping up with all your issues can become tedious: click, click, click, click, click.

Today we’re launching a new issue tracking feature that allows quick edits in the issue preview window. It’s a happy medium between viewing one issue in detail and doing a bulk edit. Unlike the familiar forms-based UX that we normally use, quick edits are more command-like, keyboard-oriented, and emphasize the ability to repeat recent commands.

Previewing issues works about 40% faster than our normal issue detail page, so you can skim fast enough to achieve oneness with your backlog, then punch in some quick edits to show it who’s boss. When you’re in the zone, that click, click, click is replaced with something more like h, e, j, j, e, j, j, 2, e, j, e, j, j, j, 1, e, done! Here’s your cheat sheet:

Keystroke Action
hToggle the issue preview window.
j or kSelect the next or previous issue.
f, n, p, lScroll to the first, next, previous, or last comment in an issue.
1, 2, 3, 4, 5Select a recent command. If you modify the command or comment, it will be stored in that numbered slot for later reuse.
mFocus on the command text field.
eExecute the command and show the issue comment that it generated.

Not ready to go all-keyboard? Just turn on the user preference for issue preview when mousing. Then, you can do your most common and repetitive issue edits by just hovering over an ID number and clicking the Execute button.

Jason Robbins founded the ArgoUML and ReadySET open source projects as a result of his research into the cognitive challenges of software engineering tool UIs. He’s worked on Google Project Hosting since 2005. Over the years he’s been a contestant, coach, and judge for the ACM International Collegiate Programming Contest.

Posted by Scott Knaster, Editor

Monday, July 4, 2011

[Gd] Beta Channel Update

| More

Google Chrome Releases: Beta Channel Update

The Beta channel has been updated to 13.0.782.41 for Windows, Mac, Linux, and Chrome Frame.

The full list of changes is available in the SVN revision log.  Interested in switching to the Beta channel?  Find out how.  If you find a new issue, please let us know by filing a bug.

Anthony Laforge
Google Chrome

Sunday, July 3, 2011

[Gd] Beyond PageRank: Graduating to actionable metrics

| More

Official Google Webmaster Central Blog: Beyond PageRank: Graduating to actionable metrics

Webmaster level: Beginner

Like any curious netizen, I have a Google Alert set up to email me whenever my name is mentioned online. Usually I get a slow trickle of my forum posts, blog posts, and tweets. But by far the most popular topic of these alerts over the past couple years has been my off-handed mention that we removed PageRank distribution data from Webmaster Tools in one of our 2009 releases.

The fact that people are still writing about this almost two years later—usually in the context of “Startling news from Susan Moskwa: ...”—really drives home how much PageRank has become a go-to statistic for some webmasters. Even the most inexperienced site owners I talk with have often heard about, and want to know more about, PageRank (“PR”) and what it means for their site. However, as I said in my fateful forum post, the Webmaster Central team has been telling webmasters for years that they shouldn't focus so much on PageRank as a metric for representing the success of one’s website. Today I’d like to explain this position in more detail and give you some relevant, actionable options to fill your time once you stop tracking your PR!

Why PageRank?
In 2008 Udi Manber, VP of engineering at Google, wrote on the Official Google Blog:
“The most famous part of our ranking algorithm is PageRank, an algorithm developed by Larry Page and Sergey Brin, who founded Google. PageRank is still in use today, but it is now a part of a much larger system.”
PageRank may have distinguished Google as a search engine when it was founded in 1998; but given the rate of change Manber describes—launching “about 9 [improvements] per week on the average”—we’ve had a lot of opportunity to augment and refine our ranking systems over the last decade. PageRank is no longer—if it ever was—the be-all and end-all of ranking.

If you look at Google’s Technology Overview, you’ll notice that it calls out relevance as one of the top ingredients in our search results. So why hasn’t as much ink been spilled over relevance as has been over PageRank? I believe it’s because PageRank comes in a number, and relevance doesn’t. Both relevance and PageRank include a lot of complex factors—context, searcher intent, popularity, reliability—but it’s easy to graph your PageRank over time and present it to your CEO in five minutes; not so with relevance. I believe the succinctness of PageRank is why it’s become such a go-to metric for webmasters over the years; but just because something is easy to track doesn’t mean it accurately represents what’s going on on your website.

What do we really want?
I posit that none of us truly care about PageRank as an end goal. PageRank is just a stand-in for what we really want: for our websites to make more money, attract more readers, generate more leads, more newsletter sign-ups, etc. The focus on PageRank as a success metric only works if you assume that a higher PageRank results in better ranking, then assume that that will drive more traffic to your site, then assume that that will lead to more people doing-whatever-you-want-them-to-do on your site. On top of these assumptions, remember that we only update the PageRank displayed on the Google Toolbar a few times a year, and we may lower the PageRank displayed for some sites if we believe they’re engaging in spammy practices. So the PR you see publicly is different from the number our algorithm actually uses for ranking. Why bother with a number that’s at best three steps removed from your actual goal, when you could instead directly measure what you want to achieve? Finding metrics that are directly related to your business goals allows you to spend your time furthering those goals.

If I don’t track my PageRank, what should I be tracking?
Take a look at metrics that correspond directly to meaningful gains for your website or business, rather than just focusing on ranking signals. Also consider metrics that are updated daily or weekly, rather than numbers (like PageRank) that only change a few times a year; the latter is far too slow for you to reliably understand which of your changes resulted in the number going up or down (assuming you update your site more than a few times a year). Here are three suggestions to get you started, all of which you can track using services like Google Analytics or Webmaster Tools:
  1. Conversion rate
  2. Bounce rate
  3. Clickthrough rate (CTR)
Conversion rate
A “conversion” is when a visitor does what you want them to do on your website. A conversion might be completing a purchase, signing up for a mailing list, or downloading a white paper. Your conversion rate is the percentage of visitors to your site who convert (perform a conversion). This is a perfect example of a metric that, unlike PageRank, is directly tied to your business goals. When users convert they’re doing something that directly benefits your organization in a measurable way! Whereas your PageRank is both difficult to measure accurately (see above), and can go up or down without having any direct effect on your business.

Bounce rate
A “bounce” is when someone comes to your website and then leaves without visiting any other pages on your site. Your bounce rate is the percentage of visits to your site where the visitor bounces. A high bounce rate may indicate that users don’t find your site compelling, because they come, take a look, and leave directly. Looking at the bounce rates of different pages across your site can help you identify content that’s underperforming and point you to areas of your site that may need work. After all, it doesn’t matter how well your site ranks if most searchers are bouncing off of it as soon as they visit.

Clickthrough rate (CTR)
In the context of organic search results, your clickthrough rate is how often people click on your site out of all the times your site gets shown in search results. A low CTR means that, no matter how well your site is ranking, users aren’t clicking through to it. This may indicate that they don’t think your site will meet their needs, or that some other site looks better. One way to improve your CTR is to look at your site’s titles and snippets in our search results: are they compelling? Do they accurately represent the content of each URL? Do they give searchers a reason to click on them? Here’s some advice for improving your snippets; the HTML suggestions section of Webmaster Tools can also point you to pages that may need help. Again, remember that it doesn’t matter how well your site ranks if searchers don’t want to click on it.

Entire blogs and books have been dedicated to explaining and exploring web metrics, so you’ll excuse me if my explanations just scrape the surface; analytics evangelist Avinash Kaushik’s site is a great place to start if you want to dig deeper into these topics. But hopefully I’ve at least convinced you that there are more direct, effective and controllable ways to measure your site’s success than PageRank.

One final note: Some site owners are interested in their site’s PR because people won’t buy links from their site unless they have a high PageRank. Buying or selling links for the purpose of passing PageRank violates our Webmaster Guidelines and is very likely to have negative consequences for your website, so a) I strongly recommend against it, and b) don’t be surprised if we aren’t interested in helping you raise your PageRank or improve your website when this is your stated goal.

We’d love to hear what metrics you’ve found useful and actionable for your website! Feel free to share your success stories with us in the comments here or in our Webmaster Help Forum.

Posted by , Webmaster Trends Analyst

[Gd] +1 reporting in Google Webmaster Tools and Google Analytics

| More

Official Google Webmaster Central Blog: +1 reporting in Google Webmaster Tools and Google Analytics

Webmaster level: All

It’s been a busy week for us here at the Googleplex. First we released +1 buttons to Google search sites globally, then we announced the beginning of the Google+ project.

The +1 button and the Google+ project are both about making it easier to connect with the people you trust online. For the +1 button, that means bringing advice from trusted friends and contacts right into Google search, letting the users who love your web content recommend it at the moment of decision.

But when you’re managing a website, it's usually not real until you can measure it. So we’re happy to say we’ve got one more announcement to make -- today we’re releasing reports that show you the value +1 buttons bring to your site.

First, +1 metrics in Google Webmaster Tools can show you how the +1 button affects the traffic coming to your pages:

  • The Search Impact report gives you an idea of how +1‘s affect your organic search traffic. You can find out if your clickthrough rate changes when personalized recommendations help your content stand out. Do this by comparing clicks and impressions on search results with and without +1 annotations. We’ll only show statistics on clickthrough rate changes when you have enough impressions for a meaningful comparison.
  • The Activity report shows you how many times your pages have been +1’d, from buttons both on your site and on other pages (such as Google search).
  • Finally, the Audience report shows you aggregate geographic and demographic information about the Google users who’ve +1’d your pages. To protect privacy, we’ll only show audience information when a significant number of users have +1’d pages from your site.
Use the +1 Metrics menu on the side of the page to view your reports. If you haven’t yet verified your site on Google Webmaster Tools, you can follow these instructions to get access.

Finally, you can also see how users share your content using other buttons besides +1 by using Social Plugin Tracking in Google Analytics. Once you configure the JavaScript for Analytics, the Social Engagement reports help you compare the various types of sharing actions that occur on your pages.

  • The Social Engagement report lets you see how site behavior changes for visits that include clicks on +1 buttons or other social actions. This allows you to determine, for example, whether people who +1 your pages during a visit are likely to spend more time on your site than people who don’t.
  • The Social Actions report lets you track the number of social actions (+1 clicks, Tweets, etc) taken on your site, all in one place.
  • The Social Pages report allows you to compare the pages on your site to see which are driving the highest the number of social actions.
If you’re using the default version of the latest Google Analytics tracking code, when you add +1 buttons to your site, we automatically enable Social Plugin Tracking for +1 in your account. You can enable tracking for other social plugins in just a few simple steps.

Social reporting is just getting started. As people continue to find new ways to interact across the web, we look forward to new reports that help business owners understand the value that social actions are providing to their business. So +1 to data!

Written by Dan Rodney, Software Engineer