streetcomplete / StreetComplete

Easy to use OpenStreetMap editor for Android
https://streetcomplete.app
GNU General Public License v3.0
3.81k stars 349 forks source link

Enable "Note to self" #1992

Open rhhsm opened 4 years ago

rhhsm commented 4 years ago

I often find during surveying that I'd like to make a note on the map just for myself, as a reminder of what I see and what the problem is so that I can make an edit on OSM when I get home. Of course it's already possible to make a note, but it will get uploaded to OSM, which is too "heavy" for my purpose most of the time (it will be for everybody to see, can be resolved and then reactivated, etc.). Would it be possible to make it optional to upload the note to OSM, or just keep it private in the app (on the phone of the user only)?

matkoniecz commented 4 years ago

What is wrong with making a public note?

It is ok to make note that you plan to resolve - it just needs to be clear what is reported as the issue, what at least in my experience is not s big burden.

What kind of notes you typically make?

For example this is my typical note - short ("building"), but clear and about something that will be better mapped from aerial image but not done with Vespucci due to some limits https://www.openstreetmap.org/note/2288660

rhhsm commented 4 years ago

There could be various reasons for not wanting a note to be public: privacy, not wanting to bother others, language issues (I'm a Dutchman in Bulgaria, so should I write the public note in Bulgarian which I don't master, in English, or in Dutch (easiest for me)?). If a note is private, I don't need to describe it so it is clear to others, which lowers the threshold to make one. Most of my notes would be about mistakes I found and how to correct them. I tried Vespucci a few years ago but found it quite difficult to make edits on a small screen.

westnordost commented 4 years ago

Maybe as a checkbox on the note creation, or extra button next to "OK"

HolgerJeromin commented 4 years ago

I make POIs in osmand as a todo list.

rhhsm commented 4 years ago

Maybe as a checkbox on the note creation, or extra button next to "OK"

Yes. I asked for this because I guessed it wouldn't be very difficult to make the upload of the note to OSM optional. It could stay saved in the app on the user's phone, and be deletable afterwards.

HolgerJeromin commented 4 years ago

But we need an interface to find them later even if the location is far away.

ENT8R commented 4 years ago

Maybe by providing a way to export the created notes in a GPX/GeoJSON file. The generated file could then be viewed using the software of your choice, I could also imagine to add the corresponding functionality to NotesReview in order to have an easy way to resolve your own private notes...

rhhsm commented 4 years ago

But we need an interface to find them later even if the location is far away.

"We"don't need to, it can be left to the memory of the user to remember where he took his private notes. ENT8R's suggestion sound complicated: I don't think a user should be bothered to need additional software to read his private notes. Streetcomplete's strength is its simplicity.

cyclingcat commented 4 years ago

I had the same idea some weeks ago - typing in a long note on a smartphone keyboard isn't really fun, so I often wished there were a possibility to leave a private note where I could use my personal abbreviations for "this item doesn't exist anymore", "the name of this POI has changed" or "cannot determine if this way is lit, come back at a later time when it's dark".

In addition to the checkbox/button to mark a note as private at creation time (this probably needs an explanation in the UI!): The publicly visible and private notes should be easy to distinguish on the SC map... what about simply giving the question mark icon a different colour (orange? pink?) if it's a private note? If the user taps on a private note he should be able to delete it.

The cycling cat

rhhsm commented 3 years ago

It would already help if a user could see his own notes in Streetcomplete...

HolgerJeromin commented 3 years ago

It would already help if a user could see his own notes in Streetcomplete...

Can you explain the use case for that?

rhhsm commented 3 years ago

It would already help if a user could see his own notes in Streetcomplete...

Can you explain the use case for that?

