(ESTIMATION TIME: 10 MINUTES)
When you’re doing something for the first time there is always the same feeling of chaos. So many new things, an uncountable number of topics to learn, mechanisms, and concepts that are like nothing.
How to know it all?
Where to start?
Of course, on the one hand, when it comes to IT, every software has its documentation (and in the case of PowerApps it is truly well written). However, on the other hand…show me at least ONE person who has read the whole documentation before starting with something (programming, using tools, developing the new app in PowerApps) 😉. Of course, there is none – otherwise, people like me, consultants & trainers, won’t have much to do. That’s why I’ve created below a list of 10 tips I wish to know before I’ve started with PowerApps.
If you read the image description above, you probably see a lot of similarities to learning really anything that is new to you. Let’s take PowerApps for example. You want to build an app, create a solution to support your process, or build that powerful customized SharePoint list form. Most of the time, you try different approaches, different controls, and just DISCOVER new functionalities of the platform. From time to time you need to solve an error or warning (e.g. my favorite one: 500 items limit) and rarely (in comparison to other activities) are you completing your dream app. And that is ok – you are learning. You need to get the experience. Is there a way to increase the effectiveness of your learning path? Yes, there is. Follow me 🙂
UPDATE (03-Feb-2023): Psst, please have in mind this article is from…2019? 2020? Something around that…Anyway – A LOT has changed over the past years. So please take a minute and look at what’s going on right now here or here, or here. You can also check out my new project: No Code Masters on YouTube 😁
Minimal effort to maximum effect
To shorten your launch with PowerApps I’ve noted down 10 things I wish to know earlier – at the very beginning of my PowerApps adventure. Treat them as my footprints you can follow to get your “artifact” quicker.
In the PowerApps maker portal when you go to the “Create” page you will see a bunch of tiles. The first three are for creating your app but all the others (28 tiles) are ready-made applications. They present the final solution to a specific scenario (Help Desk, Budget Tracker, Leave Request etc). By clicking on the template app you’ll add it to your environment, and you can start using it. But that’s not all! You can edit it and see how it was built! It’s an awesome opportunity to investigate the app structure, logic, used controls, and functions to learn PowerApps. Moreover, you can copy app parts and paste them into your solution – why not!
Play, test & analyze at least 1 of them.
Protip #1: If you’re beginning with PowerApps focus on templates with the “Canvas app” label
Protip #2: There are two app templates you can’t miss: PowerApps Training and PowerApps Training for Office. A must for everyone who wants to know PowerApps better.
2 . Controls & Properties
There are many controls you can use in your app. Text input, Slider, or Timer (with which you can build animations) are just a few examples. Use them to interact with a user in multiple ways: display information, gather some data, or even record a video or take a picture. All controls are under the “Insert” ribbon tab and grouped into categories (Text, Controls, Media etc). Take 10 minutes to discover all the controls in PowerApps. In most cases reading the control label is enough to get the general context of it. However, bear in mind some controls are more complex (eg. gallery or forms).
Other great things about controls are their properties that are for customization. Want this label text to be read? No problem! You don’t like those rounded corners of a button? Sure thing, I don’t like it either. Properties extend the capabilities of the controls. Using them you can use control in multiple ways and in different contexts.
Protip #3: The most popular controls are: label, text input, icons, button, gallery, forms. Starts with them. Almost any application needs them.
Protip #4: Check the Advanced tab from the properties pane (the above image). It has many more properties than Properties tab.
Interaction with a user is one thing but what will happen if a user clicks this button? And how to show an error message once users forget about providing required data? You won’t do much without logic in your app. And that’s what PowerApps functions are for. Controls, properties, and functions are PowerApps bread and butter. Without knowing them you’ll be like a kid in the dark.
There are 155 functions, and they are fully described here. In the documentation, each function description contains a note of what it does, when to use it, required arguments, and some usage examples. And to be honest I never use all of them. But the below list is really worth those 30 minutes to check them in the documentation.
Protip #5: Some functions are unknown even to those who builds PowerApps professionally. These professionals waste a ton of time to make workarounds for what I’m solving in a minute. Some of those functions: User, Param, Language, HashTags,ColorFade, PlainText. Make sure you know them 🙂
The true power of PowerApps (and Power Platform speaking) lays not in the platform itself but in the integration with other platforms. Thanks to that your app can use the capabilities of another service. I like to think about integration as “borrowing the power of other services” in a way. PowerApps contains over 350+ connectors to different services (not only Microsoft’s!).
You can find a list of all connectors here.
From that list few connectors deserve special attention because of their flexibility and how they greatly improve Power Platform extendibility:
- Office 365 Users
- Power BI
- HTTP with Azure AD
- HTTP / HTTP Request (available as an action/trigger via Flow)
Protip #6: You want to integrate your own service? Check out Custom Connectors
5. Store data in the right place
Ok, before I’ll say anything more, I have to announce one really important thing.
Uf, I’m good now.
So, when it comes to storing data there are a few places you can do it: OneDrive (Excel), SharePoint, and common database (Dataverse, SQL). The first two are a common pick for PowerApps adepts and after some time they always search for help. Because neither excel nor SharePoint is a relational database. But Dataverse and SQL are! And from my perspective, after the last updates, Dataverse is the first pick when it comes to PowerApps solutions. I won’t dive into my approach details in this post, but I’ll cover that in the nearest future. Dataverse made huge progress and is a safe and trustworthy relational database.
Protip #7: Files? SharePoint. Relational database? Dataverse.
When it comes to data source connection there will be a moment in time when you’ll see the warning below.
But don’t worry! It’s the delegation thing. The delegation mechanism is well described in the documentation. However, sometimes delegation is not a solution. If you’ll get to such a point read my post: https://michalguzowski.pl/500. I described 4 workarounds for the 500 limitations (whereas delegation is only 1 of them) + 2 extra my own methods which you won’t find in the Microsoft official resources 😉
7. Turn on Advanced Settings
If you want to build your apps more efficiently and faster there are few options hidden from you by default(!). But as an app maker, you can easily turn them on.
Go to File -> App Settings -> Advanced settings
There are impressive functionalities that will boost your productivity. 2 examples:
It’s a group of controls that you can reuse across screens and apps! It’s like you build your own control! Example:
If you want to read more about how to build components and my best practices, patterns and tricks check this blog post.
Formula bar result view
Normally there is no way to see what your filter function will actually return in the result unless you display the data using some control (e.g. gallery). However, turning on “Enable formula bar result view” allows you to see the first few results right in your formula bar. Like this:
Pssst…Have you heard about the 👉www.Developico.com👈?
These Power Platform experts can help you out!
8. Extra content
The old saying says: “Don’t reinvent the wheel”. When you start with something it’s impossible to always avoid this mistake of reinventing the wheel. Because finding out what has been already made is a part of the learning process, right? Sometimes you’ll read about it in documentation, sometimes you’ll see it in one of the PowerApps templates and sometimes you read about it in a blog post. That’s why I’ve put this part here 🙂
- 10 Reusable Components: tab control, calendar, dialog box, map control and more
- Experimental tools from Microsoft: PowerApps Review Tool, Theme Editor, App Merger, Phone to Tablet Layout Converter
- Templates from PowerApps portal are not enough? Then go to PowerUsers Community Gallery for more.
Remember those times when a 3 hour task has already taken 6 hours and you’re not even in the middle of it? That is the moment when your time management (plan control, reality observations, acting based on measurements) is crucial but what’s even more important is…your self-control. Quit the berserker mode. Stop the “ohhh…I’ve already spent so much time on this task that now I HAVE TO finish it”.
- Your app/task is estimated to be done in X hours
- Make a checkpoint every 1/4 * X
- Define what you want to have on the particular checkpoint.
- If there is “expectations vs reality mismatch” -> ask for help. PowerApps Community & #PowerAddicts are here for you.
Protip #8: don’t be obsessive, know when to quit. Ask for help earlier
10. Practice practice practice
This is the universal but absolutely true sentence: “To make apps you have to make apps”. In other means, no knowledge gives you as much expertise as practice. If you want to make great apps there is no other way than just make 100 of them.
Every 100 starts with 1.
The task for today: make a simple app.
E.g. with a button that sends you an email on click. But make it so good you could use it in the future. E.g. email can be sent to your family member with a random message:
- “Will be late – traffic today is horrible”
- “Sorry for being late, had some bugs in one of my projects but I’m close to fix them. Need ~30 minutes more. Love you!”
- “My client asked me to help him in an emergency case: they have some problems on production environment! Will be in 2 hours :(”
- Can’t find the keys – did you see them?
Was it helpful? Or maybe you think I’ve missed anything?
LET ME KNOW IN THE COMMENTS! 🙂