'a' in Omnibox suggests 'chrome://...' over 'a...' suggestions |
||
Issue descriptionChrome Version: 63.0.3218.0 (Official Build) dev (64-bit) (ToT build) OS: Linux What steps will reproduce the problem? (1) Use a new profile, perhaps with --user-data-dir (2) Enter 'a' in Omnibox What is the expected result? That the top result would either contain an 'a' or be popular. What happens instead? The top results are 'chrome://...' origins and e.g. 'amazon' falls off the bottom. It doesn't happen for other letters, besides 'c'. The 'a' is obviously matching 'about:'. While I can picture some policy where we prefer to show the user that 'about:' is equivalent to 'chrome://', I find it hard to believe that most users want 'chrome-urls' before 'amazon'. I would expect 'chrome:' suggestions to be weighted lower, unless the user frequently goes there. Here is chrome://omnibox for a fresh profile. Note that 'amazon' is included. I can follow-up with the forensics that show it falling off when I get back to that profile. cursor position = 1 Combined results. Provider Type Relevance Contents URL Search search-what-you-typed 851 a https://www.google.com/search?q=a&oq=a&aqs=chrome..69i57j5l3j0l2&sourceid=chrome&ie=UTF-8 Builtin navsuggest 862 chrome://chrome-urls/ chrome://chrome-urls/ Builtin navsuggest 861 chrome://settings/ chrome://settings/ Builtin navsuggest 860 chrome://version/ chrome://version/ Search search-suggest 601 amazon https://www.google.com/search?q=amazon&oq=a&aqs=chrome.4.69i57j5l3j0l2&sourceid=chrome&ie=UTF-8 Search search-suggest 600 amalia hernandez https://www.google.com/search?q=amalia+hernandez&oq=a&aqs=chrome.5.69i57j5l3j0l2&sourceid=chrome&ie=UTF-8 Results for individual providers. Provider Type Relevance Contents URL Builtin navsuggest 862 chrome://chrome-urls/ chrome://chrome-urls/ Builtin navsuggest 861 chrome://settings/ chrome://settings/ Builtin navsuggest 860 chrome://version/ chrome://version/ Provider Type Relevance Contents URL Keyword search-other-engine 450 <Type search term> Keyword search-other-engine 450 <Type search term> Provider Type Relevance Contents URL Search search-what-you-typed 851 a https://www.google.com/search?q=a&sourceid=chrome&ie=UTF-8 Search search-suggest 601 amazon https://www.google.com/search?q=amazon&oq=a&sourceid=chrome&ie=UTF-8 Search search-suggest 600 amalia hernandez https://www.google.com/search?q=amalia+hernandez&oq=a&sourceid=chrome&ie=UTF-8 Search search-suggest 567 america's got talent https://www.google.com/search?q=america%27s+got+talent&oq=a&sourceid=chrome&ie=UTF-8 Search search-suggest 566 airbnb https://www.google.com/search?q=airbnb&oq=a&sourceid=chrome&ie=UTF-8 Search search-suggest 565 autozone https://www.google.com/search?q=autozone&oq=a&sourceid=chrome&ie=UTF-8
,
Sep 20 2017
My biggest question is why we're letting the built-in provider "stuff the ballot box". Simply by matching a single character - a very common first character - we push a stack of 'chrome://' entries, which contributes to pushing the others off the list. An improvement might be to push 'chrome://settings' at the same score, but the remainder at a greatly reduced score.
,
Sep 20 2017
Because the BuiltinProvider is very simple and just gives a fixed score to everything. Remember that this is basically how all the providers were designed initially, and we've only added complexity as needed. Changing to account for how much of a match a user has typed, on its own, would probably bias toward the shortest builtin URLs, which is probably not right either. We might want to rank-order a few at the top by hand (as you suggest) or something. But again, I don't think this is really worth spending time on. Typing a single character and then looking at the results, with no existing profile data to provide history suggestions, is a use case that basically only comes up in testing. In cases with more input and/or more profile data, the results work better, and I'd focus our time on those.
,
Sep 20 2017
I think a reasonable, low-investment change would be to make builtin provider score something lower, like 400 or 500 [1], in cases that the user hasn't yet typed the colon in the scheme. Then search suggestions from the server will outweigh them. I think this is equivalent to saying that it should score at 400/500 if the input type is UNKNOWN, and left at its current 800-something if the input type is URL. Check this claim. I would be reluctant to spending much more time worrying about this than the simple proposal I've suggested here. By the way, if the user hasn't typed the beginning of the chrome URL "hostname", we do have an explicit rank order for suggestions: chrome://chrome-urls/ chrome://settings/ chrome://version/ I think this is a good order. The first gets you everywhere, and the second and third are common destinations. [1] This is based on my interpretation of this table https://cs.chromium.org/chromium/src/components/omnibox/browser/autocomplete_provider.h?sq=package:chromium&l=60 and the current metrics about usage. Whether it should go above or below incomplete keyword search names is debatable. I'm include to say "below", simply because showing keyword search names might prompt users to realize "hey, Chrome has a keyword search mode". I don't feel strongly.
,
Sep 20 2017
I think that's too conservative. If I type "abou" or "chrom", I think BuiltinProvider results should be higher than 500.
,
Sep 20 2017
If we're starting to talk about variable-length scoring, we might be overthinking this. It's not worth much time.
,
Sep 20 2017
You did note that comment 1 proposed variable-length scoring, right? :)
,
Oct 25 2017
|
||
►
Sign in to add a comment |
||
Comment 1 by pkasting@chromium.org
, Sep 20 2017