Social Integrations:

Trevor Hinesley
6 min readSep 25, 2014

A Better Way

WHY ISN’T THERE ONE?

I’ll delete this entire post the second someone can just point me to the open-source, end-all, be-all solution to the social integration problem.

“What?”

For the non-techy out there, in order to understand what I mean, just picture the last time you signed up for any kind of app or service. You were probably presented with the option to sign up with an email or password, or click a “Sign in with Facebook” button. Or a “Sign in with Twitter” button. Or a “Sign in with Google” button. Or a “Sign in with LinkedIn” button. Or… ya, my point exactly.

Problem 1: Too many.

I find myself, all too often, visiting a site that I may or may not have been to numerous times, only to forget which social button I clicked to make my account. First, I check 1Password or whatever I store my logins in at the time to see if I made an account the old fashioned way with email and password. If not, I try the Facebook button. If that doesn’t work, then maybe it was Twitter. Oh wait, this was one of those times I hit the Google button.

Maybe some of that’s my fault, and I should just use the same social connection everywhere. HOWEVER, that brings us to…

Problem 2: Inconsistency.

Medium, the site you’re reading this from, has Twitter or Facebook sign-in. Some sites have three or more possible connections. How the heck am I supposed to keep up with which button I clicked on every piece of technology I have an account with?

Not only that, but what happens when the “Sign in with Facebook” button is also a “If you don’t have an account here, this makes you one” button, and you already clicked the “Sign in with Twitter” button the last time you visited this site? Yay! You now have two accounts. Why? Because Twitter doesn’t allow developers to have your email, so we can’t see that “Oh, this is the same email as their Facebook account, I’ll just tie this Facebook account to the account they made last time when they clicked our Twitter button.”

I know what you’re thinking, and it’s only logical. “Surely those guys who bang on keyboards and put those weird symbols in text files can crank out something that’s a bit more intuitive.” That brings us to…

Problem 3: No standardization for developers.

Techy or not, you should be to understand the following analogy. Imagine you build houses for a living. You have the blueprints, you’ve got the materials, so you start building the house. Halfway through (or after it’s finished), you get a call... there’s some changes to be made. “No worries,” you think, “happens all the time.” Except this isn’t changing the light fixtures. They’ve decided to redo the foundation of the house. You’ve got two options: 1) MacGyver that thing, using duct tape and chewing gum, 2) redo it, the right way, which takes time and money.

Welcome to the world of a developer. Any time a major update or overhaul happens to Facebook, Twitter, Google+, whatever, and an API is affected, chances are those fancy “Sign in with” buttons (the foundation of most apps now) are broken as well, until we update them.

To be fair, most of the time we’re notified long ahead of time by the powers at be that they’ll be changing their API, and that we should update our own sites to reflect that ASAP in order to prevent our fancy “Sign in with” buttons from breaking. And that’s great. Because think about it, with the current state of how this whole concept works, if any of those “Sign in with” buttons breaks, anyone who made their account with that button, suddenly can’t access their account anymore. That’s a problem.

Solution: An open-source, standardized gateway.

Easier said than done, but it has to happen. And soon, before these lists of “Sign in with” buttons get anymore out of control. We need some sort of centralized system where everything can connect, then we can just use that to sign up for accounts for different services. Let’s call this imaginary, unicorn system “Mediator” for the time being. It’s language agnostic. I’m not talking about OmniAuth, that still requires individual modules for each and every social connection, and you have to plug and play them as you need. Imagine Klout, but more useful and less pointless. Imagine Gravatar, but for pulling in aggregated social data. Imagine segment.io, but for social connections.

Say you hear about this new app, “The Dude.” It has all of these cool features, but it mainly has tutorials on how to bowl like a boss.

You download it from the App Store, or Google Play, or whatever the new thing is, and you go to create your account. And this time, it’s like it is every other time you make an account on a site, because there’s this new thing called Mediator that changed the world of social integrations. There’s one button on the front page of this app, “Sign in with Mediator.”

Sure, when you click this button, it may still ask your permission to use different things. But here’s the best part of this, you have control over all of that. It’s a giant smorgasbord of all of your aggregated data. It pulls in your Tweets and Facebook Friends (which you can “Skip” in typical social connection fashion, or allow it to have access to), but it also pulls in your circles from Google+, your LinkedIn connections, or whatever else you want.

In Mediator (let’s say you can change and add social connections to your mediator through mediator.org or whatever Mediator’s site is), you’ve already set up all the connections you want it to have, and whenever some new social app comes out, you only have to connect it once, to your Mediator. The next time you log into an app (through that fancy, at-this-point-fairly-new “Sign in with Mediator” button), it may ask for access to whatever new social connections you’ve added to Mediator. So yay it, or nay it.

Let’s just list out the possible pros of this:

  1. One place where ALL social information is aggregated.
  2. Allow access to any/all of this already aggregated data to each individual app whenever you sign up for an app, or whenever you sign in to an app and it sees that you’ve added connections to your Mediator account.
  3. One button. One.
  4. No more creating double accounts because you thought you clicked “Facebook” the last time you visited a site, but really you’d clicked “Twitter.”
  5. Open-source. Great ideas from great people all over, not just those in the parent company’s workforce.
  6. Standardized. Maybe this is just done through the open-source aspect, or maybe this is done through an organization that regularly rotates its members (or a combination of both). Either way, no more “Twitter doesn’t give your email, but Facebook does.” One connection, one funnel for everything to go through. ONE piece to update and ONE social integration API to maintain.

I’m sure there are even better ways this idea can be improved upon, but I feel like no one is talking about it (except openid.net, but it’s just not caught on), and it drives me crazy. There has to be a better way to do this. I’m in no way the smartest man for this job, so I thought I’d get the wheels spinning for those who are (again, like the team at openid.net, who are some of the few talking about it). I’m glad to help however I can.

Let’s fix social integrations.

--

--