Category : Android
The Thermal Map has gained traction in the paragliding community. The well-known German blog Lu-Glidz has written an article explaining how to use it. Usage of the website has peaked after the article was published and there continues to be traffic all of the time. In addition, Lucian and I recorded a podcast about the topic and cross-country paragliding in general.
Unlike in the beginning of this year, I am quite busy now. Therefore, I can not invest much time into improving the Thermal Map at the moment. Nevertheless, some improvements are implemented from time to time. You can see the latest updates on the Thermal Map description page.
A Noteworthy improvement is the option to use arrow keys for changing the height and time. You can now press the UP and DOWN arrow keys for changing the height in steps of 100m. Pressing LEFT and RIGHT moves the time one hour backward or forward.
Another database update was done today including the latest DHV XC flights.
A lot more can be done to improve the website. For now, I will focus on quick wins only because of time constraints. One question that has been asked a lot is
Can I use the map in-flight?
And this is definitely possible. Personally, I am using a modified version of the map as a widget in XCTrack:
It has not been opened for public use for two reasons:
- It is unclear how well it really works in real conditions
- The regular updates create a high CPU load on the server and would overload it with many users in parallel
After using this setup for a few flights, I can say that it works in general. There were some problems related to my mobile data connection, but the website is a helpful addition to XCTrack. Even though the Pin in the screenshot says “Move me”, of course, it is automatically updated with the current GPS position.
The other issue is a bit harder to address. Last weekend, we were two pilots with 2 active maps each, one for thermaling and another for traveling, flying for a few hours. The CPU load on the EC2 instance went up to 22%, which is acceptable but already above the quota of the burstable instance I am paying for. We are currently not allowed to fly in the big hotspots like Bassano or Kössen, where each update will take more time to calculate.
So it is a problem that can be solved by paying for more and/or bigger instances or by further improving the data structure and algorithm. As this is a hobby project and will probably never make money, I am not willing to pay more for server costs. That leads to the second option of performance improvements.
There are several options available. The best way would be to initially download more data points to the client and move more of the calculation from the backend to the client-side as well. It would require fewer backend requests and at the same time allows for updating the view more often. The only downside is the effort.
Maybe I can find server-side improvements that bring down calculation times by a factor of 5 or more. The most likely candidates are the database hash and a smart caching of recently retrieved data points. Such improvements should work especially well with many pilots flying in the same area.
There will be an update on this page when performance has improved enough to make the live map publicly available. Until then, wishing you great flights and always safe landings.