See above for the use case of "note to self". I did start using the notes feature even though I don't feel the need to share them with others, but noticed I can't see my own notes in Streetcomplete (it's now a note to "everybody except self"). Since it's also not possible to see my notes in OSM (ID) while editing (on my desktop), it would help if I could see those notes in Streetcomplete on my GSM

HolgerJeromin commented 3 years ago

Since it's also not possible to see my notes in OSM (ID) while editing (on my desktop), it would help if I could see those notes in Streetcomplete on my GSM

With iD and josm you are able to view you/all notes while editing. If you need a second screen you can open osm.org on your phones browser.

michaelblyons commented 3 years ago

Very early in my StreetComplete use, I tried to map a polygon for a very new map location (i.e. not visible on satellite images yet). I did this by leaving myself a note at each vertex of the polygon, but I felt really dumb when I realized later that those notes are visible to everyone forever.

mnalis commented 3 years ago

There could be various reasons for not wanting a note to be public: privacy, not wanting to bother others, language issues (I'm a Dutchman in Bulgaria, so should I write the public note in Bulgarian which I don't master, in English, or in Dutch (easiest for me)?).

I feel such option it would overly complicate interface (as noted above), and lead to private notes that never gets resolved as they get forgotten about or not found. Personally, I just use public Notes, even if it is not in native language of the country in question. Then I have all the more incentive to solve such notes quickly before questions start coming in asking me to comment if they were too brief or only make sense to me (which has additional benefit that the circumstances are still fresh in my mind).

Or if it happens that I won't be able to solve them soon or without resurveying etc, I comment on them when on computer (that time in English and with more detail - even if I happen to be the one resolving it, the crystal clear details of short note I took today become more hazy as days and week pass!)

And I not see any issue with privacy for OSM Notes because:

Also I periodically use https://my-notes.osm-hr.org/ to find all of my notes that I have not yet resolved (especially if they are scattered across space and time). As one will forget and/miss/lose track of some of them.

Most of my notes would be about mistakes I found and how to correct them. I tried Vespucci a few years ago but found it quite difficult to make edits on a small screen.

So are mine. Public OSM Notes work great for that purpose. If you like to save others some time, you can prefix them with self: or myusername: in order to indicate to others you'll be preferred one solving them, but it is really not that big of deal unless you leave them lying out for months before you decide to solve them. I try to solve most of them in a few days (and update with more information the ones I cannot solve without more time).

cyclingcat commented 3 years ago

Hi there,

I just stumbled upon one more argument pro private notes: The OSM wiki clearly writes in the "Don't"s box on the right side:

"Don't use notes for yourself in a way which is useless to others. Although you can use notes as a reminder to yourself, you are also inviting others to look at it. Descriptions must make sense to other people."

(This afternoon I came across the next real use case for private notes: In a town nearby I got many quests related to bus stops and alarmingly many of them were placed at wrong positions, up to 200 metres away from reality! (Maybe they have been moved since the initial mapping 10 years ago and noone has moved the OSM node.) So I left many notes like "Bus stop is now here", but an abbreviation only visible to myself would have been handy as I could for example define "#B" as "Bus stop is now here" without confusing other mappers with my personal self-invented cryptic code.)

The cycling cat

mnalis commented 3 years ago

@cyclingcat Perhaps you could just write "bus" which is not much longer than "#B" (actually, on US keyboard, it is even one keypress less!), which would be equally informative to you (as you would remember that you meant that the bus stop is here), but will also provide information to others in case you do not quickly solve the bug and someone else decides to.

Main problem I see with this "private note" suggestion is not that of simple checkbox private/public (which might occasionally get wrongly marked, but that is minor problem), but a lot of the additional work needed to actually allow user to solve that private notes.

As they are private, you cannot upload them as Notes to OSM servers; so you would have to connect phone and your computer, have a function in SC for preparing the data for transfer on phone, then transfer the data, and on desktop have an importer program for your desktop editor of choice (iD, JOSM, ... - probably separate for each editor), and then have a separate program/feature to track which of the private notes you have not yet solved, etc... (or alternatively you need to upload to separate service, that you need to create first, make it work with login/SSO etc) -- all of which is completely avoided by using public Notes instead!

Perhaps it would be better to just use smart keyboard on your phone with allows for use of macros or autocorrect feature to change short strings to long ones? That would give you best of all worlds - then you could you just type a shortcut and have it translated to full text which is also meaningful for other users and not only yourself, you would be able to understand it even months after being created (instead of just days probably) and you'd automatically without any work have instant support in all desktop editing programs you might wish to use, and you could use that same once-create-use-many-times functionality not only in StreetComplete but also in all other apps on mobile phone (OsmAnd, Vespucci etc.)

cyclingcat commented 3 years ago

@mnalis: Perhaps my example was a little too simple: Indeed, this use case could be handled by some kind of macros (and the pound character would be a bad choice for the reason you mentioned, so just omit it, a pure "b" would be sufficient in my bus stop example). But what about more complex situations which need more specific information in their notes?

In my almost daily use of SC during the past weeks I came across the following situations where I wanted to leave a note but refrained from it because I neither wanted to write a long text on the smartphone touchscreen nor clutter the notes with my personal abbreviations. Some examples, taken directly from my practical experience during the past weeks:

And so on... but maybe it's just a matter of personal taste, mindset and workflow. Mine would be: "Leave (cryptic) private notes on-site, start JOSM later at home with the phone lying beside my PC keyboard, find the notes on the phone and fix the tags in JOSM. Of course the possibility to get a list of the private notes with the possibility to jump to the geographic position would be handy. (Don't know if this is feasible with reasonable effort though, this falls definitely into the category "nice to have".)

