Here are the slides from his talk: "10+ Deploys Per Day: Dev and Ops Cooperation at Flickr" (video of the whole talk is coming soon):
More Velocity Conf action on Twitter. Some good stuff going on there! Worth checking out John Adams' talk about scaling Twitter too.
More vids and docs on the O'Reilly site.
Here are the basics:
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 {
size="5,6";
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 Publish blog article"];
"feedburner.com" [label="feedburner.com Analytics and scaling"];
/* 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 twitter api"];
"twitter.com" -> "facebook.com" [label="facebook/twitter bridge"];
"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:
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?
I sent a message from my phone this morning. Even though the surf was lame. The message was published all over the place (microsyndication). Here's how it worked:
Guess what? Most of these nodes along the way have their own RSS feeds for others (services or people) to slurp & read.
Thinking about this plinko-esque publishing flow is a little dizzying. I've been working on web site flows for a few weeks now. It's often helpful to map out a flow to see what's really going on. Graphviz is an open source tool for producing network diagrams and flow charts that I've been using for mapping high-level flows. Here's what a map looks like for the publishing flow I described earlier:
digraph TwitterSurf {
size="6,6";
ratio = fill;
node [style="rounded,filled,bold" shape="box" fillcolor="skyblue"];
/* Set up specific shapes */
Phone [style="rounded,filled" shape="oval" fillcolor="grey"];
"RSS Aggregators" [style="rounded" shape="box3d"];
/* relationships */
Phone -> "twitpic.com" [label="Email with attachment"];
"twitpic.com" -> "twitter.com" [label="twitter api"];
"twitter.com" -> "facebook.com" [label="facebook/twitter bridge"];
"twitter.com" -> "stokereport.com" [label="if post contains 'SMLM'" style="dotted"] ;
"twitpic.com" -> "greacen.com" [label="widget/embed" color="red"] ;
"twitter.com" -> "RSS Aggregators" [label="rss feed" color="darkorange"] ;
"facebook.com" -> "RSS Aggregators" [label="rss feed" color="darkorange"] ;
"stokereport.com" -> "RSS Aggregators" [label="rss feed" color="darkorange"] ;
}
If you ignore the []
s, it looks like a terse version of our list up above. Here's the flowchart those instructions produce:
Kinda neat, huh? I find the way this goes from text to sitemap really intriguing. This -> that; that -> next; other -> next;
makes sense to me. Graphviz does a great job of putting this all together in an easy-to-digest graphic.
There are a few rails front ends to graphviz (demo) that might make a web tool for this possible. I could see this becoming a handy planning tool for our organization.
Questions:
Thanks for reading.