Apple’s App Store inspired the masses and became an ecosystem for useful applications largely targeted towards solving everyday problems. Microsoft, holding the largest share in desktop operating system, introduced Windows Store with the ambition that it will become the go-to platform for Applications intended to deliver business outcomes.
But this idea didn’t fly as much, primarily due to two reasons:
- Application development for Windows Store required a skilled programmer
- Businesses did not want to publish their private applications to a public App Store
Businesses needed a platform which technology-savvy staff from their existing workforce can learn from and use for creating useful applications that support their operations. Further, isolation and security to ensure company’s applications and precious data isn’t available to any Tom, Dick or Harry – not unless these three individuals work for your company, of course.
It’s worth mentioning here that the kind of applications we are talking about are the ones that generally do not fit into the category targeting larger business outcomes, e.g. customer relationship management, document management or financial planning. The apps in perspective are the ones targeting a relatively smaller domain, like expense claims, travel requests, office supply requests etc. Businesses that generally use Microsoft products have been using different methods to create such applications, such as custom developed applications, InfoPath Forms (mostly with SharePoint) and SharePoint web parts. All of these technologies present challenges in one form or another for non-developers.
However, Microsoft has now developed a unified approach to developing such applications using PowerApps – a service for building and using custom business apps that connect to your data and work across the web and mobile, without the time and expense of custom software development.
With PowerApps, Microsoft is trying to handover the otherwise tedious task of creating an application to the tech savvy business people with little or no programming knowledge. Though not 100% there yet, it has a good foundation to march towards that goal.
Here’s how it works: Office 365 now has yet another Tile under the name ‘PowerApps’. You will see it when you login to https://portal.office.com using your Office 365 account.
Clicking on the tile takes you to the PowerApps site within Office 365. This is where the action begins.
To have a feel for how the App building process looks like, let’s attempt to solve a real world problem using an app.
In the real world there is a small company that needs to manage the refill of office supplies when they have or are about to run out. The company wants its staff to flag it. It has to be a simple process, one that can be completed quickly on the spot. For instance, you are in the kitchen and spot good old Matt tearing up the last sheet of paper towel. Now if you are like me, your mobile is normally glued to your palm when you move around the office. You would quickly open the app and click a button which will flag that the next store run should include paper towels. Nick, as tech savvy as he is, refers to the same app while shopping for supplies and voila – paper towels have been flagged. It works just like a handy shopping list.
Let’s get building.
Defining the Data Structure
Before we start the app build, we need to think about where we will store the data for the app. Data in this case is the list of office supplies each with a flag specifying a refill. In essence, we are talking about the data in following format.
One option for such data storage is available in the form of newly introduced Microsoft Common Data Service.
The Common Data Service is a secure business data platform built into PowerApps. It comes with hundreds of standard business entities already defined, which means that now all your apps can share the same definition of “customer,” “product,” “lead,” and more.
What’s even better, is that you can create your own custom entities i.e. a data structure designed to store your data. This is precisely what we are going to do in this case. Let’s go-ahead and click the PowerApps Tile that we saw earlier. Alternatively, we can login to https://web.powerapps.com using your office 365 account.
Depending on your subscription and whether a common data service environment has been setup for you, you will click on the Entities link under Common Data Service heading on the left hand side. Note that setting up common data service environment is a simple guided process when you browse the PowerAps site for the first time.
- On PowerApps website, you will be presented with the page below:
To create a new entity i.e. a data structure to store office supplies data, click on the ‘New entity’ link on the top right hand corner.
- Enter the details for the entity, ‘My Supplies’ in this case and click Next.
- Click the ‘Add field’ button on the top right hand corner to add new fields to store data.
Add the fields, ‘Item Name’ (Text) and ‘Is Finished’ (Boolean – Yes/No) and click Create. Once the entity has been saved, you will be taken to the main entity list page where you can search for your entity for coming back to it.
- Search ‘My Supplies’ in the search box.
Clicking on the entity should take you to the entity’s detail page. Make sure it looks like the following page:
Now we need to enter data for our office supplies.
- Click on the ‘Open Excel’ link at the top which will open an Excel file connected to the ‘My Supplies’ entry.
Note that there is an Excel Add-In which loads with the Excel file. This Add-In will present a section on the right hand side of Excel.
You can enter new rows by clicking the ‘New’ button from the section.
- Ensure the data is entered in the following form and click ‘Publish’ from the right hand pane to upload the data with ‘My Supplies’ entity.
If you go back to the entity page and click on the ‘Data’ tab, you will see that the data has actually been uploaded:
Building an App in Microsoft PowerApps
Now to create the actual app which will use the data from the common data service.
- Click the ‘New app’ button at the bottom of the main page of PowerApps site:
- After clicking the ‘New app’ button, you will be presented with a dialogue asking if you want to build the app using ‘PowerApps Studio for Windows’ or ‘PowerApps Studio for web’. Click on the ‘PowerApps Studio for Windows’ button:
- The next screen will be Windows Store asking you to install PowerApps. Once you click ‘Install’, this will install the PowerApps desktop client on your PC. PowerApps Desktop client helps you build as well as run applications (built with PowerApps).
- Open the PowerApps desktop client after the installation completes, and from the left-hand navigation pane, click ‘New’.
- The application will ask you about the sort of App you wish to create. In our case, we are building an app working with data from Common Data Service, which we will select as shown below:
- The next screen asks you to choose Common Data Service connection as well as the entity to be used. Here we will select the ‘My Supplies’ entity that you created earlier:
This is when PowerApps does its magic and you are presented with an App connected to the entity and with pre-built screens.
There are three types of screens that are created by default:
- Browse Screen: Displays the list of all items and a search box to find a specific item.
- Detail Screen: Displays the details of a single item. In our case it should show the ‘Item Name’ and ‘Is Finished’ fields from the ‘My Supplies’ Entity.
- Edit Screen: This is to edit a single item from the entity.
- The default ‘Browse Screen’ doesn’t display the fields we are looking to use in our app build. To locate the layout we are after, click on the ‘Layouts’ button in the ribbon and select the option, ‘Browse Items, One Line Description’.
- This will display one line per item on the screen.
- Now let’s select one of the text boxes on the screen to see which field is connected to it. You may find that it’s connected to ‘CreatedByUser’ field, which is one of the default fields.
- We can change the field the text box is connected to by selecting a different field from the drop-down on the right hand side. In this case, let’s choose ‘Item Name’.
- Click on the play button on top to preview the App with the changed settings. The play button is to test the functionality of the app before publishing it out to a wider audience, and will display the listing of all items by name.
- Click on the arrow on right of Tissue Paper and you’ll see the ‘Details Screen’.
Well how did clicking on the arrow present the ‘Details Screen’? Let’s look behind the scenes to understand how basic logic like this works in PowerApps.
- Stop the preview and select ‘Browse Screen’ from left hand side.
- Then, select one of the arrows on the screen.
- Click on the ‘Advanced’ tab on the right hand side section and examine the OnSelect property. You’ll notice that there is an Excel like formula telling the app to navigate to ‘DetailsScreen1’. Most logic in PowerApps works in this way and the formulas can be learned and used just like Excel.
- Now to save the app before we share it with everyone in the organisation. Select ‘File ->Save as…’ and specify a name, e.g. “My Supplies App”. Be sure to choose the option of ‘The Cloud’ as we are trying to publish the app to a wider audience:
Publishing the App
We have done all the work needed to build a simple office supplies app! Now to publish the app to your colleagues.
- Login to PowerApps main page again and you will find your newly saved app on top.
- Click on the app and you’ll be presented with the ‘App settings’ page.
- Click ‘Share’ from the left navigation and you’ll have the option to share it with entire organisation or specific colleagues. We intend to share it with entire organisation, so let’s select the ‘Share with org’ option:
- Now the ‘My Supplies’ app should be available to everybody in your organisation (provided they install the PowerApps on their phone). Once I open the app, I can see the ‘My Supplies’ app available to be used.
- Q: Do I need to always open PowerApps first to use my app?
You certainly don’t have to. You can click on the ellipses next to the app and choose the ‘Pin to Home’ option. This will make ‘My Supplies’ app available directly on your phone’s home screen:
Now I have flagged everything as finished using the app and am waiting for Nick to do his next store run!
- Q: Do I need to always open PowerApps first to use my app?
We have now seen how easy it is to create a simple app without using any code or requiring IT support. We have barely touched the tip of an iceberg and there is so much more that PowerApps has to offer. It is certainly on its way to empowering business users to be self-sufficient when it comes to building applications which directly or indirectly support their roles and responsibilities.
Imagine a world where an expense request application is a DIY project of an accountant in the Finance department and a leave request application is with the lady from HR. These are the people who know their business first hand and the liberty of creating apps to support what they do without needing IT is an amazing journey of empowerment which leads not just to saved time and money but also to increased job-satisfaction.
It’s certainly the delegation of power to you.