How to Build Composable Apps
  • 18 Apr 2024
  • 3 Minutes to read
  • Contributors

How to Build Composable Apps


Article summary

Learn how to create and configure apps with best practices for composability.

A composable app accomplishes a granular, defined task that’s designed for a single operator and uses common data in concert with other apps.

In Tulip, composability refers to the idea of breaking down a solution into the smallest possible apps to account for process attributes like place, time, and persona. Composability is the preferred architecture approach compared to traditional monolithic ones.

Read more on Composable vs Monolithic Architectures to understand how they differ.

Advantages of Composable Apps

Composable apps add benefits for everyone involved, from operators to owners.

  1. Increase Frontline Operator productivity
    It is far easier to build a solution that results in an increase in operator productivity when the apps are developed in a composable way. An app should have clear objectives and tasks in the context of a business process. Operators know exactly what task to perform and how to do it, with optional guidance when needed. Supervisors can manage tasks and events and see dashboards of operational data. These help push initiatives forward and immediately escalate issues to relevant personnel to decrease downtime.
  2. Enhanced, intuitive experience
    Simple Apps tailored to the actual process are more intuitive to the Operator and more sustainable in the long run by the Citizen Developer SMEs. When developing a Composable Tulip app, the Citizen Developer can easily see how the operator would use the app, and tailor the user experience of particular App Steps accordingly.
  3. Adoption of digital technologies
    Each app has a specific flow and connections to the local physical world. Compared to enhancing a complex monolithic app, it is relatively trivial to connect a composable-designed Tulip app to smart devices and implement value-added capabilities such as Tulip Vision.
  4. Apps operate in a coordinated system to execute operational and business processes
    Each app can provide coordinated execution of production logistics and valuable business processes, tailored to the processes executed by distinct personas

Composability in Practice

When building composable apps, it’s crucial to use a bottoms-up approach. This means that the first apps you build should replicate a simple, granular process. It’s much easier to build and deploy an app for a specific process first than a large, complex process that could take several months to complete. This approach supports an Minimum-Viable Product (MVP) that provides immediate value.

Let’s look at some core components of a composable app:

App Design

A composable app follows the four principles of the Tulip Solution Credo:

  • Simplicity
  • Adoptable
  • Human-centric
  • Focused

These principles naturally result in solutions that are more sustainable, intuitive, and valuable for the operator. Use these principles to evaluate how composable your app is, then make adjustments to the areas that score low.

The scope of an app should always have a specified task, persona, and location. Apps that don’t have a narrow focus quickly become too complex to manage long-term.

Steps

Each step should have a clear focus for the operator. Information on the step and step sequence must accurately reflect what the operator has to do in their physical environment. This is a human-centric approach that is essential for human-led processes.

When designing steps avoid “paper on glass”, or a direct transfer of the paper process onto the screen. This method limits how you take advantage of digital affordances. Connecting barcode scanners saves operators from manual entry and offers a seamless experience to the process. Configuring input validation for input widgets ensures that operators enter the correct data format. Steps should make full use of digital tools wherever possible.

Data

Data should be intentionally shared where you can. Avoid duplicate data so that apps always pull from the same source.

The best way to ensure apps use the same information is to use common tables to "connect" apps.

Make sure you adhere to Best Practices for Storing Data in Tulip.

Solution Design

An important consideration of what makes an app composable is how it interacts with other apps in a suite, or a Tulip solution. A solution should be comprised of simple, 1:1 app to process apps.

Example App Patterns

Learn more about How to Design a Tulip Solution.

Composable App Checklist

Use the following checklist for guidelines to make sure your apps meet minimal criteria for composability:

  • Designed for a single operator at a single physical location
  • Not dependent on another app
  • Use common tables and fields
  • Common table record placeholders
  • Defined set of statuses
  • Each trigger edits only table at a time
  • Triggers that read or write to tables state the table name in the trigger name

Further Reading


Did you find what you were looking for?

You can also head to community.tulip.co to post your question or see if others have faced a similar question!


Was this article helpful?