It is currently February 23rd, 2024, 3:30 am

Skin Authors: openstreetmap usage

Release announcements and important news from the developers.
User avatar
Brian
Developer
Posts: 2669
Joined: November 24th, 2011, 1:42 am
Location: Utah

Skin Authors: openstreetmap usage

Post by Brian »

In reference: https://github.com/rainmeter/rainmeter/issues/367

It looks like too many skins are making geocoding requests to nominatim.openstreetmap.org.

These requests have become disruptive and they have asked us to limit these requests. While we cannot (and will not) limit web requests within Webparser, we can ask skin authors to provide a more efficient way of accessing these geocoding services.

Since every skin will be different, this is a good time to remind everyone on how and when Webparser updates: https://docs.rainmeter.net/tips/webparser-updaterate/

More helpful links:
https://docs.rainmeter.net/manual/skins/rainmeter-section/#Update
https://docs.rainmeter.net/manual/measures/webparser/#UpdateRate
https://docs.rainmeter.net/manual/measures/webparser/#UserAgent

While it may not help, you could also try NOT using ForceReload by making sure you have ForceReload=0 on the measure, or removing ForceReload from the Flags option.

Another option might be to "save" any data received to a variable and then disable the Webparser measure making the request - at least until the user wants a "new" location. This type of geocoding data is really only needed once per-location, so requesting it every time the skin runs or updates (or refreshes) isn't necessary.

Hopefully, we can get this sorted out so that our users (and theirs!) can continue to use this great resource!

Thanks!
-Brian

PS - If anyone comes across a skin that is requesting this geocoding data too often, please ask the skin author to update their skin(s)! Look for low Update/UpdateRate values, or repeated refreshes of Rainmeter or the skin.
User avatar
JelleDekkers
Posts: 127
Joined: September 27th, 2017, 6:32 pm
Location: Netherlands

Re: ⭐ Skin Authors: openstreetmap usage

Post by JelleDekkers »

Will do! Although I'm 100% sure it isn't caused by one of my skins as I have set the UserAgent to a browser.
User avatar
Yincognito
Rainmeter Sage
Posts: 6781
Joined: February 27th, 2015, 2:38 pm
Location: Terra Yincognita

Re: ⭐ Skin Authors: openstreetmap usage

Post by Yincognito »

JelleDekkers wrote: January 28th, 2024, 5:13 pm Will do! Although I'm 100% sure it isn't caused by one of my skins as I have set the UserAgent to a browser.
This isn't so much about the user agent string, it's more about the potential high frequency of updating WebParser measures in some skins.

By the way, such a frequent polling of a site can be:
1. intentional:
a) to get data as soon as it changes (this not really a logical reason when it comes to Nominatim or even weather providers - after all, it's not like your location continuously drifts on the planet, or the weather is changing every minute, regardless of whether some folks could be obsessed by that)
b) during the building / testing phase of a skin when the access to the resource is more frequent, if one insists in using the online web resource for tests, despite the fact that using a locally saved version of the page via the file:// URI scheme allows the same thing with no drawbacks whatsoever
2. unintentional:
a) because of bad coding or missing key details, like having a lower skin Update rate at the level of a couple of milliseconds to facilitate nice animations in the skin, but forgetting to use either a larger UpdateDivider or a larger UpdateRate in WebParser measures to account for that and bring updating such measures at a reasonable rate (example: the animated variants of a skin called Small Clean Weather, which besides the fact that they're broken and don't work, update WebParsers excessively, see here for a brief explanation and here for an easy solution to it, which can be applied to any similar skin if needed)
b) simply due to the structure of the Rainmeter featured machines, e.g. if somebody has a network of 4000 machines, each having installed and loading a Rainmeter skin querying a web resource at Windows' startup, then it's easy to have that many nearly simultaneous requests to a site just because of the initial update of all measures when the skin is loaded

