[[!tag rant]]

GNOME, and GNOME apps, and I expect other graphical desktops, want to usurp parts of the home directory name space. I detest that.

For decades, in Unix, it's been the tradition that in the home directory, programs may use dot files for their configuration files, saved state, and so on. The rest of the name space in the home directory belongs to the user.

Graphical desktops violate this. For example, in GNOME in Debian and Ubuntu, when you log into a fresh account the first time, several directories get created in your home directory. Applications then assume that they can use directories of those names.

This meant that when F-Spot found a directory called Photos in my home directory, it assumed it could use it as the place to store photos I manipulate with it. This violated my name space in rather graphic ways: I had been using Photos for years for completely unrelated things. F-Spot got confused and, if I remember correctly, segfaulted. I got confused and uninstalled F-Spot. (To be fair, this was years ago, and F-Spot has been fixed since.)

This kind of stuff is going to happen more and more. There's Public for things that are automagically shared with the world, via whatever protocols. Ubuntu is going to add Private, as a per-user encrypted directory, which gets virtually mounted via some mechanism when the user logs in.

These names are chosen to be clear, user-friendly, and generic. They're also the kinds of names many people already use. What's more, the names are insufficient indication that magic things are going to happen if something with that name exists. If you remove ~/Private, and then later create it, something or someone is going to get confused.

Many of these names are automatically translated to the user's langauge. As a result, on one computer, I have them in three languages: I have tested several languages, and moved the home directory around across several computers for a few years now. Worse, one of the langauges has the directory with two different names, since they changed the translation.

Worse is the fact that these default directories suggest bad ways to arrange one's files. For example, they suggest that files should be stored based on their type: music in ~/Music, photos in ~/Photos, videos in ~/Videos. Next I guess we'll have ~/Text for text files, and ~/Cats for any files that are about cats.

I think this is insane. It's time to stop it.

Such magic directories should go in some magic place. The ~/.local directory tree seems suitable. For GNOME, Nautilus can then treat those locations in a magic way, the way it treats connections to servers.

This would let people retain control of their home directory.