5 Tips For Designing Human-centric Power Apps Solutions For “On The Road” Users

I am a fan of Power Apps, especially Canvas Apps! (Well, who isn’t?) With all the technological marvel it allows us to achieve with substantially lower effort and time, it is now very easy to literally digitally transform a business and automate so many paper based and manual processes!

We get fascinated and excited by all the newer technical features Microsoft adds on a regular basis. Practically every week, we learn new features that either allow us to build something that wasn’t possible before or improve/enhance a previously released feature. All components of Power Platform help us build amazing solutions, and make things possible that were only a dream once. How exciting!

However, every rose has its thorn, and Power Apps is no exception to that idiom. Because of these “low code/no code” building blocks, it is very easy to get excited and build something rapidly without giving much thought to not only the user experience but also the end goal. It is very important to remember that ultimately, we are building solutions for humans, and humans are peculiar creatures. We have short attention spans, quirks, expectations and presumptions. We operate in very specific ways, and if we find out something isn’t working right or it’s rather becoming a roadblock to our already busy  lives, we are very quick to ditch it without thinking twice.

We should never forget that we should strive towards providing a seamless yet wonderful experience to the end users. We are not just building an app for them – we are making their jobs easier. Our solutions augment information, insights and actions to users in ways that make them successful in a quick and efficient manner. If they are spending too much time in our solution, we probably didn’t do a good job.

So, as we start getting more comfortable with Power Platform, and especially Power Apps, we should keep in mind that we are not just building “apps” or “dashboards” or “bots” – we are ultimately building human-centric solutions.

Here are some items that can help you make the design a bit more humanly, If I may.

(Note: These tips are very specific to a mobile solution for traveling users)

Easy Access To All Areas Of The Power Apps Solution

Our solution will most likely have a menu. How easy is it to access that menu from any screen of the solution? For example, if you start with a menu of options on the home screen, are you making them go back to the home screen to navigate to a different area? Or is there another way to reach somewhere else without clicking the back button five times?

For example, let’s say you have a home screen with options that help a user go down a specific path.

On subsequent screens within the app, have a footer or header that will help users navigate to a completely different area with just one click.

Bonus points if you change the color of the icon to indicate easily the area where the user currently us. Below, you can tell that the user is in the “Accounts” area by looking at the highlighted “Accounts” icon.

Easy Access to Related Areas

If you drill into the main/parent record, and from here you want to access any of the related areas, create a navigation menu that, yet again, makes it easy to get to the user’s desired sub area with one click. In the screen below, we are at an account screen (primary record) but from here, it is very easy to navigate to related contacts, opportunities, notes and activities with a single click.

Easy stretch goal: Typically, when we build Power Apps solutions, we only include minimal/most relevant information in the app. What if a user, in some rare scenarios, wants to access the rest of the details of a record? Give them a hyperlink (the Dynamics 365 logo on the top right corner as shown above) that opens that record’s details in the Dynamics 365 mobile app.

Make Communication Easy

Your users most likely have a need for calling, texting, emailing their contacts. These actions are performed on a regular basis, so make this aspect especially easy for the users!

The “Launch” formula in Power Apps is very powerful. Just this one formula can help you dial a number, send SMS to a number, send email or launch a web link – all with one single click. In your gallery, include icons for phone calls, emails, SMS, etc. In this screen below, you will see phone call, email, and appointment.

Set OnSelect of each button to Launch with the right parameters. For example, to dial a number by clicking the phone icon, you can just say:

Launch(“tel:” & ThisItem.’Business Phone’)

Congratulations! You have now created “one-click actions” for your users that will save them a lot of time and frustration.

Note for Dynamics 365 CE users

If you are building a solution based on Dynamics 365 CE (CRM), you probably know that they are supposed to “track” their activities. In Dynamics, Tracking is a harrowing and manual process. With Canvas Apps, you can alleviate frustrations by automating the entire process. For example, when a user clicks the phone icon, dial the number using the launch function but also navigate to a screen where the “Regarding” is already set. When the user ends the call, they will be looking at a “Phone Call Activity” screen where the “Regarding” as well as other details are pre-populated. All the user has to do now is enter their notes (voice to text makes it easier) and hit Create.

