Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add radar map #23

Closed
papjul opened this issue Jun 20, 2023 · 24 comments
Closed

Add radar map #23

papjul opened this issue Jun 20, 2023 · 24 comments
Labels
Idea Ideas can become new feature or improvement

Comments

@papjul
Copy link
Collaborator

papjul commented Jun 20, 2023

Suggestions of radar websites or open source apps to use: https://github.com/breezy-weather/breezy-weather/blob/main/docs/RADAR.md

Withhold reason: #23 (comment)

Current suggested free radar API sources to use with Breezy Weather:

  • RainViewer (partial coverage, next 2 hours, past hour, precipitation-only)
@papjul papjul added the Idea Ideas can become new feature or improvement label Jun 20, 2023
@lu-x
Copy link

lu-x commented Jul 13, 2023

A precipitation map would be great, https://github.com/TylerWilliamson/QuickWeather has some maps

@papjul
Copy link
Collaborator Author

papjul commented Jul 13, 2023

A precipitation map would be great, https://github.com/TylerWilliamson/QuickWeather has some maps

Isn't that the same thing? They are even using RainViewer as I mentioned. Only difference is that they are using a JavaScript lib while I want to use an Android native one.

@lu-x
Copy link

lu-x commented Jul 13, 2023

Yes, i just wanted to state that it would be a very nice feature 🙂

@Keilub
Copy link

Keilub commented Jul 28, 2023

Any eta for radar, would absolutely love this!

@papjul
Copy link
Collaborator Author

papjul commented Jul 28, 2023

Probably not any time soon, there are a lot of requirements to implement this, #10 being one of them. There will probably be a lot of design thinking as well, it’s not a feature that fits into the app straightforwardly.

In the meantime, you can use Breezy Weather for weather data, and a radar-specific app for radar needs.

@Keilub
Copy link

Keilub commented Aug 12, 2023

I'll try and throw together a mockup but I think the design and how it integrates should be 'straightforward'. I'd suggest ya look at how Overdrop for Android has their radar, it's another box on the main page and then expands into a full page with options when tapped. Same experience as what you curren have with the daily box in Breezy.

@papjul
Copy link
Collaborator Author

papjul commented Aug 12, 2023

Same experience as what you curren have with the daily box in Breezy.

If by "daily box", you mean having an additional card on main screen, it’s not how I want to do it. Main screen shows a specific location, while radar is not tied to one specific location but shows you worldwide map. So, map should be shared by all locations.

To me, radar is really a feature apart from weather by location. They don’t share the same use case. Weather by location shows you everything you need to know weather for this location.

If you want to use radar, it's usually to check the surroundings or know more about how the weather is in the world right now (I will prepare a form to know better about users use cases). I'm pretty sure if it is not in full screen, it's rather useless as it's too small. There are tons of weather apps without radar feature, and it works perfectly fine that way for most users.

So, my view here is to keep location view pager (main screen) as it is, and put radar on another screen, and only load radar when you go to that page, to not make unnecessary network calls on main screen ;)

@Keilub
Copy link

Keilub commented Aug 12, 2023

Valid but agree to disagree. When I'm looking at radar it's because I'm wanting further info for my location. Which in the example I gave of Overdrop the card is pretty much a static image, it doesn't show live radar it's just a big button for radar. I'd personally stress you keep the simplicity of the current app and have the button someway integrate with the main feed.

@papjul
Copy link
Collaborator Author

papjul commented Aug 12, 2023

I'd personally stress you keep the simplicity of the current app and have the button someway integrate with the main feed.

We can agree on that :)

First, I will prepare a form to know your current usages of radar to design it according to what will emerge from answers ;)

@nimxaa
Copy link
Contributor

nimxaa commented Sep 24, 2023

If this is implemented it would be nice if it could show lightning strike locations as well

@papjul
Copy link
Collaborator Author

papjul commented Sep 25, 2023

If this is implemented it would be nice if it could show lightning strike locations as well

This is a different need, as other maps are working 15 min by 15 min (or hour by hour), but you're looking for lightning strikes at the exact moment you are looking at your phone (past few minutes included). Do you know a free API for that?

@nimxaa
Copy link
Contributor

