Power Platform at Microsoft Build 2020

The developer conference Microsoft Build was last week. This online only conference was a great success! The Power Platform even got a bigger stage then last year. And the story is similar as the one carried out by Scott Durow and Sara Lagerquist, #ProCodeNoCodeUnite

As I try to digest the news coming from Microsoft Build I will write down my thoughts. And let us start with the Rapid application development blogpost by Charles Lamanna. A write-up of all tools available in the Power Platform which lets you quickly build enterprise apps and automation. Not a lot of news per see, but it shows the focus the team has going into Build.

Rapid application development with the Power Platform
Rapid application development with the Power Platform

Describing the Power Platform as a rapid application development is something I’m used to since the XRM days. I have built a lot of solutions on Dynamics CRM which are not systems of engagement. But by using the tools available you could quickly build and add value.

However this platform never before had so much extensibility. You have Azure extensibility for Power Apps. Power Apps Component Framework to write native UX controls with the same tools as the product team. Custom Connectors for both Power Apps and Power Automate. Custom bot framework skills for Power Virtual Agent and many more. This is a richness I am not used to!

Satya Nadella at Build 2019 about the Power Platform
Satya Nadella at Build 2019 about the Power Platform

Power Platform ALM & Monitoring

Highlight from this blogpost is the application lifecycle management story. Continuous integration / Continuous Deployment is important for enterprise apps. It is great news that the Power Apps Build Tools will go General Available in June. The ALM documentation also just got a huge update. Currently the ALM story revolves around solutions. It is vital that you work inside these containers if you are working with multiple environments. Of course working with solutions brings more complexity then custom app development. Luckily steps are being taken to help us understand this process better. This blogpost and documentation update however shows the teams commitment to the ALM story.

Debugging and logging is just as important as development. Especially when you manage an app used by hundreds. You want tools to help quickly identify problems. The Canvas Apps experimental Monitor feature, also receives an update. You can now collaborate on debugging sessions. I am most excited about the logging capabilities using trace statements. Not only can you see these inside the Monitor feature, but you capture them in Azure Application Insights as well! See the clip below for a quick view how this works:

Features, features and more features!

And then there is the constant stream of new features being added to, in this case, Power Apps. I list 5 new features here and write down my thoughts. And I have to publish this post fast, as almost every day now the team adds something new 😉

Launch to self and the “Self” operator

First new formula options: “Launch to self” and the “Self” operator. The “Launch to self” option added to the launch function is something I am looking forward to. This could be useful to create reusable apps / steps in for example a dialog scenario. You could create an app specifically for task creation dialog steps and re-use this from multiple other apps. Maintaining only 1 app for task creation.
The “Self” operator is similar to the Parent operator we have today. If you are familiar with JavaScript you could compare this with “this”. Pun obviously intended. This will improve readability in your formulas. I am looking forward to the “Children” operator mentioned in the blogpost as well. Children will help with grouping logic, one place to create and maintain a formula, instead of adding a formula to all children.

New calendar control

Second there is a new component released for model-apps. The calendar control which was originally build for the first party app Dynamics Sales. Apart from the functionality, which is great for task based entities, a few things I love. The Dynamics team build this feature and it found its way to model-apps. Instead of seeing this as something of value for the first party app, they decide to release this for generic use! Furthermore this basically is a “pro-component” build with the same tools we now can use ourselves! How cool is that?

Notify and exit with sign-out functions

Notification function with the new timeout argument
Notification function with the new timeout argument

And last but not least, new argument to the Notify function and Exit with sign-out function. The Notify function is very much in need of extensibility. Previously the notification would last 30 seconds period. In fact, I actually created my own toaster like message box to be able to show a message until a required field was filled.
The Exit with sign-out is another function I really like. It allows for scenario’s where multiple employees can share the same tablet and log-in and out on demand.

Surprise acquisition for RPA

Now by no means I am an expert on Robotic Processing Automation. But by exploring UI Flows for web and UI Flows for desktop the RPA capabilities of Power Automate felt complete. So I was surprised with the acquisition of Softmotive. Reading about WinAutomation shows a lot of extra’s which UI Flows currently do not cover though. It is immediately available in Power Automate today.

  • UI Flows is only for desktop applications. WinAutomation supports applications such as SAP, legacy terminal screens, Java, Citrix.
  • WinAutomation has parallel processing features.
  • A ton of other features.

A new product listing!

If you do not have a SharePoint background you might have missed a new product launched by Microsoft. Microsoft Lists is an extraction of SharePoint Lists. And I mention this here as, after Excel, SharePoint Lists is probably the most used data source for Canvas Apps today. It provides an easy way to store, interact and share data.

Citizen developers use SharePoint Lists as it is readily available. It is fairly easy to set-up and use. However SharePoint Lists is also part of heated debates for its use in larger applications. I’m not blaming citizen devs for using lists. Because there is a large gap for easy to use data storage. The Common Data Service is expensive and would require IT to create an environment and install the service. A SQL database might be best for the workloads these makers are looking for but SQL might be too technical.

With SharePoint lists receiving the spotlight as its own product, we can expect Citizen developers adopting this data source fast. I do not think this is a big issue as we can use dataflows to grab the data from SharePoint lists. When scaling an app from usage by a single team to an entire organization I would always look at other storage options anyway.

#POWERfulDevs

The last news I want to share with you, and maybe the most exciting for me is #POWERfulDevs. A virtual conference for developers on the Power Platform announced at Build by Dona Sarker and Charles Lamanna. I look forward to a lot of inspiration from the community!

POWERfulDevs announcement tweet
POWERfulDevs announcement tweet

Wrapping up

To me, the 2019 Build conference was the breakout year for the Power Platform. And to see it grow at this year’s event confirms the spot the Power Platform has as a Rapid Application Development platform. The key message is that the platform is and will remain developer friendly. I look forward to extending and bending the platform to build creative solutions!

I had a lot of fun writing this blogpost. It forced me to come up with scenario’s, solutions and trying some of these out in Power Apps studio. Please do not hesitate if you have any questions and I am curious what you think!