top of page

Challenge 037 | Plan Designer

A bit game-changer for creating business applications entered the market, named Plan Designer. Although it's fairly easy to walk through it, I did opt to dedicate a challenge on it, as it is truly amazing what it can do and the potential it has for your maker community.

Challenge Objectives

🎯 Experience the power of Plan Designer

🎯 See where GenAI is leading us

🎯 Think how this can be an enabler to all

Introduction

Since the beginning the GenAI boom, creating applications in a Copilot-way seemed to be a focus for Microsoft. Quite early we got a first glance of the capabilities. It was already quite amazing in what it could do. The downside of the first version was that the whole app was based on one Dataverse table. So cool to see the direction, but not something that would fly in the real-world.

Then a second version came along. This version was an improvement on exactly that. It now generates a data-model that you can update using the new Data Workspace. Pretty awesome that the GenAI capabilities has the collateral benefit of having your whole data model in an ERD-styled interface. Below you can see some screenshots of the output of this particular version. Excuse me for the topic, but me and my wife just came back from a hospital check-up.

prompt: I need an application to register the progress of our baby.

In the Data Workspace you are able to add tables yourself, or add existing tables (e.g. from the Common Data Model). Once you have everything you need, you can get a Canvas or a Model-Driven App. Thanks to the Modern Controls effort, we now end up with good looking canvas apps within a few minutes as you can see below. A nice touch is that it actually generates sample data, which is a big timesaver for when you are developing your application.

As fancy as this looks, there are still a few caveats. We are working with Dataverse, so we need Security Roles in order to access the data. For version 2 this is still a manual task. Besides that, you can also have multiple users/personas involved in the business case this application is build for.

This is where version 3 (dubbed Plan Designer) comes in. The Plan Designer is a guided approach to creating a Business Application. Kind of similar to how you create a Custom GPT in ChatGPT.

The steps you will go through are:

  1. Describe your Business Problem

  2. Based on the above, Copilot will generate User Roles and User Stories, that you can adjust where needed.

  3. Based on the above, Copilot will generate a Data Model, that you can adjust where needed.

  4. Based on the above, Copilot will generate User Experiences, that you can adjust where needed.

  5. Once everything seems fine, all of the above will actually be made reality.

Let's start creating a business application using Plan Designer right away!

Start using Plan Designer

Up until a few weeks ago, you needed to have your environment set to Get new features early in order to get the Plan Designer. Things have changed, and it is now available in my regular environment. If this is not the case for you, you will need to create a new environment, as it can only be set at creation.

In order to use the newest version a.k.a. Plan Designer, you need to toggle the Try the new Power Apps experience. Or else you will still get the second version as described in the introduction. Please do play around with it right after, as it might show some capabilities that aren't supported in version 3 yet.

On the new Home screen you can see that we can directly enter a business problem to start creating our solution.

I highly encourage you to create a solution based on your own scenario. For the example, I will stay within the hospital scene.

prompt: We have several ambulances. Operability of these vehicles is crucial, as human lives depend on it. We check the vehicles daily, and after every emergency call. We need to check the vehicle itself (tire pressures, sirens, lights, gas level, etc), but also equipment (brancard, first aid kit, defibrillator, gloves).

Now we wait a few seconds for the User roles to be defined. In my case, I got two. The Vehicle Inspector and the Equipment inspector. I think I need a Garage manager as well, who can follow up on malfunctioning vehicles. I just as for it in a prompt.

It thinks for a moment, and boom. We have another User Role defined.

You can see that this is step 1 of three. We only need to accept it to proceed to the next step. We just wait for the lovely GenAI to do it's thing and come back at us with suggested tables. Note the Show details button on the top right of the data container. clicking on it will lead you to a read-only Data Workspace to view the envisioned ERD.

It is already pretty good what it came up with, but I would like to add the capability to register the required maintenance for the vehicles. We can just prompt it.

After a few seconds, the updated data model is generated for review. When looking at the Data Workspace, I can see the Vehicle Maintenance table has been added, with the data fields I mentioned. Pretty sweet.

We go back to the Plan Designer and accept this step. It will now create the User Experiences. We get Canvas Apps for the inspection (perfect for using the camera modules of mobile devices) and Model-driven Apps for the garage manager. We just need to click on the + icon the create is, and boom again. This is brilliant. We even get the security roles for the different users. Ain't that mind bending? I think it is.

Some thoughts

Although this is pretty amazing, there are still some limitations that I am sure will be addressed in a next version. If you look at the data model that has been generated, Inspector is a brand new table. It would be more convenient to make this the User table a.k.a. adding existing tables to the Data model. From version 1 to version 2, this became available, so I am confident this will come. Besides that, this is already some amazing functionality that will decrease development time tremendously.

Besides that, it is something anybody can do. I think this can be a big maker enabler. Up until this point, I've mostly seen makers creating Canvas App based on SharePoint. Yes, licensing is a reason for this, but also the fact that a good working Model-driven App requires a proper data model. Creating a Data model requires data thinking, which even many pro frontend developers can struggle with. The fact that this can be generated for you truly lowers the level of entry for makers.

Canvas apps are great, but the user experience isn't always the best (as it depends on the maker and this is a skill on its own). Updating your app based on new or updated fields is much easier with Model-driven apps, and the interface is given. This means uniformity across all your business applications. This will definitely help the user adoption of new apps as they already know how it works.

Together with Managed Environments and the possibility to create personal Developer Environments, I think this could make the promise of low-code a reality for more companies. I am certain this will enable makers to go beyond simple Power Automate flows and some personal Agents. I know companies are moving away from the term Citizen Developer (including Microsoft), but in my opinion it is becoming more relevant than ever. Whatever you name them.

The things that this group can make will grow bigger and bigger, as the capabilities will only become better from here. What a wonderful world.

Conclusion

Plan Designer further democratizes the development of applications. As cool as low-code is, it can still be quite complex to create an application that fits your needs. Every effort that is made to further ease this process, I welcome with open arms.

Additional Information

  • This feature is still in preview.

  • The Plan and Plan artefact are new Solution asset types and can be stored in your solution. You can the always go back to your plan to see where it is based on. Some form of documentation within your solution, which can be very helpful.

  • The Data Workspace in Plan Designer is currently read-only, and adding existing tables isn't supported yet.

  • Power Automate flows are suggested, but not created.

  • Inline Editing (like the Canvas option in ChatGPT) isn't supported. Adjustments at every step must be prompted in.

  • Creating all the applications and then coming back to your Plan to make adjustments, might not work as expected. You can give it a try.

Key Takeaways

👉🏻 Once in GA, this version must be considered when creating solutions

👉🏻 The future of business app development has never looked brighter

👉🏻 Plan Designer is a great example where GenAI can bring real-world value

© 2022 by Miguel Verweij

bottom of page