On… Programming Skimmp3

In the beginning

I’ve always found that if I need an application to perform a specific function, not currently fulfilled by another, it usually means that I’m not the only one.

AudioBlogScraper.sln had been floating around on my hard drive for ages, I used it to download all the mp3s linked from audio weblogs.  The version I used for the best part of a year had two text entry boxes and a button, simply source URL, destination directory and a Go button.  Once the Go button was pressed it would just hang the program until all the mp3s from the destination URL had downloaded.

This was not the most user friendly code, it was, as is often the case with something developed by a programmer for themselves, very unintuitive and not very friendly.

Programming for an audience

I’ve also found over the years that by programming for an audience you can improve the quality of your code, suddenly your program needs to work on more than just your machine, you need to have a user interface that your mum can use, you need to write an installer (usually), then there is the scary thought that someone else may one day look at your code, so you need to keep that nice and neat.

It was with all this in mind that I approach developing what became Skimmp3.

Skimmp3 is a relatively simple windows program, initially I kept the same entry boxes as before, but added a list of the mp3s that had been found and the name of the one currently being downloaded.  This became v0.3.  From then on I wrote a features list that once complete would make for version 1.0.  I attempted to follow the features list by implementing a bit of agility on my own project with 2 week sprints to each version.  Then a days test, then adding bugs to the work log followed by a review of the features list in order to work out my next version work packages.


The biggest hurdles I came across when working on it were a reliable download library in vb.net, more of that in a later post, and keeping motivation levels going on what is effectively a personal project that I doubt will set the world alight, although some people may find it useful.

So I treated the project as a test bed for all the new techniques and ideas I had for development in my day job, a way to try before you implement, even if it is small scale I could get a handle on what patterns and practices were working and which weren’t, also being a small project with no deadline I could change its entire structure from version to version in order to try out different design patterns.  This has fed back into my day to day work behaviour and has paid dividends.

I’ll be going into detail about some of those patterns and practices I used in forthcoming posts.

For now visit www.buzzsort.com and download skimmp3 v0.9 and point it at your favourite audio blog.


0 Responses to “On… Programming Skimmp3”

  1. Leave a Comment

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s


%d bloggers like this: