Go, Do, Be.


03/29/2009  — 

Twitter-Based Blog Syndication Flowchart

Following on the microsyndication theme I mentioned earlier, I decided to map out the events that take place when I put a new post onto this blog.

Here are the basics:

  1. I publish an article on greacen.com. The article appears on the site as well as a (private) url of an RSS feed which...
  2. is polled regularly by feedburner.com which republishes the feed and gives me some basic analytics for how the feed is used and...
  3. is polled by twitterfeed.com. It reads the feed and gets twitter-friendly shorturls for each feed item and updates...
  4. twitter.com with each new article which...
  5. updates my status on facebook.com.

The nice part about this setup is that it's all automatic: the only action I take is posting my idea onto my site. The feeds take it the rest of the way.

Analytics are pretty crude at this point. Any clicks on the feedburner-based feed should offer some basic analytics. If I really wanted details, I think I'd need to generate a separate feed for each microsyndication destination if I wanted to measure twitter clickthroughs vs. facebook clickthroughs (though google analytics should offer a hint about the source of clicks to greacen.com)

Here's the Graphviz drawing of the flow I described above. digraph BlogPost {
ratio = fill;
node [style="rounded,filled,bold" shape="box" fillcolor="skyblue"];

/* Set up specific shapes */
"RSS Aggregators" [style="rounded" shape="box3d"];
"URL Shortener" [style="" shape="invisible" label="URL Shortener"];
"Analytics" [style="" shape="invisible"];
"greacen.com" [label="greacen.com\nPublish\nblog\narticle"];
"feedburner.com" [label="feedburner.com\nAnalytics\nand\nscaling"];

/* Box in those 3rd party things */
subgraph cluster_c1 {"Analytics"; "URL Shortener";
label="Other Parties"; style= "dashed";}

/* Show and label relationships */
"greacen.com" -> "feedburner.com" [label="GET RSS" dir="back"];
"feedburner.com" -> "twitterfeed.com" [label="GET RSS" dir="back"];
"feedburner.com" -> "Analytics" [];
"twitterfeed.com" -> "URL Shortener" [label="GET URL" ];
"URL Shortener" -> "twitterfeed.com" [];
"twitterfeed.com" -> "twitter.com" [label="POST\ntwitter\napi"];
"twitter.com" -> "facebook.com" [label="facebook/twitter\nbridge"];
"feedburner.com" -> "RSS Aggregators" [label="rss feed" color="darkorange"] ;
"twitter.com" -> "RSS Aggregators" [label="rss feed" color="darkorange"] ;
"facebook.com" -> "RSS Aggregators" [label="rss feed" color="darkorange"] ;

Here's what those instructions become with a click:

publishing flow

This is different from my surf report post. The surf report is the content, whereas with a blog post, my site holds the real content. The RSS feeds publish a pointer to the original content.

Make sense?