The solution to all your problems, and keeping products from disappearing in SharePoint or Office 365...at least that’s how many are looking at PowerApps. I was lucky enough to have access to PowerApps in the private preview. So, I tested it for myself. Of course, my focus was on making it work with SharePoint to solve a few mobile forms and workflow problems. Let’s discover PowerApps, a new solution for building mobile apps and workflows, or logic flows as they call them, and see how it works with SharePoint.
*Note: It’s important to understand that this is still in Preview mode, and many things might be different by the time you read this post.
Introduction to PowerApps
At the moment, PowerApps is a cloud only solution, with a Windows Store App and iOS app, as well as a browser enabled web application. It’s clear to me that it will stay a cloud-only product; however, I imagine it will allow you to connect to On-Premises content, specifically SharePoint, in the long run.
In short, PowerApps can be split in to two very distinct solutions. What’s important, and how PowerApps will differentiate itself, is it doesn't require you to be a developer to use it. However, that doesn’t mean it should end up in the hands of just anyone. So, Mobile App or Logic Flow?
Connect to your data, and create mobile apps for them. You can choose to create a phone or tablet app, and build it without any code, if you like.
At the moment, you can only build an app using their Windows Store App for PowerApps and, when you do, you'll have three options: 1) build an app from one of their templates, usually using Excel-driven data, 2) build it from existing data you have in one of the available cloud services, or 3) build it from scratch.
At the moment that I'm testing this Preview, PowerApps can create an app for you from the following data connections. It’s important to note, however, that this is only to create an app for you based on your data. If you choose to start from scratch, you'll have additional available connections.
Furthermore, you can use connections to:
Office 365 Outlook
Office 365 Users
PowerApps the Logic Flow (Workflow) Creator
Another feature of PowerApps allows you to create Workflows, or Logic Flows as they call them. Logic Flows aren't available in the app at the moment. Instead, they're created using the browser. Kind of like IFTTT, if you're familiar with that website.
It works by allowing you to create stories using your created connections. For example, if a SharePoint document changes, then it'd send me an email.
PowerApps logic flows come with built-in templates to help you get started.
You can also create your own from scratch, this is where the fun begins.
Though some of these connections won’t show up unless you start typing them in.
Logic Flows is a simple way for you to connect to the services you use in your organization, and build logic into them, thus removing some of those manual actions.
Using PowerApps to Build Mobile Apps for SharePoint
Though PowerApps provides a lot of function by itself, I'm not as interested in the other available connections such as Twitter, Dropbox, Google Drive, or Salesforce, as much as I am for SharePoint Online.
We always say that SharePoint is a platform for you to build things on, and that's exactly right. The lists and libraries could be compared to user friendly database tables in some ways.
But if I can store data in SharePoint Lists, and do so for the added value of SharePoint such as versioning and approvals, etc… I still need to present the information to those that'll create it or consume it.
It always bugs me when I see people driving me to their actual lists, and asking me to use the built-in view, or the filters, to find and do what I need. It’s also why I've been a big fan of Search and Cross-Site Publishing.
Now, I'm not saying PowerApps is a forms replacement or a new InfoPath, but it’s not far off. At the moment, it allows us to create mobile apps, and you could see them as interactive forms that only work on mobile devices.
Could this help us with what we build in SharePoint? Absolutely!
As I mentioned, however, PowerApps is still in preview mode and, well… my first attempt showed me potential, as well as reminded me that it was still in Preview.
Building my First PowerApps Mobile App for SharePoint
Our company offers healthy lunches three times a week for all employees, and uses SharePoint to order our meals for the following week. I thought this could be the perfect example for a mobile app.
1. I started by adding a connection to my SharePoint Online. Following the on-screen instructions wasn’t too complicated
2. Then, I clicked on New, to build a new app, and selected “Start From Your Data”, to allow PowerApps to connect to my SharePoint list and build it for me.
The first time, you’ll have to click on New Site and manually paste the URL to the site that contains the list you want to work with.
3. I then selected the SharePoint list I wanted to work with
4. PowerApps automatically creates the app with multiple screens for me
Unfortunately, at the moment of this preview, PowerApps only seems to support Single Line of Text columns, so I couldn’t get this mobile app to work the way I wanted to for my organization.
Even the Date and Time: I wanted users to have a mobile app control that allowed them to pick a date, and not have to enter it manually as text.
You can see, on the right hand side of my screen, that for each field or object I placed on the app screen, like Body1, Footer1, etc… This is the name of a column from my SharePoint list mapped to it.
Note: The app created for your organization will be available from within the PowerApps mobile app only, and is required for all users. Basically, you create mobile apps with the PowerApps app, if that makes sense. There's an option, however, for a user to create a shortcut on their home screen, allowing them to go straight to the app within PowerApps on their phones.
Using PowerApps to Build Workflows or Logic Flows for SharePoint
With SharePoint Designer no longer getting any updates and riding its wave to the end, we’ve been looking for “that new workflow builder” in SharePoint. It seems that PowerApps Logic Flows is trying to fill that void for us.
Though the interface for Logic Flows is pretty self explanatory and easy to use, you can see very quickly that it was done by developers when you start using it. I wanted to create a logic on a SharePoint list, and the only way to filter was by using ODATA.
It’s the same as with the mobile app creator. When it comes to SharePoint there are column types that aren't supported. So if you say Create Item and have lookup columns, or date and time columns, you either won’t see them or, for date and time, it’ll show up as a simple single line of text and it’s up to you to figure it out.
Again this is still in preview, a lot will change as this progresses. However, I'm very excited to see simple things like “Delay” and “Delay Until” for our logic flows.
Is PowerApps Ready for SharePoint and Office 365 Users
At the moment, it’s obvious that PowerApps is in its very beginnings – a preview. For SharePoint and Office 365 users, and especially for the audience there, I think we aren’t quite ready for broad adoption just yet.
SharePoint and Office 365 attracts the “do it yourself” users, and developers would typically create their own mobile app. For us, it may still be too complicated, and is missing an “understanding” of SharePoint, in particular. If everything is returned as a Single Line of Text, and some column types don’t show up at all, it can't be useful for our business scenarios.
Build a Mobile App is also still relatively complicated, and missing that Power User experience. Granted, this tool definitely should not be in the hands of every SharePoint user, and will require governance, but I’d like to filter a list without ODATA.
Is it going to be an asset for SharePoint and Office 365 Power Users or Admins?
Without a doubt! I can see this eventually doing what I needed InfoPath and SharePoint Designer for. I think, however, we are still 6-12months out. Then again, I don't know the PowerApps team’s velocity.
I've asked fellow MVP Jussi Roine his impressions on PowerApps, and he didn't disappoint. Here are 5 things he learned using PowerApps to build business-driven solutions for his company and customers.
The UI and UX matter, a lot. As a techie, it’s easy to just throw controls on a page and deploy when the app works technically. But for end users and businesses, I need to have someone with an eye for aesthetics – to polish the app, and make it usable. There’s a certain design language behind PowerApps templates and controls, but it’s also very easy to find your own look and feel.
There are still limitations to the usage of PowerApps, especially for Android which happens to be my main platform when using a mobile device, as there isn’t a native app (yet) available. On these early days it’s crucial to figure out how the app will be used, not just by whom.
You might want to use Azure-based enhancements for PowerApps in the enterprise world. This is also something that the IT Pros and developers need to work on, as it’s not enough for just building the apps. Sharing an app one by one is definitely doable but for any large environments a more controlled approach and lifecycle management is definitely needed.
Creating custom integration connections is very much needed. The default connections for accessing your data are plenty, but I found several missing that I needed. One being our internal product and e-commerce platform, which is based on an open-source solution. Luckily it’s possible to build your custom connections with Azure API Apps, and as a developer I found it quite easy with the guidance on MSDN.
Last, learning the syntax and formulas for managing and passing data within your PowerApps solution has a slight, if fairly low, learning curve. It took me a while to get the intricacies of given statements, as they differ somewhat from the industry standards such as C# and VB.NET. If you’re a heavy Excel user, it’s not too far off from what you’d expect to do in Excel formulas.
All in all, I’m already seeing the benefits of providing in-house tools that integrate with our backend systems, and provide a seamless view and access for our sales force and business users. This was possible before with InfoPath, but required a lot of work, dedication, and was still quite limited. With PowerApps, I’m yet to hit the real limits.