There is an interesting link via Slashdot this morning called A Manifesto for Collaborative Tools.
This essay is a manifesto about software for collaboration -- why the world's future depends on it, why the current crop of tools isn't good enough, and what programmers can and must do about it.
The article talks about the need for the evolution of collaborative software. We have blogs and wikis and instant messaging. I think that these are the first steps into true collaboration space. The article talks about backlinks and the importance of knowing who is referencing you to get a full circle of feedback. Blogs with "Trackbacks" are a good step in this direction, and a necessary feature if we want to analyze how an article or idea spreads throughout the mind space of the Internet.
I have a particular interest in making traditionally standalone applications incorporate collaborative features. One area of particular interest is programming IDEs (Integrated Development Environments) as developing one is my day job.
Largely, IDEs and development tools have reached a temporary plateau. All the leading IDEs contain largely the same features. Recent fads like refactoring and unit testing have filtered through the various IDEs and most support a rich set of features to support those concepts. The high degree of competition has propelled these products to the same pinnacle where one looks very much like the other. On top of that, IDEs are becoming more and more commoditized with Open Source projects like Eclipse effectively competing with commercial offerings. You can now have all the features for free, to the shock and horror of the commercial companies.
I believe that the next evolution of these tools is to add collaboration features. If commercial products want to stay competitive, they must differentiate and add more value than the Open Source alternatives. But will they clue in to the emerging needs of collaboration?
Programmers are rarely creating a solo project. They are more often just one member of a larger team combining their skills to produce a product. Because of this, IDEs seem to be a natural environment to implement better collaboration tools. Imbed the instant messaging to have instant communication for questions or answers to problems. Imbed document sharing so two or more developers can share files outside of the normal version control system. Imbed the shared wiki for gathering requirements and creating specs. Imbed a blog so developers can keep a running diary of their work, ideas and problems. By making these tools more collaborative, you make it easier to share information, coordinate deliverables and maintain valuable up-to-date communications.
Its a natural evolution. IDEs will become more collaborative. It will be the next race between commercial and open source products.
Posted by xeeban at April 12, 2004 10:52 AM