
On 10/26/2010 10:37 AM, Stewart, Robert wrote:
Let me try making my points again, while incorporating subsequent ideas as well. My Documents is a default location for various kinds of documents.
There are marginally well-defined rules for how an application is expected to behave WRT Windows directories: http://www.microsoft.com/downloads/en/details.aspx?FamilyID=88AD7E7C-4068-48... http://www.microsoft.com/downloads/en/details.aspx?FamilyID=27028822-b172-4c... E.g., MS:
Windows Vista provides a specific hierarchy for application developers when storing application data within the user’s profile. The C:\Users\<username>\AppData folder is further subdivided into the following three discrete folder paths: AppData\Local folder for storing computer-dependent data AppData\Roaming folder for storing computer-independent data AppData\LocalLow folder for storing low-rights integrity data When storing per-user application data within the user profile, you can u
Note that these refer to "application-managed data" and not "user managed data" and none of them are either C:\ or "My Documents". MS:
When reviewing all the data your application creates, you should have a clear separation between user- managed data and application-managed data. Applications should not create application-managed files in the profile root as that can cause unnecessary clutter. This type of data should be stored below the AppData folder within the user’s profile as described earlier.
This distinction is not present in unix, so there's no direct translation of the concept of "home directory". ,In any case "<username>\Documents" is not appropriate for the kind of thing that Boost is likely to be used for. Only the user can choose to put a file in his Documents folder, so possibly the only reference a program should have to it is the default folder for a file->save dialog box. Yes, MS's own programs break this rule. As for "C:\", MS:
An application should not create files or folders at the root of the system drive and should use the folder structure as described in previous sections to store their program and software components, application data, and user data.
On 10/26/2010 10:37 AM, Stewart, Robert wrote:
Windows users are notoriously naive because they come from so many walks of life, so it is common that everything be dumped in one place. Under earlier versions of Windows and DOS before that, users often dumped their files in the root directory of C:. Thus, My Documents is a way to force stupid^H^H^H^H^H^Hnaive users to dump their files in a less hazardous location. POSIX system users are typically less naive, though one reply mentioned the poster's wife as being in that class.
Windows did not have a defined location for the user's files until about 15 years ago, but now it does. MS admitted that they chose the names "Program Files" and "My Documents" at least in part to force applications to handle directories containing spaces. Some programs still work better with shorter paths and paths without spaces. But new top-level directories will normally inherit permissions which are inappropriate for a secure multiuser system. It's as simple as that. We can explain it without bringing in opinions about the relative competence of users of the two systems.
[...]
My conclusion is that Filesystem should not provide a My Documents type directory unless there is an obviously good choice on the current system.
+1 Can we please not let the "one of the most highly regarded and expertly designed C++ library projects in the world" get wrapped around the axle with endless discussion of details about Vista vs Mac vs Gnome? - Marsh