nimxaa commented Sep 25, 2023

Hmm, currently I only know one but it is for Finland only https://en.ilmatieteenlaitos.fi/open-data-sets-available

@papjul papjul mentioned this issue Jan 31, 2024
5 tasks
@papjul
Copy link
Collaborator Author

papjul commented Feb 1, 2024

Update: As discussed below, there are security concerns about using web views, so I have to rethink about this solution. You can still read my initial message below and share other suggestions:

Hi there, update on radar feature:

@lu-x @coggy9 @daniandtheweb @WoodenDolphin @voytxt @skoshy @tobikrs @mosiser @nimxaa @dmlls @Keilub @Enetzlsg Please read this message below and let me know what you think.

My analysis is that there are barely any free radar map available to use as an API. Some are available but only at country-level (open-data), and we don't always have the same kind of data, in the same format, depending on the source, etc.

So, I'm heading towards providing radar as shortcuts to popular websites, such as Windy, Ventusky, RainViewer, etc.

They would be available as a new card on home page of Breezy Weather app. This card would contain small buttons providing quick links that would open a webview (so you would stay in app) in fullscreen (immersive) centered on longitude,latitude of your location and on the selected type (temperature map, precipitation map, etc).

Here is a quick mockup:

The first time you tap a button, a disclaimer before proceeding would explain that we have no affiliation with trackers*/ads*/premium options provided on these websites.

*This mainly depends on your default browser providing the web view. Some browsers have tracker/ads blocking integrated. Additionally, the tracking would be less invasive than installing any random radar native Android app that can access a lot of layers in the Android system. Anyway, we all browse websites on our smartphone every day, nothing different from that.

The order and available radar sources/types would be customizable for the whole app (not per location), just like what you can already do for many things in Settings > Home screen, right now. You can also completely remove the radar card.

Nice to have: if possible, I would like to provide quick links to other radar types on top of the web view, like this:

(I never integrated any web view so far so I don't know what's feasible)

In the end, it's basically the same as going to any radar website and tap "Add to home screen" from your browser, except these shortcuts would be in Breezy Weather app instead of your Android home. I rarely use radar, but when I do, I just use the available websites, which provide the same features as an app, but as many of you requested integration in Breezy Weather, I don't know, let me know if you feel like that the proposed design would suit you and is worth the time I will spend on it, or if it's just the same as shortcuts on home screen and people should proceed like this.

Thumbs up if you want this design implemented, thumbs down otherwise. I would highly like you comment as well so I know a bit more about your decision; if there is anything wrong, maybe the proposed design can be adjusted.

End of votes in a week.

@papjul papjul pinned this issue Feb 1, 2024
@daniandtheweb
Copy link

Going for a webview window seems like the best option to me too. That way there shouldn't be any issues with apis too right?

@papjul
Copy link
Collaborator Author

papjul commented Feb 1, 2024

Going for a webview window seems like the best option to me too. That way there shouldn't be any issues with apis too right?

Yes, no API, we just open the website like you would do from your web browser

@mpeter50
Copy link

mpeter50 commented Feb 1, 2024

Would it be possible to have an option for opening the radar in a "customtabs" window, instead of a webview?
That way, if the user has Firefox as their default browser, its installed extensions (like uBlock Origin) can clean up the website.

@papjul
Copy link
Collaborator Author

papjul commented Feb 1, 2024

Would it be possible to have an option for opening the radar in a "customtabs" window, instead of a webview? That way, if the user has Firefox as their default browser, its installed extensions (like uBlock Origin) can clean up the website.

In that case, it's better to just put bookmarks of your favorite radar websites on your home screen. Breezy Weather implementation would be too rigid, compared to any link you can bookmark from your favorite web browser.

But you made me realize that the WebView system doesn't use your default browser unlike what I thought initially. And I just saw that to install a new WebView implementation app, you need root rights, which would exclude a lot of people. Additionally, we have a lot of users with old Android devices, meaning years old Chromium-based web view implementation.

Taking security as an important matter, I have to rethink what I wanted to do.

@mpeter50
Copy link

mpeter50 commented Feb 2, 2024

