Launchpad entry: https://launchpad.net/distros/ubuntu/+spec/nautilus-sidebar-extensions
Created: 30/06/06 by JonathanAustin ('Who')
Contributors: JonathanAustin
Packages affected: Nautilus
Summary
This specification proposes an improved sidebar panel in Nautilus that uses different engines (so as to avoid adding dependencies to Nautilus) to display metadata, relevant information about files, and actions that can be performed on them. It could list related docuements (using Tracker or Beagle), allow editing of metadata, show detailed previews of files or add links to relevant web searches or pages in the history - semantically linking all of a user's data together.
Rationale
With more sophisticated sidebar tools we can present less on screen, but give users more useful informaton, reducing clutter and improving ease of use.
Some of the very useful features of Nautilus are hidden from the users or difficult to get to, and we have a lot more useful information relating to a particular file than we display to the user.
Now that we have more data about the files on our disks (from services like Tracker and Beagle) we are able to suggest information that may potentially be of use to users and bring them closer to files and folders they may want to access at any particular time, speeding their navigation and allowing them to forget about the filebrowser and organisation of the file system and just use their applications
Critique of the current system
The Side Bar
The sidebar has the potential to be an enormously useful tool for users.
- Because it is always visible it can unobtrusively and quitly expose features and options that new users may not realise exist.
- It provides a quicker way to navigate the file system, and can help to disguise its complexities to new users (through using 'Places' as opposed to 'Tree', for example)
- It's size compared to a status bar or right click menu makes it far superior to providing users with more detailed information about their files and folders.
- It is easy to hide, or change the currently viewed pane (such as changing from 'Information' to 'Tree', so that users who feel it is clutter need not worry about it.
- It provides a space to show and edit meta-data about a file or folder, to tag it and display tags [2], and also display dynamic information like 'Similarly named files' that a context menu is less suited to and becomes much less useful when hidden in a tab on the properties dialogue.
However, in Nautilus at the moment I feel we are not fulfulling this potential
I see several problems with the current system
- We currently have the ability to show only one of the items (History, Notes, Emblems, Tree, Places, Information) at a time
- The 'Information' bar shows information about the current folder or file, not the file that is selected.I remember using much older version of Nautilus where this made more sense because images and text documents opened withtin the Nautilus browser window. Now this no longer happens, the Information sidebar is much less usefull than it could be. This behaviour is also inconsistent with other operating systems from which we hope users will be migrating. Some consider it a bug[7]
The system does not extend beyond Nautilus - It doesn't pull in information from Tracker[3] (or Beagle, if you prefer), LeafTag, The Internet (or not since the News panel disappeared) or other documents on the system
I'm sure there are very good reasons for these limitations, but I also think the potential advantages of a well designed sidebar make it worth further investigation.
Use cases
The aim of this is not to put huge numbers of options in front of people, it is to more accurately guess what information they might want so we can present less of it and make it more accessible Some examples of things it would be nice to present users with:
This specification relates to the Nautilus File Manager, specifically it's sidebar
Caveat: I am an inexperienced programmer, I have not written any code for Gnome (though I am eager to start when I get some time) and I don't know the details of how Nautilus functions. My plans for this are based on the way I have understood the themes in Gnome to be implemented. If these ideas are ill-conceived, I apologise, please tell me politely! I have searched (and searched) for a post I read when I began researching this about possible ways to extend the sidebar and how to go about them, to no avail, thus I cannot link to any more influential opinions I am not trying to claim this is an original idea. If we look at the sidebar for Explorer (Windows) and Konqueror (KDE) (metabar) then you can get a pretty good idea of the type of thing I am imagining. I think that Nautilus should implement a 'Sidebar Applet Container' that has no dependencies except those of Nautilus, but that can use mulitple 'Sidebar Applet Engines', which in turn can take mulitple 'Sidebar Config Files'. While mulling over this idea I read CoreyBurger's ideas on keeping everything together and not using plugins [5] to implement funcinoality. However, I a project like this needs to be modular so that teams with expertise in any particular area (eg, beagle) can write the plugin to communcate with their tool. I would also hope that, like GTK+ has a 'default' engine there could be a simple 'default' setup implemented without a plugin that displayed the information already there - specifically making use of nautilus scripts, which can provide a lot of functinoality without adding any dependencies [6].
If possible there should be some way to handle user input into the space for an engine on the sidebar, allowing searching or tagging directly
Here is a design of the layout I am suggestin
If the applet container could be completed and the idea publicised than I believe there would be a large number of people interested in coding engines, and a huge number of users interested in creating, swapping and comparing config files. Because of this the bulk of the work is involved in making the applet container and a few good example engines - the rest would follow from there
Sorry :S
If this is too much for you, see this spec https://launchpad.net/distros/ubuntu/+spec/nautilus-actions-panel Which is similar but not as far reaching
1. Redhat support for RH7: http://www.europe.redhat.com/documentation/rhl7.2/rhl-gsg-en-7.2/nautilus-intro.php3 See 'Shelf' idea at http://mail.gnome.org/archives/nautilus-list/2002-June/msg00226.html Image Properties tab: http://www.advogato.org/person/snorp/diary.html?start=13 2. Leaf Tag http://www.chipx86.com/wiki/Leaftag 3. Tracker: http://freedesktop.org/wiki/Software/Tracker 4. KDE Metabar from http://www.kde-apps.org/content/show.php?content=21010 5. http://www.advogato.org/person/Burgundavia/diary.html?start=77 6 - usse of Nautilus Extensions on the sidepane is mentioned here http://primates.ximian.com/~dave/NautilusExtensions.html 7. Sidebar doesn't update to current icon https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=122365 Scope
Design
Sidebar Applet Container
Sidebar Applet Engines
Sidebar Config Files
Implementation
Code
Alternatives
Footnotes