<?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>Base Creative Agency &#124; 2012 Recommended Digital Agency (RAR+) &#124; Bournemouth &#187; peteratbase</title>
	<atom:link href="http://www.basecreativeagency.com/author/peteratbase/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.basecreativeagency.com</link>
	<description>An Ideas-led Digital Agency</description>
	<lastBuildDate>Wed, 16 May 2012 10:53:24 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=</generator>
		<item>
		<title>wearebaseFM</title>
		<link>http://www.basecreativeagency.com/2011/05/wearebasefm/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=wearebasefm</link>
		<comments>http://www.basecreativeagency.com/2011/05/wearebasefm/#comments</comments>
		<pubDate>Tue, 31 May 2011 15:59:36 +0000</pubDate>
		<dc:creator>peteratbase</dc:creator>
				<category><![CDATA[Blog]]></category>

		<guid isPermaLink="false">http://v2.base-dev.com/?p=484</guid>
		<description><![CDATA[<p>A couple of months ago, Matt and I were discussing ideas for personal projects and we kept coming back to the idea of a web app which tracked the music we&#8217;d been listening too. </p>
<p>I remembered our conversation one night recently and decided to give it a go. <p><a href="http://www.basecreativeagency.com/2011/05/wearebasefm/">Read more about wearebaseFM</a></p>]]></description>
			<content:encoded><![CDATA[<p>A couple of months ago, <a href="http://www.basecreativeagency.com/author/mattatbase/">Matt</a> and I were discussing ideas for personal projects and we kept coming back to the idea of a web app which tracked the music we&#8217;d been listening too.</p>
<p>I remembered our conversation one night recently and decided to give it a go. To find the tracks we&#8217;d been listening to in the studio, I parsed our Last.fm &#8216;recent tracks&#8217; RSS feed (which Spotify and iTunes scrobbles to) and saved/tweeted the results. The next time the script ran, it would look at the last saved track, and work out whether it&#8217;s still the latest or not. If something new had come along, it would get saved (and tweeted too).</p>
<p>Within a few hours I had built a working model and left it crawling until the next full Base work day. I spoke to <a href="http://www.basecreativeagency.com/author/tomatbase/">Tom</a> and we talked about pulling together some statistics from the data, to display on the new Base website. Which is what you see today on the site, in the right hand column, down there at the bottom.</p>
<h3>The Tech</h3>
<p>BaseFM is powered by the following languages and libraries:-</p>
<ul>
<li>Python is the programming language, powering the crawler which fetches the tracks from Last.fm, as well as the web framework which hosts the API.</li>
<li>To turn Last.fm&#8217;s XML feed into a manageable Python list, BeautifulSoup does a wonderful job and is fast enough for our needs.</li>
<li>Tweepy is a Twitter library which handles the authentication and API requests for updating the BaseFM statuses.</li>
<li>To avoid hitting the database too much, a memcached layer stores frequent queries in memory for a short period of time.</li>
<li>To handle our MySQL queries, the MySQLdb bindings were used.</li>
<li>Google Charts allows us to quickly and easily craft pretty charts on our listening habits.</li>
<li>To aid in the date range calculations (working out when the week starts, etc), the excellent python-dateutil was imported.</li>
<li>Web.py is our ultra-simple web framework which handles URL routing for the API.</li>
</ul>
<p><img class="alignright size-full wp-image-485" title="basefm-flow" src="http://www.basecreativeagency.com/wp-content/uploads/2011/05/basefm-flow.png" alt="" width="440" height="517" />Fig 1</p>
<p>The above diagram fig 1 gives you an idea of what one loop through the script does, from getting the last track to tweeting it.</p>
<h3>Statistics</h3>
<p>Between 13th of April and the 31st of May, Base Creative Agency</p>
<ul>
<li>… listened to, on average, to 115 tracks per work day.</li>
<li>… prefers mashups as a genre (99 plays), followed by indie (63 plays) and rock (43 plays).</li>
<li>… chose “The Beatles” as the top artist (151 plays), followed by “John Lee Hooker” (105 plays) and “Daft Punk” (99 plays).</li>
<li>… listened to “Cheesecake” by “Louis Armstrong” 27 times, “Circle of Life” by “Lebo M” 17 times, “I Just Can&#8217;t Wait To Be King” by “Elton John” 16 times.</li>
</ul>
<h3>Future Improvements</h3>
<p>There are some more ideas floating about at the moment, including:</p>
<ul>
<li>The option for people to @reply the Twitter account and influence (not directly change) the tracks we&#8217;d listen to next. It would add a nice layer of interactivity to the application, which at the moment is entirely controlled by us in the studio.</li>
<li>Replace the Goo.gl link to Last.fm with a TinySong (http://tinysong.com) link, so you can also listen to the track at the same time.</li>
</ul>
<div>Any additional ideas, please feel free to add them to the comments below!</div>
]]></content:encoded>
			<wfw:commentRss>http://www.basecreativeagency.com/2011/05/wearebasefm/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