Fun fact: If I decide to leave a note (often of type "This object doesn't exist anymore") it's sometimes already fixed by another mapper when I come home! There is a VERY active mapping community here and one or two people seem to concentrate on cleaning up behind me 😃. (But what would these poor mappers do if they came across notes like "not" or "x" as I would abbreviate it?)

The cycling cat

FloEdelmann commented 3 years ago

What about suggesting previously submitted note texts when writing a new note? Together with a photo of the stairs/shop/etc., you could use the same non-cryptic text again and again: "This road is actually stairs.", "This shop is not here anymore.", etc.

matkoniecz commented 3 years ago

What about suggesting previously submitted note texts when writing a new note?

This is done already by keyboard word suggestions/predictions (at least for me it works fairly reliably if I type the same note text multiple times).

smichel17 commented 3 years ago

I don't personally need this feature, but as far as implementation goes,

Of course the possibility to get a list of the private notes with the possibility to jump to the geographic position would be handy. (Don't know if this is feasible with reasonable effort though, this falls definitely into the category "nice to have".)

I think the best compromise would be to simply add a way to share a list of all notes via the normal Android share menu. Then there are a number of ways to get that information to your computer -- email to yourself, share via http, etc.

rhhsm commented 3 years ago

I don't think there is a need to move the notes anywhere, like @cyclingcat I'd just have my phone next to my desktop when I'm back home and make an edit in ID based on the note, and then delete it on the phone. If I'm late following up on the note so I don't remember what it was about, I'll have to go back to the location and look again. That is only my problem and nobody else's. Keep it simple please!

mnalis commented 3 years ago

@cyclingcat Here is what I would do in your examples:

As for the others solving your Notes, I do not know if you consider that positive or negative experience - if you find it positive, than you should be even more inclined to provide non-cryptic Notes so others may fix them. If you instead prefer to hone your JOSM skills (instead of others doing half your intended homework by the time you got back home), then you could disable auto-upload, and upload only when you get home and are ready to start editing the map.

smichel17 commented 3 years ago

disable auto-upload

Unfortunately, you will often miss quests if you do that -- see #1550 and #1510

mnalis commented 3 years ago

@rhhsm & @cyclingcat & others - how would you envision that have phone near and find the notes on the phone and fix the tags in JOSM / iD process in detail? That is the biggest problem I see.

Here is my take:

If private notes were implemented, I guess they'd probably be just like the public Notes but in different color or something similar. Adding them could be as simple as having checkbox Private? when opening Note, which would mark it should never be uploaded - that seems to me to be the simplest part.

But after getting home, for them to be usable for me, I'd first need to find my private notes, for which I'd need at last a visible track where I've been or simple way to switch showing only private Notes and back showing all selected quests or have some special menu item in StreetComplete which would show only private notes, so they wouldn't be lost in forest of other quests.

Then, I'd need to edit the map. From what I understand, you'd both prefer just to look at the phone and try to locate the same location in JOSM / iD manually? I find that very error prone/time consuming, especially where there are many similar locations, and/or tightly packed shops in same building etc. I'd personally much rather have StreetComplete share GPX file with private Notes as waypoints, that would show exact locations with comments in JOSM / iD or other editing tools (and easily allowing me to see all the private notes outside the current view).

And finally, I'd need to remove resolved private Notes from phone, but leave the ones I have not resolved for later. So probably easiest would be so each private Note when clicked would have an option to delete it.

How do others think process should work from beginning to end? What would work for you, and what wouldn't?

mnalis commented 3 years ago

disable auto-upload

Unfortunately, you will often miss quests if you do that -- see #1550 and #1510

@smichel17 Yes, It was behaving that way in for me too SC 24.x, but then with multi-download feature which is present in 25.1 seems to fix that issue for me? For example, I can disable auto-sync (or even put mobile phone in offline mode - no data, no wifi - which happens to save a lot of battery power), and I still can solve "address quest", "building type", "number of floors" etc. all in the same go without needing the Internet (which I couldn't do before).

On second look, it does indeed look like #1901 might not solve 100% of all such quest dependencies... But as main issue here seems to be that there is so much problems on-site that one has to resort to cryptic single-letter notes, probably the single mapper wouldn't be able to solve 100% of them in one go anyway.

smichel17 commented 3 years ago

As I understand it, multi-download:

rhhsm commented 3 years ago

If private notes were implemented, I guess they'd probably be just like the public Notes but in different color or something similar. Adding them could be as simple as having checkbox Private? when opening Note, which would mark it should never be uploaded - that seems to me to be the simplest part.

Agree

But after getting home, for them to be usable for me, I'd first need to find my private notes, for which I'd need at last a visible track where I've been or simple way to switch showing only private Notes and back showing all selected quests or have some special menu item in StreetComplete which would show only private notes, so they wouldn't be lost in forest of other quests.

No, I'd expect to have no more than 5-10 notes for a survey trip. I think I'll easily remember where I've been, so I'll know in which area to look for them. It would be nice to show the private notes in a similar way to the public notes now, i.e. together with the normal quests but standing out because of a noticeable colour, and preferably on top of any other quest so they are always selectable.

Then, I'd need to edit the map. From what I understand, you'd both prefer just to look at the phone and try to locate the same location in JOSM / iD manually? I find that very error prone/time consuming, especially where there are many similar locations, and/or tightly packed shops in same building etc. I'd personally much rather have StreetComplete share GPX file with private Notes as waypoints, that would show exact locations with comments in JOSM / iD or other editing tools (and easily allowing me to see all the private notes outside the current view).

I don't think there will be many errors: it's the responsibility of the mapper to take good notes and photos so the edits will be accurate. I'd use private notes mostly to note errors, so I'm sure more errors will be removed than created. If the note isn't clear enough when being home, the mapper might need to go back and check again but that's the mapper's problem, no one else's. Same for being time consuming: so be it, but to have private notes as an option is better than having only public notes. Anyone is free to use them or not. It would help if the GPS position of the user at the moment the note is created is added to it.

And finally, I'd need to remove resolved private Notes from phone, but leave the ones I have not resolved for later. So probably easiest would be so each private Note when clicked would have an option to delete it.

Of course a private note needs a delete or close button to remove it.

mnalis commented 3 years ago

Thanks for feedback @rhhsm:

No, I'd expect to have no more than 5-10 notes for a survey trip. I think I'll easily remember where I've been, so I'll know in which area to look for them.

OK. In my case, trips are mostly cycling (half of full day long), and often on the order of about 50-100km, with at last 50-200 notes due to old/nonupdated data, and I rarely know where I've been exactly - I often just follow whereever biggest bunches of unsolved quests are :) (interestingly, even with much shorter trips of just several km walking, I also create few dozen notes - as the area is much more dense with more unsolved quests and issues).

It would be nice to show the private notes in a similar way to the public notes now, i.e. together with the normal quests but standing out because of a noticeable colour, and preferably on top of any other quest so they are always selectable.

That would need some quest priority mechanism for showing quests; I do not know if such option exists technically in tangrem-es? Currently, if there are more than 1 quest in certain radius, all other quests but (random?) one will lose their icons and become simple small circle or disappear. So unless you solved all the quests around your private notes (and no new ones pop up in the meantime), there is chance some or all of your private notes wouldn't be visible at all unless such priority option exists and is implemented (or you turn off all other quests as suggested before).

Same for being time consuming: so be it, but to have private notes as an option is better than having only public notes. Anyone is free to use them or not.

I agree with you there that people need not use the feature they don't find very useful (and for me it might be useful if it exported GPX with waypoints, but not if I'd have to go full-manual on it). I just worry if private notes might be (much) more work than first look shows...

It would help if the GPS position of the user at the moment the note is created is added to it.

When you press on the map it should be near your GPS position (if you use follow mode)... Are you proposing that both the note location and user location (at the time of taking note) be recorded somehow? How do you propose to show that data (eg. graphically as arrow pointing from user location to note location, or just as textual geo: numeric coordinates somewhere in note or some other way)? I agree that would be useful (as is would show a vector more precisely defining what exactly note was about), but I'm not sure how much work it is.

Of course a private note needs a delete or close button to remove it.

Agree. I just mentioned it, as some other programs do it other ways: for example KeypadMapper3 (which was my favorite for mapping addresses before StreetComplete 25.1 came out) only offers "delete all items in database" option, which I do not think would be a good match here.

smichel17 commented 3 years ago

So far, most of the use cases I see so far full under the category of correcting incorrect information, particularly information that could be entered with SC if it were missing, rather than incorrect. Would it make more sense to address this use case directly?

This is already the purpose of resurvey quests. I wonder whether it would also make sense to add a "correction mode", which removes the time restriction from all resurvey quests (ie, asks them again, regardless of how recently the information was tagged). Then, instead of making a note, you could enter correction mode and answer the relevant resurvey quest, fixing the map in the moment.

The main barrier here is that currently only the highest-priority quest would be shown — we'd need to add a way to switch between quests for a given object. This would also be useful for times when you're answering multiple quests for the same object, in general. For example, if you're not sure of the answer to one quest, but you will return later to solve it. Right now you'd have to answer the quest with "can't say" in order to reveal the lower-priority quests for that object, then go into the settings and restore hidden quests when you return. Depending on the implementation, this might also help with whatever UX issues were present with showing the next quest immediately after the previous one was solved… @westnordost Could you elaborate on https://github.com/westnordost/StreetComplete/issues/1969#issuecomment-723457563 (or link to an earlier discussion)?

I have some early ideas for a gui, but I want to look through previous discussions on the topic first, which will take more time than I want to spend right now, and also I'd like to hear @westnordost's initial impressions — if you are interested in the idea, I'll open a new issue for it, since it is not exactly the same as this one. Particularly…

Street surface quests: Sometimes very small snippets are in fact stairs!

This is the one case I see so far that would not be solved by "correction mode", since SC generally does not add objects or change their geometry.

cyclingcat commented 3 years ago

This is the one case I see so far that would not be solved by "correction mode", since SC generally does not add objects or change their geometry.

At least I mentioned two more cases SC cannot currently handle: Changes of the whole shop and changes of names. But you have to draw a dividing line somewhere what should be possible with SC and what doesn't make sense and is better left to a more universal tool like JOSM or (if you want) Vespucci. At least removing nodes is planned for SC, see issue #2074. (BTW: Editing POIs works quite well with OsmAnd, too!)

Some more comments:

I think it is bad practice to mark new working hours, because you're then misleading people that there is still active shop with those new opening hours, when there is not, until the time you solve the note (which might happen to be much later, or even never)!

You can be assured that I do this very rarely and consciously and only if I'm 110% sure that I'll correct this VERY soon, in most cases within one hour.

Taking photos is not always an option, for some reasons: First of all, it's not always possible to get all relevant information onto the photo (e.g. stairs with sharp bends (not that uncommon!) or bad light situations (reflections etc.)). Furthermore, when I'm cycling my phone is mounted on a bracket at the stem or the handlebar and a little cumbersome to unattach/reattach and last but not least I always try to be unintrusive while mapping, so I don't want to take photos of e. g. open shop doors, possibly irritating people and provoking questions.

As for the others solving your Notes, I do not know if you consider that positive or negative experience

I don't see anything negative here. The notes fall into three categories:

1. Notes just for myself (the mentioned cryptic ones) - of course I don't expect other people to solve them for me. Hence the request for private notes, these ones are the topic of this issue. (There would be no damage if I forgot to solve them later!)

2. Notes for everyone (including myself). Here I'm willing to solve them myself, but if there is someone faster solving them than I got home again as it happened several times in the past, it's okay for me, of course. Mission accomplished, the note has done its duty. This kind of notes has to be public and plain text, thus readable for everyone.

3. Notes for other people (i. e. excluding myself). For example if I'm at a place I probably won't revisit the next days/months/years and discover a map error there which needs further investigation. Leaving a public (and of course plain text) note is the best I can do in this situation. Even here private notes could be of great value: Sometimes the note has to be a little longer in order to be comprehensive, thus rather unsuitable to be typed on a smartphone. Here a private note (telegraphic style or cryptic) would come handy, as a reminder for the later work with a real keyboard.

The cycling cat

mnalis commented 3 years ago

@smichel17 my Notes are mostly (listed in decreasing order):

So I am not sure if that would be worth the effort in my case?

mnalis commented 3 years ago

(BTW: Editing POIs works quite well with OsmAnd, too!)

@cyclingcat I agree, I do often use OsmAnd to modify existing or create new POI if I have the time. (I also use it for recording GPX track and navigation, and before StreetComplete did most of my on-site notes/edits with it!)

OsmAnd also has implemented private notes in several ways (you could create Notes and then delete private ones before you upload them, or you can go with "add track waypoint", or you can go with private A/V Notes.. And all of them are easily visible at the map at all times (unlike SC quests)

Audio (and picture) notes from OsmAnd work great at least in JOSM and are probably the quickest/easiest way to record such extended data the cryptic shortcut private text notes suggest here, with benefit that it remains intelligible even after long time - and they are completely private.

I still prefer StreetComplete to add public notes, as it joins text and picture in one easy and quick step (if you want both in OsmAnd they are two separate clicks), and I avoid having to do extra step of transferring pictures to desktop once I get home - instead they nicely get hosted on the 'net, making them available not just to me but to anyone to solve. But if one did not want that public functionality, OsmAnd would be probably be much better and more flexible choice for leaving private notes, I agree.

smichel17 commented 3 years ago

Okay, fair points that I missed in the discussion above :)

joepie91 commented 3 years ago

What is wrong with making a public note?

It is ok to make note that you plan to resolve - it just needs to be clear what is reported as the issue, what at least in my experience is not s big burden.

For what it's worth - this was exactly my approach at first. However, it led to complaints from fellow (Dutch) mappers, who seemed to be of the opinion that I shouldn't be making public notes when I intended to immediately resolve them myself when I get home, and that they just created review noise.

While I personally agree that public notes are a good solution here (because it allows either me or someone else to resolve the issue, whoever gets to it first), this does not seem to be a universally-held view in the OSM community.

And honestly, I just want to go out and map things, not get involved in lengthy cultural disagreements with people I don't really know, about something that I can also just avoid by making a private note and only flipping it to "public" later if I decide that I can't handle it myself. From that perspective, a private notes feature (with a "make public" switch) would be greatly useful, just to reduce mapping friction.

I also feel that such an implementation would not impair StreetComplete's simplicity; from the user's perspective, it would only need to consist of a "private note" checkbox in the note-entering window, and a "make public" button on the note view screen.

mnalis commented 3 years ago

@joepie91 it might be somewhat more complicated that you expect... Perhaps you might want to create few mockup screenshots how would you like things to looks like, with exact definition how it would differ for each of the steps from public notes (note creation, upload, note view/comment, deletion, how to find notes.. did I miss any?) You only mention very rough description, and even then only for few of requirements. It needs to be much more detailed, covering all possible situations.

You may want to use https://github.com/streetcomplete/StreetComplete/discussions to create and update that plan, and then only move finished idea here. I'll gladly give my comments there and help make actionable enhancement request out of it (if possible) (just refer to this ticket so subscribed people are notified)

Some of the problems (from the top of my head) that might pop out while you try to define that detailed plan:

rhhsm commented 3 years ago

@mnalis You sound like you've been a member of the colonization committee of the planet of Fintlewoodlewix in a previous life :) Making notes visible to the author is probably simple: there's probably a bit of code like IF note author = logged in user THEN hide note, just delete that (I see no reason why writers of notes shouldn't be able to see their own notes in SC). A private note should not be uploaded to OSM but stored on the phone together with any photos taken (if it's too difficult to store photos, I wouldn't mind missing that option, I'll just take a photo separately). If a user makes too many private notes so he can't find them any more, that's the user's problem, no need to solve that for him. Private notes are to be solved using other editors on big screens, and then deleted with a simple delete button in SC.

mnalis commented 3 years ago

@mnalis You sound like you've been a member of the colonization committee of the planet of Fintlewoodlewix in a previous life :)

Perhaps :), or I was programmer in previous life, and so am well aware that computers only do exactly what you tell them, instead of what you want of them (i.e. they never assume anything, even the most logical things that every human would). In other words, programmer has to explicitly define behavior for each and every possible situation the computer might encounter. Which is also why computers don't have wars between themselves - everything is crystal clear to them and there is no misunderstanding ever. Oppose that to humans and their languages: even is one human is completely sure something is understood and clear, other humans will often likely understand something completely different due to their different background and basic assumptions.

