ooni / probe

OONI Probe network measurement tool for detecting internet censorship
https://ooni.org/install
BSD 3-Clause "New" or "Revised" License
758 stars 142 forks source link

mobile: allow users to select NDT metro #820

Open bassosimone opened 6 years ago

bassosimone commented 6 years ago

I was browsing through the OONI Probe reviews on the Play Store, and noticed a user who expressed this specific feature request. I'm not sure this can be done easily and soon, but let's track it.

lorenzoPrimi commented 6 years ago

Actually the current "ndt server address" field on the 2.0 app is totally useless as it's free text only and it's not clear which URL you can enter there. Ideally there should be a dropdown with a server list you can choose from.

bassosimone commented 6 years ago

Ideally there should be a dropdown with a server list you can choose from.

I agree. So, there is probably a mlab-ns API allowing to get the list of all servers and from the name of the servers one could probably place them on the map. Since there are dozens of servers, just putting them into a dropdown list is probably too much information for users.

lorenzoPrimi commented 6 years ago

What about a list made of "Country - url" ? @elioqoshi this is related to yesterday's discussion

bassosimone commented 6 years ago

I guess we can perhaps discuss this in person later :-)

elioqoshi commented 6 years ago

As said in person, I suggest we remove this until we have a good reason to have it. If it confuses users and we are not offering them advice on that feature, it would make more sense to remove it for now

elioqoshi commented 5 years ago

I suppose it would be sensible to have this in 2.1 and have a dropdown menu which fetches the server list from M-Lab?

lorenzoPrimi commented 5 years ago

Last time we spoke about this I moved into the "Never" column on Trello as was not something we need. Do you recall the reason @bassosimone @hellais ?

elioqoshi commented 5 years ago

Would be good to get that context so we can close this or know what is needed going forward.

lorenzoPrimi commented 5 years ago

@bassosimone is it a never or a later?

bassosimone commented 5 years ago

This is complicated by the way in which mlab-ns works. It's theoretically possible to enumerate all servers, but placing them on the map is tricky. I suggest to keep it open with low priority.

Also, looping in @stephen-soltesz, because I know he's taking care of mlab-ns and he may be interested to know what feature request we did indirectly get for it. (And, maybe, there is also a smart mlab-ns way of solving this, and I'm just not aware of that.)

stephen-soltesz commented 5 years ago

Do you mean like this? This returns all sites including some location metadata (country & city) http://mlab-ns.appspot.com/ndt_ssl?policy=all

bassosimone commented 5 years ago

@stephen-soltesz yeah, that is probably good. From the city, we can theoretically find out a way to put a marker on the map and let the user choose the marker. Thanks!

bassosimone commented 4 years ago

So, rather than using a map, we can use curl 'https://locate.measurementlab.net/ndt7?policy=geo_options' to just get a few options and we can ask the user how many of them to enable.

darkk commented 4 years ago

https://locate.measurementlab.net/ndt7?policy=geo_options

FTR, it currently offers me four options:

  1. Stockholm (arn06)
  2. Stockholm (arn02)
  3. Stockholm (arn03)
  4. Stockholm (arn04)

So it may be not that diverse set in some (maybe, edge) cases.

bassosimone commented 4 years ago

@darkk the geo_options policy gives you some of the geographically closest to you servers, with the uncertainty caused by the fact that your location estimation may be inaccurate. In light of that, it makes sense that you are given a bunch of locations in Stockholm.

What should probably be stressed is that each of those sites is a different ISP. Therefore, I find it reasonably likely that you reach them over different paths. This is potentially interesting for research and potentially painful if you reason in terms of consumer facing speed test. There have been several instances where interconnection issues where spotted by testing all available servers. OTOH, since the default server selection selects on server at random among the ones that are listed inside of the geo_options list (roughly), it may sometimes be that you choose the testing server that have the least performance from your vantage point.

The criteria for servers placement AFAIK is to place servers in locations where there is content, such that accessing the servers reflects the typical experience of using the public internet, for a definition of public internet where we exclude the cloud and private CDNs for the time being.

I don't know what was the reason why the original poster on the Play Store wanted to see a list of servers, because it wasn't possible to gather further details. In my view that is important though because in a bunch of cases I did find myself unhappy with the defaults returned by the locate service and would have fancied manually choosing which server. I guess what complicated the issue is the quite understandable tension between having the feature and making it user friendly.

bassosimone commented 4 years ago

It has ben suggested that a nice way to avoid overwhelming users with information would be to have a mode where we test all the available servers rather than the closest one. I like this idea because it does not pass the burden of choosing which server on all users. OTOH, there is this issue that, when something is not the default, many people will not be using it.

iamtorchstack commented 4 years ago

It has ben suggested that a nice way to avoid overwhelming users with information would be to have a mode where we test all the available servers rather than the closest one. I like this idea because it does not pass the burden of choosing which server on all users. OTOH, there is this issue that, when something is not the default, many people will not be using it.

Shouldn't server close to the user be of more priority than those farther away?