COVID-19: Choose between our familiar (but now socially distanced) classroom training courses and our excellent new live online courses.
A list of the 5 things one Wise Owl finds most annoying about Power Apps
Any software has things you love, and things you ... don't love so much. This blog covers the latter set of things!

Posted by Andy Brown on 26 September 2020

You need a minimum screen resolution of about 700 pixels width to see our blogs. This is because they contain diagrams and tables which would not be viewable easily on a mobile phone or small laptop. Please use a larger tablet, notebook or desktop computer, or change your screen resolution settings.

The 5 worst things about Power Apps

This is an entirely personal view of the 5 things which I find most annoying about Power Apps. 

To counter the negativity, I've also written a companion blog on the 5 best things about Power Apps!

I'll present my Power Apps bêtes noires in order of how annoying I find them, starting with the worst.

1 - Losing formulae

This is my number one pet hate about Power Apps.  It's often the case that you will set the property of a control to be a formula - here's an example:

Centre property

I want this label to be in the middle of the screen, so I set its X property to be half the width of the screen minus the width of the label. Job done.

Except ... the job doesn't stay done.  If I accidentally or deliberately move the label a bit, Power Apps replaces my formula with a value:

Lost formula

Aaargh! I've lost my formula.

But that's OK, you might say - you can just undo this change.  Assuming that you notice what you've done (which isn't always the case), this doesn't always work.  Which brings us on to ...

2 - The unpredictable Undo feature

The good news is that Power Apps contains an undo button:

Undoing in Power Apps

You can click on this button to undo multiple items.


The bad news is that sometimes (often) it doesn't work.  I still can't make rhyme or reason out of the logic behind this.

For my example above just now, undoing did restore my formula, but usually I've found it doesn't.

3 - Switching controls also switches properties 

In the following screen-shot, I'm editing the Color property of the first name text box:

The Color property

I've selected a text box, and am working with the Color property.


If I select the next (colour) text box, I'd like to be looking at its Color property, but that's not what happens:

Default property

When I select another control, the property shown is the last one I was looking at for that control (in this case, the Default property).


I can see that Microsoft were trying to help, but I find this behaviour counter-intuitive and unhelpful.  Sorry!

4 - Delegation

This is a bit disingenuous of me, because I don't personally find this annoying at all - I just know that lots of other people will.  When using Power Apps, you'll often see messages like this crop up:

A delegation warning message

A delegation warning message

To ensure that your app runs quickly (and that you don't seize up the Microsoft Cloud) apps are limited to working on the first 500 rows of any data source, although you can change this option to a maximum of 2000 rows.

The full rules depend on the data source you're using and whether you're sorting, searching, filtering, etc, and are insanely complicated.  If you have less than 500 rows in each data source that your app uses, you can blithely ignore this problem.

5 - No proper programming language

In all fairness, this is actually more of a strength of Power Apps: it's been written to be used by non-developers.  However, as a programmer I just wish occasionally Microsoft had compromised.  Here's an example:

Hiding an image

When a user clicks on the button, I want it to hide the owl.


In VB, VBA or C# (and I'm sure in many other languages) I would write something like:

imgOwl.Visible = False

The image does have a Visible property, but you can't change properties in code.  Instead you would have to write something like this:

Toggle visibility

Change the value of a variable called IfOwlHidden.


You would then set the Visible property of the image to equal the value of the IfOwlHidden variable.

I don't want to whinge about this too much because I can see where Microsoft are coming from, but the lack of a proper Power Apps programming language can mean you end up tying yourself in knots a bit.

This blog has 0 threads Add post