We need to develop a small application or applet which can run from a 1Gb USB stick under all Os-X versions from 10.5 onward.
NOTE: I will create a similar project for the same application running under Windows so you may bid on both if you plan to code this in a cross-platform compiler.
When started, the app should enumerate all the computer's registered communication interfaces / adapters like wireless LAN, bluetooth, dialups / GSM (GPRS / 3G, 4G), IrDA and wired / cabled network plus firewire.
Having done this the app should create a narrow window placed just above the taskbar (its height should be like the taskbar's) and divided in horizontal columns, one for each detected interface. Each column is to be labeled as its interface and colored according to the status of the interface it represents: Red for a disabled adapter and green for enabled adapters. This 'status line' window should always display on top of other windows. Preferably it should be possible to reposition it to anywhere within the screen limits, but it should always be on top of other windows.
For each of the enabled interfaces, the app should try to ping and http/https connect to a couple of predetermined internet addresses so an alarm should sound (force speaker on) if the computer can connect to the internet. Furthermore it should also keep track of the traffic amount (i.e. number of bytes) passed to and from each adapter and display this info alongside the adapter name in its corresponding column/cell. This info should also be frequently written to a log file on the USB stick along with the computer name and timestamp.
The app should also monitor a user-given disk folder on the computer disk and back up any file from this folder to a default backup folder on the usb stick from where the application runs. This copying should be performed at regular intervals and execute 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. A time-date stamp should be added to each target filename while copying.
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 windows computer.