Skip to main content

ProGlove Documentation

Screen templates

ProGlove uses a template approach to display information.

Templates are pre-defined screen layouts that support integration efforts and ensure the best possible user-experience. Use them to refine your worker’s process and reduce the number of data-points you want to present to your workers.

Terminology

Term

Description

Template

Templates are pre-defined screen layouts that support integration efforts and ensure the best possible user-experience.

Template ID

Template IDs are unique identifiers for each template layout, that need to be set during the integration process.

(Template) Layout

(Template) Layouts define the general structure of the screen. Example: 2 or 3 fields.

(Template) Field

(Template) Field is a field/cell within the Layout. One Layout can contain one or more fields.

Field ID

Each field is referenced using a unique ID. The order of Field IDs should follow the western writing direction (primary: left to right; secondary top to bottom).

Header

Each Template field may contain a Header, which can be used as a description of the displayed content. Example: “Quantity”.

Content

Each Template field contains Content (data-points). Example: “165 pcs”.

explanation.png
Template naming logic

PG

X

Y

PG = ProGlove

Identifier of the company providing the template.

X = Number of Fields

X Describes the number of fields you can set for unique content

Y = Secondary identifier

The secondary identifier allows for special separation of templates with the same amount of fields.

A = Alternate

E = Error

C = Confirm

I = Information

Limitations
  • Starting with firmware v2.0.0, we support all printable characters of the ASCII and extended ASCII range, as can be found here.

  • Character limits:

    • The text length, that you can send with each SetScreen command, is limited by the amount of transmitted bytes. It can be up to 40 characters per header and up to 80 per content. If the text contains special characters (which will take more than one byte of space in UTF-8 encoding), a lower number of characters can be transmitted.

      • Sending a bigger number of bytes/characters will result in an SDK/Intent error and no screen will be set.

    • The second limitation is display space. If the sent text exceeds the limits of the display, some text will be omitted automatically.

      • For firmware versions starting from v2.0.0 and Insight Mobile starting from v1.5 no error will be returned. Instead, Insight Mobile just logs the incident.

      • For firmware versions starting from v2.0.0 there may be issues when exceeding the displayable limit with a version of Insight Mobile prior to v1.5, as you will receive an error, even though the screen is actually set.

  • Currently, there is no way of creating custom templates.

Automatic font scaling

MARK Display automatically decreases the font size or breaks the text into several lines to fit it into the template fields.

Headers of template fields are never scaled.

MARK Display always tries to use the maximum possible font size for the template field’s content. If that does not work, a line-break is used before the font is scaled down to fit the screen.

This ensures that the largest possible font is used and the template size is utilized as much as possible. For line-breaks, it firstly tries to break on an empty space. If the text does not contain a space, it is broken after the maximum amount of characters.

Templates

Below, you can find the list of all available templates. (Field) IDs are displayed in purple boxes.

Template ID

Preview

Description

Font Size(s)

Firmware Version

PG1

PG1-item.png
PG1-text.png

Use Case: ideal for single items or short text messages

Fields: one field with content and header

Header: 26px

Content: 16 - 90px (Autoscaling)

minimum 2.0.0-prerelease-3

PG1A

PG1A-long.png
PG1A-short.png

Use Case: ideal for text messages

Fields: one field with content

Content: 16 - 90px (Autoscaling)

minimum 2.0.0-prerelease-3

PG2

PG2-new.png

Use Case: ideal for sorting use cases

Fields: two fields with content and headers

Header: 22px

Content: 16 - 60px (Autoscaling)

PG3

PG3Updated.png

Use Case: ideal for picking use cases

Fields: three fields with content and headers

Header: 22px

Content: 16 - 60px (Autoscaling)

PG1C

PG1C-new.png

Use Case: ideal for short, positive notifications

Fields: one field with content

Content: 16 - 60px (Autoscaling)

PG2C

PG2C-new.png

Use Case: ideal for positive notifications needing more detail

Fields: two fields with content

Field 1 Content: 26px (Autoscaling)

Field 2 Content: 16-60px (Autoscaling)

PG1E

PG1E-new.png

Use Case: ideal for short, negative notifications

Fields: one field with content

Content: 16-60px (Autoscaling)

PG2E

PG2E-new.png

Use Case: ideal for negative notifications needing more detail

Fields: two fields with content

Field 1 Content: 26px (Autoscaling)

Field 2 Content: 16-60px (Autoscaling)

PG1I

PG1I-new.png

Use Case: ideal for short, neutral notifications

Fields: one field with content

Content: 16-60px (Autoscaling)

PG2I*

PG2I-new.png

Use Case: ideal for neutral notifications needing more detail

Fields: two fields with content

Field 1 Content: 26px (Autoscaling)

Field 2 Content: 16-60px (Autoscaling)

PG2A

PG2A.png

Use Case: sorting (echoes scanned content and reverts to the original screen)

Fields: two fields with content

Field 1 content: 22 - 110px

Field 2 content: 22 - 32px (Autoscaling)

minimum v2.3.0

*The template has a character limit. If the message is up to 10 characters, the whole message displays. If the message is over 10 characters, only the first 8 characters display followed by an ellipsis.

Template examples

For Intent examples, access our GitHub repository via the link posted below:

https://github.com/workaroundgmbh/proglove_connect_samples

For API messages, see the code samples below:

Example 58. PG1
{
    "api_version": "1.0",
    "event_type": "display!",
    "event_id": "21d22d49-efbe-4e0c-b109-2e9afb7acacc",
    "time_created": 1546300800000,
    "time_validity_duration": 0,
    "device_serial": "MDMR000006406",
    "display_template_id": "PG1",
    "display_refresh_type": "DEFAULT",
    "display_fields": [{
        "display_field_id": 1,
        "display_field_header": "Storage Unit",
        "display_field_text": "R15"
    }]
}