So, I try to avoid that mistake: let's not assume anything, and make very explicit and detailed and redundant every (even the simplest -- especially the simplest!) idea in order to agree how exactly it should work... Another advantage is that by thinking and documenting idea in detail, we're quite likely to find additional problems that need defining how to fix them (or might even be unsolvable, needing to scrap whole idea). Like the one below...

Making notes visible to the author is probably simple: there's probably a bit of code like IF note author = logged in user THEN hide note, just delete that (I see no reason why writers of notes shouldn't be able to see their own notes in SC).

Ah. Let's start with some premises:

Possible actions:

  1. let's scrap those checks, they probably did extra work for no reason but to annoy users in the future
  2. let's find out WHY they invested extra time to implement those checks, and then let's think how we can make those checks even more complex so the original problem is still solved by them, but it also allow us to tackle this new problem we want to solve.

I vote for (2). I can see at least one reason I suspect it was done, but there could be more. What do you think? Can you find a reason(s) why it was done?

A private note should not be uploaded to OSM but stored on the phone together with any photos taken (if it's too difficult to store photos, I wouldn't mind missing that option, I'll just take a photo separately).

I would mind very much. I mean, you can also take the text note separately too (in a text editor or email client or whatever make a note of coordinates / address / crossing of streets etc.) -- if lack of convenience is not an issue as you seem to imply :)

