Report bugs | Sign in
Powered by Melange
Release 0-6-20091207

Student Name: Mike Urbanski
Mentor Name: Gabriel Burt
Title: Banshee & Miro Guide: BFF OR Podcasting as a Service OR Cloudcasting OR [BUZZWORD]-asting.
Abstract: Banshee should take advantage of web services (preferably AGPL'd) wherever it makes sense to do so. Given the web oriented nature of podcasting, podcasting as a service, and deep client integration make sense.
Public info:

Describe your Project Proposal:

I subscribe to a number of podcasts.

I have a number of computers.

I fundamentally dislike modern podcast clients.

For each computer that I have, I maintain a separate list of podcasts. While methods of synchronizing podcast feeds between clients exist, most are cumbersome, forcing the user to keep everything up to date manually.

This is silly.

Last June, while blogging about Banshee 1.x's Last.fm support, Jorge Castro stated: “I think the deep integration with Last.fm is a sign of things to come.” [42]

I agree.

I believe that Banshee should take advantage of web services (preferably licensed under the AGPL) wherever it makes sense to do so.

Given the web oriented nature of podcasting, podcasting as a service, and deep client integration make sense.

As Miro, Miro Guide and Banshee are Free Software, they make excellent playgrounds for such experimentation.

The goal of this project to extend Banshee and Miro Guide to allow podcasts to be managed both on the web and through a client. [16]

 

Users should be able to:

  1. Browse Miro Guide from Banshee...

  2. Manage podcast subscriptions on the web...

  3. Queue podcast downloads remotely via the web...

  4. Synchronize podcast metedata between multiple clients...

 

Previous Experience relevant to this project:

I have hacked on Banshee and used its libraries in personal projects for over three years. I have experience with the Miro Guide development stack (Django [1.5 years], Python [1.5 years], and Apache [10 years] / MySQL [4 years].) In the last month I have become proficient with Miro Guide's custom ORM, sqlhelper.

 

Outline your implementation strategy:

My strategy is to act on my plan, taking help wherever I can get it.

“If we hit that bull's eye, the rest of the dominoes will fall like a house of cards. Checkmate.”[hut, hut, hut]

 

Outline your plan to implement the functionality:

    1. http://4gifs.com/gallery/d/73087-1/WolfJJdotAM01.jpg

    2. Modify Miro Guide to allow users the option of maintaining subscription lists server-side and receiving feed updates directly from Miro Guide. (work in progress now. [http://github.com/mcu/miroguide/tree/master])

    3. Create a new Banshee extension that integrates w\ the freshly minted Miro Guide services. (early prototype in progress.)

    4. Polish and extend the Migo library for use in the Banshee extension. (http://code.google.com/p/migo/)

    5. Integrate a Miro Guide web view into the Banshee extension using either WebKit# or Gecko#.

    6. A rather glaring omission in Banshee's 1.x series podcast plugin is the lack of a download manager. I would like to implement something akin to this: http://www.vimeo.com/1619239

    7. http://4gifs.com/gallery/d/55253-1/Diversify.jpg

 

In your own words, describe what should be the acceptance criteria by the mid-term and final-term evaluations of your project.

By mid-term, objectives 1-3 should be met.

By final-term, objectives 1-5 (and maybe 6) should be met.

 

[42] - http://stompbox.typepad.com/blog/2008/06/banshee-10-is-1.html

 

[16] - Sorry Miro, but I don't like using dynamic languages for desktop apps. Yeah I know C# has var and objects whose “static type is dynamic” are coming in 4.0, but, it doesn't change anything. I'm sorry, it's not you, it's me. We'll always have list comprehensions.

 

[hut, hut, hut] – 25 Star General Captain Major Brigadier Webelo Commodore 64, ladies man, and sexlexia survivor/spokesperson Zapp Brannigan.