If you've ever used a computer then you're likely familiar with the concept of folders. They're buckets that allow you to organize groups of files or other pieces of content together into a collection.
As a metaphor, folders have existed since 1958 and are directly modeled after the file folders used throughout the corporate world. They've achieved ubiquity in computing and they are present on every major operating system.
Depsite their ubiquity, folders are often a horrible concept for organizing groups of content into collections. Instead, other methods of collecting content should be pursued.
Why not folders?
From the user experience perspecitve it often doesn't make sense to group content into folders. There's a lot of mental baggage that goes with folders, things like:
- They are typically sorted by name (label) of the content. There could be other sorting method, but this is the main one.
- Through years and years of training and repetition it is assumed there is a hierarchy that can be nested infinitely.
- Folders lack discoverability. People are generally not great at organizing things, and with the freeform structure of folders this can become problematic.
- Folders don't necessarily map well to content stored on the web. A lot of things simly don't match the files in folders metaphor.
- Folder is an incredibly generic term. It could be used to organize anything together. Even if it's actually acting as a folder, using more specific language makes sense.
Perhaps most importantly, folders are generally an implmentation issue that stems from the directory structure of modern operating systems. They aren't designed for humans to make easy use of and understand, they're designed to efficiently organize files on the computer's filesystem. It's a bad idea to expose what is effectively an implmentation detail to users.
Tearing it Down
Let's look at a couple of examples. First, LastPass. LastPass is a product that manages passwords and allows you to save randomly generated passwords for all of the websites that you visit. It's a great application, unfortunately the only real way to organize the password for all your sites is into folders.
Beyond the less than stylish presentation, it's unclear how saved passwords cleanly map to files that are stored in a folder. There are also default folders already provided. However, the defaults are not actually set apart from the user created folders (if you haven't guessed the default folders are recently used and (none)). The default groupings should be set apart, especially since they're not actually folders, they're filters on the entire set of stored passwords and should be indicated separately.
Instead, there a couple of good potential metaphors:
- Lockers or lockboxes, which separate stored passwords. LastPass already calls the password storage location The Vault. Sticking with this language and style would make a lot of sense.
- Password Groups, this could also be used to segment permissions when sharing passwords in an organization. The language for it is nice and clear, it's difficult to misinterpret what a password group is.
Next, let's take a look at Google Anayltics.
In Google Analytics we again see the folder strucutre. First, it's used to group together a set of sites. Then there are folders for each site in particular before finally going down to the site itself.
There are a number of issues here:
- There is little sense in showing a folder that has only one item. It just adds to the clutter without providing anything of value.
- Again, it's unclear how groups of web properties being tracked with Google Analytics map to the file and folder metaphor.
- Unless you have analytics for a huge number of web properties, this level of organization is unecessary.
Instead, Google Anayltics could organize groups of websites into collections. Or it could allow for easy filtering and searching. The ability to star (pin) particular properties is already provided. This in conjunction with filtering and searching could provide a good way to get to the properties you really care about. Better yet, this would mirror the main interface Google provides for almost everything, search.
The Path Less Traveled
Depsite being ubiquitous, folders should be used with great caution (especially in the web and mobile context). Instead, reaching for sensible metaphors that match the data being filtered and sorted should be preferred. This will make your application easier to navigate and understand.
If you're organize passwords, use lockers. If there is only going to be one item in a collection, than don't show the collection. Use filtering and searching when it's appropriate. There are a number of great search products that make it very easy to expose rich search capabilities to users.
Only reach towards folders when it truly matches up with the concept of having files in folders. If it doesn't, choose concepts that make sense for the data at hand.
You'll be happy when you do, and your users will be even happier.