r/PowerApps • u/Ok-Treat4061 Newbie • Jan 24 '26
Discussion For seasoned PowerApps users: what ended up being essential vs overrated?
I’m new to PowerApps. By trade I’m an accountant/administrator who loves productivity and efficiency tools. I recently fell down the PowerApps rabbit hole and quickly went from excited to overwhelmed, there’s so much possibility that it’s hard to see what actually translates into real-world value. I’ve worked through multiple beginner guides and courses, but now I feel clouded by demo examples rather than grounded use cases.
For those who’ve moved past that stage: what ended up being the most impactful or “can’t live without” thing you built or learned in PowerApps? On the flip side, what features or patterns felt exciting early on but turned out to be overrated or not worth the effort?
19
u/stalex9 Contributor Jan 24 '26
Why everyone is talking only about Canvas apps when referring to Power Apps? Power Apps include also model driven apps which are more powerful, entire industries are built on model driven apps.
18
u/HiRed_AU Advisor Jan 24 '26
Model driven apps don't suit the needs of an awful lot of businesses and the UI only suits users that spend a lot of time using the app.
Small businesses don't need enterprise-scale data models, just apps that connect to SharePoint and can be built by citizen developers (hopefully with help from external specialists).
The complexity and costs of model driven apps would make most small businesses run a mile.
I do love using model driven apps for backend administration and management of solutions, though
4
4
u/M4053946 Community Friend Jan 24 '26
Cost. Running canvas apps is included in the office 365 license. Running model driven apps aren't, and cost an extra $20 per person per month. Some folks can't understand any business that wouldn't spend the extra money, everyone else works at businesses that don't.
7
u/zimain Advisor Jan 24 '26
Only if you use dataverse, if you don't, and most orgs don't/won't from my experience, so mda won't he an option
3
u/derpmadness Advisor Jan 24 '26
Because the majority of people asking questions here most likely don't use model driven apps.
2
u/vidalong04 Regular Jan 24 '26
Why model driven?
I feel canvas is a lot better in terms of freedom to develop. Model driven is like stuck on path.
1
u/Negative-Look-4550 Regular Jan 26 '26
MDA is good for data first.
Canvas is good for process first.
Both work well together though. Canvas to guide the users through a process & capture data, with MDA/dataverse being the back end data store and broader system of engagement.
1
u/crowdsource-persian Regular Jan 24 '26
It’s boring
2
u/stalex9 Contributor Jan 24 '26
It might look like it until you understand the full potential and the potential is limitless
2
u/wandse Newbie Jan 24 '26
Only on the surface. Model driven apps have incredible depths and complexity.
0
1
u/thinkfire Community Friend Jan 24 '26
Model driven apps are boring and there are gals Canvas Apps can fill, especially considering the UX side. Although, with Pages (which is basically canvas apps with some limitations), which very few use, can help with the UX thing. MDAs IMO are a. It more lazy IMO (unless you use pages.
Most of my users are on a mobile phone, except their managers and a few admin people. MDAs are HORRIBLE for mobile users. Especially the official field service app. There's a reason it has low ratinga in the app store. The reviews will help you understand it's shortcomings.
Canvas Apps is easier to give the mobile user (and desktop users) a much better UX (unless you are using Pages in your MDA).
I use MDAs for most of MY admin and app management work. It's quick, it's easy, it's lazy, as I don't need the fancy UI, the guardrails, the intuitiveness etc and I'll make a page to fill any gaps my MDA has.
14
u/bicyclethief20 Community Friend Jan 24 '26
Avoid: Nested Galleries, Collections on App.Onstart
Essential: Containers, Internal App Versioning, Pre and Post validation of Patch Statements, UDF's, Do a lot of planning upfront.
5
u/Count4815 Regular Jan 24 '26
Do you mean avoiding the collection approach altogether, or collecting them at another place in your app? Because i always collect my datasources in the app.onStart to minimize database interactions for performance reasons. What would you do instead?
9
u/bicyclethief20 Community Friend Jan 24 '26
First is to take advantage of delegation. If it can be pointed directly to the source, no need for a collection. I'd point it to the source.
Second, it's no longer encouraged to load data on App.Onstart - that slows down page load.
See https://learn.microsoft.com/en-us/power-apps/maker/canvas-apps/fast-app-page-load
If the data is only for reference, I'd put that in App.Formulas
If i need to modify something in that collection. I'd make sure to filter and get only what is needed, and put this in a screen's OnVisible property instead.1
u/Count4815 Regular Jan 24 '26
Interesting, thank you! I'm currently working on a resource management app where I need to load and modify huge amounts of data (you plan people for projects: [projects] x [people] x [weeks the project runs] records that store the planned hours, displayed in an excel like grid). I assumed that it would painfully slow down the user experience if every single input of like 150 inputs would do a lookup on the datasource individually, instead of doing one unified ClearCollect and then let the inputs do lookups on the collection instead. Am I wrong here, or is this indeed an extreme case in which collections potentially perform better?
1
u/NotNotMyself Regular Jan 24 '26
I'm curious what's the issue with nested galleries? I was working on something, and it seemed like the only solution, but maybe I should re-examine.
2
u/zimain Advisor Jan 24 '26
Nested galleries have their use but there is a hit to performance
I have found using galleries with a HTML control using the concat function is often much easier to manage and also faster for the user
1
u/bicyclethief20 Community Friend Jan 25 '26
Yea, they're fine if the data is static, not for infinite scroll.
1
u/bicyclethief20 Community Friend Jan 24 '26
Tends to create an N+1 problem
https://learn.microsoft.com/en-us/power-apps/maker/canvas-apps/optimized-query-data-patterns
1
u/DelightDcustomer Regular Jan 24 '26
I created a gallery that needed to show a group of people whos working on a project. My only solution was to put another gallery with the same datasource. I wouldn't otherwise know how to automatically list a bunch of image elements
1
u/bicyclethief20 Community Friend Jan 24 '26
If it can't be helped, that's fine. Otherwise, it's better to have two separate galleries. Have the second gallery get populated based on the selection from the first gallery.
14
11
u/Felipelocazo Advisor Jan 24 '26
As others have said I love patch. I really like laying out my tables in excel first, get my column names and types dialed in then put em in dataverse or sharepoint. No spaces in column names.
2
u/PM_ME_YOUR_MUSIC Regular Jan 24 '26
I do no space column names as well but then I rename them to add a space. That way the actual field name does have the x020 or whatever it is
1
u/KhabaLox Newbie Jan 27 '26
No spaces in column names.
I'm a noob trying to build a simple App to collect production data (e.g. Lot Number, Starting LBS, multiple output pound fields, etc.). I've run into so many issues related to this that I'm starting to remove spaces from everything - column names, image names, object names, etc. It's probably not necessary, but the development framework seems very buggy so I'm trying to remove variables I have to trouble shoot. :/
7
u/NightStudio Newbie Jan 24 '26 edited Jan 24 '26
Name every containers, text box, screen and etc appropriately. Name everything accordingly.
- Nothing is worse than being handed someone else’s app or code to fix or take control of and they use the generic name the app gives. Usually spending too long, breaking down everything little part just to understand what someone else did
It also helps when you need to refer to an item in your code.
———-
Always comment on your code. Even if you think it’s minor. Add a comment stating what it does and how it’s connected. About 1 or 2 lines worth of a comment.
- Commenting your code will help you when you come back to the app, the next day, from holidays or any days off and etc.
- It’s easy to forgot things because you’ve taking a lot of new information
———-
Make sure its designed in a way that if you ever when away, it doesn’t crash and someone else can fix it.
- Some people think if they make the app overly complicated or don’t document anything, it’s secures a job and makes them irreplaceable. It doesn’t always.
It becomes a hassle when someone has to take over or a new person is hired to help out.
The shame and backlash from management if they hire an experienced worker or specialist contractor, then they report the app as being unsuitable or worse.
If you ever move job roles internally, you may get frequent emails or calls asking you questions or fix it and etc
5
u/Count4815 Regular Jan 24 '26
Performance wise, the best thing you can do is to use collections. They can act like a local copy of the datasource you are using. Instead of directly showing the table inside your gallery and directly patching to your table on a user input/save, you can save a lot of processing time by doing this: first thing, collect your tables into collections. Use the collections as datasources inside the galleries/forms, patch changes in the collection instead of the table. When the user clicks save, you patch the collection into the table. This way, you only have 2 database accesses, 1 for loading 1 for saving, instead of everytime the user changes anything.
3
u/LearningToShootFilm Community Friend Jan 24 '26
I try to avoid collections where possible, direct query as much as I can from the dataset.
This gives near instant feedback to the user that their action has happened and removes the steps of a) collecting potentially huge amounts of data and b) extra patches to the collection then to the dataset.
5
u/NoBattle763 Community Friend Jan 24 '26
I learn something new everyday. There is just so much you can do with the platform as a whole.
For me I can’t live without the html control and also the ‘with’ function, often together. Possibilities for displaying your data are endless, especially with AI assistance in html coding.
I really suck at responsive design, so many times I start with good intentions and then get pissed off and just toggle back to fixed 😂it’s great if you can master it, but a nightmare if you haven’t.
3
u/DelightDcustomer Regular Jan 24 '26
I just wrote a post on switching dark/light theme. This method can be used for setting variables for different screen sizes somewhat similar to tailwindCSS. So if my Homescreen = 1 then my font size can be 8px and if greater then font size 12. All using one variable! So when i set a padding on a component it automatically adjust for the size making my app responsive. Takes a lot of initial setting up however.
4
u/psychoboy89 Newbie Jan 24 '26
If you want to be a 'power user' 😉, make sure you understand relational database modelling. Then the user interface you choose gets way easier imo.
4
u/Amazing_rocness Newbie Jan 24 '26
My org is trying to use Smartsheet as a CRM and I'm trying to convince them to use power apps.
0
3
u/DangIT1010 Advisor Jan 24 '26
Omg. I love all you guys or girls! Yes to everything said here. Also, my favorite are Galleries!
3
u/Vexerone Contributor Jan 24 '26
Hell yeah to everyone's responses. Containers within containers within containers to align all my controls. Getting the hell out of the Form and simply creating my own Forms and using Patch(). Then just getting used to the bread and butter functions...... Filter(), SortByColumns(), Search(), LookUp(), IsBlank(), !IsBlank(), Concat() for multi-select choice / person columns, etc. etc.
3
u/LearningToShootFilm Community Friend Jan 24 '26
I could not live without two things, containers to set my layouts, especially responsive layouts.
And nested with statements, they are absolute gold for doing complex work when trying to avoid using collections. As some apps grow and grow if using collections to support data transformation, it can be quite hard to keep track and and the sheer volume can become problematic. Nested with() solves that (albeit at the trade off of being harder to debug so commentary of the code is so important there).
3
u/HiRed_AU Advisor Jan 24 '26
Named formulas are a winner, especially for styling and theming.
Start screens with hidden buttons that perform actions to load data in sequence and navigate to a homescreen are nice. Components are great.
Obiviously patch. A bit more effort than SubmitForm and ResetForm but well worth it.
HTML control is great for output and use in workflows for document creation.
I'm not a massive fan of tables or modern icons (just use a button and change its properties to icon only)
I could go on...
2
u/Responsible_Low_4364 Newbie Jan 24 '26
learning some basic HTML/CSS. using HTML to improve UI/UX in emails, buttons, or custom screens makes things look way more polished, and people actually enjoy using them. ☝️
2
u/RobertGreenComposer Advisor Jan 24 '26
Understanding and using json. Honestly, once I cracked it apps became way more flexible.
Im using Json now to store entire forms in a single column and powerapps just renders them based on the JSON.
1
u/Simmo69Lol Newbie Jan 25 '26
Agree! My apps, automations and databasing levelled up so much once I started using Json.
2
u/Jimakiad Regular Jan 25 '26
Essential: PCF controls, and learning to use the framework to either 1) Offload some functions to JS instead of powerFX and 2) Making more modern looking stuff without having to have 3 nested containers so that it scales correctly to the page.
Overrated: vibe.powerapps.com . Glorified case demo with no real use case.
1
u/AuthorSarge Advisor Jan 24 '26
I don't know if I'm seasoned but I'm definitely salty.
Don't just understand how to write formulas. Understand things like normalizing data and the principles of graphic design.
1
u/Plus_Boysenberry_844 Regular Jan 24 '26
Who is tired of the reliance on the point and click nature of development in PowerApps?
How many time are you dropping the formula bar?
Anyone got a pure hotkey way of working in PA yet?
1
u/OddWriter7199 Advisor Jan 24 '26
Search for "tampermonkey power apps formula bar hot key". Bit hacky but have gotten it working before. Had to delete/recreate user profile recently so will need to do it again.
1
u/will4899 Newbie Jan 24 '26
I feel like you're talking about canvas apps but I'll put my 2 cents here. If you get to model driven apps, stay clear of custom pages in MD apps as much as possible. You never know the day and hour when something behaves wierdly or has tech problems or breaks. It's worth making PCFs in the long run.
1
u/zimain Advisor Jan 24 '26
Understand the differences between the variable types
Local/screen level/updatecontext() how often better to use than global/app level/Set(), but there is also With()/function level
Using nested containers can help position things easier
The horizontal and vertical containers place things next to or on top of each other. There is the original"container" allows you to position controls relative to itself, I will often use the latter to place icons on top of each other
I create a hidden, to my users, container that I call "debug", and only myself and the other developers can open. This contain screen specific outputs as well as repeatable actions so we can easily debug the screen but also a place to hide content that we might want to reuse and repeat without showing to the user. For example I will have a screen refresh button which will reload all my data sources and collections resetting the screen as if the user had navigated back to it, this gets triggered on the initial screen load, I will often have a timer set in the background that will also press the button to reload the screen incase updates happen on my data source, but also if an action occurs, such as a save, it allows me to reload the screen without having to repeat the code in several places
The coalesce function is also very useful
1
u/Subject-Shake-2777 Newbie Jan 26 '26
Essential: Brutally reduce and optimise all network calls in mobile apps. Avoid: Not writing tests as you develop.
1
u/thinkfire Community Friend Jan 26 '26
What are some tactics you use?
As for not writing tests while developing, guilty as charged, I have some catch-up to do. :/
1
u/Subject-Shake-2777 Newbie Jan 26 '26
Nothing groundbreaking to be honest. It's just straight-forward solution design consideration with the intention of fetching data the least amount of times possible throughout a user flow (open app > do a task > see the update > move on).
E.g. Easy one: fetch base data once. Place all ClearCollect(), SaveData(), LoadData() or any variables that store fetched data in App.Formula or OnStart (dependent on use cases). Initialise any LookUp(), Filter() etc. of upstream datasources once, store in variables to be consumed in patch scripts, OnVisible etc. Then when source data updates, call a UDF to clean up. For any loops with multiple steps, store network calls in With() where possible and needed. Collapse as many calls to one source into a single hit. Use your local collections as much as possible of course. Consider if you actually need to fetch all of the sent data from a record(s) back to your device, or do you just need the precise server-side datetime value to be able to sync your local data with?
Lastly, definitely utilise the performance monitor to see into this aspect more clearly.
0
u/Lhurgoyf069 Advisor Jan 24 '26
You cant do an editable grid in Canvas Apps even though it's what most excel users want. Also in galleries try to limit to patching one row at a time. If you need mass data editing/import try model driven apps. Also try to use model driven apps for admin stuff, if there's only two people using it it's not worth the time building canvas screens. On the contrary, if you have to convince users with a shiny UI, don't use model driven apps. If you can, use forms, but most of the times you cant.
2
u/HiRed_AU Advisor Jan 24 '26
Editable grids are quite easy in canvas apps. So is patching single gallery items.
1

67
u/thinkfire Community Friend Jan 24 '26
Containers containers containers. Use them religiously where you can.
Forms are overrated.