A Place Where No Dreams Come True...

Current Topic: A Friend of mine had an Idea. He has unsupervised remote workers at his farm which for safety reasons are required to check in regularly. He also has a job which frequently requires him to work night-shift making him unavailable for his workers. So he asked me if I could automate this process so he only needed to be contacted for critical requirements.

Leaving The Burden Still Up To The Worker...

In rural and remote locations it turns out that workers without supervision, in jobs that may have injury involved, must check in with a supervisor on a regular schedule. If they don't. It is presumed they are in distress and need attention.

Since the communication between worker and supervisor is commonly done using 'cell' phones. And since most wireless phones have (or can have) internet access. It seemed logical to replace the supervisor with a server. Thus... Virtual 'buddy'.

So I wrote a server (service, daemon) which waits for a client to check-in (worker punches time-card) using a phone and initiating a 'job'. And the corresponding client to update the worker database (in this case 'mysql') status. In the background the 'buddy' server regularly queries the database for job updates to determine what actions might be necessary.

The server action varies depending on the client participation. The database determines the the severity (rules) for the action.

The server continues to monitor, through the database, all active clients until the client checks-in or checks-out (worker punches time-card) using a phone. Once the user checks-out the job is terminated and the server stops monitoring that client.

A web interface is also provided as a more civil method of interacting with the server. For a client, a supervisor and an administrator.

The Server Monitors Freeing The Supervisor To Actually Supervise...

The server continues to monitor the client using the phone check-in method. When a scheduled update is required the client is reminded that check-in is requested. This is done using text-messaging through the phone. If after reasonable prompting the client fails to check-in then an alarm state is triggered and the registered supervisor is contacted. The supervisor is responsible for clearing the alarm and presumably attending to the client. If the supervisor fails to clear the alarm promptly then an emergency state is triggered. Don't let that happen. Emergency services may bill you.

It should be obvious here that any supervisor with only a couple of workers could, depending on the job, commit a full days work to just making sure that everyone is safe. Not to mention the distraction to the employee the supervisor has been reduced to a babysitter. And thus the productivity has dropped.

Programming Demonstrations:

Available For Download...

When I complete restructuring my version control system I will be making the source available for download under GNU license only wishing I could add prohibiting use on commercial operating-systems. Ha ha!

In the meantime features may or may-not include:

11219