I'm modifying a legacy application that can export data to a file. Currently, this process is really slow, but indirectly gives a visual feedback of the progress (it updates the UI from inside a for loop). Simply commenting out the UI code in the loop speeds up the process by an order of magnitude. It's nice, but it's still slow (seconds instead of minutes for a 300kb file). The users do not want the UI to change, nor want any additional dialog windows, but want the application to be faster. This leaves me with 3 options:
- Optimize what I can and keep updating the UI: users wait for 3 minutes but can see the application working "real hard".
- Same as before, but only update the UI once every few iteration: users wait for about 1 minute but it "looks slower".
- Disable the UI update code: users waits for 15 seconds but the application looks frozen
Which one should I pursue for the best User experience?