Route Optimization & Planning

There are several APIs out there that can be easily consumed in our solutions using Power Automate. For example, if you are building a solution for traveling salespeople or technicians, provide them an interface in the app that will allow them to choose the locations they want to visit, and use Google or Bing Maps API via a Flow (Power Automate) that will provide them the most optimized route so they don’t end up spending a lot more time on the road than they need to. Remember, the users would ideally like to spend most of their time with their customers and not driving around, stuck in traffic.

This can be done for all types of activities in CDS/ CE. So, as you build a solution for your users, keep in mind the pain points and frustrations they have shared. It is quite possible that those frustrations can be easily overcome with Canvas Apps.

Select locations to be visited in the app interface and click “Get Route”.

The next screen shows a map of the route you should take as well as some other driving related details like distance, duration etc.

The information provided on this screen can really help the end user prepare for their day. Out of their 8 hour work day, they will be on the road for almost two hours? They’ll make sure to keep a water bottle and snacks in their car so their stomach doesn’t start growling when they go to their fourth customer meeting!

Easy Control Over Overall Interface Look & Feel

In majority of cases, the look and feel of the app will stay the same because of customer’s legal/marketing/branding needs. However, if there is room for flexibility from a branding or accessibility perspective, make provisions for the user to choose their own colors.

  1. Allowing users to set their own colors is a huge help for people with color blindness.
  2. It makes it easy for administrators to make overall changes very easily whenever branding guidelines are updated.

Other Considerations in Power Apps

These are simple yet effective wins.

  1. Include weather information for the day by using the MSNWeather connector.
  2. Use the Microsoft Translator connector to build translation into your solution. Extremely helpful for crew members who don’t speak your region’s primary/native language.
  3. Consider the Bing Search connector for providing latest news to users based on a customer, prospect, specific topic, etc.

Bringing It All Together

It is very easy to get excited while building solutions using Power Apps. However, our objective should be to not focus too much on the amazing technical aspects of our solution, and strongly consider what the end users want not just to “get things done” but also to make the entire experience extremely easy and pleasant for them.

A photo of Venkat's two teammates in front of a car. One is taking photos with her phone, and the other teammate is looking away from the camera and smiling.

Testing PowerApps Is Different: Here’s Why

Are you a Power Platform person? Are you building cool things with PowerApps, Flow and Power BI? Cool!

One thing that Power Platform, especially PowerApps does is it allows us to literally build cool things. Yes, cool. Cool because PowerApps has the ability to provide solutions for practically everyone – be it a sales person, a technician, inspector, teacher, construction worker – the list goes on. The scenarios these folks are involved in are almost always very interesting. It involves being out and about, doing various things. A sales person wants to be able to access information quickly before they go see a client, enter notes quickly after their meetings, and update some important information with minimal clicks. An inspector or a technician may want driving directions to their customers’ locations, have the ability to communicate with them with minimal clicks, and take many “before and after” photos to document their jobs. If any of these folks are driving to meet their customers, it is also very likely that they would want to take the shortest route possible so they don’t spend too much time driving.

Of course, we can build everything that they desire very easily. The beauty of Power Platform is that it can really make everything possible. When we build apps for our audience, we test it out, get feedback, make minor tweaks, and deploy. Right?

Coming From Dynamics 365 (Or Any Other Platform, Really)

If you are from the Dynamics 365 realm, traditionally,  for the most part, you are building apps for the back office folks. You may argue that no, we build CE apps for the front line, field workers too. If that’s your argument, ask yourself how many of the implementations where you forced field users to use the Dynamics 365 mobile app were successful. There is general consensus around how well the app works for field users, and the consensus is not in favor of the app!

Model driven apps in general are not geared towards mobile users. They simplify a lot of complex business cases and improve visibility into lots of tiny little data points that are distant and detached. They rely on building blocks that are geared towards behind the scenes processing and automation. The UI can get really busy, and in order to get the full picture or even take an action, it requires the user to really be comfortable with the limited experience the UI provides.

Moreover, model driven apps are limited in what they can do because by default they are only functioning in the Dynamics bubble. What if the photos that your end users are taking need to go to a very specific SharePoint folder or list? They want to be able to see charts from their existing Power BI reports in their mobile phones. Now what do we do?

There was a time when the Dynamics 365 app/ model driven apps were our only mobile solution. (our hands were tied!) If you still expect your customers to use model driven apps in the field, please rethink that thought process, especially with the advent of Canvas apps.

Building & Testing PowerApps Is Different

Here’s the thing – when we build apps, we follow all sorts of processes to document requirements, build functionality, fix bugs, and accomplish milestones. Azure DevOps is a favorite solution when it comes to tracking where we are and how much progress we have made in our app building process. Especially when it comes to testing, we can still rely on the tried and tested ways of testing and fixing bugs. However, there is just something different when it comes to testing Canvas apps.

Remember, we are building interesting apps for interesting use cases. Your app is most likely not being used on computers but on mobile phones and tablets. When it comes to testing your app, besides doing the regular (dare I say, mundane) set of testing activities, why not go the extra mile just a bit? Since the app will be used by users out in the “field”, why not test it out in the field too? Of course, there are several caveats here, in that you should have easy access to the location where the app will be used, and you will possibly need permission from the right people to try it out “in the wild” but assuming you can get to the location easily, and folks on the customer side are okay with it, testing it in the real world is very eye opening. Not only do you get a real sense of how exactly the users will use the app, you will also understand the flow in which tasks are done.

Consider an inspection app, for example. When you gather your requirements, you may be told that users drive to a certain location. Once there, they are expected to perform certain tasks and take many photos. It’s okay if this task is not done in a certain order but everything must be completed. The photos can be either taken directly from the camera in the PowerApp or uploaded from the phone’s image library.

Let’s take a step back for a second. One would think that because the PowerApps camera control makes taking and uploading photos so easy (one click!), why would anyone want to upload photos from their photo library?

There could be a few reasons. One, it is possible that where they are – whether a factory, a building, gas station – they may not have good lighting. Because of that (and perhaps various other reasons), they may have to zoom in on an object. Can we zoom in on something using the camera control in PowerApps? No. Can we use the phone camera’s flash with the camera control. No? In those instances, it becomes important to give users the ability to use their phone’s native camera and upload the photos to the app.

In the field, users constantly have to deal with surprises. Things are not always favorable, because of which they have to make adjustments and find alternatives to get the job done. To make our users successful, we have to provide them with all sorts of alternatives. And what’s the best way to test out all the features we are adding for them and make sure all options really work?

By putting ourselves in their shoes.

Whenever possible, go out in the field, try out the app and see what it feels like to use it. Don’t just test it on your computer, don’t just run another test script to test the features, but get a real feel of it. If you feel good about using it out in the wild, chances are your users will be comfortable to some extent too. You will most likely still have to fix bugs and address limitations because those who do this job daily can spot missing features or bring up issues easily. But trying it out in a dingy gas station yourself will tell you first hand what the users’ experience will be like.

Why Do this?

It’s a fun yet very effective way of testing out an app in the real world. You can turn a pretty mundane “project” into an adventure. It’s different. It keeps the team motivated.

It’s all of the above.

Bringing it all together

Ultimately, we want our users to be successful and not get frustrated by lack of features. One way to alleviate pain points for our users is by testing the app in real life scenarios while also having fun! So go the extra mile, and really strive to make your users successful!

PS: A photo from that one time we went to a gas station to test an app!

A photo of Venkat's two teammates in front of a car. One is taking photos with her phone, and the other teammate is looking away from the camera and smiling.

Five Things To Consider While Building PowerApps

If you are in the Business Applications realm, you know what PowerApps is. When it started popping up innocently a few years ago, it was easily dismissed (actually, not even considered) by many because of how limited and broken it was. However, when Microsoft announced last year that PowerApps would become a part of Business Applications along with Dynamics 365, it was time to give it a little attention, if not a lot.

