<?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/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>OUseful.Info, the blog... &#187; Delicious TV</title>
	<atom:link href="http://blog.ouseful.info/tag/delicious-tv/feed/?withoutcomments=1" rel="self" type="application/rss+xml" />
	<link>http://blog.ouseful.info</link>
	<description>Trying to find useful things to do with emerging technologies in open education</description>
	<lastBuildDate>Fri, 24 May 2013 12:19:26 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='blog.ouseful.info' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://s2.wp.com/i/buttonw-com.png</url>
		<title>OUseful.Info, the blog... &#187; Delicious TV</title>
		<link>http://blog.ouseful.info</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://blog.ouseful.info/osd.xml" title="OUseful.Info, the blog..." />
	<atom:link rel='hub' href='http://blog.ouseful.info/?pushpress=hub'/>
		<item>
		<title>Deli TV Exposed, Part 1 &#8211; The Master Pipe</title>
		<link>http://blog.ouseful.info/2009/09/07/delicious-tv-exposed-part-1-the-master-pipe/</link>
		<comments>http://blog.ouseful.info/2009/09/07/delicious-tv-exposed-part-1-the-master-pipe/#comments</comments>
		<pubDate>Mon, 07 Sep 2009 12:32:49 +0000</pubDate>
		<dc:creator>Tony Hirst</dc:creator>
				<category><![CDATA[Pipework]]></category>
		<category><![CDATA[Delicious TV]]></category>
		<category><![CDATA[delitv]]></category>

		<guid isPermaLink="false">http://ouseful.wordpress.com/?p=2178</guid>
		<description><![CDATA[Okay, as promised, here&#8217;s a quick run through of how the pipework behind Deli TV – Personally Programmed Social Television Channels on Boxee: Prototype works&#8230; The first part of the pipe is the &#8220;input parser&#8221;. To make the pipe as simple as possible, I wanted users to just be able to enter their delicious username [&#8230;]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.ouseful.info&#038;blog=325417&#038;post=2178&#038;subd=ouseful&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>Okay, as promised, here&#8217;s a quick run through of how the pipework behind <a href="http://ouseful.wordpress.com/2009/09/02/delicious-tv-personally-programmed-social-television-channels-on-boxee-preview/">Deli TV – Personally Programmed Social Television Channels on Boxee: Prototype</a> works&#8230;</p>
<p>The first part of the pipe is the &#8220;input parser&#8221;. To make the pipe as simple as possible, I wanted users to just be able to enter their delicious username and grab the appropriate <em>Deli TV</em> programming feed from delicious. </p>
<p><a href="http://pipes.yahoo.com/ouseful/delitv" title="Photo Sharing"><img src="http://farm3.static.flickr.com/2610/3889504425_5a4cbc912f.jpg" width="500" height="156"></a></p>
<p>Of course, because users are users, as well as them entering their delicious user name, I had to defend against them pasting in the URL to their delcious account, or the RSS feed URI for the <em>Delicious TV</em> programming feed they wanted to use.</p>
<p><a href="http://pipes.yahoo.com/ouseful/delitv" title="Photo Sharing"><img src="http://farm3.static.flickr.com/2550/3890290000_f403cb26a1.jpg" width="394" height="500"></a></p>
<p>So what the input stage does is try to identify a user&#8217;s delicious username whatever they shove into the pipe&#8217;s input text box and generate the the URI to the delicious feed from that. As an undocumented feature, I decided to allow users to specify a feed pulled from users&#8217; tag or tag combination pages. If no tag is input (e.g. if I just enter my delicious username (<em>psychemedia</em>), the input stage will assume I want to pull the programming feed in from <em>psychemedia/delitv</em>. However, if i specify a tag as well as my username (e.g. <em>psychemedia/boxeetext5</em>), that&#8217;s the programming feed the pipe will use.</p>
<p>So that&#8217;s the input stage&#8230;</p>
<p>The next stage is the clever part&#8230; What is does is look at the link from each item in the feed pulled in from delicious, and decide what to do with it. If the link is a link to a Youtube user page, or a Youtube playlist page, we need to rewrite the URI to a Youtube feed URI, and give it the <em>rss://</em> protocol.</p>
<p>So for example:
<ul>
<li>given a Youtube playlist URI, we identify the playlist ID:<br />
<em><a href="http://www.youtube.com/view_play_list" rel="nofollow">http://www.youtube.com/view_play_list</a>\?p=([^&amp;]*)</em><br />
and generate the Youtube feed URI for that playlist:<br />
<em>rss://gdata.youtube.com/feeds/base/playlists/$1?alt=rss&amp;v=2</em>&#8216;
</li>
<li>given a Youtube user URI, we identify the username:<br />
<em> <a href="http://www.youtube.com/user/(.*)" rel="nofollow">http://www.youtube.com/user/(.*)</a> </em><br />
and generate the Youtube feed URI for that user&#8217;s recent uploads:<br />
<em>rss://gdata.youtube.com/feeds/base/users/$1/uploads?alt=rss&amp;v=2&amp;orderby=published</em></li>
</ul>
<p>These rewrites are handled by a Regular Expression block.</p>
<p><a href="http://pipes.yahoo.com/ouseful/delitv" title="Deli TV pipework 2 by psychemedia, on Flickr"><img src="http://farm4.static.flickr.com/3525/3889526579_5fc8a89fae.jpg" width="500" height="172" alt="Delicious TV pipework 2" /></a></p>
<p>If the link is a link to another delicious feed, or to a BBC programmes page (such as a genre listing), the delicious feed details, or the iPlayer programmes page details are passed to another pipe, identified to Boxee as an <em>rss://</em> feed.</p>
<p>These subpipes create valid Boxee feeds from iPlayer programme page URIs, or from other delicious pages. I&#8217;ll describe how these subpipes work in a couple of follow-on posts.</p>
<p>The final part of the pipe is a filter. It checks the links in the output feed that will be passed to Boxee to make sure that they can play in the Boxee environment.</p>
<p><a href="http://pipes.yahoo.com/ouseful/delitv" title="Photo Sharing"><img src="http://farm3.static.flickr.com/2600/3889565583_28fae0a15e.jpg" width="499" height="319"></a></p>
<p>At the moment, this is limited to <em>rss://</em> identified feeds, Youtube programme pages, individual iPlayer programme pages and mp3 files.</p>
<p>As and when I get the chance, I&#8217;ll experiment with filters for other video websites. In this &#8216;release&#8217;, I wanted to try to limit what the pipe would pass through so that it stood a good chance of working. If I don&#8217;t get round to extending the filters fast enough for you, please feel free to clone the pipe and extend it to your heart&#8217;s desire. For example, you might want to extend it to let through content from ITV, Channel 4 or Channel 5 pages in the UK. (I&#8217;d appreciate it if you&#8217;d let me know about any changes you make to your version of the pipe that make it more useful and/or usable, though:-)</p>
<p>Next up, in a day or two, I&#8217;ll post an explanation of how the subpipes work&#8230;</p>
<p>PS if you have referred to this hack as &#8220;Delicious TV&#8221; anywhere, please change it to Deli TV. Why? <a href="http://ouseful.wordpress.com/2009/09/08/so-my-boxee-delicious-tv-gets-a-trademark-infringement-warning/">So My Boxee “Delicious TV” Gets a Trademark Infringement Warning</a>.</p>
<p>PS See also the <a href="http://ouseful.wordpress.com/2009/08/28/uk-hei-boxee-channel/">UK HEI Boxe Channel</a> for details about how that pipe works&#8230;</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/ouseful.wordpress.com/2178/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/ouseful.wordpress.com/2178/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.ouseful.info&#038;blog=325417&#038;post=2178&#038;subd=ouseful&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://blog.ouseful.info/2009/09/07/delicious-tv-exposed-part-1-the-master-pipe/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/abbd9f90565ce9ae4d065d93a81d8c03?s=96&#38;d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96" medium="image">
			<media:title type="html">Tony Hirst</media:title>
		</media:content>

		<media:content url="http://farm3.static.flickr.com/2610/3889504425_5a4cbc912f.jpg" medium="image" />

		<media:content url="http://farm3.static.flickr.com/2550/3890290000_f403cb26a1.jpg" medium="image" />

		<media:content url="http://farm4.static.flickr.com/3525/3889526579_5fc8a89fae.jpg" medium="image">
			<media:title type="html">Delicious TV pipework 2</media:title>
		</media:content>

		<media:content url="http://farm3.static.flickr.com/2600/3889565583_28fae0a15e.jpg" medium="image" />
	</item>
	</channel>
</rss>
