Second, to accomplish most tasks, the user must master a set of different tools each with slightly different interfaces. We took an object-oriented view to the design of our system. The system was designed as a set of objects, each with a common set of data and processes. The principal organizing object is the project. A project contains all the data and processes needed to perform most group tasks.
All projects contain the knowledge to be added, deleted, modified, and moved, among other functions.
Each project in turn contains a set of topics. Topics contain many of the same properties as projects. They are also organized in a hierarchy and can be added, deleted, modified, moved, and so on. Each topic can also be rated on a set of criteria defined by the group. Alternatives would have been to develop our own Web client, or to develop for one of the specialized browsers such as Netscape or Hot Java.