StreetComplete
StreetComplete copied to clipboard
Ability to draw/censor on pictures before being uploaded
Use case If I take a note and attach a picture there…
- I e.g. may want to censor faces, because (especially in crowded places) I often cannot take a picture, because people are in the picture and I don't want them to be publicly on the internet without their consent. I would have to wait too long for them to go away, find weird angles or ask them (too many), which are all no good solutions.
The same applies to censoring plates or so of course. I may have a hard time to take a picture without car plates if I want to picture something on the street actually. - I e.g. may want to mark special things on the image to make clear what I am talking about in my note, because I want to upload an image with context around it and highlight stuff.
E.g. for the new "move POIs only a bit" feature I am asked to take a note if it is too far. There I'd really like to make a picture a few steps away and draw an arrow, where the POI is now. - Also, it makes it easier to take a picture on the go and censor/mark stuff afterwards to make things clearer. AFAIK people nowadays are used to it from messengers…
Proposed Solution
Just another button on the image (maybe only/also when shown in full screen) that opens an editor to edit the image. There some basic features like a pen and a redact tool somehow.
Related art:
- Telegram - they do have a great little image editor, where, good is that you can zoom into the face and draw stuff anyway while it is zoomed
- Signal - especially has a good "blur faces" button
- any modern messenger, actually (like Threema or so)
- ObscuraCam can be an alternative/idea, if it registers as a camera app (did not try), but also only solves some parts of the use case (i.e. not the mark something special checkbox)
Alternatives
This has been partially requested in https://github.com/streetcomplete/StreetComplete/issues/937 and https://github.com/streetcomplete/StreetComplete/issues/1730, but no issue really covered the thing I wanted in the title, these were rather alternatives. Also these proposals were long ago, maybe it's easier and better to do nowadays. I also know pictures are deleted, but anyway, they are already up there and people want privacy or the thing to mark stuff. IMHO that would greatly increase the picture upload benefit.
Differences:
- https://github.com/streetcomplete/StreetComplete/issues/1730 -> we can keep "copyright-safety" as still only camera pictures are allowed, however, one does not need an outside image editor or so anymore for doing things like I mentioned
- https://github.com/streetcomplete/StreetComplete/issues/937 -> notes do not help and IMHO annoy, this feature would be optional
-
Another related option (for privacy part of the idea) would be using SCEE fork instead, which (in addition to regular public notes+pictures) allows for local-only (private) Notes/pictures which do not get uploaded anywhere (i.e. https://github.com/streetcomplete/StreetComplete/issues/1992)
-
Problem with allowing editing with external app is that is extremely easy not only to edit the picture, but to replace it completely with something else, which could be legally dangerous to people hosting such pictures; see https://github.com/streetcomplete/StreetComplete/issues/1567#issuecomment-531736725
-
safe alternative would be to integrate basic picture editor into StreetComplete, but that of course has it own set of disadvantages (bloated APK size for something only few users will use, fixed small set of functionality instead of allowing user the choice what to use, effort of finding and integrating picture editor, general problems of external codebases like we have with e.g. tangramES, etc.)
Maybe there is a library for this we could use. Does anyone know one?
Random first search showed me https://github.com/burhanrashid52/PhotoEditor, though it may be a little too advanced/has a lot more features than needed, apparently. (Otherwise it looks good, its Kotlin etc. and seems maintained, but I am no android dev)
Edit: and looked through Threema's third party licenses in the app and only found https://github.com/ArthurHub/Android-Image-Cropper which may be related, but is only part of a functionality (though one I missed which could be useful, too.)
Maybe it would be possible to take some code from Simple Draw?
Related: EveryDoor since 5.0 supports GeoScribble, so perhaps something similar to that is interesting / can be reused?