- Coming up on this special edition of Microsoft Mechanics,
I'm joined again by Charles Lamanna,
the CVP of Microsoft's low-code platform,
to show you how anyone can now build an app
directly from within Microsoft Team using Power Apps
including the latest templates to quickstart your efforts.
And for pro developers, we're gonna show you how now
T-Mobile has built mission critical apps using Power Apps
with custom code, Azure APIs, and connectors.
So, Charles, thanks for joining us again today.
- Great to be here.
Thanks for having me back.
- So every time we have you on,
even within the space of a few months,
you've always got a ton of updates in this area
of low-code development experiences.
- Well, it's a super fast moving space with tons of demand
and requests from our customers.
We really think that anyone in any company
should be able to go build their applications
without having to be an expert on writing code.
And that's really what we're focused on doing
with all of these updates is just making it easier
and easier so we can reach more people with Power Apps.
- Of course, a great point here.
And a great proof point is the integration of Power Apps
and Microsoft Teams, which makes building app experiences
around the things that you do every day
now accessible really for everyone.
- That's exactly right.
Something we're really excited about
is how anyone can now build applications
from directly inside of Microsoft Teams.
And you can do all this without ever having
to leave the Teams UI or the Teams experience,
and you can literally build it from scratch
and solve problems that you face every single day.
Some of the most useful applications that people create
all started out as just pen and paper and clipboard.
Let me show you just how easy it is to build it.
So I'm going to open up Power Apps
inside of Microsoft Teams.
I've already got Power Apps into the side here
where you can just go search the Teams app store
to get it installed and get started.
From there, I just click on Create an app
and select the team where I want to install the app
that I'm building, and just like that
I'm able to get started in Power App Studio.
And it's the same experience, the entirety of Power Apps
right here inside of Teams without any compromises.
So I have this great blank canvas to design whatever I want.
And in my case, I wanna go create
an inspection checklist app
where I store data from the store
about different inspections that are happening.
And as we start building, you'll see Power Apps
actually looks very much like PowerPoint,
modeled after the office applications
everybody already knows.
So even if you aren't a developer,
you can get started building apps.
The checklist is essentially a table.
So what I'll do first is create a table
that describes the different inspection steps.
I can do that right here inside of Power Apps
by clicking Create.
And I can do all of this
without having to leave Microsoft Teams.
This gives me a tabular experience.
It looks just like what you already are used to
inside of Excel or inside of SharePoint
and all the other Office products.
So if I start editing here, I can say inspection name,
and maybe I want to add something like the inspection date.
And when I do that, you can see that
I have a whole bunch of data types to choose from
inside of this tabular experience for Power Apps.
So I select Date, click Create,
and then I have a day column just like that.
It's that easy to get started with these advanced types.
So if I keep going,
maybe I say something like the inspection location.
I'm going to use something called a Lookup
that we'll look at another table I already have
about area inspection locations inside the physical store.
And this will just be things like front office,
back office, that eating area, things like that.
And if I click Create there,
I can really easily hammer out things like
indicating if it's clean,
which I use a choice, so yes or no.
You can see that quickly auto-populates
the metadata for a very rapid, rich experience.
And maybe I want to say whether or not the area is stocked
because you know I'm going to inspect a retail location,
so I can just use yes or no there as well.
And if you go look at this,
this is just like what you know
from Microsoft lists in Excel.
Very easy to get started, but you're getting
the full power of Power Apps behind the scenes.
And what's important for this
is I can define my entire schema
for all of the inspection details that I need
right inside of Power App Studio in Microsoft Teams.
- Right, and a great tip here.
As you get started,
you'll wanna fill in a few of those rows of data manually,
so that you can see what things are gonna look like
as you design the user interface for your app.
- That's right.
So I'll fill out a few different rows right here.
I'm gonna use some examples from around where I live.
So I'm going to say downtown Seattle,
I'll say September 12th.
And for the inspection location,
I'm going to say front tables.
I'll say it's clean, but not stocked.
Maybe I'll also use Downtown Bellevue.
I'll say that's an inspection day on September 14th.
I look at the information kiosk,
and it was clean and stocked.
And then maybe I'll go out Issaquah and say September 8th,
choose some other location,
and say that it was not clean, but it was stocked.
And what's great is I went through all of this.
You can see that the table was automatically populated
with those rich controls to do lookups
here in the inspection location table,
or to go do the yes, no values
on whether it's clean or stocked.
So it's very easy to rapidly create this thing
right inside of Power Apps.
I'll close this down.
And the next thing, I'm just going to start
to use the normal controls that everybody knows
and loves inside of Power Apps.
So I'll drop in a vertical gallery,
which is just a list of items
that I'm going to bind that to the inspections table,
the table I just created.
And I can go over to the side here and change the layout
that Power Apps provides.
So you can see that I have those inspections
from downtown Seattle, downtown Bellevue, and Issaquah.
And then I can say,
go drop on something called an edit form.
I'll drop on the edit form on the side.
And I combine that to the same data
that I created inside of the table.
And when I do that, you can see all those different fields
start to show up just like they would on the gallery.
I can even choose the fields that appear.
And I can see there's a whole bunch of other basic fields
that were automatically populated and created by Power Apps.
So you don't have to define them.
That's one of the big benefits
of using Power Apps to store your data.
In this case, maybe I want the inspection date,
inspection location, and whether or not it's cleaned
and whether or not it's stocked on the form.
Add all of those in, and I can start to see my form
has all of these advanced types right inside of it,
all automatically and very easily
and just binding the item I want to show in this form
to that over here on the gallery.
And 'cause if you look up on the top,
you can see that I'm using the formula bar,
just like you would inside of Excel.
And you can see that the app automatically refreshes
without rebuild or recompile.
So if I click on downtown Bellevue,
it says downtown Bellevue here,
and what's exciting is that the inspection location
is that same dropdown that we saw inside the table designer.
And even whether or not it's clean or stocked,
those are all the same rich controls that I get
automatically from the experience inside of Power Apps.
And once I'm done, you wanna do a quick other thing,
I'll go drop on an add button,
so if we wanna create new inspection records,
or maybe I want to go create a quick label on the top,
the same mechanics demo for our inspection,
and you can see how I can really quickly
assemble an application.
It looks pretty nice, very rapidly and very easily.
So maybe I drag this right here,
maybe not the most beautiful app, but it gets the job done.
It makes it easy to go replace
those clipboards for inspections.
I can very quickly save.
And my favorite part is that once updated,
I can publish this application to Microsoft Teams.
I just, after clicking Publish, it saves, it updates.
I can able to take this application
and distribute to the rest of the team that I work with
to do inspections right all inside of Microsoft Teams.
And that integrated capability
is one of the big announcements
that we're excited about today.
In maybe just 20 clicks or so
I was able to go create this rich application
with a backend all inside of Teams
for both the app authoring and the data creation.
And just like that, my app's ready to go.
- And that was a super simple app, really easy to create.
It's way more streamlined of an experience now.
- Yeah, and it's simple,
because of that experience we're announcing today.
As you saw the Power App's authoring studio's now
entirely available natively
integrated inside of Microsoft Teams.
So you can build powerful applications
without having to leave Teams at all.
Behind the scenes, we have something called Project Oakdale,
which is our code name for now,
and that's a built in low-code data platform for Teams.
And so, for example, when we created that table,
Oakdale was providing a heterogeneous storage
behind the scenes.
It's provisioning the right data store
to capture the right data,
whether that's Azure SQL Database, or a structured data,
or Azure Blob Storage for unstructured data,
or Cosmos DB for any other data,
it's all coming together with standard schemas
and standard data types.
But Oakdale does so much, much more.
Behind the fields, it has an entire security layer
for authentication with identity and access management.
And all of this power is made available to you
behind a super simple UI in Microsoft Teams.
- And I really like that all this
has the kind of the robust backend enterprise ready,
really easy to use front end creation that we saw.
But is all this part of the Microsoft Teams license?
- Yes, absolutely, that's right.
And that's pretty substantial.
Inside of your Teams license,
you can put over two gigs of data into a project Oakdale,
which is equivalent to over a million rows of data.
And by the way, all these apps are enterprise ready.
They support backup and restore, role based access control,
and all kinds of advanced compliance
and certification capabilities
including data loss prevention.
And all of this works out of the box
right inside of Microsoft Teams with your Teams license.
- Good stuff, I've gotta admit, though,
I'm one of those casual devs who kind of likes to start
with a template app and reverse engineer it
to something that will suit my needs.
Can you help with that?
- Yes, exactly, and you're not alone.
So we have a whole bunch of templates available now
with the power platform inside of Teams.
And these are for common applications
that our customers may face day to day.
In this case, I wanna show us some really great examples
like area inspection, employee ideas,
issue reporting, or asset management.
And one of the best ways to see it
is what one of our customers, T-Mobile, did.
They use that inspection app template to really get started
for a great rich inspection experience.
So if I click through here through that app,
you can see that it's right inside of Power App Studio
inside of Microsoft Teams.
And this app is pretty nice.
It has a great visual experience
for the person doing the inspection.
If I go click through to inspect an area,
we can see there a nice list
of all the different store locations,
or maybe I want to take an action as a T-Mobile employee.
Say I go look through the accessories,
I can see the store opening walk details,
just a series of steps I'm supposed to follow,
and we see all of this is wired up really naturally
and themed and modeled after the T-Mobile colors.
And that's, what's great about these templates.
You can take them right off the shelf to get started,
get tons of value, but tweak them
to what your company cares about
and the way your company wants applications to look
all using those advanced capabilities
that are available inside of Microsoft Teams.
- So what happens, though, in the case
where maybe my app gets really popular,
I might get close to reaching
that two gigabytes size limit then on the data,
or it becomes mission critical?
Maybe I need more people overseeing it
from a security and compliance perspective.
What do I do there?
- So this is a pretty common opportunity for our customers.
Sometimes you just don't know if we wanna invest
in making your app really complicated
or advanced backend from day one,
so you wanna take care of all of that with Project Oakdale.
So what we've done is that although Oakdale
works great for tons of different use cases,
we always can give you more power when you need it.
So if you want more capacity, more capabilities,
or more control, you can easily promote Oakdale
to the Common Data Service.
And the Common Data Service
provides a whole bunch of capabilities.
It's over four terabytes of data storage out of the box,
a broader foundation for data integration
that includes pro dev support with API and SDK access.
And you can even connect to the Common Data Service
with APIs or T-SQL endpoints,
or SQL Server Management Studio.
So along with even more connectors to your apps,
Webhooks support and Azure Event Hub and Service Bus,
you can integrate with everything and more.
- Awesome, so you can really increase your storage
then as your app gets more and more use,
and you've even got programmatic ways
then to extend it further.
- That's right.
And you can choose from a larger collection of connectors
that link to both internal
as well as external data sources for your company.
- Right, and one thing is I gotta say,
taking advantage of kind of these additional services,
things like Common Data Service and using connectors,
it's kind of the next level of sophistication.
So, do you have any examples
then of places where this is done?
- Absolutely, while still a low-code platform with CDS,
professional developers can step in to really enhance
and collaborate on the application of providing connectors
to their own internal data sources
and backend microservices.
And let me show you one of my favorite apps.
It's one built by T-Mobile, an application called Orbit,
and this uses all the great capabilities
of Common Data Service behind the scenes.
And we'll start by just looking at the end user experience,
what the app looks like,
and then show how it's built in just a second.
So the app you're seeing right here
inside of Power App Studio
makes it just so that T-Mobile was able to go manage
and track campaigns across over 29 different business units
within the company, and it uses Power Apps and CDS.
So you can see, I can very easily create a new campaign
or new project right here,
but I can switch over to a list view.
And this will then show me all the active projects
across the entire company.
And I can very easily go drill into this project
around a vice promotion that allows me to go see
all the different information
about the project and what it means,
things like discounts and potential partners
and wireless advocates.
I can go through the entire business process
looking at the details and know who's working on it,
what brand is going to be used, who the sponsor is,
things along those lines.
And for campaigns like this, approvals are really important.
So there's actually an entire approval process
built into Orbit.
So you can make sure all the right departments
and business units are signing off,
and you can see things like teams
or attachments also associated with this project.
It's all wired up in a super easy to use experience.
It's incredibly fast and incredibly responsive.
It was all built using Power Apps
and the Common Data Service.
And what's great is that you can see the T-Mobile themes,
the T-Mobile color, the T-Mobile icons
so that really feels like an app specific to T-Mobile.
- It's really great to see,
but how did T-Mobile then incorporate
all those different data sources into their Orbit app?
- So I'll go switch back over here and what I'll do
is I'm gonna show the Power App Studio experience,
and we can see that what's great is on the left hand side
inside a Power App Studio,
there's all these different data sources.
And if I scroll through here, what's amazing is that
it actually uses dozens and dozens of different data sources
to get the job done.
And one in particular is very interesting,
and that's this one, the CDS GTM entries data source.
It was a custom connector
built by the T-Mobile development team
on top of APIs the developers already built.
This allows them to go extend and get more information
about the go-to-market entries
right from inside the Power App Studio
using all the other low-code tools that they're used to.
And you can invoke this API
from inside of Power Apps without any problems.
- I really like that T-Mobile's professional developers
then made the connectors available
to their Power App developers as well,
but how were they able then
to build these connectors and APIs?
- So let me just switch over to Visual Studio,
which is where most of our developers
want to write their APIs.
And we can see that T-Mobile
has authored GTM entries API using .net,
using their standard route, the standard technology,
and all of the standard development processes
they're used to inside of Visual Studio.
- Okay, but then you need a way to host that API.
So, your developers basically can call it.
How did they do that?
- And that's right.
And in the case of T-Mobile,
there are a lot of options out there,
but they went with Azure API Management.
And what's great is if I come up here and click Publish
on my solution inside of Visual Studio,
I'll get a very easy to use experience
to get it published directly to Azure API Management.
And once I do that,
I can invoke it from inside of the Azure Portal.
So just by clicking Publish,
this API for Visual Studio will show up in Azure.
Now, switching over to the Azure Portal,
we can see here is that the API
I was looking at inside of Visual Studio,
I have a great experience with Azure API Management.
If I click through into the API,
I could then start to see all the different APIs,
T-Mobile registered to look at, to use,
or to tweak as needed.
And if we look right here, we can see the GTM entries API.
That's the same API that I actually want
to have show up inside of Power Apps.
I can do things like clone or edit or delete these APIs.
And if I want, I can go to the high level API
and actually export it, with a single click,
to Power Apps and Power Automate.
And what's great is you can actually see,
although I'm inside the Azure Portal,
is looking up all of my Power Apps environments.
So you don't have to copy paste a manifest, XML or JSON.
It just shows up naturally right inside of Power Apps.
So once I've done this,
I can then switch back to the Power App Studio
that has the same API showing up right here.
It's that easy to go from .net code in Visual Studio
to an API registered inside of Power Apps.
It's that seamless, all wired up naturally
now out of the box.
And one more great piece of news is that
Azure API Management custom connectors
are now free for apps users inside of Microsoft Teams.
- That is great news.
And I have to say it was easier than I thought it would be
in terms of building and hosting all of that.
And now the nice thing is developers
can leverage the same data and services,
so that their information's more consistent.
It's gonna save everyone, whether you're a pro dev
or a low-code dev, a lot of time.
- Exactly, we wanna make it super easy to get started.
And there's always more power
available to you when you need it.
So that if you wanna go extend and enrich the front end
to build custom controls, you can do that.
If you wanna go extend and enrich the backend,
you can do that with custom connectors.
That will you never run out of gas,
never run out of power when it comes to Power Apps.
That way, if you're a low-code developer or a pro developer,
you always have what you need
to go build powerful applications.
- Good stuff, so we started out with super simple apps
that really anyone can build
to more advanced scenarios for pro developers.
But if we're new to Power Apps,
what's the best place to get started?
- To get started, you'll find everything you need
at powerplatform.microsoft.com, takes seconds to sign up,
and you'll have your first app in just a couple hours.
Go give it a try, go get started.
- So thanks so much, Charles.
I gotta say that one of the best parts of the show for me
at least, was watching how anybody can build an app
directly from within Teams.
So if you're a Teams user, take a moment and try it out.
That's all the time we have for today's show.
Hopefully we answered all the questions
that you have on this topic.
Of course, to stay up to date
with all the latest techniques at Microsoft,
be sure to subscribe to Microsoft Mechanics,
and thanks for watching.
(upbeat music)