We face a number of challenges simply letting our paying customers change their search engine:
1. On iOS the list of allowed search engines is simply baked into OS, we have a fiddly extension that hooks outbound calls to /search and redirects them but I wish we didn't need to.
2. On Chrome, we use an extension to change the default search engine and enable search auto-complete etc, but Google has a policy that such an extension can do one thing and one thing only, and recently removed our extension on account of that [1]. We rebuilt it to meet their needs but had a lot of back-and-forth because we included 'search by image' on a context menu item and the first reviewer felt that was a bridge too far. You'll note that Chrome provides such a context menu item for Google Image search out of the box.
3. On Chrome for Linux, the default search engine API is not available, so Linux users have to configure it manually through a series of silly steps [2]. This is at least in keeping with most Linux experiences.
There are other issues, but I say all this to highlight how surprisingly difficult it is to change this setting in a practical, consumer friendly way. It is most certainly this difficult by design, that's a lot of revenue to protect.
1. On iOS the list of allowed search engines is simply baked into OS, we have a fiddly extension that hooks outbound calls to /search and redirects them but I wish we didn't need to.
2. On Chrome, we use an extension to change the default search engine and enable search auto-complete etc, but Google has a policy that such an extension can do one thing and one thing only, and recently removed our extension on account of that [1]. We rebuilt it to meet their needs but had a lot of back-and-forth because we included 'search by image' on a context menu item and the first reviewer felt that was a bridge too far. You'll note that Chrome provides such a context menu item for Google Image search out of the box.
3. On Chrome for Linux, the default search engine API is not available, so Linux users have to configure it manually through a series of silly steps [2]. This is at least in keeping with most Linux experiences.
There are other issues, but I say all this to highlight how surprisingly difficult it is to change this setting in a practical, consumer friendly way. It is most certainly this difficult by design, that's a lot of revenue to protect.
1: https://www.hackerneue.com/item?id=41028924
2: https://github.com/kagisearch/chrome_extension_basic?tab=rea...