Don't Pollute User Space

User space is already used for something else in CS / software engineering (kernel space / user space, different CPU address spaces in process / kernel interaction). Use a different phrase, Jeff.

Not being a Vista owner, it’s kind of nice to see that the new operating system has for the most part done away with the spacing in the names. As someone mentioned above, removing “My” along with no spaces(with the exception of Saved Games), is refreshing to see.

This isn’t really such a hot topic for me, as I sub everything from My Documents or from eleswhere, such as someone else mentioned - that is, if I’m actually in windoze. But 99% of the time I’m on Linux… where life has been beautiful for almost five years now, and steadily improving on top of that.

Jeff actually just posted an entry on the User Space/Kernel Space thing, so I’d agree, I think he knows the difference.

It is annoying that apps take over the My Documents folder with utter abandon and this article will make me think a little more about the handling of external data in my apps.

It is also important to note that the way the vast majority of applications store data in OSX makes it incredibly easy to add and remove applications! Every time I am on a Windows machine and I have to go to add/remove programs I cringe at how long it takes to tell me what is on my machine. It also pisses me off to no end when I am told I cannot remove something from my machine and I am the Administrator. Or that the application is already removed and Windows just didn’t realize it or some random trace is left on the system.

This year, the ridiculously long folder names with spaces! Next year, the Registry!

Ugh, don’t get me started on *nix .program_name configuration files. If only someone way back when had decided to have a ~/conf/ for this sort of thing, I wouldn’t have to trip over a mass of .foobar files and directories every time I browse my home directory.

(Yes, you can hide them, but then what do you do when you actually want to see them besides hunting around in configuration dialogs to find the checkbox to make them visible again?)

What Jeff has referred to as User Space I consider temp directories; I do not believe in storing data, personal or otherwise on a boot drive. Learned that the hard way when I had to restore a ghost image due to some corruption and lost data. The save paths and templates for Visual Studio and Office point to secondary drives.

But I do agree with the sentiment that third party apps should not be polluting User Space, regardless of where it’s located.

Agreed,user space shouldn’t be polluted with application data.But what if the data been put in “my documents” by the apps are actually user files eg saved games,saved projects(visual studio).you would agree these examples qualify as the user’s files (why? He/she created them.).think about it.

User space is the location in the filesystem where users put their personal files-- their “stuff”.

And i think you should append that definition with the phrase “directly or indirectly”.

Hallelujah, brother. Just the last few days I’ve been cursing a few applications that broke this cardinal rule.

Despite Apple’s stern warning to the contrary, I already have a few invaders in the Documents folder of my fresh Leopard install. In my case it’s ‘RDC Connections’ (Microsoft’s Remote Desktop Connection) and ‘Virtual Machines’ (VMWare Fusion). They both bug me. What’s more, I don’t believe there is even a setting to control this in MS RDC.

In the case of VMWare Fusion, however, I can sympathize with the purpose: the user does create the virtual machines, and has the option to put it somewhere else upon creation (or later for that matter). Furthermore, virtual machines can be downloaded, lending themselves to a ‘user created file’ like treatment. A strong case could be made, then, for storing these in Documents, but I’m in favor of the App Data convention since I will almost always be accessing these files through the program itself, and not via browsing.

One last thing, thanks for a great blog!

There are things that annoy me when developing for Unix/Linux systems (the moving C++ ABI comes to mind…), but this is one thing that I really appreciate: a recognised standard for where things go.

Any files that the application needs, but in the normal course of things, the user shouldn’t have to edit go in /usr/share/whatever. Files that the user creates with an application, that they don’t directly save and load go in a hidden file/folder in the users Home directory (which is accessible with just a ~ character, thank God).

I didn’t realise anybody actually used the ‘My Documents’ (or similar) folder within Windows OS’s. I’ve never used it. I have a dedicated HDD with folder names specifically for managing MY files. None of them are named ‘My Music’ either. Just simply ‘Music’.

My sister has a folder on this PC with her name as the name of the folder. She has her own separate ‘Music’ folder in there also.

Ok, a cheap dig at the ‘My X’ naming convention… but a dig none-the-less. I get personally annoyed when apps save files to the My Documents folder without asking WHERE I want to save files to.

I’m looking at MSN in particular - which defaults to this behaviour. Firefox also. Default behaviour should be to ASK where a user wants to save their stuff… not just slammed into a random directory inside My Documents.

