# User Experience

The users on IndustryApps choose applications according to primary apps or Add-on apps categories, each application chooses its type during app onboarding. There are various pricing options available such as fixed cost / Factory based, Dynamic cost / factory based on users or number of machines with subscriptions. &#x20;

Once the user will be notified of the required data permissions for utilising the application. The applications which the user has added onto their accounts are organised into categories and sub-categories.&#x20;

![](https://3706867246-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0tGo33otNRgIhFn6lpgU%2Fuploads%2Fbx9fF0Rs2YHaOmxBdnYq%2Fplatform-view.png?alt=media\&token=e6d82901-44f7-486d-a910-41be0aacac01)

According to each sub-category the user will see the registered applications with their dedicated account.

![](https://3706867246-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0tGo33otNRgIhFn6lpgU%2Fuploads%2F1ogLz3tUSwlQTzhMmUgG%2Fapp-choice-window.png?alt=media\&token=8088b147-da5f-4906-a8fa-ab82fc485af6)

### User Instance events steps

The following sequence of events should be taken into account for application development on IndustryApps. Depending on the users instance state with the designated application, different designation takes place for each user. In this case, an Instance is referring to unique data belonging to each user such as:

* Users name (i.e `euser`).
* Factory selected.
* Language selected.
* Company code.
* Role permissions.

{% hint style="info" %}
Additional information about user context as described above [can be found in Authentication](https://docs.industryapps.net/authentication/accessing-data-exposed-by-the-platform).
{% endhint %}

![](https://3706867246-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0tGo33otNRgIhFn6lpgU%2Fuploads%2F9LOV9Q88i8re0ndCXOZ2%2FUX-4-IAS.png?alt=media\&token=4e026e44-45be-49b8-b457-5204d245a98c)

### Allow access through Single Sign-on

If your application has Single Sign-on (SSO) enabled, restricted resources in the application will be available without requiring a secondary login by the user. The required JWT would be forwarded to the right locations so that the user would have a seamless interaction with the platform, loading their instance on the platform as shown below.

![](https://3706867246-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0tGo33otNRgIhFn6lpgU%2Fuploads%2FnYb99lWPynCmz3uVSHOE%2Fsso-sample.png?alt=media\&token=79e12c39-994b-4637-be57-57dc9bdb05b6)

### Utilising User Data

Once the user instance has been loaded either through an existing instance or by generating a new instance, the application can utilise the data accordingly and present functionality as appropriate.

![Example of a loading Machine data for a maintenance application in instance](https://3706867246-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0tGo33otNRgIhFn6lpgU%2Fuploads%2F7F24ZAPZiTFUbvuC6fBW%2Fdata-usage.png?alt=media\&token=de3563e0-4383-4ff2-95b4-d416da17ff99)

{% hint style="info" %}
Additional information about utilising API data through the platform [can be found in API Data Integration](https://docs.industryapps.net/apis-or-data-integration).
{% endhint %}

### User Roles

Vendors can define user roles for each application, with permissions set for each role (described as a module) with a dedicated description. See the example below for a visual representation:

<figure><img src="https://3706867246-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0tGo33otNRgIhFn6lpgU%2Fuploads%2FgrijaMPdvJ9fQoRsiRYC%2FScreenshot%202022-09-12%20at%2019.41.00.png?alt=media&#x26;token=067d6e1b-ada8-42df-9aa6-85eebcc5117c" alt=""><figcaption><p>Applications > {App Name} > Access Rights</p></figcaption></figure>

Once user role permissions have been defined, the administrator on the users account can dedicate a role for each of their accounts. The user navigates to their administration panel to dictate roles accordingly.

<figure><img src="https://3706867246-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0tGo33otNRgIhFn6lpgU%2Fuploads%2FmiY4ONluTUm6ZRPWe2Gf%2FScreenshot%202022-09-12%20at%2019.57.42.png?alt=media&#x26;token=0434b194-a22e-4ced-838b-1e3d76cbe5c8" alt=""><figcaption><p>Administration > Admin > Group Master > Add/Edit Group</p></figcaption></figure>

<figure><img src="https://3706867246-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0tGo33otNRgIhFn6lpgU%2Fuploads%2FTiEApMYF1pRWnSBTP9TE%2FScreenshot%202022-09-12%20at%2019.57.55.png?alt=media&#x26;token=467d43a8-f715-4f52-91b0-8b3359120c18" alt=""><figcaption></figcaption></figure>


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.industryapps.net/user-experience.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
