Recently we have been investigating the use of Microsoft’s Power Platform to deliver solutions on an enterprise scale for our customers. In my last blog, I covered the viability of Power Automate as an RPA tool for large organisations, demonstrating the ways in which the platform has matured in the past year or two. This time around, I’d like to explore Power Apps, yet another tool within the Power Platform that is making inroads in the low code application development space. Although no one tool can ever cover all your needs, I’ll outline below five use cases where Power Apps can be particularly useful for solving problems and streamlining operations across the enterprise, as well as a couple of areas where I would recommend exploring other options.
Overview of Power Apps
Microsoft Power Apps is a platform that enables both business users and professional developers to quickly and easily build applications that can be deployed across the enterprise. As one of the tools within the Microsoft Power Platform, Power Apps was designed to work particularly well with its cousin Power Automate, which can be used for desktop and workflow automation in the cloud.
Power Apps uses a low-code, drag-and-drop web-based development portal that makes development considerably faster and easier, and this is the main benefit of the platform. Whether the goal is to meet an immediate business need or increase your IT productivity by leveraging the low-code development environment, Power Apps brings a unique offering to the development market.
Power apps allows users to create three types of apps:
- Portals which are external facing websites allowing authentication and interaction with business data
- Model-driven apps provide a component-driven approach to app development which requires less code, but are not as customisable compared to canvas apps
- Canvas apps provide complete control over the layout of the application while still allowing it to be build in a drag and drop, low-code environment
You can see from the above application types that there is a lot of room to solve business-facing challenges, but also some slightly more complex ones as well. Below I’ll run through some of the best use cases for Power Apps in a business, with some more specific examples scattered throughout.
1. Rapid Delivery due to Changing Business Circumstances
It’s no secret that the past year has tested how fast IT teams can deliver on solutions. Being Low Code, Power Apps can help reduce time-to-market on applications in two ways. First, there is less code to write, test and manage. Second, it increases the number of people who can participate in the building of solutions. Business users and SMEs (‘citizen developers’) are generally much closer to the processes in question, and there are also generally many more of them than professional developers. This means that getting them developing can not only decrease the time needed to transfer that subject matter information (and decrease the chance of miscommunication), but also increase the speed of delivery and the number of unique ideas that come through.
There are a number of examples of how this rapid delivery allowed businesses to create solutions in response to the pandemic; many of these revolve around applications to provide and collect information about the pandemic and people’s health status, but there have also been applications developed to enable faster approvals of emergency loans for small business and even track COVID-19 in public schools.
2. Lightweight, Cross-Platform Applications
You may find it surprising, but we still come across systems used within enterprises which are only accessible using a specific browser or only run on a particular operating system. While enterprises may be able to justify this in some situations, in general there is a desire to create applications which are easily accessible via as many platforms as possible without having to maintain multiple versions of the application for each platform.
Applications created within Power Apps will run natively within a browser and can also be run from within the Power Apps mobile app (which is currently available for both Apple and Android devices). By providing a common platform, this reduces the time spent on attending to differences between various platforms or browser quirks, ultimately reducing the time-to-market and improving user uptake.
3. Apps that need to Integrate with Other Cloud-Based Services
The modern enterprise is likely to have a whole host of cloud-based applications and data sources, meaning any new application needs the capability to link in with this environment. One of the best features of Power Apps is that it provides relatively seamless integration with other cloud-based data sources and APIs via an ever expanding list of connectors.
The integration with Microsoft’s other products is also excellent. When using Power Apps, connecting to services such as Azure, Dataverse, Office 365, Sharepoint, Teams and Power Automate is as simple as specifying the connection details (such as credentials to be used) and using the operations exposed by the connector. For example, if a table within Dataverse is added as a data source, it can be used within the app to perform filtering and lookups in addition to creation, update and deletion of records (all within defined security permissions).
The takeaway from all this is that if you’re a business already running heavily on Microsoft, or you want to fit your new application(s) into a cloud environment quickly, Power Apps could be a good choice. The added simplicity of Power Apps’ connectors allows faster development, easier management, and ultimately a competitive time-to-market for your application. Should it be necessary to connect to other sources for which a published connector doesn’t exist, custom connectors can be created to fill the gap, although this should be seen as a task for more seasoned developers.
4. Apps Requiring Approval Workflows
In many internal business scenarios, there is a need for requests raised by employees to be reviewed and approved by one or more of their managers – for example, leave requests, timesheet approvals, expense reimbursement and travel requests (if/when travel restrictions are relaxed!).
Through the seamless integration between Power Apps and Power Automate, it’s straightforward to incorporate approval steps (within Power Automate) into a Power App. Approvers can be notified via email and/or Teams and can action the approval task directly from the email/Teams notification or via a dedicated approval centre.
For these kinds of use cases that require the ability to reassign, provide comments and maintain an audit of decisions taken, the combination of Power Apps with Power Automate may be a great option. Additionally, companies who are already utilising Azure AD within their business can make use of the out-of-the-box connectors for performing manager lookups.
5. Need for Mobile-Focussed Apps that can Utilise the Device Hardware
When run on a mobile device, model-driven and canvas Power Apps are able to fully utilise the features provided by the underlying hardware. The options available include:
- Using the camera to take photos, video or use as a barcode scanner
- Using the microphone to capture audio
- Using the touchscreen to capture handwritten notes or signatures
- Accessing the device location
- Accessing the device acceleration/motion details
These added capabilities allow developers to better solve problems and improve user experience within their applications. For example, an app created to assist electricity meter readers might enable users to take a photo of a meter directly within the app and have it tagged with the GPS location of the device. The AI Builder (another component in the Power Platform suite) might then be used to automatically extract the meter reading from the captured image enabling the automated issuing of a bill to the customer without the need for the human user to manually record this information. The end result is a more efficient process with less likelihood of human error.
When Not to Use Power Apps
So Power Apps obviously presents some great advantages in a business setting. But, as we always say, no technology or tool is a silver bullet, and there are still a number of situations where I would recommend exploring other technology options.
One of the most glaring of these is that Power Apps works best for internal-facing applications rather than consumer apps. While it is possible to share Power Apps with users outside of the business (those being anyone outside your Active Directory), they will need to be assigned a guest license and things quickly become complicated. Focusing on creating apps for internal business users is definitely the simpler approach.
It’s also worth noting that, being a low code environment, Power Apps may not be the most appropriate technology choice if you are looking to build complex applications. In Power Apps it is very easy to create a simple app quickly but as the complexity of the app increases, it becomes more difficult to manage.
Another thing to be aware of is that Power Apps is a completely SaaS offering, meaning you have no control over the availability of underlying environments. While one would expect the environments to be very stable, in my experience there have been times when the rollout of changes to the platform have caused platform wide issues for hours at a time. This is another factor which should be taken into consideration if you are looking to deploy 24/7 business critical applications.
It is also worth considering whether the out of the box connectors will fulfill all (or at least most) of your integration requirements. Each custom connector that needs to be created will result in increased development and testing effort being required. You should also consider if the connector capacity limitations will be suitable for your solutions.
Overall, Power Apps has absolutely established itself as a unique tool in the enterprise environment, particularly for businesses looking to create simple, internal apps for efficiency, knowledge transfer, or process automation. There are certain drawbacks and I would recommend its use largely for use within the business, but it does have a solid place in solving enterprise problems, particularly if Microsoft continues its current pace of improvements.