Nautilus File Browser: per folder view

I am a long-time gnome and nautilus user.

File browsing and basic manipulation (list files/change directories/copy/paste/move) is a fundamental aspect of an operating system–and nautilus provides a GUI for these basic functions, with the primary differentiation being the graphical interface (when compared to command line utilities). However, one thing that consistently slows my workflow and is detrimental to my UX is in this graphical interface: how nautilus only allows for a global file/folder view, at the application level.

I am a user. I do not think in terms of technical file layout as I may when using a command line. Even though technically, all files and folders are “objects” and are equal in that sense, the contents of the files is how I actually categorize and use them in a graphical application. And like human language or thought processes, this can be fluid and multi-faceted.

For example:

  • When I am trying to find a “long term” file to open, I sort alphabetically in a list. Visually, this is the easiest and best experience for me. Examples: a document that I’ve spent days or weeks editing in my Documents folder; or finding a song in my Music folder.
  • When I am trying to find a “short term” file to open, I sort in a list…but by date, with my most recent files on top. For example, when I download a file into my Downloads folder, with the intent of immediately opening it.
  • When I am trying to find a specific image or video to open out of hundreds from my camera, I use thumbnails to visually identify which file I want to open. Sometimes, I also use this method to hone in on songs that have a thumbnail preview attached, such as an album cover.
  • It is only occasionally that I will change this view for each folder type. For example, occasionally, I may delete files to free space–and I may start by going to my Downloads and sorting by size or date to find candidates for deletion. This is rare (~monthly-yearly)–I am much more likely (daily) to want to sort Downloads by date. And my sorting of Downloads on this cleanup occasion does not affect how I want to view my Documents. These occasions do not bother me, because it is trivial to change view–and notably: changing view is something I will have to do anyway for these occasions.
  • When I open two different instances of nautilus, I do not want toggling the view in one instance to affect the view in the other For example, I might have one instance opened to Pictures where I want to view thumbnails (in order to attach to a document or presentation); and another instance opened to Documents where I want to view an alphabetical list (in order to insert text excerpts into a document or presentation).

Notably: this is subjective and sometimes circumstantial.

This combination of type and usage drives the view I’d like to see–and this combination is already inherently coalesced in the concept of folders. Because folders collect files that have some type of cohesive relationship, whether it’s “pictures” or “things I downloaded”–and I naturally treat these categories of files (~folders) differently.

My expected, intuitive UX behaviour for a file browser would be to make browsing files easy based on the nature of the folder, rather than a single system-wide view based only on the fact that they are files.

~~~

There are several potential solutions:

  1. Remember the view per folder last set by the user
  2. Allow the user to set a default view per folder
  3. Provide a default view for preset folder types (eg. Pictures)

And any of these could be optional and off by default–changing view is already an existing feature.

~~~

One method would be a toggle in nautilus preferences; and an associated configuration file could store view configuration by folder name.

An alternate method would be having a toggle in preferences to respect per folder view override; and then allowing an optional hidden file to be placed into each folder that defines its default view (list or thumbnails) and sort type (date, name, etc)–similar to how creating a .hidden file with named folders can hide those folders from displaying. This way it can be easily and intuitively toggled on/off; and only “power users” who manually place a file into a directory (and those directories with this file) will be affected.