If a user makes too many private notes so he can't find them any more, that's the user's problem, no need to solve that for him.

Well, if a user can't make private notes at all, that's also the user's problem, so no need to solve that for him either, right? The whole point of StreetComplete is to be simple and convenient to the user. Let's try to keep it that way...

SC is often full of quests. Unless users know exactly where they left the note, and it's clear of other quests, user probably won't be able to find it. And if they do know exactly where the note is, that can just it in any text editor and be done with it. No SC needed for their private notes.

I think that is imperative that users should have simple and easy way to find their private notes, if such functionality is to be implemented.

Private notes are to be solved using other editors on big screens,

How exactly do you envision user would transfer those georeferenced notes / pictures from SC to the computer with big screen?

and then deleted with a simple delete button in SC.

Where is that delete button to be located exactly? can you make a screenshot and mark where would you put "delete"?

As for the lots of "simple" things in this ticket - there is a saying which goes something like "Everything is simple for a men who does not have to do it himself".

I've made a discussion at https://github.com/streetcomplete/StreetComplete/discussions/2559 where I've split into separate posts each thing that should be defined in detail how we would want to do it. So join the discussion and vote for solution you like, add details to it, or propose your own . Then, when/if have detailed idea what we actually want, we can post it back here.

joepie91 commented 3 years ago

@mnalis For what it's worth, I think the points and requests you've raised are entirely reasonable. I just haven't gotten around to answering them, but will do so in the discussion soon(tm).

More generally towards everybody, I don't think there's any reason to turn this issue into an in-depth discussion about the complexity of software development, as it would just detract from the issue at hand :)

mnalis commented 3 years ago

Ok, I've set up initial discussion for "Note to self" at discussion https://github.com/streetcomplete/StreetComplete/discussions/2559. Everybody interested, feel free to go there and vote for solution you like, add details to it, or propose your own way of doing it.

BalooUriza commented 3 years ago

What is wrong with making a public note? It is ok to make note that you plan to resolve - it just needs to be clear what is reported as the issue, what at least in my experience is not s big burden.

For what it's worth - this was exactly my approach at first. However, it led to complaints from fellow (Dutch) mappers, who seemed to be of the opinion that I shouldn't be making public notes when I intended to immediately resolve them myself when I get home, and that they just created review noise.

I feel like this is a minority opinion. A good note is obvious enough to anyone and can facilitate ad-hoc live-comapping. I've added notes that were solved before I got out of the field before.

nicorikken commented 3 years ago

Like @joepie91 I too recognize the issue of the Dutch 🇳🇱 mappers being on top of things. Sometimes I make notes which has some public value, and which I intend to fix later that day. It has occurred that even before I get home my notes are already commented 💬, critiqued 👎 or closed ❌. it is frustrating to the person staying on top of things who is somewhat bombarded with notes, and it is frustrating to me because I get into a discussion on the notes and I have wasted somebodies time. Yet I still take notes sometimes to convey information from the scene which could also be modified by looking at satellite imagery.

