My Facebook Connect Wishlist (for WordPress)

birthday-cake2.jpgToday everyone seems to be wishing me a Happy Birthday – it’s not really, but it is @jessemccartney’s birthday on Twitter, so I get all the “ZOMG Happy Birthday @jesse mccartney” Tweets from uber-excited fans.  Some times I throw them a bone and tell them how much I love them as well.  It’s fun to celebrate your birthday twice a year, so hey, why not?  So I thought I’d celebrate @jesse mccartney’s birthday on Twitter with a wishlist of my own.  Take it as you may, but my hope is that maybe it inspires you just a little bit to go out and create something, especially if you’re a Facebook developer.  And if you don’t do it, I will. Eventually.

Here’s my wishlist.  All of these are ways I can see Wordpess could be used to integrate Facebook, but no one has written a plugin yet to do what I want – please check out the documentation at http://wiki.developers.facebook.com/index.php/Facebook_Connect for an overview on what you can do (it’s actually quite easy!):

1. A single, standalone “Connect with Facebook” button plugin – so many Facebook plugins for WordPress try to do too many things in one plugin.  I want to be able to build my own Facebook integration.  Add a little component here.  Add a little component there.  Nothing more.  So, do do this, I need, at the very basic level a “Connect with Facebook” button that shows up somewhere on my blog just by installing a WordPress plugin.

You could take this further though.  What if you also provided a script that reads the e-mail addresses of commenters and automatically registered them with Facebook so that if I ever wanted to do a to encourage my readers to invite their friends, they could very easily?  The button could appear as an overlay that appears once for each user, and if they opt not to log in, never appears again.  When the user logs in via Facebook you automatically register them with a Facebook ID.

That’s all the plugin will do.  Its focus is simply login and registration and loading the basic Facebook Connect libraries, nothing more.  If you want it to do more, use another plugin that builds on top of it.

2. TweetMeme for Facebook plugin – if you haven’t had the chance yet, go look at Mashable.com, now.  See their Facebook share button underneath the retweet button? That’s what I want, but I want more.  Here’s how I see it:

  • A reader reads an article.  They want to share it with their Facebook friends, so they click on the share button.
  • WordPress, via a plugin, calls the stream.publish() to enable the reader to publish the article to their own stream.
  • Your plugin tracks the ID of that particular share, maybe even prompting the user for read permissions, and adds it to an array of shared IDs in an options storage in WordPress.
  • On every load of that particular article, each share’s likes are read, counted, and updated in another stored variable in WordPress.
  • The sum of all those likes is displayed in the share button, and other readers can also share to their friends and contribute to the number of likes for that article.
  • Of course, this would rely on the blog owner installing the Facebook authentication plugin above in #1

3. A “publish to Facebook” plugin that works – there are already lots of publish to Facebook plugins for WordPress.  None of them fully utilize Facebook Connect though, especially the stream methods.  What if I could publish a blog post, have it automatically also post into my Facebook stream, and at the same time, track every comment and like of that specific post and then post comments to the share button above, while listing comments of the particular post down below my blog post comments?  Or, let’s take that further.  If one of my friends on Facebook comments on the blog post itself, I also want that friend’s same comment to show up under the published stream item on Facebook as well. I think that would be incredibly useful.

4. A “leave a comment” plugin that works – I think the same could happen with comments.  TechCrunch is doing this somewhat.  A user that comments should have the option of publishing that comment to Facebook in the user’s stream.  What also should happen though is that comment ought to be tracked.  Now, when any of a user’s friends that are also previous commenters on that blog comment on Facebook, they also appear threaded underneath that specific blog comment on the blog.  Or vice-versa.

5. A standalone friends widget – I want a friends widget just like the Google FriendConnect widget you see over to the right.  It ought to come with a “subscribe” button, or “join my community”.  When a reader subscribes, they automatically (unless they opt-out) get new blog posts for your blog added to their stream on publish, real-time.  This would also work great if you develop RSS reader software, as you could also automatically subscribe the user to the blog in your reader.  Again, it should be standalone though – people should be able to mix-and-match, and this would also rely on #1 above being installed.

6. An activity streams plugin – I would put this top on my list if I could (even though it’s at the bottom, because it’s the most code to develop). If you haven’t had the chance to yet, regardless of your political preference, go check out what HuffingtonPost.com has done with Facebook Connect.  Log in with Facebook Connect there and you’ll see one of the coolest implementations of Facebook Connect I’ve ever seen.  I wish they would release that to the open source community as a Facebook plugin for WordPress.

