Attached resources are exposed via a URI syntax, for example smb://server01/gamedata or ftp://username:email@example.com/public_html, but are also mounted in the traditional manner under ~/.gvfs/ to make them available to older applications using standard POSIX commands and I/O.
GVFS may use FUSE, and is a replacement for the earlier GnomeVFS. It consists of two parts: a shared library which is loaded by applications supporting GIO, and GVFS itself, which contains a collection of daemons which communicate with each other and the GIO module over D-Bus.
There is also a collection of command-line utilities such as gvfs-mount, gvfs-less to work with VFS resources.
GVFS uses libgphoto2 to expose on-camera photos to GNOME applications via a virtual filesystem.