Regarding issue 3 above, does the Tesla API allow access to speedometer data. If so, that could be used in lieu of GPS. I suppose Tesla could be using GPS to display speed on the left side if the center screen?
The app works by requesting GPS position from the browser via Javascript. This used to work very accurately until Tesla release the v9 software. Ever since then, the GPS data is very quantized and inaccurate. This results in varying heading and speed displayed in the app.
I have not yet found a way to compensate for this or get the old, accurate GPS data from the browser. The Tesla API does have accurate GPS data, so I could read the GPS data from there and it would smooth things up again, but there are several disadvantages to this approach:
1. There would be a delay in getting the data because that has to be requested over the Internet, and the car has to send the data to the Internet as well.The displayed speed and heading would lag behind the actual speed and heading by quite a bit, probably at least 5 seconds, maybe more.
2. My app would have to request your Tesla login so that it could access the API for your car. Many people are uncomfortable with that, and I'm not keen on accepting the responsibility for handling sensitive data in my app.
3. I'd have to build a new UI for gathering the Tesla login from the user, and since my app intentionally does not use cookies or store data on any server, I'd have no secure way to store the Tesla login between uses of the app, thus the user would have to enter it every time.
4. The app currently will work even if there is no Internet connection in the car, which is important if your on a road trip out in the middle of nowhere. The wind data may be old, but the course and speed will still work. Getting GPS data rom the API means that the app would no longer to be able to do anything without an Internet connection.
I have wanted to speak to the guys who do A Better Route Planner and TeslaWaze, as they may have found a way to get the accurate GPS data, but I have not been able to get in touch with them.