Update Design Doc authored by Charles Koch's avatar Charles Koch
......@@ -188,7 +188,7 @@ When a user selects Resolve a Conflict, they may choose to mention other users f
### NVC-07: Observation
The first part of any interaction (Conflict or Gratitude). is to describe the event which triggered an emotion. This should be done without making any assumptions or judgement about the people involved in the event. The screen has a prompt which contains these instructions and provides a space to write a brief description of the event.
The first part of any interaction (Conflict or Gratitude). is to describe the event which triggered an emotion. This should be done without making any assumptions or judgement about the people involved in the event. The screen has a prompt which contains these instructions and provides a space to write a brief description of the event (less than 140 characters).
**Title:** Observation
......@@ -299,7 +299,9 @@ Like the emotion selection, need select is a tiered system, which provides a fir
### NVC-11: Request
The full description of the event has..
For a Conflict-type interaction, once the emotion and need have been identified, the user must make a request. This is a statement which provides an action for the user or the others involved in the interaction. The aim is that the request can fulfill the need, thus preventing the trigger of the emotion. Like the observation, the request should be short, single action (limit 140 characters).
Gratitude-type interactions do not have a request, as the need has been fulfilled successfully.
**Title:** Request
......@@ -315,22 +317,141 @@ The full description of the event has..
**Content**
* stuff
* A prompt describing how to write a request
* If there are any previous requests that were denied, a button will be available to view those requests
* a text box to write the request
* a button to proceed to the Next step
### NVC-12: Interaction Summary
### NVC-13: Sub-Interactions
Once the request is entered, the interaction is finished, _however_ it is not Resolved. This screen displays the full interaction in a Mad-Libs style, showing the Observation, Emotion, Need, and Request.
> Charlie used the last two pieces of bread, which I wanted for my sandwich. I felt frustrated because I need choices. I would like Charlie to ask me before finishing a loaf of bread.
Below this summary is a button to return to the menu (Interactions List). If the interaction is a Conflict-type, additionally there is another section to indicate whether the request was successful or not. A successful request triggers a Gratitude-type interaction where the user can express gratitude for the request having been fulfilled. An unsuccessful request triggers another Conflict-type interaction, describing the new conflict that resulted from the request.
**Title:** Request
**Icons:**
* N/A
**Hamburger:**
* **Guide:** provides resources to further understand non-violent communication
* **Return to Menu:** saves this interaction in its current state and returns to the Interactions List
* **Settings:** go to the Settings screen
**Content**
* A prompt displaying the full interaction: Observation, Emotion, Need, Request
* If there are any previous requests that were denied, a button will be available to view those requests
* a button to Return to Menu
* a prompt asking if the Request was accepted
* If no, then a new request can be written and the old request will be logged
* Denied requests will be viewable from a different screen
* If yes, second prompt appears, asking if the request resolved the interaction
### NVC-13: Denied Requests Screen
In the event that a request is denied, it will be stored for posterity. Denied requests will be stored in the interaction and will be available from the Request and Summary screens
**Title:** Denied Requests
**Icons:**
* N/A
**Hamburger:**
* **Guide:** provides resources to further understand non-violent communication
* **Return to Menu:** saves this interaction in its current state and returns to the Interactions List
* **Settings:** go to the Settings screen
**Content**
* A prompt displaying the interaction: Observation, Emotion, Need
* A list displaying each request that was denied
### NVC-14: Return to Menu
During any stage of the interaction process, a user can exit the interaction and return to the Interaction List. The interaction will save its state, which the user will return to the next time they select the interaction from the list. In order to display an interaction in the list, it must have a name, which the user can set and modify each time they Return to Menu.
* a prompt asking the user to name the interaction
* a text box to enter the name for the interaction
* a button to Save the interaction and navigate back to the Interaction List
* a button to cancel and go back to the interaction
### NVC-15: Sub-Interactions
In a Conflict-type interaction, a request will eventually elicit a sub-interaction. A sub-interaction is an interaction that is a direct result of the current interaction. This provides a way to easily see the history of related interactions by quickly viewing the summaries of those interactions in chronological order.
* Interactions have a parent interaction, which indicates the interaction this came from
* The original interaction will not have a parent, as it is the origin of the thread
* On the Interaction Summary, resolved interactions should have buttons to navigate up and down the thread
* This replaces the buttons to resolve an interaction, as it has already been resolved
### NVC-16: Notifications Screen
Users may receive notifications (such as Mentions, or very old Unresolved notifications. An icon on the Interaction List of a user will indicate how many of these notifications are available. Clicking on that icon navigates to this screen, which displays all of the notifications. Once a notification has been marked, it will disappear from this screen and will not be counted in the sum of available notifications on the Interactions List.
**Title:** Notifications
**Icons:**
* N/A
**Hamburger:**
### NVC-14: Notifications Screen
* **Guide:** provides resources to further understand non-violent communication
* **Return to Menu:** returns to the Interactions List
* **Settings:** go to the Settings screen
**Content**
* A list displaying each notification
* **Mentions** are notifications that indicate another user in the app has mentioned you in one of their interactions.
* Has a button to start an interaction based on this Mention, (with the user who triggered the Mention automatically selected in the User Selection step of the interaction)
* Has a button to dismiss the notification and not act on it
* **Stale Interactions** are notifications that indicate an interaction has not been Resolved after a certain amount of time has passed (this threshold can be set in the Settings)
* Has a button to go directly to the interaction, to complete it
* Has a button to dismiss the notification and not act on it
### NVC-15: Settings Screen
### NVC-16: First Time Setup
### NVC-17: Settings Screen
Settings for the app are stored here and can be edited by any user in the app.
**Title:** Settings
**Icons:**
* N/A
**Hamburger:**
* N/A
**Content**
### NVC-17: Return to Menu
* Widgets for the following settings:
* Stale Interactions threshold (default is 1 week)
* Delete all data
* This basically resets the app as if it had never been used
* A confirmation dialog will come up with a time-released button (5 sec) to make sure the user does not do this by accident
* A button to save the settings and return to previous screen
* A button to cancel and return to previous screen
When the user exits an interaction before finishing it, the app will save their progress. When leaving an interaction, the user must give it a name so that they can identify it in their Interactions List.
### NVC-18: First Time Setup and Tutorial
When the user opens the app for the first time, they will need to create a user. Then the app will begin a short tutorial explaining how non-violent communication works and how the app helps this process.
* Navigate immediately to the Add User screen
* Short tutorial explaining the NVC process and how to use the app
* Detail each step in the process: Observation, Emotion, Need, Request
* Explain how interactions have sub-interactions until a conflict is resolved
* Explain that gratitude can be expressed, even when no conflict is present
* This same tutorial is what is available under the **Guide** option in the Hamburger menu
## Release Platforms
This software is being developed as a smartphone app which will run on currently supported versions of Android OS (version 8+) and iOS (version 12+) mobile devices. Upon completion, it will be distributed on the corresponding app stores (GooglePlay and Apple's App Store). Privacy Policy Design via [privacylabel](https://www.privacylabel.org/code?en-uk23B4567200930Z-T-D).
......
......