Niagara-Issues
Niagara-Issues copied to clipboard
Search result ordering / Fuzzy search
Assume, I have 5 different camera apps installed, one of them being my favorite.
Currently, when I input "cam", I get all of them in a (somewhat??) alphabetical order.
It would be really good, if matches from the favorite list would have a higher priority than the rest.
Also, if you'd implement my other issue with the matching algorithm, then the following would be helpful:
Order the results by "match strength". This factor could be calculated by counting the letters in between matched characters, while lesser is better.
For example, given the word "test", "te" would have a lower number than "ts".
At the same time, the number of matched characters would also have to be considered, where higher is better.
Finally, you could add some arbitrary value to the apps from the favorite list.
To conclude, the formula would have to take in the number of matched letters, the density of those matches and some arbitrary number for the favorites to put them a bit ahead, but not top spot all the time.
I'd suggest multiplying count with density. Density = matched characters divided by length of substring between first and last matched character (inclusive).
Example: "ts" would get a count of 2 and a density of 2/3. The final score could be 2*2/3 = 3/4 = 0.75. "te" would get a count of 2 and a density of 2/2. => 2 "tst" would get count of 3 and a density of 3/4. => 2.25
This value would then be multiplied by say 1.5 if it's in the favorite list. The 1.5 would have to be editable via a settings entry.
I'd like to add onto this request. I'd like to ignore special characters in search (it could be implemented by just not caring much about special characters.
For example, I'd like to be able to find F-Droid by searching "fdr"
To better plan ahead and give users an estimate of which features will be added to Niagara, I’ve decided to close all feature requests that are unlikely to be implemented this or next year (2021 & 2022). This is one of those, unfortunately. I'm sorry.
We have re-opened this issue, since we are still waiting for the release of Android's library for searching. After it's released, we plan on improving our own search algorithm.
Niagara's swipe down to search feature is really handy for opening apps quickly, however I found it to be quite inefficient in two particular regards which prompted me to request for search to be made better.
#1
Display the app pertinent to search query by cross-combining characters from multiple words - in case the app's name consists of two or more words. For example if I want to search for Samsung Health I input she
and Samsung Health shows up in the search results, wherein the s
represents the first word; Samsung and the he
represents the second word; Health.
#2
Display an app in the search results even if query is slightly mismatched. For example if I type tle
instead of tele
still display Telegram in search results.
I hope my request is considered. I do understand if implementing said improvements in search is not technically feasible, I'm not sure how the tech behind Niagara search actually works but this is just my feedback as an end user on enhancing the user experience.
Niagara Launcher v1.10's search is now fuzzy! We've opted for a more strict fuzzy search to keep the result list somewhat short since we also plan to broaden our search (e.g., searching the web and for contacts). If you have suggestions on how we can improve our search, @TFackler will gladly discuss them with you - he designed the new search algorithm. You can download v1.10 (beta) on GitHub or wait for the stable Google Play release to try it out.