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.
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:
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!