The deliverable product should be a Mac OS X clone of a Windows program. The software does the following tasks, where points 1, 2 and 3 describe the main functionality of the software:
1. auto detect all removable drives connected to a computer, show these to the user, and let the user select the ones to be used as targets
2. let the user selects a source folder
3. copy all files and folders to all the selected target drives
4. copying should happen in parallel, with a configurable max limit of parallel threads.
5. actions should be logged to a file, and also be shown to the user on screen.
6. an EULA (to be provided) should be displayed to the user the first time the program is run, which the user must accept if they wish to use the software.
7. implement a simple license/product key scheme. If no key has been provided yet, the program should require a key when it is run. If the key is OK, it should be stored and the program should start. If it is not OK, the program should let the user know and require the key again. The key generation and verification is implemented for Windows (C#) and Linux (PHP), and the same keys must work on Mac as well. Details will be provided, but this uses basic RSA encryption/decryption.
8. Please provide a method for building an installer for Mac
The program should be robust, and use proper exception handling to notice and report errors.
Please indicate which programming language you will use for this task.
A subversion repository will be provided, where code must be checked in as you work on the task. Please specify whether you are familiar with subversion or not.
Screenshots, license key descriptions, icons, EULA and any other details will be provided as necessary.