Skip to main content
 

Circles Circles Circles

So I thought I'd write an apps-script macro to help find Twitter profiles of my G+ circled people. [I'm assuming these contacts will go away on April 2nd, right Greg Wolfe ?]

Code works, but App Script barfs on the Twitter javascript used to render the follow buttons. So I just grabbed the html output and stuck it on a server and clicked the follow bu
tton...

If someone wants to poke at it and/or publish it (I have no time for either) have at it...

You can access it here:

https://script.google.com/macros/s/AKfycbz8RJl6qIS6x1PTQss_O1Xz69l1_bp1QcyJPoxnW9qITvFYTEI/exec

And the xss-riddled code looks like this:

function doGet() {
var html = '<!DOCTYPE html>';

do {
var pageToken;

var connections = People.People.Connections.list('people/me', {
pageSize: 100,
personFields: 'names,urls',
pageToken: pageToken
});

connections.connections.forEach(function(person) {
// Skip people without URLs in their profile.
if (!person.urls) {
return;
}
person.urls.forEach(function(url) {
if (url.value && url.value.match(/twitter.com/)) {
var name = url.value;
if (person.names && person.names.length > 0) {
name = person.names[0].displayName;
}
html += '\n<br><a class="twitter-follow-button" href="' + url.value + '">';
html += 'Follow ' + name + '</a>\n';
}
});
});
pageToken = connections.nextPageToken;
} while (pageToken);

html += '\n<script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>'
var output = HtmlService.createHtmlOutput(html);
output.setTitle('Google+ Follower Finder');
return output;
}

 

Oz Monolith

*An Update on the Oz Monolith*

So it's a little over been two weeks since we turned down most of Oz for frontends. Project Death Star removed most Google+ traffic. Purple Hummus removed contacts.google.com. Project Falcon got iOS G+ on FEDS. And the OneGoogle Notifications Widget is now exiting too.

There's still much more to do, Apiary APIs, widgets and more need to go. And lots of code to delete as you can see in the Rise and Fall of Oz by # of files below.

Thanks to everyone that removed services/code, and let me know if you're missing a killoz teams badge.

 

Come Home Paul! Come Home!

- First time I've seen Recruiters targeting expat folks. What next, will they contact my family to put pressure on me to move back?
- Including a Youtube video in your emails is a good way to get your message visibility in Inbox. Even if it's this dorky thing.
- It also appears that Target makes it's recruiters use their DJ name. In da house with *DJ Luke Doubler* and his sidekick *Talent Scout*.

http://rumandmonkey.com/widgets/toys/namegen/3675

---
Paul,

My name is Luke Doubler and I’m a talent scout for Target Corporation.

I’m reaching out to you because I see that you went to the U of M and I’d like to see if you’d consider coming back.

I found your name on your GitHub profile (http://github.com/lindner) and see you are a full stack developer with contributions in JavaScript, full stack products, Apache, Amazon Dynamo and others. I also see via your LinkedIn profile you are with Google. I’d like to see if you’d consider a leadership role with Target.

Our corporate office located downtown Minneapolis has an engineer leadership position open in a very agile/scrum development team building products that will propel Target.com as the premier online retailer.

Would you be open to connecting Paul via phone? Your full stack development experiences appears to be exactly what we’re seeking. I can make myself available based on your schedule.

I look forward to connecting.

https://www.youtube.com/watch?v=QopMlVsPH3Y

 

Tree rings on the web

In the future web-archeologists will analyze html to identify the age of a page by the widgets they include.

Here you have a web site built circa 2012 with the very rare plusone button with a G+ on a grey background.

https://plus.google.com/photos/107786897865850743842/albums/6187004181065470801/6187004179257230690?...

 

Heads up webmasters -- please consider updating your javascript snippets.

Heads up webmasters -- please consider updating your javascript snippets.

Originally shared by Ilya Grigorik

All Google+ widgets have been updated to use the script[async + defer] pattern! E.g. +1 button docs: http://bit.ly/YHoj96

What's the benefit? Loading widgets via script[async+defer] does not block the document parser (see [1]), and allows the preload scanner to discover the script resource and initiate an earlier fetch (see [2]). Net outcome, both your page and the widget load faster! Have a G+ widget on your page? Check out the docs for guidance on how to update your snippets.

Kudos to the G+ team for taking the lead on this! Hope to see more widget providers adopt the same pattern.

[1] https://developers.google.com/web/fundamentals/performance/critical-rendering-path/adding-interactiv...

[2] https://www.igvita.com/2014/05/20/script-injected-async-scripts-considered-harmful/

 

John Hjelmstad / Jonathan Beri - same deal as sign in button...  let's incorporate it...

John Hjelmstad / Jonathan Beri - same deal as sign in button...  let's incorporate it...

Originally shared by Gerwin Sturm

As you might have noticed I invested quite some time in Polymer recently. What I like about web components is that they make a lot of things a lot easier, except...

Normally adding a +1 button (or any other Google+ plugin) to a website is just about the easiest thing you can do.

1. Take the code snippet from the docs, e.g. https://developers.google.com/+/web/+1button/

2. Paste it in your code at the appropriate place.

3. Done.

Unfortunately the gapi JS library doesn't like to work with the Shadow DOM. Even if you pass in a direct reference to an element inside of your element it won't work.

The (https://github.com/GoogleWebComponents/google-hangout-button/) works around this issue by adding an element to the light DOM, telling gapi to render the button there, then snatching the element and sending it to the shadow realm dom.

Since there are a lot more widgets to choose from, I took this idea and started by creating a generic element that takes `type` and `data` as attributes to render the appropriate plugin, using the same idea as the hangout-button.

So for the default +1 button you could just use

Or for a profile badge you would use

<google-plugin type='person' data='{"href": "https://plus.google.com/+GerwinSturm"}'>

From there I started to create specific elements, that have the relevant attributes for each plugin.

For now there are only two but others are easy to add:

(the profile attribute will be used to build the href attribute needed by the profile widget)

The plugins still aren't really happy inside of the shadow dom, displaying some errors in the console, and not all interaction seems to be working correctly.

I have some other ideas I will test to improve this, but maybe the gapi team will eventually support Shadow DOM properly ;)

For now these elements work better than not working at all :)

Source code: https://github.com/Scarygami/google-plugins

Docs: http://scarygami.github.io/google-plugins/components/google-plugins/

Demo: http://scarygami.github.io/google-plugins/components/google-plugins/demo.html

 

Hi widget lovers.

Hi widget lovers.  You may have noticed a new look for the +1 and +Share buttons that are consistent with the Follow and Badge widgets.  We hope you like them.

You'll also notice that they scale up beautifully.  All of our buttons are now using SVG to render the iconography, and the Roboto font for text. There's even some SMIL animations hiding in there too.  All of this is perfect for your new high dpi laptop, tablet or phone. ‡

Please let us know if they're working for you and if you have any suggestions. Thanks for using Google+ widgets!

‡ results may vary on IE8 and Gingerbread browsers.

 

Was actually thinking of doing this with some of the google-feedback code internally so we could automate regression testing of widgets...

Right now I have old iframe on the left, new on the right and can quickly eyeball it, but would love to have a computer do the boring stuff..


https://github.com/BBC-News/wraith#__sid=0






 

This is a new community that will allow us to coordinate with folks that are using our widgets.  Please invite anyone that  you know that's involved.


116259442203462107734






 

New widgets refactor code-name: Sprockets

Your widgets have become tiresome.

It evokes SNL, the Jetsons, and a tooth'd gear.


http://www.youtube.com/watch?v=LxQ6olQjebg






 

Ads folks, good? bad? otherwise?

I want to align the widgets we support with common dimensions used in web layout.  What better place to start than the ad-units most sites use.

My goal here is to make widgets fit seamlessly into layouts and make widgets usable for ad campaigns - for example:
- Brand Follower Widget as an mrec.
- Community Widget latest posts with subscribe.
- etc.


http://www.iab.net/guidelines/508676/508767/displayguidelines






 

Have ideas on how to improve Google+ widgets?  Add your ideas and up/down vote existing ideas here:

https://lightning.corp.google.com/plus-button

This uses Lightning which is a frontend to buganizer for ideas collection and management.  It's funny how a simplified interface can make such a difference.

Try it out!


https://plus.google.com/photos/107786897865850743842/albums/5839292500124762193/5839292505628736098?...






 

How did I miss this?  @110388429398517693608 -- how well is this supported?

Man I hope that we only need a style="display:block" tucked in there for converting links to widgets.


http://html5doctor.com/block-level-links-in-html-5/






 

*LTBD* - Little Things, Big Difference.

Last week I had a very satisfying LTBD moment.  I discovered that many webmasters were double escaping url params in their +1 widgets.  Fixing this little thing caused a noticeable boost in +1 renders and creations and a big big drop in error logs -- big difference.

2 years ago when I was at LinkedIn this was a formal policy direct from Deep Nishar, head of PM.  Each engineer was supposed to tackle an LTBD item for each sprint.  These are the little things that make the product easier to use, clearer, or fix annoying bugs.


http://talent.linkedin.com/blog/index.php/2011/01/recruiter-review/






 

Would people be interested in a periodic hangout where me and my weekly Google guest makeover your web site with...

Would people be interested in a periodic hangout where me and my weekly Google guest makeover your web site with Googley features? We'd have a special guest each time and go over things like authorship markup, security, performance, APIs, widgets etc?

+1 this post if you're interested. Feel free to nominate your favorite site you'd like me to put under the microscope in the comments...

[nifty CC BY-NC-SA 2.0 photo from flickr user spike55151]