Closed mzur closed 6 years ago
Ideas:
~~A new tool in the annotation tool to select an annotation. When an annotation is selected a new window pops up where the annotation assistance request can be created. Comment: I'd rather not clutter the annotation tool with this (esp. not the toolbar at the bottom). Think of alternative ways how to do this!~~ Do it like this: If only a single annotation is selected, display a button at the bottom of the annotation tab in the sidebar (similar to the example annotations at the bottom of the labels tab) "Request assistance for this annotation" or some such. If the user clicks that button, the view to create an assistance request pops up.
Since a single annotation can have multiple labels, implement the view of a "responded to" assistance request like this: Display the existing annotation labels on the left, the label chosen by the assistant or their text comment on the right. The user who created the request can now choose if they want to delete any of the existing labels and if they want to attach any new ones.
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.
Timm said that users weren't interested in this feature as he implemented it in DIAS. Maybe we should reconsider this idea?
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.
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:
A user creates an annotation and attaches a label to it in the process (annotations can't be created without a label).
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.
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.
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: