Tuesday, January 21, 2020

What I learned about PowerApps at #MSIgniteTheTour (London)

Lots of people who self-identify as "developers" (rather than "IT Pros") attend Ignite The Tour, but the focus of the event is more on the world of the IT Pro.


I see myself as a developer more than an IT Pro but attended anyway. With no sessions immediately applicable to my day-to-day work(?), I went to learn something new. Specifically, I wanted to learn about PowerApps.

(Yes, my recent post about Citizen Development is related to this.)

The existing knowledge I took with me was this:
  • I've used and evaluated many "no-code" tools over my career and am familiar with the concept and some common issues.
  • I was excited by the idea of PowerApps when it was announced (several years ago) but never find the time to learn more.
  • Apart from watching a few introductory sessions from an online PowerApps conference a few years ago, that reinforced some of my concerns.

I approached this as a complete beginner with a vague understanding of what it is and a healthy skepticism.


Here, in no particular order, is what I've learned.

  • It's not just one thing. PowerApps is part of the "Power Platform." Power Automate (recently renamed from Flow) is closely connected with PowerApps, and it's common to use both. There's also Power BI as part of the power family and is for analytics and data visualization.
  • If you talk to people focused on Power Platform, they'll say it has a lot in common with Dynamics. The "Dynamics people" I spoke to said they're very different.
  • All data access is through the Common Data Service. The CDS is a gateway to all information inside an enterprise (and is also used by the Dynamic family), plus it has connectors to other data sources and actions.
  • They're all very focused on the enterprise.
  • There are three types of Power App: Model-Driven, Canvas, and Portals.
  • Model-Driven apps are suitable for admin tasks and make elementary forms over data solutions possible.
  • Canvas apps (so-called as you start with a "blank canvas") let you do anything(?) and are what you build for distribution to people within your organization.
  • Portal apps are what you make for people outside your organization. Useful for simple websites or kiosk-style displays within company premises.
  • All types of PowerApp can run in a browser or a host app.
  • There's a new thing called AI builder. It's a simple way to introduce AI (based on simple ML models) into Power Apps (and automations.)
  • The knowledge needed to build custom apps is apparently equivalent to that required to create Excel macros.
  • There are a lot of built-in functions available in Power Apps. Apparently, 50% of them are from Excel, and the other 50% "are things you'll never need." - I'm very suspicious of this claim.
  • The cost of licensing of PowerApps is something over which lots of people have concerns (complaints?). I haven't looked at this yet, but it's something to be aware of.
  • Custom components can be created in Visual Studio Code with the PowerApps Component Framework.
  • Other developer-related tools are CLI based.
  • Authorization and governance to create, distribute, and use PowerApps are built into the platform. 
  • As I expected, apparently, "it's very easy to write a bad canvas app."
  • The accessibility of created PowerApps isn't always great but something that is being worked on.
  • There is some level of app diagnostics built-in.
  • There is a custom framework for testing PowerApps, but it's relatively new.
  • There's a new "solution checker" coming soon that will highlight possible issues in an app.
  • There appears to be minimal support for common mobile scenarios like occasional connectivity.
  • The Common Data Service provides a way to centralize authentication, access management, and business logic. When someone from the audience asked how to take advantage of those things in an app built separately (i.e., not a Power App), the answer from the stage was to rewrite it as a PowerApp. That's the wrong answer. Wrong in that it's unacceptable. It doesn't appreciate the realities of many business and development environments.
  • I'm unconvinced it's as easy and straight forward to use as many people claim. Of the many demos I watched (given by Microsoft staff and industry experts--MVPs), even though they were doing simple tasks, they frequently chose the wrong options or switched to pre-prepared items to use as part of a solution.


This isn't the end.
I now know where to go to learn more and try it out for myself.
Apparently, anyone can try a demo version at https://powerapps.microsoft.com/, and there are excellent resources on Microsoft Learn.

When I find the time to go further, I'll share more of my experiences here.



0 comments:

Post a comment