Loading
Network error

Location considerations

Started by Nedjo Rogers in Agorakit : Développeurs.euses et utilisateurs.trices August 23, 2018 3:34 AM

Agorakit enables collaborative groups. Given this focus, location considerations are inescapable. Some groups will be geographically based. Others may not be. How should location be modelled in Agorakit?

Currently, we have:

  • User locations, which are mapped.
  • Event locations, which are text.

Part of the question comes down to: what, if any, should be the geographic model of a particular Agorakit instance? Clearly, one way to address locality is to assume one instance per locality. So, for example, a given city has an instance, and all groups on that instance are de facto associated with that locality.

But this model quickly raises challenges. Even a city may have different neighbourhoods or boroughs.

So, maybe, we introduce an (optional) location for a group. But ideally we'd make that location (region?) an entity in its own right. One of my primary interests as a site user might be: what groups exist in my area? For that, we need the ability to filter by location. But what is a location? What scale does it exist on? Is it something that's derived from some geographic data set? Are regions nested?

Should event locations (venues) be a distinct entity, also mappable, and able to be linked to multiple events, even events of multiple groups?

August 23, 2018 1:49 PM

Groups already have a location. Have you seen the recently updated global map : https://app.agorakit.org/map ?
The small houses represent groups.

We could make proximity search based on a user location and suggest nearby groups, people, and events.

I'd like to keep the DB schema simple as it is now with a latitude and longitude field added to users, groups & events, but am open to any enhancements.

To be honest the mapping feature has not been used that much. It's still a very nice dashboard of activity of an instance. Here are two others :

https://transition.agorakit.org/map

https://participer.toutautrechose.be/map



September 4, 2018 10:15 PM
@nedjo-rogers  also there is the possibility to search by proximity using simplified proximity searching in mysql (based on lat/lon we already have.

It would give users the opportunity to receive group recommendations / search for nearby groups.

Is it what you had in mind ?
September 5, 2018 12:48 AM

Search for nearby groups is part of what I was thinking. But also, assigning a group to a named place, such as a city. Then I can bring up a list of groups in my city/place.

Meetup.com is an example. They have a max of three levels to location: country; for certain countries, administrative division like state/province; and city.

Openki uses a "region". AFAIK, these are not nested in a hierarchy.

How regions are created, and by whom, becomes a question.

Some possible approaches, not all of which would be needed:

  • Cities are modelled separately. Attributes: name; location (lon/lat); country. "City" and "Country" here are flexible and could be used differently on specific sites for any parent-child hierarchy of locations.
  • When users create a group, they can select from existing cities or create a new one.
  • Possibly, if they create a new city, it and their suggested group go into a submission queue for review.
  • A browse interface offers all countries that have at least one city with at least one group. Selecting a country brings up a list of cities. Selecting a city filters the group listing by city.
  • Users have a home city stored in their profile or session, maybe based on their last selection.
September 5, 2018 2:38 PM
And why not just use proximity search and show all groups and events that are less than xx km from the user? (distance could be configurable by the user, something like : "show me what happens xx km from my place")

User already have an adress field and are geocoded if the field is filled.
September 6, 2018 1:53 AM

Proximity is helpful in many cases. But it's not the same as a named place.

For example, if I'm browsing a site anonymously, I might want to know what groups are in my town or place . Since I'm not yet registered, I don't have a location. Yes, we could add IP-based geolocation, but as an anonymous user I might not choose to share that.

Beyond that, for all kinds of physical and legal reasons, proximity doesn't always map closely to an accessible and relevant place. For example, I live on an island. If it's on my island, I can get to it without too much effort. If it's not, no matter how close, I probably can't.

So both named places and geographic proximity are useful.

September 7, 2018 1:14 PM

In this case I'd be tempted to first implement proximity searching and see where this leads us. Since it's arather big task, I keep it on hold until the rest is rock solid, maybe post v1.0

September 13, 2018 7:59 PM

@philippe

Sounds good!

You've read everything in this discussion