Introducing XING Connect

As you've probably already heard, we developers here at XING can use 10% of our working time to carry out research and try out new ideas of our own. by Christopher Blum, Lennart Koopmann, Nenad Nikolic

In the last few weeks we, a rails engineer (Lennart Koopmann), a product manager with a technical background (Nenad Nikolic) and a frontend engineer (Christopher Blum) put our research time to excellent use by building a product that we called “XING Connect”.

What is XING Connect?

XING Connect is a simple JavaScript API that gives other webmasters the ability to integrate a XING-based login into their own website with minimal effort.
Visitors can decide whether they want to grant a website access to their basic XING profile data by clicking on a button that looks like this:

After clicking on the button, a popup appears that asks users whether they want to grant this site permission to access their profile data.

XING Connect PopUp

After granting permission, the website receives a token which it can then store and use to render the user’s profile data at a specific place at any given time.
The log in button also changes its appearance to indicate that the user is logged in:

How does it work under the hood?

In order to integrate XING Connect, the website needs a site_key which is connected to the website’s origin (protocol + host + port).
The entire data exchange between XING.com and the external website takes place via HTML5 Cross-Document Messaging which gives both sides full control with regard to which origin is allowed to send/receive data. Therefore an invisible iframe that points to XING.com is rendered on the website and acts as a “data bridge” for the user’s XING profile information.

Apart from that, XING Connect uses the progressive-enhancement approach since it completely relies on JavaScript and features that only modern browsers have implemented to date.
This means that the webmaster has to create placeholders in his HTML code which are subsequently filled with the users’ profile data. Such placeholders can be used to display default content if the user later revokes access or if the XING Connect API is for some reason not available.

Assuming the webmaster has the following code on his website:

<div data-xc-user="viewer">
  <img data-xc-output="photo" src="default.png">
  <span data-xc-output="name">Anonymous</span>
</div>
<div data-xc-output="button"></div>
 
<script src="https://www.xing.com/connect/partner.js?site_key=[SITE_KEY]"></script>

The output with JavaScript turned off would be:

And with JavaScript enabled:

Browser support

HTML5 Cross Document Messaging is implemented across all modern browsers:
IE8+, Firefox 3+, Chrome, Safari, Opera 9+

In IE <8 we take advantage of the above-mentioned progressive-enhancement approach. In those browsers, XING Connect is simply disabled and the default content is displayed.

Try it out!

This blog is the first website where we integrated XING Connect. Have a look at the comment form below, click on the “Log in with XING” button, and then enter your comment.
Please note that we’re still testing this feature, so please excuse any problems you might experience.

We’re looking for partners!

If you’re interested in implementing this in your own blog/website then just drop us an email.

88 Responses to “Introducing XING Connect”

It works, yay.
Btw: A former XING employee has started this project months ago:
Thanks Hendrik Mans!

Awesome, congratulations! Will you send me the site key to let me integrate this into my high traffic personal blog?!

Great stuff guys!

Really nice work, love it :-)

You guys rock!!

Cool, it works with my Samsung Galaxy Tab, too!

Congrats! Will have a very close look if this is something for loftville! Cheers!

Great to see this live! :)

Great news! Works like a charm, I’ll be glad to test it on my site soon.

Works great guys!

It is very cool

Well .. not bad for a first step!

Great! Really like it! Works, too :)

I’d say: Legen … wait for it … DARY!

na, das war ja aber auch sowas von überfällig. erstaunlich, dass ein derartiges feature ein nebenbei-projekt ist. das zeigt, wie merkwürdig die prios bei xing doch sind.

gute arbeit! :)

Episch gut. :)

Great. Nice one…

Klappt wunderbar! Weiter so!

Love it – great job, guys!

very cool! i like it!

love it! This is the way forward.

great – I´m also interessted. When they will go public?

Na, bitte. Geht doch :)

[...] offener Schnittstellen keine entsprechende Option.Ich kann mich noch nicht entscheiden, ob die gestern im Entwicklerblog des Unternehmens angekündigte Neuerung überraschend kommt oder nicht. Aber in jedem Fall haben die Xing-Mitarbeiter Christopher Blum, [...]

