We need a small application or applet which can run from a USB stick under Win XP to Win 8 and under Mac OS-X 10.5 onward. My first thought is that it has to be Java. However I'm open to other suggestions.
The application should enumerate all the computer's communication adapters like wireless- and cabled network, bluetooth, IRdA, dialups (GPRS / Edge / 3G, 4G) and firewire.
Having done this the app should open a narrow screen bar (height ca 10mm) divided in one horizontal column for each adapter found. Each column is to be named and colored according to the status of 'its' adapter: Red for a disabled adapter and green for enabled adapters. This screen bar should always display on top of other windows and by default be positioned just above the computer's taskbar at the bottom of the screen. Preferably it should be moveable by the user to any position inside the screen limits.
The app should also monitor a user-given foldername on the computer disk (ex. Documents/TodayExam) and automatically back up any file appearing in this folder to a default backup folder on the usb stick. This copying should be performed flawlessly even if the files to be copied are open for editing in the computer. To ensure that the USB file data is safely saved, the usb buffers should be flushed or the stick should be programmatically unmounted and remounted after each backup operation.
If possible the app should also keep track of any traffic amount (i.e. number of bytes) passed to and from each communication adapter and display this info alongside the adapter name in the corresponding column. This info should also be frequently written together with any adapter state changes (connected/disconnected etc) to a log file on the USB stick along with the hostname and timestamp.
The app should be delivered both as source and compiled versions. It should not be possible to modify the functionality or reverse engineer the compiled version in any way.
It is crucial that the app has good and graceful error checking / prevention. It should run without any chance of crashing or interfering with normal computer operation from a USB stick plugged in to any computer (PCs and Macs which have relatively new version of java installed).
Bidders are supposed to comment which part(s) of the project description that might be challenging to resolve. Only experienced programmers should bid. Welcome to bid, or ask further info before bidding. I'm open to bid outside the selected budget if you are able to convince me :-)