Making a better User Experience with Power Apps component framework from sketch – Part 2 – The Sketch

Part 1 – The Problem can be found here.

Time for Proof of Concept (PoC)

I like building canvas app, for Proof of Concept (PoC) purpose. It is so easy. Drag and drop, a few clicks and formula, and then you can see the result.

I thought of building a canvas app in the first place. However, I quickly discarded the idea as soon as I figured out there was no easy way and it’s going to take much time.

So, I turned into Power Apps component framework (PCF).

Sketching the idea

I love using pencils and paper. It is so physical and gives me the first hand experience. After doodling a couple of pages, I came up with the following sketch.

On the paper

I am trying to build a button using PCF that can be placed on the email form.

When users click it, I want to show a list of SharePoint documents from the related record (regarding) as a dialog. I want users to select multiple files and attach them to the email with a single click.

When users click Attach button in the dialog, it will call a WebAPI that will return the file content from SharePoint. Then, the component will create an attachment in CDS email, and hide the dialog.

From Requirements to Build

Sketching the idea is easy. Listing down requirements is straightforward. Saying “I want these” is a piece of cake.

But, the build is a real challenge. It is even more challenging if a builder doesn’t know technologies, frameworks, libraries and their abilities to make his life easier. This is where a leader can make difference.

Guess to solve

For instance, Person A asks you to create a web page, saying “I want a responsive web page on every device. You can probably use CSS and tweak positions, width, and alignment to make them responsive.”

There is a clear requirement which is a responsive design. But the solution to the problem is blur. No definitive. It is more misleading when Person A starts talking about tweaking position, layout and alignment. A builder can easily drift away with tweaking x and y, width and height, and alignment in basic CSS, which works on every single browser and device.

Make a difference

Now, what about this. Person B says “I want a responsive web page on every device. You can check out Bootstrap, especially its layout/grid system. Let me know if you have a challenge. We will figure it out.”

Whom would you love to work with? Person A or Person B?

To me, it is definitely Person B. A leader who gives you a clear direction but makes you learn it yourself. At the same time, he doesn’t mind getting his hand dirty.

Now, back to the sketch I drew. It’s time to ask the important question myself, and I must answer it honestly.

Am I ready to build?

The answer is NO. There are a couple of things I needed to figured out.

In the next post, I will write how to figure out what I needs to learn and try out before building an actual component. Stay tuned for Part 3 – The Slow Start.