biigle / core

:large_blue_circle: Application core of BIIGLE
https://biigle.de
GNU General Public License v3.0
12 stars 16 forks source link

Annotation assistance module #84

Closed mzur closed 6 years ago

mzur commented 7 years ago

Create a new module that enables users to request assistance of other people (not having a BIIGLE account) on what label to choose for an existing annotation. Workflow:

  1. A user creates an annotation and attaches a label to it in the process (annotations can't be created without a label).

  2. The user selects this annotations for an "annotation assistance request" (in the annotation tool?). Annotation assistance requests get their own new database table. Each request contains the user who created it, the annotation in question, a short description/question text of the requesting user, the email address of the person who should assist (the "assistant"), the response text of the person and optional: a set of labels suggested by the creator of the request and a single label of this set that was chosen by the assistant.

  3. When the annotation assistance request was submitted, the assistant receives an email (or a notification if they are a user and chose these settings) with a unique URL to the assistance request view. The view displays (part of?) the image containing the annotation, the single annotation, the description/question text of the user who created the request and the response options: A text area where the assistant can enter a response and optional the list of suggested labels where the assistant can choose one.

  4. When the assistant submitted the response, the assistance request is frozen (becomes immutable). The user who created the request gets a notification and can view the request. The user can not ask additional questions or use the request to chat with the assistant. If the assistant selected a label, the user can directly attach this label to the annotation. If not, the user can choose from all labels available for the image.

Questions:

mzur commented 7 years ago

Ideas:

mzur commented 6 years ago

What if a researcher on a ship wants to ask someone "on shore" for assistance? The BIIGLE instance on the ship may not be accessible from the outside and can't serve a page to the assistant.

Idea: Let BIIGLE send an email to the assistant, containing the annotation patch in question and asking them to reply to the email with the name of the label they would choose (picked from a list). BIIGLE receives the email, applies the chosen label and notifies the researcher who requested the assistance. This would require a minimum of network bandwidth. However it would require BIIGLE to be able to send and receive emails (I've never done that before). The usual way to implement this is to generate a dynamic email address for the reply of each request, possibly using subaddressing (I've never done that, too).

It may still be simpler to implement than the "app" version suggested above. Maybe it's even more user friendly as it's natural for researchers to handle emails compared to learn the interface of the "app". This would require a more complicated setup for BIIGLE, though.

mzur commented 6 years ago

Timm said that users weren't interested in this feature as he implemented it in DIAS. Maybe we should reconsider this idea?

mzur commented 6 years ago

We'll still implement this module as required by the JPIO project. We won't implement it in a "ship compatible" way as suggested above for now. So the "app" version is the way to go. Maybe we'll extend the module with a "ship version" that needs minimal bandwidth later. This may be related to #85.

mzur commented 6 years ago

The first version of the assistance request module has now been released.