Example 59. PG1A
{
    "api_version": "1.0",
    "event_type": "display!",
    "event_id": "21d22d49-efbe-4e0c-b109-2e9afb7acacc",
    "time_created": 1546300800000,
    "time_validity_duration": 0,
    "device_serial": "MDMR000006406",
    "display_template_id": "PG1A",
    "display_refresh_type": "DEFAULT",
    "display_fields": [{
        "display_field_id": 1,
        "display_field_header": "",
        "display_field_text": "Scan the next package"
    }]
}


Example 60. PG2
{
    "api_version": "1.0",
    "event_type": "display!",
    "event_id": "21d22d49-efbe-4e0c-b109-2e9afb7acacc",
    "time_created": 1546300800000,
    "time_validity_duration": 0,
    "device_serial": "MDMR000006406",
    "display_template_id": "PG2",
    "display_refresh_type": "DEFAULT",
    "display_fields": [{
            "display_field_id": 1,
            "display_field_header": "Storage Unit",
            "display_field_text": "R15"
        },
        {
            "display_field_id": 2,
            "display_field_header": "Destination",
            "display_field_text": "A7"
        }
    ]
}


Example 61. PG3
{
  "api_version": "1.2",
  "event_type": "display!",
  "event_id": "02114da8-feae-46e3-8b00-a3f7ea8672df",
  "time_created": 1546300800000,
  "time_validity_duration": 10000,
  "device_serial": "MDMR000000064",
  "display_template_id": "PG3",
  "display_refresh_type": "DEFAULT",
  "display_fields": [
    {
      "display_field_id": 1,
      "display_field_header": "Left",
      "display_field_header_right": "Right",
      "display_field_text": "Text 1"
    },
    {
      "display_field_id": 2,
      "display_field_header": "Left",
      "display_field_header_right": "Right",
      "display_field_text": "Text 2"
    },
    {
      "display_field_id": 3,
      "display_field_header": "Left",
      "display_field_header_right": "Right",
      "display_field_text": "Text 3"
    }
  ]
}


Example 62. PG1C
{
    "api_version": "1.0",
    "event_type": "display!",
    "event_id": "21d22d49-efbe-4e0c-b109-2e9afb7acacc",
    "time_created": 1546300800000,
    "time_validity_duration": 0,
    "device_serial": "MDMR000006406",
    "display_template_id": "PG1C",
    "display_refresh_type": "DEFAULT",
    "display_fields": [{
        "display_field_id": 1,
        "display_field_header": "",
        "display_field_text": "Order Complete"
    }]
}


Example 63. PG2C
{
    "api_version": "1.0",
    "event_type": "display!",
    "event_id": "21d22d49-efbe-4e0c-b109-2e9afb7acacc",
    "time_created": 1546300800000,
    "time_validity_duration": 0,
    "device_serial": "MDMR000006406",
    "display_template_id": "PG2C",
    "display_refresh_type": "DEFAULT",
    "display_fields": [{
            "display_field_id": 1,
            "display_field_header": "",
            "display_field_text": "Correct Part"
        },
        {
            "display_field_id": 2,
            "display_field_header": "",
            "display_field_text": "Double click to proceed"
        }
    ]
}


Example 64. PG1E
{
    "api_version": "1.0",
    "event_type": "display!",
    "event_id": "21d22d49-efbe-4e0c-b109-2e9afb7acacc",
    "time_created": 1546300800000,
    "time_validity_duration": 0,
    "device_serial": "MDMR000006406",
    "display_template_id": "PG1E",
    "display_refresh_type": "DEFAULT",
    "display_fields": [{
        "display_field_id": 1,
        "display_field_header": "",
        "display_field_text": "Part Number Incorrect"
    }]
}


Example 65. PG2E
{
    "api_version": "1.0",
    "event_type": "display!",
    "event_id": "21d22d49-efbe-4e0c-b109-2e9afb7acacc",
    "time_created": 1546300800000,
    "time_validity_duration": 0,
    "device_serial": "MDMR000006406",
    "display_template_id": "PG1E",
    "display_refresh_type": "DEFAULT",
    "display_fields": [{
        "display_field_id": 1,
        "display_field_header": "",
        "display_field_text": "Part Number Incorrect"
    }]
}


Example 66. PG1I
{
    "api_version": "1.0",
    "event_type": "display!",
    "event_id": "21d22d49-efbe-4e0c-b109-2e9afb7acacc",
    "time_created": 1546300800000,
    "time_validity_duration": 0,
    "device_serial": "MDMR000006406",
    "display_template_id": "PG1I",
    "display_refresh_type": "DEFAULT",
    "display_fields": [{
        "display_field_id": 1,
        "display_field_header": "",
        "display_field_text": "Confirm Quantity"
    }]
}


Example 67. PG2I
{
    "api_version": "1.0",
    "event_type": "display!",
    "event_id": "21d22d49-efbe-4e0c-b109-2e9afb7acacc",
    "time_created": 1546300800000,
    "time_validity_duration": 0,
    "device_serial": "MDMR000006406",
    "display_template_id": "PG2I",
    "display_refresh_type": "DEFAULT",
    "display_fields": [{
            "display_field_id": 1,
            "display_field_header": "",
            "display_field_text": "Confirm Qty"
        },
        {
            "display_field_id": 2,
            "display_field_header": "",
            "display_field_text": "25"
        }
    ]
}