Generic App embedded in another App

Hello,

As a continuation of this thread, I would like to request a new feature in Tulip.

What?
To be able to run an app on top of another app (embedded). The goal is to enable some componentization on the App level. The embedded app (sub-app) should be generic and very small, focusing on a single functionality.

Example 1: Barcode scanner/image capture. As it is already shown in the current libraries, clicking on scan batch will transition to another step within our app. This step is quite simple and only contains the optical scanner widget.

Example 2: Event reporting. As it is already shown in the current libraries, clicking on “Log an Event” will transition to another step within our app. This step is a bit more complex because it will write on a table.

Why?
In the examples above, the same steps “Scan batch” and “Report event” must be copied in every apps that will be using it. In the event of an update of those functions is required (adding a new function/new widget by Tulip/revision of the text/new data structure/…) the users/administrator will need to do the actual update in EVERY apps using it. For regulated industries, it will take a huge amount of time: for the update itself and mostly for the documentation and validation required with it.
If those “Scan batch” and “Report event” were just small apps of one/two steps, only those apps would need to be updated once.
You can think of it as creating small App blocks that other users can embed easily into their own App. It is a concept very similar to custom widget but way easier to develop. It will enable the scalability of Tulip projects by building a library of sub-apps.

How?
The goal would be to enter and execute the sub-app without having to leave (cancel/complete) the main app, only pausing it.
The sub-app would generate a completion record by itself (could even be linked/integrated into the completion record of the main app).
The user would know that is a sub-app as it would be displayed in a popup rectangle/space.
The sub-app will be able to handle input and output data (picture/text/numbers/…).

With a limitation:
Of 1 level of embedding. In order to avoid the complexity of an “Inception” level of componentization, an app could embed another app (sub-app) but this sub-app could not embed another sub-app in itself. Having one level of App embedding would be already a huge step forward.

Thank you very much in advance.
KR,
Kevin