Google's Unfair Performance Advantage in Chrome (ctrl.blog) 37
An anonymous reader shares a post: Google Chrome for Android has a feature that gives Google Search an unfair advantage over its competition. Sure, it's the default search engine and that's a huge hurdle to overcome for any competitor. However, Chrome also reserves a performance-boosting feature for Google Search exclusively. I recently poked around in the Chromium project source code; the open-source foundation for Google's Chrome web browser. The Chromium project is co-developed by Google, and other corporate and individual contributors. The project is managed and controlled by Google, however. I was looking for something else when I stumbled upon a feature called PreconnectToSearch. When enabled, the feature preemptively opens and maintains a connection to the default search engine.
The preconnection feature resolves the domain name, and negotiates and sets up a secure connection to the server. All these things take time and they must happen before the search engine can receive the users' search queries. Preempting these steps can save a dozen seconds on a slow network connection or half a second on a fast connection. This optimization can yield a nice performance boost for Google's customers. Assuming the connection only requires a trivial amount of processing power and network bandwidth, of course. Setting up the connection early can be wasteful or slow down the loading of other pages if the user isn't going to search the web. There's just one small catch: Chromium checks the default search engine setting, and only enables the feature when it's set to Google Search. This preferential treatment means no other search engine can compete with Google Search on the time it takes to load search results. Every competitor must wait until the user has started to type a search query before Chrome will establish a connection.
The preconnection feature resolves the domain name, and negotiates and sets up a secure connection to the server. All these things take time and they must happen before the search engine can receive the users' search queries. Preempting these steps can save a dozen seconds on a slow network connection or half a second on a fast connection. This optimization can yield a nice performance boost for Google's customers. Assuming the connection only requires a trivial amount of processing power and network bandwidth, of course. Setting up the connection early can be wasteful or slow down the loading of other pages if the user isn't going to search the web. There's just one small catch: Chromium checks the default search engine setting, and only enables the feature when it's set to Google Search. This preferential treatment means no other search engine can compete with Google Search on the time it takes to load search results. Every competitor must wait until the user has started to type a search query before Chrome will establish a connection.
Similar to Microsoft and Office (Score:3)
Re:Similar to Microsoft and Office (Score:5, Insightful)
It make sense for them, but on the flipside, it is also anti-competitive and hence in sane jurisdictions not legal.
Re: Similar to Microsoft and Office (Score:1)
Re:There are more than two arthropods (Score:2)
At the same time if they allowed it to hit Bing.com every time a user launched the browser without visiting the site then they'd get complaints that they're raising server usage in an anti-competitive manner. It's a can't win situation.
Though, It should just have the setting and let the user enable it or not. There's no reason to check which site is enabled.
Re: Performance? (Score:1, Insightful)
Re: Performance? (Score:3)
If establishing a TLS connection took 12 seconds, you have bigger problems.
Re: (Score:2)
Well, probably less than they care about their search engine eating up their traffic limit. And yes, in mobile markets these things still are a thing in many countries.
In other words, I could kinda see how this nugget of informatíon may backfire badly for Google.
Not so fast... (Score:5, Insightful)
Every competitor must wait until the user has started to type a search query before Chrome will establish a connection.
Not so fast... Have other search engines asked for the PreConnect feature?
Google can put this in the browser for their own servers, Because they own those servers, and therefore... they can work out what Impact this has on their own servers and Consent to this non-standard behavior which will chew up resources and cause extra load - even when people aren't searching.
Other search engines may have a different decision process... Not every search engine is necessarily wanting to make the decision to take potentially millions of Web connections not associated with a query or request.
Logically speaking: They should get permission, Or have those search engines request the feature, Or offer up consent for this in some way.
If those search engines have not done so, then it's not fair to say they are being penalized or being given poor treatment.
Re:Not so fast... (Score:5, Insightful)
Re: (Score:3)
Re: (Score:2)
Re: Not so fast... (Score:2)
Post aborted! Filter error: Looks like ascii art
so just google it. Oh wait, this is super secret and only was exposed by SuperBlogger's expansive investigation skills, so be sure to give him some ad money by visiting his site.
Re: (Score:1)
According to TFA this code was only added this year, so chances are it's still undergoing testing by Google to check that it does improve performance and what the extra load it creates is.
Re: (Score:2)
Re: (Score:2)
Re: (Score:2)
These are metrics Google themselves has invented out of thin air because from their point of view, slow loading webpages are a problem when they're trying to index the entire Internet.
Google doesn't give a shit how long it takes to complete a query. They just kick off more parallel queries.
Re: (Score:2)
Google doesn't give a shit how long it takes to complete a query. They just kick off more parallel queries.
I, and I imagine many websites limit the number of simultaneous open connections and active queries per IP Address range to the web service port to discourage DoS attempts to about 3 connections per IP and 10 from the same major network range X.Y.*.*/16 block -- attempting to kick off more than a couple parallel queries would mean the additional connections get stuffed into the listening queue and
Re: (Score:2)
Right, but they're indexing the internet. If it takes a long time to index your content that's your problem from their standpoint, as if nobody can find your content, nobody will visit it. They'll get it sooner or later.
Re: (Score:2)
We're not using 14.4kbps modems any more
We should not be. There are still people in the US who rely on Dial-Up as their sole access to the internet, though.
The ones I know of were all in a highly rural area with no broadband other than Satellite which a lot of customers were not willing to buy because of the high costs.
I would not say this is a Google monopoly problem though. People willing to use such connections are going to have different expectations and a ton more patience, AND the abusive monopol
Good reason to diversify (Score:3)
Good reason not to put everything in 1 provider (i.e. if you use chrome, use a different search default (DuckDuckGo), or if you are wed to Gsearch, use a different browser.
Putting all your services on google is gonna really hurt should they ever disable your account.
Consider the flipside, though... (Score:5, Interesting)
Imagine if Android did this by default on all search engines - I think it's likely there'd be a fuss along the lines of "Chrome Users Inadvertently DDoSing Rival Search Engines With Automatic Sustained Connections".
I'm not trying to white knight Google here, but all these persistent connections do hog server resources, and it seems like it'd be shitty bad-neighbor stuff to do that to servers Google wasn't in charge of.
Re: (Score:2)
Imagine if Android did this by default on all search engines - I think it's likely there'd be a fuss along the lines of "Chrome Users Inadvertently DDoSing Rival Search Engines With Automatic Sustained Connections".
Close, it would be "Evil Google proves that Dont Be Evil is dead by intentionally and evilly DOSing rival search engines, because they are evil. Also, Evil."
Re: (Score:2)
Why would it connect to every provider? Just preconnect to the default one. The point is it ONLY does this to a) google and b) when google is default.
Client Cost (Score:2)
Reason for asking is I’m wondering if this feature could be a performance hit, say in battery terms, on the handset. The article makes clear that this feature is specific to Android (maybe ChromeOS too) but it doesn’t say what happens if the connection times out due to inactivity.
We would expect this to happen at some point, since even Goog
Re: Client Cost (Score:2)
You are in control.
If you don't want the data or battery hit, change your default search provider.
Re: (Score:2)
My guess is that this is why the check for which search provider you're using is present: the feature requires cooperation from the server to handle keep-alive and timeouts properly, so it's only enabled for search providers which support it (currently only Google Search, since they wrote the feature).
Yeah? So what? (Score:2)
Preempting these steps can save a dozen seconds on a slow network connection or half a second on a fast connection.
And this is an issue, how? Someone explain to me how saving a half second on a search can in any way affect one's life? Even saving twelve seconds on a slow connection is irrelevant.
If you're that hard up that those fractions of seconds dictate your life, you have more serious problems. And no, adding up all that "extra" time across a year is also not meaningful.
A total non-story .. (Score:1)
"Chromium checks the default search engine setting, and only enables the feature when it’s set to Google Search"
Sounds like something Microsoft would do. Like make the text rendered in the browser jagged if it's Opera.
Follow The Money (Score:2)
Always follow the money.. Who has the most to gain by "reporting" BS?
Storm in a Teacup. (Score:5, Informative)
Ex-Chrome engineer here. How long does it take to type enough of a search query to start autocomplete? More than a half second? The connection will usually be established by then, much faster if the TLS session is resumed. QUIC 0RTT is even faster.
Chrome runs experiments all the time, often only against Google infrastructure. The reason is because Chrome has billions of users. It is not OK to suddenly DDoS a third party website.
A lot of experiments don't work out. Some do, and are standardised in some way. I have no idea if this one is effective... Chrome cares a lot about users in the developing world and maybe this is a win there. The data will tell. But users on modern devices and networks will not suffer any ill effect even if they choose a different search engine.
Re: (Score:3)
Google autocomplete is irritating. Chrome makes autocomplete irritate *faster*.
I want autocomplete with selection, but not immediate search; thus allowing me to edit / append the query.
While we're at it: Google needs a switch to turn off synonyms / related-terms. I'm not asking for regex, just sub-string match. Quoting the terms / phrase either only makes small improvements in results, or no results at all. Which appears to mean that Google's database is optimized for popular searches.
Heck with it.
Googl
Unfair True (Score:1)
The computer in most pockets is also a phone.
Any computer that runs Chrome should also be subject to the same internet Search engine criteria as any other computer.
Size and type of the machine using Chrome should not matter.
Normal (Score:2)
For Android it's Google
For iOS it's Apple
and for the 2 windows phones it's MS.
There's nobody else left.