A calm, rational and respectul discussion about the new collection filters

I would have one simple request and that is the ability to unselect all filters with one simple click. Having to go over to the collections filters panel and unpin the filter from the top toolbar to deactivate it seems terribly inefficient. Besides that I really love the ability to use filters.

1 Like

Hi, I think the real question is: “is it useful for WHAT”? Is there a workflow users expect? The whole “controversy” forced me to re-examine my own workflow, so I watched couple of videos of how photographers organize their images using different apps (LR, C1, ZPSX,…).

It seems to me, that there are two separate use cases every app should support:

First use case - “everyday workflow”:

  1. Import images into “working directory” (call it “collection”, “session”, “film roll” or just “folder”)
  2. Preview, rate, label and delete images from that directory
  3. Work with subset of images based on parameters e.g. rating, colors or camera/lens?.. (call it “view” or “filter”)
  4. Export…

Second use case - “searching for specific image(s)”:

Find an image in portrait mode displaying a squirrel taken by Sigma 120-300mm lens in September of 2012 with 4 or more stars…

Based on my experience so far, most of the design changes in DT 4.0 support these use cases surprisingly well:

  • Use “collections module” with integrated history to select your “working directory”.

  • Spend 15 minutes to customize your filter bar to support your specific workflow (you can use “rating” instead of “range rating” if you want!).

  • Forgot about “collection filters” unless you hunt for specific image from the past.

In the old DT, I had no idea you could add rules to narrow down collections. I suspect I was not the only one. Hiding that feature behind that “magical triangle” was really bad. It seems to be a good idea of having two modules with different use cases in mind.

  • One module mostly for “browsing” with history of recently selected (no need for fancy intersections).
  • Separate module with filters where you can go completely crazy.

I will try to use the new DT for some time before making any additional suggestions.

7 Likes

If we look at the top filter bar - the use case is for the current view (at least for me).
Typically it is moving images between 1/2/3 stars etc. and further filtering with color labels.

The benefits in 4.0 is that - users can now filter something more obscure - like 2-3 stars or 2-4 stars (but not anything else)

The drawback (for me) is that this additional filtering cannot be managed easily by shortcuts - user should always go there by mouse. Specifically - if I have 2 stars selected and I want to include less than 2 or more than 2. And the second drawback - when the filter on top is combined with the collection filters on the left - the 2 can disconnect completely. And that is simply not good at all.

Additionally - because of the display of all stars - it is a bit more difficult to visually identify but this can be adjusted by color schemas.

When it comes to users and workflow. The reality is that:

  • Users can be reluctant to change. Even when a change is for something better.
  • Users get accustomed to a tool and typically don’t dwell too much on it. They just use it and move on.
  • There are times when developers perceive a change as a very beneficial - yet - in the hands of users it can be a huge challenge. Normally this happens because users have different patterns to utilize the software than the developers. And/or users use different amount of data comparing to the developer.

By the way - I have encountered the above more often than expected because I just happen to support users and the issues thy have when adapting a new software.

1 Like

I think the new starred system is ok the way it is. I tend to cull and rank my shots with 1 making the cut, up to 5 as finished and posted or published. The colors are handy for duplicates. I’m sure others have their own approaches.

The Boolean operators are confusing and I ignore them. So, keep it or revert back… I don’t really mind as long as things are consistent

1 Like

I don’t mind the new system, but also happily worked with the old system of successively stacking booleans. Honestly, I don’t quite see what the fuss is all about.

7 Likes

Prior to darktable 4.0 I “collected” the images I wanted to work with into a collection, then used filters to change my view of them. It was quick, easy, and simple to get the set of images I wanted. Changing the filtered view only took a couple of seconds.

During the last development cycle I was testing the opencl changes. I had a compiled copy of darktable with a specific data set of images so that I could repeat the tests using the same set of data. One day I updated and went to test the opencl changes and my view of the collection was changed. The correct collection of data was there, but the sort order was all different. All the filtering options had changed. I spent the next 5 minutes clicking on the various “filter” widgets trying to sort the data back into the same order so I could continue opencl testing. I finally managed to figure out the magic incantation, but I have no idea how I accomplished it. Let’s just say it wasn’t easy.

After looking at what had changed I saw the the filter code had been removed. Now “filtering” creates a new collection, hence the reason that the Recent Collections went away since it would have been rendered useless by “filtering” the collection.

My main concern is generating a new collection every time we want to just change the look of the current collection. My image library is ~500,000 images and I normally work with collections of 1,000 - 3,000 images. It’s one thing to sort 3000 images that are already in memory, but it’s another to repeatedly sort 500,000 that aren’t.

Another concern is that the new “filtering” (collecting) broke the Lua API by removing the ability to filter the view from a lua script. This has already resulted in broken scripts. The next changes will probably break the collection section of the Lua API, which will break a lot more scripts. If the code keeps changing right up until release, then there wont be a chance to reimplement the API.

Lastly, I’m mature (okay, I’m old :slight_smile: ). Spending hours, days, etc. trying to learn a new way to accomplish a simple task that only took a couple of seconds to perform is a real PITA.

10 Likes

I did not test three new system enough to make final statements here, but there are already some observations:

  • I love that I can filter colour markings from the top bar now, which tremendously unclutters my history and makes it useful again.
  • I like that the history no longer takes so much screen real estate, I always edit on laptops where the screens are renal.
  • I don’t mind the Boolean symbols. We had them before, and now we have them at additional places. People can look their meaning up on Wikipedia (if the hover text tells the right words, not sure, not on my computer now).
  • I would like to have the “or” as default for the colour markings, or at least that the operator does not reset all the time.

I understand what you’re saying and I’ve been there at times. But I think it’s inherently weak UI design if / when it’s assumed that properly understanding the UI will require researching – from a user’s POV – somewhat arcane information. Image processing is already full of arcane info, no need to add to it. I’ve seen Boolean symbology before but I had to refresh my memory, having not used it in quite a while.

Not arguing – Like I said I’ve been there, too. But I think that approach can cumulatively erode a UI’s usability. I have to remind myself of that.

2 Likes

I don’t mind a better solution, but did not yet see a suggestion for a replacement that makes sense to me. For now, or even in general, I find the symbols in combination with a mouseover explanation of the symbols acceptable.

1 Like

You’re right about it being difficult to come up with a better symbolic icon. But maybe that’s an indication symbolism is insufficient in this case? Why not a small button labeled “Logic”? Nothing wrong with text on buttons – Text is used for the “filter” label rather than the usual funnel-type graphic commonly associated with filtering in UIs. Even at my monitor’s resolution (1920x1080) there many times over room for such a button.

I agree it’s not an easy answer, but I think there are better options than a ‘mathematical’ symbol. Anyway, I"m not wanting to belabor this point, it’s just one of many.

I owned a BMW automobile many years ago. Sold it for many reasons, one of them was I couldn’t make sense of the icons on the buttons and switches… :crazy_face:

UI engineering is about meeting in the middle, interaction mechanisms built for an intended audience. Thing is, that intersection will never satisfy more than a handful…

3 Likes

You mean kinda like dragging an image of a diskette into a trash can… …not to erase, but to eject it? :wink:

1 Like

They fixed it by adding “eject” button on the keyboard - in the CD era :grinning:

Ah… if I could make my shortcuts fully work. <>= (more or less or equal) :face_with_head_bandage: (sticking to the mouse for now :mouse:) getting used to the new UI a bit - it has some good points. I guess - each approach has something good in it.

Hello, this is my first post.

Some background information about myself: Creative and technical interested, have experience with programming (not C, C++). And I am someone who is interested in layout design (far from professional level).

Writing text is not my strongsuite, so I have written it more in structrual manner, hope you can understand.

Collection and Collection Filters:

I think this should just be Collection. A place where you can create conditions / rules what is displayed on the right.
My suggestion is to add an option where you can set a rule as a “filter” (don’t know if should use this name). This has an effect that changing the value of this rule doesn’t create a new collection. Optionally you could also make it that it doesn’t need a new sqlite query if you change the value. (how it is in 3.8 if I understood correctly)

Star rating selection:

I think that selecting starts is a 2 step process. How the range is defined, for example greater than or less then options. And the user input, which star your working on. These two steps where clear and seperated in 3.8 and are now merged.
The new design may be said to be more flexable, you can do all seperate ranges and setups roughly with the same steps. But I don’t think this is the right design. Because some setups (greater than “star” rating) for example will be used more frequently than others. Also people don’t want to change both steps at the same time every time. For example you have [greater than 3 stars] visible, and want to change it to [greater than 4 stars], you only want to change the star value. Because of it’s flexebility, it also needs the person to think harder and be more distracted because of it.

My suggestion:

Do it more like the previous darktable (3.8) where the 2 steps are seperated.

range simbols

I don’t mind the math simbols [><=], I think there very readable. You don’t have to know the meaning to learn it in this context. Hover text can add short explenation of the meaning and it is also possible to give visual feedback inside the stars.
(It does still have to be clear which star is selected by the user and which are added by the “math simbols / automatic selected range”)
(the collecten and / or simbols I find less readable)

custom range

I do not dismiss the use of a cutsom range, for example range 2-4 stars, which are now possible in darktable 4.0. One example I can think of: I use stars to filter the images that I have taken. Your done with the hole process and have decided the star values. You look at the 5 star images, but notice that a certain type of image is missing. You select range 3-4 star images to see if you can find an image that you can add to the 5 star images. So that your are happy with the result.

So, my suggestion is this. Add another symbol to the [><=] list, for example * (wildcard). If you choose this mode, you can select a star. When you use shift and click you add a range, Ctrl click to add/remove individual stars. So basicly how file selection works. You can even add “click and drag” to quickly set up a range.

The advantage of this approach is, you have the old / simple way of defining the stars which will cover most usecases. When you need it, you can have the better flexibility.

disable feature

One feature from darktable 4.0 (collection filters) I would like see added to collection is the option to enable/disable a certain rule. For example you add a color label rule to narrow down the result, you want to add another image by adding the color tag you disable the color rule temporarly, add the color to the image and enable it again.
With this functionality inside collections, I am of the opinium that you are able to do some powerful things. (add more disabled/enabled items inside collection)

too complex:

For simple usecases, like viewing images inside a folder or filmroll, there should be an easier / simpler way to select this. Defenitely for beginner users. Maybe a “quick collection” tab or somehting. Or change the ui that this is very simple. What the best solution for this is, still needs further thought.

Layout design:

I like the design of darktable which is functional and not distracting. This is especially importent in a photo edit program. But some changes in darktable 4.0 feel like a departure from this.

Some thing may look better in isolation, but less together with the rest.

Here are some reasons I dislike the new changes:

  • Beacause of the brightness (don’t know if this is the correct term) of certain elements, like stars, they ask a lot of attention from the viewer. Which is very distracting.
  • “collection filters item” has the same design language (rounded corners, lighter background color) as the buttons. This is visualy confusing. You want to have different design elements for different functional elements.
  • “collection filters item”(for example star rating) elements are orderd horizontal except for the star values which are put beneath, the most importent element. You should order the elements horizontal or vertical to make it readable (witin a group).
    I much more prefer the design of the “collection”. From left to right you have the name of the type, and then the value.
  • Please dont center everything. For example drop down menus, “Collection filters → new rule button → drop down menu text”. This makes it less readable / less cohesive (in my opinion).
    To scan the drop down menu list, I find it a lot harder than for example “collections → type drop down menu”. Here the elements are aligned to the right.

I have not thought about everything, there are still a lot more things to be figured out.
I know it is easier to critisise than to do it correctly yourself. I mostly wanted to add my opinion / knowledge / experiance in the hope that it can be usefull. :dotted_line_face:

2 Likes

Well I have been testing the filter mechanism today.

I like the upper bar where you can select the star range, the color tags, and search.
I find it useful and easy.

The collection filters in the left I mainly find them redundant.

But I agree they provide more functionality as you can create more complex filters combined by logical operators.

I think it is somthing I won’t use that much, but I recognize the effort of providing a flexible and complex way to make selections from the database (most programs let you make only simple selections like the bar at the top).

I don’t undertand well all that noise about it.

May be an option to let you deactivate it and hide it from the interface would make happy people that don’t like it.

I have discovered that you can add other filter criteria and pin it to the upper bar, it seems great for me.

Read the other 34 posts in this thread?

I was mainly thinking of some previous posts by one person in particular.

I don’t dislike the filter collection module. Sure there will be ways to improve it, and great to see discusion here about it.

But I have liked the idea and you can now make better filtering than in previous versions.

How did you do that?.. found it… I like this option.

1 Like

I think the functionality is quite good actually. Now I can see that - once I know how to use it.
For some reason - it never occurred to me how these 3 buttons “x, pin, on/off” work together. (and can actually fight with one another). As well as how they control the top bar.

image

And yes - it is all in the manual
https://docs.darktable.org/usermanual/4.0/en/module-reference/utility-modules/shared/collection-filters/
I was just chasing my tail for a LONG time.

At last - I can say that I appreciate the effort put into this. Took me a while but the end result is good. Considerable improvement in fact.

Big thank you to the developers and the significant patience putting up with users.

2 Likes

I shall refrain from any view on the design involved.
However, one factor that may alienate and create barriers for use is terminology.
In relation to the discussion here there are two things that ought to be considered in this respect:

A. “filter”: I do believe that for most user that have their first look at dt, “filter” is something you put in front of a lens. If rather meeting “filter” as referring to a (set of) selection criteria, it may possibly be understood, but I posit that for most it is not intuitive. (Neither is the use of “filter” as referring to a processing module …). The manual is in line with what I say her as it states in point 2.5.1 “A collection is a set of images matching a given selection criteria”.

“Filter” has the advantage in UI lay-out in that it is shorter than “selection criteria”, other than that, it ought not be used.

B. “film roll”: Even though I’m so old as to actually have been using film rolls, I have great problems with this term in dt. The foremost attribute of a film roll is to be a fixed longitudinal set/sequence of images. That does not apply to a set of files in a folder which may may have new images injected or existing images removed, as well as their sequence amended. So why use this arcane and misleading term for users who many have no relation to a film roll at all - but are well versed in “folders” and “selection” etc??
Can’t one rather simply use “image set”, “selection”, “(sub-)collection” or anything similar that people may have a chance to understand without referring to the manual?

1 Like