Saturday, 22 January 2011
Setting up a software project
Recently, I have started a software project with a few of my friends. I shall speak about how I set up communication media for the project. We started with creating a secret group in facebook. That way we are able to discuss the project even when we are at our homes. Facebook also has functionalities of creating documents for the group. However, facebook chat is not quite reliable as a group chat and it does not support voice. [It reminds me of good old yahoo chat days. :) ] Document creation feature is in no way an alternative to attachments and code sharing. So, the next step was to create a mailing list.
With a mailing list, now we can have interleaved replies, no need to refer to the line we are replying to. Moreover, with a mailing list we can share documents easily as attachments and everyone can look into the other's progress at his/her convenience. For group chat, we started an IRC channel on freenode and used skype for voice chat in group.
Now, we were all set for discussing any ideas we had at any time. We only lacked in a tool for sharing code efficiently. We opted for a code hosting site. I preferred a distributed version control system over a centralised one because we expect a lot of code merges. Moreover, due to fluctuating internet, having the ability to commit locally would be an advantage. So, we opted for mercurial(hg) hosting at www.bitbucket.org. Mercurial is a mature distributed version control system and bitbucket has a feature rich user interface. Now, we are all set for the project and hope it turns successful.