Speed Test App
PTA speed test application helps users check their internet speed and experience (internet speed) they may have with their operators. It can also give user’s quick confirmation of the max speed they can achieve from their respective operators. Users can use this app to ensure if they are connected to the internet. The application logs the network preference mode and the operator of the user which can educate the users to understand and differentiate among other operators. Having any speed related issue, users can give their feedback which will help the operators to understand their governed issues. The Lat/Long logged can assist to identify the strong and weak spots for the operators and developers.
- Users can stop the ongoing test.
- Speed test details are stored in database and can be viewed later in Log tab.
- Test history can be saved in phone storage in csv format.
- User can delete all the previously conducted test's history
How it works:
- It checks availability of location service and internet connection. In case services are disabled, app prompts user to enable services for accurate results.
- It also check network connection type i.e. either 3g, 4g, LTE or Wi-Fi internet.
- Depending upon the type of internet connection and the estimated maximum speed it can provide, app decides the size of file to be uploaded or downloaded to/from the server.
- Separate threads for ping, upload and download are executed.
- Thread Start and end time is properly calculated.
- Within the time frame app send and receive data to/from server and calculate the speed (bytes per second).
- After the thread complete its calculation, final values for ping, upload and download are displayed to the user and saved in log for future use.
- Measuring the time it takes to get a response for a http request sent to the server.
- It is repeated twice with the lowest value determining the final result.
- Based on the internet connection type, one of multiple file sizes is selected to download from server.
- Data packets are received and calculated as bytes per second.
- Based on the internet connection type, file size is decided for upload to server.
- Data bytes are pushed to the server via POST request.
- Packets are sorted by speed, and the fastest half is used to determine the result.