Building a Songbird Add-On: Part 0

2 Responses · May 27, 2009

songbird-artist-web-media-view-mockupAfter com­plai­ning about alpha­be­ti­za­tion in music libra­ries for — wow — almost a year, I’ve deci­ded it’s time to do something about it.

I know very little about JavaSc­ript and XUL, but that is going to have to change. My goal is to com­plete the add-on desc­ri­bed here, an Artist Web media view, or perhaps “Constellations.”

To make the task appear less daun­ting, I’ve bro­ken it up into many miles­to­nes of mar­gi­nal impro­ve­ments. If I follow this time­line, the plu­gin will be usa­ble and relea­sed to the public as Cons­te­lla­tions v0.1 on July 27.

Miles­tone ver Desc­rip­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 Pla­yed 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 accor­ding to total artist Play Count 29 Jun 2009
v 0.0.5 vary font colors accor­ding to total artist Play Count 6 Jul 2009
vi 0.0.6 vary font colors accor­ding to Last Played 13 Jul 2009
vii 0.0.7 arrange artist names left-to-right ins­tead of vertically 20 Jul 2009
viii 0.1 focus first of the artist’s tracks in the play­list pane when the artist’s name is clicked 27 Jul 2009
ix 0.1.1 resize/re-color based on play fre­quency ins­tead of play count 10 Aug 2009
x 0.2 options win­dow that alter­na­tes bet­ween which varia­ble is assig­ned to which font property 31 Aug 2009

I’m going to create a sepa­rate blog to track my pro­gress on this, for seve­ral reasons:

  1. Threat of shame. If I empha­size publicly that I am going to do this, and I fail, I’ll be kind of emba­rras­sed. Hope­fully that will moti­vate me to actually com­plete the project.
  2. Geeks love pro­ving that they’re smar­ter than you. If I’m having a tough time with some rela­ti­vely ele­men­tary code, maybe peo­ple will mock me in the form of wri­ting the correct code them­sel­ves. I’m cer­tain that what I’m attemp­ting could be done in no time flat if I’d been for­mally edu­ca­ted in things like JavaSc­ript. Maybe the biting sar­casm of peo­ple who need to demons­trate their inte­lli­gence will show me where I’m going wrong.
  3. To encou­rage 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­ma­tely, 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 moc­king me or encou­ra­ging me you can email me at topdownjimmy@gmail.com, leave/follow com­ments on this post, or visit my dedi­ca­ted Cons­te­lla­tions blog to see where I’m taking this and how quickly I fail.

Good luck on the pro­ject. If you finish, I’ll cer­tainly use Constellations.

blackheartmachine · June 4, 2009

Thanks blackheart­machine. When I get something that is rela­ti­vely func­tio­nal, I’ll be pos­ting it to the Song­bird add-ons site.

Jay · June 8, 2009

Leave a Comment or Subscribe