Don't Pollute User Space

cynical programmer
Sheesh, they’re never happy - we should forget about putting it in “My Documents” and “Program Files”. Lets just put it back into C:
/cynical programmer

doh, it missed my “cynical programmer” tag

I’m a Linux user, and, umm… I’m not so sure you should be holding up Linux (UNIX) as an example of what we should strive toward. Here’s a listing of my home folder:

.adobe
.asadminpass
.asadmintruststore
.audacity-data
.bash_history
.bashrc
.beagle
bin
BOINC
.BOINC Manager
.cddb
.config
.DCOPserver_aerelon__0
.DCOPserver_aerelon_:0
Desktop
dev
.dmrc
Documents
.dvdcss
.dvipsrc
.eclipse
.emacs
.emerald
.esd_auth
.exrc
.fontconfig
.fonts
.fonts.conf
.foxrc
.gconf
.gconfd
.gimp-2.2
.gnome2
.gnome2_private
.gnupg
.google
.googleearth
.gstreamer-0.10
.gtk-bookmarks
.hgrc
.htoprc
.ICEauthority
Incoming
.inputrc
.java
.kde
.kde4
.kderc
.kermrc
.keystore
.lesshst
.local
logs
ls.txt
.m2
.macromedia
.mailcap
.mcop
.metacity
.miro
Movies
.mozilla
Music
.muttrc
.mysqlgui
.nbi
.netbeans
.nx
.ooo-2.0
.opera
.profile
projects
public_html
.purple
.qt
.realplayerrc
.recently-used
.recently-used.xbel
.rezound
.rhapsody
.rnd
.skel
.spamassassin
.ssh
.subversion
Themes
.thumbnails
.thunderbird
.turnpike
.urlview
.viminfo
.vlc
vmware
.vmware
.wapi
.webex
.wireshark
workspace
.Xauthority
.xcompmgrrc
.xcoralrc
.xemacs
.xim.template
.xine
.xinitrc.template
.xsession-errors
.xtalkrc
.y2log

Out of all of these folders, I think I created about 5 of them.

It’s nice that Apple provides the “Don’t pollute user space” guidelines, but of course, Apple itself violates this – iPhoto, iMovie, and a whole host of other Apple apps pollute my user space with their libraries and document folders.

This always bothered me on Windows too. Not so much on my Mac, with one exception: “Microsoft User Data”. Without this (application database) folder, my Documents folder is nice and tight, easily RSynch’d across the network or even VPN to various backup locations. However, spurning Apple HIG and common practice, Microsoft decided that this is the best place for it to put a bunch of configuration files and a honking monolithing Entourage email database (which obviously changes every time I check mail, so RSynch wants to copy the whole thing over again every single time).

Microsoft: these things go into [~]/Library/Application Support. That’s why that whole folder exists! Stop dumping on my Documents folder!!!

I think it depends on what you classify as user content. If a user saves a document from within an application, is that considered user content? Application configuration data should be saved in APP_DATA while files created by the user or on behalf of the user should be in the “user space”. So all those saved game files and OneNote notebooks are correctly located in the My Documents.

How is Apple cheating? Go with what works. Vista should have been UNIX based as well. :wink:

Hey Now Jeff,
Very interesting post. The folders that put there grubby hands my user space are 5 on this workstation:
Visual Studio 2005
MSDN
SnagIt Catalog
WebEx
PGP

Coding Horror Fan,
Catto

I actually like storing certain application specific files in “My Documents” because when I run my daily back up of My Documents I know I’ve got the latest files for all my programs.

The programs that don’t store files there I have to go through the trouble of backing them up to a folder called “Backup” that I created to make my daily back up easier.

I have given up on “My Documents” folder. I create a separate folder on drive root to store my documents just forget about “My Documents”.

SO right.

I loved to have my Documents folder clean, now it looks like every game will put some garbage in there (and not even into the My Games folder).

In the end, I’m going to have to create a separate user, something I’ve always hated (having to log off and on, or switch users in XP are concepts I don’t like).

I have used both Vista and XP and don’t like how either OS pollutes the User Space. That’s why I’ve just created my own “User Space” on a separate hard drive. Since I would only really find a need to browse directly to music, videos, and pictures under the User Space, I’ve just created those three folders on the other hard drive. That way, I only have to navigate to one of those three (and not constantly find new folders in that directory every time I look). If any applications I have create folders/files in the User Space, I just let them. I rarely find myself even opening “My Documents” or “Documents” and I love it.

I think the rule “don’t touch user space” is a wee bit simplistic. It’s a good starting point, and should be followed if there’s no legitimate reason not to - however, all too often there are legitimate reasons for applications to store information in what you define as “user space”.

For example, I’ve written a program that lets users manage camera settings, including saving them to file. The files are saved under a subdirectory of the user’s folder named “Camera Settings” - a folder my application creates, right next to My Documents, My Pictures, etc. This is no less appropriate than Microsoft Word saving documents under My Documents.

As always, logic, rather than cookie-cutter rules, should dictate the final outcome of any decision.

Ironically, I’ve compensated by moving My Documents to E:\ (using TweakUI), and repurposing it as the new Application Data, Local Data, etc folder. And I try to reconfigure my apps to store their data in E: whenever possible - it makes backup a little easier to manage.

F:\ is the new My Documents :wink:

And yes, damn Microsoft for ever setting “Documents and Settings” as an important system folder that can’t be moved (easily, or safely).

The same on Linux.

$HOME is so polluted that I have my own $HOME/room
for my things (ssh-shared on all my accounts).

It only gets worse.

The one I hate the most is “My eBooks”. Even if I delete it the first time I load up Adobe Reader it re-appears in My Documents.

I miss the days back in Windows 3.1 when there was no “My Documents”, “My Pictures”, “My Music”, etc… I could put my files where I wanted to put my files.

It’s too late, give up and go home. There’s already so much badly written software out there you’re just going to have to live with it. Introducing different file paths is just compounding the problem by adding a little more variation.

Don’t get me started on how many times I’ve seen people cry because when they backed up their ‘My Documents’ folder and reinstalled only to realise that none of their emails from Outlook are there as well as half a dozen other things.

Looking in c:\Documents and Settings\username* gives me the shivers.

Rules

  1. Don’t bother me with files that aren’t mine. If they were copied from the install, I don’t want to see them outside of the program.
  2. Try not to assume that only 1 person ever uses the computer.
  3. Make it easy for stupid people to back up things that are mine. Make your bloody program be able to pick up the old settings when i reinstall it to a new machine.

I have to agree with Mike. I periodically empty out MyDocs and use my own folders in c:\docs. Only special thing is to move Outlooks default pst and I’m set.

Pfffft

I hate the default setup in XP. So much so, in fact, that when I re-installed the OS recently I created my own structure. I don’t use the “My…” anything folders, or the “Program Files” folder. I absolutely hate spaces in directory paths. So, I created a structure like so:

C:/apps
C:/apps/program_name_here/…
C:/ben/work/
C:/ben/play/
C:/ben/music/
C:/ben/movies/
C:/ben/websites (I’m a web developer)

I don’t feel hidden .conf files in your home directory is a mess. Do you ls -l everytime your in there?

oh yeah and /home/user/ is a lot nicer than C:/Users/user/Documents

I fully agree with the message portrayed by this post, and I am glad you posted it. However, I am not so sure “User Space” is the proper terminology, as already pointed out in another comment. I would call it “My own effin’ chunk of the HD”, and it certainly should not be messed with!