# Orion browser - Proposal for address bar autocomplete refactor
--
Current browser autocomplete is large and inefficient.

Instead of showing results from multiple different places divided into various sections, we want to only show top X (5) hits and make those as good as possible.
This is driven by the observation that users focus on top 5 results anyway and everything that is below fifth result is both rarely considered and hard to reach with the keyboard.
This is similar to search engines, where top 3 results get almost all clicks, and a search engine really tries to make sure that number one result is what the user wants.
- We will get results from all places that the user enabled (open tabs, search suggestions, bookmarks, history...) and then score them based on the below formula.
```
// Orion address bar auto complete settings
numResults: 5, // show this many results
// base scores
// base score is formed by adding all of the below that apply
openTabBaseScore: 50 // base score for open tabs
bookmarkBaseScore: 35, // base score for bookmarks
historyBaseScore: 30, // base score for history, will get boosted by multipliers below
searchEngineBaseScore: 20, // base score for search suggestions
greedyMatchBaseScore: 20, // prefers matching more of title/domain vs less. For example if input exact matches a title then entire greedyBaseScore is added; if 20% matched than 0.2*greedyBaseScore is added to base score
//everything gets multiplied by below factors
titleWeight: 1.05, // multiplier for matching title
urlWeight: 1.0, // multiplying for matching url
startWeight: 2.0, // multiplayer for matching from the start of title/url
wordWeight: 1.2, // multiplier for matching beginning of a word in title/url
// 'contains' matches get 1.0 by default
favoriteWeight: 1.2, // multiplier for favorited bookmark
freqvisitedWeight: 1.2, // multiplier for frequently visited sites
tabSameWindowWeight:1.1, // multiple if tab is open is current window
recencyWeight: 1.3, // maximum multiplier for recent visits, geometrically drops down to 1.0 for sites visited 7+ days ago
visitedWeight: 1.3, // maximum multiplier for most frequently visited sites, geometrically drops to 1.0 for sites visited just once
```
- We should remember user selection for any input and show that as #1 result next time regardless of score
-
- We will also add "Advanced" tab in the Settings. It would have a button "Edit configuration" which would expose all these option in some sort of table view (on the left is the name and on the right is the value). We want this table view to have collapsible "sections", so we would name this section "Location bar autocomplete" and other settings would have sections in the future so that user can easily find them.
- When showing results in autocomplete, prefix them with a favicon (except search results which should be looking glass icon)
- We can pre-fill some popular sites as a separate list so that first time users of the browser still can autocomplete sites like wikipedia or ebay:
popularSitesBaseScore: 40 (number one site gets 40, number 100 would get 1).