Tag Archives: songbird

I’m as Free as a Songbird 1.0 Now

After a Thanksgiving hiatus, I’m back and while you are a recovering from the holidays and from my tacky headline, I want to talk about the Songbird 1.0 release.  A lot of other media outlets have covered this release so far, but I wanted to give my take on the media player.  I first found out about Songbird 1.0 since it was announced way back in 2005.  Since then, with each new point release, I’ve downloaded and played with its features.  It’s great to see the evolution of what it was to where it is today.  But some of the issues I’ve had with seem to persist.

The Songbird bird project kicked off in response to the closed sourced media players dominating the choices serious music fans could make.  In the spirit of Firefox, they developed (using Mozilla’s rendering engine) a media player that also browses the web much like Firefox.  What that introduced were new channels of music discovery and collaboration.  It was a good idea to start with and we’re now starting to see a solid base with which other services can build from Songbird.

This took forever on my 300,000+ catalog
This took forever on my 300,000+ catalog

Songbird still has some work left, however.  It seems the goal for the project is to get to the heavy music enthusiasts first and let it float on down to casual music fans.  Importing large libraries and working with them should be a top priority.  For each point release, it seems with my library, which tops 3 digits in gigabytes, Songbird struggles during the initial import and thereafter.  Yes it’s a lot of media to work with but if they want to top my current use of Winamp, they need to resolve that real soon.

The other issues I’ve experienced are somewhat trivial but nagging nonetheless.  They dropped PPC support for the Mac after the 0.7 release, which hinders me because of the Macs I still have running around at home.  Songbird has issues switching between the main view and the mini player view.  Lastly, podcast support is absent in the 1.0 release.  The only, seriously the ONLY, reason I use iTunes is for the podcast support.  If Songbird can champion that, I’ll abandon iTunes.

Not Only is Skreemr Integrated, But I Can Download Direct at the Bottom
Not Only is Skreemr Integrated, But I Can Download Direct at the Bottom

There are some great things about Songbird that make it a contender in the media player market.  The one that most appeals to me is how it displays all media on the bottom of a web page you are browsing.  Say you are hitting up your favorite music blog.  Usually there’s media floating around on the page and you have to scroll around to find it.  This feature collects all of the media at the bottom and allows you to work directly with the files.

Songbird also has some developmental and extensibility features that put it head and shoulders above the rest.  Around the 0.5 release they split out development of Songbird into four factions: Themes, Extensions, Web Development, and Core Development.  This provided a clear path for all different types of coders to contribute to the project.  The most exciting one to me is the Web Development portion because of the API they provide.  You can use the API to setup your own ‘store’ to sell music as opposed to the store that iTunes locks you into.  The other development factions mirrors that of the Firefox community and I think we all know how well that put Firefox ahead in terms of browser potential.

It’s great to see Songbird hit 1.0 and I look forward to finally getting in there and digging around in the code.  Somebody needs to improve super large library performance.  I’ve downloaded the source and compiled it, also setting up the dev kit for extensions, but that’s been in the days of TRAC as it now looks like to they switched to Deki Community Edition form Mindtouch.  Hello, Songbird, it’s time we meet again, now that your finally out of your shell.

Aligning Myself With Subversion Behavior

After working through the development environment portability debacle and relaunching the website, it was time to figure out how to control the customizations I have planned.  There are big plans coming for the site and I want to template the changes for future identity management and blogging prospects.  I really didn’t set much time on setting up a system by myself.  Time for me to re-introduce myself to revision control.

Revision control is the de facto standard way to manage code changes and bug fixes in a project.  From a single developer to a collaborative work environment,  it’s the best way to keep the evolution of a project in steady hands.  With a little effort in between building the project, you can roll back, trace history, and work on new features without affecting the production code.  For what I have planned, I need this kind of system to handle the changes heading toward this current deployment of the WordPress blogging software package.

My first exposure to revision control started way back in college.  My role as a student worker included modifying the content management portion of the college’s in house online course delivery system.  We used CVS as the motor for our revision control.  CVS was by all means not perfect and we had workarounds or hacks to help push projects along, but it was way better than nothing.  A couple of years ago, I felt the need to retrain myself on that but ended up deciding on Subversion as it was an evolution of the CVS mindset.  What ended up happening was a huge distraction of data backups and an implementation of rsync at headquarters.

Before deciding on what software to use, I felt the need to research the topic of revision control to see what changes came about in the last couple of years.  Due diligence is always near and dear to my heart.   I looked at lists of many different types of software.  There was a CVS control system guideline for websites that cnetnews.com follows.  Git was another up and coming software package that Linus Torvalds built which I used on a project at work.  And a Django module strictly developed for website control and rollback also came up in my searches.

After looking over the choices Sunday evening,  I decided to go with Subversion.  The biggest factor that won me over the other methods was the WordPress development team’s use of Subversion.  Another big factor was my previous desire to use Subversion.  What I hope to gain is learning how to use a web server to update and manage code remotely.  This also opens the door for me to try out different IDE’s because of plugin or internal support for Subversion.  Finally, further down the road I want to bang out some code for Songbird and they use a documentation/wiki/code repository framework called TRAC, which uses Subversion for its repository portion.

So this week I’ll start figuring out how to implement Subversion on the website.  I’m not sure how long it will take, but I will report or update on its progress when necessary.   Once I nail down the process for code management,  I’ll finally get to work on updating WordPress for kccollegegameday.com.  Until then,  I’ll pop in and out to pontificate when the urge fills me.