Page 1 of 1

Assign Category to Multiple Images

Posted: Thu Feb 26, 2009 12:11 am
by RightPaddock
Is it possible to assign a category to multiple images in a single operation.

Imagine a folder of family holiday photos. I'd like to select all photo's that feature a given family member, and assign it to that persons entry in the catalogue tree.

If I select multiple thumbnails, then ALL the tabs (Preview, Property, Histogram and Categories) on the Preview pane (that I have under the thumbs pane) disappear and the preview of the last selected thumb is displayed.

IMO the tabs that might be usefully shown when multiple thumbnails are selected are, in order of importance -- Categories, Properties and Previews (which would show a filmstrip of the selected thumbs); only Histogram would seem to have no relevance when multiple images are selected.

Re: Assign Category to Multiple Images

Posted: Thu Feb 26, 2009 12:22 pm
by xnview
RightPaddock wrote:Is it possible to assign a category to multiple images in a single operation.

Imagine a folder of family holiday photos. I'd like to select all photo's that feature a given family member, and assign it to that persons entry in the catalogue tree.
You can by drag&drop the files onto the category

Posted: Thu Feb 26, 2009 3:29 pm
by JohnFredC
Pierre... the category assignment UI is almost non-existent and what has been implemented for drag & drop is awkward to use. The only aspect of category assignment I think works well is the Preview's "Set categories..." context menu.


Improvements needed:

Category tree

