My Rails project, dubbed ThreadSpinner, is coming along - slowly but surely. I was worried that my current assignment at my day job would hamper my enthusiasm to code in my free time. I just came off a very interesting Rails project for a client and I'm not sure I would have ever learned Ruby or the Rails framework as quickly on my own. Getting paid to learn a fun language is quite a motivation. However, I'm finding that coding is becoming a cool pasttime, and now that I've cleaned up my office I'm energized about making ThreadSpinner something interesting and exciting!
I've got a basic threaded forum working (thanks to Bob Silva) so the fundamental structure of what I want to do is now there. At this point the real work begins: I need to rework this structure and functionality into something that allows "posts" to be flexible based on what the user wants to do with the content. That's the idea behind my application: blurring the line between essays and conversations, promoting dynamic collaboration spaces as well as individual content "ownership".
I want to see people doing things with their writing that move outside the rigid domain of "this is a blog", "this is a comment", etc. That's not how ideas work in real life. Is it possible to create a domain model that encourages not only blogs to cross-pollenate through ubiquitous dicusssions but also ensures that the surrounding discussions remain substantive and that new ideas grow as a result of the pollenation? Do we have to draw lines and say, "that's your idea, this is mine"? This is the idea behind ThreadSpinner - get people to use each others' content creatively while strengthening the personal investment in content creation.
As you see, this is bigger than a technical problem. However, I think the development decisions will influence how viscous this sharing between people will be. We'll see if my enthusiasm continues, but I think I'm off to a great start. If what I've written intrigues you, drop me a line. I'd love to bounce ideas off developers. I also have a subversion repository set up in case anybody wants to collaborate.
Read this article