Organize Your Life with Nepomuk
Nepomuk's text searches rely on your computer having an index of files and their contents. This is created by the Strigi indexer, which claims to be the “fastest and smallest desktop searching program”. That may be true, but crawling and interpreting files always is going to be a resource-intensive task. KDE mitigates this by indexing files only when the processor load is otherwise low and suspending indexing when you switch to battery power. You also can suspend (or resume) indexing on demand using Nepomuk's system tray icon, which is visible whenever the indexing service is active. To suspend the indexer manually, just right-click on the tray icon and check Suspend File Indexing. In my experience, it is much more likely that you will find the indexer has been suspended automatically at times when you would not mind having it running than you will need to suspend it manually.
To gain full control over indexing, simply visit the Desktop Search page in KDE's System Settings configuration utility. Alternatively, you can access the configuration options directly from the right-click menu of the Nepomuk system tray icon. You have the choice of whether to enable Nepomuk and the Strigi file indexer at all, and you can specify which folders should be indexed. You also can exclude certain file types, such as backup files and partial downloads, and even set a limit on the memory used by the search database.
Once the file indexer has collected data for all of your files, it has to be able to search the data quickly and efficiently. This was a major problem facing Nepomuk when it first was included in KDE software, as the available databases either lacked performance, features or both. However, since the release of KDE software compilation 4.4 in February 2010, Nepomuk has used the Virtuoso database, and as Peter puts it, “Performance problems are nearly gone.”
Still, it makes sense not to index everything. After all, you probably won't often need to find one of the thousands of shared library or application files on your computer, and including them would waste resources. However, you occasionally might need to find one of those files. Before Dolphin 1.6, terms entered in Dolphin's search bar queried only the Nepomuk database, and it was necessary to use the separate KFind interface to search non-indexed files. This meant you had to know whether the file you were looking for was in an indexed location before deciding which search interface to use. In Dolphin 1.6, both search types are integrated in a single search box, so that the Nepomuk database is used for directories that have been indexed by Strigi, and KFind is used for other locations. In this way, you still get search results when you search in a folder that is excluded from indexing, it just takes a little longer.
Fast and customizable desktop search is the most visible and, at present, probably the most-used benefit provided by Nepomuk in a KDE workspace. However, the Nepomuk developers have much higher ambitions. Although computers are very good at indexing files, they are very bad at understanding the relationships between them.
Making meaningful relationships between files remains one of the major challenges for Nepomuk. If your friend Alice is getting married and you need to find the map you were sent that shows the wedding venue's location, you might look for e-mail messages from both her and her future husband, Bob. You instinctively would realize that information related to Alice may be found in a Web page or communication from Bob, because you understand their relationship. However, your computer would not give any special priority to files that had come from Bob.
One way of making your computer act a little smarter is to tag your files. This works in a similar way to how you tag music files, so your media player can present you with albums, artists and even genres to browse, instead of forcing you to navigate through directory structures. You can tag any kind of file simply by clicking on the Tags section of Dolphin's Information panel. This brings up a dialog to apply existing tags or create new ones. KDE image viewer Gwenview also enables you to use and edit the same tags and to browse images by tag rather than path. If you received a map from Bob relating to his wedding to your friend Alice, you could tag it with terms such as “Bob”, “Alice”, “wedding” and “map” and then easily find it using Dolphin's search box.
There are other possibilities for tagging beyond making search more powerful. If you are working on a number of projects and some of your files are relevant to more than one of those projects, you can apply tags for each project, filter based on those tags in Dolphin, and then save that search as a “Place”. You then can access the files relevant to a given project in any KDE application quickly, without needing to copy any of the files into project-specific folders or set up links.
Of course, tagging your files manually could take a lot of time, and it is not information you would want to lose when you buy a new computer or re-install your operating system. With KDE platform 4.6, Nepomuk provides the ability to back up and transfer this human-generated metadata so you can always take it with you.
You also can use tagging and saved Nepomuk searches to have a selection of relevant files available right on your desktop when you log in. To do this, all you need to do is create a Folder View Plasma widget in your KDE workspace, and then use its configuration dialog either to enter a search query directly or select a search you already saved as a Place. For example, you could have folder views containing the files for each of the main projects you are working on. You even could restrict the initial view to only the most important files by rating them with five stars and filtering the results by rating.