The first thing Tesla needs to do is put some better error messages in the app. When it can't connect to the car it could be a bad phone connection to the internet, the Tesla servers could be down, there could be a bad internet connection to the car, or the car could be asleep or otherwise not responding (or there could be a bug in any of the software pieces along that path). "Can't connect" gives no hint about what might be wrong.
The connection to the car is really hit-and-miss. In the past week, I've seen many instances of "can't connect", "waking car" (even though it's not sleeping), "turn on Always Connected" (even thought it's on), or just spinning. It often takes 10-15 minutes and several app restarts to do what I want to do - check on charging, turn on the heat, etc. I'm sure some of the problems are internet connections at one end or the other, but it's really not the slick user experience they were shooting for, because connection issues look like a broken app.