Idea for Summer of Code 2008: Deeper integration with media on GNOME
See http://blogs.gnome.org/calum/2008/02/18/media-at-your-fingertips/ for an initial reference.
One of the things that the GNOME Desktop lacks to appear as an integrated and cohesive Desktop Environment, compared to e.g. Mac OSX, is the lack of a deep media integration across the Desktop. Deep media integration means the user should be able to access his documents and media files from the GtkFileChooser without being forced to remember where he saved his files, and should be able to query for files not only by their paths/URIs, but also by their metadata (e.g. ID3 tags for music files, EXIF information for photos and so on) and by the last access it was done to the file (though this is possible, in a quite generic way, with the GtkRecentManager tools).
GtkMediaManager wants to solve this problem introducing an API to query, browse and tag files across the desktop, providing on one side, media listing in the GtkFileChooser with a queriable interface, and on the other side, a simple API for other applications to hook their files and relevant metadata inside the manager. GtkMediaManager will be written in C and will use Xesam as database to query and store information and metadata about the media files. It will also be integrated with the GtkFileChooser, providing a set of widgets to easily query by attributes depending on the file type we want, and it finally will be integrated with GtkRecentManager, which will provide GtkMediaManager information about the files recently used by media applications.
This would remove the need for the beagle and tracker search engine backends as well. (EmmanueleBassi) But wouldn't remove the abstraction necessary to support the native search engines for other platforms (eg. Spotlight integration on MacOS X) (Bastien Nocera)
xesam-glib bzr trunk contains a XesamGSearcher interface abstracting out the dbus part. This makes it easy to integrate non-Xesam search engines as well (online services, spotlight, a static find/grep-like utility etc). Xesam-glib does not employ vendor lock-in In fact if you implement a XesamGSearcher xesam-glib also provides a stub that you can supply a XesamGSearcher to expose it over dbus. These features will be available in xesam-glib 0.2 -- MikkelKamstrup 2008-04-10 10:16:46
Already filed as bugs against GTK+: Allow nested shortcuts and Add ability for applications to provide a shortcut (BastienNocera)