All the activity streams plugin needs to do is track activity of readers on a blog.  A new view of the blog would appear, showing all of your friends who are also readers of the blog, and a historical news feed or timeline of what they’ve just read, what they’re commenting on, along with any other cool activity that may be pertinent.  The idea is to help a blog’s readers discover new content on your blog.  This plugin could track the most popular blog items, most commented, etc. and display those on the side for readers to discover.  Each stream would be custom to that reader and their Facebook friends that read the blog.  It could also have options to invite friends to come check out the blog.

This specific plugin could also integrate with #5 above and enable a reader to click on one of their friends, and see only the activity of that specific friend.  Or, when inviting their Facebook friends to check out the blog, it could provide a way for each of those friends to subscribe and automatically receive new blog updates for the blog in Facebook.

The possibilities are endless, but I think you catch my drift.  You can even package all the above into a single plugin, but I also want separate plugins.  This stuff, to my knowledge, has not been developed yet, but it should.  I want you to go out and build it before I’m forced to – these are free ideas and a great way to show your talent, get some free exposure here (I’ll write about each one that does this effectively), and a great amount of traffic from both Facebook’s plugin directory and WordPress’s plugin directory when you’re finished.

Let me know if you’ve written one of these – either let me know in the comments, e-mail me, send me a “Happy Birthday @jesse mccartney” or whatever.  I hope I’ve started your brain juices flowing – I’m salivating at the thought! (mmm…brain juices)

