You have chosen to sponsor your bid up to a maximum amount of .
We will delete all bids that do not specifically details where you have done something like this project before. Please read.
The goal is to have a "listening & reporting application" on Windows desktops. This application/service should NOT be visible to the users of the machine. These machines are owned and controlled by us, so we have full access to them. We need to track the activity level of researchers that use our proprietary applications. We prefer C# .NET for both the Windows app and server side.
We need a 2 tier system. (1) Desktop monitoring software and (2) Web interface for viewing/reporting/storage
Monitoring Service: The monitoring software should record:
-First/last Activity time each day
-Each Program start and close date stamps
-When each application has user interaction in it. (is it being used).
-In N second increments, we need to know true/false if there is activity on the computer (mouse or keyboard movement). The value of N is retrieved by the WebApp/Server.
-Websites visited (internet explorer).
-The monitoring service should connect to the server, retrieve the value of N and a list of applications to monitor.
-The service should be sending data to the web server on N second interval. N default is 5 seconds
The desktop interface is a simple 1-form box with settings. There should be some way for an admin user to run the application, this should not be obvious to the users of the machine.
-name the computer ( i.e. RESEARCH12)
-location ( i.e. Dave's house)
-machine specs (i.e. core i5, 4 gig ram)
-server location url (i.e. http://xyz.com )
The Web Server
The server contains the following settings
-Time slice. This is the N time frame to watch
-Application list. The list of applications to track (i.e. Verfier.exe, ie.exe, firefox.exe). The applications may be under different paths on each machine.
-Each application should have a default color or icon that we can attach (16x16 icon) for visual reporting.
Reporting is the most important piece. It is important to show stats for all machines relative to each other. We need to make sure if we are paying 16 people, we have 16 people with activity and not 8 people, working on 2 machines each.
All data from all machines should be logged and retained on the server.
Report1: Currently Active
Based on input in seconds, which machines have activity? This should be displayed graphically.
Based on input seconds (default 60 seconds), show activity across all machines. This should show overview of all users
Based on input minutes (default 5 minutes), show most active app for each time slice. This should show overview of all users
Based on how the app is developed, what is possible, etc. Expect that we will add 2-3 more reports to show various views of usage.
The overall mission of this project is to build a system that verifies if we are getting cheated in number of people that we are paying for. If you have any additional insight, we are open to it. The interface does not have to be pretty, just functional and stable.