(upbeat music)
- Welcome, thanks for tuning in.
In this session, we look at some opportunities for developers like you
to build new and exciting experiences for your users
that also happen to use Google Workspace.
The point of this slide is a little bit tongue-in-cheek.
No need for an introduction to Google Workspace.
You’re here at I/O checking out content. You know what Workspace is.
Even if you don't use it in your daily business,
you’ll have a good idea using a solution,
like for your own personal productivity.
But what I do want you to do, is think differently about it.
You joining the session is a first, great start.
But most folks, as you know, they know Workspace,
as this out-of-the-box business productivity solution.
It's a suite that just works for users.
But for developers who really wanna engage their users
who use Workspace, it can be a whole lot more
than just an out-of-the-box solution.
Where it starts, and ends frankly, is with the user.
If you think back to when Google was first formed,
we established our philosophy of the 10 things that we know to be true.
And number one was and still is, that the focus on the user
and all else will follow mantra is true. It's a key tenant that we use here
with the Google Workspace team today. Keep users productive, keep them engaged,
keep them focused on getting things done, they’ll keep coming back
to your solution, and recommending it to others.
When thinking about Workspace user experience it revolves around a couple of key principles
content, context, interactions, and workflows.
Well, content’s obvious.
These are the things that users work on, or with, inside of Workspace.
These are what users use all day long
to get their job done, or do the tasks
that they need to do to be about their business.
Context is how they use those items relevant to tasks they’re doing,
to work they’re performing. So for example, I may get an email
which has content from a customer
requesting something that has some specific context.
That context, who the customer is, what are they asking for,
what I need to do with this email,
that’s the important piece that takes us to the next step.
Interactions.
Interactions are, what do you do with that content?
What am I supposed to do?
How do I respond to the user of that email for example, to that customer?
Do I look up something first? Do I get help from a colleague?
Do I actually engage an application like yours
to do something, to create an action,
or to carry out a workflow process to get it done?
That’s where workflow comes in.
It actually wraps all those things up together.
And it's really the experience of users
as they move through their daily lives, using Workspace.
The neat thing about Google Workspace as a platform
is all these components are available
for you to create your own custom solutions
and make these experience for the users even better.
As a developer think of Google Workspace as a development platform.
Now, of course it’s not a traditional development platform,
as in you build full-stack applications
from start to finish, with all tooling
and all the infrastructure that you need.
It’s still, at its heart, a business productivity suite
for both consumers and for businesses.
But with it, you can integrate your own solutions into it.
You can leverage its user experiences, its content,
its workflows, add new features to it and take advantage
of all of those pieces that make up Workspace
to better and enrich your user experience with your applications.
What I do sometimes is break up Workspace into pieces, and think about it
from a developer standpoint.
So first and foremost, the primary building block
that you can use is all the content and data stored within the platform,
like documents, emails, stuff in Drive or even chats, people contacts,
all these types of things that you can access
or even create from your own solution.
These are the beginning building blocks.
Building on top of that, we offer a set of tools
and workflows that as a developer, you can build on.
Almost every area within Workspace is available through exposed APIs.
There's a very extensive list that covers the majority
of the Workspace stack.
Workspace APIs also offers its own Java-based scripting language, Apps Script,
which hopefully you’ve heard of also.
This makes it super simple to reach all those APIs.
It's a combination of those tools, the frameworks, the UIs, our APIs
that allow you to create a really rich user experience.
Really shaping the way your app's been reaching
and engage with folks inside the platform.
Wrapping up the platform, rounding it out,
we have Google Workspace marketplace.
It's a publishing mechanism for solutions to be discovered,
to be deployed by both consumers and businesses.
Again, think of the pieces and the opportunity here,
yeah, Google Workspace really is a development platform of sorts
that you take advantage of with your solutions.
Let’s talk about some of the key components in detail.
I want to get you excited about how you can build
with some of these frameworks and show what they can do.
Let’s start off with what is probably the most popular integration method you’ll see
for developers like yourselves, and that’s add-ons.
Add-ons, as the name implies, allows you to create
new capabilities to Google Workspace.
For me, there's really two great values that add-ons offer.
The first one is one a lot of folks, as developers, ask for.
I'd love to have my application, my solution side-by-side
in a window, where users of Workspace are working.
But second and more important
than just giving you real estate, is we allow you to grab
that important context of the way the user is working.
Help them really improve the experience
of what they're working on, by offering them something
to do that's relevant, timely and compelling
and easy to include our solutions and our tools with yours at the same time.
That’s the beauty of add-ons,
is blending the greatness of our apps in your apps.
The next thing we offer is again this beautiful opportunity
to have real estate, to have a window right inside Google Workspace experience.
And so the home page,
like a web page but this way, inside a Workspace
allows users to load your add-on.
And as a developer, you have an opportunity
to create your own UI presence inside of Workspace.
With this homepage you can have generic functionality
that is common to your solution,
or instructions on how it works or whatever you put in there
that simply makes us experience richer.
And then the neat thing is, this homepage can be displayed
across all the different Workspace apps that you hook your add-ons up to.
Here, you see we’re sitting inside
of a Gmail with a tasks add-on, but if I was to click
over to calendar, notice that it's similar.
I can see all my tasks,
but it’s slightly different, as it’s now
in calendar and that's the way I intended it.
I can change some nuances to be more calendar-centric.
And of course here it is working in Drive.
So again, I can have that consistent homepage
or it could adapt it per app based on what the use case is.
So the beauty here though, is as a developer,
you only need to write and deploy one add-on,
one code base and it can light up
across all different Workspace apps like Gmail, calendar, Drive
and all the editors, Docs, Sheets, and Slides.
So you write, deploy once and your application shows everywhere.
But again, working within context of the way that user is working
and the app that it's being hosted in.
Look at this scenario. Again, we’re back in Gmail.
But in this case when I opened up the add-on, it’s an issue tracker add-on
for handling customer requests and bugs and things like that.
And notice again, it's automatically opened up,
based on the context of the email received.
The user needn’t do anything.
And the way it works is the add-on was able
to infer the context that this is in fact an issue from a customer,
because it has a safe scope access to the email.
And then in the logic, it can grab that item,
out of either the subject or the body of the email,
automatically go off, look up that information
of the customer issue, display it in the side panel
right in context, without the user doing anything.
Now you can also see that the user can do things
like change the priority or reassign this task.
Common actions that make sense again without having
to switch tabs, change focus, get distracted, or get lost along the way,
Just do things in line the way it works. Super neat.
As I mentioned, add-ons can run differently in different Workspace apps.
In this case, here, I've got Gmail showing once again.
And Gmail has some really neat features.
Like for example, I can manage compose time
or send time actions on emails
in context inside of Gmail.
So say for example, I want to help somebody author an email,
I can post time. I can provide them with boilerplate text
or add a footer or check language or add grammar,
whatever I want, automatically
for them to make email creation faster, easier
and along my company standards.
Just a quick note, the add-on you create
for these Workspace desktop apps could also work
in mobile scenarios for some apps
like Gmail and calendar for conferencing scenario.
So again, right, one add-on, you know,
that add-on can run mobile as well as on the desktop,
helping you reach a lot more users.
We also offer now a cards framework for designing the UIs
and capturing the events inside the side panel.
As you see, cards framework allows you to assemble a full set of different widgets,
things in sections, text boxes, date pickers, check boxes,
radio buttons, all things seen here on the slide.
Really allow you to make a rich, full comprehensive UI,
but also with nice material design and very consistent, very predictable.
So users can use your experience and recognize it immediately.
So a nice way to build it. If you’re going to build an add-on,
please check out the link on the bottom of the slide.
This is a must-have to make this a seamless easy way to go.
A great tool to have, definitely check this one out.
We’ve recently introduced something called alternate runtimes.
And this, along with the new add-ons Cloud API,
allows you to use the tools, the language,
the infrastructure of your own choice.
That means whatever your dev stack is, all you have to do is return JSON objects
from your end points to render cards
on the side panel of the add-ons and to handle the actions.
And you can forgo using Apps Script at all and do this with your own tools.
So super neat, super easy and hopefully that’ll encourage folks
to build add-ons going forward.
So that's a quick look at add-ons.
Let me do a fast pivot to Google Chat bots.
(graphics whooshing)
Chat bots, or kind of chat apps, as we refer to them internally,
allow you to interject your applications
into user conversations inside of Google chat.
This is super neat because, as more and more teams adopt chat
as a real-time communication method,
chat bots are a great way to bring automation, actions,
and even deliver asynchronous alerts
right into the conversation teams are having based
upon the context of those conversations.
You can build capabilities in your solution that reduce friction.
This allows users to stay in the moment,
to stay in the middle of their conversations.
All the while they’re directly interacting with your solutions and your back ends.
Chat bots are pretty simple to use. All you do is @mention one
to invite it to a conversation
or use it in a direct message or in a team room,
whichever way you want to make them enabled as a developer.
The bot will then be able to immediately respond to commands
or wait for more commands and take commands on.
So one of the neat things about chat bots is they are part of the conversation.
So they can support things like natural language commands.
Users don’t need cryptic commands to use them,
making them really easy.
And then as a developer, on the backend,
you can supply the intelligence to take that language,
do something interesting with it.
To build these bots, we’ve also made it a lot easier,
and also easier to use.
For example, we recently added something called slash commands.
This enables you, the developer, to register
and advertise specific commands for your bot
that helps users understand some of your bot’s features,
the key ones you’ll want to promote.
All a user has to do is type slash inside of a room or a DM.
A bot's slash commands will appear in a pop-up,
or also offer them a little description
of what each command does, making it simple for users to learn what your bot does,
allowing them to engage in real easy
and making a great point of entry to get things done.
Building bots.
So building bots is pretty similar to how you would build add-ons.
We have a framework for chat bots that helps you manage the events,
help manage the interaction with the chat rooms
and the messages, and also allow you respond in things like simple texts.
You can respond a text back to the users
or to an individual.
Or you can use our card frame-up mark-up language
to build more creative and interactive UIs.
It’s very similar to what we saw in the last example with add-ons.
In fact, we’ve recently updated the UI paradigm a little better.
We’re in the process of rolling out dialogues for chatbots.
Dialogues allow you to capture inputs
in a way from users that are more festival,
more consistent and more reliable.
Again, as I mentioned, chat bots are really similar
to add-ons in how you build them. So you start with cards
and the card builder tool for shaping your UI elements.
You can use Apps Script once again or you can use your own HTTPS end points
and let your own backend to build out the actions,
the events, and the responses.
You can use Pub/Sub if you want notifications
in your chat bots, or things
like dialogue flow for natural conversation bots.
All right so now hopefully you are inspired
and excited by what you saw.
A couple of great resources for you on your journey to building solutions.
If you don't remember any of them here, simply pick out that first one,
developers.google.com/Workspace.
It’ll help you find the others,
but some great resources to jump into all the way again.
Thank you so much for attending. My name is Charles.
You can DM me on Twitter @chasmaxson. I’d love to hear what you’re building.
I’d love to see the results. Any questions, ping me.
Thanks so much and I'll see you building on Workspace.
(upbeat music)