Wherever you work, you’ve probably come across a crucial yet tedious task that made you wonder – “How has someone not made an app for this?”
In 2017, Microsoft released a solution to this problem: Power Apps – a tool for non-technical people to develop applications to help with heavily manual and mundane workplace tasks, improving employee productivity and satisfaction. Maybe it’s an app for keeping track of when fieldworkers arrive and depart specific jobs rather than keeping a notebook and logging into a system once they’re back in the office. Maybe it’s automating data entry to reduce errors often associated with manual data entry. Or perhaps it’s an app for time-off requests or expense reporting – processes that usually come with a lot of submissions and required steps employees must go through.
While Power Apps is a great resource and works well in many situations, it is not always the best solution. Power Apps makes easy things easy but makes hard things impossible.
While Power Apps come with a large range of capabilities, it lacks the ability for users to add any custom code to their application.
No customization
There is no ability to add any custom code (HTML, CSS, JavaScript, etc.) to the Power Apps framework. Out of the box, you can use themes for your app’s color schema, but you can’t easily create your own using CSS. There are certainly some workarounds, but it would be nice to be able to use CSS to build a custom style sheet. It would also be nice to be able to use a JavaScript library to format a date for display purposes and use it throughout the app, but you can’t do that either. You have to use the date formatting methods that Power Apps provides. Basically, what you see is what you get. So, if you don’t see the functionality you need, it can’t be added – unless Microsoft provides a new update to Power Apps.
No interconnectivity
While a Power App integrates well with other Microsoft products and has connectors for many other products, it cannot seamlessly connect to other Power Apps, leaving no easy way to navigate between them. You have to exit the current app, which closes it down, and open the other app you want to use. There are ways to bookmark sections of an app to make the navigation easier, but it is not user-friendly.
Limited interoperability
These apps also can’t tap into the native controls of a mobile device like a custom application would be able to. For example, Power Apps does allow an app to retrieve current GPS coordinates, but it would not be able to retrieve an estimated time of arrival between two locations, like Google Maps or Uber. Power Apps also can’t handle a swipe event on mobile devices, such as swiping to close an application or delete an email.
A big sell for Power Apps, however, is simple mobile connectivity. A company can create a single app that works on Android, Apple and browsers rather than building separate custom applications for Android and Apple, which are constantly at risk of breaking with every software update.
Limited collaboration
It is standard when writing code to have many people on a team working on that code at one time. Power Apps does a great job of saving versions and allowing you to publish the version you want so others can see it, which allows you to create your changes and keep them isolated from the “production build” until you are ready to publish. But you can’t have multiple people working on the same app. There is no way for Developer 1 to create a version that Developer 2 can then iterate on. There is also no way for two people to edit the app at the same time. The only way for two people to work on the same app is for one person to edit the app, save their changes, and then the next person can edit the app and save their changes. It’s not efficient.
Citizen developers
While Microsoft markets Power Apps as a tool anyone can use, which has created a wave of what are being called citizen developers, I caution organizations to manage these efforts wisely and with application developers guiding the way.
Say an employee used Power Apps to build an application that saved them a bunch of time when manually entering data from purchase orders. Word gets around the office, so people start copying that application for their own purposes that may be slightly different. When this starts happening, you have multiple apps that could be generalized to a single app with options on what to select, which would likely be much more useful to the organization. The moment an app is going to be used by more than one person or team for more than a single function, someone with a development background needs to take a look and make it scalable for as many users as the company could eventually ever want.
Of course, you can train your citizen developers not to make these common mistakes. But what I see as the ideal situation is to have citizen developers creating these apps that add value to their company and then working with the development staff to release the app company-wide.
Stingray vs. Raptor
The obvious question people ask is when to use Power Apps and when to build a custom solution. I like to think of it like this: If you are on a road trip and you plan on traveling well-paved roads through the woods, and you want to get to your destinations as fast as possible, you should use a sports car (might I be so bold as to suggest the new 2021 Corvette Stingray).
But if you need to go off–road and cut a new trail for any reason, a sports car would be completely useless, and an off-road vehicle would be a better option (perhaps the new 2021 Ford Raptor with the EcoBoost 5.7-liter engine).
Application design should be like choosing the right vehicle for the roads you’re going to drive on. You have to pick the right one for the scope of the project.
The main takeaway here is if you need an app to perform a simple task and everything is pretty standard without any customization, Power Apps is a great choice. But if you need an app to perform complex tasks that will require lots of customizations, a custom application would be the best choice.
Blueprint has extensive experience in custom-built applications and Power Apps. If you find yourself wondering how best to quickly develop an application to improve productivity and cut costs within your organization, let’s have a conversation about your business needs and how we can develop the best solution.