5

When implementing a typical "Save as..." menu item for a desktop app, what should the default directory be? Must I do something different on *nix, OSX and Windows or can I get away with the same for all three?

For example, say my current directory is "/foo", and I start a program with that as its working directory. I then open up "/bar/baz.txt" and do "Save As...".

I see at least four possibilities:

  1. the current working directory ("/foo" in this scenario)
  2. the directory of the original file ("/bar" in this scenario)
  3. the platform-dependent user data directory for the user (eg: "/Users/<me>/Documents" on the mac)
  4. have an application preference that lets the user choose (with the default value being one of the other choices)

I think the best answer is 2 (directory of the current file) for the application I am currently working on but I want to know if there's a standard specification I should be following. If you answer 4, then what should the default for that preference be?

2
  • If there's a logical folder like Pictures to pick from, like in Windows 7, please god use that. I want to vomit everytime I try to change my Skype picture and it opens my Documents library as a hard-coded default. WHY.
    – Ben Brocka
    Dec 31, 2011 at 20:30
  • Whichever way it is done, I would definitely suggest adding one thing as well: 'Set THIS as the Default' option. That way, you effectively pass the buck on the user for all time :)
    – Kris
    Jan 3, 2012 at 7:51

3 Answers 3

1

As other answerers have said always us the dir of the original doc for a "Save as"

For new docs:

  • If you provide a user preference of a data dir, always use that.
  • If no preference has been set, use the dir that was last used with your application.
  • If no "last used" dir has been established yet, use the platfrom dependent user data directory as a default.
1
  • +1 last used dir of your app, even Adobe gets this wrong some times and it's a huuuuuge time sink when it misfires imo ^^ Dec 31, 2011 at 22:20
3

I cant give you an answer from an UX perspective unless there is some user testing done to support the data but as a user,when ever I am making changes to a document and I want to save it ,I prefer to save it in the same directory ( i.e. option no: 2) to ensure that the relevant documents are present in the same location.

However I would recommend that you provide an alert message if a file is getting overwritten since that serves as a check mechanism to prevent accidental overwrites.

I would assume that this behavior of saving in the same directory as the source file will not be new to the user because its already well adapted by Windows and multiple applications and you would be only building upon that existing muscle memory.

1

Yes, definitely default to the same directory as the original file as that is the expected behavior after all the years of all other software doing it.

You can also bring the experience up a notch or two by defaulting the proposed file name to original-x.ext where x is a number 1 or greater (if there's a file with the same name already). So if the directory contains original-23.ext, the proposed name will be original-24.ext.

3
  • ,while I like the idea,but dont you think the folder would get cluttered up if people keep on making changes to a file? I agree it helps in versioning but if I have a large file,then it could get pretty expensive after a while
    – Mervin
    Dec 30, 2011 at 23:25
  • 'Save as...' implies creating a new copy of the file. Incremental auto-renaming prevents overwriting originals and saves time to those who are just making a backup copy.
    – dnbrv
    Dec 30, 2011 at 23:28
  • Agreed,I was just thinking in terms of large image files so I guess I got sidetracked on that thought process :)
    – Mervin
    Dec 30, 2011 at 23:32

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

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