Skip to content
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

Feature: Show the list of edits in the profile #2907

Open
NotSoImportant opened this issue May 25, 2021 · 30 comments
Open

Feature: Show the list of edits in the profile #2907

NotSoImportant opened this issue May 25, 2021 · 30 comments
Labels
enhancement needs PR accepted suggestion, but only if a contributor implements it

Comments

@NotSoImportant
Copy link

NotSoImportant commented May 25, 2021

Use case
Show edits, learn osm

Proposed Solution
In the profile add a tab showing the exact key/value set by the recent change.
Like in the new revert dialog, but at one glance (and without clicking revert button when you do not want to revert)
Maybe even link to the respective osm wiki page.

@westnordost
Copy link
Member

Can you outline with a mockup how you imagine it could look like and where it would fit?

@matkoniecz matkoniecz added the feedback required more info is needed, issue will be likely closed if it is not provided label May 28, 2021
@westnordost westnordost removed the feedback required more info is needed, issue will be likely closed if it is not provided label Jun 7, 2021
@NotSoImportant
Copy link
Author

NotSoImportant commented Jun 8, 2021

Hi, could not reply earlier.
Here is my proposal.
@westnordost please reopen this feature request.

image

@westnordost westnordost reopened this Jun 8, 2021
@westnordost
Copy link
Member

Hm. I don't think it makes sense to display the undo button there, you usually need context (the map) to kno what is what.

Also, edits are not saved forever. So this list could only show the edits of one day.

@NotSoImportant
Copy link
Author

Not having the undo button is fine to me as the intention is to get more insight into the underlaying osm changes.

Regarding the persistance for a day:
I think would be ok, but better would be to keep them longer.

In addition I like to suggest to also show unsubmitted changes - maybe separated by a horizontal line. Checking this screen might give someone more confidance before hitting upload (for manual upload mode).

@NotSoImportant
Copy link
Author

There could also be added a link to the osm item that was changed

@HolgerJeromin
Copy link
Contributor

We could list the osm object or osm changeset (and link the object or changeset instead of wiki).

@NotSoImportant
Copy link
Author

NotSoImportant commented Jun 9, 2021

Yes, we could even link documentation AND osm object from different columns.
I made a new mockup. IMHO it tooks too technical / overloaded, but to give some idea about what would be possible.

image

@westnordost
Copy link
Member

Hm, I thought about this, but I would rather not have this in the app. Such a list does not classify as "statistics" because only changes of the last 12 hours or so are retained. So it would be the wrong place - users might get confused why all their changes are gone. Also, it is in most parts a duplication of information that is available elsewhere in the app.
Maybe the information what has been tagged could somehow be added to the edit history sidebar, but I have no idea how this could be made not obstrusive in the UI.

@westnordost westnordost added the wontfix idea rejected because it is out of scope or because required work is not matching expected benefits label Jun 19, 2021
@NotSoImportant
Copy link
Author

The problem I see with the sidebar is that you have to click "revert" when you actually do not want to revert, but learn more about osm.
imho having such list is a great opportunity to learn what you are doing behind the scenes of this simplified and user friendly gui.
please reopen.
I am not tied to the implementation, but I see a lot of value in providing such learning connection in any form.

@westnordost
Copy link
Member

Well, any ideas?

@westnordost westnordost reopened this Jun 20, 2021
@mnalis
Copy link
Member

mnalis commented Jun 20, 2021

Few random ideas:

  • one might add I want to learn OSM technicalities preference checkbox, and if it is enabled (disabled by default?) make it display as extra text what it does, and make it do one of the following:

    • as soon as quest is solved, fadein/wait/fadeout information about tag changes (might get boring fast, though)
    • before quest answer is confirmed, on each change in the answer, show window about tag changes
    • in the Show edit history, as soon as Quest is clicked, show window (below node on map?) with detailed info about tag changes
  • at least last of those might work even without I want to learn preference, but discoverability would suffer (eg. in Show edit history one might swipe quest to the right, or long press etc. to get window with detailed tag changes for that quest).

