►
From YouTube: Adaptive Cards community call - September 2020
Description
In the Adaptive Cards community call for September, Matt Hidinger shared the Q4 roadmap and a sneak peek at a new concept called “Adaptive Components.”
Learn more at https://adaptivecards.io
Stay connected
Twitter https://twitter.com/microsoft365dev
Blogs https://aka.ms/M365DevBlog
A
Hi
everyone
good
morning,
good
afternoon,
good
evening,
wherever
you
hail
from,
thank
you
for
joining
in
to
the
adaptive
cards
community
call
september
2020.
today.
It's
just
me
if
we're
going
to
do
a
look
at
the
q4
road
map
review,
so
what
we're
going
to
do
throughout
the
rest
of
the
year
and
sort
of
a
surprise
to
basically
everyone,
even
those
people.
I
work
with
closely
we've
put
together.
This
concept
called
adaptive
components
and
it
was
basically
published
to
github
yesterday.
A
So
unless
you
really
watch
our
github
repo,
you
have
no
idea
what
this
is,
including
people
that
are
deep
followers
of
adaptive
cards.
So
the
main
thing
is
to
share
an
early
concept
with
you.
It's
not
entirely
developer
focused
it's
really
a
cruise
value
to
the
entire
ecosystem,
but
I
figured
we'd
show
it
off
see
what
people
think
see
if
there's
any
main
gotchas
any
red
flags,
and
it
is
a
concept
that
we'll
be
looking
at
fleshing
out
if
we
kind
of
get
the
we
see,
there's
some
momentum
behind
it.
A
So
that
is
a
look
at
what
we're
going
to
do
today.
I
do
want
to
mention
so
the
microsoft
ignite
conference
is
coming
up
september.
22Nd
through
the
24th.
There
will
be
a
adaptive
card
session
in
there.
I
think
the
catalog
is
live.
So
if
you
register,
you
should
be
able
to
see
the
full
catalog
there's
at
least
one
possibly
two
adaptive
cards.
A
Focused
sessions
won't
be
me,
so
I
might
get
to
see
it
just
for
the
first
time
like,
like
everyone
else,
some
pretty
cool
stuff,
though
a
lot
of
evolution,
since
what
you
may
have
seen
at
build,
so
definitely
check
that
out.
It's
free
to
everybody,
obviously,
like
all
virtual,
like
things
are
in
2020.,
so
do
check
out
that
that
ignite
conference,
so
we're
going
to
jump
right
in.
I
really
only
have
two
slides.
The
rest
are
just
kind
of
resource
links.
A
A
So
if
you
want
to
follow
along
at
home,
you
go
to
aka
dot.
Ms
slash
ac
roadmap
and
I
think
the
ac
and
r
have
to
be
capitalized
and
I've
basically
changed
it
into
three
sections,
so
you
have
a
better
idea
on
what
are
we
considering
what's
actually
planned
and
what's
launched?
So
this
is
all
a
completely
new
look
of
this
possibly
familiar
thing.
If
you'd
seen
some
of
this
so
I'll
walk
through
the
quick,
the
quick
thing,
so
the
first
is
under
consideration.
A
These
are
things
that
we
have
heard
are
important,
some
more
so
than
others.
You'll
see
this
little
counter
here,
showing
that's.
How
many
of
you
folks
like
that
join
the
community
calls
folks
internally
here
at
microsoft,
have
told
us
how
important
a
given
feature
is
to
them.
So
a
table
element
with
a
concept
of
rows
comes
up
all
the
time.
It's
very
high
on
our
list
of
things
that
are
under
consideration.
A
So
if
you
do,
if
we
do
allow
custom
colors
in
the
future,
beyond
what
we
have
today,
you
will
be
required
to
provide
a
hex
value
for
the
background,
as
well
as
the
foreground,
so
that
we
make
sure
contrast
requirements
are
met,
so
we
still
want
to
make
sure
we're
meeting
our
accessibility
obligations
while
still
giving
people
a
little
more
flexibility,
so
that
one
comes
up
a
lot,
probably
the
biggest
one
after
input
validation,
which
we
released
last
month.
A
Is
this
concept
of
client-side?
Updating,
so
really
neat
stuff
is
possible.
Here
you
can
imagine
cascading
dropbounds,
you
can
imagine
just
the
ui
changing
in
just
really
powerful
ways
so
that
one
comes
up
a
lot
we'll
have
more
to
share
on
that
coming
soon.
A
File
attachment
or
an
upload
control
comes
up
all
the
time.
Svg
and
charting
comes
up
all
the
time.
So
these
are
all
things
that
are
under
consideration
not
currently
planned,
but
your
opportunities
to
come
here.
Click
on
this
tell
us
what
you
need.
How
important
nice
to
have
important
or
critical-
and
all
you
have
to
do-
is
provide
an
email
address
and
why
you
need
this?
You
don't
have
to
create
an
account.
You
know,
critic
password.
It
goes
directly
to
me
and
the
team
within
microsoft.
A
So
if
you're
using
adaptive
cards
for
an
internal
proprietary
project,
this
doesn't
get
posted
publicly,
but
it
does
it's
a
very
powerful
way
for
you
to
influence
what
we
go
and
build
next
so
check
out
under
consideration.
That's
probably
the
least
exciting,
because
it's
like
well.
When
will
that
ever
happen?
We
don't
know
that
the
next
step
is
obviously
planned,
and
so
we
do
have
some
updates
here.
These
are
all
things
planned
for
our
next
major
schema
release.
A
The
animations
aren't
quite
up
to
snuff
and
I'll
just
kind
of
have
to
explain
them
quickly.
Hopefully,
they'll
make
sense.
The
first
is
password
masking
on
text
inputs,
so
this
would
be
a
new
text
style.
A
Where
you
can
say
this
is
a
password
and
it'll
just
kind
of
mask
the
input
very,
very
popular
request,
we're
going
to
go
ahead
and
nail
that
one
accessibility
is
coming
in
I'm
going
to
skip
over
autocomplete
because
it's
it's
coming,
but
like
later
than
some
of
these
other
ones,
so
I'm
gonna
handle
the
ones
that
I
know
are
coming
in
somewhat
sooner
rather
than
later.
This
comps
a
little
weird,
but
what
this
is
showing
again
a
very
common
request
in
a
lot
of
cards
that
have
a
lot
of
action.
A
So
I
the
best
cards
the
best
adaptive
cards
are
actionable,
but
sometimes
you
just
can't
fit
all
the
buttons
in,
or
it
just
looks
a
little
clumsy
having
all
the
buttons
lined
up.
So
what
this
will?
Let
you
do
is
overflow
actions
into
a
kind
of
dot.
Dot
dot
fly
out
menu,
so
the
actions
can
the
card
will
just
show
the
dot
dot,
but
they,
the
actions
themselves,
will
be
hidden
behind
a
flyout
or
a
pop-up
if
you
will
or
a
menu
so
that
one
we're
going
to
make
traction
on
that
is
planned.
A
We're
actively
speccing
that
out.
You
can
actually
follow
along
with
that
speck
and
comment
on
that
one
from
here
this
one's
interesting,
so
we're
evolving
choice
set
to
allow
a
filtering
ux.
So
if
you've
got
a
choice
set
with
hundreds
of
items
right
now,
you
just
get
a
full
drop
down
list
and
you
get
the
experience
out
of
the
box
that
a
drop
down
list
offers.
But
you
can't
start
typing
and
have
it
filter.
A
Now
it's
a
little
easier
for
us
to
figure
out
the
dynamic
autocomplete
as
in
auto
completing
addresses
or
usernames,
where
you
have
a
server-side
communication
that
one's
a
little
trickier.
That's
some
new
ground
for
adaptive
cards,
so
we're
still
working
through
how
best
to
deliver
that
one,
but
the
static
filtering
will
hopefully
help
a
lot
of
people
who
just
have
you
know
100
items
sent
down
in
the
choice
set
and
just
want
a
better
filtering
ux.
A
Also
in
that
we
are
adding
the
ability
to
provide
an
action
when
a
choice
is
selected.
So
maybe
you
have
a
card
very
common
in
teams
task
modules,
those
little
modal
dialogues
where
I've
got
a
choice
set
at
the
top.
Maybe
it's
select
a
project
or
select
something,
and
you
want
the
selection
of
that
choice,
set
to
invoke
an
action
to
maybe
basically
refresh
the
card
or
present
a
new
set
of
things.
A
So
this
will
be
a
way
for
you
to
describe
an
action
to
execute
when
a
choice
is
selected
without
the
user
having
to
like
pick
from
a
drop
down
and
then
press
a
button.
It's
just
a
little
shortcut
for
for
executing
that
type
of
stuff,
we're
also
adding
tool
better
tool,
tip
support,
and
this
is
probably
the
worst
comp
I
blew
up
one
of
the
most
pixelated
screenshots.
I've
asked
them
for
a
more
high-res
one,
but
what
you're
going
to
see
here
is
some
people
have
used
action.
A
Icons,
there's
two
ways
to
make
an
action
as
an
icon.
You
can
use
an
action
set
and
set
the
icon
url
or
you
can
use
a
container
with
like
a
select
action
or
an
image
with
a
select
action,
which
is
what
this
is,
and
so
you
can
see
hopefully
possibly
see
as
I've
blown
this
up.
If
I
mouse
over
this
icon,
I
really
have
no
idea
what
that's
going
to
do
until
I
click
on
it,
and
so
what
we're
going
to
do
is
automatically
use
the
title
for
the
tool
tip
in
this
case.
A
A
The
final
thing
in
the
rendering
world
is
going
to
be
adding
an
is-enabled
property
to
the
actions,
and
this
is
really
just
purely
a
ux
thing.
This
is
gonna
help.
You
know
a
lot
of
cards.
Maybe
they've
got
like
three
actions
in
them
and
they're
kind
of
mutually
exclusive.
You
can
either
delete
something
or
archive
it.
Maybe
so,
once
you
delete
it
or
archive
it,
you
can
refresh
the
card
with
its
updated
state,
and
if
you
can't
do
that
action
again,
you
just
remove
the
button
but
that
you
sort
of
lose
like
well.
A
What
did
I
just
click
on
what
has
happened,
so
this
scenario
lets
you
refresh
the
card
with
the
same
content,
except
maybe
the
delete
button
is
just
disabled
and
it
just
gives
the
user
a
little
better
understanding
of
okay.
That's
something
took
place,
the
button's
still
there.
I
can
only
click
on
it,
but
at
least
I
have
some
understanding
of
of
what
accent
action
had
had
just
happened.
A
So
that's
a
look
at
a
lot
of
minor
like
you
know,
fit
and
finish.
I
guess
I
would
say
a
lot
of
these
features.
Are
these
have
been
really
common
asked
primarily
from
a
lot
of
our
teams
developers
who
are
really
pushing
the
bounds
of
of
what
you
can
do
within
teams.
So
hopefully,
those
go
a
long
way,
just
adding
a
lot
of
just
fit
and
finish
and
nice
to
have
a
lot
of
big
stuff.
Coming
too,
though,
so
templating
exists,
on.net
and
javascript
node.js,
so
you
can
apply
templating
in
the
back
end.
A
Our
long-term
vision
and
you'll
see
some
of
this.
When
I
talk
about
components
here
in
a
little
bit,
our
long-term
vision
is
that
the
templating
stuff
happens
on
the
client.
You
can
just
send
data
teams.
Does
the
data
binding
that
opens
up
a
whole
world
of
client-side
interactivity
data
opens
up
a
whole
new
world
of
live
data
binding
so
when
the
data
changes,
but
the
precursor
to
all
of
that
where
we
want
this
to
go,
is
having
the
templating
engine
available
on
every
adaptive
card
platform.
A
So
we
need
the
templating
engine
to
work
on
ios.
We
need
to
work
on
android.
We
need
to
work
in
python,
we're
in
java,
so
we're
working
on
the
mobile
sdks
right
now
and
ideally
hopefully
I
don't
know
if
any
of
my
devs
are
on
the
call,
but
we're
really
hopeful
that
we'll
have
those
done
by
the
end
of
the
year,
and
that
is
when
2020
opens
up
a
whole
host
of
possibilities
beyond
kind
of
the
static
one-way,
rendering
that
the
templating
that
we
have
today
for
ecosystem
integrations.
A
We've
got
this
universal
action
model.
We've
talked
about
a
little
bit.
We
went
into
a
little
bit
of
a
deep
dive
on
it
at
build,
we'll
cover
it
even
more
in
detail
at
ignite,
so
definitely
check
out
that
ignite
session,
but
really
what
this
is
is
a
standard
way
for
handling
actions
and
refreshing
cards
within
the
ecosystem.
A
If
you
happen
to
be
a
microsoft,
365
developer
on
the
call
and
you're
writing
cards
for
teams
and
outlook,
there's
two
very
different
models
for
handling
actions
for
bots
versus
outlook,
so
we're
standardizing
that
on
a
universal
action
model,
we'll
have
a
pretty
cool
demo
to
walk
through
at
ignite
and
that's
the
current
plan.
I
think
we'll
have
that
done
by
the
end
of
the
year.
A
The
sdk
support
will
come
a
little
bit,
but
you
should
be
able
to
start
taking
advantage
of
that
stuff
somewhat
soon
and
we
hope
that'll
go
a
long
way
towards
making
cards
truly
universal,
truly
portable,
including
the
action
handling.
Incidentally,
action
handling,
you
know
which,
which
you
can
imagine,
requires
an
authenticated
trusted
call
to
a
back
end.
We
there
is
a
tight
contract
between.
Can.
I
trust
that
this
action
is
being
invoked
by
the
user
within
a
legit
teams.
A
Man
we've
been
trying
to
land
this
for
a
while,
it
is
planned.
I
don't
know
if
I
can
commit
to
a
deadline
just
yet,
but
hopefully
we'll
have
some
stuff
to
share
in
there
soon
adaptive
cards
and
power
virtual
agents,
if
you're
interested
in
powerful
virtual
agents,
we
will
have
a
lot
to
share.
I
think
in
january
is
when
the
next
major
announcement
from
that
team
comes
about.
If
you
do
happen
to
be
I'll.
Just
add
this
quick
segue
to
get
people
interested
if
you
are
a
power
platform
user
on
the
call.
A
A
If
you
are
interested
in
that,
stick
around
and
we'll
have
an
opportunity
for
you
to
say:
hey
I'd
like
to
participate
in
that
we'd
really
like
to
understand
how
the
platform
can
best
can
better
be
integrated
with
adaptive
cards,
and
a
focus
group
is
one
way
for
you
to
give
us
really
deep
kind
of
one-on-one
input
and
the
last
thing
is
card
author
services
or
the
cms.
A
It
is
planned.
We
don't
even
figure
out
how
the
heck
we're
gonna
deliver.
This
thing
we're
really
trying.
We
totally
see
the
value
in
it
just
trying
to
massage
it
with
our
other
commitments.
So
that's
a
look
at
everything
planned
it's
a
lot
of
stuff.
A
A
lot
of
it
is
laying
the
groundwork
for
a
pretty
exciting
2021,
particularly
templating
everywhere,
and
the
universal
action
model.
A
quick
look
at
launch
some,
some
nice
things
were
added
to
the
designer.
We
we
have
a
copy
bound
card
button
to
the
designer.
I
don't
know
how
many
people
this
will
particularly
help,
but
it's
in
some
cases
it's
a
it's
a
nice
addition.
A
So,
to
give
you
what
that
is,
and
and
just
to
kind
of
get
you
in
the
habit
of
joining
these
calls,
please
by
all
means
we'll
tell
you
what
launched,
but
if
you'd
like
to
learn
offline,
this
new
launch
section
will
be
much
easier
to
see.
You
know
what
launched
when
and
just
a
little
bit
offline
way
of
seeing
things.
But
to
give
you
an
example,
so
here
we've
got
a
template
which,
as
a
quick
refresher,
a
template
is
just
an
adaptive
card
which
has
these
these
binding
expressions.
A
So
the
data
comes
separately
and
I
can
click
preview
mode
and
see
what
this
card
looks
like
with
some
sample
data.
This
is
just
a
design
time
experience,
so
I
can
say
hello,
world
or
hello.
Community
call,
and
you
can
see
the
card
is
updating,
as
as
we
do
that,
but
sometimes
I
want
this
fully
data
bound
card,
not
just
the
template,
so
I
can
go
down
here
and
copy
this,
but
that's
going
to
give
you
the
template
like
this.
A
A
So,
basically,
that's
just
a
little
enhancement
that
we
added
to
the
designer
that
you
can
get
started
with
today,
and
the
last
thing
is
obviously
like
input,
validation
and
evolution
tons
of
really
cool
stuff.
We
have
some
new
samples
on
adaptive
cards
that
I
owe
that
shows
some
really
neat
wizard
like
things
you
can
create,
where
you
can
collect
some
sets
of
information,
I
can
click
submit
notice,
validation
fired
as
appropriate.
A
We
are
still
working
on
when
this
will
roll
out
to
teams
and
outlook
and
all
of
our
partners,
so
stay
tuned
validation,
huge
update,
we're
really
excited
about
it
and
we're
just
kind
of
making
sure
teams
has
everything
they
need
to
get
this
rolled
out
to
folks
that
can
start
taking
advantage
of
it.
A
Okay,
I
haven't
really
been
looking
at
chat.
Actually,
it
looks
just
like
a
couple
smiley
faces,
so
that's
totally
good.
I'm
gonna
say
this
right
off
the
bat.
If
this
is
your
first
time
so
I
like
to
keep
these
calls
pretty
casual
and
feel
free
to
ask
questions
as
we
go.
We've
got
people
on
the
call
to
help
you
asynchronously
in
the
chat,
so
don't
wait
to
the
dedicated
q.
A
if
you
don't
want
to.
A
We
will
have
a
q
a
after
this,
but
if
you
have
any
questions
on
the
roadmap,
any
feedback
your
best
way
is
to
go
to
ak
dot.
Ms
ac
roadmap
and
just
tell
us
which
of
these
things
are
most
important
to
you
and
make
sure
that
you
know
if
it's
really
important
to
you
that
it
moves
from
this
under
consideration
over
to
planned,
especially
as
as
we
wrap
out
the
q4
quarter
and
head
into
2021
feels
like
forever
away
it'll
be
here
before
we
know
it.
A
It's
been
a
weird
year,
let's
get
into
a
new
one
with
that,
I'm
gonna
switch
gears
completely
and
talk
about
something
that
is
just
really
an
idea
that
we
think
will
solve
a
lot
of
problems
and
is
really
finally
something
that's
possible,
so
follow
along.
If
you
will.
A
On
our
github
one
of
my
favorite
things
about
these
community
calls,
is
we
get
to
talk
about
this
stuff
as
it's
baking,
and
so
what
this
really
is
is
a
concept
that
enables
the
creation
of
higher
level
components
powered
by
templating
and
native
adaptive
card
elements.
So
again,
this
is
a
draft.
We
don't
have
a
plan
to
ship
this,
but
we
do
have
some
pretty
big
internal
demand
on
making
this
real,
and
I
think
it's
got
a
decent
chance
to
become
a
real
thing,
possibly
sooner
rather
than
later.
A
Actually
so
I
won't
go
through
the
full
spec,
but
I
will
go
through
the
highlights
and
some
examples
and
really
open
the
floor
to
you
folks,
to
ask
questions
clarify
things,
voice
concerns,
because,
because
it
is
a
mesh
of
a
whole
bunch
of
things,
so
the
overall
objective
is
to
allow
anyone,
developers,
designers,
power
platform,
folks,
citizen
developers,
to
define,
use
and
share
higher
level
component
abstractions
with
the
general
public
or
within
their
organization,
and
before
I
even
go
further,
I
want
to
clarify
some
terms
there.
What
do
we
mean
by
component
abstraction?
A
Let
me
go
to
this
first
example
and
again
you'll
notice.
A
lot
of
my
comps
are
just
super
blurry.
Hopefully
you
can
kind
of
make
this
out,
but
what
I'll
describe
here
is
here:
we've
got
an
adaptive
card.
It's
got
a
text
block
that
says
new
proposal.
It
says
john
has
been
waiting
along,
so
a
text
block
here,
and
then
you
see
this
thing.
We
call
this
a
file
chiclet,
and
this
is
a
little
preview
of
a
file.
A
So
you
can
see
a
mix
of
adaptive
card
elements
such
as
text
and
images,
but
also
a
component
is
the
term
we're
using
called
a
file.
Another
example
might
be
a
thing
and
a
thing
is
just
anything
that
has
an
image
a
name,
a
description
and
I
just
want
to
say
hey
in
my
adapter
card.
I
want
to
put
a
thing
here
and
here's
its
name
description
image
and
that
may
expand
into
the
ui
that
you
see
here
and
the
file
chiclet
may
expand
out
into
this
ui.
A
So
just
to
clarify
some
terms,
that's
what
we
mean
by
these
higher
level
components.
What
I
mean
is
something
beyond
just
the
native
adaptive
card
elements
like
text
box
images
they're
almost
like
these
semantic
components
like
I
want
to
preview.
You
know
a
file
or
a
person
or
a
meeting,
and
I
just
want
to
provide
the
data.
A
So
that's
the
number
one
objective
number
two
is
that
we
really
want
to
make
sure
if
this
becomes
a
thing
that
the
two
we
really
nail,
the
tooling
integration,
so
component
authoring
should
be
a
first
class
experience
in
a
designer
components
should
be
composable
used
anywhere
in
the
card
body
and
chained
together,
as
necessary
components
need
to
be
responsive.
So,
if
you
can
author
components
like
files
well,
adaptive
cards
hosts
can
work
very
pretty
wildly.
A
You
can
be
looking
at
a
card
on
a
mobile
screen
versus
on
a
desktop
where
you
have
a
lot
more
real
estate
or
an
app
like
teams
versus
outlook
versus
cisco
webex.
That
may
have
different
considerations,
so
a
component
needs
to
be
able
to
fully
adapt
to
those
different
things.
We
want
to
make
sure
a
component
author
can
fully
support
the
full
ecosystem.
A
So
I'm
not
going
to
get
into
that
just
yet,
because
I
think
walking
through
the
examples
will
we'll
maybe
make
this
a
little
more
understandable
and
then
the
final
piece
which
is
currently
marked
as
a
p2
is
components
should
be
actionable.
That's
got
a
lot
to
figure
out,
so
I
don't
think
it'll
make
the
initial
mvp
if
it
becomes
a
thing,
but
to
get
the
idea
of
the
scenarios,
you
can
imagine
this
file
chiclet
here.
A
Well,
here's
that
dot
dot
menu.
We
talked
about
during
the
road
map
review,
where
I
can
put
some
actions
on
this
file.
Obviously,
depending
on
my
permissions,
I
can
do
things
to
files.
I
can
delete
them
archive
them.
You
know,
share
them,
and
so
what's
the
world
look
like
if
this
component,
this
file
component
also
had
actions
associated
with
it?
So
how
do
we?
How
do
we
figure
that
out?
A
Okay,
lots
of
open
issues
from
the
I
just
reviewed
this
with
the
team
yesterday,
so
you
are
getting
the
next
day
access
to
a
lot
of
stuff,
so
I
want
to
go:
go
through
the
open
issues,
but
the
goal
by
the
way
with
sharing
this
with
you
is
tell
us.
If
there
are
some
open
issues,
we've
got
a
couple
already
in
the
works
like
how
do
we
fetch
authenticated
images?
A
How
does
a
component
potentially
fetch
remote
data,
but
I
won't
get
so
far
into
those
details,
but
those
are
the
types
of
things
that
we're
hoping
you
can.
You
know
challenge
us
to
think
through
these
things
and
think
how
would
this
work?
You
know
if
it
became
a
reality,
so
let's
jump
into
some
examples.
A
First,
one
we
talked
about
a
little
bit
this
file
chiclet,
and
this
is
so
somewhere
in
my
card.
I
want
to
represent
a
file
and
so
the
way
it
would
work
as
a
card
author.
As
you
writing
the
card,
you
would
say:
here's
my
type,
let
me
get
a
little
bigger
and
my
type
is
a
component
dot
file.
So
just
like
we
have
action
dot
submit.
We
have
input
dot,
something
the
naming
convention
would
be
similar,
and
this
is
just
component
dot
and
then
the
name.
A
A
If
you
wanted
to
achieve
this
today,
you
can
you're
a
current
user
of
adaptive
cards.
You
can,
probably
you
know,
see
the
see
the
code
in
the
matrix.
You
can
kind
of
see
what
might
be
happening
here.
This
is
a
column
set
first
column
has
an
image.
Second,
column
has
two
text
blocks
and
the
first
and
the
third
column
has
like
an
action
set
with
this
data
dot.
A
That's
exactly
what
we
want
to
happen.
This
component
gets
expanded
into
those
adaptive
card
elements.
So
let's
say
I
want
to
define
now
I'm
someone
else,
maybe
in
my
org,
not
using
the
component,
but
I'm
defining
the
component,
I'm
describing
its
metadata
and
how
it
works.
It
would
look
something
like
this.
The
type
is
an
adaptive
component.
The
component
name
is
file,
that's
how
it
matches
up.
So
you
can
imagine
this
is
the
other
side
of
the
usage
coin.
A
A
So
then
we
get
into
once
you
defined
your
schema.
The
next
step
is
to
define
the
views
and
for
simplicity,
I'm
just
going
to
say,
there's
only
one
default
view,
and
this
is
where
exactly
that
expansion
happens.
So
this
thing
is
going
to
view
into
a
column
set.
The
first
column
is
35
pixels,
it's
got
images
in
it
and
here's.
You
know
just
again
a
kind
of
primitive
or
naive.
Look
at
what
this
might
look
like.
So
this
image
is
going
to
show
when
using
our
templating
dollar
win
the
file
type
equals
docx.
A
Then
it's
going
to
show
the
word
logo
if
the
file
type
again
in
the
card
author
is
specifying
the
file
type.
So
you
can
see
the
component
is
binding
to
the
data
that
was
passed
in,
and
in
that
case
you
know
this
image
would
be
shown.
If
it's
xls,
we
will
show
an
excel
logo.
And
again
this
is
kind
of
primitive
in
a
naive
attempt,
but
hopefully
you're
just
getting
the
idea
of
components.
A
That
is
in
adjust
the
concept
of
components
if
there
are
no,
if
you're,
still
following
along,
or
at
least
mostly
following
I'll,
get
into
some
of
the
the
nuances
here.
So
another
quick
example
is
things,
and
I
chose
the
term
team
things,
because
if
you
follow
schema.org,
which
has
been
a
standardized
way
of
describing
just
about
everything,
it's
a
partnership
with
google
microsoft.
A
A
Now,
it's
populated
by
these
metadata
tags
that
are
all
over
the
web,
the
schema.org
things
and
at
the
base
of
all
of
them
is
a
thing
and
a
thing
is
just
something
that
has
a
name
description,
an
image.
It's
got
some
actions.
What's
the
subject
of,
and
this
this
thing
schema.org
is
all-encompassing.
I
mean
you
can
talk
about
like
a
convenience
store
which
inherits
from
a
store
which
inherits
from
local
business,
which
inherits
from
place
which
inherits
from
things.
So
it's
a
very
complex
way
of
describing
things.
A
I
think
that's
got
a
lot
of
potential
for
this
component
model.
When
you
imagine
a
very
common
scenario
where
I
look,
I
just
want
to
display
a
bunch
of
things
and
they
have
an
image,
a
name
and
a
description.
So
in
this
case
I'm
just
saying
here's
my
thing:
it's
the
golden
gate
bridge.
Here's
the
description!
Here's!
This
image-
and
you
can
imagine
the
way
I
define
a
thing-
is
I
describe
its
schema
and
I
describe
its
views.
A
That's
not
super
exciting
yeah.
It
saves
me
from
having
to
do
this,
but
if
you
keep
following
along,
you
can
see
some
of
some
of
the
power
that
gets
into
this,
so
more
examples
that
I'll
put
together.
But
hopefully
the
idea
is
making
sense.
Composition
is
going
to
be
really
important.
So
let's
say
I
have
a
card
that
you
know
someone
asks
what
are
what
are
the
three
most
famous
bridges
in
the
united
states?
Well,
actually,
that's
a
stupid
one,
because
the
london
bridge
is
there.
A
What
are
the
three
most
famous
bridges,
and
so
the
card
that
gets
returned
is
a
text
block
that
says
here
are
the
three
most
famous
bridges
and
then
a
column
set
and
each
one
of
those
columns
is
a
thing.
So
I
really
want
to
stress
that
the
it's
got
almost
unlimited
configuration
of
using
native
adaptive
card
elements
combined
with
these
components
to
really
create
a
lot
of
really
interesting
ways
and
adding
a
little
more
semantic
understanding
to
to
the
card
itself.
A
Tim.
I
see
you
have
your
hand
up.
How
can
I
assist
you
yeah
just
when
I,
when
I
see
that
I'm
wondering
is
that
fully
supposed
to
work
with
templating
and
data
binding?
So
can
I
have
like
data
bind
to
yes,
the
current
requirement
for
a
component
is
that
it
relies
on
templating
and
expressions,
so
anything
you
can
do
in
a
template.
A
component
is
going
to
be
purely
declarative.
It
has
to
exist
in
this
json
file.
A
So
let
me
get
into
some
more
of
the
the
the
sort
of
exciting
stuff
and
and
where
we
see
this
a
lot
of
potential
here.
So
if
you're
still
following
along,
let
me
paint
a
picture
here,
just
like
tim
sort
of
asked.
You
know
what
what
can
I
do
in
a
component?
Can
I
use
templating
and
data
binding?
A
A
The
stock
update
card
is
a
good
one
to
do
or
to
show
you
in
templating
you
can
bind
to
properties,
that's
just
dollar,
curly,
brace,
and
then
you
bind
to
the
data.
So
here
we've
got
the
pure
data,
and
here
you've
got
the
template,
but
you
can
do
some
advanced
stuff.
So,
for
example,
you
can
write
expressions.
You
can
do
loops,
you
can
write
functions
like
formatting,
so
this
is
showing
a
lot
of
interesting
stuff
here.
A
So
the
data
is
128.9,
but
when
I
present
it
to
the
user,
I
want
to
make
sure
because
it's
a
currency
it
rounds
to
two
decimal
places.
So
I
can
call
this
function
very
much
like
excel
functions
or
power,
automate
expressions,
you
can
say
format,
number
change
and
then
I
pass
in
how
many
decimal
places
I
want
to
round
to.
I
can
also
write
an
expression
here,
whereas
if
the
change
as
in
the
stock
is
up
greater
than
0,
I
want
this
up
arrow.
Otherwise
I
want
this
down
arrow.
A
I
can
also
apply
that
to
color
here,
so
you
can
see
this
is
green
or
good,
because
the
changes
up,
but
if
it's
down
it
it
shows
as
red.
So
this
is
showing
the
power
of
taking
these
expressions,
these
purely
declarative,
expressions,
the
data
binding
and
taking
it
to
a
deeper
level,
basically
by
adding
some
semantics
around
resolving
them.
So
if
you're
still
following
along,
let
me
paint
a
picture
on
how
this
would
work.
A
A
The
current
theory
is
that
there
would
be
two
ways:
a
host
will
have
a
local
component
registry,
so
teams
might
register
some
components
that
says:
hey
in
teams.
Here's
what
works
or
realistically,
like
let's
say,
m365
apps,
have
a
set
of
components
that
make
total
sense
for
office
based
things.
So
there
might
be
a
file
component
and
a
meeting
component
and
a
person
component,
and
they
would
register
these
for
m365
like
locally
in
that
app.
A
There
also
may
be
a
world
where
we
have
a
remote
component
registry,
and
these
are
built
on
the
concept
of
the
public
template
service.
We've
talked
about
for
a
while.
It's
been
a
proof
of
concept,
but
here's
how
that
would
work,
so
the
renderer
is
trying
to
render
things
it's
like.
Oh
a
text
block.
Well,
I
know
how
to
render
text
blocks
perfect.
Then
it
encounters
a
column
set.
A
It's
like
well,
I
know
how
to
render
column
sets
and
then
it
gets
to
a
column,
and
I
know
how
to
render
those
and
then
it
gets
to
something
called
component
dot.
And
it's
like.
Oh
okay,
component.thing.
I
don't
know
what
that
is.
So
what
would
the
render?
What
would
the
client
do
in
this
case?
If
the
host
opts
into
remote
component
registries,
it
would
make
an
http
call
to
something
like
templates,
dot
adaptive
cards,
that
I
o
slash
components,
slash
component
name.
A
So
in
this
case
it
would
be
component
thing.json
and
that
request
would
serve
up
that
entire
component
definition.
So,
just
like,
I
showed
you
some
more
advanced
examples
here
we
can
just
put
those
in
a
git
repository.
Put
those
somewhere
where
they're
just
statically
served
up,
we
can
fetch
it
down
and
effectively.
What
happened.
Is
the
client
just
learned
a
completely
new
way
to
render
something
in
us
in
a
safe
way,
because
it's
purely
declarative,
you
can
basically
do
what
templating
and
expressions
as
you
can't
really
run
a
you
know:
custom
code.
A
There
are
definitely
some
security
concerns
that
we
are
working
through,
but
I
think
this
is
a
really
neat
potential
for
really
creating
these
dynamically
generated.
I
mean
anyone
could
create
a
new
component
for
I'm
having
a
hard
time
looking
around
I'm
like
what
the
heck
are,
things
that
I
might
want
to
run
a
component
for,
basically,
you
would
just
have
to
add
them
to
this.
Github
repository
serve
this
up
and
then
teams
would
know
how
to
learn
a
different
component
automatically
and
I
think,
there's
a
lot
of
really
neat
potential
there.
A
A
No,
I
I
just
want
to
say
pro
you
were
searching
for
an
example,
though
probably
the
the
thing
you
have
on
every
card,
with
the
the
person
picture
and
the
name
or
something
you
see
that
on
on
literally
every
card,
so
that's
probably
a
good
example:
yeah
yeah
a
person,
a
concept
of
a
persona.
I
mean
you
see
it
everywhere,
even
in
this
comp
here
you've
got
this
requested
by.
A
We
can
do
some
really
cool
things
with
personas
totally
agree.
So,
okay,
let's
get
into
some
more
of
the
cool
stuff,
so
multiple
layouts.
So
in
many
cases
a
single
layout
may
not
suffice
for
a
given
component,
for
example,
even
in
a
thing
you
may
want,
you
know
this
sort
of
hero
view,
which
I
think
it's
typically
called
or
a
thumbnail
view,
or
maybe
a
stack
view.
So
it's
the
same
data.
A
It's
the
same
image
name
description
with
different
layouts,
so
the
current
theory
is
that
that
view
can
have
the
ultimate
view
that
gets
determined
for
a
component
would
be
determined
by
multiple
factors.
One
would
be
implicitly
so
we
would
find
the
best
view
based
on
the
render
version.
This
was
hilton's
question
right
here,
so
there
may
be
very
much
a
1.0
thing
and
a
2.0
thing
that
maybe
takes
advantage
of
new
elements
that
we
added
like
media
or
something.
A
So
we
definitely
want
to
support
a
component
being
fully
compatible
across
renderer
versions
and
across
schema
versions.
We
also
want
the
view
to
be
looked
up
based
on
display
constraints,
so
we
may
have
a
you
know.
If
there's
a
height
constraint
on
the
card,
we
would
want
to
pick
this
thumbnail
version
or,
if
you're,
putting
these
components
in
a
list,
we
would
probably
want
to
pick
a
more
compact
version,
so
we
that
would
be
an
automatically
selected
one
based
on
display
constraints,
probably
some
others
there
implicitly.
A
But
those
are
the
two
that
come
off
right
off
top
of
mind.
We
want
to
grab
the
most
appropriate
view
based
on
the
supported
version
and
the
display
constraints.
There's
also
an
explicit
way
that
a
card
author
might
want
to
select
a
component,
and
that's
by
name,
and
so
the
working
theory
here
would
be.
In
addition
to
component.name,
there
would
be
a
reserved
property
called
view,
and
that
would
be
a
string
array.
A
So
if
we
apply
that
to
our
thing,
it
becomes
okay,
here's
my
card,
I
want
a
thing:
here's
its
data
golden
gate,
bridge
blah
blah
blah
and
the
view
I
want
is
an
array,
and
it's
first
in
wins.
So
I
want
either
my
hero
view
or
the
thumbnail,
whichever
matches
first,
and
so
why
would
a
match
not
be
found,
or
why
do
we
need
this
to
be
an
array
like
shouldn't
the
component?
A
Just
say:
here's
what
I
support
and
that's
that's
what
it
is
and
then
the
card
author
looks
that
up
and
and
they
they
do
their
due
diligence.
Well,
a
really
key
thing
we
want
to
figure
out
is
components
are
composable
and
these
registries
are
modifiable,
they're,
mutable
and
what
I
mean
by
that
is:
let's
say:
teams
wants
a
custom
version
of
the
file
component,
and
so
what
they
do
is
maybe
they
have
their
own
registry
either
in
the
local
registry
or
they
swap
out
a
team
specific
remote
registry.
A
They
may
add,
or
remove
or
modify
a
particular
view.
So
we
want
the
same
card
to
be
forward
and
backward
compatible,
four
different
apps
between
different
things.
So
that's
that's
the
current
plan
on
like
where
you
would
say.
I
want
the
most
appropriate
view
for
me
and
if
none
of
those
match
every
component
should
possibly
will
require,
this
should
have
a
default
view,
and
that
would
be
the
ultimate
one
that
gets
its
rendered.
A
This
is
the
specifics
to
get
into
like
hilton's
question
there
like
what
about?
How
would
we
actually
handle
versioning?
So
in
version
one
not
two
of
adaptive
cards,
we
introduced
this
concept
of
a
fallback
and
fallback
works
today,
where
I
can
say
to
render
this
container,
I
require
version
1.6.
A
A
A
I'll
really
only
talk
a
little
bit
to
this,
because
I
do
want
to
leave
some
time
for
q
a
hopefully
I
didn't
you
know,
lose
everybody
in
this,
but
you
know
the
designer
is
going
to
be
really
important
to
nailing
this
all
the
way
from
authoring,
a
component
that
has
multiple
views
over
the
data
like
that
thing
component,
but
also
maybe
connecting
to
a
remote
component
registry.
A
So
if
I'm
building
designing
a
car
in
teams
and
teams
has
said
here's
the
team's
component
registry,
I
should
be
able
to
design
a
card
that
uses
those
components
that
does
the
same
behavior
it
fetches
the
component
renders
it
in
a
design
time
experience
using
my
sample
data,
so
we
really
want
to
make
sure
we
enable
a
nail
the
design,
time
integration
and
this
really
the
last
piece
I
already
talked
about
this,
but
this
just
gets
into
little.
A
Details
of
a
component
will
clearly
outline
the
schema
that
it
expects
and
that
enables
us
to
do
a
whole
bunch
of
things
for
validation
for
autocomplete
intellisense
designer
integration,
so
that
when
you
reference
a
component,
we
can
automatically
build
up
the
property
sheet.
Do
a
lot
of
nice
stuff
as
long
as
they
do
that,
and
the
last
thing
I'll
add,
is
there's
some
really
neat
explorations.
We
can
do.
I
mentioned
the
schema.org
stuff
and
its
hierarchy.
A
A
So
could
we
have
a
way
to
kind
of
traverse
that
hierarchy
to
find
the
most
appropriate
component
and
there's
just
this
again,
it's
just
an
early
exploration,
but
it
would,
I
think,
go
a
long
way
to
making
this
more
user-friendly,
especially
in
a
complicated
model
such
as
schema.org,
which
there's
there's
thousands
of
thousands
of
different
data
types
and
templating.
All
of
them
doesn't
make
sense.
A
If
you
can
target
one
of
the
types
in
the
hierarchy,
you
can
at
least
get
a
pretty
good
representation
and
to
give
an
example,
like
so
local
business
what
it
adds
beyond
name
description
and
address.
It
adds
things
like
opening
hours.
Well,
if
it
finds
the
thing
component,
the
thing's
not
going
to
render
opening
hours,
but
at
least
you'll
still,
you
won't
get
a
full
loss
of
the
data.
A
So
that
was
a
look
at
this.
This
component
concept
any
thoughts
immediately
on
that
yeah
I'll
just
kind
of
take
it
I'll
I'll
switch
through
it.
A
couple
questions
as
I
go
through,
so
the
recording
in
the
blog
post
goes
up
for
these
calls,
usually
within
about
a
week
I'd
say
end
of
next
week.
I
have
to
turn
this
into
a
blog
post
and
sometimes
I'm
a
slacker,
but
hopefully
it'll
be
up
by
next
week.
That
actually
leads
me
into
real
quick,
so
queue
up
questions.
If
you
have
them,
we
can
feel
free
to
unmute.
A
We,
I
love
doing
these
community
calls.
I
want
to
make
sure
you're
getting
value
out
of
the
community
calls.
So
I
would
love
it
if
you
take
this
survey,
I
think
these
are
really
important
for
us.
It
shouldn't
take
more
than
three
minutes.
It's
very
wow!
That's
a
big
paste!
There's
a
link
there.
A
A
Let
us
know
what
features
you
need
definitely
use
that
road
map
I
showed
earlier
get
started
with
templating.
Now
you
can
look
at
the
adaptive
card
source
code.
The
build
2020
session
goes
into
a
bunch
of
stuff
one
of
our
fan
community
websites
that
really
help
people
get
with
the
build
adaptive
cards
is
made
with
cards.
Dot
io
check
out
these
other
community
calls,
especially
if
you're,
microsoft,
365
developer
and
then
I'll
switch
to
this
slide
real
quick.
So
this
is
where
the
recordings
go.
A
Slash,
m365
dev
youtube
I'll
leave
that
there.
The
next
call
is
join
us
october,
8th
for
the
next
call
and
with
that
I'll,
just
kind
of
switch
it
over
to
to
q
a
if
people
have
any
thoughts
on
anything
it
doesn't
have
to
be
on
the
component
stuff
or
the
roadmap.
Just
let
me
know
what
you
guys
think
see
a
question
on
supporting
universal
dialogues
and
modals.
A
That's
interesting
like
I.
If
you
feel
comfortable
on
muting,
if
you're
still
on
the
call
point,
maybe
or
at
a
follow-up
like
what
you
mean
by
that.
B
B
So
what
I
mean
by
that
is
right
right
now,
if
you
see
right
and
if
you
look
at
teams,
teams
has
a
component
called
task
component,
which
is
a
model
or
a
dialogue
right,
but
each
platform
will
have
its
own
way
of
doing,
dialogues
and
stuff.
So
what
I'm
trying
to
get
here
is
if
we
can
build
something
like
how
you
have
a
universal
action,
how
we
can
trigger
a
universal
dialogue
on
our
model
on
a
button,
click
or
say
for
and
load
some
components
into
that
right.
B
The
place
where
it
really
helps
is
that
if
you
have
a
form-
and
you
want
to
capture
information,
it
would
be
much
easier
to
have
a
single
focus
point
on
allowing
the
customer
to
input
data
rather
than
looking
at
in
terms
of
a
message
stream
right.
So
that's
where
that
becomes
very
helpful
rather
than
over
populating
your
message.
Stream
and
people
lose
focus
on
the
new
messages
and
stuff
so
yeah.
What
I'm
looking
at
and
that.
A
That
that
makes
total
sense
actually
and
yeah
we
you're
right.
We
can,
we
can
achieve
the
same
thing
in
teams,
but
not
universally
what
I'd
love
to
learn
more
about.
That
was
a
perfectly
good
summary
if
you
have
not
submitted
things
to
the
roadmap.
I
I
I
follow
this
really
closely.
A
If
you
just
go
to
the
submit
an
idea,
because
that
one
currently
isn't
in
there
just
describe
a
little
bit
of
what
you
just
said
to
me
and
that'll
make
it
it'll
definitely
put
on
the
stack
so
we'll
talk
about
it
as
we
start
to
prioritize
new
things,
because
that
that
is
a
that
is
a
good
call,
especially
with
forms
dense
cards.
B
Yeah-
and
I
think
I
have
one,
but
it
might
not
be
named
like
that,
so
let
me
go
back
and
see
if
the
list
I
had
created
something
a
few
weeks
ago,
a
week
or
two
ago
so
but
I
will
go
back
yeah,
okay,.
B
So
I
do
have
one
more
question.
I
don't
know
whether
this
is
before,
but
I
will
let
you
decide
on
that.
I
wanted
to
see
if
you
have
like
say,
for
example,
any
questions
like
say
about.
If
you
have
like
say,
we
are
a
chat
platform,
so
I
work
at
ringcentral
and
we
are
trying
to
adopt
adaptive
cards.
B
So
as
part
of
that,
one
thing
which
we
are
trying
to
do
is
that,
as
you
know,
a
chat
platform
is
very
message
dense
and
if
you
move
from
one
team
to
the
other
right,
especially
in
teams
right,
you
would
have
to
re-render
the
cards
right
and
especially,
if
you
have
like
10
or
15
cards
in
that
team
right
yeah
have
there
any
benchmarking
done
on
what
would
be
the
like
say.
B
For
example,
the
smooth
scrolling
fork
shot
because
the
cards
each
card
takes
some
time
the
more
complex
it
is
the
more
time
it
takes
right.
So
is
there
any
kind
of
performance
benchmarking
done
or
something
like
that,
so
that
we
can
use
that
because
one
thing
we
are
seeing
is
that
at
least
in
our
platform
there
are
some
after
seconds
has
become,
we
have
lost
some,
so
I
don't
know
our
side
or
in
your
site.
So
if
I
have
some
benchmarking,
then
I
can
go
and
have
like
look
with
the
team
to
figure
out.
A
Yeah
yeah,
absolutely,
I
would
say
our
performance
benchmarking
is
a
little
sporadic.
We
have
different
support
on
different
platforms,
some
better
than
others.
I
remember
seeing
something
about
ring
central.
If
you
would,
I
can't
remember
if
we
have
an
email,
threader
or
not,
but
if
you
want
to
kick
off
a
mail
to
me,
we
could
certainly
dive
into
that,
especially
if
you're
hitting
some
performance
concerns.
We
we
want
to
at
least
start
with
those
and
see
what
we
can
help
you
with.
A
So,
if
you
just
want
to
shoot
me
an
email,
it's
right
in
the
chat
or
if
we
already
have
a
thread
ping
me
and
accept
my
apologies.
If
I,
if,
if
I'm
behind
on
replies,
I'm
a
little
behind
on
email
right
now,.
B
No
is
that
all
always
I'll
send
it
out
yeah,
okay,
perfect.
A
Luis
asked:
will
there
be
new
stuff
really
after
cards
at
ignite,
they're
it'll
be
worth
going
to
the
session
for
sure
we're
not
going
to
attending
the
session.
There
has
been
a
lot
of
refinements
around
what
we
talked
about
at
build.
I
wouldn't
expect
any
like
completely
net
new
examples.
A
Maybe,
though,
trying
to
think
it's
hard
for
us
to,
like
you
know,
show
like
crazy
new
stuff,
because
I
I
share
stuff
with
you
as
it's
baking
every
month,
so
we
usually
don't,
have
you
know
big
big
announcements
or
big
releases
at
these
conferences?
A
I
try
to
reserve
those
for
you
fine
folks,
every
month,
but
I
would
say
it's
gonna
be
run
by
our
partners
in
teams
and
outlook
and
so
you'll
get
a
good
look
from
their
perspective
on
how
to
put
together
a
lot
of
the
things
that
I've
been
talking
about,
so
definitely
check
out
the
the
ignite
stuff.
A
Any
other
questions,
I
don't
think
I
missed
anything.
Oh
david
so
said,
schema.org
f
has
four
fields
that
you
can
use.
Schema.Org
definition
has
four
fields
you
can
use
as
their
do.
You
need
to
define
them,
I'm
not
sure.
I'm
following
that,
as
in
if
schema.org
has
already
defined
those
do
you
do
you
have
to
redefine
them.
Maybe
that's
what
you're
asking
and
feel
free
to
mute
or
clarify
that
the
hope
would
certainly
be
that
we
don't
have
to
require
duplication,
given
schema.org
is
clearly
using
json
schemas
all
over
the
place.
A
It
would
be
great
if
we
could
somehow
scan
that
repo
and
build
up
the
component
schemas
and
and
bootstrap
a
lot
of
the
schema.org
stuff.
So
hopefully
we
don't
have
to
duplicate
the
work
that
they've
already
done
to
define
the
schema
part
cool.
Well,
if
there
are
no
questions
I'll
just
plug
this
survey,
one
more
time
again,
it
does
help
us
keep
keep
things
moving
with
these
things,
making
sure
we're
giving
you
the
best
info.
We
can
showing
you
the
content.
We
can.
A
I
will
go
ahead
and
leave
it
where
we're
at.
I
appreciate
everyone
joining
in
and
stay
tuned
for
ignite,
and
then
we
will
see
you
in
october
second,
thursday,
of
every
month.
Thank
you
very
much.
Everyone
for
joining
thanks,
matt,
bye.