Power Platform Feature Implications: GPT-3 AI and Power FX

Microsoft announced today, 5/26/2021, more features are being released to the Power Platform focused on no-code/low-code development. You can read the details here and here. While some of the features are exciting, there are some other features that bring up some questions on where Microsoft is going. This article is from a developer/engineer perspective.


Features to be excited about

Power FX in Model Driven Apps

Model-driven commanding. No longer do makers need to learn and write JavaScript to create their own commands! The same Power Fx formulas used in canvas apps can be used to test and modify Dataverse data.

Credit: Power Fx coming to Model-driven Power Apps, Dataverse, and more | Microsoft Power Apps


As announced at Ignite 2021, Power FX language is coming to model-driven apps and the Dataverse. This effectively rids the need for simple JavaScript libraries for basic tasks such as calculations, triggering updates in other tables, and more. This is very long overdue and welcome from all my colleagues regardless of if they love JavaScript or not. Having to load a JavaScript library to do a calculation because Business Rules could not perform the calculation always seemed unnecessary. JavaScript certainly will have its use cases going into the future but with this change, I can see a day where raw libraries are no longer used and only Power FX or PCF components drive the user interface and event handling.


Programming By Example

Programming by examples (PBE) is a new frontier in AI that enables users to create scripts from input-output examples.

Credit: Introducing Power Apps Ideas: AI-powered assistance now helps anyone create apps using natural language | Microsoft Power Apps


This new feature will allow entering an example string of data and returning the proposed formula to use to achieve the desired result. This is a wonderful way to onboard citizen devs and professional devs into Power Apps. Not only that, but it can also save significant time composing complicated string manipulation formulas or trying to build the correct regular expression. The example used in the article previously linked takes a first name and last name initial from two fields, First Name and Last Name. By simply typing the example, the AI will suggest the formula to achieve the result. This is easy to embrace as it creates efficiencies.

Concerns and Skepticism

Natural Language development, will it work?

Many of these new features are backed by integrating with OpenAI's GPT-3 language prediction model to allow natural language "development". One of the features describes the ability to simply tell the app what you want to do, and it will generate the formula for you. While this sounds revolutionary, this similar natural language processing is utilized by the Q&A feature in Power BI yet not quite feeling like "natural language". It is pretty clunky even after training the model well. An end user truly cannot use their "natural" language as they need to ask the question in a specific way for any meaningful results to return. I am highly skeptical of this feature yielding anything but frustrated end users after they try to use it and their formulas do not work. With that said, I am sure over time it will be refined and provide value...just when will that be? This also leads to my next question, if natural language can build formulas, where does that leave devs, both citizen and professional?


Is Microsoft trying to get rid of its partner network and developers all together?

While reading over and over again that the answer to the above question is NO, the language Microsoft uses in its own blog posts contradicts this notion. Take the below for an example, a snippet from one of the newly released blog posts on Power BI AI features:


Automatic aggregations in Power BI will enable all Power BI Premium customers to benefit from the performance acceleration that Power BI provides, without having to invest in expensive and time-consuming data engineering resources.

Credit: Enabling intelligent experiences with Power BI for developers, data scientists, and data engineers | Microsoft Power BI Blog | Microsoft Power BI


The statement "without having to invest in expensive and time-consuming data engineering resources" should certain be concerning to data professionals. If Microsoft is truly not on a quest to replace developers with AI, how does one explain this statement? Reading between the lines, its states that enterprises can higher less data professionals because the AI and machine learning models will do it all for them. As a professional in the IT industry, this is concerning for me. This is not "empowering" end users or "aiding" developers. It is a direct statement saying that these resources are inefficient, costly so they should be removed.


Conclusion

The productivity enhancements that AI and no-code/low-code can provide are both exciting and concerning. What does this mean for the future of development? Is Microsoft trying to get rid of business application developers as we know them? Looking forward to what comes next.