LOW CODE PLATFORMS – POWER PLATFORM

KOMIX

We decided we’d give it a shot. We’re gonna lay off all the developers and get our apps cranked out by receptionists. Great, we’ll finally be making software! And at a fraction of the cost of what it is now. We’re gonna go into low-code platform development.

Have you succumbed to such marketing talk? Fortunately, we haven’t, and we haven’t laid off any developers. But that doesn’t change the fact that the topic of low-code platforms is not uninteresting and we have been dealing with it in the company for a long time. I won’t bore you here with what all these low code platforms are and how to program in them, because there are plenty of tutorials and easily accessible information on the web. I’ll focus on one particular platform that seems to be increasingly promising lately, and that is Microsoft’s Power Platform. I’m going to try to answer one of the basic questions that first comes to mind.

 

What is it good for, anyway?

I don’t know how familiar you guys are with low code platforms, so I’ll cover it from a bit larger perspective. A low code platform simply allows you to code some type of task. Some allow you to create a wide range of applications, others are highly specialized in a particular area. WordPress, for example, is also a low code platform in a way, but it allows you to basically just click through, although a content and feature rich website and nothing more. Microsoft’s Power Platforms allow you to tackle much more general tasks, but still have some limitations.

I’ll allow myself a small interjection here. If you haven’t encountered Power Platform before, you should know that it is a family of several products. In addition to Power Automate, Power BI and others, it includes mainly Power Apps, which you will probably come across the most as a beginner. In the texts I’ve read, the term Power Apps is often generalized and used as a synonym for the entire low code platform. So I’ll continue to use it in that meaning as well.

And now I’ll get back to the question of what it’s useful for. I have tried to describe this as best I can in the following text. You can also use it as a checklist when deciding whether or not to complete somer order in this application.

 

In relation to the needs of the organisation

  • You want to solve an in-house process or similar task.

The most suitable applications for Power Apps seem to be: filling leave request forms, booking company events, expense logging, requisitions, solving onboarding, IT requests, helpdesk, tracking the status of tasks, providing information, tracking the workflow of company processes, attendance, approving expenses, reviews, tracking the workflow of a product, forwarding to the next stages of production, inspection records, notifications of individual steps, access to information for employees going “into the field”, support at the customer (sees orders, can negotiate them), support inspection activities on site (e.g. developer on site – creating an inspection report, adding video, photos, … )

  • You already own sufficient licenses (for example for office 365).

Purchasing licenses (they are needed for both developers and users) and paying for them regularly will probably be the biggest cost of creating the app. But if you are already paying for licenses, this is a strong argument for deciding to take this route.

  • You are flexible enough and able to pay the cost of the app on a monthly basis.

The cost of a Power Apps app is pretty much based on a fairly complex licensing model, where it depends on the specific app and its purpose. The customer must be prepared to pay for those users when the number of users increases. When new functionality is needed that is not covered by existing licenses, those licenses need to be added.

  • The application is not critical to you for speed and availability

I.e. uptime/high availability is not important to you. – You do not have full control over the environment where the application is deployed. The environment is constrained by a lot of limits, number of actions, requests, speed limits, … resulting for example from licenses. The environment is updated from time to time. New or changed platform functionalities are deployed on it. Therefore, it is necessary to take into account that some functionalities will not run very fast and will not always be available (even if only minimally). Applications where you would be bothered by a response time of even a few seconds are not a good candidate for Power Apps.

 

In relation to the user

  • The user must always be connected to the internet to use the application.

Power Apps are applications running on a Microsoft-hosted environment (in the cloud). Therefore, if you want to run the application, you must be connected to the Internet.

  • The user will be an employee of the organisation or someone from a clearly defined group of people.

Although Power Platform also allows you to create a portal type application where an anonymous user can go, due to licensing it is more of a system for a limited group of registered users who have purchased the appropriate licenses.

 

Functional requirements for the application

  • The application is supposed to be web based not a thick desktop client.

It’s not that it’s completely impossible, because there is a desktop application for Power Apps for Windows as well, and under certain circumstances you can be offline, but the path is not completely simple and easy.

  • The app is supposed to be available for mobile devices.

