CommentsTrack - Specification
Current version: 0.2
1. Document History
Version..Date.....Name...............Changes
0.1......17Aug04..Jan Piotrowski.....First Draft
0.2......19Aug04..Helge Fahrnberger..Small changes, Workarounds added
2. Abstract
CommentsTrack can help you to keep track of all comments that you post anywhere on the web and of what people reply. It creates one simple RSS or atom feed that you can easily monitor with your favorite feed reader. It is a technology aimed to make your life in the web and blogosphere easier and more comfortable, and to make discussions in weblogs more lively. The CommentsTrack technology might also be used to track discussions in discussion board software (BBS) or to monitor discussions without having participated yet.
3. Terminology
- User: Person that reads and comments to a weblog entry
- RemoteBlog: Software that runs that weblog
- Thread: Comments / discussion about a weblog entry
- PingScript: Software that can connect to CT-Script
- CT-Script: Software that can handle pings/connections from PingScript and modify CT-Feed
- CT-Feed: Feed containing all threads, modified by CT-Script
- FeedReader: Reader to read syndication-feeds (e.g. RSS/Atom). Software or webservice like bloglines.com
4. Functional Goals and Aims
- A feed aggregating all replies to comments User has posted anywhere on the web
- Simple usage also usable for non-geeks
5. Technical Goals and Aims
- Simple specifications to make implementation easy
- Independence of platform and feed aggregation technology, built on HTTP 1.1
- Compatibility / implementability with all major weblog and BBS software systems
- Free and Open Source
6. Notes
- Output (format and design of CT-feed) doesn't matter yet, can be changed by later easily
- Related to and inspired by technologies such as trackback or pingback
7. How it works, Simple Overview
- Form-field is being added to comments-forms of RemoteBlog
- User pastes his personal CT-Script-URI into that form-field
- RemoteBlog uses PingScript to inform this CT-Script-URI about new comments
- CT-Script publishes these comments into a personal CT-Feed and stores them in database
- CT-Feed can be consumed by User via FeedReader
8. Technical Details
- Unique identifier for CT-Script to allocate data in CT-Feed: permalink, should be unique and persistent
- Transmission of comments between RemoteBlog and CT-Scrip: undecided, see below
- All further technical details depend on transmission solution
9. Problems
A. Lag problem
The original concept was to transmit the entire comment information (title, permalink, author, excerpt) to the CT-script everytime a new comment is posted. However, many comments mean many CT-Script-URIs -> many pings -> takes very long to post comment -> lag
Example: 150 comments, 1 seconds per comment + 2 failing CT-Script-URIs per 30 seconds
10. Problem Workaround Approaches
A1. Manual feed-update
- User pastes the URi of his CT-script into RemoteBlog when posting a comment. RemoteBlog pings the URL of the CT-script and transmits the thread's permalink (but nothing else).
- At the same time the RemoteBlog creates an XML-version of the thread (as e.g. WordPress does anyway)
- The CT-script registers the permalink in its list of threads
- At a later point: the user wants to check the state of all threads and triggers an update-function (e.g. by pressing a button). The CT-script now visits all (limits to be defined) XML-threads it has on the list, updates its database with the changed content and creates the CT-feed.
- The update may alternatively happen via a scheduled service ("cronjob") e.g. once a night. As this is not available on most shared hosts the solution is only applicable for a minority of situations (e.g. a functional integration into centralized services such as bloglines or typekey)
Pros & Cons:
- Con: Manual trigger necessary (apart from cronjob solution - see above)
- Con: Update-process may take several minutes, comparable with rebuild-process of large moveabletype-powered weblogs
- Pro: Flexible solution, allows many different approaches and uses parallely
- Pro: Integration effort low on RemoteBlog, which makes broad takeup more likely
A2. Centralized CommentsTrack service
- User pastes the URi of his CT-script into RemoteBlog when posting a comment. RemoteBlog stores the URi and pings a centralized CT-service.
- The CT-service and the PingScript now (or - via a cronjob on side of the CT-service - at a later point) process the data-transfer without the RemoteBlog software having to wait for results when somebody posts a new comment.
Pros & Cons:
- Con: Necessity of centralized service makes successfull deployment less likely
- Con: Load issues at CT-service
- Con: Missing redundancy, if CT-service fails the whole CT-system collapses (not just for one user..)
- Pro: No manual interaction necessary, CT-feed is being created automatically
11. Based on