First up some honesty:. I reformatted my computer today and wiped out about 3 weeks worth of solid coding on my thesis. That pretty much makes me a dumb ass since I backed up everything else. Iv got some backups set up now and I’m going to get some sort of reliable, fast removable storage so this cant happen again.
Recently events have also conspired to push back my thesis defense until mid February. This is more time than I felt I needed to have a demo of the prototype ready. So given the slightly relaxed time table and my current set back I thought now would be a good time to take a step back and really consider what’s important on this project. I’m being too much of a perfectionist about things. I need to prioritize just a few things that need to be done the right way and let the rest slide.
Grouper is as close as anyone has gotten to the idea behind Mindshare. I’m sure that I could convince lots of my friends to use that, especially for swapping photos. I am also encouraged that it took a whole team of ex AIM developers to put that together. As the sole developer its hard feel that you are making any progress.
There are good things to be said for non collaborative sharing, like better control of your bandwidth. In the end Mindshare will support both kinds of sharing, thats actually what I wanted from the start. Mindshare will still enable you to do things you cant do with Grouper. Real collaboration takes cohesion and Mindshare gives groups a way to express themselves cohesively. Without a working prototype its hard to tell how users will respond to that idea so I will be following Grouper to see how well it is accepted.
Distributed BitTorrent is exactly what Mindshare will need for a back-end file transfer engine. Every peer will be its own ‘tracker’. For now though the tradeoff is speed of implementation vs transfer speed. BitTorrent is a proven technology but implementing it in Mindshare is a big risk in the next few months. It is obviously the right thing to do for performance reasons but it might break my time budget. The prototype will have a very simple file transfer engine that can be improved later. Better to have something quick and than something I am forced to abandon at the last second.