The result: four minutes and six seconds of HELL.
Go ahead and download 20091015_hell_001.mp3 (~5mb) for your own nefarious purposes.
Blast it on the home hi-fi during the trick-or-treat hours and see how many kit-kats you have leftover. Let me know how you use HELL.
Enjoy! See you in hell.
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.
Upon the discovery and study of Malagasy orchid (Angraecum sesquipedale) a beautiful flower with a preposterously specialized shape, Charles Darwin hypothesized that a moth with a tongue of equally preposterous specialization must exist in order for the plant to pollinate and reproduce. Darwin's hypothesis was confirmed much later when the Hawk Moth (Xanthopan morganii) was filmed doing its business.
It's a close, cause-effect relationship between the players. Imagine what would have happened if Darwin found the moth first: would he have predicted the orchid? The flower needs the moth, does the moth need the flower?
The web site parallels are clear: your site is a beautiful flower, its sweet content is the nectar attracting/enticing visitors. You study your users, learn what they want or need. You add a new feature, determine its success by the number of people that use it. If it's good, the people will come, even if you need to lead people to the good place.
This story is worth keeping in mind when examining the approach taken by behavioral targeting systems currently on the market. Their methodologies seem to fall into one of two categories: one group studies the pages on a site to make assumptions about the visitors to that page. The assumption is that you can generalize something about a visitor if you understand the content on a given page.
The other group studies users clicks and trends to make generalizations about groups clustered within a user population. To me, it seems like this group is studying the elusive, hard-to-capture moth. I recently had the privilege of reviewing some of the BT services. Our needs are pretty typical: we want to extend premium ad inventory by targeting ads based on user behavior. Content-targeting (non-ad) would be more of a nice-to-have. Our requirements are similar to most partner-integrations:
Here's a brief survey of the top behavioral targeting services (email me if you think I should add another).
I noticed that the wikipedia page features a bunch of european BT companies. WunderLoop and nugg.ad look interesting! I'll check them out at some point. Tacoda doesn't seem to be licensing their technology right now, so let's skip them altogether.
If I get some time over the weekend, I'll put together some really sketchy notes on what's really happening under the hood with some of these behavioral targeting systems.