And I just saw that to install a new WebView implementation app, you need root rights, which would exclude a lot of people

It might also be interesting to know that currently there are no non-Chromium webview implementations, as I know.
There is GeckoView from Mozilla which is kind of similar, but that is not a webview implementation (details).

Breezy Weather implementation would be too rigid, compared to any link you can bookmark from your favorite web browser.

Probably you are right, but I'm not sure I understand your point. As I know, opening a webpage in a customtabs window is just sending an appropriate intent. It is documented here: https://developer.chrome.com/docs/android/custom-tabs

@papjul
Copy link
Collaborator Author

papjul commented Feb 2, 2024

Probably you are right, but I'm not sure I understand your point. As I know, opening a webpage in a customtabs window is just sending an appropriate intent.

What I mean is that I'm probably not going to add every national radar for each country in Breezy Weather, probably only a few websites that support worldwide. Even for supported websites, you can more easily customize and make your own URL since you have access to the address bar. More possibilities from a web browser ;)

@mpeter50
Copy link

mpeter50 commented Feb 2, 2024

Yes, thats why I wont use that feature, but others who do will be exposed to the websites' data mining and ads with a webview, even if they have set up their main browser to protect against that.

@dmlls
Copy link

dmlls commented Feb 2, 2024

@papjul Coming back to the API approach, it seems you already took a look at RainViewer. Is there any particular reason why you wouldn't use their API? It is free and offers a fairly decent coverage. They also provide some usage examples.

I guess for users for whom unfortunately there is no data available the tile showing the map could be hidden or something like "Radar data not available in your region" could be displayed. In the future perhaps further APIs could be used that increase the coverage, although as you said this would involve normalizing different responses from different providers.

@papjul
Copy link
Collaborator Author

papjul commented Feb 2, 2024

@papjul Coming back to the API approach, it seems you already took a look at RainViewer. Is there any particular reason why you wouldn't use their API? It is free and offers a fairly decent coverage. They also provide some usage examples.

I guess for users for whom unfortunately there is no data available the tile showing the map could be hidden or something like "Radar data not available in your region" could be displayed. In the future perhaps further APIs could be used that increase the coverage, although as you said this would involve normalizing different responses from different providers.

Coverage is not worldwide (you can go to Live radar and check "Coverage" in options) and only supports Precipitation type, and only for a few hours. So it's a lot of efforts to implement it for a limited result. In the end, people will just continue going to Windy or similar, which have tons of worldwide maps.

@papjul
Copy link
Collaborator Author

papjul commented Feb 8, 2024

Thank you for the few feedbacks!

I wrote a document about a few open source apps or websites I can recommend regarding radar feature: https://github.com/breezy-weather/breezy-weather/blob/main/docs/RADAR.md

Feel free to make a pull request to add other suggestions.

And yes, it means that for now radar feature is withhold. At the moment, I feel like many websites provide much better coverage than any free API we could use. Maybe this will change in the future, but I can also understand costs of the radar feature are higher than weather APIs, so the lack of free options is not surprising. And I don't want to add paid options in the app (if you would be willing to pay, consider OsmAnd Pro subscription, an open source app providing weather radar). I also feel like -given I'm mostly alone working on this app- I shouldn't spread myself too thin and I already have core features I don't have time to care of (Widgets for the most important part).

I will leave the issue open in case you have free radar API sources to suggest (other than RainViewer already mentioned).

@papjul papjul unpinned this issue Feb 8, 2024
@papjul
Copy link
Collaborator Author

papjul commented Mar 4, 2024

I thought I had replied on this topic.

The following document has been written as alternatives: RADAR.md

At the moment I can't find any free, unlimited API, with at least Precipitation, Temperature, Wind, Cloud Cover, Pressure features. Feel free to re-open an issue if you ever find one!

@papjul papjul closed this as not planned Won't fix, can't repro, duplicate, stale Mar 4, 2024
@github-actions github-actions bot locked as resolved and limited conversation to collaborators Mar 7, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Idea Ideas can become new feature or improvement
Projects
None yet
Development

No branches or pull requests

8 participants
@lu-x @papjul @dmlls @daniandtheweb @mpeter50 @Keilub @nimxaa and others