MarcusWolschon / osmeditor4android

Vespucci is a OpenStreetMap editor for Android
http://vespucci.io
Other
381 stars 83 forks source link

"Clear and download current view" should also clear tasks #1384

Open dead10ck opened 3 years ago

dead10ck commented 3 years ago

Currently, if you want to clear the current data and download data in a new area, if you press the "Clear and download current view" button, it will clear the previous map data, but not the tasks, which can take up significant resources in areas where tasks are dense. This means that the workflow for clearing all the data to work on a new area involves two steps: first clearing tasks, then clearing and downloading map data.

It would be great if the "Clear and download current view" button cleared both the map data and the tasks.

Lee-Carre commented 3 years ago

What if one wishes to clear map data while keeping downloaded tasks?

dead10ck commented 3 years ago

What would be the utility of this? Without map data, you can't make edits, and if you download map data, you also download tasks.

simonpoole commented 3 years ago

@dead10ck you can conceivably work just with Notes.

In any case I can see both sides of this argument and am still looking for a reasonable solution to the dilemma.

dead10ck commented 3 years ago

You could "conceivably" work with just notes... but would anyone do that in practice? I can't think of any concrete cases where that would be useful.

Lee-Carre commented 3 years ago

@dead10ck

What would be the utility of this?

You could "conceivably" work with just notes... but would anyone do that in practice? I can't think of any concrete cases where that would be useful.

Fallacy; argument from ignorance (and/or personal incredulity). Besides, you're proposing to change established behaviour, so the burden of proof is on you (to make a compelling case), not on others to argue why it should remain.

Why load data which may not be needed?

I've (recently) done exactly as described; investigated what was actually at the site of a note (in order to verify what was claimed by an anonymous note). This required no map (vector) data. I had a background imagery layer, with tasks on top; all other layers were hidden.

Why limit or restrict usage options? Allow them, so that people can use the thing to their liking. That's the making of great software.

Conversely, I could ask why you don't use auto-prune (because that works for me and I simply can't imagine the possibility of anyone using it differently).

While I accept that this seems like it'd be more convenient for you, it doesn't follow that it should be changed for everyone.

If I could have my way (regardless of anyone else) then there would be no ‘clear’ menu item at all.

@simonpoole

still looking for a reasonable solution to the dilemma.

Suggestion: make the ‘clear’ function user-configurable in what it clears (with ‘nothing’ as one of the possibilities).

Set the current behaviour as the default configuration.

dead10ck commented 3 years ago

Wait, I'm just realizing we seem to have switched our nomenclature, perhaps inadvertently. Just to make sure we're on the same page, this ticket is about tasks (i.e. Osmose tasks that are always associated with an OSM element), and not Notes (which are native OSM elements that a human being wrote a message in).

I could see a use case for Notes, because they often have a noteworthy issue. And as far as I know, Notes are cleared along with the map data.

But Osmose tasks are things like "Duplicate node", "deprecated tag", etc. They're pretty useless without having the map element loaded that it's referencing.

Either way, regardless, if we're talking about the same thing and you guys think there's a use case for having tasks without map data, then a config option seems like a reasonable solution for everyone.

simonpoole commented 3 years ago

@dead10ck all the "task-like" data share large parts of their implementation and are stored in the same data structures, while there is a bit of sub-class specific code, for example exporting/importing Notes the download code doesn't really differentiate logically. That can be changed, but as the osmose data format has changed, there needs to be a larger refactoring of the code in any case some time soon, so right now I'm just gathering ideas.

dead10ck commented 3 years ago

Oh, I see, that makes sense, thanks for explaining; I understand the issue now.

Lee-Carre commented 3 years ago

Simon already covered several of the points I would've made, so I'll skip them.

Osmose tasks are […] pretty useless without having the map element loaded that it's referencing.

I've used those in a similar way to notes; for finding places where the map data may need attention. Besides, when opening the dialogue box to show more info about a bug, there's a hyperlink to the relevant data (node, way, or whatever it is). If the data isn't already loaded, then Vespucci loads it.

