<?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>Index out of Bounds &#187; streaming</title>
	<atom:link href="http://www.jonathanfritz.ca/tag/streaming/feed" rel="self" type="application/rss+xml" />
	<link>http://www.jonathanfritz.ca</link>
	<description>the personal portfolio of Jonathan Fritz</description>
	<lastBuildDate>Mon, 12 Dec 2011 03:22:35 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Seven Days of Rdio</title>
		<link>http://www.jonathanfritz.ca/software/seven-days-of-rdio</link>
		<comments>http://www.jonathanfritz.ca/software/seven-days-of-rdio#comments</comments>
		<pubDate>Wed, 10 Aug 2011 01:51:18 +0000</pubDate>
		<dc:creator>Jon</dc:creator>
				<category><![CDATA[Music]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[media]]></category>
		<category><![CDATA[rdio]]></category>
		<category><![CDATA[streaming]]></category>

		<guid isPermaLink="false">http://www.jonathanfritz.ca/?p=488</guid>
		<description><![CDATA[As a regular listener of tech podcasts from the United States, I have long been interested in the idea of streaming music services, but have been frustrated by the fact that very few of them seem to be able to break the border and come north to Canada. In the past, I&#8217;ve held both a [...]]]></description>
			<content:encoded><![CDATA[<p>As a regular listener of tech podcasts from the United States, I have long been interested in the idea of streaming music services, but have been frustrated by the fact that very few of them seem to be able to break the border and come north to Canada. In the past, I&#8217;ve held both a free and paid subscription to Last.fm, but found its music playback system to be extremely limited, due in part to licensing restrictions that dictate how many songs from any album or artist can be played in succession.</p>
<p>A few days ago, I was catching up on my subscription to Jesse Brown&#8217;s Search Engine podcast, and found myself listening to <a title="Search Engine Podcast Episode 95: Cloud Music Comes to Canada" href="http://www.tvo.org/cfmx/tvoorg/searchengine/index.cfm?page_id=613&amp;action=blog&amp;subaction=viewPost&amp;post_id=17132&amp;blog_id=485" target="_blank">Episode 95: Cloud Music Comes to Canada</a>. In this episode, Jesse interviewed Rdio CEO Drew Larner about the streaming service&#8217;s Canadian launch. Immediately interested, I headed over to <a title="Rdio Website" href="http://www.rdio.com" target="_blank">the company&#8217;s website</a> and signed up for their free 7-day trial subscription. The following is a collection of my thoughts about the service, in no particular order:</p>
<h3>Beautiful and Functional:</h3>
<p>I have to hand it to the Rdio web team &#8211; their in-browser media player is one of the best web apps that I&#8217;ve ever used. The screen is organized into two panels: A thin side panel that shows currently playing media and controls, and a wider main area that allows you to navigate through the Rdio music library. One of the best parts is that this view is built entirely on Javascript, so you can browser through available music and queue up songs to play without any interruption in audio playback.</p>
<p><a href="http://www.jonathanfritz.ca/wp-content/uploads/2011/08/rdio-dashboard.png"><img class="aligncenter size-medium wp-image-489" title="Rdio Dashboard" src="http://www.jonathanfritz.ca/wp-content/uploads/2011/08/rdio-dashboard-300x255.png" alt="A picture of the Rdio Dashboard, with media playback controls on the left, and the main navigation window to the right." width="300" height="255" /></a></p>
<p>Speaking of audio playback, song quality is crystal clear, while tracks seem to start instantly, without any kind of buffering time. I&#8217;ve used a lot of media players in my time, and I think that this one might have the best user interface that I&#8217;ve ever seen. Navigating the massive library of available songs is simple and painless, and the prominently placed search bar provides a rich collection of query results:</p>
<p><a href="http://www.jonathanfritz.ca/wp-content/uploads/2011/08/rdio-search.png"><img class="aligncenter size-medium wp-image-490" title="Rdio Search Results for the term &quot;love&quot;" src="http://www.jonathanfritz.ca/wp-content/uploads/2011/08/rdio-search-151x300.png" alt="Rdio Search Results for the term &quot;love&quot;: Results include top artists, albums, and songs with the search term in their titles" width="151" height="300" /></a></p>
<p>The only major UI problem that I&#8217;ve encountered stems from broken links placed throughout the site. On more than one occasion, I&#8217;ve been reading an artist bio or album review, and clicked on a link to one of the albums mentioned therein, only to be transported off to a page for an album that shares the same name, but is by an entirely different artist. My guess is that all written content on the site is scanned wiki-style for clickable terms like album and artist names, and that the links are established without human intervention. In general, this process works, except when it fails to correctly choose between multiple potential targets.</p>
<h3>A Truly Massive Collection:</h3>
<p>Rdio has done an excellent job of collecting songs for their collection. During the aforementioned interview, CEO Drew Larner emphasized the fact that the company purposely negotiated US and Canadian rights to music at the same time. The result is that the vast majority of their collection is available in both countries, without <a title="Gigaom: Netflix Streaming Heads North with some Differences" href="http://gigaom.com/video/netflix-streaming-heads-north-with-some-differences/" target="_blank">the usual legal disconnect that other streaming services like Netflix suffer</a> from.</p>
<p>Some of the usual suspects are missing from the Rdio library, namely the Beatles and Led Zeppelin. For the life of me, I&#8217;ll never understand what the publishing companies that own these pieces think that they&#8217;re gaining by holding them back from online streaming services. It&#8217;s a purely artificial shortage &#8211; like many fans of these bands, I already own my favourite Beatles and Zeppelin records in both digital and physical formats, so it&#8217;s not like holding them back is generating additional sales. It&#8217;s nothing more than a piss off for fans who would like to enjoy their music on alternative services.</p>
<p><a href="http://www.jonathanfritz.ca/wp-content/uploads/2011/08/the-beatles-results.png"><img class="aligncenter size-medium wp-image-491" title="Search results for &quot;The Beatles&quot;" src="http://www.jonathanfritz.ca/wp-content/uploads/2011/08/the-beatles-results-300x235.png" alt="Search results for &quot;The Beatles&quot;: The available albums are almost entirely interviews or cover albums" width="300" height="235" /></a></p>
<p>With that said, the breadth of music available on Rdio is truly impressive. I&#8217;ve been able to find nearly everything that I&#8217;ve looked for, as well as a great deal of content that I&#8217;ve never heard, and intend to explore in the near future.</p>
<h3>Finding New Music to Enjoy:</h3>
<p>This is one of the few places in which Rdio makes a misstep. Other online streaming services that I&#8217;ve tried in the past (most notably <a title="Wikipedia: Yahoo! Music Radio (formerly Launchcast)" href="https://secure.wikimedia.org/wikipedia/en/wiki/Yahoo!_Music_Radio" target="_blank">the venerable Yahoo Launchcast</a>) would start a new user&#8217;s experience by asking for a few artists or albums that the user enjoyed. Once this data was stored, the service would begin to recommend a mix of familiar and closely related songs that the user would rate in turn, thereby automatically growing their collection while introducing them to a great deal of new music in short order.</p>
<p>Rdio doesn&#8217;t seem to provide any such service. Even after I linked it to my existing Last.fm account, it scrobbled what I was listening to, but did not pull in favourite artists or songs from that account. Nearly every artist, album, and song on the site can be played as an &#8220;Rdio Station&#8221;, which plays of mix of the chosen content along with related material, and new users can choose to follow existing users and benefit from their plays and music suggestions. Despite these methods of discovering new music, there doesn&#8217;t seem to be a &#8220;genius playback&#8221; &#8211; a way to playback songs that you&#8217;ve added to your collection plus new recommended material.</p>
<p>Even after spending a few days with the service and growing my online &#8220;collection&#8221; of music to just under 250 songs, my account&#8217;s &#8220;Rdio Station&#8221; (music drawn from artists/albums that I&#8217;ve listened to, songs that I&#8217;ve added to my collection, and related material) was maddeningly boring to listen to.</p>
<p><a href="http://www.jonathanfritz.ca/wp-content/uploads/2011/08/rdio-now-playing.png"><img class="aligncenter size-medium wp-image-495" title="Rdio now playing window: My personal Rdio Station on the last day of my trial" src="http://www.jonathanfritz.ca/wp-content/uploads/2011/08/rdio-now-playing-300x252.png" alt="" width="300" height="252" /></a></p>
<p>In the image above, you can see that there are only 8 artists in a list of 16 upcoming songs &#8211; indeed, content from these 8 artists was repeated, and some individual songs (like that terrible What&#8217;s My Name song by Rhianna) came up in shuffle multiple times over a 2-hour listening period, even after I physically removed them from the list on more than one occasion. In my opinion, the concept of a personal Rdio station needs more work. It simply does not present a variable enough set of music, and does not expose me to music that I have not previously found on the site.</p>
<p>That said, the amazing breadth of the Rdio collection and the powerful search tools come very close to  compensating for this problem by making it incredibly easy to call up nearly any song that pops into your mind while listening. It doesn&#8217;t take long to get lost, wikipedia style, by following links in artist bios and one can quickly find themselves with more queued albums than they will ever realistically have time to listen to.</p>
<p>Finally, Rdio doesn&#8217;t allow you to rate music in a granular fashion like traditional media players do. Instead, it provides the more binary option of adding a song to your collection. This resembles the way that Last.fm allows users to &#8220;Heart&#8221; songs as favourites. Were I to adopt Rdio as a long-term replacement of my existing music library, I suspect that I would grow to dislike this design, as it does not seem (at least on the surface) to offer enough granularity to easily sort out a large music collection. With that said, a better automatic shuffle feature could solve the problem entirely.</p>
<h3>The Big Question:</h3>
<p>Will Rdio replace my traditional music collection? Probably not. I might use it to augment my collection, and to explore new music, as well as to listen to newly released albums before deciding whether or not to purchase them. The bottom line is that I probably won&#8217;t opt into the $5/month permanent account that is necessary to continue using the service once my trial runs out sometime tomorrow. The reasons behind this decision are varied, but ultimately come back to my experience with the site&#8217;s Rdio Station feature. Its lackluster performance means that listening to Rdio becomes a chore. I can&#8217;t just throw it on and sit back and listen; I have to intervene and queue up songs that I want to listen to every time my list runs dry.</p>
<p>With that said, I will most certainly come back to this service in 6 month&#8217;s time and give it another shot. It is one of the coolest sites that I&#8217;ve seen in a long time, and I do hope that it will continue to improve to the point where I am comfortable leaving my traditional media player behind.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jonathanfritz.ca/software/seven-days-of-rdio/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Reinventing the Wheel: A Better Media Player</title>
		<link>http://www.jonathanfritz.ca/software/reinventing-the-wheel-a-better-media-player</link>
		<comments>http://www.jonathanfritz.ca/software/reinventing-the-wheel-a-better-media-player#comments</comments>
		<pubDate>Sun, 22 Nov 2009 17:42:22 +0000</pubDate>
		<dc:creator>Jon</dc:creator>
				<category><![CDATA[Music]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[.net]]></category>
		<category><![CDATA[blackberry]]></category>
		<category><![CDATA[cross platform]]></category>
		<category><![CDATA[flac]]></category>
		<category><![CDATA[itunes]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[juce]]></category>
		<category><![CDATA[last.fm]]></category>
		<category><![CDATA[m3u]]></category>
		<category><![CDATA[media monkey]]></category>
		<category><![CDATA[media player]]></category>
		<category><![CDATA[meta-data]]></category>
		<category><![CDATA[mp3]]></category>
		<category><![CDATA[open source]]></category>
		<category><![CDATA[pls]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[project]]></category>
		<category><![CDATA[rating]]></category>
		<category><![CDATA[sfml]]></category>
		<category><![CDATA[smart playlist]]></category>
		<category><![CDATA[Songbird]]></category>
		<category><![CDATA[streaming]]></category>
		<category><![CDATA[subsonic]]></category>
		<category><![CDATA[sync]]></category>
		<category><![CDATA[visual studio]]></category>
		<category><![CDATA[windows media player]]></category>
		<category><![CDATA[xml]]></category>

		<guid isPermaLink="false">http://www.jonathanfritz.ca/?p=157</guid>
		<description><![CDATA[As I&#8217;ve posted in the past, I am a picky media player user. I&#8217;ve tried most every free player under the sun, along with some not so free solutions and have yet to be entirely satisfied with any of the available products. To that end, I&#8217;ve started to think about the possibility of writing my [...]]]></description>
			<content:encoded><![CDATA[<p>As I&#8217;ve posted in the past, I am a picky media player user. I&#8217;ve tried most every free player under the sun, along with some not so free solutions and have yet to be entirely satisfied with any of the available products. To that end, I&#8217;ve started to think about the possibility of writing my own media player. The following are some of the considerations that I&#8217;ve been mulling over:</p>
<p><strong>Base Requirements:</strong></p>
<ul>
<li>Playback of both mp3 and flac files. Support for other formats could be added as required by me or other users, possibly with us of some sort of plugin engine.</li>
<li>Some kind of a rating system, preferably with a high level of granularity. I&#8217;m not married to the standard 5-stars idea, and may explore alternative ideas, including tagging.</li>
<li>Truly smart playlists that allow for the standard global AND/OR rules, as well as more advanced expressions that support brackets and branching logic.</li>
<li>Smart importing from existing iTunes, Songbird, Media Monkey, and Windows Media Player libraries, various playlist formats, and other types of media collections.</li>
</ul>
<p><strong>Feature Wish List:</strong></p>
<ul>
<li><em>Blackberry Sync</em>: When not at home, I listen to music from a flash card on my Blackberry Curve. The device can be filled with media by simply dumping it all on the media card, which appears as a removable drive. As previously mentioned, I listen to a mix of mp3 files and lossless flac files. When dumping these files to the Blackberry, I would like to see one thread dedicated to converting the flac files to mp3s, while another thread actually fills the device, resulting in a sync process that is not significantly slowed by media conversions. Additionally, since I have hard drive space to spare, I would like to cache some or all of the resulting mp3 files so that they don&#8217;t have to be converted again on the next sync. I would also like to see the ability to import files from the Blackberry to the library so that I could pick up media on the go and bring it home with me.</li>
<li><em>Library Export/Backup</em>: With a library of 10K+ tagged and rated songs, losing the library of meta data about my music would be a traumatic experience indeed. To solve my paranoia over losing this data, I would like to implement the export of single playlists and entire libraries to all of the major playlist formats, as well as to a structured XML document, similar to the one that iTunes maintains. Some kind of automated backup feature like the one that iTunes has would also be nice.</li>
<li><em>Online Integration:</em> I currently report all of my song plays to last.fm, which is an excellent resource for discovering new music. I would like my media player to link in with last.fm and other online resources, but am also open to developing my own online resource that lets users to easily compare and organize their collections, correct their meta data, and actively discover new music that other users have rated.</li>
<li><em>Library Sharing/Streaming:</em> We run a large network with lots of computers, and I&#8217;d like the ability to listen to my music from anywhere in the house. I really like the work that <a href="http://subsonic.sourceforge.net/" target="_blank">Subsonic</a> has done in this area, and hope to implement some or all of it&#8217;s features, while at the same time linking it into my database so that I can see my playlists and edit my meta data from anywhere in the house, and indeed, from anywhere in the world.</li>
<li><em>Cross-Platform and Open-Sourced:</em> Given all of my recent experience with Debian Linux, I&#8217;d like to see my media platform running on both Windows and Linux. This one might take me awhile to accomplish, but is definitely a goal of mine, given that I am now a confirmed Linux user who still keeps a couple of Windows platforms lying around.</li>
</ul>
<p><strong>Implementation:</strong></p>
<p>Of course, with all of these goals in mind, the next step is to consider which platform I&#8217;d like to build on. This basically comes down to a number of choices, some cross-platform, some not:</p>
<ul>
<li><em>Visual Studio .NET:</em> My development IDE of choice, Visual Studio provides extremely quick GUI creation and a great number of useful libraries that cut out a lot of the nitty gritty time consuming base code necessary for a project as large as a media player. Additionally, the Windows Media Player control allows for drop-in playback of media, and I have a ton of example code lying around that implements most of the features listed above. Unfortunately, while .NET 2.0 is supported on Linux under the Mono platform, I don&#8217;t know how far that support goes in terms of media management and playback.</li>
<li> <em><a href="http://www.sfml-dev.org/index.php" target="_blank">SFML</a>:</em> The Simple Fast Media Library is available as libraries that are pre-compiled to run on Windows, Linux, and Mac, with support for Visual Studio, C/C++, Python, and Ruby. It includes packages for windowing, graphics, networking, and most importantly, audio capture and playback. This is a definite contender as it is open source, meaning that I could build the libraries directly into my code, and simply recompile for different platforms. Of course, the downside is that I&#8217;ll have to code in C++, and without any kind of graphical interface builder.</li>
<li><em><a href="http://www.rawmaterialsoftware.com/juce.php" target="_blank">Juce</a>:</em> Jules Utility Class Extensions is like a more featured version of SFML that provides packages for just about every conceivable task, including some serious audio libraries that support all kinds of playback, effects, and hardware accelerated features. In addition, it does audio CD reading and writing out of the box on Mac and PC platforms. If I were to strike out from Visual Studio, this would probably be my library of choice, as it can do nearly everything that VS can do, but is fully open sourced and supported on just about every available platform.</li>
<li><em>Java</em>: I have no idea how realistic this idea is. I do know that in the past, I&#8217;ve created Java apps that can play both wav and mp3 files, and stream those files over a network connection. That said, as much as I enjoy coding in Java, it is widely regarded as being slow and clunky &#8211; not exactly traits that I&#8217;d like associated with a media player that will be running all day. On the other hand, Java is not C/C++ (a huge bonus as far as I&#8217;m concerned), is fully object oriented, has decent audio support, and makes networking extremely easy. That said, programming GUI&#8217;s of any kind of complexity in Java is not a task to be taken on lightly.</li>
</ul>
<p>Well, that about sums it up. This project is definitely something that I intend to undertake in the coming months, and until then, I&#8217;ll keep thinking about my requirements and what library I&#8217;d like to use to implement it. If anybody else has experience with some useful audio libraries that they&#8217;d like to share, please do so in the comments.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jonathanfritz.ca/software/reinventing-the-wheel-a-better-media-player/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

