From idea to implementation to ...?
At the time, I had mentioned that I wasn't certain what direction I'd be going in the future; whether I'd continue to work on the original Warehouse code base, or port it over to Merb/DataMapper and go from there. In the course of thinking about it though, I'd taken a chance to sit back and think about what my goals would actually be with it... what was I look for, why would someone want to use it versus what was already out there, etc. I wanted solid and valid goals, otherwise I felt it would either not be useful, or I'd risk losing momentum on it, similar to the Warehouse team did.
I came back to it with a clear goal: focus on being a developers personal mega-plex. I realized the reason I was considering this at all was because the existing options left a gap. As a developer, I always have several side projects. Some I work on for a weekend, but I still want to keep them around. In my Warehouse install, I had about 25 repositories, but could have easily had more. At that number, I'm looking at upwards of $50/month to keep them with the rest of my code at Github, Beanstalk, or elsewhere. Additionally, they'd clutter the UI and get in the way of me getting to my active repositories. I wanted a UI that worked better with high numbers of repositories. I didn't want to use multiple services. I still use Subversion for my Windows work, I've tried git on Windows and it isn't the same since the command line is so weak on Windows. I tried TortoiseGit, but it was problematic (though I am optimistic). There were a number of other features I started thinking of as well as I began to think of it as a developer's personal black book.
So I started from scratch, laid down some code, and while working on it, started thinking about how this really isn't suited well as an application you'd run yourself. It integrates a lot with external systems, such as Apache for Subversion and SSH for git. It becomes user ownership sensitive and installation story gets complex. It really works best as a hosted service, where you can just use it.
However, taking something from an application to a service is not a simple transition. It is something that really calls for a lot of thought and direction.
So right now, I have this application that I created. I put it up and began using it a couple of weeks ago, and I really like it. It now has all of my git and Subversion repositories. Only myself and a couple of co-workers have started using it, but it isn't really ready for the masses. That transition I mentioned? It isn't one that I've mentally crossed and committed to yet. Where it goes from here, I'm not sure yet.