Business applications come in all shapes and sizes. In the Microsoft ecosystem, we now have a broader set of tools to choose from, compared to the past strategies of Build vs. Buy, i.e. writing code to develop a custom application vs. using an application platform to configure the desired functionality. The birth of Power Platform and especially PowerApps as the underlying platform technology for creating business apps brought together two very different methods of configuration: Canvas Apps and Model-driven Apps.
It’s safe to say that hardly anyone in the world is currently a master of both application types. If you’ve been introduced into world of business applications via Dynamics CRM, XRM and Dynamics 365 Customer Engagement, then you will by default solve the customers’ problems with a Model-driven approach. For those that have been working with tools like SharePoint, InfoPath and the Office 365 suite of information worker productivity apps, the solution is very likely to be envisioned as a Canvas App. Persons with less professional history from either of these MS clouds will probably gravitate towards the mobile-first experience of Canvas Apps when getting to know the capabilities of PowerApps today.
There is very real value in being able to identify the logical objects involved in the functionalities required from a business app and turning that into a sensible, scalable data model. This is the XRM mindset of starting from the back end data and processes when designing solutions. If you have been developing these skills in the classic CRM style projects for several years, then you possess superpowers that few Citizen Developers could ever match. Congratulations! However, now you need to start practicing the exact opposite approach for how to solve problems: forget the data and start from the user experience.
You may already be aware of how massively Microsoft is investing in the new business models that Power Platform unlocks. Hopefully this has lead you to at least experiment with creating Canvas Apps based on existing data sources like CDS (if you still call it Dynamics [something], then hey: that’s perfectly alright!). While exploring these tools, perhaps you’ve also noticed how parts of the old XRM admin and customization features have started appearing in the PowerApps (and Flow) maker experiences. This level of awareness is a great start, but it’s not taking you very far yet in the process of changing how you think about solving business problems. You need to go much deeper, to unlearn the limits our model based world and embrace the possibilities of a modern Enterprise Low-Code Application Platform.
At 365 Saturday Kyiv and more recently at Power Platform Saturday Oslo I’ve done sessions on this transformation process, aimed at the XRM professionals. These include setting the scene on how & why the different app types are merging together, what are the key differences in solution design process for Canvas vs. Model, and how to get started in being part of this new #PowerAddicts movement. The slide deck includes a “Top 10 tips for starting Canvas App development on top of CDS” section, which should hopefully make the journey a bit easier than it has been for me, back when I started on it around one year ago. See below for the presentation or go directly to
SlideShare my Slides archive to enjoy it in full fidelity.
Now the question is: have YOU already started your journey into the UX driven Canvas App world? If yes, what have been the biggest revelations or obstacles that you have encountered? If not, what are some of the roadblocks that have kept you from making that leap from the familiar Model-driven business applications into the expanding opportunities that PowerApps Canvas apps have to offer? Please do share your experiences in the blog comments, as I’m quite sure this an area where many professionals are searching for guidance and peer support.
I’ve got to say, one of my biggest hesitations is not necessarily the tech but the licensing. If you suggest a certain approach to a customer, Canvas app front end, accessing/writing to a couple of key CDS(CE) entities and using Flow to connect to this and that. It might all be very doable but trying to figure out what they’re actually allowed to do, who’s allowed to use it and how much it will cost them is a very different game.
That’s a very valid concern, Matt. So far the merger of Dynamics 365 CE and PowerApps licensing models hasn’t been clear enough on where the boundaries are between app (Dynamics 365) vs. platform (PowerApps). The latest adjustments to the licensing model that will come into play on October 1st are taking the platform into a more consumption based pricing, based on API Calls, storage, page views etc. which haven’t traditionally been a component of Dynamics 365 solution design. Microsoft has said that they’ll provide a much more comprehensive guidance around the rules of who can do what with which licensing, so hopefully the October release will give us more clarity instead of just more variables to consider. This PowerApps & Flow Licensing FAQ update from Aug 29th is a good starting point for now, until more details are released.
Paddy Byrne (@PaddyFreefall)
Great article, Jukka.
I’m a Customer Engagement guy traditionally and have only just started experimenting with canvas apps. The most significant pain point I’ve found so far is dealing with the delegation warnings. Although I understand the concept, they can be very frustrating to work around. I find myself spending far too long, trying to make things work the way I think they should work. When, in fact, I should compromise earlier and simplify the design.
I hear your pain, Paddy! Being used to the powerful query criteria that is quick to build on the Customer Engagement side, we may take it for granted that the relational data model can be designed to follow the logical structure of objects in the real world, while the application UI still delivers the results we want. On the Canvas App side it’s sometimes been very tricky to make even the simple CRM scenarios work properly, due to how many references and different data types may be involved there. It’s been getting a lot better during the past 6 months in terms of support for CDS data sources (to a point where the Northwind Traders demo app is doable on Canvas), but you will still run into complexity when using CDS. Therefore it might be better for the XRM people to start learning how to build PowerApps by not diving straight at the deep end with the data, but rather start with something that gives more room for experimenting with the user interface side. Labs like App in an Hour can be good starer kits for building up these basic skills.