What people are working on in their spare time fascinates me. I love talking to someone about a project that they are motivated about and believe in enough to work on after hours (usually over a couple of beers). It especially fascinates me when the project is at least somewhat of a business. I love open source, but I also love the entrepreneur spirit and the quest to free yourself from the shackles of a day job.
So, I thought it would be fun to interview people who I know working on side projects and to hear about their motivation, goals, and experience.
I decided to start with my good friend Dave Donaldson and his project CodeKeep.
Give me a quick Bio
I’ve recently joined Telligent, makers of Community Server, as a Sr. Software Developer working on the core product team. Before that I spent 3 years as an independent consultant helping major companies adopt agile-type practices for building .NET applications.
So what is the elevator pitch for CodeKeep?
CodeKeep allows you to store code snippets in one central place, so you have access to them from anywhere at any time. You can use CodeKeep with a browser or with an add-on for Visual Studio.
How many users and snippets does CodeKeep currently have?
There are over 11,000 users and over 9,000 snippets.
What technologies did you use to build CodeKeep?
CodeKeep is built entirely on .NET. I used a number of things to implement CodeKeep: NHibernate, NHibernateRepository, EViL, ELMAH, log4net, and ASP.NET AJAX; SQL Server is used as the backend database. The first release of CodeKeep was done in .NET 1.1, but I rewrote it for .NET 2.0 quite a ways back. It’s written completely in C# for both the web site and the add-in and has undergone a couple major revisions since it launched back in August 2005. The most noticeable has been a new UI for the web site, but many of the improvements are things people can’t see.
How did you think of the idea for CodeKeep?
I got tired of always having to search through all my previous projects just to find little pieces of code I needed for what I was currently working on, and I thought it would be nice if I could just save code snippets in a single place that I could look up and use whenever I needed to. So I started thinking about CodeKeep as something just for me, but then quickly realized that a lot of other developers out there could benefit as well.
What were your original plans for CodeKeep?
Like any new project, the original plans called for world domination, but since that could take awhile, I scaled it back a bit. Actually, what you see now is pretty much the original plans: to first build a web site and then build a Visual Studio add-in.
How have those plans changed since launching?
Since CodeKeep is free, there was a period early on where I thought about offering premium functionality that users would pay a small fee for, but have since abandoned those plans. There are literally thousands of sites where you can find source code for free, so there doesn’t seem to be much of a business model in terms of making any money from it.
Are you happy with how CodeKeep has done since launch? Would you do it all over again?
Yes and yes. I honestly never thought I’d get more than a couple thousand users and a couple thousand snippets (of which I thought most would be mine), so it has certainly exceeded my expectations. There are definitely some things I would have done differently as I’ve learned some things along the way, but the best part is every so often I get an email from someone thanking me for providing the service and how much they like it.
How much time do spend on Codekeep a month?
Most of the time not much, maybe 10-20 hours at most (many months much less than that). CodeKeep is at a point now where it mostly runs itself. I’d actually like to spend a lot more time on it, but finding the time is always hard.
What's next for CodeKeep?
I’ve got some new functionality I want to release, but the biggest thing will be making the CodeKeep add-in an open source project. I haven’t worked out all the details for that yet, but it’ll be soon. My hope is that the community can take the add-in to a level it won’t otherwise go if left only in my hands.
What is a feature you hope to see added by the community to the add-in once you open source it?
One of the most requested features is the ability to create groups for you to share snippets with, kind of like private snippets, but for a group. There is a bit of thought that needs to go into that, so that’s something I’d love to see driven by the community.
How much do you use CodeKeep? How many snippets do you have stored?
For storing snippets, I use CodeKeep kind of sporadically (to date I have 56 snippets stored… sad, yes), but I do use it often when I need to search for snippets. Also, I subscribe to most of the language RSS feeds, so I certainly use that aspect every day. Having the feeds is very nice because I’ll see something come across that I find interesting and then I’ll tag it in del.icio.us.
Thanks Dave for being my guinea pig. If you have any other questions for Dave leave them in the comments and I will try and get him to swing by and answer.
If you are working on a cool side project shoot me an email (javery ~at~ infozerk.com), I would love to talk to you for a future post.
-James


Great interview and an awesome idea. Keep them coming. BTW, this would make a great ongoing one page article series in one of those trade mags. It's a lot better than a ton of the crap I've read in there. Then again, it works well right here on your blog, too!
great interview. glad to see he's keeping it going and not oblivious to the fact that there's not much of a business model behind it.
it's prime for an open source project though because it would make for a great internal application for many businesses...oh wait, there's the business model ;)
Great idea for a series -- keep 'em coming :)