In computing, a file dialog (also called file selector/chooser, file requester, or open and save dialog) is a dialog box-type graphical control element that allows users to choose a file from the file system. They differ from file managers as they are not intended for file management, although some offer simple operations such as folder creation and renaming. Rather they are intended for the opening and saving of files.
Before file dialogs, most programs requested files as a command line argument or as an exact file path. Others required users to select a file from the file manager. A file dialog allows an application to access individual files in a standardized and secure way, with the user in control of what files to share with the application. Mobile phone operating systems lack file selection dialogs. Instead users are expected to give applications control over the whole file system.
There are several types of file dialogs. The two most common being a two column view file dialog and a mini file browser dialog. Others include thumbnail view (for photos) and metadata (for music). There are several reasons for the many varieties of dialogs. First of all there is no single standard design, so a program may implement their own for any purpose. Many GUI toolkits do not provide a file dialog, so an application is forced to use its own.
The two column view is one of the primary file dialog types. It uses two columns. One for folders, and another for files. Other common features include the current folder name, a searchbox and buttons for basic file manipulation.
A mini file manager is often used. It represents the normal file manager, but it is restricted in its operations.
Usually used by image related applications, a gallery of files are shown which allow a file to be chosen graphically.
File dialogs have been a subject of much usability debate. As a graphical control element receiving constant use, ease of use is a major factor in their design. The most common reasons for file dialog usability problems include:
Many widget libraries toolkits such as GTK have been criticized for their lack of it. Early versions of Microsoft Windows also suffered from problems, mainly from the DOS legacy behind it. However, most of these are being addressed as more legacy programs are being converted to use newer, more usable file dialogs.
A file powerbox is a file dialog which dynamically grants the application that opened it the right to access the file that the user chooses.
This means that an application does not have to run with the user's full authority. In other words, the application does not have to have the right to access all the user's files. An important aspect of the powerbox interface is that it can look to the user just like any other insecure file dialog, but can act to protect the bulk of the user's files from potentially untrustworthy software such as Trojan horses or other forms of Malware.
With a powerbox system, the file dialog is implemented as a trusted part of the system. It runs in a protection domain separate from the application. The powerbox component has access to all the user's files, whereas the application does not.
Powerbox systems have been implemented in Apple Mac OS X Lion.