Hacker News new | past | comments | ask | show | jobs | submit login
Data compression proxy for Chrome for Android (beta) (developers.google.com)
70 points by igrigorik on March 5, 2013 | hide | past | favorite | 45 comments



Hope there's an opt out. I can imagine all this web history coming back to bite some day.

For example during a murder trial: "And is it true Mr X, that you browsed the page 'Top 10 amusing CSI murder strategies" "Yes, but.." "And was number 6 not the exact method used to murder Ms Y?" Jury murmers in disapproval

It's like numerology, the more data points you have the higher than odds of finding a couple of data points that coincidentally line up, all in a conveniently subpoena friendly Google data centre.


You have to explicitly enable it in chrome://flags - the default is off. So, yes, there is definitely an opt out!


Can we run our own proxies? That would be a good compromise - and we could tunnel SSL to our own servers safely and privately.


This guy did: http://00f.net/2012/06/02/mod-pagespeed-as-a-proxy-for-your-...

And so did this guy: http://vincent.bernat.im/en/blog/2011-mobile-browsing-conten...

You could even take mod_pagespeed and start selling your own competing optimizing proxy; it's open source.

(Evil idea: run an optimizing proxy in a part of the world with very slow or expensive-per-byte internet and make money via ad insertion or replacement.)


Now to figure out how to combine this with mod_spdy.


Its because it's in testing stages. I'm pretty sure that if it works well, it'll just be default, and you'll be able to optout in chrome://flags (which most regular people don't know about anyways)


Well, I guess it's also possible to promote that to a more user friendly setting.


You also need to disable Chrome from auto-suggesting websites based on the URL you're typing. And take care not to use Google search. Or visit any pages with Google ads / analytics / CDN hosted files. Or use their DNS services. Or use Google Fiber or any of their public wifi. Or be in sight of anyone using Google Glass.


Or simply use tor?


Solution: use a different browser. Other browsers on Android do have certain benefits. Opera has userscripts, Firefox has add-ons.


Well, you would probably reach that page from a Google search anyway.


You might want to consider not to murder someone.


You completely missed the point. The point is that it could be evidence used against him when falsely accused of murder.


Right, I stand corrected, I guess I read the comment too quickly.


It's (currently, at least) opt-in.


One of the things they explicitly call out is DNS late binding: it doesn't look like they make any exceptions for CDNs and other services that use geo-IP lookups. You could argue that the speed improvements do away with some of the need for CDNs, but there will probably be some other cases that this breaks. You'd want some way for a specific domain to opt-out: perhaps a DNS text record that gets read and indicates that a site shouldn't be optimized?


The IP address of the visitor is forwarded in X-Forward-For, which is a standard header and CDN's can leverage that. Having said that, note that this can actually work against you.. The whole idea is that all of the requests are multiplexed over SPDY between the device and the proxy. So you actually want the closest resource to the proxy, not to the device (and the proxy as close to the device as possible, of course.. :))


So yeah, I know, it actually works, it actually provides benefits. I know, opera has this option too.

But really, sending all my data via google, as if all the rest going through them wasn't enough.. doesn't make me all that comfortable. No one company should control OS, client, data at rest and data flows. It's too much responsibilities in one single place.


How does it know if the image is just going to be displayed and can therefore be recompressed vs when the image is used for data? For example many WebGL apps have data in PNGs because they are normal maps or heighmaps. Mucking with the data will mess them up.

Other apps store data in their PNGs. For example Monoco encodes its saved game files as screenshot PNGs and stores the save data in the lower order bits of each pixel. Mucking with the data would make it impossible to load saved games.

Is there a way for a page to opt out for these cases?


Specify "Cache-Control: no-transform" on assets that need to be skipped.


And how do I do this if I don't control the server? For example there's all these samples being served off of github.

http://mrdoob.github.com/three.js/

AFAIK there's no way to specify a header from standard HTML and it's highly unlikely that most people will have access to the servers that serve their content to set these headers on a per file basis


I don't have an Android phone handy, but I'd love to poke at this. Does anyone know the IP addresses they're using for the proxy? Is there any authentication that limits this to Chrome on Android or are they essentially running this as an open proxy?


Be assured that if you were not identified, they'd have no reason to run the service in the first place..

Without looking I can safely say it's not a public proxy, probably tied to your device's Google Accounts session.


It's absolutely not true that the only reason to run a service like this is to tie usage to specific users. And you don't even need to assume that this is altruistic. Here are some concrete benefits to Google.

First of all, encrypted traffic allows circumventing content mangling middleboxes at operators. Sometimes those middleboxes are merely annoying (say Byte Mobile), sometimes outright evil (ad insertion / replacement).

