Opened 11 years ago

Closed 6 years ago

#1017 closed enhancement (wontfix)

Prevent double way and node additions

Reported by: Dirk Stoecker Owned by: Richard
Priority: major Milestone:
Component: potlatch (flash editor) Version:
Keywords: Cc: schuetzm@…

Description

In the last time the OSM server and potlatch a very slow. This results into many duplicate ways and nodes in the database.

Please fix this: a) Make clearly visible, that not all data is loaded yet, so a user does not draw a way when data is incomplete. b) Prevent upload/download bugs

This is a major topic, as the number of double stuff increased a lot in the last month.

Change History (12)

comment:1 Changed 11 years ago by richard

Server response times should be significantly speeded up later this week with Potlatch 0.10 and a major rewrite of amf_controller.rb. I'm working on improvements to make the "loading ways" display more obvious.

Of course, everyone can help improve speed by donating new servers etc. to OSM. :)

comment:2 Changed 11 years ago by schuetzm@…

Cc: schuetzm@… added

Why can't editing simply be disabled until all ways are loaded?

comment:3 Changed 11 years ago by richard

Because "all ways are loaded" is not that simple.

On the initial load, maybe it's possible. But when you're panning around the map, you still might be editing in an area for which all the data has been loaded: the "blank" bit is off to the side in the newly panned bit. And if you only disable editing for the initial load, the user would think "oh, I can edit the blank bit, because it hasn't been disabled".

So, like I say, the best answer appears to be to make the "loading ways" display more obvious.

comment:4 Changed 11 years ago by Dirk Stoecker

Probably copy from merkaartor.

Where josm uses a yellow line to indicate download area, merkaartor uses an are fill with small red dots to mark the "keep hand away" area. I think that should work for potlatch also.

Make all area red-dotted until loading is finished. The remove the red dots for the finished areas.

comment:5 Changed 11 years ago by richard

Not a bad idea, but would be very complicated to implement. Every time you pan, Potlatch loads from a new bbox, so you would typically have some 20 overlapping bboxes. Calculating the boundary line of this area is not trivial.

It might be good as a long-term aspiration but, with 8bn other demands on time at the moment, I think the more prominent "loading ways" display, and the faster server response times, are more likely to get results faster.

comment:6 Changed 11 years ago by Dirk Stoecker

Hmm. I wouldn't calculate the boundary at all.

When loading state is finished or display is moved/zoomed, fill the current display with dots and now remove all dots inside loaded areas. Very likely that can be done in background and clipped into display when complete?

comment:7 Changed 11 years ago by richard

Very good idea.

Ok, will give it some thought for 1.0.

comment:8 in reply to:  3 Changed 11 years ago by schuetzm@…

Replying to richard:

Because "all ways are loaded" is not that simple.

On the initial load, maybe it's possible. But when you're panning around the map, you still might be editing in an area for which all the data has been loaded: the "blank" bit is off to the side in the newly panned bit. And if you only disable editing for the initial load, the user would think "oh, I can edit the blank bit, because it hasn't been disabled".

So, like I say, the best answer appears to be to make the "loading ways" display more obvious.

I can't follow you here... If you can display "loading ways" whenever ways are loaded, you surely can also disable editing while "loading ways" is displayed, right?

comment:9 Changed 11 years ago by richard

Oh, sure, you can. But the point is that a user might want to continue editing a loaded area, while another area loads - I do this all the time. stoecker's suggestion sounds like a good way of making it clear to the novice, without restricting the knowledgeable user's options.

comment:10 Changed 11 years ago by Richard

Note to self - comp.graphics.algorithms 2.04 (http://www.faqs.org/faqs/graphics/algorithms-faq/) is relevant - basically build a list of all the latitudes of already loaded bboxes, then use those to work out the rectangles within the current bbox.

comment:11 Changed 11 years ago by Richard

Owner: changed from richard@… to Richard
Status: newassigned
Type: defectenhancement

0.10 (awaiting deployment) contains a much more visible, and localised, "loading ways" display. With that in mind I think any further changes can be changed from a defect to an enhancement.

comment:12 Changed 6 years ago by iandees

Resolution: wontfix
Status: assignedclosed

Cleaning aging tickets.

Note: See TracTickets for help on using tickets.