23 thoughts on “My Facebook Connect Wishlist (for WordPress)

  1. Many of these I've planned on doing after WordPress 2.9 (maybe 2.8.5) comes out.

    Because right now, it's very difficult to store extra data alongside comments and other such things in WordPress. There's no “comment meta”. However, due to other changes in the core, comment meta is coming soon, making this sort of thing very easy to do indeed.

    On one hand, I agree with you about the “too much” syndrome. I prefer plugins that do one simple task quickly, efficiently, and quietly. Some people have issues having, say, 40+ plugins installed. I say that if each of those plugins is only doing one simple thing, then it's not really a problem.

    So my first plugin after we get comment meta is going to be a very simple one: Comment with Facebook. It'll let a user use their Facebook identity to comment. Nothing more than that, no need to create an account. Just a way to avoid typing in user information. I had planned on leaving login and registration out of it, because a) there's already a plugin that does just that and b) I don't want people registering on my blog in the first place.

    The plan is then to extend the same concept to other services. Comment using Twitter. Comment using FF. Comment using Google Connect. Whatever, just let a user pick an account from one of a multitude of services and comment using that information instead of typing name/email/website. That's what I want, and that's why I need to wait for comment-meta.

    Like

  2. Otto, where is the plugin that just focuses on Facebook Connect
    registration/login? I'd love to get that.
    For your comments, be sure to utilize the Facebook Open Stream API – you can
    track the post to a person's Facebook profile, along with any comments or
    likes underneath with it.

    Like

  3. Actually, looking at the one I linked to before, it only allows for creation of new users from FB Connect, it doesn't allow you to connect pre-existing users to FB Connect, and it doesn't appear to modify the login page to allow for it.

    So it appears that several plugins to do individual pieces of this might be the way to go here.

    Looking through the APIs makes it seem like it'd be simple enough to do though. We already have a usermeta table, so FB Connect login/registration would be relatively easy to add right now. Linking to existing users is just a matter of a usermeta field. A special form might be needed to get the user's email address (since FB won't give you that information, only gives you a proxied email, which sucks IMO).

    “Anonymous” no-registration commenting needs new WP features to do properly (sure, you can do it now, it's just inelegant, IMO).

    Sharing is different than commenting though. If somebody shares a post on FB, does it make sense to track the comments made on that share and re-display them as comments on the post? Not sure. Likes, yes, fine, that's a mere counting operation.

    I suppose you could work it this way:
    1. The initial share would be a comment on the post (assuming it had content and wasn't just a blank share).
    2. Replies to that share could be re-posted as replies to the comment.

    Interesting notions anyway.

    Like

  4. Well, I implemented the basic FB commenting functionality over on my blog. Doesn't look all that great, but then I haven't bothered to style it much yet. You can see it here:
    http://ottodestruct.com/blog/2009/bob-dylan-to-

    This is a really basic implementation, and I haven't converted it to a plugin yet. Basically, it just lets you do FB Connect to leave a comment (instead of filling in the fields yourself). It provides a publish-to-facebook function as well, although I haven't styled that yet either. Also, while it does show your profile pic, that doesn't show up in the actual resulting comment yet, because I really need comment-meta to do that properly (and which is still experiencing minor bugs in WordPress 2.9-rare).

    So, for now, it's just a preview type of thing, and gave me a chance to see how to implement it. I'm now certain that this *can* be turned into a standalone plugin with relatively minimal effort. I have some clever ideas to make theme integration easier as well. Creating your own “facebook application” is still necessary, but there might be a better way to walk people through that set of steps.

    Like

  5. Otto, looking good! You may want to look at my Community Facebook Connect
    Plugin and get that working to implement what you have as a plugin. It
    needs a lot of work still, but it's all GPL so have at it if you want. If
    you end up just using that I'll be happy to include your name in the list of
    contributors. Or you can just fork it, either way (or create your own).
    Also, I would separate the “Connect with Facebook” into its own plugin. I'd
    love to have a plugin that just sets up all the code for Facebook Connect
    and logs the user in. You could even do it as an overlay that appears if you
    detect the user is not logged in through Facebook (or keep that as an
    option).

    Like

  6. The problem with a generic connect button plugin is that how it works really depends on what you want it to do.

    For this commenting purpose, I don't create a new WP-User when somebody logs in via FB. I don't want new WP-Users, I don't want people registered on my site. For this, simple FBML and javascript work just fine. It just fills in the hidden fields and submits the comment. No fuss, no muss. Gravatars can eventually be replaced with the image urls, once I have somewhere nice like comment-meta to store them.

    For a FB-integrated-login, I'd have to have a way to connect an existing WP-User to a FB account. Not hard, just have a usermeta field that stores their ID number and then allow them to authenticate that way. But this would have to be done using the Facebook PHP libraries, since the backend needs that information.

    For a FB-registration, it'd be similar to the login and existing user registration, but would accept FB Connect up front to get and store the Facebook ID number. Again, PHP library, probably integrated.

    My point is that the last two (probably would be in one plugin) obviate the need for the first one entirely. If you were going to go ahead and both allow user registration and login, then you actually don't need the comment javascript method at all, since you can pop a FB connect button up and register them as a WP-user automagically, at which point the person isn't “anonymous” anymore and you don't have to mess with that sort of thing for the comment fields.

    So what I'm thinking is along these lines:
    1. Basic FB Comment and publishing plugin (this one, easy to integrate, leaves no real traces behind).
    2. FB Login/Register plugin (simple login-registration)
    3. FB Commenting plugin (add-on to #2, eliminates the need for #1 for commenting).
    4. FB Publishing plugin (add-on to #2, eliminates the need for #1 for publishing when comment is left).
    5. FB Sharing plugin (allows for trivially easy “share” button that works well, uses elements of #2 if it's available).
    6. Whatever else comes to mind. Many of them would basically require #2 first, but some might offer alternative methods.

    Like

  7. Otto I Too Would be Interested in what you are working on. Ive been using FBConnect since January on my Blog. But it has alot of issues. Alot of people say it dont work. Or it random when it does work. So Id like to look at some new options. Good Post btw. Ive got a similar wish list of my own. Bad thing is I work on stuff like this all day long at work and when i get home i dont even feel motivated enough to make a plugin for my on blog.

    Like

  8. I also Ment to Mention. You might like to take a look at http://ping.fm Ping.fm is a simple and FREE service that makes updating your social networks quick and Easy. and It integrates well into wordpress. I love it I use it religiously. I hate installing 5 plugins for various sites.. when Ya just need one. and ping.fm does the work for ya. I love it.

    Like

  9. The problem with Ping.fm is it's broadcast only. I want a plugin that not
    only broadcasts the post, but tracks comments, replies, likes, etc. to that
    broadcast, and enables others to broadcast it as well, tracking the
    comments, likes, etc. of those as well. No one has done this yet, but it is
    entirely possible and actually not too difficult on the Facebook side of
    things. The main difficulty will be on the WordPress side, but it's still
    possible.

    Like

  10. The problem with Ping.fm is it's broadcast only. I want a plugin that not
    only broadcasts the post, but tracks comments, replies, likes, etc. to that
    broadcast, and enables others to broadcast it as well, tracking the
    comments, likes, etc. of those as well. No one has done this yet, but it is
    entirely possible and actually not too difficult on the Facebook side of
    things. The main difficulty will be on the WordPress side, but it's still
    possible.

    Like

  11. The problem with Ping.fm is it's broadcast only. I want a plugin that not
    only broadcasts the post, but tracks comments, replies, likes, etc. to that
    broadcast, and enables others to broadcast it as well, tracking the
    comments, likes, etc. of those as well. No one has done this yet, but it is
    entirely possible and actually not too difficult on the Facebook side of
    things. The main difficulty will be on the WordPress side, but it's still
    possible.

    Like

  12. The problem with Ping.fm is it's broadcast only. I want a plugin that not
    only broadcasts the post, but tracks comments, replies, likes, etc. to that
    broadcast, and enables others to broadcast it as well, tracking the
    comments, likes, etc. of those as well. No one has done this yet, but it is
    entirely possible and actually not too difficult on the Facebook side of
    things. The main difficulty will be on the WordPress side, but it's still
    possible.

    Like

Leave a comment