Profile

Cover photo
Verified name
Ian Barber
Works at Google
Attended University of Sussex
Lives in San Francisco
2,556,149 views
AboutPostsPhotosReviews

Stream

Ian Barber

Shared publicly  - 
 
An elegant solution!
Dear Publisher,. We are excited to introduce News, an all-new app for iPhone and iPad coming with iOS 9. News delivers stories from the best sources, beautifully designed, and selected just for you. We believe your RSS feeds feature great content, and we think Apple customers will agree.
6
1
Chris Barber's profile photoNawaid Shamim's profile photo
 
Your terms have been weighed in the balance and found wanting!
Add a comment...

Ian Barber

Shared publicly  - 
 
Gerwin has taken a look at some of the nice new options in the Javascript google sign-in APIs.
 
Google Sign-In 2.0

So I started my investigation in the new Identity functionalities that are apparently meant to take over from Google+ Sign-In.
https://developers.google.com/identity/sign-in/

Disclaimer: There hasn't been an official announcement for them yet and the documentation only appeared yesterday (https://developers.google.com/identity/sign-in/) so things might still be in flux and change without warning (for example you still get a lot of debugging information in the console). I also haven't looked over all of the docs in detail yet so I might be missing important facts in what I'm writing.

I've started out with some really basic examples to highlight some of the new features here:
https://scary-experiments.appspot.com/signin2/

1) basic.html
This is just the most simple implementation possible. You only define your client-id, no scopes, no nothing.
Compared to the original sign-in implementation this seems even less code than before, especially since the on-success callback now gets a GoogleUser object with basic profile information (id, name, email, image) in addition to the access token so you don't need extra API calls to retrieve this info.

One nice thing with the new button is that it visibly changes state from "Sign in" to "Signed in". In most cases you will still want to hide the button and/or replace it with a "Sign out" button, but I think it's a nice touch.

One thing to consider is that in this basic configuration the `profile` and `email` scopes are added automatically, and some people might be reluctant to share their email if there is no apparent reason to do so for your app, in which case you would have to fall back to my basic-noprofile.html sample (see below).

2) basic-plus.html
One interesting feature they are introducing with the new sign-in is "context-awareness" of the button. Without any special scopes you get a blue Google Sign-in button. As soon as you add a social scope like https://www.googleapis.com/auth/plus.login it is rendered as a red Google+ Sign-in button instead.
This in my opinion is a huge improvement since having a Google+ Sign-in button everywhere where you only needed basic profile information without the social infos like "friends", didn't really make much sense.
I wonder if they will extend that idea to allow for example for "Connect with YouTube" buttons, but I guess this would get confusing/complicated rather quickly with different scopes being mixed, and you can always design your own custom sign-in button (following the branding guidelines).

3) basic-noprofile.html
As I wrote above `profile` and `email` scopes are automatically added to whatever scopes you define for your sign-in.
To prevent this you can set a fetch_basic_profile parameter to false, but this will result in no name/images being included in the GoogleUser object.
Since in most cases you will still need this information you will have to use an extra API call to retrieve it.
This is easy enough since (like with sign-in 1.0) all JS API client library calls will be automatically authenticated so you can simply use a people.get({userId: 'me'}) to retrieve the information. Not much extra work but I think it would still be nice to be able to "fetch_basic_profile" without the extra email scope.

That's it for now, still trying to wrap my head around how to handle some special cases and server-side hybrid implementations :)


One extra note if you are switching from Google+ Sign-in to Google Sign-in:
If you are using the "BasicProfile" the image URL will have a /s96-c/photo.jpg format and be a 96x96 image by default which you can adjust by changing the s96 part.
Via the Google+ API you get profile images as /photo.jpg?sz=50 as a 50x50 image which you can adjust by changing the ?sz=50 part or just adding another sz parameter to the end which will overwrite the other one like photo.jpg?sz=50&sz=100


#gde #opensourcecode #tutorial #googleplus #identity
Google Sign-in Samples. Basic · Basic with social scope · Basic without profile. Developed by Gerwin Sturm, FoldedSoft e.U.. Privacy: The information requested in the samples won't be stored or used for any other purposes. Cookie policy: By using the samples you agree that third-party cookies ...
10 comments on original post
2
Add a comment...

Ian Barber
moderator

Discussion  - 
 
iOS Sign-in SDK 1.0.0 is out, no longer part of the Google+ SDK. Worth a look for anyone who implemented GPPSignIn - some nice new options in there (and pretty straightforward to port). All credit to +Gus Class / +Sam Stern  for the launch!
 
