pattern server 2 and 3

April 8, 2000 11:04 PM

New: discussions, zones, models, users.

Desires

Point of view

Entering the system requests a point of view (POV). These are the broad general categories like strategy, architecture, development, project management. Everything is related to one of these categories some how, and their closeness or distance defines their ordering in presentation to you when browsing. The relationships of the patterns to these POVs are defined by the surfing habits of those who have stated a POV. Everything visited from someone with a particular POV gets their relationship to that POV strengthened. Thus everything will be strongly or weakly related to all the POVs.

Searching, Indexing

Periodically an index will be built that hyperlinks all words to things. It will probably be 26 static HTML pages that list the word and the things which contain it, and in what way they do - eg "client" occurs in the discussion of pattern Ping Test.

Self organizing

It needs to be self-organizing, and self-reorganizing.

It needs to answer requests, like show me this object, or show me the relationships that involve this object, or show me what things are involved in this type of relationship.

But it also needs to spend its time evolving an internal organization of those things. Certain types of relationships need to be discovered over time, compared and ranked along many different dimensions (by type of relationship). Relationships and things need to age over time, and be given importance by their popularity and interconnectedness within the system. Some relationships need to be deleted when they're old and useless.

promoting conversation

The pattern server should promote conversation. People share what they know when in a discussion with people. But we also need the ability to take what has been said, and transform it into something more permanent, outside of conversation - which is what this pattern server should promote beyond simple discussion.

Comments are regular things in the pattern server parlance, but they are treated specially throughout the system. They can be attached to everything, forming the discussion. the current architecture of the pattern server enables anything to be linked to anything, and since comments are simply things, anything can be linked to a comment, and a comment can be linked to anything.

For example, in a discussion about a thing X, initial comments are attached to X, subsequent comments to each other as in normal threads, but when one says "yes, but compare it to Y", that should be able to present the linked chain of comments from X, with the final comment linked to Y. Subsequent replies to this comment are linked to both X and Y, being chained to a comment that is linked to Y and to comments that are, going up the chain, linked to X.

hyperlinked discussion (nonhierarchical)
comments are threaded, in that one comment is associated to another - "reply to", "disagrees with", "agrees with", etc.
Voting/moderation
comments live in proportion to their moderation/voting level. Certain associations, eg agrees with, reinforce the points made in previous comments, upping their levels, as does simply voting up (moderating up) a comment.

At the top of each thing should be a statement about how many comments are attached, and how many are recent.

Architecture

Zones

zones of things. Zone per user, transient zones (search results)

zones have private, public storage. Models define things rather than kinds.

but what is a zone? is it storage? pattern server 2 stores a Trie of objects, each object identified by a path.

Associative links

Links in the pattern server 2 are "typed" links betweeen two things.

3 introduces link type management. Types imply behavior as well, for example some links define hierarchical relationship between 2 things, others define temporal (time) relationships. This allows us a generalized storage mechanism for diagrams like timelines, hierarchies, and non-hierarchies. But the meaning of "temporal" or "hierarchical" relationships is not in how it is stored but how they're displayed, sorted, or searched.