Senior Java developer, one of the top stackoverflow users, fluent with Java and Java technology stacks - Spring, JPA, JavaEE. Founder and creator of http://computoser.com and http://welshare.com . Worked on Ericsson projects, Bulgarian e-government projects and large scale recruitment platforms. Member of the jury of the International Olympiad in Linguistics and the Program committee of the North American Computational Linguistics Olympiad. Bozhidar is a DZone MVB and is not an employee of DZone and has posted 81 posts at DZone. You can read more from them at their website. View Full User Profile

First Experience with the Google+ API: Poor for Java Devs

09.21.2011
| 7859 views |
  • submit to reddit

So, Google released an API for Google+. Sort of. It only has three methods – People.get, Activities.list and Activities.get. But let’s assume we can build something with this. Not something useful, but…something.

So I decided to implement two features of my startup (http://welshare.com) – a chart with your posts, replies and +1s per day, and a list of your top recent messages. The API looked sufficient. Since I’m using Java, I grabbed the starter java project. First, the jar with the API classes (+ the ones generated from json) are in a jar that is not available in maven. It is available only in the example project. OK, fine. Then I had to authenticate. OAuth2 looks simple, but the classes in the standard google-api-client jar look suspicious. Lots of direct field access (deprecated now), some duplicating fields. OK, this is not the only OAuth2 implementation, so I used the one of spring-social. Worked fine.

So, now I have an access token, a refresh token. I implemented the charts and top messages features rather quickly, tested it with my account, it worked fine, and I deployed it.

But then other people tried the features and it wasn’t quite working for them – nothing in the “top messages”, and no +1s on the chart. Why is that? Well, it appears there’s a bug – not in welshare, but in Google+ – when you request user activities and pass the maxResults parameter, the plusoners.totalItems field is always 0. OK, you have a bug in your 3 methods that we waited 3 months for. But that’s beta, so it’s forgiven, and I head to their developers site to report the bug. Um, no. There is no place to report bugs. Something that developers were invited to do. Hm, perhaps I’ll see it when I authenticate? Oops, Internal Server Error. 2nd try – success, but still no bug reporting. Perhaps the discussion forum? I’ll try there. Waiting for moderator to approve my post. (Update: it appears there is an issue tracker – a link was given in a response to my report – http://code.google.com/p/google-plus-platform/issues/detail?id=4. And it seems the issue is already reported, 5 days ago.)

Overall experience – bad. Not enough effort for the Java (and perhaps the other) API clients (they should have versions, be a separate project, and be documented), no visible way to report bugs and bugs that should have been caught by QA/automation. On the plus side – the coding to the API itself was rather quick and without any issues.

Now, this post shouldn’t be viewed as whining. I’m trying to point out that Google will find it hard to win users and developers on their side if the experience is bad.

 

From http://techblog.bozho.net/?p=578

Published at DZone with permission of Bozhidar Bozhanov, author and DZone MVB.

(Note: Opinions expressed in this article and its replies are the opinions of their respective authors and not those of DZone, Inc.)

Tags: