This is an update of https://moxfield.nolt.io/1169 (which was merged with https://https://moxfield.nolt.io/1182 ) since those two have been closed and yet the group of problems / friction points remain.
All objective statements made in this post are my subjective opinion. Adding “i think” or “in my opinion” to each instance would clutter the text too much. (<- For example, apply here)
Problem, version 1:
If i want to add Fury to a deck, typing Fury does not make it show up on the short-list. This can be solved by typing !Fury if you know to do so, but this is not something all users know and is still suboptimal for reasons i will get into below.
Problem, version 2:
If i want to add Noble Hierarch, typing Noble Hierarch does display it in the short list, but below Ignoble Hierarch so you cannot quick-add it with keyboard commands. You can just click it, but for power-users this is not optimal. Just typing ! at the start wouldn’t fix this, as it only applies to the first word, thus !Noble hierarch doesn’t match anything, and !noblehierarch doesn’t show options if you stop halfway i.e. !nobleh doesn’t match anything. Partial searching is something you would use if you think it’s spelled Noble Hierach and can’t figure out why it’s not showing up. This spell-checking of names is a good and useful part of the searches and not having it available when trying to mitigate the ordering problem is far from optimal.
Solution:
When searching for a card, if the search contains one or more name pieces (E.g. not t:land or !land, just land) then the results should be re-ordered so that cards that start with the searched name pieces in the order they appear in the query, are shown first sorted alphabetically then other cards are shown after, also sorted alphabetically. And this should be done before deciding which cards are shown in the short-list.
Example:
The shortlist for the search “on id:green ce” should start with the start-of-name-matches of Once and Future, then Once Upon a Time, then follow with the rest of the searches starting with Accelerated Evolution.
Allowing this sort of disjointed searching would be consistent with how a search for “batw” currently matches with Bat Whisperer, which is functionality that is good and should be retained.
Downside:
This would make each search have a second search of the results, making generic searches like just the letter “a” take around 50% - 66% longer, while more precise searches like “Aang” would still take a few dozen clock-cycles extra. If this is too big of a downside, i can understand.