9 MS Power Apps
9.1 Overview
The Power Apps ‘Suite’ is a collection of apps, services, connectors and (with an Azure subscription) a database platform. Power Apps provides two different form building methods: 1. A Canvas App starts with a blank canvas and provides Power Point-like drag-and-drop form building tools and Excel-like functions to control behavior and interaction of the entry fields; 2. A Model-driven App is an app that is integrated into a Common Data Service (CDS) which is a secure, cloud-based storage space that can use to store business application data (CDS requires the Azure subscription). Canvas apps are ideal for building task-based forms (such as collecting Survey data). Model-driven apps are better for creating end-to-end solutions such as a customer service support ticket that that must be created, routed, addressed, updated, marked as complete automatically based on conditions. The Bay Study app demonstration uses a Canvas derived Power App approach Bay Study P-App.
9.2 Key Features
9.2.1 Intuitive Form Developing Interface
The Power Apps form-building interface is intended to be a “LOW-code/NO-code” experience. The use of the PowerFX commands provide familiar structure to Excel function commands and contain significant built-in functionality. As well, Power Apps has incorporated a high functioning AI interface that helps to convert natural language to FX code and provides the inverse interpretation of FX code. The Power Apps marketing statements indicates that this combination prevents the developer from “hitting a cliff” when progressing from a simple form design to more complex requirements such as a nested sampling design. The Bay Study Power App development team has substantiated this claim to a degree, finding it relatively easy to get up to speed when configuring the Power Apps form. See Bay Study Power Apps demo
9.2.2 Data Interface and Exporting
The seamless connections to either on-premise or online data sources is a notable feature of Power Apps. Users may initiate a Power App form by connecting to an existing database or starting a blank app. Another Power Apps feature that stands out is the The on-premises data gateway acts as a bridge to provide quick and secure data transfer between on-premises data (data that isn’t in the cloud) and several Microsoft cloud services. https://learn.microsoft.com/en-us/data-integration/gateway/service-gateway-onprem
An important note is the ability of the Power App Mobile components that supports exporting the ‘Collections’ on a mobile device to a standard .json file. This is a stand-out feature compared to Survey123 and Fulcrum, and can be critical when building in a back-up protocol for cases when internet data transfer is not available. The Bay Study Power App project included this option to export to .json because there are some survey stations in which internet access is low or not available See Bay Study Fulcrum App demo
A Power App form may be developed for a tablet or phone formatting, and the tablet format also works on computer screens (Apple or PC). Note that changing format between phone and tablet is not a build tool, but work around methods to transpose between formats have been developed. (find source)
9.3 Criteria Tables
For in-depth definitions of each criteria, see e-device comparison criteria.
9.3.1 Forms Options
Category | Feature | Available | Description | Group Notes | External Reviews |
---|---|---|---|---|---|
Data entry validation/QC | Geo-referencing | Yes/No | Power Apps is able to collect the GPS coordinates from the GPS of the e-device with a button within the form; Power Apps does not provide mapping of all elements like Survey 123. | ||
Constrained choices from a list | Yes | Choice lists can entered manually or can be read in from an external file located on the OneDrive or can be a table in an SQL db | |||
Rules guiding answer series (e.g., “Conditional Questions” and “Skips”) | Yes | Power Apps makes use of the FX coding language which uses Excel type functions, including an “if” function which provides conditional logic for guiding answer series based on responses entered. | |||
Constrained choices from an external table or set of rules | Yes | See above. The “If” function can be combined with range checks, minimum field submission checks, check for the format of responses. Error messages can be linked to these conditional field checks. The validity of a series of fields on a form can be checked using Form1.Valid command which could be linked to the submit button preventing users from submitting if data validataion fails. | |||
Form Version Control | Yes | Power Apps includes Versions within the Details of an app. Each Power Apps app has a release number; each version update can be annotated with comments; Each version of an app must be ‘Published’ for users to access and use and to generate a unique release number; Note: can only restore apps that have been created within the last 6-months - so maintaining older versions requires re-saving. | |||
Real-time Data Review | Yes |
Power Apps provides different tools for viewing data that is collected: A “gallery” is a control that contains other controls and shows a set of data. The gallery view is customizable and allows for conditional formating (colors for specific values..etc); galleries allow for images and non-text controls (e.g., buttons) to be included in the listing. A data table shows a set of data in a tabular format. “Data tables” are a quick data viewing tool that shows records without any configuration; column order and column subsets can be easilly changed and filtered. |
|||
Real-time Edit (“on the fly”) | Yes | Using the gallery tool in Power Apps, a user can creat an editible (Excel-like) data grid that can allow a new record to be added or changes or deletions made to existing records. Function called “Patch” can be build into each field of the editable grid in order to push edits to save dataset. Alternatively (and more efficiently), all changes can be pushed at once with a Patch query that lists all of the columns that may be changed. | |||
Ease of Form Development | Intuitive form design tool | Yes | Forms build in Canas Power Apps are built using an intuitive drag-and-drop editor where components such as forms can be arranged. The Canvas editor behaves like a combination of Power Point and Excel where one can configure an app with formulas that not only calculate values and perform other tasks (as they do in Excel) but also respond to user input (as an app requires). | ||
Coding language required? | No | Power Apps is intended to be a Low-code/No-code programming approach. This means that it uses commands that have built in functioning (Low-code), and several tools for menu-based Form development, and autmated AI assisted natural language convertersn “Co-pilot” (No-code). | |||
Different styles of question types | Yes | Radio control, toggle, date entry, rating, calculations, text entry, | |||
Flexibility to configure in a logical order for field entry (e.g., nested desgin) | Yes |
The gallery tool allows for a single data table to be split across tabs base on logical nested structure of the data collection. Alternatively, separate galleries can be created based separate tables within a connected SQL database; each gallery-table can be arranged in a logical order (within or across tabs) based on the nested study design. |
|||
Other IEP Survey needs | Permissions Management | Yes |
The 365 license Power Apps user is able to share an app through the Apps tab on the PowerApps home screen (click on 3 ellipses and a share menu opens; share using the email of intended user). Often Power Apps applications are built using Sharepoint as the data source, and Sharepoint based Power Apps are managed when a new form is initated (users are assigned and user status is set). |
||
Muti-users of an app | Yes | The apps made in PowerApps are multiuser. They each are their own instances so it does not matter how many users use it at the same time. | |||
Off-line capacity | Yes |
Power Apps is able to operate when off-line and a ‘power effect formula’ can check the on-line/off-line status can be used to direct data storage based on the on-line/off-line conditions. https://learn.microsoft.com/en-us/power-apps/maker/canvas-apps/offline-apps |
|||
User Accessability | Multiple-language options | Yes |
A couple of options are available for multple language apps in Power Apps: The app can be connected to the microsoft translator “connector” to translate the app into “any language”; Alternatively, app can be built in one language and can be translated locally using Power Automate flows. https://devoworx.net/multilingual-apps-in-powerapps/ |
This feature not tested by the DUWG subgroup trial of Power Apps | |
Font adjustment/ Speak-to-text | Yes |
Font adjustment is available. Speak to text has been demonstrated within Power Apps using the Premium licenses which can use AI services through Azure. Demonstration collects sound recordings and uploads to a cloud based converter. This sound data transfer can be controlled by a Power Flow routine. The routine includes conversion of audio file type from webm to wav format. |
This feature was not tested by the DUWG subgroup trail of Power Apps which was using the Power App license through the CDFW 365 subscription |
9.3.2 Data Interface
Category | Feature | Available | Description | Group Notes | External Reviews |
---|---|---|---|---|---|
Database interface | Cloud-storage | Yes | Different types of ‘cloud-storage’ services can be accessed within the “Power Platform”; OneDrive storage and Power Flows are availabel with the 365 license; Many other cloud based services/connectors are available with the previum license using Azure-based databases. | ||
Direct integration with database | Yes | Power Apps Canvas apps use ‘Connections’ to to a variety of data sources including Onedrive, Sharepoint, SQL Server; | In the demonstration Power App for the Bay Study, an SQL Server Authentication and connection was made using “on-premises data gateway”; The SQL Server is connected to an Access front end using SQL Server Authentication and user name and password; Power Automate is the tool that is used to connect from PowerApps to OneDrive. | ||
Integrate data from local tables | Yes/No | Power Automate is a tool within the Power Platform that can be integrated into a Power App; Power Automate Desktop does have the capacity to read files from the local drive. | Power Automate requires web access so is not a reliable routine if building an app to function while intermittently off-line. | This is a discussion about the lack of ability for Power Apps to read a file directly from the local drive: https://powerusers.microsoft.com/t5/Power-Automate-Desktop/Able-to-configure-Power-Automate-Desktop-to-be-used-offline/m-p/1210321#M5552 | |
Edit after transfer | Editing data ‘on-the-fly’ (data already submitted) | Yes | Power Apps provides several directly connection tools including connections to databases on an SQL server and lists Sharepoint. If a direct connection is set up, queries can be built in the Power App form to view and edit data that has already been pushed to the remote database. | In the demonstration Power App for the Bay Study, the SQL connection works very well and a reporting query and graphical display can poll data from the local collection on the e-device or from the remote SQL database. The same tool allows for edits to the local collection or the remote db. | |
Data format | Open (standard) format output | Yes | Power Apps can export data to multiple format types using the Power Automate (Flow) tool; Automate can generate .csv, pdf, html, excel and other types of files (also able to email data). Power Apps is also able to Export the Collections data on the e-device to a .json type of file which can be transferred to a back-up drive. | In the demonstration Power App for the Bay Study, Power Automate routine is used to export data as .csv files to the users OneDrive through a connection. Default export is the separate relational data tables based on the nested sampling design. A query can be added to the Automate export routine to format the data to meet the user requirements. | |
Data format logical / useable | Yes | The exported data formats are customizable for the users requirements. | |||
Data transfer | Real-time data transfer | Yes | Power Apps can be programmed to transfer data to a connected database automatically or mannually with a send button. Power Apps autmatically stores data in local ‘Collections’ on the e-device; these Collections are cleared after data is pushed to the remote database. | ||
Cloud connectivity & back up | Yes | Type of cloud connectivity and back up depend on thelevel of Power Automate license; The basic 365 license provide for easy connectivity to OneDrive using web-based tools; The Premium license provides many other Azure-base storage and processing tools. | |||
Data change logs | Audit trails (data version control) | No/Yes | Power Apps 365 does not have data audit trails as a built in feature; Audit trails are available in the “Managed Environments” included with the standalone Power Apps, Power Automate, Power Virtual Agents, Power Pages, and Dynamics 365 licenses. | Van had suggested a way to program logging of data changes as she does for another survey (what software; what approach?) | “Managed Environments is a suite of capabilities that allows admins to manage Power Platform at scale with more control, less effort, and more insights.” https://learn.microsoft.com/en-us/power-platform/admin/managed-environment-overview |
9.3.3 Photo Integration and External Sensors
Category | Feature | Available | Description | Group Notes | External Reviews |
---|---|---|---|---|---|
Photo Integration | Collect photo & assoc. with element | Yes | Power Apps has a Camera control function; for a Power App form in Canvas, multiple photos can be linked to a record without the use of a Power Automate routine. https://learn.microsoft.com/en-us/power-apps/maker/canvas-apps/controls/control-add-picture | In the Bay Study Power Apps demo, a photo button provides the option to upload a photo or document or take a photo using the camera on the device. | Other demos show attachments uploaded to a Power Apps form and added to a Sharepoint list without the use of Power Automate. |
Ease of interface | Yes | ||||
Multi-photo per element (and # limit) | Yes | ||||
Drawing-on/ Annotating photo | No | Power Apps has a Pen Input control that supports drawing a sketch which can be added as an attachment; but does not have the ability to annotate a picture (to our best knowledge) | |||
X-tern sensors | GPS from device | Yes | |||
Integrate data from bar codes | Yes | ||||
Integrate data from external sensors | In-progress |
9.3.4 Hardware Platforms
Feature | Available | Group Notes | External Reviews |
---|---|---|---|
Smart Phones and Tablets | |||
- iOS (phone and tablet) | Yes | The Bay Study demonstration app was run/tested on an iphone. | |
- Android(phone and tablet) | Yes | ||
Desktop/laptop | |||
- Windows 7,8,10, 11 | Yes | The Bay Study demonstration app was run/tested on an Windows 10 system. | |
- MacOS (computer) | Yes | ||
- Ubuntu Linux | Yes, but some features (“Components”) of form building will not work. | The PowerApps Component Framework can only be used on Windows. https://learn.microsoft.com/en-us/power-platform/admin/managed-environment-overview |
9.3.5 Security Factors
Feature | Available | Description | Group Notes | External Reviews |
---|---|---|---|---|
Where’s the application/product origins from? | International Company | |||
Is the application Cloud based, and if so, where? | The Power Platform service is governed by the Microsoft Online Services Terms and the Microsoft Enterprise Privacy Statement | https://www.microsoft.com/licensing/docs; https://privacy.microsoft.com/en-us/privacystatement | https://www.youtube.com/watch?v=80aK2_iwMOs | |
Where is the data being stored for the application? | Data collected by Power Apps is initially stored in “Collections” on the device; transfer to an external database on OneDrive or ShareDrive can be automated or link to manual button; These are Azure storage services | |||
Is the data center FedRAMP certified? | Yes; https://learn.microsoft.com/en-us/azure/compliance/offerings/offering-fedramp | |||
Online Security measures | See above link |
9.3.6 Business Model and Customer Support
Microsoft Power Apps pricing plans include subscription plans and Pay-as-you-go plans (see https://powerapps.microsoft.com/en-us/pricing/). Government plans seem to have the same pricing structure as the public plans.
Feature | Available | Description | Group Notes | External Reviews |
---|---|---|---|---|
Price (Option 1) | Power Apps for Government Plans |
The Power Apps per USER Premium Plan for Government’ is an app developer license which is approx $17/mo. The Power Apps per APP Plan for Government is the end-user license which is initiated when an app is shared with a new user. This license is approx $10/mo for each user |
https://learn.microsoft.com/en-us/power-platform/admin/signup-for-powerapps-admin#power-apps-per-app-plan | |
Price (Option 3) | Pay-as-you-go Premium License (non- Gov’t) | $10/Active User/month | Good when use is unpredictable, just starting, not used often. Connect through Azure account. | |
Price (Option 4) | Per User Premium License (non-Gov’t) | $20/User/month | As many apps as needed | |
Business model | Huge Company | |||
Technical Support | Not easy to get direct technical support; However, lots of resources on the web. |