A little history:

I’ve been using my own bookmark app (read:delicious) on my website for several years now. I’m not sure which came first, delicious or my own home-brewed delicious, but that is not important.

What is important; just yesterday I threw in the towel on my own bookmark app in favour of using delicious instead. I’m also well on my way to using flickr for my photo gallery needs (in place of my coppermine)

While my bookmark app does what I need it to, there are a number of things I was doing without. And the other day I got fed up with doing without those valuable enhancements that were already available on delicious. Much like I got tired of compromising with coppermine and went flickr.

Wait a second…

I’m a developer, I like to build things. I like the satisfaction of creating something, finding value in it and using it. It’s an added bonus to be able to stamp your name on something and be better for having the experience rolling your own software.

Long story short…

It just wasn’t worth my time to re-invent the features already available on delicious. Is this being lazy? Perhaps. However, I would rather think of it as recognizing your options, and calculating where time is better spent.

I’m sure the moment will come when the delicious api doesn’t bend the way I would like. But that is something we are all too aware of when using libraries, frameworks and other components from 3rd party vendors. But you know what, there is usually a work-around so I’m not that concerned.

Any stories from the rest of you? When you threw in the towel and outsourced some features?

4 Responses to “When to roll your own, when to throw in the towel and ‘outsource’”

  1. Jonathan E Says:

    I think I deal with this problem with almost any ‘new feature’ I add to my site. Do I build it myself, or do I use someone else’s solution? I think it really comes down to a couple of things:

    1. How quickly do you want it? If it’s a high priority and needs to be done yesterday, it could be better to use a solution that’s already built
    2. Will you gain anything from building it yourself? If you already know how to build it, chances are you won’t learn a whole lot in the process. If you don’t know how to build it though, it could be a great learning opportunity.

    For my site, I built the CMS from the ground up and it was a great experience for me. I learned a lot during the process and I’m quite glad that I chose to create my own solution. Recently though, I’ve been wondering if it would be a good idea for me to switch to another solution (like WordPress or Movable Type) now that I’ve been using my own solution for almost 2 years.

  2. ChadL Says:

    Great points Jonathan, I completely agree.

    As for your own CMS, I congratulate you on rolling your own. That’s significantly more investment than my bookmark app. Which probably makes it that much harder to abandon.

  3. Jonathan E Says:

    You’re right actually. I contemplated the idea of switching to WordPress, Movable Type, ExpressionEngine, Textpattern or another system, but in the end I realized that for what I want to do, it’d be much more work to port my existing data over to one of the other systems than it would be for me to keep working on my own.

    I actually wrote about this a couple weeks before Web Directions (http://www.reinspire.net/blog/2007/01/26/i_need_your_help/) and was pretty sure at the time that I did want to switch… After playing with the aforementioned systems though, I realized just how much work it would be.

  4. Klaus Says:

    Well, I agree with Jonathan. But I think it also has to do with: Do I want to re-invent the wheel. Basically there might be hundreds of developers out there that already dealt with the same problem you are currently facing (e.g. need to extend their blogging software, need some kind of CMS, simply need a new feature on their site).

    Why not use the knowledge and time that others have already put in finding and developing a solution?

    You can learn a lot from developing your own stuff, that is so true. But at some point, I think, the time that this procedure consumes, could be of better use elsewhere.

    Sidenote: I recently noted that I do not have a del.icio.us-account. Del.icio.us is great, but it just does not work for me. The reason? Most of the time, when I am bookmarking a site (99% technical stuff) I also need to add some additional notes, if not a whole code example or attach a file. So I set up a blog, where I keep these link-collections, articles and tutorials. For me, it seems that this works better than del.icio.us.