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

Inform user of local community events #1798

Open
westnordost opened this issue Apr 27, 2020 · 10 comments
Open

Inform user of local community events #1798

westnordost opened this issue Apr 27, 2020 · 10 comments
Assignees

Comments

@westnordost
Copy link
Member

The app knows the user's location and by subscribing to the feed from https://github.com/thomersch/openstreetmap-calendar (or the calendar in the wiki), using the new notification system, the app could notify the user of local community events.

Optionally, the user should be able to completely unsubscribe from this in the settings.
Optionally, the user should be able to add the event to the calendar on his smartphone with one click.

The notification button should only be used to hint to new events, what is probably necessary is to implement some kind of calendar view which would then pop up and show all the events. This might be too much work for what its worth though, as usually, in one city, there is usually also only just one recurring event (i.e. Stammtisch).

Before this is started, it must be ascertained if openstreetmap-calendar actually provides the lat-lon of the event, or just the city name. If the latter, a geocoder mus be involved, making the whole thing more complicated to implement.

@westnordost
Copy link
Member Author

westnordost commented Apr 28, 2020

I submitted an application for a microgrant at the OSMF to develop this feature.

The microgrant project requests are public and the wiki page about microgrants encourages users to endorse project requests they like. So if you read the project descriptions and like an idea, feel free to voice it there, and why. 👍

@kmpoppe
Copy link
Collaborator

kmpoppe commented Sep 19, 2024

@westnordost Did you, additionally to writing it in the microgrant application and what you asserted above, have any mockups for an implementation or more ideas?

@westnordost
Copy link
Member Author

westnordost commented Sep 21, 2024

You probably mean mockups in terms of UI? No. Are you interested in taking on that task?

Some thoughts:

Message

  • should only display nearby community events. 25km or so radius should be plenty. (New users likely don't bring the motivation to travel that far for a not-even-yet-really-newfound-hobby)
  • nearby community events should appear as a message in the message area
  • ideally, they should either rather pop up after uploading changes rather than on download of map data or not pop up right away for new users. I.e. they should pop up after the user already engaged with the app, logged in etc. - could also be linked with unlocking a certain achievement level that also unlocks the osmcal link.
  • the message should pop up looking nice and with a nice animation. E.g. as a tear-off calendar, prominently displaying the date, then the name+location of the event with one button that would lead to details of the event and/or an intent to add this to your device's calendar. The appear-animation could feature some rapidly flipping through the calendar to arrive at that page or so or otherwise an animation that looks like the calendar is opened.
  • new events should of course only be notified about once, so it must be persisted somehow until which event we already read the events feed.
  • likewise, if users are not interested in these events, it should be possible to turn these off in the settings. Maybe also for recurring events, like e.g. if the user is just not interested to go to a particular recurring Stammtisch. All in all, it should not start to get annoying for the user

Tab in user screen

  • There could also be a tab in the user screen where the user could browse all (local?) events. Maybe he dismissed this one event but would like to look it up later. (By the way, material design suggests to use sidebar navigation over tabbed navigation with subpages > 4, IIRC). Alternatively, if the default osmcal UI is nice and fit for mobile use, one could also just link the calendar website (with some parameters?) or display it in a webview.
  • It should be possible from within the app to create own new events.

@kmpoppe
Copy link
Collaborator

kmpoppe commented Sep 21, 2024

While I was browsing through old Issues I found this one, and - as I already found this interesting when you made the microgrant application - I thought of investigating further.

So yes, if you like, you can assign this one to me.

Thoughts on your thoughts:

  • I also put my hands on the osmcal source, trying to incorporate a radius instead of the fixed 50km, not quite there yet, though.

  • There are no recurring events per definition, so ignoring a special event would depend on the creator to use the exact same phrasing every time.

  • I'm not sure I would ever be able to implement your creative UI vision (exhibit A: Boat Rental Icons), but I'm happy to figure out how the backend might work.

@westnordost
Copy link
Member Author

Right. At least the UX somewhat dictates how the backend should look like. So, a simple dialog that just contains all the functionality would be fine at first, and then maybe I jump in to make the interface more colorful. In case you start working on it soon, please base your (UI) work on the compose-edithistory branch.

@matkoniecz

This comment was marked as off-topic.

@kmpoppe

This comment was marked as off-topic.

@matkoniecz

This comment was marked as off-topic.

@kmpoppe
Copy link
Collaborator

kmpoppe commented Sep 30, 2024

More food for thought:

  • Dynamic filter is now in osmcal. We can therefore now display events in a 25k radius.
  • Events don't have a creation date in the API output and @thomersch thinks, that we do not need it because
    • There is a days filter, so we can only display X amount of days in the future (I think 90 would be a good value)
    • The id of the event is counting upwards. As the filter might be displaying events at different places (the user moves around the world using the app), I think the best way to know what we have displayed is storing the ids in a local db (I will need to dive into the code finding out how that works ;-))

@westnordost
Copy link
Member Author

westnordost commented Sep 30, 2024 via email

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants