Reviewing Microsoft's Power Platform

Published on 15 May 2022 at 14:37

“Character is power.” –Booker T. Washington

 

Introduction

 

I have to learn about the power app family of tools and therefore I am making notes and planning to put them on my blog. If you read anything here and are interested in these services, please reach out. The Power Platform is big it really is an ecosystem of different tools and it is constantly changing a real challenge for me has been to stop and gain an appreciation for its nature in totality.

The power family of apps naming is a little confusing you have the Power App, Power Bi, and Power Automate (formerly known as Microsoft flow).

The Power Platform is billed as a low code or no-code solution to let businesses build their solutions. I am a developer who has mixed feelings about no-code solutions in that when they work and I have my business analyst hat on I prefer the ease of use and agility afforded by such tools but sometimes graphical interfaces are just not as exact a tool as written code. 

Power Platform is what I think of when building my website I know I could code something up. I don't think it is worth the time it would take to build something better than to use the available tools. The power platform is this except adding in share point, automation tools, and business intelligence tools.

The full flow could be a power app could be set up that say for an expense a power app could be created. This power app could have a form to fill in with a link to the device's camera to take a photo of the receipt. The receipt when submitted would generate a power automate a process that saves the data produced from the flow to the share point to keep a record while another power automate can be automatically triggered to begin an approval system to confirm or reject the request.

The benefit is this could be anything, time off from work, credit card transactions, HR and jobs, and many more. Now the reality is that you could always do this but there were far too few fully-trained developers to allow businesses to fulfil this need. The effect is to move the creation of many of these automation requests from something controlled by IT into the business departments to make the response for change more agile.

And who doesn't like agile?

 

Broad Overview

 

  • Power Bi is for graphs and sharing insight
  • Power Automate allows you to build your automation
  • Power App lets you build web forms

 

All together this builds a lot more functionality than you might initially think possible. 

 

An Overview Of The Apps Ecosystem

 

Power App: Think forms, except they are there on your phone or website. Power App is about a set of input fields and dropdowns creating a web-based form. This can be done quickly and simply by either adopting a ready-made layout then personalised by a theme or manually clicking through the design and manipulating the simple Power FX language that treats objects from the user's identity to stuff got from a previous page as things to be played with and input on the form or otherwise passed between different sheets. When finished power automation can take the data from the form and save it how you want. 

Stand Out Features

  • Ability to link phone to take a photo in-app and then manage what is done with that photo using Power Automate.
  • Mobile-based forms for employees to complete forms.
  • You like forms? What company doesn't like forms well this makes forms and then automates what happens with them using Power Automate. 
  • Pre-built UI packages streamline development. 
  • All built by simple drag and drop.

 

Power FX: The language behind Power App and with which we will build apps. I like the whole philosophy of design and is designed to appeal to users of Microsoft Excel over C++ programmers. This is only a good thing as it works on basis of a series of function calls but falls apart where no function call exists or you need speed and a bespoke implementation would let you simplify the processing. Though this limitation can be solved by using YAML source files. In deference to the low code philosophy, I have not found any code shown that is larger than an excel function.

 

Power Automate: Allows automating tasks using a range of connectors.

Create a flow to automate a process; a joke that I will make time and again in introducing these apps is it is all in the name. Power Automate works by creating a flow and previously was called Microsoft Flow before the Power rebranding went into effect. 

Stand Out Features:

  • Authorisation flow: create a process that links to Power App or SharePoint lists and automatically will send an email to approve or reject a change. Great for costs, time and anything with approvals and checks and balances. 
  • Can include AI (Paid Feature) want to include a check that looks at a photo and detects if it is a cat or a dog and rejects if it is a dog? No, I didn't think so but it's there and the fact that you can customise and train your own AI will mean I am certain you will eventually want to use it and the limitless possibilities will mean at some point you're going to try it.

 

Power Bi: Is used to build graphs and visualisation.

Microsoft's answer to Qlik and Tableau is Power Bi. If you knew of one of the tools on this list it is likely to be Power Bi. Power BI is all in the name or more specifically the BI that stands for business intelligence. Business intelligence as Microsoft sees it is taking data and creating dashboards of graphs easily by use of its simple GUI process. I am a QlikView developer originally and made double digits and worked with triple digits amount of dashboards at one point in what I think is a fairly mature process.

All the normal tools for a Business Intelligence tool are available concatenation, left and right joins. Though the use of them is available through a right-click or selection from menus and different visual tools. There are two lang0uages embedded in M which stands for Mashup and DAX as data analytics expression. M is the same Language as used in Power Query and it is what pulls data into your model while DAX creates calculated columns and so is used to manipulate the data when imported. 

Power BI has its mix of terminology and in some cases reinvents the wheel from the ETL perspective. 

I have mixed feelings about how easy Power Bi makes things with its GUI. On one hand, any excel user can now build a professional dashboard on the other there are things that I can do in a programming language which I would struggle to do in Power Bi it is not that I think it can't be done it is more knowing one programming language gives you a generalised appreciation of how to code in any is needed is to google the functions and syntax. Power Bi would see flipping between the GUI and the DAX language and that is not necessarily an extra difficulty but feels as if then forced to flip between different mental models of development and I am somewhat put off if asked to build complex projects in Power Bi because of it. 

That being said even QlikView became Qlik Sense and adopted this low code ideal and I can begrudgingly accept that there is a benefit to opening up access to more people is an unalloyed good; I just would have preferred if there was the option to script the solution end to ends like Qlik Sense and the language would not be Dax or M which having learned C++, Python, SQL, VBA and a certificate in Java I prefer not to speak about; I am resistant when Microsoft builds a new proprietary language in their tools and expects me to learn them.  Split into power BI desktop Power BI makes it easy to create an app in the desktop version and launch it onto the cloud services available for all the organisations to see (who will also need a licence).

Some Stand Out Features

  • From Example: You can type into a box and natural language processing will try and figure out what you intend and write a formula that will do that.
  • Clean, Model and share data in one place. Or in Microsoft speak Discovery from Data, Modelling data etc. I'll talk about Microsoft's use of language.
  • Talks to all the other things on this list and more so after building all your automation can begin looking at reporting requirements potentially in the same project. 
  • Maps: build maps in power BI to show data. In excel they never had maps so many business users will find new business cases that they haven't seen before.
  • Simple method to import data visually interact with it and create graphs and then deploy to cloud.

 

Power Virtual Agents: Chatbots that can be built into the power platform. I so far have not figured out how you make these tools available to external users. I am therefore not quite sure what role an external chatbot plays. Both this and AI builder use Microsoft cognitive services The bit that seems most impressive with these tools is it is not just chatting there is the potential with Interactive Voice Response (IVR) for them to talk. This appears to be a potential revolution in customer services 

 

AI Builder: Let's you build AI from neural networks to decision trees. I was disappointed the one time I could come up with an interesting use to find it was behind a paywall.  The offered options are binary classification, text classification, object detector, Business Card Reader, and Form Processing, These all sound great but I don't have any basis to compare them to Scikrit learn, Pytorch or anything else. 

 

Data Connectors

 

The secret sauce that seems to run through all the apps is easy connections. The list is too large to go through it and do it justice I think you should look here List of supported connectors | Microsoft Power Automate.

This is the most interesting part of the Power Platform the business case does not seem to be reliant on the strength of any single offering but on the ease by which they can be connected. Databases can store data, Information pulled from websites and then passed between the different apps.

There is also a moment the penny should drop here that many of these connectors are third party tools and not just data tools. There is not just the option to move data between a suite of Microsoft tools there is an option of automating going to Twitter and other social media getting all the mentions, inserting them into a table, and passing them to an AI chatbot who then will generate a response add to another list with an authorisation request for a worker to check and post the response. 

You could in theory build this with these tools. If afterwards the AI would start saying things you find problematic then who knows. 

 

Some Stand Out Options

  • Various Amazon connectors.
  • Asana for project management. 
  • Everything about Azure, and all the obvious data lake options. 
  • Range of bot and AI tools.
  • Various crypto blockchains and investment systems, want to automate wasting your money?
  •  Send SMS
  • Computer Vision Systems
  • GitHub
  • Social Media such as LinkedIn and Facebook.

 

Honourable mentions to be part of the power platform universe

 

These tools are not part of the Power Platform per se but thanks to the range of connectors they deserve a mention as prospective tools because the use of data connectors let us use them as if they are part of the platform. 

 

Data bricks: Not really part and parcel of the power platform but I have encountered it before as part of the same stack so thought to mention it and shows the versatility gained when these tools are made to interact as you can prep data as daily jobs in data bricks then load into power platform. 

An easy notepad style way to write code in SQL, R, Scala, Java or Python to do data extraction and cleaning for onwards processing. Let's be honest a lot of the above assumes that the data will sit in these flows or on share point but the true reality is that most businesses will inevitably want to put the data into a full data lake for long term management even if simply for security and GDPR some data does belong here. Azure data bricks are the tool to get that data back out and de-normalise it back to a useable structure. Data bricks use spark so is a fully cloud-based solution where you buy processing time for running your queries that are then available via API to get the data. 

 

Azure: While there are enough connectors to get the Power Platform connected to a whole list of databases it should be noted that Microsoft also makes database services. It is fairly modern so if you were thinking of updating your back end here is a tool to do it. 

 

Teams: I like teams, It is only when you write this type of blog you realise how much a tool can the communication style of a generation. WhatsApp, Teams, and Skype have undoubtedly changed the way a generation views communications at work.  Microsoft mentions using teams about Power automate for proactive messaging. Ever wanted internal chatbots sending messages to staff? No, I am sure like me you hadn't thought about it till I mentioned it... but yes you can do it.

 

Uses and stand out features

 

Web Scraping: There are a host of different connectors many do jobs of connecting to databases and other legacy systems though a few do the job of pulling data directly from websites and this might be a capability that many businesses did not have before adopting power platform. I do not want to pull data from a web CSV and would not want to because the connection could break but it might be a useful skill for others. 

Automating Processes: The obvious one a lot of businesses especially big businesses have processes fragmented across multiple tools and legacy systems. While not certain 

Maps: It is surprising how many business users love the maps feature. I think this is mostly because it is not available in excel.

Cloud Replacement For Access: I have a feeling but have found nowhere it is outright stated but there is a use case in many businesses of building light access based databases. I feel that Microsoft has here built something that meets and exceeds the typical business case for access.

 

It should be obvious that everything we do now is web-centric. In simple terms, the power platform feels like a solution built like a great set of tools to do everything from front to back end using a much lower level of developer skill set than full web development. The most powerful feature is the ability to mix and match these different apps. A reporting tile built-in Power Bi can be added to a Power Apps form to inform users, power automate can use nearly anything as a trigger.

 

What it does not do:

 

  • It does not replace excel which is still seen as the way most users will interact with data. I don't think many people will seriously ask this but someone might think of it as similar to excel especially if they use VBA a lot. 
  • I cannot see a way for you to put this all on the open web for customers and therefore limited to big organisations that could benefit from the automation of internal processes. I can understand this current limitation given GDPR and data protection rules why we wouldn't want the same publish quick automated processes to be used for customers' data. 

 

Share Point: I have often thought about Share Point as a dumping ground for documents. This is not true there are additions of building lists and forms in share point and sometimes I was unsure on whether this encroaches into what Power Apps is meant to be doing as when we get to Power Automate a lot of the automation options will pull from SharePoint or Power Apps. Though what I think is the main obvious difference is SharePoint is designed to store documents and the less noticeable difference is Power Apps is set up for mobile work. It is probably in the name again Power App is intended to be the app on your phone for forms or web and Share Point you share documents but between that there is a lot of surprising overlap because a lot of things like forms or lists are features of SharePoint so if a team is using SharePoint already it might be you can use this with automating instead.

 

Stand Out Features:

  • Stores lots of documents on an easy cloud setup.
  • Power Automate allows interaction between those features to automate approval processes etc.

 

Uses And Abuses Of Language

 

And it is around this time I came across a pet peeve about how Microsoft uses language around the Power Platform tools. Power Bi talks about data wrangler, data analyst, collaborative user, and data stewards and I feel most people know this personnel as business analysts and data engineers respectfully and some don't seem to match any title or normal business function. Largely this is not that outrageous but as someone trained in ETL terminology (Extract Transform Load) every so often it is a bit jarring. 

An online web course started referring to reducing data ambiguity instead of data cleaning. There are places where older terminology is used and other times where suddenly it is changed for Microsoft's ideas and it is consistently used which indicates the changes are intentional but sometimes seemingly only by Microsoft. 

I think this is because Microsoft is aiming at an end to end process that models and theories how the average business should interface with their data. This is a laudable effort but sometimes jarring and unnecessarily breaks from the terminology found in academic textbooks on the same subject. I am also certain I would not like the Title Data Wrangler on LinkedIn; ironically I have already had this discussion with a Microsoft employee and I am not sure my suggestion of Excel Monkey, SQL Ape and Python Wrangler for Data Analyst, Data Engineer, and Data Scientist respectively; was well received either... I hope we keep the old job titles.

So I am not sure if Microsoft has always been helpful sometimes it's a need to try and make things easy to explain changes in terminology which ironically makes it hard to explain and find people with that job title. 

 

Case Study

 

There is no shortage of partners willing to tell you how good the power platform is T Mobile did it Microsoft Customer Story-T-Mobile adopts Microsoft Power Platform for fast and powerful low-code development. The problem is that I am not certain how reliable they are. I have also delivered projects using different tools in the Power family but always got a sense that it was difficult to decide if I was dealing with something special compared to other offerings which lacked the Power Platforms list of connectors and well ambition. 

The Case studies I have seen are based on individuals saying how easy it was for them to cod in it and therefore focus on the benefits of the low code nature. The standout tool for T mobile study highlighted Power Apps the most about security compared to keeping data in excel. There is a consistent messaging about bridging the gaps between business and developer but admittedly all of those being interviewed many are mentioned as having a computer science degree.

Therefore one of my reasons for being distrustful of low code solutions is I can't find any examples of people with absolutely no coding background spontaneously developing enterprise-level tools. It does seem to be people with a development background deploying tools still.

 

Costs

 

“Traditionally we could do something either right, fast, or cheap. With Power Apps, we can do all three.” Cloud services manager, beverage distribution - reference [1]

 

The main case study found on costs came from here https://go.microsoft.com/fwlink/?LinkId=2126953&clcid=0x0809.

 

It is hard to find a single point for the costs of all the different tools Microsoft offer. There are sites with a list of different software they produce but not a single spot for prices. It roughly seems to be $5 an app or $20 for the Power Platform both per user. That seems deceptively low for the potential return on investment but likewise, some of these tools may come with additional costs and there is more than one website (seemingly 1 per app) that mentions a price plan. 

An example of the costs breakdown is available from Microsoft which estimates a 74% drop in the cost of app development (report in further reading). 4.3% increase in revenue and 132,000 work hours saved by year 3 after implementation. 

Looking at Fiverr there are offers for building a website for £50-£1,000. I have often used Fiverr as a rule of thumb for estimating the cost of IT projects by looking to see what similar offers exist but I am uncertain whether these types of web pages would manage the type of process automation being offered by Power Apps. Microsoft's report's estimated costs of development cite direct development by IT already overworked by a long workflow. They also state the comparison with IT 3rd party products.

Though when trying to compare with tools commonly used by IT I can find many options around £30-£40 so let's call that $35-$50 and that is for a single tool and the Power Platform is a platform of tools that should essentially be all you can east. 

There might be some false equivalency there you still have to then build the app and while in most cases it would appear simple enough it might be $50 a user is a better spend than worrying about building anything. That being said I think most businesses can find a use for the Power Platform if they look hard enough all that is required is to find an automation project that justifies that spend.  

It is clear that the cost is cheaper than comparable software as a service but I am not convinced that it would be cheaper than every solution built by yourself as web hosting is very cheap and therefore if developed once and right a £1k website being hosted at £1 a month will inevitably be better money than £3.99 a month per user eventually. Though that being said there are not many websites that get developed once and are never updated and so the 74% drop in costs might be correct even in the long term and assuming the project was managed correctly from the very beginning and no errors were made. 

In summary, you can probably know how to do it cheaper if you are a coder by writing and doing the maintenance yourself but not otherwise. It would seem probable that a small team of users could set up automation workflows that save the greater value in time and money than the cost of themselves and their tools but the intelligent business analysis would be required. 

It might be tempting to believe that this could be used by only a small number of staff could be used and this could be true but anyone who needs to use the resulting app will need a minimum licensing level. Likewise, there might be ways to share outside the organisation (Power Bi has some features) but it does not seem the power platform is a replacement for customer-facing websites and is more an internal automation stack though I suspect Microsoft will be thinking of this as it is clear that security and GDPR are baked into many features of different tools. 

Reading across the various messaging some key points emerge as what the target audience is.

 

  • Where IT has a backlog.
  • In a big business where moving app development from IT is a benefit.
  • Likely not a small business with its website.
  • Where lack of developers is a concern.
  • Where agility and speed of deployment are a concern.
  • Cheaper than most bespoke options.

 

You can see then why when the preferred customer is a big business with burgeoning internal processes in need of automation why the licensing fee is built on a per person per month billing. You could imagine one day building all these in code to cut these costs further but from experience, I think the reality the target demographic will be changing their processes often enough to continue to use these tools. 

It is fair to say that covers most businesses I do think it is possible to find an example business that will find it cheaper to buy a server and build it themselves or a business that prefers a specific feature within a different offering; it is clear that the price for capability if used to its full capability is compelling. It seems this is a tool for big businesses.

 

Criticisms

 

  • We are essentially embracing shadow IT by giving tools to build web forms and various tools to departments outside IT. It is unlikely that these objects created are intended to solve problems lacking in the central information systems. That being said it seems designed to mitigate these drawbacks.
  • It is not useful to external customers and therefore the business case being key a question will need to be asked about making sure it is useful, it seems likely it can build anything with it but most developers can build anything with a language of your choice the question should be asked why this tool? The obvious retort from Microsoft is that it lets you build without the developer might be good enough but you should ensure you engage with the mental exercise of looking into it as a cost-benefit analysis.

The thing with these two criticisms is it is a young tool and does not have the development history that says excel has likewise as a cloud tool it is well placed to see increasing centralised oversight which would allow this to be overcome. I also infer but have no way to justify this guess that a target audience may be government or business which is big and has lots of processes.

I also find I get excited about a new feature to take this Process mining blog post  Optimize how you work with RPA and process mining in Power Automate | Power Automate Blog (microsoft.com); does it sound cool yes. Do I know it has something to do about Power Automate yes, do I know what it is and how to use it... err No. And this seems a problem for an ecosystem that is billing itself as removing the need for developers then it would appear to require knowledge and skills to identify the benefits and how to use these new tools and what do you call that other than a developer? If so does that not defeat some of the points?

This holds less so for some tools such as Power Bi and Power Automate which I think not every company wants to hire a senior Python Django specialist or a Java Web Developer just to create a form. Though Power Automate in particular doesn't have a programming analogue all Robotic Process Automation (RPA) tools seem to have a similar offering.

There is also I think a barrier to low or no code in that code does help you think about programming correctly. I rarely have to programme in C, C# or C++ but when I recognise a project that needs C++ it is hard to use anything else because the discipline imposed on the practitioner by creating header files and declaring variables has benefits that aides in thinking about the code correctly and avoiding mistakes. I am not certain therefore that low code does the art a disservice and its for this reason that Python at one point changed how strings were concatenated because it was felt new users needed to get over that understanding and the enforcement of certain norms rather than stopping shortcuts enforce positive behaviours.

It might be low or no-code solutions might not be that beneficial if A) it does not aid in practitioners expressing themselves because the low code medium itself is less expressive. B) it seems obvious that some skills are required to develop a solution no matter how much we work to simplify the process and low code will only benefit the business if it delivers code fast at a cost lower than previously. This seems to be the case but it should not be assumed as a given. 

Therefore I think these criticisms can be applied to low code and no code offering in general but probably highlight the strength of Microsoft that they are offering you a fairly big package deal here that includes several tools and the connectors let it talk to many more. So ironically it is in pondering the criticisms of Power Platform we get to the point; Power Automate  

 

Comedic Elevators Pitch

 

I genuinely think the best way of summing it up might need to be a bit tongue in cheek...

 

The power platform is not just a single app but an ecosystem of modules intended to be a full-stack. Though built from the ground up for what Microsoft calls citizen developers. As a developer I am not sure what army I joined; I prefer the phrase "full-fat developer" versus "developer max". That being said Microsoft is right... putting the elitism and coke cola metaphors aside power platform tools will help more people access the benefits of automation and dashboarding. 

You can start using it for free. Two business models refer to its customers as users and Microsoft adopts the obvious model of providing a free taste.  There is hidden within all these free goodies through a clever business choice by Microsoft in that you can start using for free, the most interesting tools are hidden behind a paywall which will use cloud computing that you will be charged for. That being said unlike the other business model that calls its customers users, this is very cost-effective. 

You are going to want to hate it, it comes from Microsoft after all; that being said many data lakes are misnamed becoming increasingly data tombs where plenty of legacy systems are barely understood by the IT departments servicing them and shuffle data which might never get used by the business again. Lowering the bar to accessing this data which is what the Power Platform appears aimed at is a timely and welcome tool for many businesses. I may want to call its user's diet developers less skilled in the noble pursuit of code, but ultimately for most requirements, it will create solutions quicker than the full-fat programming project. 

Diet IT, half the calories...but finally, I have two concerns about which I haven't made up my mind. When taught project management I was taught the theory of constraints and it appears Microsoft has assumed that the constraint is having enough developers I am uncertain if in truth for many businesses the problem might not be IT but a lack of Data Analysts and Business Analysts in the business department to document the needs of the department to implement these things. 

The Power Platform appears rightly named as being a powerful thing; it could be a revolution in the way the office space works a series of specialists controlling customer flows of data end to end as opposed to manual data entry. Though the capability to quickly deploy improvements anywhere across the stack might be in practice limited by a new constraint. The person spec for what people you need to deliver this revolution seems ill-defined. Should I bring in consultants? Do we need to upskill the data analysts to improve the identification of improvements? Do I need a specialist in every app for the best effect or just a small team?

I like Microsoft Power Platform it is hard not to even when you don't want to and I err on the side of optimism, the need for these skills might not be constant and demand might be satisfied by consultants and contract staff. 

I do think it might be revolutionary but the more realistic way of looking at it is to find projects which will see the business saving and then deliver the revolution one project at a time rather than engaging in excessive blue sky thinking. 

 

Further Reading

 

Microsoft Own Training

Power BI on Microsoft Learn | Microsoft Docs

Microsoft Power BI Community

Home - Microsoft Power BI Community

Power BI Challenges

Power BI Challenges – Workout Wednesday (workout-wednesday.com)

SQLBI

Home - SQLBI

M versus DAX

Power BI: M vs. DAX and Measures vs. Calculated Columns | by Jenna Eagleson | Towards Data Science

Power App Forester Costs and Benefits Analysis -reference [1] from here page 6

https://go.microsoft.com/fwlink/?LinkId=2126953&clcid=0x0809 

Power FX

Microsoft Power Fx overview - Power Platform | Microsoft Docs

Power App Main Web Page

Business Apps | Microsoft Power Apps

 

 

Add comment

Comments

There are no comments yet.