TDOA User Interface Improvements

Geon has made significant improvements to the Time-Difference of Arrival (TDOA) project on both the front-end and back-end.

On the front-end, the user experience has been significantly improved. Visual consistency was added for mobile users. Additionally, terminal inputs have been enhanced so that the user no longer needs to run the server –g command in order to fill in information such as the number of receivers, whether or not the program is iterative, and geolocation guesses. These inputs have been moved to the UI for a smoother and easy-to-use experience.







A sidebar has been created to further enhance usability. The sidebar includes options to customize the visualization of the map. When the program starts the UI automatically centers the map; a new feature allows the option to re-center the map. For example, if the user scrolls away from the center and needs to return to it, they are able to enter the appropriate coordinates to do so. The user is also able to customize the map by adding features such as heatmaps and markers. Moreover, the user is also able to select from all of Google Maps views including, hybrid, terrain, roadmap and satellite. For non-mobile users there is now a listener for mouse hovers.







On the backend, the server parameters are made available to the UI. Newly-defined variables are assigned to server.py for use by the system. The backend uses request-handler and get_argument functions to get the name of input variables. It is triggered on the click of the “Begin Server” button. The new backend allows for using two different ports on the same host. One port runs the server and listens in the background and the other port opens the websocket to display the information. The improvements use page localhost:8000/p to get arguments (number of receivers and, if applicable, longitude, latitude, and altitude) and then send the arguments to the server.py function, run_server. Previously, main() in server.py was used to process all of this. This change allows for more robust code. The README file has also been updated to explain the new features.

There are still many ideas for future work on this project. One such idea is allowing the user to be able to restart the program directly from the front-end instead of the terminal. Another potential improvement is switching from a geodetic coordinate system to geocentric which would allow for more accurate TDOA calculations; however, this idea is hindered by the fact that there does not seem to exist an API which has this option.

Special thanks to Lucy for her hard work on this project.

Recent Posts

Ready for an exciting change?

Work with US!