Within a matter of months however, it became a lot more prominent and relevant, and before we even realized how that even happened, it became a lovable force to reckon with! Well, not completely lovable because it still had major issues, but it showed everyone what it was capable of. (a lot!) For us Dynamics 365 maniacs, it showed us how it could plug holes created by Dynamics in an easy, quick and cost effective manner. Not only that, it made it so easy to build solutions that interact with many systems. In the Dynamics world, the word “Integration” played a major role when it came to making two or more systems talk. PowerApps, somehow, was managing to make integrations as we knew them seem not so rigid and difficult. (“just use a connector to connect to SharePoint..”)

With the sky literally being the limit, and possibilities being endless, a lot of us dived right into PowerApps development and started building “low code/no code” apps. Very soon, we learnt that low code/no code was somewhat of a lie ( :-)), but we will talk about that on a different day! What we did stick to was the default UI/UX PowerApps came with. That was and is (if you are still sticking to it) a bad idea! The default look is forgettable and irritating – bland, boxy, and mediocre. However, many folks who work in technology tend to shy away from colors, and anything beautiful. They tend to focus more on function – make things work rather than look good.


Why is it not important to put thought into how things look and feel in addition to how they work? Anyone who is developing an app in PowerApps has direct access to the UI/ UX, especially with canvas apps. Then why is it that we don’t want to enhance how the app looks? Not only that, it becomes really important that we make the entire experience pleasant. Remember, when we are using an app on the phone, we are literally using just A thumb to interact with the interface. Then why are we adding too many text boxes in our app, for example? In the grand scheme of things, we are not building an app for someone – we are making them more successful at their jobs. The app is just a gateway to their success, which comes from them being a lot more productive and efficient than they already are.

With that said, there is a lot more we can do to make apps a lot more user friendly with nicer UI/UX. Even if you are not a UI/UX person, you can still get inspired by the Internet, and create something much more pleasing to the eye, and easier to the thumb.

Do Not Use Default PowerApps Interface

Recently, a client of mine told me that one of his developers created a PowerApp that was “ugly as sin”. I couldn’t help but laugh. He said it not once, but twice! He was so upset about the design. The developer, who built the app, is a C# guy, so, one might say UI/UX is not his forte, to which i say why not? He doesn’t have to be a top notch designer but he can definitely make a few tweaks here and there to the god awful default interface and make it a lot more pleasant.

Default UI

Consider the default UI for a second.

BARF! Yes, that is the biggest sin right there. That UI should only be used if you want to burn holes through your end users’ eyes. If you are developing PowerApps, you need to promise yourself never to use the default look, controls and colors. How about changing some of the properties to make it completely different? Something that’s pleasant AND professional, and makes the user actually use the app.

Depending on what you are building, it is so easy to have a design that’s something like this:

Free design at pinspiry.com

There are lots of free designs and inspirations all over the Internet. Do some research before you start building the app, and start envisioning how you want the app to look.

Avoid Textboxes

For the love of god, don’t make people type with their thumbs! Every time they are designing and building an app for someone, they should first think about how they use an app, ANY app! How often does an app make you type? It’s needed only when, for example, someone is entering an address to go somewhere (Lyft), searching for something like restaurants (Yelp), or adding a comment to a post (Facebook).

In most cases, typing is absolutely minimal. In case of apps for business users, a “note”, “description” or “details” screen probably warrants a text box. Maybe first and last name too. But for the most part, textboxes can be avoided. Even in the case of multiline textboxes, a user can invoke the mic on the phone keyboard and speak their notes into the field. If you really want to eliminate that step (click) too, you can write an Azure function that uses the Speech to Text API to convert what you bark into the phone to words.



I prefer to avoid dropdowns too. Dropdowns are always two clicks – one to bring up the list of values, and the other to select a value. You can easily eliminate a click in this scenario by using a gallery in various creative ways. Also, dropdowns are ugly. 🙂

Avoid Clicks, Scrolls, Swipes

This applies to business users for sure. There is a general consensus around clicks, scrolls and swipes in that they are hated by practically everyone. “Don’t make me click so much!”, “Don’t make me scroll so much!” are common frustrations I hear from many. For this reason, when you are designing your screens and navigation, see how you can eliminate these actions. Should I keep adding fields on a screen and make it overly scrollable? Or can I use an overlay for some extra fields or options? How about I provide some sort of a menu on the footer so every user has access to all options all the time? [Hint: use reusable components] Depending on where the user is, can I provide them a menu of related entities so they can navigate to any related area with minimal clicks? (one!)

A lot of thought needs to go into this. We are creating an experience for the end user, not just screens with fields on them. Making them navigate away from where they are to get to somewhere else definitely causes frustrations that can be avoided easily.

Work With UI/UX Designers

If you have access to designers, please use them! Designers are awesome, and they can make an app look really slick with their creativity and talent. Sometimes customers have their own designers too. If they do, see if they can help you. In many cases, they would want control over the design of the app so the UI is consistent with their corporate branding, so it becomes even more important to work closely with them.

If you don’t have access to designers, and you think you are a dummy when it comes to design, just remember that there is help out there. All you have to do is ask.

Think Beyond Dynamics

If you are predominantly in the Dynamics 365 realm, it’s time to get a little uncomfortable and get out of the little bubble you’ve been living in for the longest time. Why? Because it’s amazing out there! Things that were not possible a few years ago with Dynamics are now easily doable with simple PowerApps and Flows. For example, a lot of people drive every day to meet their clients because of which they expect route optimization. A simple Flow can actually provide you that in your app using Google’s Transportation API. If your customers are asking for something that seems unreasonable (because you are still in the Dynamics bubble), step back, and research a bit before you say “it’s not possible” because it’s quite likely that not only is it possible, it can be achieved in a very quick and inexpensive manner too.

Bringing It All Together

At the end of the day, we should not forget that we are not just building an app so end users could enter data, we are building an experience that gives them access to the information they need, and make them successful at their jobs.

Save their thumbs and eyes!

Featured Image by picjumbo.com from Pexels

Zen And The Art Of Using PowerApps For Exceptional Customer Experience

There are several touch points that a customer or prospect goes through when they are inquiring or buying a product or service. These touch points can be with a sales person, technical engineer, financial adviser, retail store employees, field technician, and many others. Through all these touch points with the company’s employees, the customer is expecting to have a smooth, easy and great buying experience. For this to happen, all internal employees need to make sure that they provide the right information at the right time to their customers.

But do our employees have access to the right information, tools, and people to provide good and accurate information to the customer? Many times, it’s not even just about providing information to customers or prospects – our own employees may not be familiar with the process in place, and they themselves may need help in getting their questions answered to get comfortable with the process.

“What PowerPoint template should I use for my presentation with the prospect? There are so many!”

“Do we give discounts to not for profits?”

“My prospect is asking for a demo this week. How do i get technical sales involved?”

“Is there a document I can read to get familiar with our sales process?”

These are some questions that typically come up in a selling process. Note that these questions need answers from a subject matter expert internal to our company. Also, know that answers to these questions are ultimately relayed to the customer. What does that mean? A timely response to your own employee’s questions result in 1) your customer getting the right information in a timely manner, and 2) at least providing a satisfactory, if not exceptional customer experience.

Our employees, who accompany our customers in their customer journey, always have such questions. How do we make sure that they are empowered in every step of the customer journey? How do we make sure that they have access to the right information at their fingertips?

PowerApps + Chat bots

Let’s first talk about chat bots real quick and debunk some preconceived notions about them. Whenever i talk to people about chat bots, I realize that they automatically and immediately associate it with customer service – picture a customer wanting an update on their delivery status. They go to a website, start a chat, ask a question about  their delivery status, and boom! They immediately get a response back that was powered by a bot. It’s great that customer service for end consumers is the first thing that comes to people’s minds, however, chat bots can be used in several many scenarios besides just tier 1 customer service.

Let’s revisit one of the questions we posted above: “What PowerPoint template should I use for my presentation?”

An innocuous question asked by a sales person. Can we not have a bot answer that question for them?

Yes. Of course we can. Not just this, but many other process, product or service related questions.

What this means is that your employees are not emailing, texting or calling each other or their bosses to find the right information. In times of needs, a beloved bot can be at their service and help them out immediately!

A Financial Planner goes to an investor, institution or partner meeting and pulls up production-sales data on their mobile device. Can the Financial Planner ask the bot for recommendations  on next best action, product or investment approach?

