Building a Songbird Add-On: Part 0

2 Responses · May 27, 2009

songbird-artist-web-media-view-mockupAfter com­plain­ing about alpha­bet­i­za­tion in music libraries for — wow — almost a year, I’ve decided it’s time to do some­thing about it.

I know very lit­tle about JavaScript and XUL, but that is going to have to change. My goal is to com­plete the add-on described here, an Artist Web media view, or per­haps “Constellations.”

To make the task appear less daunt­ing, I’ve bro­ken it up into many mile­stones of mar­ginal improve­ments. If I fol­low this time­line, the plu­gin will be usable and released to the pub­lic as Con­stel­la­tions v0.1 on July 27.

Mile­stone ver Descrip­tion Tar­get Date Actual Date
i 0.0.1 dis­play all artists in a ver­ti­cal list 08 Jun 2009
ii 0.0.2 dis­play most recent Last Played value for each artist 15 Jun 2009
iii 0.0.3 dis­play total Play Count for each artist 22 Jun 2009
iv 0.0.4 vary font sizes accord­ing to total artist Play Count 29 Jun 2009
v 0.0.5 vary font col­ors accord­ing to total artist Play Count 6 Jul 2009
vi 0.0.6 vary font col­ors accord­ing to Last Played 13 Jul 2009
vii 0.0.7 arrange artist names left-to-right instead of vertically 20 Jul 2009
viii 0.1 focus first of the artist’s tracks in the playlist pane when the artist’s name is clicked 27 Jul 2009
ix 0.1.1 resize/re-color based on play fre­quency instead of play count 10 Aug 2009
x 0.2 options win­dow that alter­nates between which vari­able is assigned to which font property 31 Aug 2009

I’m going to cre­ate a sep­a­rate blog to track my progress on this, for sev­eral reasons:

  1. Threat of shame. If I empha­size pub­licly that I am going to do this, and I fail, I’ll be kind of embar­rassed. Hope­fully that will moti­vate me to actu­ally com­plete the project.
  2. Geeks love prov­ing that they’re smarter than you. If I’m hav­ing a tough time with some rel­a­tively ele­men­tary code, maybe peo­ple will mock me in the form of writ­ing the cor­rect code them­selves. I’m cer­tain that what I’m attempt­ing could be done in no time flat if I’d been for­mally edu­cated in things like JavaScript. Maybe the bit­ing sar­casm of peo­ple who need to demon­strate their intel­li­gence will show me where I’m going wrong.
  3. To encour­age pla­gia­rism. Look, I’ll admit that I’d be proud if the add-on that comes out of this bore my name. But ulti­mately, I don’t care. If some­body sees what I’m doing, likes it, wants it to be their own, and knows they can beat me to it, then great. At least we’ll have the add-on.

If you feel like mock­ing me or encour­ag­ing me you can email me at topdownjimmy@gmail.com, leave/follow com­ments on this post, or visit my ded­i­cated Con­stel­la­tions blog to see where I’m tak­ing this and how quickly I fail.

Good luck on the project. If you fin­ish, I’ll cer­tainly use Constellations.

blackheartmachine · 4 Jun 2009

Thanks black­heart­ma­chine. When I get some­thing that is rel­a­tively func­tional, I’ll be post­ing it to the Song­bird add-ons site.

Jay · 8 Jun 2009

Leave a Comment or Subscribe