There is a program which downloads a bunch of data, generates something like a report/save file from this data, and saves it to disk.

I guess the best user experience with saving the data will be the following: the data is handled internally , just like any common program (word processor, graphic designer, text editor) does it, and the user has to specifically "save"/"save as.." it to the disk. When the program is exited with any changes which were not saved, a dialog box would pop up, asking the user whether they wish to save.

So far so good.

However, the predecessor of this program did not have any save dialog, it just had one singe file. When the downloading process was complete, it saved it to that file. The user then had to copy/rename that file manually outside of the program. So now, if I implement the saving system as described at the beginning, most users would wonder, after the donwload+processing was done, where the file is. First when trying to close the program, or navigating to the File menu would they discover that their data needs to be saved, and this might be a bad experience, "huh, the data was not saved?". Note: the expected user demographic of this program is quite old.

What are the most important issues to be considered here? I'm thinking of the following alternatives. Are there any better ones?

  1. Do as most software does it. Save only when the user explicitly clicks on "save", ask about saving when exiting if there are changes to be saved.

  2. When the downloading and processing is ready, pop up the "save as.." dialog. Do this only if no file has been saved. This means, if the process is started again (can happen often, by selecting different settings and starting the process anew) the "save as.." dialog is not necessary, as we already have a file name. 2a. now save it automatically. 2b. not save it, it will be asked at the end anyway. (this is the solution which I personally like the best)

  3. The "save as.." dialog is opened at the beginning when the user starts the process. Only after specifying the file does the process start and saves it automatically at the end. The advantage vs. Solution 2 is that because the process can take a long time, users would leave the computer, and return assuming everything is finished (just like the very old predecessor of the program did it)


A lot of what makes the most sense here is going to be determined by what your users find the most intuitive. As you say they are an older group, and so UX testing with them becomes even more critical (as it diverges from the average user more often).

That said, I would consider a fourth option: Save the file as a different name every time you download it by having a "Base name + timestamp". This is how the Mac OS handles screenshots for example.

enter image description here

You could then give a "save as" dialog whenever someone tries to save the file the first time so that they are then explicitly giving it a name. If not, all the original files are still available if they need to go back and browse them.

  • 2
    I like this. Don't ask people to think of names for stuff unless it really makes sense for them to do so. Timestamps also help figure out what's what later on. Also, browsers tend to be pretty good at telling people stuff is being downloaded, so there's not really an advantage to having a save-as dialog if downloading is already the expected behavior. – Koen Lageveen May 27 '13 at 20:13

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.