Yes. Of course they can, and a bot will provide them with responses and guide them through the process.

A consumer walks into a retail store. If they want to know where the slim fit jeans are or where the new fall collection is, can they just walk up to a kiosk and ask these questions?

Yes. Of course they can.

The scenarios, people involved, and circumstances may be different, but a bot can instantly provide the right information with the right context.

So, how do i create a chat bot?

There are various ways you can create a chat bot. What we are talking about here is a very specific bot from QnA Maker.ai. Why are we talking about Qna Maker? Two reasons:

  1. It is a no code solution. Yes, you read that right – it does not require any coding.
  2. It can be surfaced easily in PowerApps through an out of the box connector

QnA Maker is perhaps one of the easiest chatbots out there. All you do is go to QnA Maker.ai, sign in with your microsoft account, and head to “Create a knowledge base”. The page walks you through some very quick and easy steps, and before you know it, your bot is ready!

This slideshow requires JavaScript.

Once your QnA Maker chat bot is ready, you can use the QnA Maker connector in PowerApps to surface your bot in your app. Now, anyone, either on their phone, tablet or computer can access this bot to get answers to their questions!

In PowerApps, using the QnA Maker connector, we can surface this bot in our app so that anyone can access this knowledge base at any time, and get prompt responses.

Note: I will write another post with instructions on creating a Qna Maker bot and surfacing it in PowerApps. It is super easy though, and if you don’t want to wait for my post, head to QnAMaker.ai and try it out for yourself!

What is the experience like? See it for yourself.

Sales people, financial planners, field technicians, customers at a store kiosk – everyone has the ability to get their questions answered in a matter of seconds.

Who is it for?

Currently, PowerApps’ licensing does not allow for apps to be exposed to customers, and you must have an Office 365 login to access an app. This means that definitely internal employees can use this bot app to enhance customer experience. In addition, you can also have these apps in a kiosk or computer in a store, office branch or location where anyone (customers) can walk up to it and get answers to their questions. So, even though customers cannot access the app directly on their own devices, you can provide them the ability to “self-serve” at your business’s stores or locations using PoweApps on your devices.

Bringing it all together

Businesses of all sizes have various employees interacting with customers at several stages of their selling process. The goal of any business is not just to close a sale but while doing so, wow their customers and gain their trust for a long lasting relationship. None of this is possible if we don’t provide our own employees with the right knowledge and ability to help our customers. To enhance that experience, solutions like chat bots and PowerApps play a small, yet crucial role. What’s really interesting is that “no code/low code” (which are also no cost/low cost) platforms are becoming more and more viable solutions for many business scenarios, and PowerApps and QnA Maker (and many other) are fine examples of that.

If you are wanting to empower your employees with the right knowledge and abilities, definitely explore these platforms for your needs.

Embedding A Power BI Tile in A PowerApps App For Rich Analytics On The Go

The one thing that Microsoft’s business application platform does is create an amazing amalgamation of things brought from various sources. PowerApps, makes rapid development and deployment of mobile business apps easily achievable. What it also does , very beautifully and easily, is bring in very rich analytics and insights from Power BI, Microsoft’s business intelligence solutions that makes reporting and decision making a breeze.

If you have a lot of visualizations in Power BI, you can easily add them to your PowerApps app with literally a few clicks. Let’s see how.

In Your PowerApps canvas, go to the Insert menu option and select Controls. Scroll to the bottom of the Controls list to find Power BI Tile. Click that option to add it to the app canvas.

Once the tile is on the canvas, another pane opens up that asks you to choose a workspace, dashboard and a tile from that dashboard to be displayed in the PowerApps Power BI tile.

Set those values, and hey, your Power BI tile is now embedded in your PowerApps app! You can add as many Power BI tiles as you’d like.


Bringing It All Together

PowerApps has its own visualizations capabilities but they are extremely limited in what they can do and display. The ability to bring in Power BI tiles so easily gives access to very rich analytics. This also lets PowerApps developers use visualizations created by someone else – possibly someone on the data side who understands analytics needs of users better than the developers.