# Introduction to GnomeVFS

## Uses and Purpose

GnomeVFS is a filesystem abstraction library allowing applications plugable transparent access to a variety of "real" filesystems, from WebDAV to digital cameras, to the local filesystem. It also contains a number of other convenient file utilities such as a comphrehensive MIME database / Application registry, and a copy engine. Use of GnomeVFS ensures that an application or component will be usable by Nautilus or other GnomeVFS applications for handling the display of data from various URIs, as well

### User's Perspective

From a user's perspective GnomeVFS enabled applications provide consistent access to their data, whether it be stored on remote servers or on their local harddisk, or even a peripheral device such as a Rio or a digital camera. Rather than having to work around the distinction between storage you can work off of and storage you can only "download" from or "upload" to, GnomeVFS allows users to store their documents and data wherever it is most convenient.

### Developer's Perspective

Besides providing transparent access to data methods that you might otherwise have to implement, GnomeVFS provides a number of convenience libraries for processing URIs, detecting the MIME type of files, and even figuring out which applications or components to launch to view a file or what icon to use. Writing a GnomeVFS module may also be an appropriate solution to some data access problems as it allows the developer to implement a relatively small number of functions to gain general filesystem semantics (and of course, writing a GnomeVFS module benefits other applications too!).