WordPress + Twitter + Facebook = Social

Social is a new WordPress plugin that makes it easier for you to connect your WordPress site to other social web networks.

Social WordPress Plugin


This thing is really cool, for a number of reasons. I’ll dive into those in a bit, but first head on over to the MailChimp blog to see the official release announcement. Over there you can see the plugin in action, pulling in Tweets and Facebook comments along with comments authenticated via Twitter and Facebook right there on the blog post.

This is the second opportunity my Crowd Favorite team and I have had to build a plugin with the great folks at MailChimp. They really care about putting out a stellar product for the WordPress community, and as a bonus we had the privilege of working directly with Aarron Walter (user experience guru at MailChimp) who designed the comment layout in Social.

Ok, so on to the juicy tech details. Social has a bunch of really awesome features that allow your WordPress site to interact with the social web more easily and completely than ever. After trying to write this up a few different ways, I’m going to try to tackle them in an O’Grady-style Q & A.

You mention a bunch of features, want to hit on a few to get this started?

Sure, in no particular order:

  • Twitter and Facebook authentication for commentors
  • Automatically pull in reactions on Facebook and Twitter as comments to your blog posts
  • Optionally broadcast posts to Twitter and Facebook
  • Per-user accounts for broadcasting
  • Customizable broadcast format
  • Easiest set-up of any Twitter/Facebook plugin for WordPress
  • A base for other social integrations with WordPress

That is a bunch, how did this get started?

The MailChimp folks had some good ideas already when we first started talking about this, particularly around commenting. What you see today is very much what they had in mind, however they were also open to some of our suggestions, brought more of their own ideas along the way, and I think the result here is a great win for the WordPress community.

Let’s talk about the commenting bit, why is this a big deal? How does it work?

The state of blog comments has been constantly evolving with the social web. Conversations that used to happen exclusively in blog comment threads are now spread out across Twitter, Facebook and other social sites. In addition, comments have become targets for SPAM, trolls and other web undesirables.

Social addresses this in two ways:

  1. Searching Twitter and Facebook for reactions to your post, and importing those as comments on the post. This helps keep the conversation available right at the source, even if it happens elsewhere.
  2. By offering authentication through Twitter and Facebook, you can force commentors to attach an online identity to their words. Folks seem to be a bit more civil when they can’t be anonymous.

Aren’t there services that pull in social web reactions already?

Definitely, but Social is pretty smart about this. It searches for responses (and retweets) to your broadcasts, and also looks for mentions by URL on Twitter. It does it all on your own site, creating comments that you are in control of.

You mention that Social supports broadcasting, there are lots of plugins that do this already. How is this different?

There are a lot of plugins that do this, but Social does it in a really elegant way. I wrote Twitter Tools, one of the more popular plugins that broadcasts to Twitter. In talking with MailChimp about the feature set for Social, I outlined a bunch of enhancements that I wanted to make in the next version of Twitter Tools. Since Social needed to support broadcasting, we took all of the things I wanted to add to and improve on in Twitter Tools and instead put them right into Social.

Social has per-author broadcasting accounts. You can still authenticate sitewide Twitter and Facebook accounts that can be broadcast to by any author. And additionally each author can also authenticate their own accounts that only they can broadcast to.

A great example of this is the MailChimp blog. Social could be configured so that any author posting there can send tweets to the @mailchimp account, while Aarron can also connect his @aarron account as well. Then when he posts to the blog, he can send a tweet out to either or both accounts (on a per-post basis).

We also drastically improved the flexibility of what you send out in the broadcast. Twitter Tools had a hard-coded format:

New blog post: My Post Title http://example.com/my-post-title

Social allows you to set a default format using the title, content, etc. as desired, but also gives you the chance to customize what goes out on a per-service and per-post basis. It’s really slick. You publish a post, then you’re taken to a screen that has the broadcast items ready for you to send, and you can edit them and tell them where to go.

The biggest improvement over Twitter Tools isn’t the broadcasting though, it’s the ease of set-up.

Making things easy for users is always good, but how is Social different here?

When Twitter changed a year ago to require OAuth for authentication, I said it would be a Bad Thing for users of Open Source tools like Twitter Tools. The process of creating an app sucks, I’ve botched it myself. Facebook has the same requirements.

In discussing the features we wanted to create for Social, we kept coming back to the lousy user experience of creating apps, etc. on these sites. This is where MailChimp really stepped up to make Social a great tool for the WordPress community.

We told them what all of us WordPress developers had run into with the Open Source issues around OAuth secrets, and that the only real way to solve it would be to run an app as a service that could be used by Open Source tools like WordPress plugins. And when we were done explaining the situation, they said: let’s do it.

They have created and are hosting a secure service that connects to Twitter and Facebook on your behalf. They’ve created the app so that you don’t have to. No need to copy keys around, make sure you check the right boxes on your app set-up, etc. – all you have to do is install, add your accounts with the normal web pop-up authentication, and you’re good to go.

So MailChimp is hosting this app for all of us for free?

Yep, I think I already mentioned they are awesome… indeed they are.

How is Social, to use your words, a base for other social integrations with WordPress

Social is more than the features you see on the outside. On the inside, it is a set of libraries that can connect to the social web (via the MailChimp provided app). Other plugins can leverage this to make additional calls to these services. I previously mentioned that Social out-shines Twitter Tools for broadcasting, and it does. But Social doesn’t include the Tweet archiving, blog post from Tweet, or recent Tweets features of Twitter Tools.

We are putting the finishing touches on a new version of Twitter Tools that will piggy-back on Social. Social will handle the account authentication and broadcasting, Twitter Tools will do the Tweet archiving, recent Tweets, blog post from Tweets, etc. – it’s going to be a huge upgrade.

Anything else you’d like to add here?

We’ve already started on some new features for the next version, and we’d love to get more feedback from the community as they use the plugin. There are already some great suggestions in the comments on the MailChimp blog post that we’ll be integrating; and we’ll try to keep an eye on the WordPress support forums too.

I think we’ll see a few more services added in the near future as well. I’ve been lobbying for one that I want to build a little integration with myself.

Fellow WordPress developers, if you’d like to extend Social please stop by and say hi at WordCamp San Francisco this weekend. I look forward to hearing your ideas and seeing how we can work together to make great things for the WordPress community.

This post is part of the project: Social. View the project timeline for more context on this post.