Website download speed tester - support tool

IN PROGRESS
Bids
6
Avg Bid (USD)
N/A
Project Budget (USD)
$30 - $250

Project Description:
I'd like someone to create a single .exe program that can be downloaded from any of our websites.

When executed the program should download a specific file from a hard coded and changeable URL

The actual download time / speed excluding the initial tcp connection time should be recorded for the file download, so only start the clock once the first byte is received. I'm not sure how practical this is, I tried something similar before with a small file and the initial connection time could skew the results completely.

The downloaded data can be discarded - this is only to measure the download perfomance between the web server in question and the end user.

The app itself should allow the user to input their username and click the 'Speed test' button once the speed test has been completed the results in bytes per second should be posted to a pre determined php program - also hard coded into the app.

The results should also be displayed to the end user and then activate then a 'Close' button on the app.

Note - when the variables are hard coded into the app I would like to change them and rebuild this project so I can use this on as many different websites as I need.

I suggest declaring the variables in the form of

url = "www.website.com/speedtest/5mb.zip"
postbackurl = "www.website.com/speedtest/logresults.php"
lowspeedabort = "100" - this is KB/s
traceroute = "www.website.com"

The above url will be a variable sized file, I might use 1MB files, or any other sized file.

If the download speed is very slow suggesting some kind of network problem then it will be acceptable to abort the speed test and submit the results without forcing the user to wait until the entire file has completed downloading because if there is a very serious network issue where the speed is running at around 20 KB/s downloading a multi MB file will take a long time.

For example, 60 seconds into the test a current download speed can be calculated, if it's lower than the lowspeedabort value - which is 2-- KB/s in the above example the download should be aborted and the results submitted to the postbackurl.


The file size can be retrieved from the http header and a status bar can be displayed inside the app - we're talking about a small window here, all it needs is a title, somewhere for the user to enter their username, a 'Start Test' button and a 'Close' button which will initially be disabled until the test has completed.

Source code should be included along with compilation instructions to recreate the single .exe file - this is so I can change the website urls that the test runs on.

I know it's trivial for an experienced developer to make this program hence I'm looking for good prices.

The postback url should be called as a URL with variables on the end of it, like this :

http://www.website.com/speedtest/postback.php?username=clientname&bytesdownloaded=3736221&timeinsecond=174&bytespersecond=50184&aborted=no&tracerouteinfo=encodedtraceroute output

Of course aborted could = yes if the speed was so bad that the test was discontinued at the 60 second point

If there are problems adding the traceroute information to the end of a URL due to URL lengths then it can work as a http POST, it's not that important.


We are looking for ways to get accurate speed tests and traceroute information from the users on our websites and have them auto submitted with as little inconvenience as possible to the end user so we can monitor and make any improvements required.

I think that covers it all.

Any questions send a message.

No generic 'we work in this field' type of posts will even be considered.

Skills required:
.NET
Hire neilmcaliece
Project posted by:
neilmcaliece United Kingdom
Verified
Public Clarification Board
Bids are hidden by the project creator. Log in as the employer to view bids or to bid on this project.
You will not be able to bid on this project if you are not qualified in one of the job categories. To see your qualifications click here.