The problem is as Kevin Dente above states that there is no good place to store user accessible application data that gets installed with an application.

Linux works because its users understand folder structure and where to find things whereas your average Windows user believes the only two places documents reside are on the desktop or in ‘My Documents’, anything else is voodoo for most people. For example one of our applications ships with end-user specific document templates and we tried placing them outside the ‘My Documents’ space and we heard no end of frustration that people couldn’t find the documents and that our install was broken. So, back into Documents they went and everyone was happy.

So while you (and me and other nerds) may like a nice, tidy, clean, organized folder structure most actual users of software tend to want everything in one location. I mean, you have seen most business users desktops right?

(Shawn Oster) So while you (and me and other nerds) may like a nice, tidy, clean, organized folder structure most actual users of software tend to want everything in one location. I mean, you have seen most business users desktops right?

Yes, I’ve also sat there and watched while they try to find anything on their desktop too :slight_smile:

It seems like a small gripe, as I’ve grown accustomed to ignoring “Documents” for this very reason, but when I think of the things about using Windows that get on my nerves the most, this is the first thing that comes to mind.

I never store anything important in “My…” folders.
Once i wanted to do clean install over existing Windows installation because i couldn’t boot anymore. Installation told me: "Your Windows, Program Files AND My documents!! folders will be deleted. From then, i keep only temporary files there, and that only because some programs defaults they save dialogs to My documents folder.
So, any app can feel free to pollute it, i don’t care.

No PG-rated words can explain strongly enough how I feel about this issue.

This is my documents folder:

3dsmax
Adlm
Adobe
AdobeStockPhotos
Architecture Journal Reader
Bioshock
Documents
Downloads
EA Games
Expression
Fax
Fiddler
FX Composer 2
Halo 2
Hitman Blood Money Demo
maya
My Art
My Chat Logs
My Demo
My Games
My Received Files
My Saved Spaces
My Sharing Folders.lnk
My Virtual Machines
My Web Sites
Notes
OneNote Notebooks
Program Data
RCT3
Remote Assistance Logs
Scanned Documents
Small Business Accounting
SQL Server Management Studio Express
Updater5
Version Cue
VirtualDJ
Visual Studio 2005
Visual Studio 2008
Visual3D Worlds
World In Conflict - BETA
XamlPad_Saved.xaml

The folder I’ve entitled Documents is my REAL documents folder. The Downloads folder was created by uTorrent, which can’t even figure out that Vista already HAS a Downloads folder.

And for some of these (surprisingly fewer than you may think) you CAN change the path, but I can’t be bothered - easy enough just to DITCH the folder altogether.

ARE COMMERCIAL SOFTWARE DEVELOPERS (including Microsoft, who commit this crime frequently) listening???

And in regards to the “My Websites” folder Expression Web creates and Projects folder for Visual Studio. I DON’T LIKE THIS. I have my own PROJECTS folder for ALL my projects. Get the f**k outa my Documents folder.

There should be a law against this NOW.

In response to: “So while you (and me and other nerds) may like a nice, tidy, clean, organized folder structure most actual users of software tend to want everything in one location. I mean, you have seen most business users desktops right?”

Not true. All the casual users I know (family, friends, client’s and their employees) like to CHOOSE where they put their stuff. Organisation is NOT only valued by nerds, in fact, by the look of my desk, it’s valued less.

The desktop is a strange space though… I’ll admit to having never seen a clean one other than my own.

I totally agree with you.

It is so annoying when apps put folders into my ‘My Documents’ folder.

Currently, I have the following, all set to hidden to I dont have to see them:
*Aptana Studio
*My Virtual Machines
*My Webblog Posts
*My Sharing Folders (just a shortcut)
*Adobe
*My Chat Logs
*My Received Files
*My RoboForm Data
*EA Games
*My Downloads

Its just a real pain to have all these folders clogging up my daily routine.

Well, as the “user space” is the only space the user is (sort of) guaranteed to have write access, where else should I store user and application specific files?

Save games are the perfect example here:

Storing save games in the installation folder (C:\Program Files…) can’t be it, because firstly I am usually running those as restricted user (so I don’t have write access) and secondly the PC is shared with the rest of the family (I don’t want the little girl to overwrite my personal save games).

Thirdly, I want to be able find it. So, would

C:\Documents and Settings\Users\User Name\Local Settings\App Data\Company Name\Application Name\Save Games\

really be the right location? Especially because that’s a hidden folder?

Think about that.