>> On this episode of the ON.NET Show,
we're going to be learning about
Fluent Design System and
how it's exposed in the Windows platform.
Tune in. Hey, welcome
to another episode of the ON.NET show.
Today we've got Paul and he's going to be talking
to us about a Fluent Design System,
and I'm your host, Rich Lander.
Okay, so how about you
introduce yourself and then we'll get into the topic.
>> Sure, I'm Paul Gusmorino and I
work on fluent design and
developer platforms at Microsoft UWP, stuff like that.
>> So you work on Windows.
>> Yeah.
>> Yeah.
>> On Windows. Is that still a thing that we work on?
>> Yeah, we still do. We definitely still do the Windows.
So, what is Fluent Design System?
>> So, Fluent Design System is the system that Microsoft
is making available to help
developers create their great user experiences.
When we started this project,
we really were thinking about how do we help people
create UI that is delightful to users,
people like to use,
they find productive, they find great,
and thinking of
the whole life cycle of experience creation.
So, not just giving them some tools and saying,
"Hey, go run in.
Good luck". But what do we think about guidelines?
What you think about design tool support in
the real design tools that the designers are using now?
How we include kind of design as an equal partner in
the whole ecosystem of app creation and
think about the whole experience creation process.
So, Fluent are kind of
offering our kind of end end solution
around creating great user experience for our customers,
and that we use internally
ourselves to create our own apps and experiences.
>> Right. So, actually an interesting question is,
who is the audience who
really cares deeply about this kind of thing?
You know clearly the team within Microsoft do.
But once you get outside of that is it just
ISVs like Adobe, for example,
who care about this or do
big companies of what we call
line of business applications also care about this?
>> Yeah, it's a great question.
I think certainly everyone wants to make
their experiences be great
and productive for their customers.
Both certainly consumer facing products
spend a lot of time and money and effort
to kind of differentiate in
their design and have
a really great experience to the consumers.
But even line of businesses and
enterprises want to have
great productivity, great usability.
They want to make sure that things they
create are accessible and
inclusive for all the people
they have working at their place,
and so there's a lot of benefits of bringing
great user experience design
for productivity and usability.
We're just training costs.
For a lot of reasons you want
to have even in the business,
even when the business apps have
really good design to them.
So, we think it can be expensive to do that,
it can be hard work, it can be a lot of effort, and so,
what we're trying to do is make it easier for
people to do that,
whether they're investing in creation
especially consumer scale or even just a line of
business at helping them have that good design.
>> Right. So, one question for
you since you're one of the designers
of this, I've this assumption.
>> Yeah.
>> Which you can prove or disprove.
>> Yeah, go for it.
>> Which is that you know if I was to go all
in on Fluent Design System,
that I could build an app that
was better for my users than a website?
>> We definitely think that's the case,
and actually I can
show couple ideas of some
of the ways I think that's true.
>> Right, because if that's not true
then that's a weird proposition, right?
>> Sure. No, I would separate out
kind of a specific technology in platform.
I think you'll see that Microsoft,
we do make websites and web apps and things,
and as a design system
we're being kind of inclusive of those and making
sure that that there's a way to have
those things that fit in in the broader system.
But I think that at the same time,
absolutely the native platform that we create
with UDDP and Windows and
for.NET developers were definitely
pushing the limits of what you can do with
experience and try and let you create
experiences that go beyond in a
richer and were better than what you do
the website and more easily to build them.
>> Okay. How about we take a look at your demo and
we kind of talk more about philosophy.
>> Yeah, sure. So, this kind of
demo app I have here it's called the Van Arsdale lighting
app and it's an app so that
you can control kind of smart lights in your home for
this theoretical Van Arsdale company.
>> Right. Because all smart lights
look exactly like that, right?
>> They're just as beautiful.
So, you can pick a light and you can go,
you pick a set of lights like
a shift clicked and picked a set of lights.
>> That was awesome.
>> And you can change their color and brightness.
So, imagine you're at home and you're trying to
oh what's the mood I'm trying to say and it
can kind of have fun with that and set
the brightness and stuff you want.
You can have a whole bunch of lights here
in different rooms of lights,
and then the app also has a whole shopping section,
you can go and create your own lightning
customize it and say I'm going to go buy a new light,
a table lamp and I can pick
what kind of top do I
like for it and what kind of middle do I like,
and does this look better, does this look better.
Engrave it, customize it.
>> Folks at home can't quite see at the moment,
but you were doing that last bit with your thumb.
>> Yeah. I was using my thumb,
because it's just so convenient.
I'm someone who at least I find in my Surface Book,
I'll jump around between inputs.
I'll use my keyboard a lot to tab
around and I'm kind of keyboard-tracker power user.
I use my trackpad for things and then as soon
as I just use my finger for stuff, especially panning,
zooming, those kinds of things,
I just find to be quicker and easier with a touch screen.
In fact I get annoyed,
if I go to a non-touchscreen computer and I can't do
that on the glass.
So, yeah. So, anyway that's kind of what the app does.
And you can see it's a very beautiful app.
It's very seamless that moves between things,
the kind of interactions it
has them using the keyboard now,
for example, to arrow up and down through these lamps and
select them, shift clicking.
The kind of experience richness you have is
definitely the kind of
experience you get with the intelligent edge,
with a rich client type of experience.
You also think about IoT scenarios like this.
Often those are things that really- I probably have
to be talking to local devices.
So, the intelligent edge you want to do
these kinds of operations you probably don't
want to go through the latency of
going through the cloud for
managing a bunch of light bulbs in your house.
>> Right.
>> Necessarily. So, I
think it's a great example saying that now we
just smart lighting which is more consumer-oriented,
but you can imagine there's lots and lots
of IoT scenarios and businesses where
they're managing tens of sensors in
an edged devices that you
can imagine having a console to control.
We're going to be making this app available
as an open source.
>> Very nice.
>> For folks this summer.
>> Love open source.
>> All right. So, yes, that's kind of.
So, I think if you see kind of richness of the app,
the animations, the interaction experience,
even if we're saying it's not productivity,
everyone knows which productivity apps
there's just so much benefit of
doing in the native client.
But sometimes people wonder about apps that have a
bit more of a browsing kind of aspect to them,
the benefits and I think you just see the kind
of experience richness that
you can get and the kind of scenario.
>> Right. So, you were showing me a couple of
things earlier that I really liked.
>> Yeah.
>> Maybe you're going to show them now,
which is how we were talking about
the old Metro design pattern,
which a bunch of folks probably still remember.
That was very touch first oriented and in fact,
in the halls of Microsoft
that was kind of actually driven into our hands.
We will support keyboard and mouse,
and there will be sensible interaction for those,
but it is 100 percent totally click first ,
and I'm kind of guessing we might
have done something different here.
>> Yeah. So, actually say
a philosophical thing and then
I'll just show something in the app.
But when we started creating
Fluent and it is kind of something
that's replacing Metro or kind of
the evolution or re-imagination of Metro or whatever.
There are a few different things
we chose to do differently.
One is while Metro was very touch first,
with Fluent we really wanted to be
about making experiences the
best on the form factor that using them on,
making them work great with touch,
makes them work great with mouse,
and making them work great with keyboard,
with holographic displays in 60 off controllers, speech.
So, we're really thinking about the different ways people
interact with their computer and we want it to be, first,
it has to be great at
working the specific way the person's trying to work
with it and then we can find
commonalities beyond that as opposed
to trying to fit everyone into kind of
one design that has to work
everywhere even if it's common denominator.
A second thing that we- so that's
kind of one principle we had.
The second principle we had is
about letting people be productive and do stuff.
A lot of our focus with Metro apps
was about consumption and kind of
sitting back and like scrolling through
content like you do on the web. That's great.
There's definitely a lot of consumption that happens,
but a lot of Microsoft's ethos is
about letting people create, letting people do.
Satya jokes sometimes and people say,
"Oh, sure I work at Microsoft or not?"
He says, "Well, if you want to
be cool go work somewhere else,
but if you want to make others cool,
come work at Microsoft.".
>> Yeah. I like that line.
>> I like that line he uses.
I think that we really are about empowering people to
do stuff and that is kind of in our DNA here.
So, a lot of
the design systems are really focused on how can we
help people create experiences to let people
do more and let people be more productive.
So, we're doing a lot of
work with the Office team, for example,
learning a lot about the designs and things they choose,
they're making those available to people at scale.
The second point is pro-activity.
The third point was
still having that level of immersion and richness.
So, while Metro was very flat and authentically
digital is how he referred to it, with Fluent,
there's a lot more depth like materiality,
things from the real world,
and kind of mixed worlds blending digital and analog.
That's not just an aesthetic principle,
but within there's actual real functional value from that
because taking advantage of those things that
we understand as human beings about
the physical world and leveraging those in
designing the software that we use on a computer can
actually help us to be more productive and efficient.
So, anyway those are
kind of three ways in which fundamentally,
like philosophically what we're doing is
different with Fluent than we did with the Metro,
and on that first point I want to show an example.
>> Let's see it.
>> So, here, how this happened, let's say,
as you imagine in a lighting app like this,
I need to be able to change
the room that I put a light in.
So, here, this floor device C is in my living room,
and let's say I wanted to move it to some other bedroom.
If I was using a mouse,
the way I'd expect to do that is
by right clicking and getting a context menu.
I think we'd all agree how masters would expect to go.
will also do that. As a touch user,
I probably actually expect you to go swipe and get to it.
>> Yeah.
>> So, one of our principles of Fluent
is let people do
each thing the way that's natural,
makes sense to do that.
So, we don't have to say touch users
have to use a context menu,
for you to press and hold and wait for
context menu to show up. Yes, we support that.
Of course, that works, but people
should be able to actually work in the most
efficient best way for them.
So, if they're using touch,
swipe is probably more efficient.
If they're using a mouse, right click is more efficient.
But now that reaches
a conundrum causes a lot of work for developers,
you have to go add the swipe,
you have to go add context menu,
you've to go add keyboard shortcuts,
and in the past our platform has been structured where
you to do that many
different times over, and over, and over again.
Even things like the strings,
you have to copy the same string over and over again.
I'ts probably the same icon reference in million places.
So, we've really been thinking
hard about how can we evolve the platform to
model and structure stuff in a way that
makes it easier for developers to
build experiences that actually are multi-modal,
that actually are multi-device, that are multi-sense,
that reach this intelligent edge
that we're trying to reach.
So, in this example, here,
I'm not showing the code today, but
you'll be able to seeing the sample.
This thing called the UI command that we've created.
That's a object in Zamel
that encapsulates all the
UI information about the command,
the label, the tool tip string, the icon etc.
Then, you can just connect to the different controls,
and then in that common implementation,
not just of the back end of the command,
but the actual UI of the command,
it'll get presented and surface the right way with swipe,
with right click and so forth,
but you just have to write it once.
So, that's one example of
how we're trying to make sure we have the right set of
affordances that you can make apps
look really great with touch,
really great with mouse,
really great with keyboard,
and you can decide for your customers,
in your scenario, and what you're targeting.
You don't really have compromises.
>> Make sense. So, we
talked about how this is successor to Metro.
Is this an analog to material design from Google?
Is there a similarity there?
>> Yeah, I think it's a similar idea
of primal comprehensive offering
for people around crane great user experience.
But of course there are differences
in how we're approaching it.
Again, rooted in our core strengths, in our core ethos.
So, I think if you looked in material,
you'll see it's very focused on
mobile and small screen touch devices.
There's been a lot less thinking about keyboard,
and mouse, and large screen,
and multi-window, and that stuff.
I think if you look at Fluent,
you'll see there's a lot more about
productivity and getting stuff done.
>> Right, linking an app like Office Work for example.
>> Linking and app like Office Work.
>> Or Visual Studio.
>> Yeah. That doesn't mean we're
not bringing together smart ideas from things.
Actually, on the Office Work,
here's another example of something
that's new in the system.
So, in a screen where I was buying a lamp,
after customizing it, I could also choose to engrave it.
>> Of course.
>> Of course, they offer engraving and so
I could say, "Oh,
Fluent design system is for everyone." Great.
>> I'm going to write,
"To mom, love, your favorite son.".
>> Perfect, exactly.
>> Yeah.
>> Here, mom, I got you a smart lamp.
>> Yeah.
>> There you go.
>> I put emphasis on favorite son.
>> Yeah. Now, one of the things people are
prior familiar with Microsoft Office like word is,
if you select a word you get
that floating toolbar that has commands right on it.
So, one of the things you brought into Fluent,
in words, or working across
the whole company to design this who said, "Hey!
There's that rich floating toolbar
that has contextual commands,
that people familiar with in apps like Word."
Let's have that as part of the system so I can go
and actually select my word here, one second.
Oh! Real code and I crashed my app.
There we go, and make that word bold.
So, that's one of the new elements
for example brought into Fluent,
this past update is
contextual commanding and floating command bar.
>> I can see how people would like that.
>>Yeah, and it's very rich and scalable,
you can fit quite a few commands on that.
Then again, that's a place that you'll see
it's different than something like material where
they have like a floating action button
that's like one button really.
So, yes, so I think it's similar scoped effort but
really the things we're bringing into it
represent Microsoft's core values.
>> So, some totally bought into this,
I think what you've just
described is the best thing ever.
Where can I use it? How do I get it?
>>That's great question.
So, you can go to Fluent.microsoft.com and that's
our website that you can start on
the whole journey and it's more of a marketing site.
But you can start there and click find the links,
and your in dev docs, and guidance,
and samples, and things.
The platform where we're most supporting
Fluent right now is the UWAP platform.
So, if you use UWAP platform you
can get access to
all the stuff that we're providing with Fluent.
Now, there's a couple of things we announced at Build,
they broaden the reach of that,
that I think maybe not everyone's heard about,
so I want to make sure everyone knows about.
>> I'm guessing Zamel Islands is one of these.
>> The first, there was Zamel islands and so a lot of
people have traditional.net apps,
wind forms, and WPF apps and even non.net apps.
Some people they talk I get it built so
people hide in MFC app store.
People have traditional Windows apps.
So in Zamel islands you can now use and
there's some preview now in RS5.
You can now use all the modern UI stack,
all the great features that we have in
whole Fluent design system in all those apps,
and start incorporating them.
Then, the second thing we've heard is that
people would like to be able to use these things,
I'll say, against the in-market OS,
against the OS that people are running now.
Synergy have new features and they come out in this fall,
and then saw users have gotten that OS update,
app authors don't immediately feel they
can start targeting that OS yet.
>> Latency problem.
>> Latency problem. So, we
announced at Build in this week,
we just shipped the Windows UI library.
So, when UI, it's up on GitHub,
there's a link to it but it's a new git.
You go find it, it's in preview starting this week.
That has a whole bunch of the controls, the styles,
and the features that we've been building available,
and you get package, you can start linking
to and using now,
and it works on RS2 or higher builds.
>> So, that's of course RS2,
I think a couple of years now.
>> Yes.
>> Going, so really hits
a broad set mint now of the installed base.
>> Very good.
>> So, those are two things people can do.
This sample be available this summer.
Then, if there's just one
other thing I'd like people to know
about is another tool
that's coming out this summer also which
is our color tool.
Some of these people when they hear
about Fluent or design system,
they think it's a very specific brand.
It's like, "Oh, I have to have
transparent windows this way" or something like that.
Fluent is not about one specific styling or visual skin.
It's a designed system to
supports lots of stylings to it.
One of the things we hear that people want to
do first often is just apply a color.
Almost every company has a brand color,
even if it's an LRB app instead of business,
there is like the brand color of
that company that they want to apply to things.
In the past that's involved,
if you imagine all these controls
which you might have in your app,
styling tons and tons of controls,
maybe a templating controls to
get all the different parts in states.
So, we have a much simpler model that is coming on
line this year with resource palettes.
That resource schemes that
allow you to just changing a few color values,
change systematically all the colors of all the controls.
We are going to be expanding that to work with
density and other aspects of the design too,
make it much simpler for
someone without literally changing tons,
and tons, and tons of styles to
just apply a branding easily.
So, here you see all the Zamel controls,
and if I go and I switch to this pastel colors that
all it does is change the six color values here,
three for light and three for dark.
Or if I change to a forest,
or if I change to nighttime,
or whatever and it's
the full working controls but they have been recolored.
>> Right, and this is intend to
show the light and the dark theme,
but for the same color.
> Same color scheme.
>> Yeah.
>> Because a lot of apps support
both light and dark theme and
so you could still support light and dark theme this way.
So, it was a lot of benefit to the new color system,
and this will also be available on GitHub
this summer for people to go take advantage of,
and play around with them.
We think will make it much easier for people
to color stuff in and
the tool still warn you if you're filing contrast ratios,
support screen, accessible things
is very important for a lot of companies to do.
>> Including Microsoft.
>> Including Microsoft. It doesn't
overwrite high contrast dials,
it's just a much simpler model that we're excited
to get out there that a lot of people are liking.
>> Awesome.
>> Yeah.
>> So, these are all winner TAPIs,
so you can you can use them from.net.
>> Yeah.
>> It's all good.
>> Yeah, absolutely. I think
both this app and the Van Arsdale app are C# apps.
>> Okay. So, we have people who
are familiar with.net should be able to read back.
>> Absolutely.
>> Be happy, and is there
a minimum VS version for that? Do you know?
>> I think I don't know the answer to that,
it's wherever the windows SDK.
>> Okay.
>> Versions matches.
>> So, VS 2017, probably. Okay, awesome.
Well, this was super good information.
>> Cool, thanks.
>> It seems like the design principles have
moved forward a lot.
>> Yeah.
>> At least I last looked at them
which was back in the metro days.
>> Yeah.
>> So, I imagine
these are going to get adopted by a lot of folks.
>> Yeah, we think so.
Across the whole company, it's really been great,
the effort within Microsoft too just
seeing all the different teams coming together on
UI principles and on UI design in
a really- it's a great cultural transformation as well.
>> Awesome. Okay well thanks for coming on the show.
>> Yeah, thank you.
>> This has been another episode of the ON.NET Show,
and today we talked about
Fluent Design System with Paul. Thanks for watching.
>> Cheers.
Không có nhận xét nào:
Đăng nhận xét