﻿<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Adrian Short &#187; Twitter</title>
	<atom:link href="http://adrianshort.co.uk/tag/twitter/feed/" rel="self" type="application/rss+xml" />
	<link>http://adrianshort.co.uk</link>
	<description>Design, citizenship and the city</description>
	<lastBuildDate>Thu, 08 Jul 2010 12:05:42 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>It&#8217;s easier to mash than to filter</title>
		<link>http://adrianshort.co.uk/2010/03/12/its-easier-to-mash-than-to-filter/</link>
		<comments>http://adrianshort.co.uk/2010/03/12/its-easier-to-mash-than-to-filter/#comments</comments>
		<pubDate>Fri, 12 Mar 2010 22:42:30 +0000</pubDate>
		<dc:creator>Adrian Short</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Facebook]]></category>
		<category><![CDATA[Flickr]]></category>
		<category><![CDATA[social media]]></category>
		<category><![CDATA[Twitter]]></category>

		<guid isPermaLink="false">http://adrianshort.co.uk/?p=541</guid>
		<description><![CDATA[A common social media dilemma solved: Imagine you&#8217;re running social media for a public library service. You&#8217;ve got ten libraries in the service and you want to use Twitter, Facebook and Flickr. How many accounts do you need? The simplest approach, for you, is just to have one account on each service. You might have [...]]]></description>
			<content:encoded><![CDATA[<p style="clear: both">A common social media dilemma solved:</p>
<p style="clear: both">Imagine you&#8217;re running social media for a public library service. You&#8217;ve got ten libraries in the service and you want to use Twitter, Facebook and Flickr.</p>
<p style="clear: both">How many accounts do you need?</p>
<p><span id="more-541"></span>
<p style="clear: both">The simplest approach, <em>for you</em>, is just to have one account on each service. You might have a Twitter account that covers everything in the whole library service, a Facebook page which people can &#8220;fan&#8221; and get updates, and a Flickr account where you post all your photos.</p>
<p style="clear: both">With all these accounts, you&#8217;ll probably be doing a fair bit of cross-posting, too. Some of your photos &#8212; possibly all of them &#8212; will go on Facebook as well as Flickr. Twitter doesn&#8217;t handle photos very well so you might find yourself posting links to Flickr photo pages there. You can even automate this using an RSS to Twitter service like <a href="http://twitterfeed.com/" title="Twitterfeed">Twitterfeed</a>.</p>
<p style="clear: both">This isn&#8217;t going to be much fun for your readers. People tend to be interested in one or maybe two local libraries, not the whole service. An event on the other side of the borough probably doesn&#8217;t interest them, let alone hearing about new titles in stock or changes to opening times there. So people get deluged with information that they have to skip past to get to the 10% that matters to them. Some people will unsubscribe, feeling your services don&#8217;t provide good value for their time. Others will just feel a bit ambivalent skipping past the noise every time they read your feed. It&#8217;s not a great approach for them.</p>
<p style="clear: both">Social networks make it easy for people to mash feeds of content together but very hard for them to filter them. I can mash by simply choosing what I subscribe to. And filtering is the same thing &#8212; choosing what I don&#8217;t subscribe to. Most social media tools make it difficult or impossible to filter <em>within</em> a feed. So you have to do this on behalf of the people who might read what you write: separate your content into as many distinct and separate feeds as necessary. For a library service, this might mean creating separate feeds for each library and possibly ones for subject areas or children and teens too. This is more work for writers, and rightly so. Managing several accounts is harder than just one. But the onus is on us to do the legwork so our readers don&#8217;t have to plough through mountains of irrelevant content to get to the good stuff. The reward is that our readers will care more about what we write and consequently we&#8217;ll probably have more of them too.</p>
<p style="clear: both">The closely related topic of recycling identical content across several media or social networks is skilfully dissected at <a href="http://unlinkyourfeeds.tumblr.com/">Unlink Your Feeds</a>.</p>
<p style="clear: both">
<p><br class="final-break" style="clear: both" /></p>
]]></content:encoded>
			<wfw:commentRss>http://adrianshort.co.uk/2010/03/12/its-easier-to-mash-than-to-filter/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>What&#8217;s the point of a tweeting mobile library?</title>
		<link>http://adrianshort.co.uk/2009/12/17/whats-the-point-of-a-tweeting-mobile-library/</link>
		<comments>http://adrianshort.co.uk/2009/12/17/whats-the-point-of-a-tweeting-mobile-library/#comments</comments>
		<pubDate>Thu, 17 Dec 2009 18:46:41 +0000</pubDate>
		<dc:creator>Adrian Short</dc:creator>
				<category><![CDATA[Design theory]]></category>
		<category><![CDATA[Software design]]></category>
		<category><![CDATA[Sutton]]></category>
		<category><![CDATA[Urban design]]></category>
		<category><![CDATA[@SutMobLib]]></category>
		<category><![CDATA[libraries]]></category>
		<category><![CDATA[mobile libraries]]></category>
		<category><![CDATA[things that tweet]]></category>
		<category><![CDATA[Twitter]]></category>

		<guid isPermaLink="false">http://adrianshort.co.uk/?p=484</guid>
		<description><![CDATA[Last week I launched @SutMobLib, a Twitter account that tweets the location of Sutton&#8217;s mobile library in real time. No, I&#8217;m not sitting here all day sending messages. A program does that automatically. Every time the library gets to a new stop it posts up its location. The utility of such a thing isn&#8217;t immediately [...]]]></description>
			<content:encoded><![CDATA[<p><a title="@SutMobLib Twitter screenshot by Adrian Short, on Flickr" href="http://www.flickr.com/photos/adrianshort/4193374520/"><img src="http://farm3.static.flickr.com/2724/4193374520_34f35ca88d_o.jpg" alt="@SutMobLib Twitter screenshot" width="552" height="392" /></a></p>
<p>Last week I launched <a href="http://twitter.com/sutmoblib">@SutMobLib</a>, a Twitter account that tweets the location of <a href="http://www.sutton.gov.uk/index.aspx?articleid=915">Sutton&#8217;s mobile library</a> in real time. No, I&#8217;m not sitting here all day sending messages. A program does that automatically. Every time the library gets to a new stop it posts up its location.</p>
<p><span id="more-484"></span></p>
<div class="wp-caption alignnone" style="width: 513px"><a title="@SutMobLib Bing Maps Twitter search screenshot by Adrian Short, on Flickr" href="http://www.flickr.com/photos/adrianshort/4192613683/"><img src="http://farm3.static.flickr.com/2701/4192613683_90658e31b5_o.jpg" alt="@SutMobLib Bing Maps Twitter search screenshot" width="503" height="312" /></a><p class="wp-caption-text">@SutMobLib on Bing Maps Twitter Search</p></div>
<p>The utility of such a thing isn&#8217;t immediately obvious. While I don&#8217;t like to generalise or assume too much, I suspect that the vast majority of mobile library users don&#8217;t use Twitter. So far a grand total of nine  people have signed up to follow <a href="http://twitter.com/SutMobLib">@SutMobLib</a> and most of those are various <a href="http://en.wikipedia.org/wiki/Sockpuppet_(Internet)">sock puppets</a> of mine.</p>
<div class="wp-caption alignright" style="width: 330px"><a title="@SutMobLib Tweetie 2 screenshot by Adrian Short, on Flickr" href="http://www.flickr.com/photos/adrianshort/4193374714/"><img src="http://farm3.static.flickr.com/2798/4193374714_4ba375e7c8_o.jpg" alt="@SutMobLib Tweetie 2 screenshot" width="320" height="480" /></a><p class="wp-caption-text">@SutMobLib on Tweetie 2 &quot;nearby search&quot; for iPhone</p></div>
<p>Unlike most Twitter accounts that belong to real people, <a href="http://twitter.com/SutMobLib">@SutMobLib</a> isn&#8217;t great for conversation. It&#8217;s even less intelligent and interactive than it looks. Anyone that wants to be reminded when the library is visiting their neighbourhood would be better off just putting the relevant day in their calendar.</p>
<p><a href="http://twitter.com/SutMobLib">@SutMobLib</a> is useful because Twitter is now more than just a social network connecting people. It&#8217;s become a platform for realtime geospatial information, where things like the mobile library can post up what they&#8217;re doing and where they&#8217;re doing it, as they&#8217;re doing it.</p>
<p>Experienced Twitter users know that while half the power of Twitter is following people you&#8217;re interested in and conversing with them, the other half is reading <a href="http://search.twitter.com/search?q=dinner">realtime searches</a> for keywords, phrases and <a href="http://hashtags.org/">hashtags</a>. Recently, Twitter enhanced the power of its search by allowing members to post up their precise geographical location with each tweet, which other members can then discover by searching around an area rather than around a hashtag or topic.</p>
<p>So <strong>Twitter has become a radar</strong>. <a href="http://www.atebits.com/tweetie-iphone/">Tweetie 2</a>, a Twitter client for the iPhone, allows users to search &#8220;Nearby&#8221; based on the user&#8217;s current location and shows a map covered with plotted tweets. Web users can do something similar using <a href="http://www.bing.com/maps/explore/#5872/style=auto&amp;lat=51.36389&amp;lon=-0.174522&amp;z=13&amp;pid=5874/5003/0.40326=s:@SutMobLib&amp;o=&amp;a=0">Bing Maps&#8217; Twitter Search</a>. The popular client TweetDeck shows pop-up maps underneath geotweets.</p>
<p>Realtime geospatial search brings a new dimension to finding out about the world. For the first time we can pull up live information about a place, whether that&#8217;s people&#8217;s conversations and observations or the solipsistic self-reporting of things that tweet like Sutton&#8217;s mobile library. Various urban annotation and virtual graffiti projects have existed before now but Twitter brings this capability to a mass-market social network with tens of millions of members. Through reading conversations about coffee in Soho or chemo at the Royal Marsden Hospital, our awareness of the world around us just got a great deal broader.</p>
<div class="wp-caption alignright" style="width: 250px"><a title="@SutMobLib TweetDeck geotweet by Adrian Short, on Flickr" href="http://www.flickr.com/photos/adrianshort/4193374860/"><img src="http://farm3.static.flickr.com/2781/4193374860_aa6cd0bd35_o.jpg" alt="@SutMobLib TweetDeck geotweet" width="240" height="401" /></a><p class="wp-caption-text">@SutMobLib showing as a geotweet in TweetDeck</p></div>
<p>For some, that will mean discovering, spontaneously and without specifically searching for it, that a friend &#8212; or the mobile library &#8212; is around the corner and might be pleased to see us. The world around us is constantly shifting, with opportunities and hazards popping up and then disappearing again, often without leaving a trace. Now we can see those traces. Serendipity is the spice of life and it&#8217;s just got a very big helping hand. Fire up your radar.</p>
<p>&#8212;</p>
<p>Further reading on where ambient intelligence is taking us:</p>
<p>Peter Morville, <em><a href="http://www.amazon.co.uk/Ambient-Findability-What-Changes-Become/dp/0596007655/">Ambient Findability</a></em><br />
Malcolm McCullough, <a href="http://www.amazon.co.uk/Digital-Ground-Architecture-Pervasive-Environmental/dp/0262633272/"><em>Digital Ground</em></a><br />
Adam Greenfield, <a href="http://www.amazon.co.uk/Everyware-Dawning-Age-Ubiquitous-Computing/dp/0321384016/"><em>Everyware</em></a></p>
]]></content:encoded>
			<wfw:commentRss>http://adrianshort.co.uk/2009/12/17/whats-the-point-of-a-tweeting-mobile-library/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Adding Twitter autodiscovery to your website</title>
		<link>http://adrianshort.co.uk/2009/03/27/adding-twitter-autodiscovery-to-your-website/</link>
		<comments>http://adrianshort.co.uk/2009/03/27/adding-twitter-autodiscovery-to-your-website/#comments</comments>
		<pubDate>Fri, 27 Mar 2009 13:57:40 +0000</pubDate>
		<dc:creator>Adrian Short</dc:creator>
				<category><![CDATA[Web design]]></category>
		<category><![CDATA[autodiscovery]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[Twitter]]></category>
		<category><![CDATA[XHTML]]></category>

		<guid isPermaLink="false">http://adrianshort.co.uk/?p=348</guid>
		<description><![CDATA[There are various lists of UK councils which use Twitter floating around. I assume that some are compiled manually and others by screen scrapers. Given that the rel=&#8221;alternate&#8221; attribute of (X)HTML&#8217;s &#60;link&#62; element is already semantically broken by the widely-adopted RSS autodiscovery spec, is there any good reason why we can&#8217;t adopt something like the [...]]]></description>
			<content:encoded><![CDATA[<p>There are various lists of <a href="http://www.lgeoresearch.com/updated-list-of-uk-local-councils/">UK councils which use Twitter</a> floating around. I assume that some are compiled manually and others by screen scrapers.</p>
<p>Given that the rel=&#8221;alternate&#8221; attribute of (X)HTML&#8217;s &lt;link&gt; element is already semantically broken by the <a href="http://http://www.rssboard.org/rss-autodiscovery">widely-adopted RSS autodiscovery spec</a>, is there any good reason why we can&#8217;t adopt something like the code below and allow the relationship between a site and a Twitter account (or indeed, any third party site controlled by the owner) to be expressed cleanly?</p>
<p><code>&lt;link rel="alternate" type="text/html" href="http://twitter.com/adrianshort" title="Twitter: adrianshort" /&gt;</code></p>
<p>(For HTML newbies, this goes in the &lt;head&gt; section of your web page.)</p>
<p><em>View source</em> on this page and you&#8217;ll see it &#8220;in the wild&#8221; already.</p>
<p><em>Like this? Follow me on Twitter: <a href="http://twitter.com/adrianshort">@adrianshort</a></em></p>
]]></content:encoded>
			<wfw:commentRss>http://adrianshort.co.uk/2009/03/27/adding-twitter-autodiscovery-to-your-website/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Francis Maude is wrong about Twitter and Flickr</title>
		<link>http://adrianshort.co.uk/2009/03/22/francis-maude-is-wrong-about-twitter-and-flickr/</link>
		<comments>http://adrianshort.co.uk/2009/03/22/francis-maude-is-wrong-about-twitter-and-flickr/#comments</comments>
		<pubDate>Sun, 22 Mar 2009 20:52:17 +0000</pubDate>
		<dc:creator>Adrian Short</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Conservatives]]></category>
		<category><![CDATA[Flickr]]></category>
		<category><![CDATA[Francis Maude]]></category>
		<category><![CDATA[social networking]]></category>
		<category><![CDATA[Twitter]]></category>

		<guid isPermaLink="false">http://adrianshort.co.uk/?p=338</guid>
		<description><![CDATA[Photo from Francis Maude, Creative Commons by-nc-nd UK licence. As news reaches us that Gordon Brown has shut down his public email address, Conservative chairman Francis Maude goes on the offensive: Gordon Brown is spending taxpayers&#8217; money on the latest digital gimmicks, from Twitter to Flickr, but can&#8217;t be bothered to give out a simple [...]]]></description>
			<content:encoded><![CDATA[<div id="attachment_341" class="wp-caption alignnone" style="width: 310px"><img class="size-full wp-image-341" title="francis-maude" src="http://adrianshort.co.uk/wp-content/uploads/2009/03/francis-maude.jpg" alt="Francis Maude" width="300" height="190" /><p class="wp-caption-text">Francis Maude</p></div>
<p>Photo from <a href="http://www.francismaude.com/">Francis Maude</a>, <a href="http://creativecommons.org/licenses/by-nc-nd/2.0/uk/">Creative Commons by-nc-nd UK licence</a>.</p>
<p>As news reaches us that <a href="http://news.bbc.co.uk/1/hi/uk_politics/7958135.stm">Gordon Brown has shut down his public email address</a>, Conservative chairman <a href="http://www.francismaude.com/">Francis Maude</a> goes on the offensive:</p>
<blockquote><p>Gordon Brown is spending taxpayers&#8217; money on the latest digital gimmicks, from Twitter to Flickr, but can&#8217;t be bothered to give out a simple email address.</p>
<p>The beleaguered Prime Minister is literally retreating to his Downing Street bunker, cutting himself off from an angry and disillusioned electorate.</p></blockquote>
<p>Are <a href="http://twitter.com/">Twitter</a> and <a href="http://www.flickr.com/">Flickr</a> &#8220;digital gimmicks&#8221; that are beneath any self-respecting elected politician? Should government spend taxpayers&#8217; money on such things? One could ask the same question about telephones, television, radio and the Internet more generally. They are communications media whose value for any particular purpose depends entirely what one does with them.</p>
<p><a href="http://twitter.com/BarackObama">Barack Obama</a> has amassed over 500,000 followers on Twitter and it doesn&#8217;t seem to have hurt his prospects much. (Shame he&#8217;s been too busy &#8220;leading&#8221; the &#8220;free world&#8221; to tweet lately.) Closer to home and somewhat more modestly, a man by the name of <a href="http://twitter.com/MayorOfLondon">Johnson</a> who seems to have found himself in charge of a large city happily Twitters away to a flock of 20,000 Londoners. If I remember correctly, the chap is the Conservatives&#8217; most senior elected politician.</p>
<p>Further down the food chain, <a href="http://cllrtweeps.com/">CllrTweeps</a> has found 193 councillors from 129 councils on Twitter, including 54 Conservative authorities.</p>
<p>If social media networks are only used by politicans to broadcast top-down messages to a passive audience then they have little value beyond more traditional methods including conventional websites. But <a href="http://twitter.com/downingstreet">Gordon Brown&#8217;s Twitter</a> has collected over 270,000 followers which his aides use to engage in an ongoing direct conversation with a substantial chunk of the public. If Mr Maude is right, presumably those 270,000 people &#8212; and all those thousands that follow councillors, MPs and aspiring politicians elsewhere &#8212; are wrong.</p>
<p>Do you think they vote, Mr Maude? Answers on a postcard (in 140 characters or fewer, please.)</p>
<p><em>Like this post? <a href="http://twitter.com/adrianshort">Follow me on Twitter</a>.</em></p>
]]></content:encoded>
			<wfw:commentRss>http://adrianshort.co.uk/2009/03/22/francis-maude-is-wrong-about-twitter-and-flickr/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Building a local news mashup with Twitter, TwitterFeed, Delicious, Yahoo! Pipes, Ruby and RSS</title>
		<link>http://adrianshort.co.uk/2009/03/15/building-a-local-news-mashup-with-twitter-twitterfeed-delicious-yahoo-pipes-ruby-and-rss/</link>
		<comments>http://adrianshort.co.uk/2009/03/15/building-a-local-news-mashup-with-twitter-twitterfeed-delicious-yahoo-pipes-ruby-and-rss/#comments</comments>
		<pubDate>Sun, 15 Mar 2009 18:35:27 +0000</pubDate>
		<dc:creator>Adrian Short</dc:creator>
				<category><![CDATA[Software design]]></category>
		<category><![CDATA[Sutton]]></category>
		<category><![CDATA[apis]]></category>
		<category><![CDATA[atom]]></category>
		<category><![CDATA[Delicious]]></category>
		<category><![CDATA[Hpricot]]></category>
		<category><![CDATA[mashups]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[news]]></category>
		<category><![CDATA[Paul Burstow]]></category>
		<category><![CDATA[rss]]></category>
		<category><![CDATA[Ruby]]></category>
		<category><![CDATA[Stonecot Hill News]]></category>
		<category><![CDATA[Sutton Council]]></category>
		<category><![CDATA[Sutton Guardian]]></category>
		<category><![CDATA[Twitter]]></category>
		<category><![CDATA[TwitterFeed]]></category>
		<category><![CDATA[Yahoo! Pipes]]></category>

		<guid isPermaLink="false">http://adrianshort.co.uk/?p=311</guid>
		<description><![CDATA[(Click on the image to download the PDF, 19KB, opens in new window/tab.) Like this? Follow me on Twitter: http://twitter.com/adrianshort I&#8217;m a self-confessed and unashamed news junkie and this is how I&#8217;m starting to mash up news in my local area. For those that aren&#8217;t local, Sutton is a London borough with a population of [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://adrianshort.co.uk/wp-content/uploads/2009/03/sutton-local-news-mashup.pdf" target="_blank"><img class="alignnone size-medium wp-image-330" title="sutton-local-news-mashup" src="http://adrianshort.co.uk/wp-content/uploads/2009/03/sutton-local-news-mashup-400x282.png" alt="sutton-local-news-mashup" width="400" height="282" /></a></p>
<p><em>(Click on the image to download the PDF, 19KB, opens in new window/tab.)</em></p>
<p><em>Like this? Follow me on Twitter: <a href="http://twitter.com/adrianshort">http://twitter.com/adrianshort</a><br />
</em></p>
<p>I&#8217;m a self-confessed and unashamed news junkie and this is how I&#8217;m starting to mash up news in my local area. For those that aren&#8217;t local, <a href="http://en.wikipedia.org/wiki/London_Borough_of_Sutton">Sutton</a> is a London borough with a population of approximately 180,000. Stonecot Hill is a neighbourhood within Sutton with a population of a few thousand.</p>
<p>Here&#8217;s how it all works.</p>
<p><strong>Sources (green boxes)</strong></p>
<p>I write <a href="http://www.stonecothillnews.co.uk/">Stonecot Hill News</a> which is a local news blog running as a standalone <a href="http://wordpress.org/">WordPress</a> installation on its own server. It produces an <a href="http://en.wikipedia.org/wiki/RSS_(file_format)">RSS 2.0 feed</a> which here is treated as an outbound <a href="http://en.wikipedia.org/wiki/Api">API</a>.</p>
<p><a href="http://paulburstow.com/">Paul Burstow</a> is the local member of parliament (constituency: Sutton &amp; Cheam). Paul posts news regularly to his website and for many years that site has been serving an RSS 1.0 (RDF) feed. Whether he realises it or not, Paul laid one of the first foundations for news mashability in the borough.</p>
<p>The <a href="http://www.suttonguardian.co.uk/">Sutton Guardian</a> is the local newspaper, published by Newsquest. Together with its sister titles in other areas, they publish <a title="Sutton Guardian RSS feeds" href="http://www.suttonguardian.co.uk/misc/rss/">several dozen RSS 2.0 feeds</a> for a wide variety of content.</p>
<p><a href="http://www.sutton.gov.uk/">Sutton Council</a> is the local authority for the borough. Despite a recent £270,000 revamp to their website they haven&#8217;t yet managed to step into the Twenty-First and produce any RSS feeds. However, they do publish a variety of content regularly on their website, including their <a title="Sutton Council press releases" href="http://www.sutton.gov.uk/index.aspx?articleid=3434">press releases</a>.</p>
<p><strong>APIs (grey boxes)</strong></p>
<p>For the non-technical: API stands for Application Programming Interface, but that doesn&#8217;t tell you very much. Think of APIs like connectors or adapters that allow one program to plug into another in the same way that our household appliances can all connect to the electrical network because they share common plugs and sockets.</p>
<p>An API may be <em>inbound </em>(allowing data to be put into an application), <em>outbound </em>(allowing data to be extracted) or both.</p>
<p>As we can see in the diagram, applications which use APIs can be daisy-chained together, with the output of one application being fed into another.</p>
<p>RSS and <a href="http://en.wikipedia.org/wiki/Atom_(standard)">Atom</a> feeds are also APIs in that they provide a structured way for a program to get data out of an application. These feed formats are simple to implement (many applications produce them automatically) and are the first thing to consider when implementing a simple outbound API for an application.</p>
<p><strong>Mashers (pink boxes)</strong></p>
<p>Mashers are small programs that connect otherwise incompatible inbound and outbound APIs together. <a href="http://twitterfeed.com/">TwitterFeed</a> is a simple example. Say you want to automatically post the new items from your blog to your <a href="http://twitter.com/">Twitter</a> account. Your blog serves an RSS feed but Twitter, while it has an inbound API, cannot accept RSS directly as input. TwitterFeed links the two, allowing the user to define any number of RSS feeds as inputs and any number of Twitter accounts as outputs, via the Twitter API. In this way, TwitterFeed plugs blogs into Twitter.</p>
<p><a href="http://pipes.yahoo.com/">Yahoo! Pipes</a> is a much more sophisticated and flexible masher. It can take inputs from a variety of sources (RSS, Atom, <a title="Comma-separated values file format" href="http://en.wikipedia.org/wiki/Comma-separated_values">CSV</a>, <a title="Flickr photo sharing website" href="http://www.flickr.com/">Flickr</a> API, <a href="http://base.google.com/base/">Google Base</a> or even raw web pages), sort, filter and combine them in every conceivable way, and output the results as a single stream in various formats (RSS, <a title="JavaScript Object Notation" href="http://en.wikipedia.org/wiki/Json">JSON</a>, and <a title="KML - Keyhole Markup Language" href="http://en.wikipedia.org/wiki/Kml">KML</a>, the geo-format used by <a href="http://earth.google.com/">Google Earth</a>). For my mashup I created <a title="Stonecot Hill news mashup Yahoo Pipe" href="http://pipes.yahoo.com/adrianshort/tin_59X73RG83ZoNpgt1Yg">this pipe</a> to filter Paul Burstow&#8217;s, the Sutton Guardian&#8217;s and Sutton Council&#8217;s news and only pass through items containing the word &#8220;stonecot&#8221; to the stream that eventually ends in the <a href="http://twitter.com/stonecothill">@stonecothill Twitter feed</a>, which is just for Stonecot Hill residents. The number of items coming through these sources about Stonecot Hill is very low, but when something appears residents will want to see it. (By way of example, only a single press release from Sutton Council in the last 227 concerns the Stonecot Hill area specifically.)</p>
<p>As mentioned above, Sutton Council doesn&#8217;t provide an RSS feed or any other kind of outbound API for its press release. I wrote a screen scraper in <a title="Ruby programming language" href="http://www.ruby-lang.org/en/">Ruby</a> (using <a title="Hpricot HTML parser for Ruby" href="http://wiki.github.com/why/hpricot">Hpricot</a>) that grabs the press releases directly from the council website, dumps them into a <a href="http://www.mysql.com/">MySQL</a> database and pushes new items into the <a title="Delicious social bookmarks manager" href="http://delicious.com/">Delicious</a> API. I&#8217;ve used Delicious here for two reasons. Firstly, because it generates an RSS feed automatically from all the items posted to it, so I can easily connect this output to other mashers and APIs further downstream without having to generate and host an RSS feed myself. Also, Delicious provides a useful search facility on its website allowing me to easily search just the press releases from Sutton Council. This isn&#8217;t possible with the council&#8217;s own website, where searches are scoped to the entire site.</p>
<p><strong>Destinations (orange boxes)</strong></p>
<p>In my diagram, the destinations are sites and services which represent new ways of consuming information coming from the original sources. Don&#8217;t want to read Sutton Council&#8217;s press releases on their own website? You can folllow them in <a title="Sutton Council's press releases on Delicious" href="http://delicious.com/suttonboro">Delicious</a> or on <a title="Sutton Council's press releases on Twitter" href="http://twitter.com/suttonboro">Twitter</a>. Want to keep up with the latest news about Stonecot Hill? Again, the <a href="http://twitter.com/stonecothill">@stonecothill Twitter account</a> can find this for you from various sources. I also add my own items to @stonecothill, making it a unique mashup of original and syndicated content that&#8217;s highly targeted and very local.</p>
<p>The information stream doesn&#8217;t need to end with these destinations. Any destination that provides an outbound API can simply be another link in the chain to downstream services. In my diagram, the RSS feed from Delicious is used to do just that, pushing all its content on to the @suttonboro Twitter account, and just the Stonecot Hill-related content on to the @stonecothill account via the Yahoo! Pipes filter. Twitter has its own specific outbound API and also serves RSS feeds. There&#8217;s nothing to stop anyone else building on these destinations by combining and filtering them with other sources to produce their own unique, relevant information streams that they find useful.</p>
<p><strong>What next?</strong></p>
<p>If you run a website, it&#8217;s time to start thinking of mashability with the same degree of seriousness as you treat human visitors. Your website needs to serve up feeds and APIs so that other programs can connect to your content and deliver it to people in ways and contexts that they find useful. Some of these may have an audience of thousands or even millions. Others may have an audience of one. Regardless, by providing an API to your content you enable others to build things that you haven&#8217;t imagined, don&#8217;t have the resources or desire to build yourself, and won&#8217;t have to maintain. Businesses like newspapers that survive by selling their content (or selling advertising around their content) are thinking very carefully about the challenges and opportunities for the future of their industries. For government and voluntary organisations, it&#8217;s time to start thinking more like evangelists than economists. Spread the word like the free Bibles in hotel bedrooms and take every opportunity to get your message out there.</p>
<p>Sutton Council have been encouraged in various ways to implement feeds on their own website and the song will remain the same until they do. I don&#8217;t want to maintain my scraper for ever and I certainly don&#8217;t want to build any more of them.</p>
<p>The whole API and mashability agenda is far bigger than simple web feed formats like RSS and Atom. It&#8217;s time for technologists to stop flogging the line that &#8220;RSS is an easy way for people who follow lots of websites to read all their news in one place&#8221;. Direct human consumption of RSS feeds is never going to hit the mainstream in that way. If you&#8217;re reading this, you&#8217;re far more likely that average to use an RSS reader. (I&#8217;ve got 86 feeds in my <a href="http://www.google.com/reader/">Google Reader</a> right now). The average web user has barely heard of the concept and most definitely don&#8217;t do it. I suspect they never will. But it&#8217;s likely they&#8217;re already benefiting from syndicated content through sites and applications that they use. If they never have to see or care about the underlying technology that&#8217;s really no more a problem than worrying that the average web user doesn&#8217;t understand <a href="http://en.wikipedia.org/wiki/Http">HTTP</a> or <a href="http://en.wikipedia.org/wiki/Domain_Name_System">DNS</a>. It&#8217;s just plumbing that can stay out of sight and out of mind as long as it works.</p>
<p>For the minority that do use personal RSS readers, I&#8217;d like to see more of them with built-in filtering features. Setting a simple keyword filter on a feed makes RSS reading considerably more powerful.</p>
<p>For those serving up feeds, I&#8217;d like to see Atom more widely used. Without wanting to open a can of Wineresque worms, RSS 2.0 fudges a number of important issues around content semantics and provides no support whatsoever for correctly attributing items in feeds mashed from several sources. Atom was designed to solve these problems and it does. Let&#8217;s use it.</p>
<p>Lastly, mashability is about every conceivable kind of content and content type. It&#8217;s not just about news and text. Every stream of information should have its own machine-readable feed. Every system that can accept data from human input should implement an inbound API to do likewise. To take one example, <a href="http://www.fixmystreet.com/">FixMyStreet</a> is a website for people to report street faults to local authorities and currently takes around 1000 reports a week. It even has its own <a title="FixMyStreet on the iPhone" href="http://www.mysociety.org/2008/12/10/fixmystreet-iphone/">iPhone application</a> so people can report faults complete with GPS locations and photos directly from the street. Only a single local authority in over 400 has implemented an inbound API to receive these reports. The rest get them by email, which must be manually copied into their own databases with all the effort, expense, possibility for error and opportunity costs that represents. Third-parties building extensions to other people&#8217;s systems is no longer unusual, so organisations need to embrace the possibilities rather than fighting against it or standing around looking bemused.</p>
<p>It&#8217;s time to open the doors and windows and get the web joined up, mashed up and moving.</p>
]]></content:encoded>
			<wfw:commentRss>http://adrianshort.co.uk/2009/03/15/building-a-local-news-mashup-with-twitter-twitterfeed-delicious-yahoo-pipes-ruby-and-rss/feed/</wfw:commentRss>
		<slash:comments>19</slash:comments>
		</item>
		<item>
		<title>Twittering Sutton</title>
		<link>http://adrianshort.co.uk/2008/08/18/twittering-sutton/</link>
		<comments>http://adrianshort.co.uk/2008/08/18/twittering-sutton/#comments</comments>
		<pubDate>Mon, 18 Aug 2008 10:00:42 +0000</pubDate>
		<dc:creator>Adrian Short</dc:creator>
				<category><![CDATA[Sutton]]></category>
		<category><![CDATA[Sutton Council]]></category>
		<category><![CDATA[Sutton Guardian]]></category>
		<category><![CDATA[Twitter]]></category>

		<guid isPermaLink="false">http://adrianshort.co.uk/?p=59</guid>
		<description><![CDATA[Introducing my new Twitter feed for the Sutton news that matters.]]></description>
			<content:encoded><![CDATA[<p>Problems:</p>
<p>1. <a href="http://www.sutton.gov.uk/news/latest/">Sutton Council&#8217;s Latest News section</a> doesn&#8217;t have an <a href="http://news.bbc.co.uk/1/hi/help/3223484.stm">RSS feed</a> or any easy way for the public to track it other than by visiting it regularly.</p>
<p>2. The <a href="http://www.yourlocalguardian.co.uk/news/local/suttonnews/">Sutton Guardian</a> has more dirt than diamonds (although at least it has a <a title="Sutton Guardian RSS feed" href="http://www.yourlocalguardian.co.uk/news/local/suttonnews/rss/">feed</a>).</p>
<p>3. Other things happen that don&#8217;t get reported.</p>
<p>4. You don&#8217;t have time to plough through two dozen websites to keep track of what&#8217;s going on in Sutton.</p>
<p>Solutions:</p>
<p>1. Visit <a href="http://twitter.com/suttonboro">http://twitter.com/suttonboro</a> for a concise, well-edited overview of borough activity.</p>
<p>2. If you use an <a title="Google Reader" href="http://www.google.com/reader/">RSS reader</a>, subscribe to the feed at <a href="http://feeds.feedburner.com/suttonboro">http://feeds.feedburner.com/suttonboro</a></p>
<p>3. <a title="Email subscription to Twitter / suttonboro" href="http://www.feedburner.com/fb/a/emailverifySubmit?feedId=2334759&amp;loc=en_US">Subscribe to the latest updates by email</a>, if that&#8217;s your thing.</p>
<p>Enjoy.</p>
]]></content:encoded>
			<wfw:commentRss>http://adrianshort.co.uk/2008/08/18/twittering-sutton/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

<!-- Dynamic Page Served (once) in 0.739 seconds -->
