Don’t reinvent the wheel

by Blake Schwendiman on March 4, 2009

reinvent-wheelAs a programmer I’ve heard the phrase “don’t reinvent the wheel” dozens (if not hundreds) of times in my career. It’s generally a reference to reusing existing source code to perform routine, well-defined programming tasks — stuff like sorting, searching, parsing and much more.

Within the past few years, however, the scope of what can be accomplished by relatively simple integration and reuse — especially on the web — has grown significantly. For example, one thing you’ve probably seen is the common use of those funny login pictures that ask you to type in letters to prove you’re human. For a while, every web site manager that wanted to have that functionality had to build it herself or hire someone to do it. Today it’s as simple as integrating with a service like reCAPTCHA. Additionally, you’ve probably seen plug-in functions for polls, guestbooks and many other standard web site features.

Recently, the pace of development in integration with major services has accelerated again. Google has released Google Friend Connect and Facebook has released Facebook Connect, both of which provide deep integration into existing social networks such as MySpace and Facebook. These integration platforms are still evolving but the implications are huge.

By properly integrating with the existing social networks, a site can provide rich social interactions within existing networks of friends without reinventing the wheel. And frankly with Facebook growing at a rate of 700,000 new users per day, the chance of your site competing head to head with them is extremely low. Don’t compete. Don’t reinvent. Integrate.

Integration is the key

Rather than trying to be the next Facebook, take your unique value to the existing networks on Facebook by bringing them to your site. Amazingly, it doesn’t take a degree in computer science to get some basic integrations working on your web site. Realistically, it might take a degree in computer science to do some more complex integrations (and to read the current documentation). To give a perspective, it took me several weeks (with an incredible support team) to integrate Facebook with Squidoo. To add the Facebook comment boxes on this blog took about 30 minutes.

That’s interesting, but so what?

I decided to disable the normal Wordpress comment system and just use Facebook’s new comment box today. The advantage is that when you post a comment on any page of this site, you also (optionally) post that same comment on your Facebook profile with an link back to my site. If you care enough to comment and tell your friends that you made a comment, it implies that you believe your friends will be interested in your opinion of my site. Assuming they are, they click through to my site, make a comment and the thread continues. Suddenly my site is a part of your social network and you didn’t have to go out of your way to make it so. I reduced a barrier and we all benefit.

The Facebook comment box is just one small piece of Facebook Connect. There are similar tools offered through Google Friend Connect for integrating with other social networks (including MySpace). As I said earlier, these tools are very new and rapidly evolving, but it’s very exciting. Right now if you’re managing a web site or building a new one (or just thinking about it) consider the list of features you’d love to have. If they include commenting, user registration, friend invitations and broad publication of user actions, you might be able to cross them off your to-do list and simply integrate.

Imagine

Consider how much energy you can focus on the core purpose of your web site if you don’t have to build technologies to compete against the clearly-dominant market leaders in social networking. I’m so excited about these emerging technologies that I can barely write this post. There’s so much more to talk about, so many examples of how to do it and so many ideas for where it can best be utilized.

Next steps…

This is going to be a core topic for the next few months (rough guess) as I build samples, give concrete examples and provide code to help you integrate with as little frustration as possible. I’m going to focus on Facebook Connect because I haven’t built anything more than a sample application using Google Friend Connect yet.

I’d love to get your feedback! What do you want to know? How would you use Facebook Connect if you could? Ask questions even if you’re not sure what the questions are!

Comments:

{ 1 trackback }

Zero coding solution: Getting feedback
March 5, 2009 at 9:11 pm

Comments on this entry are closed.