As a current workaround for @NotSoImportant: in Hamburger / My Profile / OSM Profile one can click on Edits to see what was changed, and you can click on each key to get redirected to its wiki. It does require that the changeset was already uploaded by StreetComplete, though.
(Also, default OSM display output does leave something to be desired - if learning on desktop, one can peruse for example osmhv bookmarklet to get nicer and mode compact display, but I'm not sure how supported bookmarklets are on mobile browsers...)

@NotSoImportant
Copy link
Author

@mnalis Thank you

As a current workaround for @NotSoImportant: in Hamburger / My Profile / OSM Profile one can click on Edits
Yes this is what I did, but it

  • requires leaving the app
  • has edits mixed with edits done from other sources
  • does not provide details in the overview list
  • does not work with uncommitted changes

Osm history instead has already too much information I think, lagging the overview of a table with 1-2 rows per edit.

@westnordost why would the current caching of only ~12 hours be a limiting factor? Could not instead the data kept longer or even ad-hoc queried with another call?

@westnordost
Copy link
Member

westnordost commented Jun 21, 2021 via email

@mnalis
Copy link
Member

mnalis commented Jun 27, 2021

Anyway, as the information is visible inside StreetComplete, in quite readable format:
Screenshot_20210627_213418_de westnordost streetcomplete

but maybe only in slightly unusual place (behind undo button), I guess we could mention it in FAQ and call it a day? After all, the premise here is the users who would want this feature are willing to learn by definition, so expecting them to at least have read the FAQ is not unreasonable.

Perhaps we could make key names be clickable links to http://openstreetmap.org/wiki/Key:XXXX where XXXX is recycling:paper or whatever it is in the example. (Or alternatively we could simply instruct the user in FAQ how to find key definitions in wiki themselves - as the key names are very close on the screen one to another, which might be bad UX on mobile to make them clickable without extra separation between)

unless @NotSoImportant can propose some better way to do it in a way that is not conflicting with StreetComplete tenets and is simple to implement, then the ones seen so far...

@westnordost
Copy link
Member

Why read the FAQ at all. Sooner or later, any user will have undone at least one quest. When he sees the tag information, he will have learnt then that this way, he can see what has been tagged and learn from that.

@NotSoImportant
Copy link
Author

What speaks against having this information in the user profile menu - even if only possible for the last 12 hours? Like this

  • it can be visible without the need to hit undo
  • you can see multiple changes at a glance

@westnordost
Copy link
Member

seeing multiple changes at a glance is not an advantage in understanding why it is tagged that way. You often need to see the context (i.e. what building, what road was this exactly) why something has been tagged that way.

IF this is implemented, it should be an own tab (alongside links, achievements, ...) named "recent edits" or something like that, and have no undo function. But I am wary of that, there is little gain. See my earlier comment.

@NotSoImportant
Copy link
Author

NotSoImportant commented Jul 3, 2021

Ok, fair. I just want to propose to have a better learning connection from easy change to osm data. Details may be as described by you. Just can we find a workable - maybe not yet perfect - solution?
Otherwise I fear it will just be forgotten again and so the opportunity to learn osm attributes through streetcomplete will stay unused.

@westnordost
Copy link
Member

Hm well, I will not implement it, but I figure I would merge something along the lines of what has been proposed thorughout the discussion - i.e. show tags tagged in a list, maybe with links to wiki and to element id - in a tab named "your recent edits" or alike.

@westnordost westnordost added enhancement and removed wontfix idea rejected because it is out of scope or because required work is not matching expected benefits labels Jul 5, 2021
@mnalis
Copy link
Member

mnalis commented Jul 5, 2021

@westnordost maybe a tag "PR-required" or similar might be useful to put on this and similar issues you do not plan on solving yourself, but would be willing to merge if reasonable PR was done by someone else? (#2209 comes to mind, but I'm sure I've seen several more of those)

@FloEdelmann
Copy link
Member

Or maybe enhancement+wontfix labels?

@mnalis
Copy link
Member

mnalis commented Jul 5, 2021

@FloEdelmann the wontfix (at least to me) sounds way more harsh - eg. "there is no way I'm going to allow stuff like this to get into codebase" (for example issues breaking essential tenets of SC, like suggesting to convert StreetComplete into Vespucci) - something could still be enhancement request even if the developer does not like it at all.

Advantages for separate tag would be both filtering for PR-required (eg. interested outside android developer who would like to help), as well as filtering against PR-required (eg. @westnordost ignoring open issues that he won't be working on)

@riQQ

This comment has been minimized.

@NotSoImportant
Copy link
Author

NotSoImportant commented Apr 2, 2022

I agree that - also not intuitive - using the revert dialog is a possibility to understand what underlaying osm changes were done.

Whatsoever recently I discovered, that there might be a more valuable use case, which cannot be easily achived right now:

I wanted to check / compare the values that would be set when selecting a certain option.

Problem:

  • upfront there is no way to see which values will be set (which of course is mostly intended to simplify user experiance)

On clicking revert I can see the value that was set (without submitting the revert). So this works (even without uploading - in case autoupload is disabled).

So I thought I could

  • disable autoupload
  • do a revert (of the already uploaded change)
  • check other possible values for this item (by applying a change and then reverting it again)
  • undo/revert the first revert OR re-select the correct option
  • re-enable autoupload

First this is a strange workflow, but in addition unfortutately that results in 2 uploads:

  1. the revert (which can not be undone!)
  2. the re-selection of the correct option

So what I would want instead is

  • a possibility to see what would be set - before applying it

What do you think about this?
Any ideas how this could be integrated into the ui without overwhelming users?
thanks

@mnalis
Copy link
Member

mnalis commented Apr 2, 2022

@NotSoImportant this is the process that works fine for me without any spurious uploads:

  1. disable autoupload (actually I always run in disabled autoupload mode and only upload manually, as it saves a lot of battery and makes app faster to use and saves on data plan charges; but you could do it only sometimes - just make sure to disable it before answering any quests whose answers you want to test)
  2. try one answer for a quest (number of changes to upload increases from nothing to 1)
  3. undo the answer after seeing what it did change (number of changes drop back to nothing)

Repeat steps 2-3 as many times I want to learn all possible values on all possible answer on all quests I'm interested in.

Doing it that way works just fine for me without resulting in any unwanted upload (i.e. number of quests to upload shown always drops from 1 to nothing so nothing unwanted is ever uploaded).

(I didn't test your specific scenario, but "doing answer, undoing it, undoing the undos and then redoing answers" sounds like a minefield to me.)

@NotSoImportant
Copy link
Author

NotSoImportant commented Apr 2, 2022

Thanks @mnalis.
I think the actual problem for me was that I had already uploaded an answer and then wanted to see the other options. In case the quest is not already answered I think your suggestion will work fine.

Beyond that I am imaginating a solution to show the potential osm changes upfront without having to use revert at all (while not disturbing the simple user experiance of course).

Could it be implement e.g.

  1. to show up on longpressing any option?
  2. or having an info icon in each answer dialog that will show the possible options as text with their respective osm changes
  3. or a setting to always show the osm changes for additional confirmation after selecting an option (which you enable for learning, but disable for faster mapping)

Or do you have other ideas for this use case?

In implementation 1 and 3 the dialog would only show the selected option, whereas in 2 it would show all possible ones.

(poorly) sketched example for implementation 2:
IMG_20220403_005903

@mnalis
Copy link
Member

mnalis commented Apr 3, 2022

If you install debug build of SC (you can build your own, or if you want a quick try you can download .apk from one of the builds in my fork at https://github.com/mnalis/StreetComplete/releases and install it manually on the phone (it can be installed alongside official SC).

Once installed, if you click on "hamburger" menu, and then choose Settings, you'll see at the bottom Debug section which contains Show Quest Forms which seems to does what you want - you can choose any answer as you would in quest normally, and it would show you exactly what it would do - without risking doing or undoing the actual data on the map (as a bonus, that way you can test even quests which do not show at all in your area)

The disadvantage is just that you need to install another .apk manually - debug version of my fork mentioned above contains some changes compared to official SC, but you could build your own version (or have GitHub build it for you) with no changes (or even with your custom changes).

@NotSoImportant
Copy link
Author

Thank you. This sounds interesting. Can I have both installed in parallel or will the debug Version replace the official SC?

@mnalis
Copy link
Member

mnalis commented Apr 3, 2022

@NotSoImportant you can have both installed in parallel, they are completely independent.

@mnalis
Copy link
Member

mnalis commented Apr 5, 2022

Also, How does StreetComplete select the to be modified data and what exactly does it tag question in the FAQ might be of interest to learn of other ways to know what each quest does.

@westnordost westnordost added the needs PR accepted suggestion, but only if a contributor implements it label Aug 14, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement needs PR accepted suggestion, but only if a contributor implements it
Projects
None yet
Development

No branches or pull requests

7 participants