...Google is trying to take interactivity away from the source and centralize it. This isn’t like Disqus, which enables me to add comment functionality on my blog. It takes comments away from my blog and puts them on Google. That sets up Google in channel conflict vs me. It robs my site of much of its value (if the real conversation about WWGD? had occurred on Google instead of at Buzzmachine, how does that help me?). On a practical level, only people who use the Google Toolbar will see the comments left using it and so it bifurcates the conversation and puts some of it behind a hedge. Ethically, this is like other services that tried to frame a source’s content or that tried to add advertising to a site via a browser...
In a later post Jeff qualified his remarks around what Google should do in this area. As the first comment I made the following remark:
I believe Google should be leading the charge in creating a open *protocol* for conversations. A protocol that can be usefully federated across service providers and lightweight enough so that small-players like standalone blogging software can play their part.
Because the protocol would be open service providers can easily allow users to decorate other conversations with spin-off threads. Content sites could collect and curate part of the conversation that touched their site...
To which Bob Wyman asked:
Can you describe what services you would expect such a protocol to provide or otherwise provide “requirements” for such a protocol?
Here is my reply about what would be required for an open protocol for conversations (or perhaps just the start of a reply). I have not thought about it in detail, so my speculation is somewhat abstract and liable to have problems.
Firstly, let me jump to the end and identify what I think conversations protocol and service should allow us to do:
- Identify a given element (or potential element) of a conversation
- Identify new elements of conversation
- Find and examine the full-text or full version of the contribution
- Understand the direct antecedent, subsequent and possibly sibling contributions. Be able to reconstruct all contributions that led to a specific element, back to the original contribution. Effectively we should able to crawl the conversation in the same way that search engines spider web pages.
- Facilitate a distribution and/or federated tracking of elements that maintains the metadata required to identify the antecedent of each contribution.
- Allow cross domain and cross media contributions
- Allow a new element of conversation to register what antecedents it has.
- Reliably identify the author of each contribution in a non-ambiguous fashion.
- Allow contribution domains to control contributions on their own domain, but not others.
What would we like conversations protocol to achieve? We want to track the conversation and communicate its progress. We do not want to be limited about what our conversation is about. Or how we contribute to it. In its basic form, we just want to know what we are replying to, and what is replying to us. We want to be able to be able to understand the context of a contribution by looking at what inspired it and what it has inspired. We recognise that those that host a conversation have a right to curate and ensure a high quality of conversation, but we do not want those hosts to have the final say about what gets said in a conversation, or where it goes.
Given the organic, evolving and changing notion of any conversation, I would not attempt to describe or interact with the entire conversation itself. I think open protocols for conversations would rather operate on one or more contributions. So lets talk about contributions.
Each contribution needs to be identifiable. The easiest way to identify a contribution would be via a URI. For a blog, this is the web address of the blog post that is the contribution. For a video, it might be you tube video address. etc. This implies that even blog comments should have a unique URI so they can be identified by the protocol.
Each contribution has a domain that maintains the authoritative copy of the contribution. In most cases this would be the domain in the contribution URI, but you could imagine that should a domain disappear overnight a hub or aggregator may become the new authoritative source of a contribution. Domains would have the option of not maintaining a contribution.
Importantly (and probably a defining aspect of the protocol) A contribution has one or more antecedents; contributions it is framed as a reply to. This is the URI(s) of those contributions.
Each contribution has a title and body that is syndicated with the contribution. The syndicated body is rich, since contributions themselves are rich. I would assume it would be in sanitised HTML and standardised microformats.Like the body of current RSS posts.
A contribution has an author. The author should be identified as a URI from a identification provider. I am thinking a scheme such as OpenId would provide the URIs.
Each contribution also has a publication date.
Contributions should be static to maintain their integrity. If you want to change your contribution you had best reply to it. This would be difficult to be police, and like many issues of security and integrity, each contribution domain is either trusted or not - in the same way that email servers, newsgroup services and even individual blogs are mostly trusted today.
So if each contribution includes references to its antecedents, the conversation relevant to that contribution can be traced to its source by examining the antecedent contributions and in turn their antecedents, and so forth.
Discovering subsequent (in the antonym sense to antecedent) contributions on separate domains may require a discovery mechanism, possibly facilitated by registration made by the subsequent contribution made to an off-domain antecedent.
In this sense, conversations should be crawlable.
Contribution domains, hubs and archival centers would host open conversation protocol services. Architecturally contribution domains may be directly federated by other contribution domains or specialist hubs. All support the same open conversation interface. Additionally a conversation service might layer conversation metadata over conversation-less platforms such as Twitter, which are none-the-less potential contribution domains.
Contribution domains are under no obligation to accept any contribution. In fact their value could be by increased by curating contributions to retain quality. However a contribution domain can not prevent a contribution on another domain from referencing their contributions.
The syndicated body of a contribution would have value for search engines but a great deal more value would be obtained by analysing the contribution graph. Page-rank and other analysis would find important parts of the conversation with subsequent and antecedent contributions defining a very accurate context. I suspect a search engine would value higher those contributions that have more subsequent contributions. This would reflect accurately the influence of the contribution on the conversation.
This speculative thought process led me to the services listed at the top of this post.
I have not considered any implementation issues yet. Security, scalability need to be addressed, as do the actual forms of communication and syndication of this information. This is a useful thought experiment, but I do believe that understanding conversation is one of the next challenges of the web.
Let me know if you have any contributions to make to this post.