I’d like to open a discussion around the current search UI, especially as it handles collections. It’s powerful, but when the most common use case is just a “search everything” bar, it’s overkill and confusing. Consider the following common use case:
I save a search as a collection. My saved search uses metadata such as character or plotline.
I select my collection. I proceed to work as normal.
I want to perform a search within that collection, or I want to do a project-wide search, so I type into the project search bar.
I get befuddled by the lack of results, only then to realize that selecting my collection toggled the metadata column used in my saved collection to be selected, so my search didn’t search “all”.
The main proposal here is a visible decoupling of the saved search collection with the project search option. Proposed functionality is to hide this data from the current search interface. So, if I have a collection selected, by default, the project search dropdown would say something like “Search only collection Foo”. When a collection is selected, this would be the default, but it could be unchecked to do a normal global project search. There are other variations to this implementation, but the basic idea, decoupling the saved collection with the current project search interface, is the thrust of the proposal.
When introducing users to Scrivener, I’ve often assisted with “my search isn’t returning anything” questions. Have others experienced the same? It seems the confusion around this feature speaks to the potential for improvement regarding the interface.
I’m not sure what you mean here. You seem to be saying that when you return to regular search results, it has taken on the settings of your search collection, but I can’t reproduce that and it shouldn’t happen. If you just mean that when you use the search field when a collection is selected it uses the collection’s settings, then yes, that would be expected behaviour, because switching to a search collection toggles the meta-data settings and reruns the search. If it reset the meta-data to the defaults after calculating the collection, you’d never be able to see the current settings of the collection by opening the search menu.
I like the idea of offering an option to search only within the current collection, though, and have added it to my list.
Hi KB, thanks for taking the time to have a look, I appreciate it!
I actually mean both, this bug does exist, at least for me. It’s subtle, though, it’s possible you overlooked it in a quick test case. I’ve reproduced the issue in multiple scrivener files, including new files. I’m using 1.8.5.0.
Here’s how to reproduce:
Set the search to the default All (Exact Phrase) if it’s not currently (this bug sometimes doesn’t appear without this, I think).
Search and create a search collection using a nonstandard field (e.g. notes)
Select the search collection (The search bar updates, correctly based on the current functionality, to the test term and the search field. So far so good.
Select the binder again. You’ll see something like “All (Exact Phrase)” (or whatever the default search was set to) as the text in the search box. However, if you click the search dropdown, you’ll see that your field (e.g. notes) is selected, and the hint text is actually incorrect.
Due to this bug, the below functionality is even more confusing, because the search appears to reset but doesn’t. binder search bar appears to have reset to default, but still retains search collection settings
Note: This bug does not always occur if anything other than phrase match is selected: All words and any words make the hint text say e.g. “Notes (All Words)” after changing back to the collection.
However, you can still reproduce the bug with 3 more steps:
5) reset the search options to default manually (all exact phrase) and perform a search.
6) Select your binder again, now you’ll see “All (Exact Phrase)” (which is correct).
7) Select the saved collection again, then switch back to the binder. Now you’ll still see “All (Exact Phrase)” but if you check the fields and matching options, they’ll match those of the saved search.
Here’s another example: In this case, I made a new scriv, created a match for the notes field with “All words” selected. After selecting my collection then toggling back to the binder, here’s the state of the search bar:
As you can see, in this case, both the field and the match are incorrectly displaying, as they’ve carried over from the search collection.
However, the hint text doesn’t properly update in other cases, too. This appears to be a separate bug, but I’m mentioning it here since it affects the reproduction of the above… In another case, even after changing the search settings to default manually, the old text still displays. Does hint text not update on the selection of anything in the search dropdown? Only after a search and the searchbox losing focus will the hint text update.
Above issues notwithstanding, while I agree that from a developer’s perspective this is expected behavior, I don’t think it’s a user’s expected behavior. Users are not thinking about the collection as a saved search, they’re thinking about it as a collection. If a user has a search collection selected and attempts a search, they’re looking for one of two things:
A normal global search, ignoring the collection
A normal global search but restricted to the collection
However, neither of these is possible because the saved search isn’t saved behind the scenes, it appears to be closer to a macro that populates the search bar with the saved settings.
I think we’re on the same page, though: by adding the “search in collection” option, you’d have to decouple these things, right? The search bar would no longer be populated with the text and fields of the saved search. This allows a user to select a saved search and still use the full power of the global search bar without being restricted to the current search. So I think this would be a huge usability improvement for saved searches.
My apologies, I tested only in the Mac version, which doesn’t have this bug. I’ll pass this on to the Windows team to address.
Remember that I’m a user of Scrivener, too (I designed it for my own writing), and I design from a user perspective. These collections are very explicitly saved search collections, and the search icon in the collection tab indicates that these are different kinds of collections.
And actually, I just realised that a future version will be able to do what you want anyway, without an explicit option: you can click on the collection header bar to load the contents of the search in the outlier or corkboard, and then you can filter the outliner or corkboard to search within that collection.
Probably my fault, I didn’t realize there was a windows-only wishlist forum, I don’t think I posted this in the right place. Sorry to have wasted any of your time for the wrong version!
I appreciate the insight into your use of Scrivener, and didn’t mean to imply you don’t “dogfood”. I would suggest that as an extremely familiar user, sometimes it’s tough for software designers to remove their own foreknowledge and familiarity from the feature set, in the way that an author can become overly familiar with a character…but I don’t think I’d be telling you anything you don’t know.
Your “filter within collection after loading” is exactly what I’m after, I’m happy to hear that’s in the works for someday!
Thanks for you time and your awesome software.
-eric