Distributed Conversation Formats
Examples of Related Formats
Email and Usenet both keep track of discussion threads in a non-central manner using headers and references to message IDs. Some common headers and their use are highlighted in RFC2076 - Common Internet Message Headers section 3.6:
- In-Reply-To - Reference to message which this message is a reply to.
- References - In e-mail: reference to other related messages, in Usenet News reference to replied-to-articles.
- See-Also - References to other related articles in Usenet News.
- Obsoletes - Reference to previous message being corrected and replaced.
- Supersedes - Commonly used in Usenet News in similar ways to the "Obsoletes" header described above. In Usenet News, however, Supersedes causes a full deletion of the replaced article in the server, while "Supersedes" and "Obsoletes" in e-mail is implemented in the client and often does not remove the old version of the text.
- Article-Updates - Only in Usenet News, similar to "Supersedes:" but does not cause the referenced article to be physically deleted.
- Article-Names - Reference to specially important articles for a particular Usenet Newsgroup.
Thread Description Language
Thread Description Language - TDL is an RDF vocabulary for describing threaded discussions, such as Usenet, weblogs, bulletin boards, and e-mail conversations.
TDL v3 defines the following properties:
- Property tdl:discusses - Relates a Post to a resource it talks about
- Property tdl:follows - Indicates that this resource comes no earlier than the specified resource
- Property tdl:inThread - Relates a post to a thread which includes it
- Property tdl:mentions - Indicates that this resource refers to the specified resource
- Property tdl:respondsTo - Relates a post to its parent(s) in a discussion
- Property tdl:respondsNegativelyTo - Relates a post to a parent post which it dissents from or corrects
- Property tdl:respondsPositivelyTo - Relates a post to a parent post with which it concurs
Discussion of TDL
- respondsNegativelyTo, respondsPositivelyTo are beyond the scope of this spec. They can both be implemented using vote-links.
- Without those, respondsTo remains the main connector between posts in a thread.
- mentions and discusses seem to be splitting hairs. It appears that both of them can be replaced by using the CITE tag.
- follows seems to be designed for use in a central registry that tracks threads and therefore is useless for a distributed solution.
IBIS - Issues Based Information Systems
Kunz's Issue Based Information Systems (IBIS) provide a framework for collaborative understanding of the major issues and implications surrounding what are described as ``wicked problems (problems that lack a definitive formulation). Understanding is achieved by using hypertext components to create structured arguments surrounding the issues. (Weblog Kitchen)
The hypertext model of IBIS consists of three node types: 1. issues 2. positions 3. arguments Eight link types represent the allowable relationships between these nodes: 1. generalizes 2. specializes 3. replaces 4. questions 5. is_suggested_by 6. responds_to 7. objects_to 8. supports
Discussion of IBIS
Similar to TDL, IBIS seems to tackle a bigger problem than the one discussed here.
- The different node types are not necessary for tracking a discussion thread. Tracking the flow of the conversation, the arguments and flow of ideas is a wider more complex issue than just gluing together disparate pieces of an online discussion.
- Link type such as "generalizes" and "specializes" might be useful but seem to require a lot from the user. If we allow for inheritance of link type they could be used as optional parts of the format but it appears that we can do well enough without them.
SIOC (Semantically Interlinked Online Communities) is an ontology for describing discussion forums and posts on topic threads in online community sites. This includes but is not limited to: blogs, bulletin boards, mailing lists, newsgroups, etc.
Relevant properties defined under SIOC:
- has_reply - This details replies or responses to this Post, which can be used for purposes of display ordering.
- reply_of - Links to a previous Post, which this Post is a reply of (or to).
- next_version - Links to the next revision of this Post.
- previous_version - Links to a previous revision of this Post.
- has_sibling - A Post may have a sibling or a twin that exists in a different Forum, but the siblings may differ in some small way (for example, language, category, etc.). The sibling of this Post only needs to have the changed information.
- sibling_of - This Post differs from its sibling in some small way. The other sibling can be used as a source for any missing data.
- attachment - A URI of the attachment related to a Post.
- related_to - Related Posts for this Post, perhaps determined implicitly from topics or references.
- is_closed - Details if this (and any children) is closed.
Discussion of SIOC
- We cannot expect the complementary relations (e.g. has_reply) to exist. This would require a more strongly connected system that we do not assume exists. Similarly for is_closed.
- next_version and previous_version might be an interesting alternative to updates in the case where the author of the updated version has control of the previous version as well. This is not always the case but might happen often enough to include this option.
- The concept of siblings is an interesting one, although the difference between that and update or forward might be too particular for most users.
- attachment might be interesting but is it necessary?
- related_to might be useful in an aggregate environment (think delicious related tags) but otherwise I see those posts use as source citations, so this specific relation type might be pointless.
Microformats and SIOC
- John Breslin has written a blog post about potential connections between mf, cite-rel and SIOC.
Examples of Use
From Email we get two basic relations between message:
- Reply - This message is a reply to the referenced message.
- Forward - This message forwards the referenced message to additional recipients.
From various publications (often of standards) we get:
- Updates/Obsoletes - This documents contains updates or even replaces the referenced document.
Citation of resources comes in several flavors:
- Citing a reference
- Via link/Hat tip (mainly in blogs)
Atom Threading Extensions
An extension has been created in RFC-4685 for Threading, essentially the ability, with Atom, to have cross-site, continuous conversations.
(needs more details)