►
Description
Robin Ginn, executive director of the OpenJS Foundation, interviewed Tiffany Le-Nguyen, Software Development Engineer at Expedia Group.
A
Okay,
hi
I'm
robin
again,
I'm
the
executive
director
of
the
open.js
foundation.
I
am
here
with
tiffany
linujen
from
expedia
and
we're
going
to
talk
to
you
about
a
really
cool
customer
case
study,
which
is
how
expedia
is
using
openjs
foundation
technologies.
So
hey
tiffany!
Why
don't
you
tell
us
a
little
bit
more
about
yourself.
A
That's
very
cool
so
for
those
few
people,
maybe
in
the
world
who
don't
know
about
expedia,
just
give
us
a
little
description
about
what
you
know.
What
kind
of
company
expedia
is.
A
Great,
I
know
I
use
it
all
the
time,
so
it's
great
to
have
you
here
so
sort
of
just
broadly
tell
us
about
sort
of
the
engineering
team
that
you're
on
and
what
sort
of
challenges
that
you
all
face
every
day.
B
Yeah
right
now,
my
engineering
team
is
facing
some
pretty
interesting
problems,
essentially
expedia
for
context.
We
have
a
lot
of
different
brands
and
a
lot
of
different
pages
which
a
lot
of
apps
end
up
serving,
so
that
makes
it
so
that
we
have
a
lot
of
duplication
of
code
and
issues
of
inconsistency
throughout
the
user
flow
that
we
want
to
solve.
So
that's
what
my
team
is
doing,
we're
trying
to
reduce
that
duplication,
reduce
the
inconsistencies
and
make
sure
we're
all
aligned
in
our
in
our
design
systems.
B
Right
now
it's
in
order
to
kind
of
remove
that
that
duplication.
Then
we
are
building
this
library,
which
is
kind
of
making
business
level
components
that
can
be
reused
throughout
different
clients
that
are
tied
to
a
graphql
to
to
data
so
that
people
can
just
use
it
and
plug
and
play,
for
example,
a
property
card,
or
a
header
or
or
something
that
has
that's
kind
of
attached
to
data.
And
that
will-
and
that
is
also
following
accessibility,
norms,
performance
seo
kind
of
best
practices
as
well,
and
that's
kind
of
what
we're
working
on.
A
That's
great,
I
was
going
to
ask
you
sort
of
what
are
some
of
the
things
that
were
really
important
from
a
developer
point
of
view
when
you're
dividing
when
you're
building
a
solution,
so
you
just
mentioned
a
few:
are
there
any
sort
of
other
top
level
ones?
I
thought
I
I
think
I
heard
you
mention
some
in
your
oz.
Con
talk.
B
Yes,
yeah
yeah,
so
I
was
saying,
is
some
accessibility
concerns.
You
know
also
concerns
that
we
want
to
make
sure
that
the
bots
are
properly
tracking
and
seeing
through
all
the
metadata.
That
is
on
our
page,
and
I
think
that
was
oh
yeah
and
also
performance,
making
sure
that
we,
our
pages,
are
not
too
slow
and
that
we're
not
kind
of
pushing
big
libraries
that
are
maybe
a
little
bit
too
too
hefty.
A
B
We
ended
up
using
typescript,
react,
node
and
graphql
with
react
apollo,
so
that's
kind
of
the
way
that
that
library
was
built.
We
have
internally
a
ui
library
for
kind
of
these,
these
smaller
pieces
of
the
ui,
so
the
fundamental
pieces
like
h1s
and
a
tags
buttons,
but
we
didn't
have
anything
that
would
make
a
like
a
hotel
card
or
a
something
that
is
a
little
bit
bigger,
more
business
level
and
also
tied
to
data
which
is
kind
of
reused
everywhere.
B
A
Great
and
then
tell
us
about
your
testing
yeah,
so
yeah.
B
Yeah,
so
our
testing
suite
is
pretty
robust
and
it
has
been
kind
of
ongoing
for
the
past
couple
of
years.
We
have
an
in
unit
test
and
antenna
tests
and
an
integration
test.
So
that's
using
just
testing
library
for
react
in
our
case
and
then
we
have
cyprus,
which
uses
book
under
the
hood
and
for
our
end-to-end
and
our
visual
regression
tests,
and
then
we
use
browser
stack
for
some
some
smoke
tests
for
cross-device
and
cross-browser
testing
as
well.
A
Oh
great,
and
then
I
heard
that
you
were
using
the
eslint
project.
Yeah
solutions
tell
us
about
that.
B
So
eslin,
as
you
know,
is
a
is
a
pretty
well
known
lender
at
this
point,
and
we
use
that
at
the
step
of
the
testing
pipeline,
which
is
the
static
checks
which
catch
so
many
bugs
and
and
so
many
kind
of
formatting
in
code
smells
right
before
we
we
even
push
anything
and
so
that
for
us,
it's
really
important
because
it's
low
cost.
But
it's
also
there
to
resolve
a
lot
of
issues
for
us
before
we
even
ship
right,
and
so
it's
going
to
be
catching.
B
It's
going
to
be
catching
things
like
if
you
forgot
to
initiate
a
variable
before
using
it
or
assign
it
some
some
value,
so
we're
able
to
catch
those
errors
before
they
ship,
as
well
as
for
new
users
that
come
into
expedia
or
people
that
are
not
really
used
to
javascript
typescript
and
react.
Yet
it
kind
of
gives
them
the
kind
of
these
roles.
And
these
don't
do
this
and
don't
follow
these.
A
B
Yeah,
so
for
for
us,
if
we
we
see
on
a
page
that
there
is
an
accessibility
bug
somewhere,
where
this
image
doesn't
have
an
alt
tag
or
just
anchor
tag
doesn't
have
isn't
connected
to
the
proper
buttons,
then
that
usually
would
end
up
getting
flagged
to
us
by
our
product
managers,
and
then
that
ends
up
going
into
the
queue
of
our
technical
product
managers
and
going
back
to
developers
that
then
have
to
kind
of
figure
out
what
this
this
issue
is
that
usually
at
that
point
we
would
look
at
the
testing
to
see
what
tests
have
been
written.
B
That
would
because
we
would
have-
we
should
have
been
testing
that
anyway
and
then
that
kind
of
goes
all
back
into
fixing
that
bug.
So
we
much
preferred
at
these
things
which
could
have
been
caught
by
eslint
if
we
did
have
which
we
do
have
now
in
place.
Eslim
can
help
us
catch
those
types
of
accessibility
bugs
that
are
kind
of
surface
level
and
at
in
that
point
we
could
have
fixed
it
before
even
even
shipping.
In.
A
A
So
I
know
you
mentioned
some
other
openjs
foundation
projects
you're
using
a
node.js,
for
example.
How
is
expedia
using
node.js.
B
B
I
think
that
there's
been
a
lot
of
training
for
kind
of
getting
our
java
developers
more
familiar
with
javascript,
but
node
in
itself
has
been
going
going
very
smoothly
and
we
use
node
paired
with
express
for
for
apps,
which
is
express,
of
course,
is
another
open,
js
project
and
to
server
pages,
and
it's
also
part
of
our
internal
scaffolding
and
build
tool.
So
scaffolding
is
being
kind
of
setting
up
that
repository
and
the
build
tool
kind
of
very
similar
to
create
react
app.
B
We
have
our
own
that
spins
up
these
with
these
web
apps
and
we
use
that
scaffolding
tool,
uses
node
and
express
and
all
those
tools.
A
B
Yeah
so
as
as
you
know,
our
users
are
really
from
all
over
the
world
and
they
are
purchasing
or
they're
renting
properties
for
certain
dates
and
travels.
So
having
that
invoice
come
out
with
really
the
proper
currency.
The
proper
date
formats
is
and,
and
all
that
is
extremely
extremely
important
and
also-
and
I'm
sure
any
developer
would
say,
dealing
with
dates
and
formatting
and
localization
is
a
huge
pain
and
having
globalized
air
and
globalized
within
our
internal
build
and
scaffolding.
A
B
We
we
do
it
in
a
few
ways.
There's
I
think
when
I
first
joined
it
kind
of
started
out
as
a
conversion
rates
of
how
how
many
people
were
based
on
certain
experience,
how
many
people
were
buying
booking
more
properties
based
on
if
it
was
red
or
if
it
was
blue
or
not.
That's,
not
really
an
experiment,
but
to
show
my
point
and
now
we're
taking
in
account
a
little
bit
more
qualitative
data
of
trying
to
see.
B
B
Yeah
we
have
our,
we
have
our
own
seo
team
and
we
have
our
product
managers.
That
kind
of
really
let
us
know
why
something
is:
is
winning
or
how
how
how
it's
doing
and
how
we
can
improve
it.
A
Cool
great,
so
let's
see
what
other
questions
do
I
have
one
question
I
always
like
to
ask
developers
when
they're
working
is
like
what
would
be
just
a
great
day
for
you
what's
a
great
day
when
you
come
into
work
and
you're
like
this
is
a
great
day.
B
A
day
a
great
day
for
me
is
when
I
don't
have
too
many
meetings
and
I
can
concentrate
on
on
doing
one
task.
I'm
I'm
at
a
point
where
I
most
of
what
I
do
is
helping
others
and
kind
of
getting
on
meetings,
pairing
and
and
figuring
that
out
and
that's
great,
but
sometimes
they
just
want
to
be
able
to
delve
into
a
problem
and
spend
a
few
days
or
even
consecutive
three
hours
of
of
solving
it
and
then
being
able
to
push
it.
A
B
Yeah
and
oh
and
the
oscon
superstream,
those
are
my
first
two
speaker
experiences.
Hopefully
I'll
do
more.
A
That's
great,
and
I
know
we
have
your
slides
on
our
website
from
from
the
montreal
event,
for
people
who
want
to
do
a
deep
dive
on
some
of
the
solutions.
B
Well,
I
think
that
ui
testing
in
general
is
is
pretty
new
and
there's
a
lot
of
new
modern
tools
that
can
make
make
things
a
lot
better
before
and
you
had
to
kind
of
always
use
these
selenium-based,
or
rather
web
driver
based
tools,
and
it
was
always
kind
of
flaky
and
annoying
and
people
would
have
to
people
even
at
expedia.
We
have
some
repos
that
still
kind
of
use
these
and
it's
always
a
pain
to
have
to
refactor
or
make
any
new
changes
if
people
dread
that
testing
pipeline.
B
So
I
think
it's
important,
even
though
it's
a
little
bit,
it
can
be
a
little
bit
daunting
to
look
into
these
tools
and
to
try
to
build
it
in
a
user-centric
way,
which
is
not
something
that
I
think
a
lot
of
people
would
normally
think
about.
But
it
helps
so
much
and
it
helps
the
developer
experience.
B
A
So
fast
yeah,
that's
very
cool
and
that
user-centric
testing
is
really
what
you've
been
really
sharing
your
knowledge.
So
we
really
appreciate
you
sharing
your
knowledge
with
us,
the
openjs
foundation
and
all
of
our
communities,
and
I
really
appreciate
expedia
as
a
great
case
study
for
our
technologies.