Second, a faster web experience will mean more web usage in general, and that'll translate to more ad revenue for Google.

Third, faster (or cheaper) web usage is a competitive advantage. On one hand it makes Android more competitive against iOS and WP8 (and the bit players as well). On the other hand it makes Google Android more compelling than other Android versions. Not a big deal with Amazon's fork. Potentially huge if e.g. Samsung were considering a full fork.

That's a few off the top of my head. If you try, I'm sure you too can come up with more plausible explanations than "you're the product".


"note that secure connections (HTTPS) are routed directly from your mobile device to the destination, bypassing the optimization proxy – only HTTP requests are routed through and optimized by the proxy. Further, the use of the service does not require a Google account; navigation in incognito tabs bypasses the proxy; original IP address of your device is forwarded to the destination via the X-Forwarded-For header – the data compression service is a transparent proxy."


That's actually cool. I hope they'll keep it that way.


> Without looking I can safely say [...]

Without looking, you and your misplaced confidence just ended up spouting the exact opposite of the truth:

"Further, the use of the service does not require a Google account"

Whoops. Try reading the article next time before claiming as fact something that you just made up?


I think it's the same thing Opera Mobile has been doing for a long time now ...


Yes Opera Mobile has the turbo mode which is similar to this technology http://www.opera.com/turbo where it proxies the connection and compresses the data.

Opera Mini on the other hand uses OBML http://dev.opera.com/articles/view/opera-binary-markup-langu... which is an entirely different thing.


OBML is a superset of a compressing proxy.


I look forward to the articles in a year's time pointing out that "Little-known browser Opera now offers a data compressing proxy mode similar to the system Chrome's used for almost twelve months."


Yeah, I remember having it on Opera Mini on my old Sony Ericsson, prior to the advent of 3G networks. It was extremely useful, actually.


Oh Yes, sorry I meant Opera "Mini"! Opera Mobile is a full fledged mobile browser instead.


No you were right. Opera Mobile has a "Turbo" mode that does almost the same thing as this. Opera Mini is a bit more extreme.

Though there seems to be some confusion as Opera have been talking about combining both Mobile and Mini into one browser, and the new Webkit beta seems to be it. No one seems to know exactly which bits of each service have been retained.


Now called Off road mode.


This seems to only be available to devices capable of a mobile data connection. My WiFi-only Nexus 7 doesn't have the options while my Galaxy Nexus does. I suppose the utility of this service would be limited on a true WiFi connection, but I commonly use my GNex's hotspot capabilities. It's a shame that it seems I can't use this over that connection.

Edit: Seems there's a newer version, but the Play Store tells me it's incompatible with my Nexus 7. That would explain the missing flag.


Nexus 7 incompatibility appears to be a bug... stay tuned.


I wonder if the Engine behind it is Open Source or could we use this services from other browsers like Firefox?

This is beneficial for Getting pass Firewall restriction, from China Firewall to Office Internal Firewalls. Speed up Internet connection, especially in places where the shared internet is extremely slow. ( Office or Public Computers )

While i am already using my own VPN for this purpose. It is much slower compared to a normal internet collection if your VPS is not located close to you.


This seems like a rough equivalent of "Onavo" for Android: http://www.onavo.com/apps/android_extend/


Similar perhaps in that they both compress the stream. Onavo creates a VPN between your device and their proxy server, but it still uses the traditional TCP/IP stack. Google's solution will hopefully work better. Onavo only worked over cellular data and in my testing it was noticeably slower. The advantage was only in the amount of data. I'm hoping, and from the sound of things, this solution will reduce bandwidth and return data faster than an unproxied connection.


wondering if this means I can bypass the GFW in China to visit some blocked sites(facebook.com, etc) ?


In theory it could also be used to circumvent country lock for videos and such?


Well, that probably depends on whose locks you're trying to get around. igrigorik noted that the proxy does pass along the user's IP address in the X-Forward-For header, which could be used to preserve a country lock.

Who will actually do that? I can only speculate. I'd expect Google video sites to pay attention (they tend to be pretty technically savvy in implementing their country blocks). On the other hand, I suspect most non-Google sites to not pay attention unless the proxy usage becomes large enough to notice (or unless they're already triggering off of X-Forward-For for other proxies and the like).


Wonder if they just reused bits of now dead Google Accelerator...


PageSpeed optimization libraries (under the hood): https://developers.google.com/speed/pagespeed/psol




Consider applying for YC's W25 batch! Applications are open till Nov 12.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: