Tuesday, 13 February 2007

Nautilus & Metadata, love at first sight

Last week, John Stowers and I spoke about Tracker and Nautilus integration. After looking at Affinity and some of my mockups, he pointed me to some excellent work he, and others, had been doing to get Tracker more integrated with the GNOME Desktop.

This gave me some ideas, so I agreed to try and see what I could do to help the effort, and after some pointers from John's current work on emblem support, Jamie's help on #tracker, and a Alex's help in #nautilus, I can bring you this:



What you see there is a 'metadata tile', which goes and fetches metadata from Tracker about the currently selected file in Nautilus. It is all done asynchronously, so you do not feel a difference while browsing, even when you frantically click folder after folder looking for a file (which I still manage to do, even with Beagle & Tracker installed :-s ). Also, if it cannot find any metadata, it will hide itself, letting you have more viewing space.

This is extremely alpha software ATM, so no released code yet, expect some by Sunday/Monday. It doesn't crash Nautilus or anything that sinister, but I need to clean up the code, and also complete support for Documents, Videos, & Images.

You may also notice the little 'Tags' label at the bottom. Well, this works exactly like on all those web 2.0 sites. Clicking the label with allow you to edit the tags in an GtkEntry. You just type in all the relevant tags, separated by spaces, and it will update them for you. This, together with planned better support for tags around GNOME, will have you tagging anything & everything.

Regarding the UI, please bear in mind that this is alpha software ATM, I need to make the edit ting capabilities more apparent for the user, plus the font weights & sizes need to be sorted out. Also, I haven't touched this with cairo yet ;), so expect some 'eye-candy' stuff soon.

The tile also supports folder.jpg/png files, as most of my Music collection & Video collection is organised like this!

Here are some ideas which I am aiming for:
* Beagle support (if possible).
* Let the user specify which fields to show.
* Editing of Tags & Comments (and maybe some other fields also).
* Document tile which shows a snippet of the document (together with the usual Author, Word Count etc).
* Video tile which shows various video metadata.
* Picture tile which shows EXIF metadata, and failing that, basic picture metadata.
* Proper thumbnailing support for PDFs, Videos, Pictures etc.
* Be able to read the album art from the file directly.
* Allow it to be disabled from the menu.

There are more ideas, but I cannot think of them right now! If you have ideas, express them here, or mail me, I am especially open to UI ideas right now, as I want to decide on a set UI scheme soon. I am also intrested to hear what you want to see in the tile for different mimetypes.

That's about it for now, I am going to hack Awn for the rest of the evening, as I have been neglecting it, so expect a blog post for new Awn features sometime soon!