Obviously, in this case, since nearly all Nominatim requests are manual (or should be, given that a saved geocode can be reused without polling the resource afterwards), needing the user to first input his location to get the corresponding geocode to use going forward, only 1.a) and 1.b) normally apply - hence the general idea of this thread. Besides malicious intent which frankly is not even about Rainmeter since it can be done from any network capable software out there anyway, it's highly unlikely that any Rainmeter user would want to consciously harm his own chances of benefitting from such a nice free service like the one provided by Nominatim (or others, for that matter). So, at worst, such mistakes are caused by the fact that due to the hobbyist nature of Rainmeter, most users or skin developers are not actual professionals to be careful at every little detail that might make improperly using some skins a problem for the providers of various services.
Profiles: Rainmeter ProfileDeviantArt ProfileSuites: MYiniMeterSkins: Earth
User avatar
JelleDekkers
Posts: 127
Joined: September 27th, 2017, 6:32 pm
Location: Netherlands

Re: ⭐ Skin Authors: openstreetmap usage

Post by JelleDekkers »

Yincognito wrote: January 28th, 2024, 9:11 pm This isn't so much about the user agent string, it's more about the potential high frequency of updating WebParser measures in some skins.

By the way, such a frequent polling of a site can be:
1. intentional:
a) to get data as soon as it changes (this not really a logical reason when it comes to Nominatim or even weather providers - after all, it's not like your location continuously drifts on the planet, or the weather is changing every minute, regardless of whether some folks could be obsessed by that)
b) during the building / testing phase of a skin when the access to the resource is more frequent, if one insists in using the online web resource for tests, despite the fact that using a locally saved version of the page via the file:// URI scheme allows the same thing with no drawbacks whatsoever
2. unintentional:
a) because of bad coding or missing key details, like having a lower skin Update rate at the level of a couple of milliseconds to facilitate nice animations in the skin, but forgetting to use either a larger UpdateDivider or a larger UpdateRate in WebParser measures to account for that and bring updating such measures at a reasonable rate (example: the animated variants of a skin called Small Clean Weather, which besides the fact that they're broken and don't work, update WebParsers excessively, see here for a brief explanation and here for an easy solution to it, which can be applied to any similar skin if needed)
b) simply due to the structure of the Rainmeter featured machines, e.g. if somebody has a network of 4000 machines, each having installed and loading a Rainmeter skin querying a web resource at Windows' startup, then it's easy to have that many nearly simultaneous requests to a site just because of the initial update of all measures when the skin is loaded

Obviously, in this case, since nearly all Nominatim requests are manual (or should be, given that a saved geocode can be reused without polling the resource afterwards), needing the user to first input his location to get the corresponding geocode to use going forward, only 1.a) and 1.b) normally apply - hence the general idea of this thread. Besides malicious intent which frankly is not even about Rainmeter since it can be done from any network capable software out there anyway, it's highly unlikely that any Rainmeter user would want to consciously harm his own chances of benefitting from such a nice free service like the one provided by Nominatim (or others, for that matter). So, at worst, such mistakes are caused by the fact that due to the hobbyist nature of Rainmeter, most users or skin developers are not actual professionals to be careful at every little detail that might make improperly using some skins a problem for the providers of various services.
I know what you mean, but I was referring specifically to the fact that Nominatim is seeing a lot of 'Rainmeter' user agents connecting to their service.

I will update my skins besides this point however, because they do fetch information 4 time an hour, which is exactly what the devs of Nominatim are complaining about.
User avatar
Yincognito
Rainmeter Sage
Posts: 6781
Joined: February 27th, 2015, 2:38 pm
Location: Terra Yincognita

Re: ⭐ Skin Authors: openstreetmap usage

Post by Yincognito »

JelleDekkers wrote: January 28th, 2024, 10:30 pmI will update my skins besides this point however, because they do fetch information 4 time an hour, which is exactly what the devs of Nominatim are complaining about.
Sure thing. I think the problem was the number of additional users requesting the same thing at roughly the same time, and not necessarily retrieving data 3 or 4 times per hour from an online service, which seems perfectly reasonable. Anyway, like I said, since locations on Earth don't migrate and the geocode can be stored in some variables for future usage, in this case there's no point in doing more than 1 request when installing the skin (or when the user changes his place of residence).
Profiles: Rainmeter ProfileDeviantArt ProfileSuites: MYiniMeterSkins: Earth