The new Google Sign In iOS SDK is out, so I've written a quick post on how to use it from Swift. For people who had previously used the Google+ Sign-In SDK, its worth a look - there are some nice new methods and classes which simplify some regular use cases, which I touch on towards the end of the post. 
The new Google Sign In SDK for iOS is out! With a new version number, and separated from the old Google+ SDK, the Sign-In SDK should make it easier and faster to implement Google Sign-In in your app. Lets take a look at how t...
7 comments on original post
10
1
Ad Ch's profile photoDuc Nguyen's profile photoAbhijit Kumar Choudhury's profile photo
2 comments
 
Zopp0pp
Add a comment...

Ian Barber

Shared publicly  - 
 
 
It is time to lower the flags to half-mast. One of the great writers of our time has left us. I've been a long time fan of his work and am thankful that his legacy will live on through his literature.
UK fantasy author Terry Pratchett dies aged 66 after a long battle with Alzheimer's disease, his publisher says
2 comments on original post
4
1
Dave “DMI” Ingram's profile photo
Add a comment...

Ian Barber

Shared publicly  - 
 
 
While this had been expected for a while, I am sad to say that today we lost a man who was a great artist, a great actor, and an all-around mensch. The world will be poorer without him.
In addition to acting, Mr. Nimoy directed films; published poetry, autobiographies and books of photography; and recorded music.
38 comments on original post
1
Add a comment...

Ian Barber

Shared publicly  - 
 
 
Welcome To BusinessTown might be the best thing ever.
An ongoing project attempting to explain our highly intangible, deeply disruptive, data-driven, venture-backed, gluten-free economic meritocracy to the uninitiated. With apologies to Richard Scarry.
5
Gus Class (Gus)'s profile photo
 
That's a sick wrangler, should be burnt orange tho...
Add a comment...

Ian Barber

Shared publicly  - 
 
 
I just pushed a big update to Web Fundamentals that includes new content, a new section that highlights our shows, a brand new Showcase section that includes case studies of great web experiences, and RSS feeds so you can stay up to date with all the new content.

