-
Notifications
You must be signed in to change notification settings - Fork 1.2k
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
Warn before deleting a member of a relation [$15] #1461
Comments
Having fixed (or helped to fix) damaged relations created by well meaning P2 editors, I think the problem predates iD. An intrusive "Are you sure, really sure: newbie!" would be intrusive. But that's not the only option. Consider the educational opportunity. A message more on the order of: "Hey, we just noticed that you've edited part of a iD is already brim full of helpful little messages, why not for a subjects that are really opaque, like relations (and multipologons)? |
I don't see a problem with it being "intrusive". JOSM is too, and that's one of the reasons why JOSM-based edits tend to present significantly fewer mistakes. (The other one is the required steep learning curve.) If relations can't be handled automatically (and they can't, unless you're merging two consecutive members of the same relation), they must be handled manually, and the user should be instructed on how they work, what they mean, and how to avoid problems when handling them. Why knowing and caring for relations is important: they are used to define multipolygons, country/state/city/suburb/neighbourhood boundaries, public transit routes, turn restrictions, and some others (http://wiki.openstreetmap.org/wiki/Types_of_relation). All those pieces of information can be damaged without proper attention and care, so this is a very important issue. Not having this generates great corrective strain on map maintainers. |
I went out of my comfort zone to try and delete a way that I recently I don't understand such behaviour. It took me a whole weekend to add all Polyglot 2014-02-14 23:36 GMT+01:00 ftrebien notifications@github.com:
|
I thought a little more and there's a key reason why there should be an intrusive warning: relations are essentially invisible. Well, they are visible, but only indirectly, you must know they exist and look for them. They're not like nodes and ways that you see right away, can pull around, delete, edit, they're "things" linked to these objects with no obvious representation on the screen. The only way an average user can handle the invisible is by making it somehow more visible. Because relation members are highlighted, deleting them may or may not issue a warning (after all, there was a warning, even though you'd need to know the visual language; still, I think a warning is a good idea). A bigger problem is when you're merging ways that are part of relations. This will alter relations in inconsistent ways which are very easy to go completely unnoticed. |
Relations could be highlighted when one of its members is selected. |
Exactly. This is how I think handling relations should work when:
For the latter case, if the logic becomes too complicated, then it's best to always issue a warning, as JOSM does. Simple messages for both cases could be more or less like this:
|
When splitting, the order in which the ways are included matters. For turn Polyglot 2014-02-15 17:14 GMT+01:00 ftrebien notifications@github.com:
|
You're correct, Polyglot. I've added these special cases to my previous post. |
Any news on this subject? This seems to me as very important and would ease the maintenance that hard-users need to do to keep the relations in areas they manage in a OK state. |
Like I said in #2014, it's annoying to keep fixing relations (mainly administrative boundaries); I could be fixing or mapping other things with this time. This warning message should have a higher priority. |
iD must overcome a user's worry 'they might break something'. Undo is a feature that addresses this worry. Strong warnings on dangerous edits are another. I view it as a beginner-friendly reduce-the-barrier type of behavior! |
The amount of data being broken, the number of new inexperienced users keeping committing these errors, and the lack of hands to solve this is beginning to strain peoples patience, especially (as I know) in Brazil. Isn't there any way a warning, even a friendly warning, can come up when a user is editing objects with relations? |
+11, please! As a basic rule, maybe a user should not be allowed to edit anything that is not completely visible, i.e. in the viewport? I guess that would make it impossible to edit huge multipolygons in iD, but it may just be the wrong tool for that. JOSM gives a warning if you want to delete something that is not completely downloaded, because it might have connections to other things. Another, maybe stupid idea: have a "superuser" mode that can only be switched on after maybe 150 edits. Only as a superuser, you can edit boundaries and coastlines. |
@daganzdaanda the number of changesets, unfortunately, doesn't mean anything today. New iD users create a lot of changesets with very simple edits. See #703, #1598 and others, for example. |
Yeah, I've noticed. It might need a calculation like "x active mapping days within the last 3 months"... I don't think its easy to find out who is experienced enough to be "superuser". That's partly why I wrote that the idea is probably stupid. |
I think a simple setting - "Enable relations edit" or something like that -
|
I will bring cake in May, for the 2 year anniversary. |
You can already bring cake in February for the 1 year anniversary of this Polyglot 2014-12-26 19:20 GMT+01:00 Nelson A. de Oliveira notifications@github.com:
|
Rather than complaining about it, I'll just buy an actual cake for whomever fixes this. |
I'll contribute the cost of mailing the cake to the person who fixes it. |
In the German OSM Forum I created a thread to collect issues matching this topic.
|
New examples are: This issue is already open. The German community is happy that new users join OpenStreetMap every day but the price we (the mappers) pay reaches its upper limit. Relations break easily if the editor does not warn its users. Relations are important for geocoding (boundary relations). README.md says:
This is wrong at the moment. Please keep this in mind that iD exists to help the community, not to harm it. iD is still (thank you for fixing it) the synonym for bad changes. The German mapping community expects you to fix this issue. It is almost two years old! I suggest you to:
(2) or add methods to ensure that edits do not break relations
|
I fully agree with Michael Reichert's message. It could, of course, also be How difficult can it really be to show a warning message to users? And if Polyglot 2015-01-19 17:13 GMT+01:00 Michael Reichert notifications@github.com:
|
iD is positioned as the easy editor meant to bring beginners into OSM editing. As such this is a big deal. An iD user who breaks something is having a bad experience, not to mention the people who have to come after and fix it up. |
|
With Changeset comments I think it is a more bad experience for the beginning user getting complaints from us who are maintaining areas, then a warning banner when they are about to break something. When I see change sets with bad data I do not check to see what editor they use or how much experience they have, I quickly post a comment on the changeset informing them about the damage and kindly ask them to fix it themselves. I think if iD gave a friendly warning at the time of edit, the beginners would be aware of the situation instead of getting an (at times) angry message from some total stranger. Often it is the same users I see doing the same mistakes or damages within the area I monitor, and almost always it turns out to be done with iD. |
In a relatively short editing spree, a somewhat experienced user broke several relations I had used a week or so putting in place. This experienced user are mainly using iD, and instead of iD notifying him when breaking relations, I have to do that job and remind him. This user edits all over Brazil, not only the area I monitor, so it is likely that he have broken even more relations without me noticing. I've had enough of reminders to him, and are just about starting to revert any changeset he touches containing relations, either until iD sort things out with themselves, or this user changes to a proper editor. Lists of change sets for today: |
I pay another cake for whoever fix this. |
Since a few people asked for context that would be useful if they wanted to solve this issue: User ExperienceGoing to assume / best guess that the desired UX is
This brings up the issues that
Would love to see clever solutions to those. Anyway The code:
Basic jist would be to hook into the delete operation, check to see if the things being deleted have parent relations, and ask for confirmation with an iD.ui.Modal if so. |
Right. The PR I've submitted above is pretty much the same, but it requires the user to expressly remove the way from the relations rather than using a modal, because (he says glibly) modals are often not great UI - experience with P2 is that people just click whatever gets the modal out of the way fastest. By prompting the user (in the tooltip) to expressly remove the way from the parent relation, it makes clear what's happening, giving the opportunity for a "wait, maybe I don't want to do that" moment. |
@systemed seems a good approach |
@systemed I like that approach. That is slightly stricter than the approach in JOSM, I cannot vouch for how it is done in other desktop editors, Go Map!! have completely disabled deleting and cutting, so there is no risk for this, and I guess other mobile editors follow the same line (also not fully to my knowledge). It is actually tempting to install Merkaartor to see how it is handled there. |
sweet! 🍰 @systemed can go to bountysource, claim his $15, then buy a cake. Or you can also buy something else, or pay it forward to another opensource project if that's what you want... |
I've sent him an e-mail asking the best way to pay my part. |
Congratulation to all, lobbyists, bounty hunters included :) On 12 février 2015 20:17:55 UTC+01:00, "Nelson A. de Oliveira" notifications@github.com wrote:
Envoyé de mon téléphone Android avec K-9 Mail. Excusez la brièveté. |
I don't think this has been properly handled yet. The user cannot delete a way that belongs to a relation, but he/she can still combine that way with other ways without getting any warning saying the relation (that was previously fine) makes no sense at all after combining its members. I just tried that on a bus route and a district boundary, all I needed to do was to combine two streets, one member to a relation, the other not a member. The resulting relation has the combined way as a member, which would be ok if the user got warned that the relation could become broken. JOSM handles this very nicely by warning the user and letting him/her choose to accept or not the consequences. In the way iD currently handles this, the user never knows that he/she has broken something. I see a pattern here: issue #2358 is analogous, but for tags. How hard is it really to warn the users? I'm sure nobody has the intention of breaking data, so why be against adding a simple warning? |
I totally agree with you. It seems like the developers op iD either don't They seem to have 'principles' which according to them are more important So, I'll keep trying to convince users to start using a real editor as Polyglot 2015-06-26 9:40 GMT+02:00 ftrebien notifications@github.com:
|
@ftrebien @PolyglotOpenstreetmap thank you for reminding me why I was so relieved to step down from maintaining the default OSM editor. (Basically, you two were the reason.) |
This issue, titled "Warn before deleting a member of a relation", is closed, because iD warns before deleting a member of a relation. If you'd like to continue insulting the volunteers who make this free and open source editor so that you can use it, do so on the correct ticket, #2358, or, even better, become one of them and stop trolling. Locking this ticket. |
User can delete a relation member without warning.
Either deletion should not be allowed at all, or an explicit message should pop.
The text was updated successfully, but these errors were encountered: