[MUSIC PLAYING]
[APPLAUSE]
MATIAS DUARTE: Good morning.
Like many of you, when I was a child,
my parents took me to Disney World.
And I got to meet the characters.
And the adventures and places from my imagination
became real.
I was literally transported into another world.
But what I remember most of all to this day from that trip
was under the geodesic dome where
there was a special exhibit.
It was a behind-the-scenes look at how
they combined creative skills of the world's best animators,
illustrators, costume designers, craftsmen,
and technical know-how of cutting
edge engineers, roboticists, programmers, to make all
of these fantastic experiences.
They called them Imagineers.
And I was captivated.
My parents could not drag me away.
And I knew what I wanted to be when I grew up.
My name's Matias Duarte.
And today, I'm excited to work at Google because we
are committed to helping designers and developers make
the worlds of their imagination real.
Over the last 10 years, I've worked
at a lot of different parts of Google--
on Android from Gingerbread to KitKat,
on the very first voice interfaces
that would become the Google Assistant,
had a chance to help refresh the Google logo,
and work on Material Design and eventually
Google Material, which refreshed all of Google's products.
The type of work that I've had a chance
to focus on, we call it UX, UI, front-end, creative coding.
Whatever you want to call it, it's
really no different than those Disney Imagineers.
We are blending artistry and technology
to create completely new experiences--
digital worlds.
These digital realities are sometimes flights of fancy,
but they're also the virtual places where we do business,
where we shop, how we find our way around the real world,
how we connect to other people.
And Google wants to help you bring
those worlds of your imagination to reality, just
like Disney Imagineers.
It takes the very best creatives and the most talented
programmers.
That's why I'm excited to see all of you
here because you are skilled, creative, passionate, clever.
But we know this kind of work is not easy.
In fact, it's never been easy.
Not from the very earliest days of our industry
has it been easy.
If you think back, what is that first most inspiring milestone
for UX, for great, delightful, digital experiences?
What comes to mind?
Is it the Macintosh?
The Xerox PARC Alto?
Maybe some of you are thinking of Douglas Engelbart's mouse.
I like to think of the PDP-1 way back specifically Spacewar.
This is often considered the very first video game.
And despite the monochrome display,
there is a real careful attention
to detail in how these rockets are rendered.
Now, there was a problem in the very first versions of Spacewar
that is often overlooked, which is
that it's hard to play the game if you can't tell
how your rocket ship is moving.
And that rocket ship moving across that empty black screen
is hard to understand.
The human eye perceives motion relative to other objects.
So the creators figured out how to add a star field.
That really required creativity because it
was pushing that machine to its limits,
as hard as it is to believe.
They worked within the constraints of the program.
And the result was thematic.
It was subtle.
And it was hugely ergonomic.
And it's that kind of problem that, for me, exemplifies
what is hard about our work, but also what's really
fun about our work, taking insight about cognition
and perception and combining it with artistry
and pushing technology to the limits, honestly.
Now, how much time do we actually
get to spend on those fun problems?
I see teams struggle just simply to visualize solutions,
to align on solutions across the team,
to deploy the solutions without really important nuances
falling between the cracks, and be overwhelmed
by all of the different platforms and requirements
that they have to handle.
Well, Google is here to help with tools, resources,
technologies that help you worry about the problems you
find fun.
And I'm excited this morning to share
some of our current and our future investments.
Now, you're probably not surprised
that I'm going to start talking about Material Design.
In 2014, we introduced Material with design guidelines
that were cross-platform covering web, Android, and iOS.
And the idea was to help designers
build on the same foundations that were trusted
by billions of Google users.
And we also started providing components
for each of those platforms that would help engineers quickly
assemble those designs with fidelity, with accessibility,
with internationalization baked in,
so that designers and developers could focus
on the parts they found fun.
In 2018, we introduced Material Theming.
Now, Material Theming helps you build a complete design
system that is based on the same foundation that
unifies Google's products, but wholly
customized for you, for your brand, for your look and feel.
Instead of having to painfully tweak each widget,
you customize them with high-level style parameters.
And design choices are made consistent,
not just within a product, but perhaps
across a family of products you produce.
And it's good not just for your products, but for your teams,
because everyone can work with the same styles
within the system itself.
It's formally encoded.
Now, we built Material Theming, so it scales with you,
and it's easy to onboard.
Material Widgets help you build the building
blocks of your app.
And then you use theming to tailor
the experience as you want to.
And Lyft was one of our launch partners.
They used the theming system and our components
to make something that, I think, is really iconic for them.
Material is not here to constrain your creativity,
but to give you a head start, to eliminate any of the work
that you don't find fun.
If you stick around till 12:20, Yasmine
will be here to tell you how to get
the most out of Material Theming for your projects in Flutter.
Now, second, I do want to talk about Flutter.
It's why you're all here.
And it's another commitment that Google
is making towards helping you.
I've personally been a huge fan since the very beginning.
I've been wowed by its impact.
And Tim is going to tell you more about momentum.
But I have a personal testimony I
want to share about how easy it is to use
and what the value of that rapid, instant feedback it
brings.
On my team, I've seen more people
become full-fledged prototypers and start
to play with becoming front-end developers using Flutter.
It was a doorway that opened for them.
And that is hugely inspiring to me.
Now, since the pre-beta, Material
has been a close partner with Flutter.
Flutter has pixel-perfect implementations of Material.
And Material components are the default UI library
in Flutter, which means nearly all
of the apps made with Flutter today
are built with Material components.
And of course, all of Google's Flutter
apps, which there will be more to come.
Our team has been delighted at how easy it
is to faithfully bring quality and nuance that we
need in Material to our Flutter implementations.
Flutter's architecture has made it really easy
for us to do things like the complex composed lists
or capture the nuance of the collapse animation
in the flexible app bar headers.
Flutter made it practically automatic
to add animations to layout transforms,
like we have in the FAB bottom bar.
Makes it really easy to add custom components,
like the pill tab selectors or the bottom sheet transitions.
And, of course, Flutter made it easy to capture the nuances
that research shows are essential to usability,
like you see in the text field labels.
Now, we've also brought Material Theming to Flutter.
And the InheritedWidget pattern means
Material Theming can be ubiquitous in your Flutter
apps.
Every Material component has theming baked in.
If you change a color scheme or text scheme or border style,
you see it everywhere.
Most of all, the themed widgets pair
really nicely with your custom ones.
So you can make them consume the theme
and keep every style tweak in your project in sync.
And Material is betting really hard on Flutter.
We have our own dedicated team of Flutter component engineers.
And they are so passionate that they make sure that the latest
designs get to Flutter so fast that that happens sometimes
before we even have a chance to update our guidelines.
We've recently doubled the size of our Flutter partner team.
And we're going to continue to work really closely
with the core Flutter team.
We're working on continuous enhancements.
We're going to bring the newest Material themes as the default
for new Flutter apps.
We're updating the naming taxonomy.
And we're going to continue to make
sure our APIs are as easy and ergonomic for all of you
for the latest versions of Material
as they were for the first ones.
I hope it's clear that Flutter and Material are not
just two projects that work well side by side,
but they're part of what Google sees as a suite of solutions
that we're investing in.
And together, they're here to help
you make your imagination real faster, easier.
Now, Flutter and Material are going
to get a little bit better with a third investment
from Google today.
It's easy to forget that behind all of the animations
and the beautiful images, most UI is still primarily text.
And big brands invest in expressive type
for that reason.
Now, one of Google's oldest investments
in creativity and accessibility launched in 2010
with an open source catalog of hundreds
of beautiful typefaces.
Google Fonts gave everyone power to use the perfect type
anywhere.
And you can see these fonts all over the web
in places like Williams-Sonoma and Ikea
and Cole Haan and Pottery Barn and countless others.
Almost literally countless, because our global scale
font-serving infrastructure is so powerful, so useful,
so popular that to date, we have served 34 trillion fonts.
[APPLAUSE]
That's a big number.
Thank you.
Every two seconds, we fulfill another one million
font requests today.
That's the time it takes for me to say
Google Fonts for Flutter.
That's another million.
And today, I'm happy to announce Google Fonts for Flutter.
[APPLAUSE]
It is now easy to get custom fonts into your Flutter app.
After importing the package, you'll
get autocomplete suggestions directly
from Google Fonts servers.
It'll download the fonts, add it to your app for you.
And with font reload this kind of-- with Hot Reload--
[LAUGHTER]
Yeah, call it font reload.
I like that.
But it's like practically designing right in the app,
right?
That is so cool.
Google Fonts for Flutter is dynamic and cached,
which is great if you have a content-rich product which
always wants to pair the perfect typeface
with different articles or different pieces of content.
But that same dynamic approach is also
really useful for every developer
who cares about their app size.
And you all do care about your app size, right?
Using our dynamic font serving can
help you make sure you only include
the fonts that your users need when they need them
and no more.
And Google Fonts is available today on pub.dev.
[APPLAUSE]
Google Fonts, Material, and Flutter are here to help you
make more beautiful, more usable digital worlds today.
And I cannot wait to see your imaginations come to life with
them.
But all this is just the beginning.
Google will continue to invest.
And honestly, we think we need to invest because we're
on the cusp of some really transformative changes
in our digital world.
Old screens are not going away.
And new screens are being added all the time and devices
without screens.
Users want to experience your products, your services,
and brands across all of them.
We think of this as a world of ambient computing, which
is going to require us to stop thinking about device first
and start thinking about the user first and their experience
first.
We're going to have to design cohesively for the users
no matter where they are.
And you see a little bit of this in our smart display devices,
where Google has chosen Flutter for its flexibility and power.
And it has a beautiful expression
of Google Material in a totally new type of display.
You see this in our continued commitment
to desktop applications.
Material is rolling out new patterns
with rich controls and even denser layouts.
And yes, you can expect these to be available in Flutter
for desktop.
We are excited about this ambient future.
And we're excited to see how we can help.
We're experimenting with even more audacious ways
that we can help you focus on the user and not the device.
Now, I'm going to show you some ideas that are not yet ready,
but they show you the kinds of problems
that we want to help you with in the future.
It's really frustrating how designers and developers
continuously struggle with handoff headaches.
There's a lot of amazing progress,
but could we go further?
Could we have a real WYSIWYG experience
where we can manipulate a complete production UI,
where we're manipulating the actual widgets and the custom
code that's actually used at runtime,
and save that UI as a source file that can be checked into a
build directly?
Wouldn't that be cool?
And here, you see one of our experiments doing just that--
visually changing a layout element
inside a complex Flutter widget hierarchy
of a full UI while preserving fully functional data bindings.
And then we'll update it with Hot Reload.
This is using Flutter both as an engine for an editing
environment and as a runtime to deploy.
Does that seem exciting?
[APPLAUSE]
I think it's exciting.
Another challenge of this ambient future
is the sheer logistics of deploying a coherent experience
across all these services across multiple teams.
Could we have a single piece of UI code
that describes all of the different bespoke
layouts a program might run on?
Wouldn't that be cool?
And here, you see an experiment where
a series of unique layouts composed of common elements
with data bindings themselves are dynamically reconfigured
according to a partition map.
And this is saved as a single Flutter UI,
going beyond responsive to a truly adaptive single source.
Would that be helpful?
Yeah, I hope so.
Now, these two experiments are very early days.
But I find them really exciting.
And I'm sharing them, even though they're early,
to show the kinds of investments that we're
making across Flutter, across Material, across all of Google.
We know it's really hard work to bring that best of creativity
and technology together.
We know it's hard to get to the fun part of making
your digital worlds real.
But we're committed to helping you in that journey.
I'm personally really passionate about this mission.
This mission is why I feel like I do have my childhood dream
job.
And I think that mission is one that unites all of us here.
We're all here because we believe we
can make our imaginations real.
Thank you.
[APPLAUSE]
[MUSIC PLAYING]