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!

I'd suggest another possible field of integration between Nautilus and Tracker: the file property dialog. While John Stowers is taking care of the Emblems/Tags part, I'd like to know your opinion about implementing something like this next:

@pollycoke : Yep, that looks very do-able, it can actually be a nautilus-extension, so no need to mess around with nautilus internals. I think it will make a nice choice for those people not interested in the tile, I'll be sure to knock something like that up when I get some more time!

It would be cool if it supported album art not only through folder.jpg files, but also through cover.jpg, .cover.jpg, and .folder.jpg.These are the only ways I've seen players store cover art. There may be more, but I think these are the most popular.

Nice job! Can't wait to see that in Nautilus. For photos, please don't forget the super useful info for bad photographers like me: speed/aperture/focal length. But if you explain that you can customize the fields the way you want, maybe my request is useless.

Yes, I'm curious what happened to this.. Tagging & file management is love at first sight for me, but I'm only finding half finished solutions.. see also topic here; http://ubuntuforums.org/showthread.php?t=1474739