No time to read now? How about listening to the article? Try it out in the player below!
In my previous post, we talked about the new features of the Power Apps Model-Driven. So now, let’s see what we have to Powe App Canvas App. I guess you’ll like some new features. Let’s check it out!
Use Lobe models in your apps and flows
Microsoft will introduce a new machine learning analysis type (image classification) using Lobe. It’s a free, easy-to-use Microsoft desktop application that allows you to build, manage, and use custom machine learning models. You can create an image classification model locally without using any AI Builder credits and with an easy-to-use app. So, you just download the Lobe app, install, train your model, and upload it to AI Builder once finished. It’s a great way to test the model and business process before acquiring AI Builder licenses.
You can check out more details here.
Intelligent formula repair in Power Fx
Microsoft will introduce the new intelligent formula repair in Power Fx. It will help the Makers spend less time investigating and resolving errors in formulas. This feature will be supported by Program Synthesis using Examples (PROSE). It’s the same technology used on Microsoft Excel. The promise is to reduce significantly the time to fix errors. Let’s wait for the public preview in May to test it!
Makers can collaborate together on the same app
Wow! I guess this is the most awaited feature by Makers. Currently, only one Maker can have the App opened. It’s impossible to scale the team to work simultaneously in a single app. With the new capability, makers will be able to work together in the same App, allowing you to scale the team to deliver the App faster. Also, you’ll be able to track collaboration, commenting, source code, and version history.
Unfortunately, this feature will be on Public Preview only in Jun/2022. Perhaps, we’ll have it as General availability at the end of this year or in 2023. Anyway, it will be a significant improvement when we talk about collaborating and multiple users to develop Canvas App.
I’m looking forward to using this feature. The delivery time will reduce a lot!
Data prefetch and cache control
Probably you already needed to use the Collect in App.OnStart to get data from some data source and load it in a local variable. Isn’t it? All this effort is to avoid fetching data without needed. For example:
App.OnStart = Collect(CachedContacts, Contacts) GalleryContacts.Items = CachedContacts FormContact.Datasource = Contacts btnSubmit.OnSelect = SubmitForm(FormContacts); ClearCollect(CachedContacts, Contacts)
In this case, we retrieved all contact when the App is started. After that, we’re using the new collection on the Gallery items. Once the Contacts is changed by form submit, we need to refresh the CachedContact again.
Now, let’s check out how will be the implementation using the new prefetch feature:
Contacts.Prefetch = True GalleryContacts.Items = Contacts FormContacts.Datasource = Contacts btnSubmit.OnSelect = SubmitForm(FormContacts)
Basically, all the effort to implement a cache control it’s over! We just need to set the property Prefetch = True directly on the data source. The Power Apps will do our work, reducing our effort to implement it.
Overall, we have some advantages:
- With or without caching, we can use directly our data source. If you want to enable the caching, you just need to change the Prefetch property value. Very easy to change the behavior!
- The Collect formula has a limit of 2,000 records max. Getting more than this limit requires to write a lot of code. Using the directly data source can fo beyond this limit easily. No effort to do that!
- Using the data source directly, you don’t need to load all the data to start the App. The behavior of get more data or not will be managed by the controls. For instance, the Gallery control can page in more data as it needs it. Also, you can incidate on the Prefetch directive how many records should be loaded in the first time.
It’s a great feature to help the Markers create Apps cleaner, faster, and of course, with low code! 🙂
Power Fx named formulas
Today, usually, we initialize global variables and collections in App.OnStart or Screen.OnVisible. Depending on the quantity of data you need to manipulate, it can dramatically reduce the App load time.
To handle better with it, Microsoft introduced the Named Formulas. So instead, Markers write:
Set (X, Last(Accounts))
They will write:
X = Last(Accounts)
So far, so good! But what is the real difference? I tell you, there are some differences:
- Wit named formula, the X always being set and always up to date with changes in Account, so you dont need to use the Set formula to update X if Account was changed. It will be automatically.
- The named formula X will be immutable, you can’t changed from somewhere else in the app. So you’ll have a single source of truth.
- The Power Fx only needed to evaluate the formula whe it is used, improving the performance. I mean, if you don’t use the formula X in a specific screen, the Power Fx won’t spend time to load the data.
So, if you need a global variable, immutable, and that should be updated once the data source is updated, the Named formula is the best approach.
Native mobile apps
A great new feature as well! Our users won’t need to open the Power Apps mobile app to access our Apps. We’ll publish our Canvas apps as standalone, native mobile apps. So the users can search the App directly on Apple/Google app store, download, and install it. It’s exciting because they will be able to install and open only the App they want. They won’t need to see a list of apps and choose one.
It will allow:
- Discoverability in the app store. The apps gets its own unique Apple/Google app store identity.
- Provide our own home screen icon and app name.
- Create a custom splash and sign-in screen.
- Manage the app directly with Microsoft Intune policies.
Improve conditional access policies and quarantine for individual Apps
To make sure our Apps are accessed only by users that should have access, the administrator can use all the power of Azure Active Directory Conditional Access to individual Apps. We’ll be able to define some access rules for each App. For instance:
- Designate specific App to require multi-factor authentication.
- Designate specifc App to require users to be connected to the intranet to access the app.
- Designate specific App to require a devide that is compliant with organization’s device managemente polices.
- The App may have different Conditional Access polices per environment (for example, Dev, UAT, Production).
Also, the admins will be able to quarantine an App. So, the admins can directly limit the availability of apps. The admins can request more information about the App before it is published. For example, the admins would check what kind of data the users will access on the App before publishing. The quarantine feature is a complement to the data loss prevention policies.
Once the App is quarantined, each persona will have different access experiences. Such as:
- Admin: Regardless of an app’s quarantine state, an app is visible to admins in the Power Platform admin center and using PowerShell cmdlets.
- Maker: Regardless of an app’s quarantine state, an app is visible in https://make.powerapps.com and can be opened for editing in Power Apps Studio
- User: A quarantined app will present users that launch the app with a message indicating they’re unable to access the app
That’s it! Really good features to improve the creation of nice, fast, secure Apps. Looking forward to testing all of them! 😉