Friday, August 26, 2011

aTunes - Welcome to the open source music revolution


Sorry iTunes, I borrowed your slogan from 2004, reworded it cleverly to describe a different piece of software and now harbor no intentions on giving it back to you.  On the other hand, an apology might need to be issued to aTunes - recent benefactor of the aforementioned cleverly reworded slogan - as well because I am about to pass judgment on whether you have met the three Prime Directives of open source software engineering.

The Prime Directive, as we all know, is that there can be no interference with the internal affairs, natural development or progression of alien cultures.  Fortunately, I am not a Starfleet Officer and my jurisdiction extends only as far as the three Prime Directives of open source software engineering.  Naturally, in order to determine if aTunes does indeed meet these directives, we must know what the directives are.  Furthermore, to appreciate the existence of any law or rule, it is always a good idea to first gain an insight into why they exist in the first place.

Software exists to aid its users in accomplishing certain tasks with relative ease.  Typically, a software company will have programmers who write software with their code kept hidden deep within their walls.  In other words, a lot of software written is proprietary and the underlying blueprints for how they do what they do are sealed off to the public.  Open source development, however, views software development from a different perspective and embraces the concept of "two heads are better than one" on a much grander scale.  Open source projects allow developers from all walks of life to contribute and often allow collaboration between any numbers of people across long distances, perhaps from around the world.  But ultimately, the projects become software - usually available to the public - and, as with all software, ought to aid its users in accomplishing certain tasks with relative ease.  Additionally, since it is open source after all, it should allow for relatively efficient collaboration between developers as well.  Thus, we have the three Prime Directives of open source software engineering.

Prime Directive #1 - The system successfully accomplishes a useful task.

aTunes performs admirably when accomplishing its primary functions.  As a music player, it does pretty much everything you would expect out of a music player, including the ability to pause, skip tracks, adjust volume, and skip to specific times in the track and even an equalizer is available to appeal to your inner audiophile.  Not only does aTunes provide your average everyday music player’s arsenal of tools, however, it also provides surprisingly useful features as well.  Upon launching the program for the first time, navigating to my music library and playing my first song, I was awestruck when the lyrics to the song I had played instantly came up in the lyrics window of the program.  Although aTunes was merely extracting the lyrics from an online lyrics source and displaying it to me, I nevertheless found myself wondering why I hadn’t seen any other music player do this before now.

There's Lady Gaga on there, but you can't tell

Prime Directive #2: An external user can successfully install and use the system.

aTunes boasts a cross-platform compatibility, and being both a Windows and Mac OSX user myself, it was pleasant surprise to find that it would be possible to test the program on both platforms.  Unfortunately, although the Windows installer was pain-free and straightforward for any Windows user who’s ever downloaded and installed a program on their own before, the same could not be said for Mac OSX.  Although executing both installers was a simple matter of double clicking the .exe file on Windows or the .jar file in OSX, the results were vastly different in my experience.  After the installer finished its automated routines, the Windows installer asked my preference for how I wished to launch the program whereas the OSX installer just closed itself and sneered at me, so to speak.  As it turns out, the OSX installation required further steps that weren’t made known to me until I visited the aTunes Wiki and a brief FAQ section about installation led me to learn that aTunes required an additional download to run and if I was running OSX 10.7, I would be unable to run aTunes completely.  Had I been a Windows user, I would have been inclined to say that Prime Directive number two was fulfilled.  However, because aTunes is designed to be a user friendly client, the installation for the Mac OSX left much to be desired, especially considering the Mac user demographic is largely used to installation being as simple as dragging an icon into their Applications folder.

Prime Directive #3: An external developer can successfully understand and enhance the system.

In order to officially develop for aTunes, a proposal with desired changes or additional features must be submitted for approval.  The aTunes Wiki also has coding guidelines for prospective developers to adhere to, which is not only appropriate but helpful in helping developers be on the same page regarding coding practices.  As for the code itself, almost every method in the code I reviewed appeared to be commented, although not necessarily very thoroughly.  However, the formatting seemed clear and inline comments were injected into the code to help supplement a developer’s understanding of the original coder’s intent.  While there is definitely room for improvement, a savvy developer would probably not have too much trouble understanding the code.

aTunes project page:

aTunes official page:

aTunes Wiki:

No comments:

Post a Comment