Many companies face a challenge when it comes to finding standard applications or services that can handle specific tasks.
Software developers are in short supply. Especially for small and medium-sized companies it is difficult to find personnel for the development of software. However, there is already a concept that can help with the lack of resources in software development: Low Coding (programming with a low entry barrier) for example with Microsoft Power App. With low coding, web and mobile applications are created by “citizen developers” (non-developers) with the help of building blocks and drag & drop.
With the ability to develop apps without the help of software specialists, the duration of development time can also be reduced. The reason for this is that Citizen Developers (non-developers) understand the requirements of the software better than an external developer, who can program very well, but must first understand the requirements. In addition, the developer is dependent on feedback from the client throughout the development process. Citizen developers, on the other hand, know exactly what the application must be able to do and how the app should look.
Microsoft has also recognized this advantage and has created a basis for low-code programming with the Power platform.
The use of Power Apps is particularly suitable when used as a connector between different data sources (Office 365, Microsoft and third-party products) and when developing prototypes. Power Apps can also be used to customize Office 365 or Dynamics 365 to your own needs.
When creating applications, you can either use templates from Microsoft or start completely from scratch. Applications developed with Power Apps are not standalone apps but are made available via a container app on mobile devices such as smartphones or tablets. Users download the Microsoft Power Apps mobile app (Google Play / Apple Store) and can then access all apps shared with them. Apps can also be integrated into MS Teams or pinned to the Start bar on Windows devices.
Example Dinotronic Apps for employees in Power Apps
Example Dinotronic Expense App in MS Teams
The use of Power Apps is particularly useful when used as a connector between different data sources (Office 365, Microsoft and third-party product) and when developing prototypes. Power Apps can also be used to customize Office 365 or Dynamics 365 to your own needs.
Canvas- or Model-driven App?
Before you can start developing your own app, you need to think about what you want it to do. There are two types of apps that can be created with the Power Apps platform: Canvas Apps and Model-driven Apps.
Basically, the two variants differ only marginally; after all, both are business applications created by non-developers and consist of similar components. The resulting applications often differ only slightly. The main difference is in the use cases and user control. One set of use cases is better suited for canvas apps, the other for model-driven apps.
Canvas apps are mainly used for mobile devices. There are only two layout options: Phone or Tablet (Portrait or Landscape). At the beginning, the Canvas app looks like an empty PowerPoint slide, hence its name “Canvas”. Any elements can now be added to the empty canvas (controls, actions, images, objects, etc.). Canvas apps are the true low coding applications. However, it is helpful to understand how Excel commands work, as this makes it much easier to get started. This type of power app does not rely on a specific data source and can use around 200 connectors to integrate existing data.
Example of use cases for Canvas Apps
- Mapping approval processes (vacation request / expense request).
- Onboarding for new employees
- Apps for service requests (ticket system
Model-driven apps follow a “data first” approach. They can generate data models and are therefore suitable for complex business applications. They are challenging to build and therefore require more technical know-how than a canvas app.
The basis of model-driven apps is always the data model. This can already exist in the Common Data Service (CMS) or Dynamics 365 or be newly created.
The resulting apps are primarily driven by the data and information entered, rather than by the user. Users therefore have less control over the functionality and layout as opposed to the Canvas app. The application adapts to the underlying data rather than the other way around (the data entered determines the result).
Power Automate (formerly Microsoft Flow) lets you create workflows between apps and services to automate time-consuming tasks and processes across multiple applications.
Like Power Apps, Power Automate is based on the so-called Power Platform. This means Power Automate has access to the same connectors as Power Apps. This means that cloud solutions can be connected to react to events or execute actions. For example, it can respond when someone is assigned a task in Microsoft Planner. As with Power Apps, Power Automate provides users with a wide range of templates to get started and spark new ideas.
Examples of use for Power Automate
- Automatic notification when a certain event occurs
- Mapping of approval processes
- Automatic storage of data in a SharePoint library
Power Automate – Flow Templates Overview
Individual flows can be customized individually
Is everything that simple? A self-experiment.
Because Dinotronic is primarily not dedicated to software development, we have paid little attention to Power Apps and Power Automate for a long time. However, even we cannot deny that the possibilities offered by a low coding platform are very promising. Therefore, we have set ourselves the goal to develop some applications for our own use and to gain experience with them, in order to be able to advise our customers competently in this area later on. As an IT company, we had not yet digitized our expense recording in 2020, so we set out to program an expense app. Via the mobile app, expense entries can be recorded for the current month. At the end of each month, the individual expense entries are summarized and forwarded to the supervisor as an expense request. The entire approval process and the associated changes to the entries were implemented with Power Automate.
Regarding our self-experiment, we were very euphoric at the beginning of the development phase and made good progress. The more extensive the app became, the more errors crept in. For easy troubleshooting, both Power Automate and Power Apps offer an error analysis function to quickly point out potential problems to the user. Unfortunately, the validity of these troubleshooting tips is not fully developed at this point and in many cases a try and error approach is needed to get to the bottom of the problems. We initially assumed that two of us would be able to complete the application in an afternoon within 4-5 hours, which was quite realistic from our point of view given the complexity of the requirements. However, we underestimated the effort it would take to get familiar with the tools first. But also the correction of errors whose source could not always be clearly assigned cost us more resources than expected. After several attempts, we were nevertheless able to provide a functioning expense app within a reasonable period of time, which supports our employees in recording their professional expenses.
Microsoft Power Apps and Microsoft Power Automate are powerful tools and have enormous potential to enable end users to create their own applications or digitize processes. The barrier to entry for non-developers is quite high in the current version, perhaps still too high for some. It takes a lot of effort and discipline to find your way in the world of Microsoft Power Platform and not everyone has the stamina or time to take this path. However, the tools are continuously being developed and we are confident that it will become easier for end users to develop their own apps in the coming years. But perhaps we are underestimating the ability of potential users.
We encourage anyone interested in developing their own app to take their first steps with Power Apps. Do you need assistance with this? Talk to us about it, we’ll be happy to help.