28.2. Presentation of a context

MyContexts is all about co-operation. This stands out because the main view presents, right at the top, the chat(s) that runs around the situation. In technical terms, a chat is just a thing role with appropriate text properties; in terms of the user interface, it is a prominent component with familiar shapes and functions like a history and a field to enter a message.

Below that chat we find rolled-up panels, one for each thing- and context role. A panel can be expanded into a list of role instances. Each instance will have a descriptive title under end user control. The panel title itself will identify the role (role names are not displayed as such, however: we use a system of translation that allows for user-friendly titles. Panel titles are thus controlled by the model).

28.2.1. Thing roles

Tapping a thing role instance will slide in a form from the right. The form will cover the entire view. A small backwards arrow in the top left corner will slide the form back to the right and reveal the underlying form. The form is a view in its own right: tapping a role instance or tapping the upper-left backwards arrow are forms of view-switching.

Roles can have a single- or multiple instances. A single-instance role will be represented by just a panel heading. Tap the panel heading to slide in the form view for that single instance.

The form view is familiar: thousands of apps sport the same type of vertical list of labels and (editable or non-editable) fields. To leave an edited field is to commit its value.

28.2.2. Context roles

Tapping a context role instance causes context navigation: the context views (main- and user) will be filled with role instances from the selected context. A context role will be immediately recognizable by a small icon to the right of the context name.

To move back to the previous context, the user taps the back button in the bar at the bottom.

Contexts that have been visited are put into the recently visited contexts list.

28.2.3. A special widget: markdown viewer

In order to be able to present a context as a formatted page of text, the app displays a role with appropriate properties not as a panel, but as formatted text. This may be in between panels that represent other roles, or it may fill the entire main view. This text may have links that, upon tapping, navigate to another context.


1. If no authoring role is provided by the API caller, we take it to be the System User.