Hi folks,
I follow some talks at some conferences (i.e. hackmeeting) last years
explaining the project and I really appreciated it.
Some weeks ago I thought it could be some nice to heave features for the
software
- a geolocalizazion system: basically, adding coordinates to the places
- a map view of the events, to select them from the map and with links
on how to arrive
I had enjoj doing a draft of the possible functioning, with
geolocalization and with a map in the home, and in the add page.
inspired from
https://framagit.org/les/gancio/-/tree/placeNominatim
and looking also at
https://framagit.org/les/gancio/-/issues/89
Using nominatim.openstreetmap.org to retrieve the address informations,
and storing the whole response in the details property of the place of
the event(i.e. event.place.details )
(this also stay large and allow, for example customization of the select
input with icons about the kind of place selected (street, building, etc)
And using, the library vue2leaflet to build the map
I think it is not immediate to comprend how to use client components in
a framework like nuxt, oriented instead to server side rendering,
Hower, looking at the code, it could also be included as a plugin
instead, or through the library nuxt-leaflet
the draft I did is accessible here
https://framagit.org/sedum/gancio_d
at branch feat/geolocalization
I didn't a pull request because I'm not really sure if it is a requested
feature for the project or if it is an acceptable way to implement it.
And I'd like to see other impressions.
In the draft I added some values to settings, and in the setup area, to
allow to do not using it at all, and experience gancio as it, without
encounter any error, also if you previous enabled it and viceversa.
But I think basing some functionality on it could continue as a
"breaking change" (that implies modification of the actual code)
If it was needed I could spend some time on it, if it seems a good idea.
For example, I think are missing some functionality to select address
directly from the map,
and maybe to filter events in the home based on the map view, with a
different color if the event is not "today".
and add a button to show map in the place page, with links to how to arrive.
Also the map as an object that take space in the layout is not really
confortable, in desktop and also in mobile mode, is a little hard. I
think maybe a dark/grey layer for the map could work better, but an
interaction of this kind, with a calendar and a map, is not super easy
to think and the fear of damage the actual elegant layout is really high :).
Indeed maybe nominatim itself could be enough, and the work of adding an
opt-in feature with geolocalization could be an interesting point.
In effect, in my opinion just using nominatim could be a good choice
it was for example, let's correct me if i'm wrong, one of the point also
in the /e/os project (microG), compared to lineageos, to add
nominatimNlpBackend among the other service, instead of the google ones,
to do something a little better :)
also if here, this lead to an unprecedent request from another server
(also if it is nominatim) and I comprend and appreciate the efforts of
ssr and of working without js enabled.
and among the other common providers, for example looking at mobilizon
https://photon.komoot.de
https://github.com/addok/addok
https://developer.mapquest.com/documentation/open/
https://developers.google.com/maps/documentation/geocoding/intro
https://github.com/CanalTP/mimirsbrunn
https://pelias.io
maybe just
https://photon.komoot.io/ (they changed the tld) could be
interesting to implement as it reuse nominatim data to allow a fast
letter-by-letter research.
In facts a whole other question, is the support for federation and the
adoption of a standard for sharing places, compatible with AP, etc.
as I read a bit on
https://socialhub.activitypub.rocks/t/how-to-represent-places-in-an-event/413/8
Let me know what are your opinions!
Best regards
Ps. I'm sorry for the long of the read!
--
gothos
PGP Key ID: 0x6406B32F2CEC0008
PGP Key server:
https://keys.openpgp.org/