Expanding the tree (with the "+" symbols") causes the file-list to change and the file selection to be lost. This is awful behavior! The file list population should not change until the user clicks directly on a category name. The current implementation prevents the user from seeking and displaying a collapsed "target" category (for drag & drop) while maintaining the file selection. Ouch!


Browser

- Add "Set categories..." to file list context menu.

- Add "Set categories..." to Edit menu


Viewer

- Add "Set categories..." to image context menu

- Add "Set categories..." to Edit menu


Full screen


- Add "Set categories..." to image context menu

Posted: Fri Feb 27, 2009 6:31 am
by RightPaddock
JohnFredC wrote:Pierre... the category assignment UI ... drag & drop is awkward to use. The only aspect of category assignment I think works well is the Preview's "Set categories..." context menu.
I agree, "drag & drop" is always awkward if the target is small - see footnote. Drag & drop is OKish for "lightweight categorisation", i.e. where there aren't many categories, and a thumb is only assigned to one or two categories.
JohnFredC wrote:The only aspect of category assignment I think works well is the Preview's "Set categories..." context menu.
I'd say the category tab within the Preview/Properties pane also works OK, and its better for assigning an image to multiple categories. However like the Preview context menu item it's a "one file at a time" operation. This I find really strange because it would seem so "natural" to allow assignment of categories in this instance to multiple items. I'm fortunate in having a 30" @ 2560 x 1600 monitor, so I can do most categorising off the thumbs, i.e. I usually don't need to examine an image in detail in order to categorise that image.

I'd like to suggest that the categories Tab have an option to present the category tree in a horizontal orientation, it would be much easier to drive when the category assignment tree is in a horizontal panel (e.g. the 3rd layout style). Photo Mechanic provides a horizontal style for categories, and I've found it to be very good. HindSight have a MAC app called metaMachine that has a horizontal orientation, I've seen it but I've not used it in anger - there were rumours of a Win version, but as far as I know it's yet to surface.

I fully concur with John's comments regarding the +/- symbols, the way it's currently working is very inconvenient.

I'd also like an option that causes category assignment to be bubbled up the tree - thus something assigned to kitten, would be also assigned to cat, companion, domestic and animal assuming the hierarchy ran something like

Code: Select all

animal
    domestic
        companion
            cat
                kitten
                adult
            dog
                puppy
.
.
You might want to make that an option, i.e. a Bubble Up Category Assigns check box.

On Drag & Drop

Holding the mouse button down whilst moving the pointer to the target and then releasing the mouse button often moves the pointer from the intended target to an adjacent target. This is because the wrist is being held under tension whilst the pointer is being moved with left button down. As the button is released the tension in the wrist falls away which can result in a slight movement of the pointer just prior to detection of the mouse left button up event, this movement often results in the items falling into the wrong bucket. This would be less of a problem if mice had a thumb operated drag button, and the drop was initiated by a right button click - but that ain't gunna happen, well not in my lunchtime.

An alternative (and IMO opinion an often better) approach to "drag & drop" is "pick & deliver". One selects the item(s) in the normal way, then right click, select Pick, move the pointer (no buttons down) to target, right click (that identifies the target) select Deliver, its akin to cut & paste. Once you've done the Pick, you can take a sip of coffee, go to the bathroom, answer the phone and then do the Deliver.

The "pick & deliver" approach works particular well when the source and target are some way apart, when "dragging & dropping" one is often forced to use "edge" scrolling which can be a real pain. However with "pick & deliver" the scroll bars, navigation keys, tree expand/collapse, open another window etc, are all available between the Pick event and Deliver event; this because there are no buttons to be held down between the two events.

The two approaches are NOT mutually exclusive, "drag & drop" uses the right mouse button, whilst "pick & deliver" uses the left mouse button; so there's no reason why an application cannot provide both methods. The only issue is that SDKs usually provide high function support for drag and drop, whilst one has to do a bit more work at a lower level for "pick & deliver" - e.g. you have to stash the selected items in storage that's session persistent, whereas with "drag & drop" the SDK usually takes care of that, and you've got to add items to the relevant context menu's.

A simple (and free) software gadget that does a good job of illustrating the "pick & deliver" approach is Link Shell Extension (LSE) by Hermann Schinagl, it adds items to the shell menu for the manipulation of NTFS hardlinks, junctions and symlinks (Vista only). Google will find it for you, if your interested.

LSE uses "Pick Link Source" and "Drop As ..." as the content menu items for what I've called Pick and Deliver. Those terms are relevant to LSE's purpose, a Pick(ed) Link Source can be Drop[ped ] As one of several things - a junction, a hardlink, a symlink or a clone. If one were doing a "pick & deliver" interface for media categorisation then one might use "Select" and "Assign" as the context menu names.

Posted: Fri Feb 27, 2009 2:55 pm
by JohnFredC
2RightPaddock: The foregoing is an excellent post! Please contribute more in this vein about other UI topics you find here in the forum.

I too am a big proponent of examining "first principles" when designing computer UIs.

One point to add is that the concept of an "image basket" (discussed a bit in the MP forum threads) is another UI approach applicable to this whole categorization assignment thing.

IMO a GUI image basket is a variation of the "pick and deliver" metaphor you propose, but with a more visible (and by implication, manageable) "buffer".

A second point is that several of the irritations we encounter in XnView are related to how the UI "overloads" two activities: in this case, the Category tree is used for both assignment and filtering. The user input paradigms for those two activities tend to overlap somewhat and in some cases the design of the XnView UI prevents it from disambiguating the two.

Posted: Sat Feb 28, 2009 3:02 am
by RightPaddock
JohnFredC wrote:2RightPaddock: The foregoing is an excellent post! Please contribute more in this vein about other UI topics you find here in the forum.
Thanks, nice to know someone likes my posts, feel free to elicit posts with a PM if you're minded. I've also been posting here - http://newsgroup.xnview.com/viewtopic.php?p=72492#72492. I sometimes compose my posts using an offline BBcode writer, better than writing in silly browser boxes.
JohnFredC wrote:One point to add is that the concept of an "image basket" (discussed a bit in the MP forum threads) is another UI approach applicable to this whole categorisation assignment thing.
Abso-bloody-lutely mate, I'd love too see an image basket. or better yet image baskets.
JohnFredC wrote:IMO a GUI image basket is a variation of the "pick and deliver" metaphor you propose, but with a more visible (and by implication, manageable) "buffer".
Good idea, I hadn't thought of using an image basket in context of categorising, I'd want ability to categorise all the images as a single operation, but not by doing a ctrl/a and drag & drop.
JohnFredC wrote:A second point is that several of the irritations we encounter in XnView are related to how the UI "overloads" two activities: in this case, the Category tree is used for both assignment and filtering. The user input paradigms for those two activities tend to overlap somewhat and in some cases the design of the XnView UI prevents it from disambiguating the two.
I personally dont want to use the filter cat tree for assignment for reasons already stated, I only want to use it for filtering.

XNView is not alone in getting the two activities confused, ACDSee Pro, idImager and IMatch all suffer similar dysfunction, so XNView is, arguably, in "good" company. Perhaps Pierre's implementation was influenced by one or more of of those products. From memory ACDSee Pro comes closest to getting it right, but even it gets things wrong - ISTR that some category maintenance functions (rename, delete and move) must be done from the category filter panel, but the need to use them most frequently arises when one is using the category assignment panel; in ACDSee Pro one can arrange the UI to show both panels, but that would be an inefficient use of ones visual real estate, I've already got 2 monitors so a 3rd's out of the question.

My comment re Pierre being influenced by other products should NOT be taken as a criticism of Pierre. Unfortunately, it seems that in this instance he might have stood on the wrong shoulders.

If I have seen further it is only by standing on the shoulders of Giants -- Newton to Hooke Feb 1676

Posted: Sat Feb 28, 2009 4:03 am
by JohnFredC
I like the way Lightroom does it:

1. Navigator panel w/folder tree
2. Filter panel
3. Assignment panel (subpanel of metadata panel)

The key to Lightroom's success (IMO) is the separation of the navigation function from the filter function.

In Lightroom, categories = key words.

Posted: Sat Feb 28, 2009 4:43 am
by RightPaddock
JohnFredC wrote: The key to Lightroom's success (IMO) is the separation of the navigation function from the filter function.
Yep that's sort of what's needed, but do you not mean separation of the assignment function from the filter function.

No perhaps you don't, you mean that navigating around drives, folders & files should be independent of dealing with attributes - ratings, keywords, captions, geolocation data etc - whether that be for assignment or filtering.

I agree and its why I like an interface where all the panels are independent, which is what a docking UI provides. Most docking libraries allow multiple panels to be stacked and tabbed at any of the four edges, panels can also float free - the centre panel is where the "content" goes, good dockers allow the centre panel to be tabbed. ACDSee Pro/PM and idImager use dockers, and Extensis I think. There are some quite good open source docking libraries out in the wild, I'm a bit surprised that MP isn't using one of them.

Not used LR of late, certainly not used latest, are its keywords hierarchical, they used not to be. One could use a structured vocabulary, but each node became a discrete keyword so that a picture of a young bear encountering a young lion would end up with keywords of -- animal, animal, bear, cub, cub, grizzly, lion, wild, wild - which in IMO is hopeless.

There was something else I loathed about LR, darned if I can recall what it was though. Yes I can - it was that to have a "half decent solution" you had to use Bridge & LR, if that's changed it maybe time to take another look at LR.

Keyword and category should have different usages, e.g. an agency for whom I do some work
  • use cats to define pic context - e.g assignment type(catwalk, magazine shoot, in-store appearance etc), workflow status (submitted, charged, selected etc), clothing style (beach, evening, day etc);
  • and keywords to define pic content -- car, horse, bear cub.

I do for ages

Posted: Sat Feb 28, 2009 5:48 am
by Clo
:arrow: RightPaddock

:) Hello !

• Let be sure I also appreciate your messages, despite currently I miss time to read all… Just an aside :
I sometimes compose my posts using an offline BBcode writer, better than writing in silly browser boxes.
- I do so for years, I just patched my old beloved HTML EDITOR
Nothing is more irritating than to lose a long message because a finger slip on a damned key: Pffuiit ! All removed ! :twisted:

:mrgreen: KR
Claude
Clo

Posted: Sat Feb 28, 2009 1:22 pm
by JohnFredC
RightPaddock wrote:good dockers allow the centre panel to be tabbed
Now we're getting to some conceptual "meat"! Just what qualifies as the "centre" panel?

IMO, if the image file entity is the primary data item being "browsed", then the "center" panel is the file list / thumbs panel. All other browser panels contain/display ontologically subordinate data and therefore should also be subordinate in the UI (which they currently are).

There have been many threads about these issues in the forum over the years. Perhaps Mr. Librarian can list a few...

Here's a very old one.

In any case, the docking library used in XnView itself is not likely to change.