So… I had a week off. Which I can recommend to anybody. I know it is too bad that you can’t fly away to the holiday destination of your dreams but really, take some days off. You deserved it, looking at your performance under COVID working from home during the past few months. Now whenever I go on holiday, I tend to bring my laptop (okay, I had one call I had to attend) to hobby around on some web/app development. Usually, that would likely be some PHP and MySQL, or a simple todo manager but this time, I wanted to explore Microsoft’s Power Platform.
And it didn’t take long to decide what I wanted to build this time: how about a COVID-19 work station bookings app? I mean, once our offices are opening up, we might want to keep track who’s coming in and if we still have enough space in our building to stick to local government regulations, right.
Why Would You Do That During Your Holidays?
Believe it or not but I regard coding as a way of relaxation. Other solve sudoku’s or go for a round of golf, I tend to relax through coding. Again, there’s no pressure of a project here or a paying customer. Just wasting some time, for fun.
Building Power Apps was new though. I had seen quite a bit of it in recent times and wrote about it as well. However, never had I done anything with it myself, other than building some Power BI dashboards. It was for that reason that it was about time I started to showcase the potential of it, to myself.
And finally, I was looking for a way to challenge myself. I wanted to learn something new. And as I am a big believer in low-code, no-code technology, I wanted to immerse myself into this technology, to learn about the capabilities.
What Should It Look Like?
The saddest apps of all are the apps that are very well built but never used. I think we all know a few examples of pieces of technology that looked fine upon first sight. But then, well, yeah, not sure…, it isn’t doing it. And you’re gone…
Power Apps can create an app based on a data set. What this will get you is a list of the items that you have pointed the template to. You will also get a view screen for an item, an edit screen and a new entry screen. And while that is very easy and useful in some cases, I just didn’t do the job for me. Or, it was too easy as a learning project!
So, here’s what I came up with
The reservation process needed to be very simple. Anything to lower the number of steps it takes to reserve a work station the user has to go through. That extends into the User Interface. The minimum number of fields and the least number of buttons possible. And finally, it should be monkey proof. Look, I work in an IT company. If we release new tools internally, they are being “tested”, which is a good thing. I mean, if we can think of it, other users can think of it. So better safe than sorry here.
What Did It Turn Out To Be?
So, over a few days, I build a first version of the app. In its first release, the app is limited towards making a new reservation for a work station on a specific date and floor. As I said, it needed to be fast, efficient, monkey-proof and self-explanatory. So, the basic flow includes:
- The start screen, that currently has only one button, starting the process;
- The reservation screen, in which you get to select a date when you want to come to the office and a floor that you want to work on;
- A confirmation screen, that pops up in case your registration has been processed.
Behind the scenes, the dataset is nothing more than some tables from an Excel-spreadsheet hosted on Onedrive. But frankly, it could be any data source. This is an area where the Power Platform shows off its strengths. It is super easy to connect all kinds of data sources in your app. And use the data available in a very dynamic manner.
I did think of a second app as a “management app” but because of lack of time (my holidays were over), I restricted myself to a Power BI Dashboard, providing insights for those that monitor whether there are not too many users in the building on a given day.
What Is Easy On The Eye…
Is not that easy after all…
This is probably the area where I spent the most time on. In the reservation screen, the app tells you how many work stations there are. For the total building and for a specific floor, per given day of course. Those numbers change based on the selected date and selected floor. If you select a combination of date and floor that doesn’t have any work stations available, the confirm button will be disabled. As such, users that want to make a reservation will need to search for a combination where the building still has capacity.
Well, I need to book a new holiday first. And again, the app was not meant to be used in a production environment. Yet, with some small changes, I think it can easily be used, so why not. If you want to learn more, send me a message.
Thinking out loud, users might want to check and modify their existing reservations. Besides, managers would want to have functionality that allowed users to “check-in” on a given day, either through geofencing or by pressing a button on the main screen. And finally, as mentioned before, I would be interested to build a building configuration app, allowing administrators to configure a building with floors and zones and define the capacity per floor or zone.
Did I Learn Something?
For sure! 😉 No, really. It was fun to get to know and better understand how Power Apps are built and how they operate within the Power Platform. Much of my learning was spent on how Power Apps work. Coming from a MySQL background, I am very much used to “SELECT * FROM abc WHERE” queries. That works a little different in Power Apps. The documentation, however, is very easy to go through and there is a vivid online community with plenty of examples around.
Second, I discovered there is plenty of opportunity for UI customization. I am not a big fan of the default black and white so decided to up the whole thing a bit. So, I searched for some colour patterns on the web and quickly applied those to my new app. I didn’t spend too much time on that part am convinced one can produce sweet looking apps through Power Apps.
The final learning is related to Gartner’s Pace Layered Application Strategy. An app like this is something that you’d never customize your core systems for. Or… you shouldn’t. But you want to manage things and present users with an interface and ecosystem they are willing to use, without losing control yourself. The Power Platform does just that and I am impressed by the capabilities that companies gain by introducing this into their organization!