[OSM-talk] Mapzen POI Collector Offline editing (iPhone)

Ævar Arnfjörð Bjarmason avarab at gmail.com
Mon Mar 8 17:18:00 GMT 2010


On Thu, Mar 4, 2010 at 16:18, Oleg Shaniuk <oshaniuk at cloudmade.com> wrote:
> I'm developing mapping tool for iPhone - Mapzen POI Collector. At the
> moment, I see pretty big amount of requests on edit the map in the offline
> mode. This may lead to pretty big changes inside the application and change
> it's behavior. So, I want to discuss side-effects here, before make a
> decision on implementation. My main point of problem is possible conflicts
> with data added offline and data, which added at the same time from
> different client - so, when user will try to upload the changes, conflict
> situation may occur. There is option to ignore such conflicts and use
> existing in the database data, or overwrite with user-generated data - I
> don't think we like to edit conflicts, not map ;) So, is there any ideas on
> handling this case? Of course, there is option to create some merging stage
> for uploading data and use it to resolve conflicts, but this leads to more
> complicated user experience with application and I'd like to avoid any kind
> of interaction except adding POIs and editing existing POIs. Maybe there is
> some rules for auto-merging? Also, interesting, how to handle the case, when
> POI added in the offline mode also been added by another mapper and - result
> is two exactly the same places on the map (with distance of 2 meter away
> each other) ?
> As for me - I like the idea of mapping in real time, but understand, roaming
> and possible signal loss puts some limits on this. It would be cool to see
> your thoughts here.

This is just my curiosity but how are you doing conflict resolution
right now? You're not running directly on the database so you can run
into cases where the data changed from under you in the short time
since you downloaded it to the user trying to upload it again? Does it
just die with a version incompatibility error?

As for how you should do it look at JOSM's conflict resolution. The UI
isn't very good but the basic idea is there. When you get a conflict
present the user with a 3-pane dialog with his tags, the current tags
on the server and allow him to drag the tags he wants into the column
in the middle before upload.

Auto-solving conflicts where new tags were added on the server that
don't correspond to the tags your user tried to add is probably
something you'd like to do.




More information about the talk mailing list