OpenStop icon indicating copy to clipboard operation
OpenStop copied to clipboard

Feature to check that the data is still up to date

Open jonaskoehl opened this issue 5 months ago • 1 comments

Idea

When improvement (or even deteriorations, or changes in general) are made to the public infrastructure, and when the old state in OSM has already been mapped, it should be easy to realize this easily, especially when mapping in the field.

According to my understanding, OpenStop only asks for information which is missing. However, it would also be a good platform to acquire corrections in its scope.

Therefore, I would wish to have OpenStop some kind of feature that asks the user whether the tagging of an object in the scope of OpenStop is still up-to-date and if necessary gives the possibility to update.

It might not be necessary that a full rebuild of a platform is done, also small changes like adding an RTTI display would make data even added with OpenStop not up to date any more. Additionally, such a feature would make it easier to find actual errors in the data.

From the user side, I would imagine something similar to the summary before uploading, but with all tags covered by OpenStop and the possibility to go to back to the known questions to edit them. I could imagine both directly being able to address one question or go through all the questions from the beginning. The dialogue should be triggered from the editing history of the object, such that it is regularly checked (maybe after one or two years?). So this is somewhat related to issue #77 .

I think it would make sense to show it before or after (maybe rather before) adding new information to an object, and pop up for already “fully tagged” objects the same way as the questions.

Bug Relation

Is not related to a bug.

Implementation

Unfortunately, I cannot provide an idea how to implement this from a technical perspective.

Additional Info

A similar feature is part of Street Complete (https://github.com/streetcomplete/StreetComplete). They ask for whether a feature still exists, and data which is subject to change more often, such as opening hours.

jonaskoehl avatar Jul 17 '25 21:07 jonaskoehl

Thanks a lot for the detailed issue. We fully agree. This feature idea is on our backlog for quite some time. The main reason we kept away from it is that there are some unsolved technical challenges.

The main problem is the reverse mapping of tags to answers. Since in OSM every tag can contain any string the tag might have a value where we do not have a predefined answer for. Consider a list question which is composed of multiple pre-defined answers where each of which is mapped to a tag. If we encounter an element where we want to check if the tag is still up-to-date but the tag contains a value where we do not have an answer mapping for, then what should we show to the user? This is obviously not a problem for editors that simply allow you to freely change the tags. We could skip this question altogether as we cannot properly resolve it. But this feels wrong, especially because it might be exactly these situations where the element has a wrong value. Alternatively we could also simply ask the user the normal e.g. list question and blindly overwrite the existing value. But this also feels wrong as the tag might actually be correct.

The dialogue should be triggered from the editing history of the object, such that it is regularly checked (maybe after one or two years?)

I guess you a referring to the timestamp attribute that is assigned to each element when touched, like:

<node id="966687854" visible="true" version="35" changeset="140197656" timestamp="2023-08-21T19:23:26Z" ...>

It is true that it can nicely be used to detect when an element was last changed. The problem is that we still have to write some tag or change the element in some other way in order to update the timestamp so that the question whether this element is up-to-date can be hidden/invalidated. This is why I think we cannot get around #77 unless we want a sort of special mode where simply all possible elements are shown on the map (e.g. as gray markers) and the user can check them at will.

From the user side, I would imagine something similar to the summary before uploading, but with all tags covered by OpenStop and the possibility to go to back to the known questions to edit them. I could imagine both directly being able to address one question or go through all the questions from the beginning.

I like the idea of directly showing the summary instead of asking a particular question like "Is there still a passenger information display?" due to the immediate overview of the element properties. But it requires a solution for the mapping problem and even then questions can depend on the answers from other questions (e.g. "is there a kerb?" > "what kerb is present") which complicates this even further.

One solution that avoids all of these problems would be to introduce new questions for each tag we want the user to check again after a certain period of time. A possible syntax that fits roughly in the current scheme could be something like:

 {
    "question": {
      "name": "Does the bench still exist?",
    },
    "answer": {
       "type": "Bool",
       "constructor": {
          "bench": ["$input"],
          "check_date:bench": ["$now"]
       }
    },
    "conditions": [
       {
          "osm_tags": {
             "bench": "yes",
             "check_date:bench": {
               "ago": 300, // unit in days
             }
          }
       }
    ]
 },

So to summarize: if we just want to ask if a particular tag is still present then this can be integrated fairly easily with the above check_date approach. However if we want to give an overview over the currently available elements at a stop and their properties we most likely need an entirely different mode (something like the StreetComplete layers).


A brief explanation of the current OpenStop architecture: Currently there are only questions that have certain conditions (like: "check if the tag X on the element of type node already exists"). If one or multiple questions apply to an element a marker on the map is shown. The marker icon/style is just another predefined list of "show this icon if the element has certain conditions".

Robbendebiene avatar Jul 18 '25 08:07 Robbendebiene