So, again, I may want to hold a large area of tasks (notes, bugs, whatever; it's basically a geo-referenced to-do list, any of which may be hidden via the layer config list), but only small areas of map data. To then (want to) discard the map data once I've finished with it while keeping the tasks (again, bugs, notes, whatever else).

Having tasks cleared just because I want to prune excess map data, would be most annoying and interfere with my surveying efforts.

Short of the ‘clear’ function being configurable, an extra step (to also clear / prune tasks) in order to preserve granularity of behaviour, seems a good trade-off.

Was the proposal merely for convenience, or is there some problem (workflow-disruption?) by not having both (data & tasks) cleared simultaneously? If there is an underlying problem, that the proposed change may have fixed, perhaps there is a different way of addressing it.

dead10ck commented 3 years ago

I see, thanks for explaining your use case. My proposal is mostly out of convenience. I personally always clear both, because tasks are quite dense, at least where I live. So my workflow has to be: work in one area, move to another, clear tasks, clear and download map data. This one extra step adds up over an editing session, and it gets quite irritating having to always push two buttons to start editing a new area. Add least for me, they always go together, so clearing them together would make my editing experience significantly better.

Lee-Carre commented 3 years ago

That makes me wonder if you're downloading excessively large areas (and why), especially since you say that data is dense (implying an urban environment).

If doing surveying (rather than using Vespucci as a general editor which happens to run on portable devices), then I would recommend using location-based loading (which loads data around your detected location, including as you move (at a speed less than the configurable threshold)) in combination with offline mapsplit data (to reduce load on OSM servers). The radius of data loaded is configurable. This mechanism includes an auto-prune feature (configurable, defaults to 5000 elements); thus as more data is loaded (by walking along), old data is auto-magically discarded. For on-foot surveying, in my locality, I find that 2000 elements is a perfectly good threshold.

If you're doing arm-chair mapping on a phone / tablet; in my experience tasks only affect performance when they're within the viewport. Tasks far away have little effect. Thus, if you're jumping between different areas, then what would be the harm in leaving tasks until the end of your session, and clearing / pruning them all in one step?

What I'm trying to get at, here, is your own use-case / work-flow, in hopes of suggesting a small alteration which avoids the problem you mention (or the need to clear tasks manually).

dead10ck commented 3 years ago

I primarily use Vespucci in an armchair fashion.

If you're doing arm-chair mapping on a phone / tablet; in my experience tasks only affect performance when they're within the viewport. Tasks far away have little effect. Thus, if you're jumping between different areas, then what would be the harm in leaving tasks until the end of your session, and clearing / pruning them all in one step?

The problem is that I edit all over a region of my state, and the tasks never go away unless I explicitly clear the tasks. It could be days between editing sessions, and the tasks would still be there the next time I opened Vespucci. At some point, you have to clear both the map data and the tasks.

Beg pardon for the analogy, but suggesting "have you tried simply not clearing them?" is a bit like if I went to the doctor complaining about shoulder pain when I move my arm a certain way, and the doctor asking "Have you tried not moving your arm?"

Lee-Carre commented 3 years ago

suggesting "have you tried simply not clearing them?"

Fallacy; strawman. That's not what I asked, nor your original complaint (fallacy; moving the goalposts).

I could make equally unhelpful analogies about using a surveying editor for large-area armchair-style mapping.

I also made the point that tasks only affect performance when they're displayed. So this is akin to your arm hurting only in an awkward position. Else, like an old joke about your eye hurting when you drink tea; the punch-line being to remove the spoon from the cup before drinking.

If you don't want help then just say so; I'm not the one who is unhappy with the current behaviour of Vespucci.

I edit all over a region of my state

I think I'm starting to see the basis of your request, if indeed you're making changes across a region in a single changeset, rather than several small (neighbourhood-sized) areas.

Though, if doing that type of editing, would an editor which runs on a micro-computer not be preferable (& easier)? I'm assuming that there must be a reason for not doing so.

dead10ck commented 3 years ago

suggesting "have you tried simply not clearing them?"

Fallacy; strawman. That's not what I asked, nor your original complaint (fallacy; moving the goalposts).

It is, actually. Here, I'll quote you for you again.

what would be the harm in leaving tasks until the end of your session, and clearing / pruning them all in one step?

Maybe it's not what you meant? But it is what you said. It's right there for you to read again. I also didn't change anything about my complaint? I added more context perhaps, but that is not "changing the goalposts."

May I just point out as an aside that it is not productive to hunt for logical fallacies you read about on Wikipedia in discussions with people, and especially unhelpful and rude to brandish them in actual conversations. This is not an exercise in Socratic debate; human beings don't talk to each other this way. At best, it's unnecessarily confrontational and condescending, and does not accomplish communicating your view; at worst, you are wrong and weakening your own point, while aggravating the other party and making it difficult to keep the discussion productive and cordial. If there's something you disagree with, just explain your viewpoint.

I could make equally unhelpful analogies about using a surveying editor for large-area armchair-style mapping.

...

Though, if doing that type of editing, would an editor which runs on a micro-computer not be preferable (& easier)? I'm assuming that there must be a reason for not doing so.

For someone that just made a case for considering use cases unfamiliar to them, this is a curious thing to say. Sometimes it's easier to do things on my phone, sometimes I don't have my laptop with me. Just because you use Vespucci exclusively for surveying does not mean that it is "a surveying editor" or that using it for armchair mapping is somehow wrong.

I also made the point that tasks only affect performance when they're displayed. So this is akin to your arm hurting only in an awkward position. Else, like an old joke about your eye hurting when you drink tea; the punch-line being to remove the spoon from the cup before drinking.

I think you're being a bit disingenuous here, or you're simply not listening to me. I'll repeat: clearing tasks less often isn't a solution. It might not affect me in a single session, or "while I'm not looking at it," but they will accumulate over time. Eventually you have to clear them, and then we're back to my original comment.

Also, simply "not looking at them" isn't really an option for me. I frequently have to zoom out pretty far to find the area I'm looking for. I've grown familiar with the topology of my area, so this is often much quicker than finding the coordinate. And when I do this, all the tasks are in the viewport, which sometimes is in the hundreds, even for neighborhood sized areas (think dense shopping malls, for example). Clearing the tasks becomes an immediate necessity to make the app usable again.