Build Powerful Custom Apps Fast with App Maker on G Suite (Google I/O ’17)
Articles,  Blog

Build Powerful Custom Apps Fast with App Maker on G Suite (Google I/O ’17)


[MUSIC PLAYING] MICHAEL WINSER: Hello, everyone. My name is Michael Winser. I’m a product manager lead
in Apps and Cloud Platform. I’ve been at Google
for about three years. But I’ve been building
developer tools, and platforms, and various things, and
obviously using them, for 30-plus years or so. I’m very happy be here
with you today and also the livestream audience. Welcome. And this is my colleague Geva. GEVA RECHAV: Hi, I’m Geva. I’ve been at Google
for five years. I’m the project
manager for App Maker. I’ve worked on Photos
and Maps before. And before then I
had my own startups. For those of you here
in the audience– and probably in
the livestream– we assume you’re business
analysts, IT software engineers, maybe you’re a partner or
ISV writing business apps for your customers. There are probably
some CIOs, CTOs here. And all of you share some
workflow challenges, custom information handling in your
companies, or as we assume, you came to hide from
the sun in the shade. We’re going to tell
you about App Maker today, why we built it,
what you can do with it. We will have a demo and
show you how it works. We have some customer
stories to share with you. And we’ll tell you where we
are today with the product and what’s ahead of us. If we have some time
at the end, there’ll be a few questions
that we can take. MICHAEL WINSER: So
very high level, App Maker is a rapid application
or low code development tool. It’s intended to
allow your businesses to build their own internal
applications quickly, efficiently, and
generally much easier. It extends the range of
things that you can do and the range of people who
can do those things to build applications for your business. We start with really
the core, key benefits. I think speed is the number
one thing that we think about. Time to getting
that solution built, ease with which you do so, speed
is the most important thing we bring here. But it’s also deeply
integrated with all the G Suite functionality of the APIs
and all the applications, as well the other parts of
Google Cloud Platform and Maps and so forth. Another key point
about App Maker is that it’s compliant
with your Drive policies. So as a domain
administrator, applications built using App Maker
are automatically compliant with policies
you’ve applied. So the data and the applications
are limited to the domain the same way you did
control with Drive. So when we think about the kinds
of problems that people have, people are building
applications, they’re using applications,
every business has their core line
of business software, their operational software,
their productivity software. And then there’s all
these gaps in between. And these gaps
tend to get filled out with either manual
processes or, in the past, with SharePoint and
even Lotus Notes. And an unreasonably large
amount of spreadsheets get used and built up to handle
all these little things that are essential to the
running of the business, filling the gaps between
these high order services, but are not core
to the business, not easy to build efficiently. Often they’re being
driven by actual people in the business rather than IT. So they’re not product managers. They don’t know what
they’re trying to do. They just know the problem
they’re trying to get to. That space leaves a lot
of unfulfilled potential in the business for automation,
for efficiencies, and so forth. App Maker is here to make
that space easier to fill, easy to address without creating
compliance and management problems. GEVA RECHAV: I would like to
set the picture here for you. We at Google had
similar problems. A few years ago, our HR
people and recruiters came over to our
IT organization, which we call CorpEng. And they asked us to help
them with some issues they had with recruiting. So we started getting
a lot of candidates. And the numbers went up very
quickly, thousands a month. Each one of these candidates is
interviewed by several people at Google. And each interviewer produces
quite a lengthy feedback. And we realized that it’s really
difficult to process all this and calibrate our candidates
across some skill sets that we care about. Hiring committees also had
a hard time deciding which candidates to give offers to. And we noticed that our
response time to candidates is really lagging. So we realized in IT that we
need to help our HR department. And we built an
internal app for them. More requests came from
other parts of Google. And applications
started to be asked for from many
different departments. One example is a
global holiday lookup. As we expanded and our offices
reached beyond 70 countries, we needed to know which
country has a holiday today. So if we want to schedule
a meeting with one of our colleagues, we don’t do
it on a national vacation day. Another example is our
education reimbursement system. So our employees are allowed
to take some personal courses, and the company
pays a part of that. And so in order to
approve this, monitor the correct use of that, and
also handle all the budget and money transfers, we
needed an internal app. And we built that one, as well. The IT department itself
was getting good appetite and wanted to track their
own internal projects as they became larger with
a kind of custom dashboard. And so they built an
app for that, as well. We realized that we need a low
code application development tool so that we could make our
engineers more efficient, spend less time on these internal apps
and the majority of their time building things that solve
our hard technical problems, and also to empower other people
across the company to build their own apps using App Maker. A handful of applications
became very many over a relatively
short course of time. And we now have around
400 applications inside Google itself. These are used by thousands
of Googlers every day, many of which don’t even
realize that they’re using App Maker built apps. And the fact that we
are most proud about is that 80% of
these applications have been built by people
outside of the IT organizations who are not trained
software engineers. MICHAEL WINSER: I think
it’s important to think about the space that
App Maker can fill, and specifically, the kind of
applications you can build. These are not the applications
that you’re currently building today because most
businesses have basically figured out what apps
they have to have and they’re building them with
their normal IT organizations. It’s all those applications
that you’ve just never been able to take on. And this has a transformative
effect on business. Because all of a sudden,
the business stakeholders, the people right
there in the trenches solving day-to-day
business problems, can go from a need to a
solution very quickly. And it transforms
the whole business, in terms of the potential
of what you can do and the empowerment
every team has to go off and automate or
manage their various solutions. And so our long term goal
is to bring that power to make more and more people
able to get from a business need to a business solution
without IT being overwhelmed by these things. And when you look at your
business, think of it not in terms of, am
I going to change how I’m building my core line
of business or operational apps? Think of it in terms
of, what new apps will I be able to build with
relatively little resources that I could never
have taken on before? Next slide. So now Geva is going
to give a quick demo. We’ll do some live
coding here on stage. So what could possibly go wrong? If we could switch over
the demo screen, please. And he’s going to talk you
through actually building an App Maker app from scratch. And you’ll see just
how quickly and easily we can go off and build things. Over to you, Geva. GEVA RECHAV: So what I
want to show you today is how I built a project tracker
for my own little company. And as in many cases
with many cases, it’s based off a sheet that
we used to use in the past. And we now want to make it
have UI that’s easy to use. And I’ll start doing this
with a new app in App Maker. There some pages that
are predefined here. The first step that we do
is to bind our data source to the app. So I’m going to
connect the sheet that I’ve just showed you to
App Maker’s internal storage. Let’s call it “Project.” And I’ll import the fields
from a Google spreadsheet. So I only have one here,
which I’ve showed you. I get a quick preview
of the fields. So I can confirm that
this is the actual data model that I want. Each of the columns
is a variable here. And I can see that they are
defined before I create them. I can also add fields
to this data model. So I’d like to add a new field
for the Owner of the project. And I can also move this
around to be the first column. And I also add a field
for the Budget allocated to the project. I can move that one over here. I’d like to show you
some more functionality. For example, for Priority, if
I click the Advanced tab here, I can choose whole
numbers and actually set values for the Priorities
of all the projects that I want to track. So now that we have
our data model, we can go over to design
the UI of the application. So I’ll start off
with the Main page. And what I want to
have here is a table that will show all my projects. So I open our widget,
our widgets here. And I drag a table onto my page. I get prompted to ask which data
source I want to bind this to. And I’ll make all the fields
except the Owner and the Name editable. Choose the default. And we
have our table defined here. There is also the
FAB here, which I want to add an action to
so that when you click on it, I want to open a dialog that
will go to the Create Project page. So now let me go to the Create
Project page, where I’ll choose another widget, which is
a form for data entry, also bind it to my data source. And here we don’t
need the Done field because this is just
when we add in projects. For the Owner field, I’d like
to show you a functionality that we have here, which
is the User Picker. I can drag that into the form. And I’m prompted to ask whether
I need this data model– the directory one– and I do. I will bind the owner to
that field in our data model and put a label so that when
we have the form in the app it’s readable. And I can delete the
simple Owner Input field. So now I have this form where
I can add in my projects. The one thing I’ll do is
on clicking the Submit, I would like to
close this dialog, so I can add a custom action
where I can actually add some code to close the dialog. I can do that later. And so now when I want to add
some more visuals to our demo, I can go back to the Main
page and add a bar chart to show how our
budget is utilized. This will be tied
to the Project. And for each project,
we’ll show the bars. So what we do right now is
we create the application. We can do a preview
and see a version of what I’ve built so far. And we do need to go some
authorizations for data access the first time that we do this. And I’d just like to make a
few shortcuts here and move to the finished app that
would be created from this. And so it would look like this. We have the chart here, the
bar chart, with projects that I have already added. I can click on the FAB to
get the form in front of me and add another
project for Devin, who is an engineer in our team. I can choose a Priority
for this project and ask Devin to do it
by the end of next week. MICHAEL WINSER: Probably
need to refresh. GEVA RECHAV: And let me try and
add another project for myself. I can show you my
Inbox that’s empty. I’ve added some
functionality here to send an email to myself. Hope this will work. Here is the User Picker. This is high priority
to finish this demo. Today. And here you can see
the email in my Inbox. Or supposed to be here. We– MICHAEL WINSER: All right. That’s the mail. GEVA RECHAV: OK. So I just showed you how you can
build a Project tracker pretty quickly. Except for some things
that we didn’t see here, I think it went really well. Obviously, when you start
building this out on your own, it would probably take you
more than just 10 minutes. We had prepared some
things in advance, but that’s about the scale
of building a small app. MICHAEL WINSER: Can we flip
back to the slides, please? Advance. So as you saw, Geva
was able to build a mostly functional application
in just a matter of minutes, live on stage. Usually when you have
a little bit more time, you can go deeper
and flesh it out. Whether it’s building a project
management tool, or an event tracker, or some automation
system for your business, it’s all very straightforward. What I’d like to do now is talk
a little bit about how this all works, what’s
underneath the covers and how we built these things. So next slide. So we’ll start with the
editing environment, the IDE for building
up microapplications. It’s a standalone application. It happens to be running on
top of Google App Engine. We’re trying to self-host
as much as possible. That editor creates
and publishes an application that runs in
the execution environment. The execution environment
is Google Apps Script. So if you’ve ever used
Google Apps Script, it’d be very familiar territory. It runs the same way. We’ve done a lot of
work to Apps Script to beef up both its performance,
its capacity, how long you can run big apps, and so forth. And we’re continuing to extend
out the API surface for Apps Script, as well, to make it more
capable for these applications. Within that, we have
a storage model. It’s built-in storage as
part of the App Maker thing. So you don’t have to
provision databases. You don’t have to go off and
spin up a SQL Server, something like that. It has built-in
storage as part of it. And we have data
connectors that allow us to connect to a
variety of external data sources such as
MySQL, Cloud SQL, of course, Postgres and
other third-party resources. And that’s an area we
will continue to invest. Next slide. App Maker will be delivered as
part of G Suite for Business. So if you are a G Suite
for Business customer, you can get App Maker. You will have an unlimited
number of applications, unlimited number of databases. It’s basically just tied to
the price in the business model of G Suite for Business. And then you can build out as
many applications as you want. We know that these
applications tend to be small and have medium
usage every now and then but can spike crazily. We’ve scaled– we’ve
built our whole scaling model around the G Suite
for Business licensing model as it just scales
with your organization and lets you build
out as many solutions as you need for your business. Next slide. A key part of App Maker– and
we heard this early on with our own internal development,
and our customers have reiterated this point– is integration with as many
Google services as possible. So every G Suite API, many,
many Google Apps API’s, many of the YouTube and
ads, a lot of ad systems run through Apps
Script, as well. Cloud Platform, of course,
is also deeply integrated. All of these things are directly
accessible from within App Maker. Some of them have high level
widget support and other things where you can just go off
and write code directly to access it. Next slide. So now what I’d like to
do is talk a little bit about some of the things that
our customers have already been doing with App
Maker, just to give you a sense of the different
kinds of applications people can build. So there’s a company
called Ocado. They’re an online retailer
in the United Kingdom. Very strong technology-focused
company, so they’ve been really building
from the ground up with a lot of
technology investment. But even there, their IT
organization, as I said before, is very much focused on
their line of business, their core operational needs. And so a lot of the gaps in
between were left unfulfilled. In particular, they
have– like Google– they actually have a pretty
aggressive training program. Can we go back a slide, please? Can you go back a slide? Thank you. They had an internal process
for managing training requests, so their staff can go off and
sign up for various trainings and conferences. And the management
approvals, the tracking of expenses, the whole
process was just brutal. And they were just drowning
in sheets and paperwork and emails. They had all kinds
of manual processes. They thought App Maker was the
perfect opportunity for them to go off and
tackle that problem. And in about 30 hours
of Eng time, they had their first version of
this training management tool in place and being
used by internal users. I mean, obviously, they’ve
continued to invest in that, but in 30 hours,
they had something that was already making
their world a lot better. Next slide, please. Another company
called Quora, it’s struggled to manage
just scheduling of various internal
perk activities, whether it was
access to, I think they have a massage program
like Google or something. Again, they had a
scheduling problem. They literally were
printing out spreadsheets and having signup forms. And it’s amazing. And it always strikes me
how, more often than not, the competition for some
sort of automation solution is paper, for
better or for worse. And so they were able to
build out an application, replace a lot of these
spreadsheets and paper things with a simple application
that allow them to manage– in a distributed way
across the organization– access to these resources. Next slide, please. I’ll also talk about
the State of Wyoming. The State of Wyoming was
a very interesting case. They’ve been early
partners with us. They understood the
potential of App Maker and participated in some
of our early workshops. And they were able to imagine
all kinds of applications. The first one they
built actually started with their own
internal security people. These security people were
responsible for monitoring various types of events
from users and systems across all of their IT
systems and were struggling to just keep all this
information together and to figure out how
to act, or to even see connections between
various security events. And so they were able to build
an application very quickly and connect that with the
existing G Suite Administrative Security Events
with other systems to bring a global
picture, and then add their own layer of
policy and interpretation on top of that to create
a more secure system. Now, what was
powerful for them was that the people
defining the need here were not the IT developers. These were the
people actually doing the job of managing security. They knew what they needed,
but they were not developers. And this picture– a little
bit staged, I’ll admit that– but ultimately, it’s
exactly what happened. The security office people
sat down with the engineer and said, I want it
to look like this. I want this information here. And so instead of having to
write a spec or a document that is not what their
normal day job is, they just knew it
when they saw it. And the engineer was build
it, react very quickly. It was a very powerful
experience for them. It really changed how they think
about building applications. I’ll let Geva talk about
now where we are today. GEVA RECHAV: Where are we
with App Maker right now? We started out about a year
ago with a few large customers that were building applications
with very close guidance of our engineering team. And they built some
of the applications that we told you about. Last November, we announced
our Early Adopter program. This made App Maker available to
every G Suite Business customer that applied to our program. And this can be done online. What we are planning
for later this year is to launch this as a
general availability. And this will mean that
every G Suite Business customer will have this product
as part of their G Suite core services. The way to get into our Early
Adopter program is to go to gsuite.google.com/appmaker. And your admin needs
to put in their details there and ask to get
into the program. And in a few days, you’ll be
able to use the product just like I showed you here
and in the same way that every customer will
be able to use it shortly. Now I’d like to tell you what
are some good ways for you to start using the product
and build your own App Maker applications in your company. We look at the world
of business custom apps as split between different
major categories. One popular use
case is data entry. A lot of companies
are collecting data from different sources and
want to aggregate and display those in a manageable way. One example is inspections
that a lot of companies have to do for health and safety
in their different branches, or just to check on inventory
and different other things in chains of stores. The second category that
we know about is reporting. There are a lot of
applications that actually want to show decision
makers what’s going on and what data is
available for them to consider what
they need to do based on different sources
from various databases and areas in the company. So a very urging
example for this is the register that the
EU has actually chartered for all companies in the EU. They need an Information
Asset Register. And each company needs
to have available all their intellectual
property assets monitored by who has access to what. Another application
that we see here is dashboards for the
performance of different lines of business in the company. And many companies have
custom requirements for how they want
to see this, or how different roles in the
company, what views do they need to
have for this data. The third area that is
very popular is workflow. By workflow we mean some
kind of multistage process that a few people or a few
parts of your organizations are involved in. And it’s usually serial and
based on the previous stages, like this is what
you do going forward. And there are lots and
lots of examples here. One is how to actually create a
price quotation for a customer. Another one that we see
here often is a help desk. Many customers implement a help
desk using different G Suite products, like forms,
sheets, and sites, whereas, if you use App
Maker and build your own app, you can have your
own dedicated UI and implement very
custom things that are unique to the way you
handle tickets in your company. Another thing that we
want to help you with is to really identify
in your company what are the signals for areas where
you should build an App Maker app, or if you build an app
you would really benefit from. And these indicators are– they have different forms in
different parts of the company. One thing that we
see a lot of time is the spreadsheet from hell. This is the very
large spreadsheet, or a lot of spreadsheets. And many of you know
these in your companies. And they usually have lots of
columns, many lines of updates. There are usually
more than a handful of people that are
taking care of those. And what this usually means
is that there is an underlying workflow in this spreadsheet. And App Maker can
help build a UI that’s custom to different roles that
are managing this workflow and also provide different
views to managers, or people who need to
take a look at the data during the workflow and
see how things are going. Another advantage doing this
with a dedicated and custom built UI is that you have
less errors in data entries that working with
a sheet is always something that can happen. Another signal for a
candidate App Maker app is bulk operations. And the examples that
I want to outline here are G Suite product
Bulk Operations. A lot of companies
send out bulk emails based on specific events
that have occurred. In some companies, people have
recurring meetings or events that they want to invite
a single person to. Also, there is the issue of
employees leaving the company or starting working
at the company. They need to be added
to a lot of meetings. And doing this is usually
a long manual process. If you could build a small
Suite app that you could just tick which meetings you want
this person to be added to, click a button, and have
this done on your behalf very easily. The third area that
I want to point out is existing extensive
scripting in the company. So many of you are probably
using Apps Script or BigQuery. And that means that
you have already been thinking about
implementing custom business processes in your companies. And App Maker could
help you build these faster and in more
productive ways to create possibly nicer
UIs and spend your time as engineers or business
analysts doing the core parts of your business. MICHAEL WINSER: So what’s next? We’ve had a great
progress so far, but we’re looking ahead to
the next things of what we we’re going to do
with App Maker. The key thing is
we want this to be an increasingly open platform. We want people contributing
to it and so forth. But we’re going to
really bootstrap that starting specifically
with sources to data. We recognize that
applications want to take advantage
of data bound access to various underlying
business data. And it’s not just
about a data that’s stored in a spreadsheet
or piece of database, but also existing systems
that you have that you want to bind data into. It’s already possible to go
off and build read-only data sources within your application. But we’re going to
extend that to go to more different
types of SAS products, more database sources
directly to make it easier and easier for you
to build applications that are integrated with
the data of your business. We’ll add more
samples and modules. We have a growing library
of ready-to-use applications where you don’t even have
to go off and write code. It’s just an application
where you can just customize the user
experience a little bit and launch it inside
your business. We are also actively starting
to create a community around the development
environment so that everybody who is
an App Maker developer can lean on each
other and benefit from each other’s
learnings and lessons across the organization. Every App Maker application
can be distributed internally using G Suite Marketplace. So when you build
an application, you need to deploy it
to your organization, you can take of all the
OAuth grants and management at the administrative level. So if you want to learn
more, go to these links, developers.google.com/appmaker. And then there’s a long
link towards the code labs. If you work your way
through those code labs, you will be a proficient
App Maker developer. They have been in
development internally for a very long time. They’re quite rich. And they cover
everything you could need to know about App Maker. And it is remarkably easy
to get productive with that. Next slide. If you’re not in the App Maker
EAP right now, please do apply. As Geva said, it needs to– application needs to
come from the domain administrator of your G
Suite for Business domain. But once you’ve done that, we’ll
quickly turn it around to you and get you going
inside App Maker. Next slide. So I’d like to bring
it all together. I hope you enjoyed
our talk today. We’ve been working on
this for a very long time. Geva and I here are
just up on stage, but really, there’s an army of
engineers, and support people, and sales people, and just
every part of the organization has been working for a
long time to build this. This project has been under
development for, I guess, 4 or 5 years now. Something like that. It feels like that, anyway. Just telling you what
we already told you. This is a low code
application development tool. You can bring it to bear
on solutions you would not have otherwise dared to touch. [MUSIC PLAYING]

Leave a Reply

Your email address will not be published. Required fields are marked *