When stuff just doesn’t work

Last week was a bit of a frustrating week for me. I cut my leg pretty badly and spent most of the time in bed. Luckily, I have a laptop, so I was able to push on with work. At least that’s what I thought I’d do.

I am a huge fan of the MediaWiki and a huge fan of adding plugins to any MediaWiki site. Most of the time all you need to do is upload some files and make a few changes in your settings, and then you are good to go. That is not always the case. Sometimes you need to get a bit down and dirty with the code. Although I may not feel comfortable writing an extension from scratch, playing with existing extensions is usually right up my alley.

I want to add a rating system to the pages on The Pet Wiki. There were two extension candidates to choose from. After trying repeatedly to get each of them working, spending many man hours on it, I decided to call it quits.

Some of the things that calling it quits did for me:

  • I can’t do it all. I am totally cool with that. The Pet Wiki is a project of love. I made some great progress in a relatively short amount of time, and then set my expectations really high for being able to get everything done. Life doesn’t work that way. If this is something that is really important to me, I can always go to outside help to get it accomplished.
  • Long hours do not equal high productivity. I could have spent another few days trying to figure out why the extension thought that I wasn’t using JavaScript, even though I was. The more time that I threw at the problem, the less I got out of it.
  • Prioritize what else needs to be done. I thought that it was going to take me half a day to get it up and running, but after 3 days I realized that there were things that I wasn’t doing that needed to get done. If adding a rating system were all that mattered to my site there might be something to talk about. But since this is a nice to have, and things like editing the new content that has been added, and maintaining the homepage are more important, there is no way that I could take the luxury to play. You need to know how to get down to business.
  • Evaluate the feature. A feature that takes half a day to install is very different than a feature that takes a week. Sometimes a feature is so important that it is worth working on for months to get it done right. In those cases, spending time that is needed is crucial to the advancement of your site. That is time well spent and a real investment into what you are doing. Spending 3 days and not making any significant improvements on something that should take half a day is not. Each feature should be evaluated for what it is.
  • Don’t be afraid to say it’s a no-go. Just because I invested a lot of my time trying to get it right does not mean that I have to make it work or all that time is lost. It’s important to not let your pride come in the way of other progress that you can make. The time is lost anyway. There’s no way to get it back. It’s time to cut losses.
  • Shelve it. I still think that it would be great to have a rating system in place. It is something that I’d like to get done and I think it will be a boost to usability. But it can wait. When I can schedule more time to play with it, I will. I didn’t give up, I’m putting it away until it is the most important thing for me to do for my site.

Although this was a frustrating week, it was still a good one. It helped me reflect on how much stuff I usually do get done. The fact that I didn’t win this battle is okay. There are a lot more fronts and a lot more wins ahead of me.