Closed Bug 873789 Opened 7 years ago Closed 6 years ago

adding coordinates to events is very complicated

Categories

(Mozilla Reps :: reps.mozilla.org, task)

x86_64
Linux
task
Not set

Tracking

(Not tracked)

VERIFIED FIXED

People

(Reporter: amir.aharoni, Assigned: nemo-yiannis)

References

Details

(Whiteboard: [kb=1151685] )

adding the coordinates of events' locations in reps.mozilla.org is quite hard. Every time I add an event, I have to add the coordinates manually. The map doesn't have a search option, but only manual zoom. It can work if I am familiar with the venue's city, and even then it's very hard. And if I am a new visitor in the city, I have to go to another mapping site, find the street there and carefully copy the coordinates. Copying coordinates from Google Maps and OpenStreetMap is surprisingly hard, too.
Assignee: nobody → jgiannelos
Suggested fix: 

a) Zoom the map and place a point in response to information typed into address fields on event creation form
b) Pre-populate the country field on the event creation form with the country of the event's creator

This solution will make it possible for events with an address to be pinpointed on the map. Events without an address will at least be pinpointed at the geographic center of the country, region, or city, and that should make this task easier for those event creators too.

If this fix sounds like it will work, we'll try to do it soon.
(In reply to Justin Crawford [:hoosteeno] from comment #1)
> Suggested fix: 
> 
> a) Zoom the map and place a point in response to information typed into
> address fields on event creation form
> b) Pre-populate the country field on the event creation form with the
> country of the event's creator
> 
> This solution will make it possible for events with an address to be
> pinpointed on the map. Events without an address will at least be pinpointed
> at the geographic center of the country, region, or city, and that should
> make this task easier for those event creators too.

I like this solution. I would suggest zooming the map to either the Rep's coordinates from their profile or the center of their city. While many Reps certainly organize events outside their city, this is a good starting point for showing the map pin.

In response to point a) above, we actually don't have an address field on the event creation form right now, though I think we should consider adding street address as an optional field. 

I think a good long-term solution is to allow the event creator to type in a city name, and the map zooms in on that city. There is a similar discussion in bug 920651 for a better location interface in mozillians.org, and there are some tools mentioned there that might be relevant to this bug.
See Also: → 920651
Whiteboard: [kb=1151685]
I have pushed a new branch [1] that implements some of the suggestions on streamlining the event creation process.

What I have done so far is:
* Add mapbox.js lib to project
* Add search functionality in map modals
* On map modal initialization, center and zoom to users coordinates (if any).
* Prepopulate event country/region/city from owners userprofile data   

Another idea that I had discussed with :pierros in the past is to
add a marker on each click on the map to visualize the selected lat/lng.
After some examples I didn't like the UX result, but if you like the idea
I can work more on that.

Any thoughts?

[1] https://github.com/johngian/remo/tree/873789-coordination
Flags: needinfo?(williamr)
Nemo, this looks great. I think we should keep it working exactly as it does now, with a couple additional changes:

1) When someone chooses coordinates, change the values in the location string fields below the map
2) Make the location string fields uneditable -- someone will have to use the location picker to locate their event

Do you think these changes are valuable? Possible?
Flags: needinfo?(williamr)
I have a suggestion but not sure of the feasibility .. how good would it be if one could paste the link after a search on google maps. I think there might be a way so that google maps exposes the lat and long in the query parameters.
(In reply to Avinash [:hardfire] from comment #5)
> I have a suggestion but not sure of the feasibility .. how good would it be
> if one could paste the link after a search on google maps. I think there
> might be a way so that google maps exposes the lat and long in the query
> parameters.

While this solution works, I think Justin's suggestion in comment 4 is a better experience for Reps as they create events. Thanks for suggesting an idea, hardfire! Keep them coming.
:hoosteeno

1) Do you mean to use reverse geocoding and convert lat/lon to populate the city/region/country field in the event form? I am not sure how detailed are the geodata mapbox returns, but we can definitely check that.

2) This is easy to do, but whats the value of doing that? We could instead zoom/center map in the appropriate lat/lon if user decides to input data manually.

Both are possible, I am proceeding with the changes you suggest.
Also, about https://bugzilla.mozilla.org/show_bug.cgi?id=873789#c5:

I can see that its a better approach to use our map to define lat/lon but if lets say the majority of reps who create events use gmaps to search for venue location, it might make sense to include this procedure in the portal. That's of course just a thought and we can work on it after we make our lat/lon procedure easier.
> 1) Do you mean to use reverse geocoding and convert lat/lon to populate the
> city/region/country field in the event form? I am not sure how detailed are
> the geodata mapbox returns, but we can definitely check that.

Yes. According to our account representative, Mapbox returns city-level data when it's available.

> 
> 2) This is easy to do, but whats the value of doing that? We could instead
> zoom/center map in the appropriate lat/lon if user decides to input data
> manually.

Great. The goal is to make the map and the strings match; the form should not allow people to submit a lat/long that doesn't correspond to the strings in the location fields. If we can accomplish that using geocoding in both directions (reverse geocode from map to strings, geocode from strings to map) that's perfect.
Commits pushed to master at https://github.com/mozilla/remo

https://github.com/mozilla/remo/commit/00752d03c78eca5a6e5e41172df64b526411f89e
[Fix bug 873789] Make it easier to add event coordinates.

* Add mapbox.js to static
* Fix client side messaging UI
* Make showMessage generic
* Add search bar to map modals
* Initialize map modal with user lat/lon
* Prepopulate event form using userprofile data
* Try to autopopulate with reverse geocoding
* On map zoom after search populate lat/lon
* Add geolocation button to map modal

https://github.com/mozilla/remo/commit/86afde8c1b33e538f35d6075e04257b4ce880c0b
Merge pull request #538 from johngian/873789-coordinates

[Fix bug 873789] Make easier adding event coordinates
Status: NEW → RESOLVED
Closed: 6 years ago
Resolution: --- → FIXED
Verified on stage on both profiles and events that:
 * Map features a locate button 
 * When editing events, map zooms to lat/lon defined in user's profile
 * Searchbar and Geocoding
 * Reverse geocoding in events
 * Event location data get prepopulated

Notes:
 * reverse geocoding does not work on profiles. Comments above suggest that was to be implemented in events, so probably that's OK.
 * Geocoding results are a bit limited imho, but that's limited to what mapbox provides.

Great work, thanks :nemo!
Status: RESOLVED → VERIFIED
Version: unspecified → 417
You need to log in before you can comment on or make changes to this bug.