Excellent manifesto for software developers.
All of the conceptual and technical ideas I've proposed in this essay share one thing in common: They won't make a difference unless tool developers work on them together. Creating a shared conceptual framework is a truly collaborative problem. It will not be solved by a single person in an ivory tower and forced upon the rest of the community. It will require constructive, passionate dialog, open minds, and much experimentation. It will require respect for other people's work and ideas. Most importantly, it will require a shared desire to make the world a better place by improving the way we work together.
With this in mind, these are the steps for improving collaborative tools:
- Be people-centric. This applies both to how we design our tools, and how we market them.
- Be willing to collaborate. We all belong to a community of like-minded tool developers, whether or not we are aware of it. Working together will both strengthen this community and improve our tools.
- Create shared language. Our tools share more similarities than we may think. Conversing with our fellow tool builders will help reveal those similarities; creating a shared language will make those similarities apparent to all. As a shared language evolves, a shared conceptual framework for collaborative tools will emerge, revealing opportunities for improving the interoperability of our tools.
- Keep improving. Improvement is an ongoing process. Introducing new efficiencies will change the way we collaborate, which in turn will create new opportunities to improve our tools.
Finally, never forget Doug Engelbart's fundamental tenet: Computers should help us become smarter and work together better. Remembering this will keep us on the right track.