Sunday, August 31, 2008

O.S.S. Experience - iPodCopy

Purpose:

To evaluate an open-source software and see how well it meets the Three Prime Directives from the end user's perspective. The open source software I will be evaluating is iPodCopy.

Overview:

iPodCopy is an Java application that allows users to copy mp3s from your iPod to your PC.

Download Link: iPodCopy. (note: src-zip file is missing a .jar file needed. The missing .jar file can be found in the bin-zip file.)


Prime Directive #1 - Useful Task: PASS

iPodCopy accomplishes a simple yet important task that Apple's iTunes fails to deliver. iTunes only allows single direction file transfers from the computers to the iPods. This may be to protect illegal distribution of songs. However often times, users delete all or most of their mp3 files for various reasons (system format, open up disk space, etc) without backing them up. The only way to recover these files are to purchase and download the mp3s all over again. iPodCopy solves this issue and allows users to recover mp3s from their iPods to their computers.

Prime Directive #2 - Successful Install and Use: PASS

iPodCopy is a stand-alone program with no installer. As the user, I only needed to extract it to a location and open the program launcher, iPodCopy.exe. In some aspects, it failed this Prime Directive I suppose. Because my purpose was to download, use, AND look at source code, I needed the src-zip. However, a crucial .jar file was missing to run the program. The file was included in the bin-zip file though.

Performance-wise, iPodCopy easily does its job. The user interface is simple yet effective (shown above). It has a familiar feel and appearance to Apple iTunes. iPodCopy also features a nice search bar similar to that of iTunes to quickly search through mp3s.

Prime Directive #3 - Ability to Enhance: FAIL

iPodCopy fails to achieve this directive. It does provide it's source code and uses meaningful method names. However, there was no line of comment or any form of documentation anywhere. To even guess at what each class or method does, external developers would need to trace the code between 20+ classes or guess according to the method names.

The format the developer writes seems readable. If only the original developer included some sort of documentation, I would believe this is something external developers can add to. To edit or add to this project, external developers likely need to read every single line of code themselves.

No comments: