5 things to think about FIRST for better apps


Sometimes we’re so excited to be building something new that we open PowerApps Studio, and start dropping buttons, labels, comboboxes, forms, etc… But then, we find ourselves in tricky situations when we need to move elements, the theme is not correct and we need to amend each control, more fields need to be added on the screen but we’ve got no more space, or worse… the data should have been in Dataverse and not SharePoint! 😱

In today’s blog post, we’ll talk about at least 5 things to think about BEFORE jumping into PowerApps Studio (in no particular order!). Those things may require more time to complete the project / app(s) but it’s very important to have all the information to avoid even more work, fixing, or unhappy customers!

Volume of data

To make sure you have the correct backend solution, it’s important to understand the volume of data that this app will deal with. Does it make sense to use Dataverse? Or is SharePoint enough? This isn’t only a matter of pricing.

Yes, SharePoint is included in your Microsoft 365 subscription, but having tens of thousands of items or complex relationships, then maybe SharePoint is not the appropriate choice.

If your organisation doesn’t have Dataverse, it’s worth thinking about it.

Appealling UI/UX and Responsiveness

Do you know your target audience’s devices? Is it only for tablet users? Is this app only for users on the field where their device is a phone and nothing else? Or is it for everyone regardless of their device?

If the app needs to be responsive, it will take more time to build than just for a target audience of phone users. BUT, it’s again important to know because if the users have a poor experience with the app, they’re simply not going to use it! And therefore, even that “quick and dirty” build will be a waste of time and money.

With regards to UI/UX (User Interface / User Experience), the app needs to be modern. Well, preferably 😇

A good looking app is always more appealling to users, and reflects the work of the makers that they at least, though about the design, and spent time on it. BE CONSISTENT with the design, colours, menus across the screens.

Do not neglect the impact that visualisation can have on users. They might end up also, not using it.


Another thing that users might find frustrating: An app that takes several seconds or minutes to load!

  • Number of controls: Something to consider when building apps. For example, when you insert a Form control, each Datacard has multiple controls. The StarVisible control could be removed, and the Star itself added to the DataCardValue field by concatenating both (value of the datacard + star). Microsoft recommends NO MORE than 500 controls in an app and no more than 30 connections to avoid running into performace issues.

  • App.OnStart: This property is still available in the app, but is in the process of being deprecated. This is where all the formulas were going (collections, global variables, theme) but we need to find alternatives. When the app loads, but the time all is set, the user is wondering what’s happening, and that’s not a good experience! Use the StartOnScreen instead or only load data when required (maybe on the OnVisible property of a screen).

  • Delegation: Delegation is a real issue. This leads to incomplete data showing in the app, and can have a tremedous impact on decision making, reports, app usage, etc. When you don’t have delegation in your app, Power Apps will delegate the processing of data to the data source, rather than moving the data to the app for processing locally.

Microsoft Recommendations
For a full list of recommendations, please refer to the official documentation: Tips & Best Practices to improve performance of Canvas Apps.


Something we don’t think about often. But we should.

It’s very important to make our apps accessible to everyone. Were the colours verified with an Accessibility Checker? Is the contrast ratio suitable? Simple things like that will have a great impact with someone’s disability.

Make sure to also name your app screens properly. For example “Home Screen”, “Details Screen”. And not only “Home” or “Details”. This will help screen readers, and therefore the users to know on which screen they are.

Build in Solutions

Lastly, build you apps, add flows and components in Solutions for better governance! This will help down the line with your ALM (Application Lifecycle Management) processes. See Solutions as big boxes containing all your apps, flows, components, dependencies, that you can move around more easily between environments, rather than all artifacts in different places.

Thanks for reading! 🙂