This is the multi-page printable view of this section. Click here to print.

Return to the regular view of this page.

Interactions

User interactions

You can choose to make an interactive dialogue with any number of these interactions

1 - Process Interactions Overview

What are process Interactions?

Interactions

Interactions are Process Steps which, if executed, engage the user.

By default, each Interaction appears on its own screen, but it is possible to display multiple interactions together by defining screens

Interaction Types

2 - Question Texts

Applies to all interactions: how to construct texts

Plain Text

The message can be plain text.

Welcome to the BMI calculator..

Include values

The message can incorporate the presentation of some Process values to the user, by using braces

You have chosen to review case {case_id}

Include HTML Markup

You can include HTML tags.


<h1>Attention</h1>
This is a <b>severe</b> situation

Include Markdown

Or you can switch to use Markdown within the text instead of HTML

## Attention 
This is a **severe** situation

Include Media

You can include images, audio, video..

3 - Text/Markup Display Only

Display text etc

Display Only

This is an interaction which does not request an input from the user.

Therefore, the documentation on Question text explains most of what you need to know.

Value is true/false

You could think that because this interaction yields no response, it cannot have an associated value.

However, this interaction does generate a value of type true/false.

(The user might not see the message because conditional logic can be deployed to make hundreds of thousands of paths through a Process possible)

4 - Yes/No Question

Asking the user to make a binary decision

Yes/No

A yes/no question is the simplest of interactions: you pose a question and the user can give two possible responses : yes or no.

ADDING a YES/NO Question

Altering project words for yes and no

The words “Yes” and “no” are not completely hardcoded - they are System Symbols.

This means you can alter the text associated with them at the Project level:

  • go to the Project Level
  • Select to edit Symbols
  • Find yes and no under System symbols and amend their display names.

Please note: this will alter the presentation of ALL yes/no questions in the Project

Can I completely customize the yes/no options?

Alternative yes/no controls

If you don’t want the vertically arranged radio buttons, you can select a different kind of interaction.

The Value of a yes/no question is true/false

The user’s response to a yes/no question yields a value with DataType true/false.

If the user selects “yes”, the value is true, otherwise false.

5 - Select Question

User chooses one or more options

Select question

A select question is where you ask the user a question, and a set of **options++.

The question could be a single select, where you are asking the user a question such that only one option could count as a valid response.

OR it could be a multi-select in which the question you have posed admits of more than one possible option selection in response.

How to ADD a select question

  • Enter question text
  • Decide: do you want the user to be able to choose a Single option, or Multiple?
  • Enter the initial text of options, one per line (can be modified later)

How to RE-ORDER options

  • Edit the question by clicking on the edit icon
  • Click on the Options tab
  • Click on the two-bars icon against an option and drag vertically to re-order.

How to DELETE an option

  • Edit the question by clicking on the edit icon
  • Click on the Options tab
  • Expand the option you would like to delete.
  • Click on the trash icon at the bottom of the Option card (The icon might not be there: see below)

How to choose different input controls

If you don’t want to use radio buttons/checkboxes, there are other options such as toggles, switches..

  • Edit the question by clicking on the edit icon
  • Click on the Input Controls tab

select-input-controls

  • You define a select question by defining a number of options.
  • Each option is represented by a symbol
  • The user selects one or more (if the question is a multiple select) options in responding to the question.
  • The user’s selection is represented in the data by the symbols associated with the options selected. It is a set.

Using Project-level symbols

The options in a Select question might involve concepts which have relevance not only in a single Process but across the whole Project.

You can ensure that you represent such concepts consistently across Projects by defining symbols at the Project level and choosing to use them within the Process as option values.

Using project level symbols

You will need to have defined an Object type, with a symbol set field.

Under Updates, you can include an action to create an instance of that object, and in that action you can map the select question to that symbol set field.

6 - Barcode/QR Code reader

User reads a bar/QR code

Barcodes and QR codes reading

This is another interaction making use of the device camera (i.e. for devices only with cameras).

It makes it possible for the user to scan in Barcodes and QR codes within a Process.

The Response Values of both of these can be mapped to a Text field of an object.

Showing in Object View

Unlike Signatures, when viewed in an Object View, we don’t reproduce the codes of course, but the values which have been read from them.

These are in text form. They may or may not be URLs. If they are URLs, we endeavour to present them as active links.

With a barcode, the value is likely to be a number. It will be stored in a text field. We assume it to be an identifier rather than a number to calculate with.


User scans a QR code

User scans a barcode

7 - Dynamic Select Question

User selects from options which may be dynamically determined

Dynamic Select - select from a set

A Dynamic Select question is very much like a Select question, except that it has no options defined - the options come from elsewhere.

Sources of Options

There are two possible sources for options -

  • You can use any set value within the Process (e.g. the value of a preceding Select question)
  • Or you can use a Symbol Set defined at the Project level

Using a Process value as source

Options chosen by user are the choices in subsequent question

Using a Project-level Symbol Set as source

Options are symbols defined in a set at the Project level

8 - Text/Number/Date Input Questions

User enters some text

Input Questions

These input questions are straightforward to understand - we can request text,number or date input from the user.

Text Input question

How to ADD a Text Input question

Using an input mask with a text-input question

Build up a mask to format the value entered, and let the user just enter numbers/letters

How to define placeholders in the mask:

  • Use “#” for numbers

  • Use “A” for letters

  • Use “?” if a position can hold either number or letter

Input modes

  • email
  • credit card
  • phone

Number Input Question

Defining upper and lower bounds

Input controls


Date Input Question

Defining upper and lower bounds

Input controls

  • Calendar (default)
  • Spinners

9 - Object Select Question

User selects an object instance

Object select

An Object select question presents the user with a collection of instances of a particular object, and the user selects one of them. (Imagine showing the user a spreadsheet and asking the user to pick a row).

Value is an Object Instance

So the response value of this question is a whole object instance - a collection of fields with values, and you can access those individual values within the instance in other steps of the Process, by using dot notation

two presentation modes of Object select

There are two modes:

  • User selects from a table
  • User selects via successive drop-downs

1. User selects from a table

The Object selected must be a Data Object or a Table Object (Profile Objects and State Objects have only one instance each).

User selects an instance when presented as a table by selecting a row:

Configuration

  • To configure this, you must select fields of the Object. Each field becomes a column of the table displayed
  • You can add filters so that not all of the instances of the Object are displayed, rather only a selected sub-group.

2. User selects via successive drop-downs

The other mode lets you choose and order any number of fields, and then the user is presented with drop-downs which successively narrow the search, until the user ultimately identifies a single instance.

This is typically used with addresses, for example, where a large geographical region can be selected at first, followed by the selection of all sub-regions within that region…

Example

If we look at the uk-500 data (modified for illustration).

The data is a table of customers.

We select three fields and order them: county, city, company

The first drop-down presented to the user contains an alphabetical list of all unique entries in the county column

Once the user has selected county, this narrows down the search.

So the next drop-down presents an alphabetical list of all unique entries in the city column where the county column contains the user’s selection

Once the user has selected county and city, this narrows down the search further.

The final drop-down presents the user will all company which have county = and city =

10 - Objects Table

Display only: user is shown some data in a table

User views data in a filtered table

11 - Recording Photo, Video, Audio

How to take photos, record videos, record sounds

Record media and store in database

Your project might deal in regular data, but also you might have a need for your users to record photos - of building problems, of people, or whatever.

Similarly, you might need to record video, or audio.

Logiak Processes has interactions for these tasks. Of course, the device on which the App is running has to be suitably equipped with camera and microphone.

The media is recorded by the device, and then pushed by Logiak to the backend Storage, so that it can be shared by other users if required, and retrieved if the device is re-initialised.

Adding interaction

Adding the interactions is straightforward.

Like all others, you specify question/prompt text and can assign a meaningful response value name.

Sample interactions on a mobile device

Here are some videos showing what the photo/video/audio recording interactions look like for a user on a device.

Taking Photo

Recording Video

Recording Audio

12 - Signature Input

User signs name

Signature

This interaction allows you to ask the user to provide a signature, with the assumption of course that the user is using a touch screen device, such as Android or iPhone/iPad.

It is really simple: the user is presented with a canvas on which they can write with hand/pen.

Of course, you might make other uses beyond signature. It could be used to permit the user to describe a shape by drawing.

Storing signature

The signature has to be mapped to a Text field in an object.

The field should also be given the appropriate content tag:

Viewing in Object View

A field with the signature content tag will be displayed correctly as a signature in an Object View

Caveat

This is not what is meant by an electronic signature and certainly has no legal status.

User signs name

13 - Text recognition

User scans in some text

Text Recognition

There can be situations where information on cards, badges, or written on pieces of paper, is really information you need in your data processing.

For example, maybe you are in a situation where your clients each has a badge containing their ID, and you want to introduce a system of recording information about their visits, but you want also record the client ID for each visit.

If the ID is a barcode or QRCode, then you can use the code reader interaction , but if it is just printed in text form, then your users would have to enter it, which could be time-consuming, or error-prone.

OR, you could try using this Text Recognition interaction.

Text Recognition interaction

This interaction gets the user to take an photo containing the text which needs to be scanned in.

Logiak is able to make a good fist of extracting the text values from an image.

Examples

Reading text of the label of a medicine bottle

Reading the text on a fridge magnet

Edit option for corrections

The scan might not always produce the target text perfectly, which is why there is an edit option once the text is scanned in, which allows users to correct errors.

But as the videos shows, the scans can be good, and practice in getting the camera focussed on the text you want, and only that, can improve the quality a lot.

Uses

This is used typically to scan in small amounts of text, rather than long chunks.

It may be used for scanning labels, or text from information cards, ids…