Filesystem Locations

Which locations to include in the user's home directory and in the Files sidebar?

Goals

  • Minimize the amount of file management work that users have to do.
  • Treat cloud storage as a first class citizen.
  • Provide a way for apps to access stores of certain types of content (music, photos, etc).
  • Reduce the need for apps to have access to the whole of the user's home directory.
  • Keep the home directory personal. It's the user's stuff and their space: they ought to be able to decide how it's organised.
  • Clearly differentiate between folders that are owned by the system, by apps, and by the user.
  • Ensure compatibility for apps that rely on existing predefined locations.
  • Allow migration for existing users using the existing filesystem schema.

Relevant Art

GNOME 3.30

Sidebar:

  • Recent
  • Starred
  • Home
  • Documents
  • Downloads
  • Music
  • Pictures
  • Videos
  • Trash
  • Removable devices, remote locations, bookmarks
  • Other Locations

Home view:

  • Desktop
  • Documents
  • Downloads
  • Music
  • Pictures
  • Public
  • Templates
  • Videos

Google Drive

Sidebar:

  • My Drive [equivalent to home]
  • Computers [devices with synced content]
  • Shared with me
  • Recent
  • Starred
  • Trash
  • Backups [list of backups from Android devices and apps]

There's no bookmarks in the sidebar and My Drive is empty by default. If the user decides to link their Google Photos to their drive, a folder called "Google Photos" appears in "My Drive", containing all their photos.

Windows 10

Sidebar:

  • Quick access [expanded by default, essentially bookmarks]
    • Desktop
    • Downloads
    • Documents
    • Pictures
  • OneDrive

    • Audiobooks
    • Documents
    • Music
    • Pictures
  • This PC
    • 3D Objects
    • Desktop
    • Documents
    • Downloads
    • Music
    • Pictures
    • Videos
    • OS (C:)
  • Network

The sidebar functions as a tree view - directories can be expanded/collapsed. The locations under "This PC" in the sidebar is what you see if you navigate to that location.

Other cloud drives can add themselves to the sidebar, alongside OneDrive. Dropbox works like this.

The folders in "This PC" can't be removed, although there are some tricks that allow you to hide them.

Mac

FIXME

Discussion

Some background discussion is in Nautilus GitLab ticket 577.

Possibilities for new XDG folders:

  • Audiobooks
  • eBooks
  • Fonts
  • Photos
  • Podcasts
  • Projects
  • Screenshots

A possible way to handle XDG folders in the future: only show Downloads by default. Other XDG folders can be created by apps or services. For example, the Public folder would be created when File Sharing is enabled, and the Desktop directory would be created if icons on the desktop was enabled. This leaves some questions, though:

  • How does someone migrate an existing set of data contained XDG directories to a new machine?
  • How would the Templates folder be created?

Another idea: allow apps to create their own folders inside the Home folder. These would be branded. This would codify something that already happens (Sound Recorder creates "Recordings" and Calibre creates "Calibre Library"), but could be done in a more secure and clearly labelled way.

A question: do we want to facilitate pooling of certain types of content? The obvious example is a 3rd party messaging app: images that are shared with you could be added to the photos collection, so they're available to photos apps. One possible mechanism could be ~/Pictures/AppName/.

Tentative Design

Comments

  • What kind of projects belong to Projects? School research projects where I put notes on my research? Art projects? Music recording sessions? Builder preempting this for code projects was a bit careless. “Code projects”, “Code”, “Sources”, “Source code” are a few variations that would be a better fit. -- AlexandreFranke

  • We haven’t used spaces in the names of XDG directories so far, but it’s 2018 and nothing is stopping us from doing it if that improves the overall experience. It works even on the command line so really, we should not hesitate to use it. (This means that the above suggestions of “Code projects” and “Source code” could indeed work) -- AlexandreFranke

See Also

Design/Whiteboards/FilesystemLocations (last edited 2018-11-04 17:50:46 by AlexandreFranke)