MICROSOFT

Power Apps

The Power Apps advantage

Due to the rapidly changing nature of most business environments, organizations are always needing to solve business problems with tech solutions. But when it comes to solving these problems, the ‘build vs. buy’ conundrum can often be perplexing. On the one hand, choosing to build a solution from the ground-up provides near unlimited flexibility and customization options. But this is offset by the relatively lengthy (and resource-heavy) software development process. On the other hand, an off-the-shelf solution can be much cheaper and faster to deploy. Although, it can deprive organizations of the deep customizations they need to do their work.

Power Apps helps resolve the ‘build vs. buy’ problem. It gives your people the resources they need to quickly plan and develop solutions to your most challenging problems, providing the flexibility of a custom build and the rapid deployment of an off-the-shelf solution. While software development used to require an entire process beginning with a comprehensive list of requirements and ending with deployment, adoption, and maintenance; low-code drastically contracts the process.

Power Apps provides a platform-as-a-service program that lets you build apps in a convenient drag-and-drop process. Users can construct apps for varying use cases ranging from a simple 3-step workflow to a complex customer relationship management application.

Even better, with Microsoft Power Platform and its suite of tools, teams within your organization can rapidly plan and create applications that meet their needs all by themselves. They can engage their specialized knowledge on critical functionalities to create tools that are truly theirs. Teams end up solving the problems of their department in the most relevant way, while freeing up your IT people to focus on other problems.

Power Apps lets you create applications that are designed to fit how and where your people work – but in a fluid manner that truly augments the work they do. This way, it’s not just people adjusting how they do their work to fit the system, but rather systems and fluid applications adapting to the people to instantly augment the work they do and solve challenges as they arise.

That said, let’s turn to the two major ways of building apps with Power Apps – canvas apps and model-driven apps.

Power Apps Development: Exploring Canvas and Model-Driven Applications

Microsoft Power Platform is leading a low-code revolution for businesses and organizations. With its Power Apps program, the platform is giving every individual, team, and department within organizations the power to solve their own problems – even with no coding experience.

No longer will IT be stretched between onboarding, system maintenance, software development, and solution upgrades, while still expected to solve the peculiar problems of each department. Power Apps brings the speed and ease of low-code/no-code software development, enabling teams to rapidly create custom applications.

However, due to its relative novelty, there’s a lot to unpack about Power Apps before users can start creating the solutions they need. The first question is what type of application to build? Model-driven apps or canvas apps?

What are canvas apps?

Canvas apps are what people think of when they talk about Power Apps – a blank canvas that lets you drag and drop components to quickly create an app interface. Each component can be subjected to any number of change operations, including resizing, formatting, and other custom actions. As a result, canvas apps allow for a high degree of flexibility.

Anyone that has experience with PowerPoint will likely have no problems with canvas apps. They employ much the same logic, allowing users to rapidly create task/role-based interfaces of varying complexity using readily-available tools. After the design is complete, users can then connect their canvas app to any one or more of over 200 unique data sources using Excel-style formulas.

Canvas apps can run on various types of devices, including mobile, PC, and even within other apps such as Dynamics 365, Microsoft Teams, and more. Once created, the app can be easily shared via the cloud or to run on Power BI or SharePoint. These apps can equally be deployed through the App Store or Play Store through which they can function as native apps on mobile devices.

An important point to note about canvas apps is the basic layouts they provide. These apps can be built in either landscape or portrait mode and cannot be switched back and forth during use. As a result, they are less responsive than most modern app users (whether web or mobile) have come to expect. While there are ways to work around this limitation at the design stage, the process must be repeated for each frame and control in the app. For an app with tens to hundreds of controls and frames, this can get very tedious.

Regardless, canvas apps are extremely easy to use, especially for solutions that do not require complex business logic. They are perfect for applications designed to perform linear, business-specific tasks that are ideally situated within a single department or team. Examples of great use cases for canvas apps include vacation request interfaces, time trackers, parking spot reservation, employee recognition, site inspection etc.

What are model-driven apps?

Compared to canvas apps, model-driven apps are relatively complex applications that are built in the Power Apps Studio. Building these apps is a great idea when you have well-structured data and intend to drive interaction through complex business logic. Just like canvas apps, these apps can integrate to a number of data sources, although they work especially well when they leverage structured data through Microsoft Dataverse.

Dataverse, also called the Common Data Service or CDS, functions as a data haven for organizations’ business application data. It is a cloud-based storage space that houses data stored as “a base set of standard entities”, as Microsoft explains. Organizations can store their data within these entities or create custom entities that fit the unique data sets that they generate.
Model-driven apps incorporate their data source and generate data models. As a result, once the data is integrated, it becomes defined as a structure, allowing the application to conform to your data. By implication, model-driven apps do not offer the flexibility of canvas apps. Instead, it is your data that determines the structure of the app, meaning that the application conforms to your data, rather than your data to the app.

These apps largely use pre-made components which are also pre-selected based on the input data. There is still plenty room to edit each component though. Users can choose from several components types including views, forms, dashboards, business processes, and charts.

Model-driven apps are much more responsive than canvas apps though. They run with Microsoft’s Unified Interface Client which renders applications that are capable of running on various browsers and mobile devices. Users can automatically generate engaging UI across multiple devices without any manual adjustment. Examples of model-driven apps include Inventory Management Systems, Supply Chain Solutions, Human Resources Information Systems, and more.

Canvas apps vs model-driven apps: The right app for the right role

As the features of both app types already indicate, model-driven apps and canvas apps are best suited for different purposes and use cases. While model-driven apps are best for end-to-end solutions that include multiple workflows, canvas apps are ideal for task or role-based applications.

For instance, with a canvas app, you have the means to create a streamlined tool that solves a problem for a specific team within your organization. You might want to purpose an app that helps them log reports or create service tickets. Since the goal here is to resolve that one task, you likely do not need all of the functionality of an end-to-end solution. In fact, that many capabilities might end up confusing or overwhelming your team. In such a case, canvas apps will provide a simple, dedicated tool that helps fulfil your goal.

With model-driven apps, your users obtain a more intuitive tool that is best suited for complex business applications. If you wanted to tie your departmental log reports into an HR system that tracks time spent per task, assigns productivity scores, produces performance reviews on this basis, and so on, model-driven apps are perfect for the job. This app types anticipates situations where you have two or more teams, processes, and roles involved in the macro workflow you envisage.

Here’s a summary of the main differences between canvas apps and model-driven apps:

Canvas Apps
Model-Driven Apps
Flexibility
  • Highly customizable
  • Full control of results
  • Less customization
  • Outcome controlled by data
Data Sources
  • Microsoft Dataverse
  • Integration from 200+ sources
Structure
  • Driven by user experience
  • Easily complete task-based projects
  • Easily complete task-based projects
  • Multiple workflows/ processes
Application
  • Application
  • Complex business applications backed by well structured data and processes

When should you use either?

If you’re wondering which of these apps to use, asking these questions might help you clarify your requirements and eventual decision:

  • What is my primary input data source? If your data is contained within Dataverse, using a model-driven app will help you speed up design and deployment. You won’t need to spend much time on designing the user interface. But if your data is housed in multiple sources outside Dataverse, a canvas app may be the best option.
  • Is this data available elsewhere? Rather than create an entirely new entity for your data source, consider if it’s already available in some system of record. For instance, if you are creating an employee leave request app and the necessary data already exists in an HR solution, consider connecting directly to that source.
  • What kind of process will the app support? The best feature about canvas apps is they can be quickly used to plug gaps within a function or rapidly provide efficiency for simple tasks. Canvas apps are great to optimize tasks within a specific function. Where the process is not linear but include multiple operations that take action on the same data, a model-driven app might work better.
  • Will the user interface require extensive customization? A customized solution with a user-focused interface will likely require a canvas app.
  • Does the app need to be responsive? Although Microsoft has introduced enhancements to canvas apps, they are still not as responsive as model-driven apps. So if you need the app to be truly responsive across multiple devices and screen orientations, model-driven is the way to go.
  • Does the app need to be available offline? Model-driven apps need an active connection to their Dataverse data source. So if the app needs to be offline or if it will be used in a location with poor internet coverage, then a canvas app will likely be the better option.

That said, while canvas apps and model-driven apps cater to different use cases, their use cases are not always so cut and dry.

Building bridges for your teams

In practice, there are numerous instances in which canvas and model-driven apps will find great application within business solutions. For instance, a comprehensive solution might have several applications, including both model and canvas apps, adapted towards solving business problems in the most efficient way possible. A canvas app might be required to support your salespeople with a tool that allows them to generate on-the-spot quotes for customers. But this could be part of a larger model-driven app that incorporates your sales data, order fulfilment, and reporting.

To this end, you can create a third type of application within Power Apps called an “embedded app.” It consists of a canvas app that sits within a model-driven app. With this structure, you can enjoy the flexibility of a canvas app alongside the comprehensive solutions a model-driven app can provide.

The obvious benefit of this is you can quickly connect different teams together through a single solution where they can collaborate to solve organization-wide problems. At the same time, you can avoid compromising the individual creativity that each team brings to its own aspect of these issues.

Make the most of Power Apps with i3solutions

With the changing nature of business environments and the need for swift, integrated problem solving, the low-code movement is in full swing. With Power Apps, you can now empower your people to solve their problems in innovative ways, even with little to no knowledge of coding.

Our team of experienced Microsoft Power Platform consultants can help you figure out how the platform adds to your organization and helps you meet your objectives.  How can we support your journey with Power Apps and the Power Platform? Reach out to us today to obtain the support you need.