Shared publicly  - 
 
Huy Zing originally shared:
 
Many of you wanted to know what types of apps could use the first version of the Google+ API.

G+me v7 introduces augmented hovercards with functionality that must be integrated into Google+ some day.

1. First, watch the screencast: Using the Google+ API for augmented hovercards - G+me v7 (make sure to select the HD resolution)

2. Then, install the beta: http://huyz.us/gpme-beta/

3. Re-share, of course :)


4. Finally, if you want technical details, come back here to read my notes about the experience with the API.
-----------------------------------------------

Limitations of the first release of the API

Right now, the API only gives developers a read-only view of users' profile information and posts (a.k.a. "activities") -- and only the public posts. Yeah, there isn't much you can do with that... except if you use it to enhance the Google+ UI.

Types of Applications

These are initial types of applications that can do useful things so far:
1) A separate web site that queries the API about Google+ users. Examples:
- +Mohamed Mansour et al's Stream+ https://plus.google.com/116805285176805120365/posts/cDx74Qfhats
- +Gerwin Sturm 's https://www.foldedsoft.at/+/allmy+/
2) Plugin for your blog to display your Google+ posts. Example:
- +Will Norris's WordPress plugin https://plus.google.com/111832530347449196055
3) Extension for Google+ that augments the UI, as examplified by G+me.

The advantage of using the API for extension developers is the ability to enhance the default Google+ UI with features not yet available. You can't be a power user without power tools, right? Users can benefit immediately and without navigating to another site.

G+me Augmented Hovercards

In fact, G+me adds augmented hovercards that are designed so that users can get information without having to navigate to another page. With these premium hovercards, you don't need to visit users' profiles in order to get the gist of what they post about -- i.e., what they're about. So you don't lose your spot and the interface is quicker to use.

Not only that, but you get information that Google+ doesn't give you today: stats, ranked posts, word clouds. You can make better decisions about who's worth circling back and who's too noisy. Processing notifications is super fast.

JavaScript library

Note that Google+ didn't release a library for JavaScript, unlike for all the other popular languages. If you're not using OAuth2 yet, you don't need one. As you know, JSON is native to JavaScript and making requests with jQuery is just a few lines, after which you have a plain old JS object to extract data from.

For example,
$.getJSON('https://www.googleapis.com/plus/v1/people/' + userid + '/activities/public?maxResults=' + maxResults + '&key=' + plusApiDevKey).then(callback, errback);

Experience with the API

The API is very straightforward. Just some surprises.

We get occasional 503 errors from the backend. These seem to happen when querying for certain high-profile users, e.g. +Robert Scoble, +Felicia Day, +Wil Wheaton

Also, no "originalContent" field is returned for any items. Bug filed.

And then, there's still the "pagination bug" that affects us even without using the API: you can only see about 250 public posts for each user (https://plus.google.com/111775942615006547057/posts/Es73zcuRPWp)

Quota limits

By default, applications are limited to 1000 queries per day. There's also a per-user limit that can be additionally configured. Unfortunately, the web site about the API is not entirely clear about how this applies to extensions that are running on a user's machine with their own IP address. If the app uses the API key, but each user has her own IP address, it makes sense to me that the only limit should be the number of requests per second per IP address. (After all, Google can directly verify that users benefit proportionally to usage.) But it seems that the 1000 queries per day figure includes the requests of all users of the extensions, which of course won't work long-term. Can someone clarify this?

So what happens when the extension reaches the daily quota limits? It looks like I will have to start using OAuth2 in the future. But is that the right answer?

Authentication for extensions

It seems silly to use OAuth2 from within the Google+ pages if the user is already authenticated there. Why pop up a window to the user and ask them to authorize the app? I would suggest that Google+ put out a token equivalent to an OAuth2 token inside the DOM so that extensions can be immediately authorized without the extraneous popup (and development complexity). Or simply implement quota limits that only take IP addresses into account, as I mentioned in the previous section.

What now

Anyway, I just took the time out to develop this so that every user of Google+ could immediately benefit from the new Google+ API.

But I should return to my work on the extension SDK that'll make extensions resilient to layout changes due to the Google's Closure Compiler.
G+me v7 offers you the first benefits of the Google+ API: powerful new hovercards that let you quickly see if someone is worth adding to your circles.
1