RiiConnect24 / File-Maker

Generate data files for Wii Channels that have the latest news, forecast data, etc.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Diversification of API Support.

opened this issue · comments

While @larsenv and @AwesomeMarioFan 's work on the current API is nothing short of amazing, it's never bad to have diversification, and such perhaps we should add in more API support for usage incase the current API we're using shuts down or they get pissy at us.

Find other APIs to potentially use

commented

AccuWeather has been around for several years and is not likely to shut down anytime soon.

With that being said however, here are a few weather APIs I am aware of.

OpenWeatherMap
Weather Underground
World Weather Online (payment required after certain period)
Weather2
Yahoo! Weather

@computernewb the reason we wish to diversify is incase AccuWeather get pissy and stop us 😛

AccuWeather's like the best one, I don't think they'll stop us.

commented

DarkSky also has an awesome API: https://darksky.net/dev/

Keeping us open since we shouldn't shut out things to look into.

Please define "more API support for usage".

As long as all the 3rd party API calls are confined to a single file and/or properly wrapped around your own functions, there is little use in adding code to a "backup" API at this point.

Implementing a second API would be a substantial amount of work, since we would need to most likely create a separate library for the new API, and the script's weather conditions would need to be updated and weather icons re-matched. The script would also need to be partially re-written because the conditions/icon settings would no longer be stored there.

Assuming we are looking at free APIs, DarkSky would not work, (only 1,000 forecasts per day free - we would require about 16,000). Wunderground only allows 500 requests per day with the free plan. Yahoo Weather is limited to 2,000 calls per day. Weather2 is limited to 500 requests per day. Weatherworldonline is limited to 250. The only one we could work with would be Openweathermap, which is limited to 60 calls per minute. (2000/60 would be about 33 minutes)

Another factor would be speed - the new AccuWeather API is a about 4 times as slow, because it has to request from 4 URLs for each city, versus the legacy API where everything is contained in one package (which is what we are using right now). This brought the update time from around 90 minutes down to 20-30.

commented

I personally don't see any reason to use another API right now. AccuWeather is decent/accurate enough and the project's load on their servers almost certainly does not even get their attention, and even if it did, it calls for, at most, 2,000 cities per 3 hours. They aren't going to sneeze at that. And the AccuWeather API has been around for several years and isn't going to shut down any time soon, at least not without an announcement, and even when it DOES get announced, since its such a huge API it will probably be a year after the actual "shut down" announcement before it actually does.

I think you should worry about them getting "mad" or shutting down when they actually do, instead of going through huge hoops on something that might not ever be used.

This is just my 2 cents of course.

Closing since you've all made good points.