Currently, there’s no direct visible effect of tapping the refresh button, especially when the bus locations haven’t changed; the only visual feedback is the automatic deselection of any currently selected annotations (which in most cases is in fact a bug) and a slight flicker of the annotations. We should add an artificial delay of, say, half a second before actually querying the remote API, during which the refresh button is replaced with a progress spinner. (In most cases, the entire API request and response flow occurs too quickly for it to be effective to display the progress spinner just while the network operation is ongoing.) This will make the user feel like “something is going on”, thereby enhancing the sense of direct control.
Currently, there’s no direct visible effect of tapping the refresh button, especially when the bus locations haven’t changed; the only visual feedback is the automatic deselection of any currently selected annotations (which in most cases is in fact a bug) and a slight flicker of the annotations. We should add an artificial delay of, say, half a second before actually querying the remote API, during which the refresh button is replaced with a progress spinner. (In most cases, the entire API request and response flow occurs too quickly for it to be effective to display the progress spinner just while the network operation is ongoing.) This will make the user feel like “something is going on”, thereby enhancing the sense of direct control.