Info button with explanation

Maybe StreetComplete can have a popup or some info button (?) with some suggestions on notes. In the Netherlands I think the guideline is that you shouldn't report it if you are going to fix it yourself, or if you are in a position to fix it. Because you are at the scene and should either do something about it, or not. You can't expect somebody online reading the note to fix it. In that regard it seems that notes are mostly created by people not at the scene, and should be resolved by people at the scene. This also stems from the expectation that mappers in the field will have all abilities to map. However, the options for mapping are limited with SteetComplete. Using notes in StreetComplete as a way to map the features that cannot be mapped in StreetComplete directly, is actually bad practice.

So maybe it should say something like:

"Please don't use notes as a way of mapping features that cannot be mapped using StreetComplete. Please consider using a different application if you want to change or add elements. And if you choose not map it yourself, don't expect others to do it for you, and stick to the tagging options of StreetComplete."

Referring to other solutions.

I myself work around the issue by tacking screenshots of locations I intend to fix at a later stage. But that is not a good solution I think.

Other apps: Maybe StreetComplete can have a text in the notes interface that for private notes you can use another app. We can link suggestions like the OSM Tracker for Android or the more advanced Vespucci.

Share a geo link: Thinking about it now, you could also have a 'share coordinates' option where a text with coordinates and a related OSM link is generated, which can be shared in plaintext to be put in any kind of note taking apps to the liking of the user.

rugk commented 3 years ago

Share a geo link: Thinking about it now, you could also have a 'share coordinates' option where a text with coordinates and a related OSM link is generated, which can be shared in plaintext to be put in any kind of note taking apps to the liking of the user.

When you long press on a location you can actually already choose “Open with another app”, which may work like this if you can choose a text editor or so…

Nevertheless, about your use case:

It has occurred that even before I get home my notes are already commented :speech_balloon:, critiqued :-1: or closed :x:. it is frustrating to the person staying on top of things who is somewhat bombarded with notes, and it is frustrating to me because I get into a discussion on the notes and I have wasted somebodies time.

Yeah, okay, I see that this is not a good experience. However, I’d propose a different solution, because other people (use cases) could forget to solve these private notes (I forget that easily, but I also like that anyone can solve them and usually write them like that). So they could easily be forgotten and nobody would solve them.

As such my suggestion would be (if possible somehow): Hide the notes from public users (i.e. others than yourself) on OpenStreetMap for a certain time, e.g. 5h (maybe adjustable in the settings). This way, if you get home after your mapping trip, you have enough time to solve all notes, but if you forget some they will be (made) public and the community can solve them. Maybe there should also be a way to make notes public on OSM then, so you can make them public before that time if you commented or so and now “want to give that case to the community”, as you know you cannot solve it by yourself.

I know technically this may not be possible yet, but take it as some UX “drafting” process. IMHO this would solve your use case best while keeping the other advantages. We should then just make it possible! :smiley:

smichel17 commented 3 years ago

disable auto-upload

Unfortunately, you will often miss quests if you do that -- see #1550 and #1510

...fortunately, with v32 (currently in alpha), this is no longer the case -- (almost?) everything that works online should also work offline, so disabling auto-upload should be a useful workaround.

smichel17 commented 3 years ago

I wonder if this would be better proposed as an upstream feature. As I understand it, notes are already a separate api, layered on top of the base OSM data. If that api supported a "note to self" flag, then the SC implementation of this feature would be much simpler, and the Dutch mappers (and others who stay on top of such things) would be able to easily filter out these notes.

mnalis commented 3 years ago

@rugk I agree with @smichel17 here, such feature to hide notes from public users would need to be implemented on OSM servers side to be effective, not in SC side (or you would have to have SC as foreground app for 5+ hours in order for notes to be uploaded, and it wouldn't work in manual update mode anyway etc.)

As for everybody interested in this issue, I've updated discussion page at https://github.com/streetcomplete/StreetComplete/discussions/2559 and it indeed seems that (as @smichel17 noted) that v32 with auto-upload=off does indeed provide the private note functionality more or less exactly as the proponents of simpler variant of private notes wanted. So feel free to look there and see if all the required steps (entering private notes, private/public selection, how to find entered notes, deleting notes, using notes to actually update the map) look reasonable (and comment if not already commented) and you can also download v32 alphas (or newer) to try it out if it works out for you.

And v32 also kind-of implements main point of rugk's last comment: unless user deems the note to be private (and thus deletes it before upload), it will get uploaded with everything else and thus become public (and not forgotten).

As for @nicorikken - SC already has share geo: link functionality - just long press on screen where you want, and select Open location in another app

nicorikken commented 3 years ago

Thanks for all the explanations, I can make that work for me. I tried the Open location in another app solution. It is really a coordinate, so it can only be shared with geo-apps. I found this notes app that can also accept coordinates and converts it to a link in OSM. In my comments I was thinking to have this included in StreetComplete, so it is not a coordinate but an OSM link.

smichel17 commented 3 years ago

Search term: local notes

mnalis commented 3 years ago

Also related: GPX notes in https://github.com/Helium314/StreetComplete/tree/mods fork mentioned at https://github.com/streetcomplete/StreetComplete/discussions/3003#discussioncomment-963592 are a proof-of-concept variant of private/local notes, for people interested to try it out.

neuschaefer commented 3 years ago

It would already help if a user could see his own notes in Streetcomplete...

Can you explain the use case for that?

Here is one use case:

Of course, showing the user's own notes could be optional and off by default, as with notes that are not phrased as questions.