UnRegister: A Project Manifesto

One of the things I’ve been really interested in doing this year is getting involved with an open source project. Unfortunately I’ve been a little remiss in my efforts to find a current project to get involved with. Early on I had a few thoughts of projects I’d like to become a contributor to, such as the Aptana IDE, but I feel those thoughts were over ambitious. Then I came across a great project currently ongoing from Code 52, and was thinking about getting involved with something they are doing, and I still might. For anybody that isn’t familiar with Code 52, head on over to their site. Basically though their goal is to start up 52 open source projects this year, one for every week on the calendar. It’s a very ambitious goal and they’ve already churned out some really cool things. At present though, I don’t feel any of these projects and efforts are a great fit for me, so enter UnRegister.

Why UnRegister?

I’m a programmer, and as a programmer I have problems at times, well actually quite often, using other peoples products. Let’s face it, for the vast majority of us we always think there is something we could have done better or would have done differently, and if not that then there is always the desire to have more control over the behavior of the tool we’re using. One of those real problem areas for me is with finance software. Several months ago I picked up a copy of Quicken 2011 and after a month I stopped using it. It’s probably a really good product for what it does, but I don’t require all those bells and whistles. What I really want is a tool that gets out of my way. My ideal tool isn’t a spreadsheet, and isn’t Quicken, it is something somewhere in between. I don’t need to be able to synchronize with my various accounts at different financial institutions, I just want to be able to track the deposits and withdrawals, provide some categorization of them, and maybe every now and then run some sort of query against that data. So that is the goal of UnRegister.

My Hidden Agenda

With anything in life there is a reason I’m doing this. At work I’m constrained by the work. I have people dictating to me what the requirements are, and I’ve got a boss and a project manager telling me to get things done as fast as possible but don’t sacrifice functionality. I do have some creative license, but at the end of the day the customer wants what the customer wants, and I’m one of several programmers there seeing to it that they get exactly that. What that means for me is that there are technologies and practices I’d like to be leveraging, or at the very least researching and evaluating, but there really isn’t time enough to do that.

I’ll stop right here for a moment just in case my boss is reading this and say: “First, I didn’t realize you read my blog. Second, I’m still having fun and not going anywhere, I just need a place to flex that creative muscle a little. After all this should only make me that much more effective at the office.”

Okay, sorry about that. So what am I looking to get out of this personally? A few things, in no particular order.

Those are just some high level goals anyway. Probably at this point I should admit I’ve been inspired by Rob Connery’s current effort to recreate TekPub using server side javascript. I’m looking forward to it though.

So What’s Next?

Well, I’m going to try and post updates just as frequently as I possibly can. I’m hoping I can maintain this level of excitement throughout the project. This isn’t the first time I’ve tried doing something like this, but I think I’ve got the proper goals in mind this time around. I’m not trying to get rich off of this, although it would be nice, but instead I’m trying to learn, practice, and contribute. Those should be sufficient motivators. As soon as I get something, anything done, on the code side, I’m going to put it up on my GitHub account. I also think I’ll start by giving Trello a shot, I setup a quick board so you can hop over there and see what is in store.