Question

Something I've wondered about for a while now and would like to get a general opinion on:

Advanced apologies if this has been asked previously, I did a search and couldn't find anything similar. This question is related to questions like, "Correct location to save a temporary file in Windows?" , but not quite the same.

I've noticed over the years spent with Windows, from XP to Vista and now to 7, that the 'My Documents' directory has slowly turned from being a place where you're encouraged to place personal 'stuff' into a dumping ground for any junk any random application wants to store.

For example, if I look now at the 'My Documents' directory on my work xp machine, there are folders for Adobe, FX Composer, Maya, Processing, Visual Studio 2005/2008, Visual Studio Samples, Window Clippings, Evernote.... the list goes on and on.

In fact, the last thing that I'd ever use that folder for now is storing my 'stuff' - the very thing it was intended to do. I personally find storing my actual documents in there, along with these random application settings too disorganized and painful to sort through. Plus there are added headaches with backup software etc... The signal to noise ratio just becomes appalling.

Lamenting aside, I now find myself in the position of writing some code where I want to store some settings related to my application. These settings ideally should be 'global' (our software gets regular updates), so storing them in some Program Files directory that's likely to be ephemeral won't work. While settings themselves could be stored in the registry, what about backup files, compressed archives, samples, etc etc...

So really what I'm asking is, what's the right solution for this situation? Do I follow the crowd and use 'My Documents' as a dumping ground? Is that folder a write-off anyway, or am I adding to the problem?

Do you use 'My Documents' as a storage area for your applications? Do you share my frustration with all the junk that turns up in there?

The users of my software are semi-tech-savy, so would probably understand it's just a directory like any other (and so could handle it being elsewhere) - but I guess Aunt Edna isn't going to understand that, so does the answer depend on context?

Thanks in advance!


Edit:

Thanks for the suggestion of %APPDATA% - I guess this is fine for application settings and files that shouldn't be exposed to the user, but what about files that might be useful for the user to move/manage themselves? Is My Documents the only solution or should I still stick to %APPDATA% ?

Was it helpful?

Solution

Just make this configurable at install time, and later by the user. Ideally give them just two choices, one being My Documents and one being APPDATA.

Make APPDATA the default but do allow this to be easily changed at install time for enterprise admins who want everything in the My Documents folder which is automatically archived.

OTHER TIPS

If these are application-private files (i.e. not user-visible documents) then isn't this what the %APPDATA% folder is for?

Not a good idea as a 'dumping ground', but it simplifies backup, for a start.

In my workplace, users' My Documents folders are all on a network drive for ease of capture by an automatic backup system.

Just because applications are dumping stuff into "My Documents" doesn't mean they should. At the very least, if you need to dump things there, then make the folders hidden. Really, you should use %APPDATA%.

I'd say that Application Data is the place to keep settings etc., whilst My Documents (possibly in an application-specific sub-folder) would be the default place to keep output data files produced by your application.

Having the latter configurable via your installer / application settings dialog would be the nicest all-round solution.

How about following the unix/linux tradition of storing it under ~/.app_name? Just make sure it's hidden, and ~ could be the "My Documents" folder

In any of your library windows ( documents music video etc... )

just click the locations menu ( on the left side of your document pane's menu opposite the right side of the pane which contains the other menu: the folder drop down menu, for folder types )

it will be called locations or if you already have more than 1 location the menu will be called: Includes: n locations.

Just click that location menu and you can add as many document directories you want. You can change the order so your specified directory is the primary viewed documents folder. ( And you can choose the default save folder to be the original folder. applications then dumped to the original default location, leaving your primary location pristine )

However in some navigation windows all the locations are viewed together as one huge documents folder. ( although messy you do have the advantage of navigating all those locations at one... so I suppose those search window prompts make sense? )

You can set a system env so that Maya will use your clean primary custom documents location instead of the default save location. in the system properties control panel's advanced tab: create/or edit a system variable for...

MAYA_APP_DIR E:\myCustomDocs\Maya

( I use a different fast hard drive to save on my SSD system space. )

For added flexibility look up setup of hard link soft links and symbolic links! where directory pointing as simple as:

mklink /J [old location] new location

Gives you alot more options and power!

Hope that helps?

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top