- Ubiquitous Computing
- Web Services
- The Semantic Web
- Spaces Computing
- Peer-to-Peer Computing
- Collaborative Computing
- Dependable Systems
- Security
- Languages
- Pervasive Computing
- Cluster Concepts
- Distributed Agents
- Distributed Algorithms
- Distributed Databases
- Distributed Filesystems
- Distributed Media
- Distributed Storage
- Grid Computing
- Massively Parallel Systems
- Middleware
- Mobile and Wireless Computing
- Network Protocols
- Operating Systems
- Real-Time and Embedded Systems
- Commentary
- Endnotes
Collaborative Computing
The main idea is to regard a program as a communication to human beings rather than as a set of instructions to a computer.
Donald E. Knuth
It is the collaborative computing fitscape of NDC that produces most implementations of groupware, a concept that implies groups of people working together on shared projects. Types of groupware include collaborative drawing and writing tools, frameworks for scientific collaboration, shared applications, video communications tools, Web-based conferencing, workflow and workflow management tools, the emerging field of knowledge management, and even email. Since groupware, by definition, involves groups of human being, it might follow that academic disciplines with more of a humanities focus might find a haven in research in this area, and such is the case.
Humans beings have the disturbing habit of being human. Our best efforts to systematically impose rational ontologies on human activities fall short, even as we find the tried-and-true scientific method occasionally lacking when it comes to understanding a reality that is inherently subjective, complex, and squishy. Most endeavors to date, for example, in the vein of artificial intelligence, have led to dead ends. Perhaps we are coming to realize that technologies serve us better when we strive to foster human intelligence, rather than replace it. Some collaborative computing research seems to reflect such postcyborg sensibilities, at least in the area of knowledge management (KM).
What is KM? Alas, there is no universal definition. It's probably most useful to think of KM in the broadest context. From a collaborative computing perspective, KM is the process through which organizations generate value from their intellectual and knowledge-based assetshumans. "Best practices" approaches fall within the KM sphere. Much in the way of persistent conversation (like email and instant messaging), if mined properly, has the potential to provide knowledge value to the firm. But there are no solid rules when it comes to KM, except perhaps for one: people are key.
There is no knowledge without human beings. Technology, for example, is not knowledge. It is knowledge incarnate and perhaps a means for collating knowledge. But it's the taxonomy-defying masses that constitute the "mine" from whence knowledge must be extracted. As such, NDC developers who focus on collaborative computing would be well served to learn as much about human beings as possiblethrough literature, history, religion, economics, biology, sociology and psychologysince it is only through cross-disciplinary activities that the most valuable resource any company may boast can be fully exploited.
Collaborative computing would also be a fruitful pursuit for scientists eager to share data. Biotech researchers, for example, are well aware of the potential of technologies like XML, which, when properly extended, can facilitate collaborative efforts specific to research disciplines. The Interoperable Informatics Infrastructure Consortium,[14] an ad hoc organization whose stated mission is to facilitate and enable data exchange and knowledge management across the entire life science community, is just one example of a discipline-specific instantiation of collaborative computing, which itself is utilizing technologies for other collaborative computing efforts (as embodied by the W3C).
The broad NDC spectrum of collaborative computing is cross-disciplinary by nature; it is likely through R&D efforts in this broad category that humanizing influences will be felt by computer science at large.