Difficult and sad decision about further development #34

Closed
opened 2022-06-20 18:49:16 +02:00 by Beowulf · 30 comments
Owner

I have been in contact with OpenWeatherMap for over a month now. The reason for this is/was that the API key that was stored in the app by default no longer worked.

Due to this conservation I am writing this text with a bad feeling.

After several emails back and forth, the reason crystallised:
The OneCallApi that this app uses has been renamed to OneCallApi 1.0 and is now only available with a paid subscription (starting at 160€/month). If you already have an account with a key, you can continue to use the app without any problems, as in this case the OneCallApi 1.0 will continue to be free for you.

Due to this change, I am now faced with a difficult decision regarding the further development of the app:

  1. Either I will continue the development "normally", but this would mean that no new user will be able to use the app.
  2. Alternatively, there is the possibility of using a new API and continuing the development of the current app. However, the question remains which API to use.
  3. Another alternative would be to use a new API and rewrite the app in a more efficient and modern way (with Jetpack Compose).
  4. Last option would be to discontinue the app, which would also be really sad.

Feel free to write your thoughts and opinions about this in the comments...

I have been in contact with OpenWeatherMap for over a month now. The reason for this is/was that the API key that was stored in the app by default no longer worked. Due to this conservation I am writing this text with a bad feeling. After several emails back and forth, the reason crystallised: The OneCallApi that this app uses has been renamed to OneCallApi 1.0 and is now only available with a paid subscription (starting at 160€/month). If you already have an account with a key, you can continue to use the app without any problems, as in this case the OneCallApi 1.0 will continue to be free for you. Due to this change, I am now faced with a difficult decision regarding the further development of the app: 1. Either I will continue the development "normally", but this would mean that no new user will be able to use the app. 2. Alternatively, there is the possibility of using a new API and continuing the development of the current app. However, the question remains which API to use. 3. Another alternative would be to use a new API and rewrite the app in a more efficient and modern way (with Jetpack Compose). 4. Last option would be to discontinue the app, which would also be really sad. Feel free to write your thoughts and opinions about this in the comments...