April 29th, 2011 at 15:01 Kristin Hutans says:

wonderful! I like it!

This is so much better than having to use your (private) Facebook account for comments in a professional context!

[...] testet aktuell in einer geschlossenen Phase “XING Connect”: Eine Möglichkeit, sich mit der XING-Identität bei anderen [...]

Why didn’t you use OAuth just like every other major identity provider? OAuth will lower the hurdle for a Webmaster to include Xing Login in addition to the others.

Yeeahyyy I like!

Good job, guys! Glad you came through.

doppelplusgut

cool, it works, I like it!! :-))

Schöner Vorschritt!

Long time, but finally you offer this essential function – great stuff!

Great to see this working so lean and seamless … really nice piece of code craftmanship :)

Absolutely Awesome!!!! Congrats Christopher, Lennart and Nenad – this is a fantastic step for XING!

A new dimension starts!

HTML5 mit Cross-Document-Messaging ist zwar cutting egde, aber ehrlich gesagt hätte ich lieber OAuth gehabt. Gab es — außer Eurem Spieltrieb ;) — einen weiteren Grund warum Ihr nicht OAuth genommen habt?

Fragt sich,
Stefan

Test1 – Test1 – Test1

Check 1 2 3…..sehr nice!

Na bitte. Das war echt mal sinnvoll. Bin @nico s Meinung!

Jetzt weiß ich Aber auch genau, wo ich das reinschrauben werde!

Ein großer Schritt für XING. Cool!

Is this not what Facebook and LinkedIn have allowed to do for so long? If so, better late than never. If not, could you elaborate on the difference?

Also, very surprised this was done on the 10% personal time that developers have. Was this not a priority for Xing to ask them to do so on their other 90%?

Bilal

Very interesting. Looking forward getting this real!

Das gefällt mir auch. Werde ich sobald machbar in meinem Blog integrieren!

Endlich! Das war jetzt aber auch mal Zeit. Ich werde es mal testen und dann auf meinem Blog http://www.sandra-staub.de drüber berichten.

[...] Xing fehlte bisher ein vergleichbares Feature. Am Freitag präsentierte das Unternehmen in seinem Entwicklerblog jedoch eine im Teststadium lancierte Neuerung: Sie ermöglicht den Betreibern von Websites, [...]

How can I get the site_key for my website? Can’t find info…

Hi Goran,

we are currently testing this feature and collecting feedback before we roll it out to external partners.
We’ll inform you when the API goes public.
Thanks for your interest!

Great step!

großartig!

Cool Stuff! Want to see more of that soon.

This is a great feature. I look forward to using it.

Great stuff! Looking forward to see it implemented on the first external websites!

Great stuff!!

Sehr schön, das XING sich langsam mal öffnet.

War ja auch Zeit ;) Nice!

Gratulation – aber es dürften gern auch noch mehr Infos sein, die XING Connect verfügbar macht

Finally! When will it be available for public?

May 28th, 2011 at 00:13 Michael Bevz says:

Hey guys, is it possible to participate in your testing programme?

tnx in advance

sieht gut aus … =)

congrats on this!

And it still works .. good to know.

very nice, dudes!

Wurde ja mal Zeit dafür. Fehlt nur noch die Möglichkeit auch von außen meinen Status bespielen zu können…

links for 2011-07-22…

The ROI of Social Media: 10 Case Studies – TNW Social Media Oft gefragt, hier 'studiert'. (tags: ^roi socialmedia socialweb) Introducing XING Connect | Everything else…

Hi there. Nice feature I really appreciate it. When will it be available for everybody? Thanks in advance

[...] wie gut es in der kommenden Zeit angenommen wird: Momentan denken wir über die Einbindung von XING Connect nach, um den Service für seine Nutzer noch komfortabler und besser zu machen. Dadurch wäre es [...]

Still waiting for access…

sehr modern, bin gespannt

Leave a Reply