My goal is to create a download estimator using JavaScript and Ajax. I have searched Google and Stack Overflow for existing implementations, but most involve asking the user for their bandwidth and then calculating the estimate based on that input. While this approach is useful, it often lacks accuracy.
Instead of relying on user input, I want to use Ajax to request file sizes between 100KB - 200KB and calculate the download time based on that information. However, this method raises questions about network conditions, packet formation, proxies, and other variables that may affect accuracy. Despite these challenges, I am determined to pursue this technique.
I am seeking input from others to improve this approach through discussion. Is it possible to determine the user's bandwidth without directly asking? What additional factors should be considered to enhance the accuracy of the estimation?