This applet (https://github.com/linuxmint/cinnamon-spices-applets/tree/master/weather@mockturtl) for the Cinnamon desktop also uses OpenWeatherMap. I haven't encountered the API key issue with that applet, so it's possible they've found a solution that can work for your Android app as well. It would be worth asking them about.

This applet (https://github.com/linuxmint/cinnamon-spices-applets/tree/master/weather@mockturtl) for the Cinnamon desktop also uses OpenWeatherMap. I haven't encountered the API key issue with that applet, so it's possible they've found a solution that can work for your Android app as well. It would be worth asking them about.
Author
Owner

Hello @Rua ,

thank's for your message.

After taking a quick look at the project, they also use the OneCallApi. Does the applet still work?
They should actually also be affected by the problem. OWM has explicitly said that keys for open source projects are being dropped.
Unfortunately, I haven't found a current contact and I don't have a GitHub account to contact them.

King regards
Beowulf

Hello @Rua , thank's for your message. After taking a quick look at the project, they also use the OneCallApi. Does the applet still work? They should actually also be affected by the problem. OWM has explicitly said that keys for open source projects are being dropped. Unfortunately, I haven't found a current contact and I don't have a GitHub account to contact them. King regards Beowulf

For me, the applet still works. I don't know if they ran into the problem and fixed it, or if it just kept working. Either way, it would be good to find out what they do differently.

For me, the applet still works. I don't know if they ran into the problem and fixed it, or if it just kept working. Either way, it would be good to find out what they do differently.

Hi. I'm really not familiar with working with APIs so I can't contribute to the actual problem, sorry. I just wanted to give one vote for not discontinuing this app. This is the only weather app (and widget!) I have found good and pleasing enough. UI, widget, weather info accuracy and looks overall are very good, so thanks for the awesome app I would really miss.

Hi. I'm really not familiar with working with APIs so I can't contribute to the actual problem, sorry. I just wanted to give one vote for not discontinuing this app. This is the only weather app (and widget!) I have found good and pleasing enough. UI, widget, weather info accuracy and looks overall are very good, so thanks for the awesome app I would really miss.
Author
Owner

Hello,
Thank for your kind words @anevaiopvn. The app can definitely be used further. If I should stop the development there are "just" no new features.

@Rua interesting that the key still works if they do not pay for it (I think at least that they do not pay).
King regards
Beowulf

Hello, Thank for your kind words @anevaiopvn. The app can definitely be used further. If I should stop the development there are "just" no new features. @Rua interesting that the key still works if they do not pay for it (I think at least that they do not pay). King regards Beowulf

Keep it going is my vote. Your work has resulted in the lightest weight weather app for Android. There is nothing that comes within few MB of Weather. Everyone on Android at work uses Weather (small company) and everyone at home does too. We all use our own api keys. Perhaps a ui at launch which assists users in generating their own key from within the app/custom tab?

Keep it going is my vote. Your work has resulted in the lightest weight weather app for Android. There is nothing that comes within few MB of Weather. Everyone on Android at work uses Weather (small company) and everyone at home does too. We all use our own api keys. Perhaps a ui at launch which assists users in generating their own key from within the app/custom tab?
Author
Owner

The big problem is that it will soon? no longer be possible to create a free key. Existing keys will still work, though...

The big problem is that it will soon? no longer be possible to create a free key. Existing keys will still work, though...

Is it problematic to change the API? Is it a lot of work? One Call 3.0, for example?

Or maybe change the weather provider, though OWM is one of the most accurate in my experience?

Is it problematic to change the API? Is it a lot of work? One Call 3.0, for example? Or maybe change the weather provider, though OWM is one of the most accurate in my experience?
Author
Owner

Hello @anevaiopvn ,

It is possible to change the API.

OneCallApi 3.0 is even almost one to one identical to OneCallApi 1.0, except that there is one day more in the hourly forecast.
The problem with the API is: 1,000 API calls are free per day and after that it costs money. The standard limit is 2,000 API calls per day. Even though no one should exceed the 1,000 calls per day, I don't want to take any risk - for you users. (I'll have to see if this can possibly be changed via API).

Another option would be to fall back by using two APIs. One for the current weather data and one for a forecast (5 days every 3 hours).
This has the following disadvantages: No longer a forecast every hour for 48 hours. And no longer a 7-day forecast. But this would be completely free of charge. (Although in this case I would probably rewrite the app completely).

Due to time limitations, I have not yet looked at APIs from other providers.

King regards
Beowulf

Hello @anevaiopvn , **It is possible to change the API.** **[OneCallApi 3.0](https://openweathermap.org/api/one-call-3)** is even almost one to one **identical** to OneCallApi 1.0, except that there is one day more in the hourly forecast. The **problem with the API is**: 1,000 API calls are free per day and after that it costs money. [The standard limit is 2,000 API calls per day](https://openweathermap.org/faq#onecall). Even though no one should exceed the 1,000 calls per day, I don't want to take any risk - for you users. (I'll have to see if this can possibly be changed via API). **Another option** would be to fall back by using **two APIs**. One for the [current weather data](https://openweathermap.org/current) and one for a [forecast (5 days every 3 hours)](https://openweathermap.org/forecast5). This has the **following disadvantages**: No longer a forecast every hour for 48 hours. And no longer a 7-day forecast. But this would be completely free of charge. (Although in this case I would probably rewrite the app completely). Due to time limitations, I have not yet looked at APIs from other providers. King regards Beowulf

I also was in contact with them regarding my RadarWeather and what I understood is:
Existing users can continue to use their keys with the existing https://api.openweathermap.org/data/2.5/onecall syntax.

New users should get the new OneCall API by call subscription and set a limit of 1000 calls when subscribing. Then they will only get the 1000 free calls.
They have to use the new syntax https://api.openweathermap.org/data/3.0/onecall

Other than that the syntax seems to be the same, so I hope my app will work if I allow to switch between .../2.5/... and .../3.0/... for "free" keys and "by call" keys

I also was in contact with them regarding my RadarWeather and what I understood is: Existing users can continue to use their keys with the existing https://api.openweathermap.org/data/2.5/onecall syntax. New users should get the new OneCall API by call subscription and set a limit of 1000 calls when subscribing. Then they will only get the 1000 free calls. They have to use the new syntax https://api.openweathermap.org/data/3.0/onecall Other than that the syntax seems to be the same, so I hope my app will work if I allow to switch between .../2.5/... and .../3.0/... for "free" keys and "by call" keys
Author
Owner

@woheller69 thank you very much for the message.

  1. That is correct.
  2. Yes, that's possible. I'll have to see if it can be lowered automatically via an API.
  3. Yes, the APIs look the exact same, except that one has one more day in the preview.

Otherwise, an alternative API might be open-meteo.com, maybe for a later rewrite. 🤔

@woheller69 thank you very much for the message. 1. That is correct. 2. Yes, that's possible. I'll have to see if it can be lowered automatically via an API. 3. Yes, the APIs look the exact same, except that one has one more day in the preview. Otherwise, an alternative API might be open-meteo.com, maybe for a later rewrite. 🤔

I just created a new account and automatically received a free key.
OneCallAPI 1.0 still works with this new free key...

I just created a new account and automatically received a free key. OneCallAPI 1.0 still works with this new free key...
Author
Owner

Yes, I have already noticed that. However, OWM had also written in an email to me that the "migration" is still ongoing. That's probably why it's still working.

Yes, I have already noticed that. However, OWM had also written in an email to me that the "migration" is still ongoing. That's probably why it's still working.
Author
Owner

After some consideration, I decided on the following:
I will add support for OneCallApi3.0 and offer it as an alternative to OneCallApi1.0 for people who get keys when OCA1.0 is no longer free.
I hope that OWM will not change this again in a few years...

After some consideration, I decided on the following: ~~I will add support for OneCallApi3.0 and offer it as an alternative to OneCallApi1.0~~ for people who get keys when OCA1.0 is no longer free. I hope that OWM will not change this again in a few years...

I will do the same in my app, but will wait for the first user where 1.0 does not work anymore.

I will do the same in my app, but will wait for the first user where 1.0 does not work anymore.
Author
Owner

It looks like the OneCall Api 1.0 has now been completely removed from the site... 🤔

It looks like the OneCall Api 1.0 has now been completely removed from the site... 🤔

I think they are just removing the documentation...

I think they are just removing the documentation...
Author
Owner

That is never a good sign either. I think you can start counting the days until the API is switched off...

That is never a good sign either. I think you can start counting the days until the API is switched off...

obviously they now deactivated OneCall 1.0 for new subscribers.
Just got a first issue for my app with a new key not working...

obviously they now deactivated OneCall 1.0 for new subscribers. Just got a first issue for my app with a new key not working...
Author
Owner

@woheller69 Same problem here, see ticket #43 - and have also received a few mails. But the OneCallApi 3 does not always work directly either. - I'll have to take a look at it on Sunday.

@woheller69 Same problem here, see ticket #43 - and have also received a few mails. But the OneCallApi 3 does not always work directly either. - I'll have to take a look at it on Sunday.

probably they only created a new account but dit not subscribe to 3.0

probably they only created a new account but dit not subscribe to 3.0
Author
Owner

Today I found out that OneCallApi 3.0 can only be used after "subscribing" to the API, which requires a name, address, telephone number and a credit card.
So unfortunately it is not an alternative to OneCallApi 1. 😞

Today I found out that OneCallApi 3.0 can only be used after "subscribing" to the API, which requires a name, address, telephone number and a credit card. So unfortunately it is not an alternative to OneCallApi 1. 😞

I updated my app to support 3.0 for those who are willing to give their data.

I think it is not ok under GDPR data minimization principle to request
payment data if the limit is set to 1000 and payment will never happen.
Hopefully they will change that.

I updated my app to support 3.0 for those who are willing to give their data. I think it is not ok under GDPR data minimization principle to request payment data if the limit is set to 1000 and payment will never happen. Hopefully they will change that.

I think the mandatory subscription to 3.0 will probably repel most newcomers from the app. At least I wondered whether to make that subscription and I'm a current user.

I would say that in light of that, open-meteo or some other provider seems the better way to go, in my opinion. Though I don't know how good/accurate eg open-meteo is.

I think the mandatory subscription to 3.0 will probably repel most newcomers from the app. At least I wondered whether to make that subscription and I'm a current user. I would say that in light of that, open-meteo or some other provider seems the better way to go, in my opinion. Though I don't know how good/accurate eg open-meteo is.
Author
Owner

I don't think it's good at all either.
And I (now) have the feeling that OWM has only "discontinued" OneCallApi 1 in order to get more data, since nothing has really changed in the API.
And that is not a good way...

I don't think it's good at all either. And I (now) have the feeling that OWM has only "discontinued" OneCallApi 1 in order to get more data, since nothing has really changed in the API. And that is not a good way...
Contributor

Both this issue and #43 contains extremely important information that I think are not present anywhere in the documentation (I've searched the README.md and the wiki, I may have missed the right place).

As a new user I was puzzled that I keep receiving a 401 from OWM with a freshly created account (they now give you a key for "Current weather and forecast" Free plan), which IIUC is not working anymore due to a change of licensing from OWN.

I'd suggest @Beowulf adding some documentation so that new users are cautioned and know the caveats. If you prefer, I can submit a patch to update the documentation but please someone do this, the current first experience with the app is quite frustrating.

(I echo the sentiment that this is a pity, I like how light this Android app is)

Thanks for your work.

Both this issue and #43 contains extremely important information that I think are not present anywhere in the documentation (I've searched the `README.md` and the wiki, I may have missed the right place). As a new user I was puzzled that I keep receiving a 401 from OWM with a freshly created account (they now give you a key for "Current weather and forecast" Free plan), which IIUC is not working anymore due to a change of licensing from OWN. I'd suggest @Beowulf adding some documentation so that new users are cautioned and know the caveats. If you prefer, I can submit a patch to update the documentation but _please_ someone do this, the current first experience with the app is quite frustrating. (I echo the sentiment that this is a pity, I like how light this Android app is) Thanks for your work.
Author
Owner

Hello @jman ,
I'm sorry for the problems. I would be happy about a patch, but otherwise I'll get to work on it tomorrow.
Unfortunately, everything is very tight at the moment (time-wise), as I currently have a lot to do with university and work.
Importantly, all current users can use the app without restrictions, only new users cannot use it (just like all other apps that rely on OWM OneCallApi 1.0).
A rewrite based on new Apis is planned. If you have any suggestions/wishes, please use these tickets:

  • API-suggestions #46
  • General-suggestions: #47
Hello @jman , I'm sorry for the problems. I would be happy about a patch, but otherwise I'll get to work on it tomorrow. Unfortunately, everything is very tight at the moment (time-wise), as I currently have a lot to do with university and work. Importantly, all current users can use the app without restrictions, only new users cannot use it (just like all other apps that rely on OWM OneCallApi 1.0). A rewrite based on new Apis is planned. If you have any suggestions/wishes, please use these tickets: - API-suggestions https://codeberg.org/BeoCode/Weather/issues/46 - General-suggestions: https://codeberg.org/BeoCode/Weather/issues/47

RE the new "free up to 1,000 hits" API, why not set the app to simply limit itself to 1,000 hits per day? Actually, to be on the safe side, make it 500.

As you've said it shouldn't go that high ever, but you want to protect your users from nasty surprises.

Build in a 500 daily call limit should provide this protection and allow the app to work as it used to.

I really miss Beoweather! :'-(

RE the new "free up to 1,000 hits" API, why not set the app to simply limit itself to 1,000 hits per day? Actually, to be on the safe side, make it 500. As you've said it shouldn't go that high ever, but you want to protect your users from nasty surprises. Build in a 500 daily call limit should provide this protection and allow the app to work as it used to. I really miss Beoweather! :'-(
Contributor

@Beowulf commit d7c9953ef3 reverted 65a840b193 (the notice about API deprecation).

Was it intentional?

@Beowulf commit https://codeberg.org/BeoCode/Weather/commit/d7c9953ef321ca15fa8ec08071e55fa03c75158a reverted https://codeberg.org/BeoCode/Weather/commit/65a840b193a72cad0d0f6f87d638afcd5585b421 (the notice about API deprecation). Was it intentional?
Author
Owner

@jman No, sry was not intented, will revert it.


@strider72

why not set the app to simply limit itself to 1,000 hits per day? Actually, to be on the safe side, make it 500.

The app should never make so many request... (500 per day would be an update every 3 minutes.)

As you've said it shouldn't go that high ever, but you want to protect your users from nasty surprises.

That was only the second problem. The main problem is that the new API requires a credit card and I don't want to support that.

I really miss Beoweather! :'-(

If everything works out I can start with the new app this weekend.

@jman No, sry was not intented, will revert it. *** @strider72 > why not set the app to simply limit itself to 1,000 hits per day? Actually, to be on the safe side, make it 500. The app should never make so many request... (500 per day would be an update every 3 minutes.) > As you've said it shouldn't go that high ever, but you want to protect your users from nasty surprises. That was only the second problem. The main problem is that the new API requires a credit card and I don't want to support that. > I really miss Beoweather! :'-( If everything works out I can start with the new app this weekend.
Commenting is not possible because the repository is archived.
No milestone
No project
No assignees
7 participants
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
BeoCode/Weather#34
No description provided.