Power apps makes it easy to create an app for mobile devices, without any extra effort or need for knowledge of mobile platforms.

  • The app does not require special functionality.

With all the functionality, you have to fit within the options provided by the licenses, which set certain limits. For example, uploading files over 50MB is not possible. Other limitations are in the user interface, etc.

  • The application should be as secure as possible.

Within Power Apps, security is much more assured, proven and tested compared to making such an application yourself. There are also various administrative interfaces where you can monitor what is happening within the system. It would take a lot of extra effort to program something like this in a traditional development. In addition, Microsoft continuously monitors new trends and application threats and responds to them by incorporating appropriate measures into the platform. So it monitors and updates the security of your app for you, even after it’s developed. This is something that doesn’t happen on its own with most classically built systems.

 

Speed of development

  • The main purpose of development is to quickly design a less complex application.

Fast design of applications with less complexity. Power Apps are not intended for creating large complex solutions.

  • You need to quickly create an application with a relatively user-friendly interface.

Without UI/UX knowledge, you can create an app that doesn’t look like it’s “made by a programmer”.

  • Quickly create an uncomplicated standard UI.

If the customer wants something highly non-standard, requires precise placement of individual controls, or wants some elements that you would have to customize to meet their requirements, then Power Apps are not suitable. CSS and JavaScript, for example, cannot be used.

  • You need to reduce the cost of the development itself.

Either its cost or development time. For this, Power Apps are ideal. They are paid monthly, but new functionality or changes to existing functionality can be clicked faster than standard development.

 

Progress of development

  • Development can be performed by one developer, it’s not something for a big team.

The application developed for Power Apps should be rather small scale. The Power Apps environment does not provide many options for supporting work in a larger team compared to traditional development.

  • It is not necessary to use the advantages of classic IDEs during development.

Power Apps are developed in a browser, where there are limited options and it is not completely user/developer-friendly.

  • There is no need to have classic application code.

You don’t get the source code from Power Apps that you are used to from classical programming. However, some customers in their inquiries require directly handing over the source code of the application, which becomes their property. This point is probably not too critical, but it is still advisable to align mutual expectations in advance if you choose Power Apps.

  • A more versatile individual will do the development.

Power Apps reduce the need for developer time. On the other hand, since most of the time smaller scale applications are developed by one person, s/he should have enough business knowledge and analytical mindset. However, he should also be a bit of an architect tester, capable of self-tasking and self-directing.

  • No need to deal with code reusability.

Writing some libraries of shared methods and functions is not supported. The ability to create reusable units is at a higher level.

  • You don’t run the risk of having conflicts when writing the application in code.

If multiple developers should be working on the application at the same time, they need to schedule their work in advance. It is not possible for two to work on the same thing at the same time. Code is usually written directly to the individual elements that make up the application, and then if someone accidentally deletes that part, you lose the code. Since there isn’t much support for versioning, it has to be re-written afterwards.

 

Operating environment

  • Controlled releases and updates are not required.

In Power Apps, you cannot make a package like in traditional programming that is subsequently deployed. Basically, changes are only made directly to the environment.

  • There is no need to have full control over the environment.

There is a possibility, and it was said to have happened before, that when Microsoft installed a Power Apps upgrade, in some cases it resulted in “breaking” a previously working application. But the question is whether this was due to Power Apps or poorly chosen application procedures.

 

Data sources

  • The data in the application will come from different data sources.

This is where Power Apps gives you a big advantage (if you purchase the appropriate license). It offers a wide range of data connectors to different data sources. Instead of complex development and debugging, you are then connected to them with just a few clicks.

The application is intended to be integrated with Microsoft environments (Dynamics 365, SharePoint, Office 365, …) This is the intended purpose and advantage of the Power Platform.

 

One final warning. As I have already mentioned in the text, Microsoft is constantly adding new features and improvements to Power Platform. For example, over the past year, the range of building blocks available to the programmer has expanded considerably (even those you would pay a lot more for in standard development). Other functionalities are also gradually being added. So it’s possible that by the time you read this, Power Apps will be doing much better again.

  • 19. 1. 2023
Qinshift