New Content
+Matt Gaunt published a primer on Security with HTTPS (http://goo.gl/QCSujZ)
+Paul Lewis added a new section on Rendering Performance (http://goo.gl/g8pzJY)

Shows
You can now stay up to date with all of our shows, including #Polycasts , #HTTP203 , the Chrome Dev Summit, and Udacity courses at https://developers.google.com/web/shows/

Showcase
Curious how we built the Chrome Dev Summit site? The new Showcase section has you covered with deep technical Case Studies.  We also highlight great sites and apps with Spotlights. https://developers.google.com/web/showcase/

RSS Feeds
We've also added RSS feeds so that you can stay up to date all the time. Use your favorite feed reader to subscribe!
Everything - https://developers.google.com/web/feed.xml
Shows - https://developers.google.com/web/shows/feed.xml
Web Fundamentals - https://developers.google.com/web/fundamentals/feed.xml
Showcase - https://developers.google.com/web/showcase/feed.xml

#WebFundamentals  
9 comments on original post
1
Add a comment...

Ian Barber

Shared publicly  - 
 
This is very cool. If you write your Cast receiver app right, you will now be able to treat the remote as a second sender - so be able to pause and play media.

The only real work is using the regular Cast media namespace for messages (rather than a custom one) - which is the right thing to do in any case for the standard controls. You can read more about how that works on DGC: https://developers.google.com/cast/docs/custom_receiver#messages
 
Google Cast Support for HDMI CEC
We have recently rolled out additional support for HDMI CEC features for Google Cast devices.

You can now use your TV’s remote Play and Pause buttons to control media that you cast to your TV on some applications. You can also use your remote’s Exit button to stop casting an app.

We previously launched the ability for Google Cast devices to change the TV input when you begin casting.

You need to ensure your apps use the Google Cast media namespace for controlling media playback and that the media control commands are supported by the receiver app: https://developers.google.com/cast/docs/reference/messages

Your TV needs to have HDMI CEC enabled for these features to work. Follow the instructions in our User Help Center and Support Forum: http://goo.gl/J6QBDc

Note that these features may not work with all Cast enabled apps or all TV’s.

Happy Casting!

#googlecastsdk #googlecast #chromecast #androidtv
21 comments on original post
7
Stuart Axon's profile photoIan Barber's profile photo
2 comments
 
Yeah, I had similar experience. My impression is its more consistent these days (at least here!)
Add a comment...

Ian Barber

Shared publicly  - 
 
The new Google Sign In iOS SDK is out, so I've written a quick post on how to use it from Swift. For people who had previously used the Google+ Sign-In SDK, its worth a look - there are some nice new methods and classes which simplify some regular use cases, which I touch on towards the end of the post. 
The new Google Sign In SDK for iOS is out! With a new version number, and separated from the old Google+ SDK, the Sign-In SDK should make it easier and faster to implement Google Sign-In in your app. Lets take a look at how t...
4
3
Beny Boariu's profile photoIan Barber's profile photoGus Class (Gus)'s profile photoAbhijit Kumar Choudhury's profile photo
7 comments
 
Thank you very much, Sir.
Add a comment...

Ian Barber

Shared publicly  - 
 
Wrote a quick post on service accounts - I've seen a few issues recently where people where having trouble with them, so hopefully will clear up some of the basics here. I've included a couple of example for Drive and Analytics, but tl;dr - Service Accounts are a virtual user and don't represent the user that created them, so you need to go through additional steps to grant them access to data in most cases.
4
1
Ade Oshineye's profile photo
Add a comment...

Ian Barber

Shared publicly  - 
 
 
"""Today, we are open sourcing gRPC, a brand new framework for handling remote procedure calls. It’s BSD licensed, based on the recently finalized HTTP/2 standard, and enables easy creation of highly performant, scalable APIs and microservices in many popular programming languages and platforms. Internally at Google, we are starting to use gRPC to expose most of our public services through gRPC endpoints as part of our long term commitment to HTTP/2."""
View original post
6
1
Ian Barber's profile photoStuart Axon's profile photoRahmawati Umi's profile photo
5 comments
 
Good explanation, think I used gData for the last thing I did, the experience could have been better, but compared to using API from certain A* company in same project it was much better.

Fun trick of A* being to just move certain APIs between minor versions of the python library - fun times !
Add a comment...

Ian Barber

Shared publicly  - 
 
 
We strongly urge you to take three minutes to watching this incredibly inventive dance performance that makes use of a fully interactive set that responds in real-time to a team of dancers.

http://www.thisiscolossal.com/2015/01/pixel-a-mesmerizing-dance-performance-incorporating-digital-projection/
9
8
Zeynep Inanoglu's profile photoJasmina Dacic's profile photoMadhu Kotagiri's profile photokhalil karimpour's profile photo
 
this is one crazy dance move! love it!
Add a comment...
Story
Tagline
Up in your everything
Introduction
Developer programs engineer for Google, occasional speaker, and irregular writer.

Writing: 
General Tech Blog - riskcompletefailure.com
PHP Blog - phpir.com
A brief introduction to messaging: the message is the medium 

Some videos of talks: 
Education
  • University of Sussex
Work
Employment
  • Google
    Developer Programs Engineer, 2012 - present
  • Virgin Group
    Development Manager, 2011 - 2012
  • Ibuildings
    Delivery Manager, 2007 - 2010
  • CWT
    Senior Software Developer, 2004 - 2007
  • Iconic Games
    Application Developer, 2002 - 2004
Places
Map of the places this user has livedMap of the places this user has livedMap of the places this user has lived
Currently
San Francisco
Previously
Brentford, UK - Brighton
Wonderful and relaxing out of the way place.
Public - 2 weeks ago
reviewed 2 weeks ago
Nice selection of wine, great place for a drink.
Atmosphere: Very GoodDecor: Very GoodService: Very Good
Public - 2 years ago
reviewed 2 years ago
Lovely flat white!
Public - 2 years ago
reviewed 2 years ago
Wonderful food, wonderful service, and a great wine list. One of the best places I have ever eaten at, well worth a visit.
Food: ExcellentDecor: ExcellentService: Excellent
Public - 3 years ago
reviewed 3 years ago
10 reviews
Map
Map
Map
Fantastic dim sum, and very reasonably priced. Had an excellent lunch here and would definitely go again!
Food: ExcellentDecor: Very GoodService: Very Good
Public - 2 years ago
reviewed 2 years ago
Probably my favourite pizza in London, always great sourdough bases and superb toppings.
Food: ExcellentDecor: Very GoodService: Very Good
Public - 2 years ago
reviewed 2 years ago
Amazing coffee - really enjoyed the cappuccino and the iced coffee is definitely worth trying! Might have to queue up a bit, but it doesn't take particularly long.
Food: ExcellentDecor: Very GoodService: Very Good
Public - 3 years ago
reviewed 3 years ago