Success!

#91 Lars Roettig - Magento PWA Studio Community Maintainer

Lars Roettig is a Senior Software Engineer for E-Commerce at TechDivision, one of the earliest Magento Solutions Partners. Lars is also a PWA Studio Community Maintainer.

Transcript
0:00:00.080,0:00:03.840
uh because i tried to do a live coding

0:00:02.240,0:00:07.600
for magekanth

0:00:03.840,0:00:09.200
and it was a little bit disaster because

0:00:07.600,0:00:13.440
i was so chaotic

0:00:09.200,0:00:13.440
i tried to make so many things in a half

0:00:14.920,0:00:18.320
hour

0:00:16.560,0:00:19.840
so what happened did you just what did

0:00:18.320,0:00:22.960
you just get lost or like

0:00:19.840,0:00:27.119
what happened uh

0:00:22.960,0:00:30.380
i ended with uh open ends in my hand

0:00:27.119,0:00:33.120
and nothing completed nothing was

0:00:30.380,0:00:36.190
[Laughter]

0:00:33.120,0:00:36.190
[Music]

0:00:38.840,0:00:41.959
[Music]

0:00:42.840,0:00:48.090
completed

0:00:44.750,0:00:48.090
[Music]

0:00:48.879,0:00:52.239
so you've been doing a lot of streaming

0:00:50.320,0:00:55.680
right

0:00:52.239,0:00:57.120
i tried to be starting uh some some

0:00:55.680,0:01:01.520
streaming channel but

0:00:57.120,0:01:04.320
it's like yeah developing in um

0:01:01.520,0:01:05.040
in streams is not so easy if you if you

0:01:04.320,0:01:08.240
want to do

0:01:05.040,0:01:11.520
live coding and a live entertaining

0:01:08.240,0:01:14.720
a good life coding it's like

0:01:11.520,0:01:17.759
you you need to jump and uh

0:01:14.720,0:01:20.799
yeah right yeah there's there's uh

0:01:17.759,0:01:21.680
to find a good balance between hey uh i

0:01:20.799,0:01:26.159
i teaching

0:01:21.680,0:01:29.600
you something and or i i

0:01:26.159,0:01:32.479
underst yeah i'm still entertaining and

0:01:29.600,0:01:34.000
holding people on my streamers it's not

0:01:32.479,0:01:37.280
the easy thing

0:01:34.000,0:01:39.280
it's so hard yeah i can't like i like i

0:01:37.280,0:01:42.560
get distracted so easily

0:01:39.280,0:01:43.680
if i'm if i'm coding so like when i see

0:01:42.560,0:01:46.240
people live

0:01:43.680,0:01:48.479
uh coding and then they're like

0:01:46.240,0:01:49.040
responding to people's chats and then

0:01:48.479,0:01:51.520
they're

0:01:49.040,0:01:52.240
they're like actually coding at the same

0:01:51.520,0:01:54.880
time and

0:01:52.240,0:01:56.880
thinking and solving problems i don't i

0:01:54.880,0:02:00.719
don't understand it at all

0:01:56.880,0:02:03.280
it's like it's impossible

0:02:00.719,0:02:05.200
but but if you take a look on on google

0:02:03.280,0:02:08.160
presentations or something like that or

0:02:05.200,0:02:10.959
big presentations on big stages

0:02:08.160,0:02:12.560
they are all recorded the video is

0:02:10.959,0:02:16.000
pre-recorded

0:02:12.560,0:02:19.520
and the speaker what stands on the

0:02:16.000,0:02:23.040
on the on the wall is only speaking

0:02:19.520,0:02:26.080
to uh to the video what uh

0:02:23.040,0:02:29.280
runs behind him

0:02:26.080,0:02:31.440
the speaker is only uh

0:02:29.280,0:02:32.560
so it's like it's like pre-recorded you

0:02:31.440,0:02:35.519
mean when they're

0:02:32.560,0:02:37.120
doing a talk yeah yeah it's the video is

0:02:35.519,0:02:40.800
pre-recorded

0:02:37.120,0:02:44.400
without sound and then uh they

0:02:40.800,0:02:48.160
doing the sound life on on stage

0:02:44.400,0:02:51.760
also if uh they are doing uh

0:02:48.160,0:02:55.599
big streams then

0:02:51.760,0:03:00.400
um then uh they make sure that's

0:02:55.599,0:03:05.680
already pre group nice recorded and

0:03:00.400,0:03:07.920
it's yeah maybe i i need to try it

0:03:05.680,0:03:10.720
yeah it's a lot easier because i tried

0:03:07.920,0:03:14.480
to do a live coding for magekanth

0:03:10.720,0:03:16.080
and it was a little bit disaster because

0:03:14.480,0:03:18.400
i was so chaotic

0:03:16.080,0:03:20.080
i tried to make so many things in a half

0:03:18.400,0:03:23.519
hour

0:03:20.080,0:03:25.280
[Laughter]

0:03:23.519,0:03:27.360
so what happened did you just what did

0:03:25.280,0:03:31.040
you just get lost or like

0:03:27.360,0:03:34.480
what happened uh i ended with

0:03:31.040,0:03:39.599
uh open ends in my hand and

0:03:34.480,0:03:39.599
nothing completed nothing was completed

0:03:43.040,0:03:47.840
he just wasted an hour a half hour

0:03:48.959,0:03:55.840
and not really wasting it was like

0:03:52.080,0:04:01.840
oh okay uh the time was now already over

0:03:55.840,0:04:01.840
okay i need an additional half hour uh

0:04:03.200,0:04:09.120
that's awesome yeah

0:04:06.560,0:04:10.080
it's tough man it's tough to do the live

0:04:09.120,0:04:14.400
coding

0:04:10.080,0:04:17.919
um so how is everything going right now

0:04:14.400,0:04:18.479
in uh in in in germany and everything

0:04:17.919,0:04:20.400
like that

0:04:18.479,0:04:22.560
how it's obviously a crazy time with

0:04:20.400,0:04:25.600
with covid and everything

0:04:22.560,0:04:27.280
um how are you feeling uh

0:04:25.600,0:04:30.240
you seem like you're happy overall you

0:04:27.280,0:04:32.320
seem like a pretty happy guy

0:04:30.240,0:04:35.680
what are you doing to kind of stay sane

0:04:32.320,0:04:35.680
and and stay productive

0:04:35.759,0:04:41.680
yeah working working from home is um

0:04:39.280,0:04:43.520
is a is a little bit different like if

0:04:41.680,0:04:44.160
you if you're working in the office

0:04:43.520,0:04:46.960
because

0:04:44.160,0:04:48.720
uh in the office you you have have your

0:04:46.960,0:04:52.880
colleagues and your friends

0:04:48.720,0:04:53.919
and uh working working for my company is

0:04:52.880,0:04:57.440
like a family

0:04:53.919,0:04:59.759
or a big family it's like uh

0:04:57.440,0:05:02.000
you know everybody in the team well and

0:04:59.759,0:05:04.720
you're doing also stuff in the free time

0:05:02.000,0:05:06.720
because we we have close the mountains

0:05:04.720,0:05:09.520
and go bicycle or

0:05:06.720,0:05:10.479
uh go hiking together or doing sports

0:05:09.520,0:05:13.759
together

0:05:10.479,0:05:16.720
and this um it's a little bit hard

0:05:13.759,0:05:18.479
in um currently in germany because we we

0:05:16.720,0:05:21.039
already in the second lockdown

0:05:18.479,0:05:22.720
or in a smaller version of the second

0:05:21.039,0:05:25.199
lockdown

0:05:22.720,0:05:26.720
and then it's not it's not too easy to

0:05:25.199,0:05:30.080
meet people and

0:05:26.720,0:05:33.280
if you but if you want to meet people or

0:05:30.080,0:05:35.759
you you need this for your energy

0:05:33.280,0:05:36.840
yeah currently i stay home and reading

0:05:35.759,0:05:40.160
books

0:05:36.840,0:05:44.880
and try to be productive

0:05:40.160,0:05:47.840
yeah but it's it's not so easy also

0:05:44.880,0:05:49.280
things like pairing um if we if you're

0:05:47.840,0:05:53.039
thinking about

0:05:49.280,0:05:56.240
usually we go in a in a room or

0:05:53.039,0:05:59.919
and doing some some drawings on on

0:05:56.240,0:06:02.639
on the wall and uh speaking together hey

0:05:59.919,0:06:03.680
how we how we can solve uh this problem

0:06:02.639,0:06:06.880
together

0:06:03.680,0:06:09.440
and now it's all virtual and

0:06:06.880,0:06:10.800
you need to search or research tools for

0:06:09.440,0:06:13.039
it

0:06:10.800,0:06:15.600
it's a it's a complete different

0:06:13.039,0:06:15.600
situation

0:06:16.000,0:06:22.479
and you um you work at tech division

0:06:19.280,0:06:24.560
which is a longtime magento uh

0:06:22.479,0:06:25.520
focused agency solutions partner i

0:06:24.560,0:06:28.880
assume

0:06:25.520,0:06:30.560
um and uh

0:06:28.880,0:06:32.479
man a lot of software comes out of

0:06:30.560,0:06:34.479
germany you know like there's the

0:06:32.479,0:06:37.520
magento community

0:06:34.479,0:06:38.800
there's like shopware i've been looking

0:06:37.520,0:06:41.440
at a little bit recently

0:06:38.800,0:06:44.800
commerce tools like you guys know how to

0:06:41.440,0:06:44.800
build some software out there

0:06:45.440,0:06:52.400
yeah in germany it's um

0:06:48.800,0:06:56.000
very common to to develop uh software

0:06:52.400,0:06:59.680
and also yeah for sure we we have many

0:06:56.000,0:07:00.080
uh developers but from my point of view

0:06:59.680,0:07:02.960
we

0:07:00.080,0:07:05.440
we have to last developers because

0:07:02.960,0:07:09.599
germany is known for

0:07:05.440,0:07:13.680
a good quality and predictability

0:07:09.599,0:07:16.960
this is uh the main two

0:07:13.680,0:07:19.360
i don't know strangers or things

0:07:16.960,0:07:20.479
why you develop software in germany

0:07:19.360,0:07:23.680
because developing

0:07:20.479,0:07:27.440
in in germany software is not cheap

0:07:23.680,0:07:31.840
is maybe comparison

0:07:27.440,0:07:34.960
with america is uh it's expensive to

0:07:31.840,0:07:37.199
uh to develop or

0:07:34.960,0:07:39.039
let a bidding software in germany but

0:07:37.199,0:07:42.319
you get a high quality thing

0:07:39.039,0:07:44.800
because and

0:07:42.319,0:07:46.879
for that reason luckily uh software

0:07:44.800,0:07:48.160
development is really common in germany

0:07:46.879,0:07:52.080
and really ask

0:07:48.160,0:07:52.479
in germany so uh we are not so affected

0:07:52.080,0:07:55.440
by

0:07:52.479,0:07:57.039
the covet uh situation currently

0:07:55.440,0:07:59.840
hopefully

0:07:57.039,0:08:00.879
not in the future but let's see stay

0:07:59.840,0:08:04.560
positive

0:08:00.879,0:08:06.240
yeah i saw um you mentioned like

0:08:04.560,0:08:07.599
reading books and stuff i saw one of

0:08:06.240,0:08:09.919
your tweets you like

0:08:07.599,0:08:12.400
posted a picture of the sky outside and

0:08:09.919,0:08:15.120
you were like i just read a book on

0:08:12.400,0:08:18.639
software architecture and you're just

0:08:15.120,0:08:18.639
you seem really happy about it

0:08:18.879,0:08:22.560
yeah reading books i'm i'm i'm a

0:08:21.599,0:08:26.560
bookworm

0:08:22.560,0:08:29.120
i i try to read books very often because

0:08:26.560,0:08:29.919
books are for me a good foundation but

0:08:29.120,0:08:33.120
books are

0:08:29.919,0:08:36.240
not really helpful if you really want to

0:08:33.120,0:08:37.519
solve real world problems because books

0:08:36.240,0:08:41.440
are most

0:08:37.519,0:08:44.800
um yes try to solve a problem or

0:08:41.440,0:08:47.519
a a writing down a problem but

0:08:44.800,0:08:50.320
if this problem doesn't exist or really

0:08:47.519,0:08:54.560
exist in the real world

0:08:50.320,0:08:57.120
you need to find out and try it and

0:08:54.560,0:08:57.600
try to to apply the concepts from the

0:08:57.120,0:08:59.600
book

0:08:57.600,0:09:01.040
and this is what one thing what is

0:08:59.600,0:09:03.600
really hard if you

0:09:01.040,0:09:04.240
if you're reading a book and getting a

0:09:03.600,0:09:07.519
new

0:09:04.240,0:09:10.640
idea like hey next time i

0:09:07.519,0:09:13.600
doing a test room development

0:09:10.640,0:09:14.480
so how i can do now tests and

0:09:13.600,0:09:17.680
development and

0:09:14.480,0:09:21.200
real world it's something it's not so

0:09:17.680,0:09:24.240
easy to you learn about a concept

0:09:21.200,0:09:26.000
but you don't you can guess it but you

0:09:24.240,0:09:29.440
don't really understand it

0:09:26.000,0:09:31.519
so and then you need to try it and apply

0:09:29.440,0:09:33.760
apply this thing uh what you read in a

0:09:31.519,0:09:33.760
book

0:09:34.320,0:09:40.880
and this is not so easy from for me

0:09:37.680,0:09:41.440
yeah until until you really apply it day

0:09:40.880,0:09:43.680
to day

0:09:41.440,0:09:45.440
and the work that you're doing it's very

0:09:43.680,0:09:48.240
like theoretical

0:09:45.440,0:09:49.120
and it's not it's it's not really

0:09:48.240,0:09:52.640
absorbed

0:09:49.120,0:09:55.120
right yeah

0:09:52.640,0:09:56.480
what um any good books you've read

0:09:55.120,0:10:00.480
recently anything

0:09:56.480,0:10:03.040
um that you've learned related to

0:10:00.480,0:10:04.640
anything software or anything in general

0:10:03.040,0:10:07.360
that that sticks out to you that you've

0:10:04.640,0:10:07.360
learned recently

0:10:07.440,0:10:12.000
oh good question um the most tight is

0:10:10.959,0:10:15.839
what i

0:10:12.000,0:10:18.560
was reading in the last month was german

0:10:15.839,0:10:19.360
this is not really helpful for for the

0:10:18.560,0:10:23.279
podcast

0:10:19.360,0:10:27.920
uh but um there's a good author

0:10:23.279,0:10:31.680
they write in english matthias noebuck

0:10:27.920,0:10:32.399
he he writes about a web application

0:10:31.680,0:10:34.720
design

0:10:32.399,0:10:34.720
and

0:10:35.920,0:10:42.399
some php things and his books are

0:10:39.279,0:10:44.880
really good um

0:10:42.399,0:10:46.399
also also he he writes about legacy how

0:10:44.880,0:10:50.399
how you can develop

0:10:46.399,0:10:54.079
uh with with legacy or how you can

0:10:50.399,0:10:54.720
tame the legacy software and split it

0:10:54.079,0:10:58.399
better

0:10:54.720,0:11:00.320
and yeah common common e-commerce

0:10:58.399,0:11:05.519
projects

0:11:00.320,0:11:09.519
from yeah if if you want to rent it's

0:11:05.519,0:11:13.120
some some legacy is in all software

0:11:09.519,0:11:14.079
so and for that it's not bad to know

0:11:13.120,0:11:18.079
about how how

0:11:14.079,0:11:21.440
you can deal with legacy code

0:11:18.079,0:11:25.120
right what um what were some of the

0:11:21.440,0:11:28.560
um principles or ideas related to

0:11:25.120,0:11:30.399
dealing with legacy code and working it

0:11:28.560,0:11:31.600
within a way working with it in a way

0:11:30.399,0:11:35.760
that was more

0:11:31.600,0:11:39.360
effective or flexible

0:11:35.760,0:11:41.760
uh what he recommend is

0:11:39.360,0:11:42.800
before you change something or before

0:11:41.760,0:11:46.480
you um

0:11:42.800,0:11:49.839
doing something try to cover it

0:11:46.480,0:11:51.680
with behavior driven tests or with

0:11:49.839,0:11:54.839
integration tests

0:11:51.680,0:11:56.260
to make sure before you're starting

0:11:54.839,0:11:58.320
refactoring

0:11:56.260,0:12:02.079
[Music]

0:11:58.320,0:12:04.320
you you have some coverage and uh after

0:12:02.079,0:12:06.399
you have done with the refactoring uh

0:12:04.320,0:12:09.680
you can say hey it works

0:12:06.399,0:12:10.480
like before this is what what he

0:12:09.680,0:12:14.480
recommends

0:12:10.480,0:12:18.320
and also what i find out was

0:12:14.480,0:12:19.279
uh don't wasting time on writing unit

0:12:18.320,0:12:22.880
test

0:12:19.279,0:12:25.279
it's not helpful you need to test

0:12:22.880,0:12:26.000
the full integration maybe you can mock

0:12:25.279,0:12:27.920
uh

0:12:26.000,0:12:29.360
out some things like the database or

0:12:27.920,0:12:32.639
something like best or

0:12:29.360,0:12:35.200
external servers but

0:12:32.639,0:12:37.040
yeah it's like you you need to test the

0:12:35.200,0:12:38.399
full integration and get so many

0:12:37.040,0:12:40.800
coverage or

0:12:38.399,0:12:41.680
many coverage as you you can get before

0:12:40.800,0:12:44.639
you

0:12:41.680,0:12:45.600
start refactoring old legacy code and

0:12:44.639,0:12:48.480
split it in

0:12:45.600,0:12:49.279
in smaller pieces yeah there's a lot of

0:12:48.480,0:12:51.839
people that are

0:12:49.279,0:12:52.800
that are a fan of uh test driven

0:12:51.839,0:12:56.240
development unit

0:12:52.800,0:12:58.000
or you know unit tests but i've seen

0:12:56.240,0:13:00.160
a number of people say that recently

0:12:58.000,0:13:02.320
that you really want to go for

0:13:00.160,0:13:04.800
integration tests it's sort of the most

0:13:02.320,0:13:06.560
effective way to

0:13:04.800,0:13:08.480
kind of test your software as a whole do

0:13:06.560,0:13:10.720
you do a lot of that with your magento

0:13:08.480,0:13:14.320
development

0:13:10.720,0:13:17.040
um if if we develop new features we

0:13:14.320,0:13:18.320
i personally drive with uh tesla

0:13:17.040,0:13:21.040
development

0:13:18.320,0:13:22.560
um because for for for me it's much

0:13:21.040,0:13:26.399
easier to

0:13:22.560,0:13:26.399
uh write logic uh

0:13:26.959,0:13:30.720
like imports and outputs what what i

0:13:29.440,0:13:33.519
should expect from

0:13:30.720,0:13:34.079
from the function um this is much easier

0:13:33.519,0:13:37.200
for me

0:13:34.079,0:13:37.760
uh like uh developing this thing in the

0:13:37.200,0:13:40.240
checkout

0:13:37.760,0:13:40.800
and going 20 times in the checkout with

0:13:40.240,0:13:43.680
different

0:13:40.800,0:13:45.199
input parameters to find out if i have a

0:13:43.680,0:13:48.720
bug in my software

0:13:45.199,0:13:51.839
this is this is much easier but if i

0:13:48.720,0:13:54.800
get some piece of code uh and this

0:13:51.839,0:13:56.639
piece of code is not covered with with

0:13:54.800,0:13:59.920
something

0:13:56.639,0:14:00.720
um i tried to write integration tests

0:13:59.920,0:14:03.920
but

0:14:00.720,0:14:05.199
yeah i still working for a partner an

0:14:03.920,0:14:08.880
agency

0:14:05.199,0:14:12.079
and time is limited you you try to

0:14:08.880,0:14:15.360
to cover it and

0:14:12.079,0:14:18.399
getting more courage because uh in

0:14:15.360,0:14:21.839
in germany we also get a project from

0:14:18.399,0:14:23.440
order partners or from we we take over a

0:14:21.839,0:14:27.120
project or

0:14:23.440,0:14:29.440
maybe uh also if you're close to and a

0:14:27.120,0:14:32.639
project sometimes you

0:14:29.440,0:14:35.040
you skip testing for some reasons uh

0:14:32.639,0:14:36.160
because you need to finish the project

0:14:35.040,0:14:39.519
on

0:14:36.160,0:14:40.639
in 10 days but you have only two

0:14:39.519,0:14:42.560
developers

0:14:40.639,0:14:45.519
because the rest of the team is sick or

0:14:42.560,0:14:48.399
something like that and then you know

0:14:45.519,0:14:49.279
you have no change to to writing tests

0:14:48.399,0:14:52.399
also

0:14:49.279,0:14:52.959
right i know it's it sounds weird and

0:14:52.399,0:14:56.000
it's

0:14:52.959,0:14:58.399
a technique adapt but sometimes in

0:14:56.000,0:15:00.079
in projects you you really doesn't have

0:14:58.399,0:15:03.839
a choice

0:15:00.079,0:15:07.040
yeah yeah you got to get things done um

0:15:03.839,0:15:09.360
so you do a lot of stuff with pwa studio

0:15:07.040,0:15:10.880
uh you've done some some interesting

0:15:09.360,0:15:14.240
work related to

0:15:10.880,0:15:14.800
extension generation um and things like

0:15:14.240,0:15:18.240
that

0:15:14.800,0:15:21.760
and um my first question is

0:15:18.240,0:15:22.800
like a lot of people say like pwa studio

0:15:21.760,0:15:25.839
is

0:15:22.800,0:15:27.839
not fully baked or you know it's very

0:15:25.839,0:15:29.440
difficult to work with i hear that

0:15:27.839,0:15:32.560
sometimes from people

0:15:29.440,0:15:33.279
um but you seem to be doing a lot of

0:15:32.560,0:15:35.279
stuff with it

0:15:33.279,0:15:36.399
enjoying it building some interesting

0:15:35.279,0:15:39.279
tooling

0:15:36.399,0:15:41.839
um and so what's your perspective on it

0:15:39.279,0:15:41.839
right now

0:15:41.920,0:15:46.000
yeah from my point of view uh headless

0:15:44.720,0:15:49.360
is

0:15:46.000,0:15:51.680
the future of commerce because if you

0:15:49.360,0:15:52.639
uh there was yesterday an announcement

0:15:51.680,0:15:56.880
or two days ago

0:15:52.639,0:16:02.480
from from google about first

0:15:56.880,0:16:05.600
content fpi and cip

0:16:02.480,0:16:09.199
the web web details will be

0:16:05.600,0:16:12.880
used for ranking and

0:16:09.199,0:16:16.000
this means we need to take care about

0:16:12.880,0:16:16.639
performance how fast our site will be

0:16:16.000,0:16:20.639
rendered

0:16:16.639,0:16:24.160
etc so and if if we take a look on a

0:16:20.639,0:16:27.680
typical magento page

0:16:24.160,0:16:31.839
it's not so easy to um

0:16:27.680,0:16:33.600
to optimize also some some customers are

0:16:31.839,0:16:37.360
focused on

0:16:33.600,0:16:40.079
on young young on a young target group

0:16:37.360,0:16:42.160
this means like uh smartphone users

0:16:40.079,0:16:45.279
tablet users etc

0:16:42.160,0:16:46.480
and they want to have um features like

0:16:45.279,0:16:49.920
hey

0:16:46.480,0:16:50.800
now push notifications hey now we have

0:16:49.920,0:16:54.240
10

0:16:50.800,0:16:54.560
of everything go in our shop and give us

0:16:54.240,0:16:56.959
10

0:16:54.560,0:16:58.320
000 euro of your of your bag or

0:16:56.959,0:17:01.759
something like that

0:16:58.320,0:17:04.799
and this is what uh

0:17:01.759,0:17:07.919
more and more customer want like

0:17:04.799,0:17:10.959
uh interaction with the customer and

0:17:07.919,0:17:14.079
getting the best custom

0:17:10.959,0:17:17.120
binding and custom experience

0:17:14.079,0:17:19.199
like hey we ship now your package and

0:17:17.120,0:17:22.559
this is and

0:17:19.199,0:17:25.919
and nowadays um commerce get

0:17:22.559,0:17:29.679
more and more faster and complexer

0:17:25.919,0:17:32.799
and right everybody tries to bet

0:17:29.679,0:17:34.960
uh everyone like oh

0:17:32.799,0:17:36.400
this feature is implemented in this shop

0:17:34.960,0:17:39.520
okay we do it better

0:17:36.400,0:17:41.760
because we we want to get more customers

0:17:39.520,0:17:43.840
and uh steal them the customers or

0:17:41.760,0:17:47.039
something like that

0:17:43.840,0:17:50.880
so and for for that

0:17:47.039,0:17:54.559
i think catalyst is um is the future

0:17:50.880,0:17:57.840
and we uh need to take a look on it

0:17:54.559,0:17:59.280
and this is uh pwa is a free time

0:17:57.840,0:18:01.760
project for me

0:17:59.280,0:18:02.880
we're really getting some yeah really uh

0:18:01.760,0:18:06.320
we we're getting

0:18:02.880,0:18:10.960
some requests in germany but uh

0:18:06.320,0:18:15.200
pwa is uh it's a starting trend

0:18:10.960,0:18:17.919
and i i expect next year

0:18:15.200,0:18:19.600
uh in the end or in the middle of next

0:18:17.919,0:18:23.200
year

0:18:19.600,0:18:26.400
the hype the hype train is rolling

0:18:23.200,0:18:27.360
uh to the train station and everybody

0:18:26.400,0:18:30.720
will jump on

0:18:27.360,0:18:34.000
and this is this is why i

0:18:30.720,0:18:37.120
uh by doing

0:18:34.000,0:18:40.320
uh this pwa work because i tried to be

0:18:37.120,0:18:43.520
uh before the hype train

0:18:40.320,0:18:46.559
and already knowing about this

0:18:43.520,0:18:50.400
this topic and knowing hey for for

0:18:46.559,0:18:54.840
which customer is pwa helpful

0:18:50.400,0:18:57.679
because selling something a customer

0:18:54.840,0:19:00.799
to be selling something

0:18:57.679,0:19:03.440
a shiny new technology but the customer

0:19:00.799,0:19:04.320
doesn't need really uh the new shiny

0:19:03.440,0:19:07.360
customer

0:19:04.320,0:19:11.679
um the new shiny software thing

0:19:07.360,0:19:13.280
is not really helpful that's interesting

0:19:11.679,0:19:15.120
that actually explains a lot to me about

0:19:13.280,0:19:17.600
why you seem to be

0:19:15.120,0:19:18.160
like enjoying it so much because it's a

0:19:17.600,0:19:20.640
side

0:19:18.160,0:19:22.480
it's like a it's like a side project for

0:19:20.640,0:19:24.160
you as opposed to having

0:19:22.480,0:19:26.240
you know client work that you have to

0:19:24.160,0:19:30.000
get done and fighting with

0:19:26.240,0:19:31.520
stuff that's not finished um how does

0:19:30.000,0:19:33.600
how does your company structure that

0:19:31.520,0:19:35.280
time is it just something you totally do

0:19:33.600,0:19:37.440
in your own time or

0:19:35.280,0:19:38.799
is it something that's you're able to do

0:19:37.440,0:19:40.559
does tech division

0:19:38.799,0:19:42.480
give people like i know google does like

0:19:40.559,0:19:44.720
the 20 projects

0:19:42.480,0:19:47.679
where they give people some time to work

0:19:44.720,0:19:51.039
on free projects

0:19:47.679,0:19:54.480
we have a six and

0:19:51.039,0:19:57.600
a six and a half hours attack division

0:19:54.480,0:20:00.480
but we have eight hours working days and

0:19:57.600,0:20:02.080
if we are over uh the six and a half

0:20:00.480,0:20:05.360
billion hours every day

0:20:02.080,0:20:09.200
we can do what we want to do so i

0:20:05.360,0:20:12.480
if i if i'm faster or if i'm

0:20:09.200,0:20:15.679
not not really a faster if i'm i'm good

0:20:12.480,0:20:17.520
in a day and having already seven

0:20:15.679,0:20:20.720
working hours i can spend

0:20:17.520,0:20:22.480
one hour for a spare project or for a

0:20:20.720,0:20:26.159
slack project what

0:20:22.480,0:20:29.360
what helps the company also i'm

0:20:26.159,0:20:32.400
yeah i'm a senior and working

0:20:29.360,0:20:35.280
almost over seven years and am

0:20:32.400,0:20:35.919
now in the eight year in the eighth year

0:20:35.280,0:20:38.000
or for

0:20:35.919,0:20:39.200
for working for tech division uh it's a

0:20:38.000,0:20:42.720
pretty long time

0:20:39.200,0:20:45.840
yeah uh so for that i get

0:20:42.720,0:20:48.880
uh eight hours per month uh to

0:20:45.840,0:20:49.919
handling meetings with adobe what

0:20:48.880,0:20:52.799
usually really

0:20:49.919,0:20:53.679
is really late because they are american

0:20:52.799,0:20:56.880
and

0:20:53.679,0:20:59.039
yeah meetings in america is

0:20:56.880,0:21:01.520
for they are in the morning and for us

0:20:59.039,0:21:02.120
it's already 10 p.m or something like

0:21:01.520,0:21:06.159
that

0:21:02.120,0:21:08.640
[Laughter]

0:21:06.159,0:21:12.320
that's cool so you get time for a set

0:21:08.640,0:21:12.320
aside to do meetings and stuff like that

0:21:12.400,0:21:16.640
that's cool man well yeah that's great

0:21:14.000,0:21:19.360
that you have the flexibility to work on

0:21:16.640,0:21:21.360
uh some stuff you were talking about how

0:21:19.360,0:21:23.919
you know pwa studio

0:21:21.360,0:21:25.280
might not be a fit for certain types of

0:21:23.919,0:21:28.480
customers

0:21:25.280,0:21:30.320
um have you looked at the other pwa

0:21:28.480,0:21:32.559
options out there

0:21:30.320,0:21:35.520
and what types of projects do you think

0:21:32.559,0:21:36.960
are a fit for pwa studio versus

0:21:35.520,0:21:38.640
you know view storefront or some of the

0:21:36.960,0:21:40.880
other pw pwa

0:21:38.640,0:21:42.320
options or have you mostly just been

0:21:40.880,0:21:46.080
focusing on

0:21:42.320,0:21:48.960
pwa studio yeah we

0:21:46.080,0:21:49.360
uh from my point or from the agency

0:21:48.960,0:21:53.120
point

0:21:49.360,0:21:56.080
uh we have um like a vendor vendor lock

0:21:53.120,0:21:56.559
uh because we we working with magento

0:21:56.080,0:21:59.760
and

0:21:56.559,0:22:03.520
working with adobe and

0:21:59.760,0:22:07.360
order solutions or other pwa solutions

0:22:03.520,0:22:07.679
are not so uh good or maybe not so good

0:22:07.360,0:22:10.159
for

0:22:07.679,0:22:11.120
us because yeah if you're using a

0:22:10.159,0:22:14.559
software from

0:22:11.120,0:22:17.679
a big company like adobe you can be sure

0:22:14.559,0:22:21.840
that is supported in five years

0:22:17.679,0:22:25.360
and if if we use a smaller

0:22:21.840,0:22:27.360
theme or pwa solution then

0:22:25.360,0:22:28.559
uh maybe we get some trouble with

0:22:27.360,0:22:32.320
support or

0:22:28.559,0:22:34.559
trouble with um um

0:22:32.320,0:22:35.520
i don't know uh how how we can upgrade

0:22:34.559,0:22:38.559
this customer

0:22:35.520,0:22:41.679
and maybe uh

0:22:38.559,0:22:42.400
the person or the company doesn't access

0:22:41.679,0:22:45.120
anymore

0:22:42.400,0:22:46.799
and so what what we do with with the

0:22:45.120,0:22:50.799
project

0:22:46.799,0:22:54.000
and um this is what i already mentioned

0:22:50.799,0:22:57.679
in germany predictability and stability

0:22:54.000,0:23:00.400
this is like we we want to be sure that

0:22:57.679,0:23:00.799
the software or the framework what we

0:23:00.400,0:23:03.440
use

0:23:00.799,0:23:05.440
to build the client still exists or

0:23:03.440,0:23:09.280
getting supported and two

0:23:05.440,0:23:11.919
three four years right

0:23:09.280,0:23:14.000
yeah for sure we we need to invest um

0:23:11.919,0:23:17.360
money or the customer needs to invest

0:23:14.000,0:23:19.600
money to to maybe upgrade or

0:23:17.360,0:23:20.720
install new dependencies or something

0:23:19.600,0:23:24.320
like that

0:23:20.720,0:23:27.520
but from from that reason i i know the

0:23:24.320,0:23:31.440
uh the difference between uh pwa

0:23:27.520,0:23:35.200
and vu storefronts and um

0:23:31.440,0:23:36.159
but this is not like um i think if you

0:23:35.200,0:23:39.440
have a customer

0:23:36.159,0:23:42.240
and you are open uh

0:23:39.440,0:23:44.320
use what you want what is right for for

0:23:42.240,0:23:47.760
the customer

0:23:44.320,0:23:50.960
and uh maybe a

0:23:47.760,0:23:51.440
shop shopware is a better fit for uh for

0:23:50.960,0:23:54.480
uh

0:23:51.440,0:23:58.080
for your project but you

0:23:54.480,0:24:01.120
you need to decide what what benefits

0:23:58.080,0:24:04.480
i have from from the framework

0:24:01.120,0:24:07.440
and use and choose the right run

0:24:04.480,0:24:08.480
this is this is uh and we are

0:24:07.440,0:24:12.559
specialized in

0:24:08.480,0:24:16.240
magento so if you if you want to go with

0:24:12.559,0:24:18.400
a order framework uh yeah we get we do

0:24:16.240,0:24:21.679
not do it

0:24:18.400,0:24:22.720
yeah so um that makes sense when it

0:24:21.679,0:24:27.039
comes to

0:24:22.720,0:24:30.080
um extensibility of pwa studio

0:24:27.039,0:24:32.320
um this is something that

0:24:30.080,0:24:33.600
i've been trying to understand how it

0:24:32.320,0:24:35.600
would work

0:24:33.600,0:24:37.200
um for a while i haven't worked with it

0:24:35.600,0:24:38.960
myself directly but having done

0:24:37.200,0:24:40.559
regular magento one development built

0:24:38.960,0:24:42.559
extensions and stuff

0:24:40.559,0:24:45.120
um i've been trying to figure out how

0:24:42.559,0:24:48.240
our extensions gonna be built

0:24:45.120,0:24:50.240
um within this framework where you're

0:24:48.240,0:24:52.960
not going to have like a layout xml

0:24:50.240,0:24:54.400
or something like that and what was it

0:24:52.960,0:24:58.080
that you built related to

0:24:54.400,0:25:03.279
extensibility uh was it a starter uh

0:24:58.080,0:25:05.360
is it the generator for uh an extension

0:25:03.279,0:25:06.880
i i bid it so many things in the last

0:25:05.360,0:25:10.480
year yeah yeah you've

0:25:06.880,0:25:13.200
been doing a lot uh

0:25:10.480,0:25:15.279
first i builded a fire's code extension

0:25:13.200,0:25:18.480
what helps

0:25:15.279,0:25:22.159
or provides a set of live templates

0:25:18.480,0:25:25.600
for pwa this means

0:25:22.159,0:25:30.159
mostly like react live templates but

0:25:25.600,0:25:33.200
specialized for pwa studio because we

0:25:30.159,0:25:33.679
yeah it's react but it has a own taste

0:25:33.200,0:25:37.120
of

0:25:33.679,0:25:40.480
react we have some special concepts in

0:25:37.120,0:25:42.480
pwa studio what is

0:25:40.480,0:25:43.679
not really common and in react

0:25:42.480,0:25:46.960
development but

0:25:43.679,0:25:49.360
we we need this for uh styling or

0:25:46.960,0:25:51.840
for ex getting something like

0:25:49.360,0:25:55.840
extensibility in our framework

0:25:51.840,0:25:59.120
because a usual javascript application

0:25:55.840,0:26:00.400
works like you hook in events or you

0:25:59.120,0:26:03.760
hook in

0:26:00.400,0:26:07.360
something what what happens

0:26:03.760,0:26:09.360
and then you you try to

0:26:07.360,0:26:12.960
have some prevent default this is how

0:26:09.360,0:26:16.080
how accents ability works in javascript

0:26:12.960,0:26:17.360
so but now we are not really in

0:26:16.080,0:26:20.640
javascript

0:26:17.360,0:26:24.480
now we are in something like react so

0:26:20.640,0:26:29.200
and react yeah is the javascript

0:26:24.480,0:26:32.559
but there are not so many

0:26:29.200,0:26:33.279
concepts of extensibility you have

0:26:32.559,0:26:37.200
webpack

0:26:33.279,0:26:42.320
overrides you have webpack aliases

0:26:37.200,0:26:46.400
what what you can do on on build time

0:26:42.320,0:26:49.039
but if if you understand

0:26:46.400,0:26:50.080
something like an abstract syntax stream

0:26:49.039,0:26:53.200
and tell

0:26:50.080,0:26:54.159
how bubble works and how uh webpack

0:26:53.200,0:26:56.880
works

0:26:54.159,0:26:59.279
you are on the on a compiler level and

0:26:56.880,0:27:02.480
this is

0:26:59.279,0:27:03.600
um i had already fun to to take a look

0:27:02.480,0:27:07.679
on bubble

0:27:03.600,0:27:09.840
and how does that handle like bubbling

0:27:07.679,0:27:12.880
up of events or something like that

0:27:09.840,0:27:17.679
um no bubble is uh what

0:27:12.880,0:27:20.559
jsx transformed to javascript

0:27:17.679,0:27:21.600
because uh you writing uh something

0:27:20.559,0:27:25.520
similar to

0:27:21.600,0:27:29.520
html and this html

0:27:25.520,0:27:32.640
is not really html is jsx

0:27:29.520,0:27:33.520
this is what what it what the name is of

0:27:32.640,0:27:36.559
it

0:27:33.520,0:27:37.360
and this thing gets transformed by

0:27:36.559,0:27:39.919
bubble

0:27:37.360,0:27:41.600
it's a big javascript library you have

0:27:39.919,0:27:48.000
many possibilities what

0:27:41.600,0:27:52.720
what you can do with with bubble and

0:27:48.000,0:27:52.720
and this thing is used by webpack

0:27:53.360,0:27:59.360
and um yeah also webpack is something

0:27:57.360,0:28:02.480
what builds your javascript to

0:27:59.360,0:28:05.279
bundle and then ships out so

0:28:02.480,0:28:06.080
uh you you can already guessing how how

0:28:05.279,0:28:09.520
complex

0:28:06.080,0:28:13.200
uh it can be something to do

0:28:09.520,0:28:16.320
on uh on on the abstract syntax tree

0:28:13.200,0:28:18.159
because you you're getting from bubble a

0:28:16.320,0:28:21.120
tree of elements

0:28:18.159,0:28:21.600
you can go over it you you get a large

0:28:21.120,0:28:23.919
tree

0:28:21.600,0:28:24.640
if you've if you put a small component

0:28:23.919,0:28:29.039
in it

0:28:24.640,0:28:32.080
you you get a huge tree of um

0:28:29.039,0:28:35.760
assignments etc it's

0:28:32.080,0:28:38.880
it's really cool to take a a look on it

0:28:35.760,0:28:41.840
how how bubble transform work but it's

0:28:38.880,0:28:41.840
so complex

0:28:41.919,0:28:49.000
so and what we try in pwa is

0:28:45.679,0:28:52.799
we try to do

0:28:49.000,0:28:56.320
abstraction on webpack and bubble

0:28:52.799,0:28:58.799
what helps developers not

0:28:56.320,0:29:00.000
really to take a look on how bubble

0:28:58.799,0:29:03.919
works and how

0:29:00.000,0:29:06.240
webpack work uh only needs to

0:29:03.919,0:29:07.120
take a look on the magento documentation

0:29:06.240,0:29:10.159
hey

0:29:07.120,0:29:15.120
okay uh this is how i can extend

0:29:10.159,0:29:18.480
um payment methods in pwa studio

0:29:15.120,0:29:22.399
this is this is the goal

0:29:18.480,0:29:26.080
but but yeah there are still a thing

0:29:22.399,0:29:29.360
because pwa studio by

0:29:26.080,0:29:33.440
definition is a framework and

0:29:29.360,0:29:36.799
vineyard ui is a reference storefront

0:29:33.440,0:29:37.520
so this is uh this is what the core

0:29:36.799,0:29:40.960
teams

0:29:37.520,0:29:44.480
say or what the core team publicly

0:29:40.960,0:29:47.760
announced so and now nowadays we

0:29:44.480,0:29:52.399
we have more and more dissertation

0:29:47.760,0:29:57.360
that uh people want something like

0:29:52.399,0:29:57.360
we like luma for pwa

0:29:57.679,0:30:04.720
like like uh already builded

0:30:01.200,0:30:07.279
theme where i only need to change

0:30:04.720,0:30:08.640
some colors for the customer in the best

0:30:07.279,0:30:12.080
case

0:30:08.640,0:30:14.480
and this is all this is um

0:30:12.080,0:30:15.360
this is what what i heard from from the

0:30:14.480,0:30:18.559
community

0:30:15.360,0:30:18.559
what i hear from

0:30:18.720,0:30:25.919
partners and also from from client

0:30:22.240,0:30:29.760
perspective precurse pwa

0:30:25.919,0:30:33.039
is a new technology it's

0:30:29.760,0:30:38.159
it's nothing but what exists and

0:30:33.039,0:30:40.880
it's a phrase it's

0:30:38.159,0:30:41.440
yes there's some definition of google

0:30:40.880,0:30:44.480
and

0:30:41.440,0:30:44.480
but um

0:30:44.640,0:30:50.240
it every every pwa or every headless

0:30:47.679,0:30:53.279
solution works completely different

0:30:50.240,0:30:57.039
they have all different approaches like

0:30:53.279,0:31:00.080
one one came up with a own middleware

0:30:57.039,0:31:01.039
and if you if you take a look on on the

0:31:00.080,0:31:04.559
market

0:31:01.039,0:31:07.840
it's so many different solutions and

0:31:04.559,0:31:10.880
all to try uh one

0:31:07.840,0:31:14.000
try to be solve one problem this is

0:31:10.880,0:31:14.000
customer experience

0:31:15.679,0:31:20.480
yeah yeah it's it's it's um

0:31:18.720,0:31:22.240
the definition of pwa is a very

0:31:20.480,0:31:24.000
lightweight definition

0:31:22.240,0:31:26.000
um it's a very simple thing but there's

0:31:24.000,0:31:29.039
a lot of different um

0:31:26.000,0:31:32.080
frameworks and platforms um

0:31:29.039,0:31:36.240
that solve it in in different ways

0:31:32.080,0:31:38.480
um and uh so you mentioned the live

0:31:36.240,0:31:39.840
uh templates what are you drinking by

0:31:38.480,0:31:41.840
the way is that is that a

0:31:39.840,0:31:42.880
vodka or what is that apple juice what

0:31:41.840,0:31:46.080
are we drinking

0:31:42.880,0:31:47.840
no no no tea it's cold in germany

0:31:46.080,0:31:49.840
we have we have currently nine great

0:31:47.840,0:31:52.720
decrees or something like that

0:31:49.840,0:31:53.360
oh nine degrees celsius what is that

0:31:52.720,0:31:56.159
yeah

0:31:53.360,0:31:57.039
okay yeah it's man it's still warm out

0:31:56.159,0:32:00.640
here

0:31:57.039,0:32:03.840
last year at this time it was like uh

0:32:00.640,0:32:04.559
close to uh close to zero degrees

0:32:03.840,0:32:06.960
celsius

0:32:04.559,0:32:07.679
maybe five degrees something like that

0:32:06.960,0:32:10.880
um

0:32:07.679,0:32:14.159
so but it's really warm right now

0:32:10.880,0:32:16.640
but but you live in texas or in august

0:32:14.159,0:32:19.679
yes it gets cold people don't realize

0:32:16.640,0:32:24.799
that it gets cold

0:32:19.679,0:32:28.159
during the winter yeah yeah it does

0:32:24.799,0:32:29.039
not a lot but yeah it does um but it

0:32:28.159,0:32:31.679
doesn't sit

0:32:29.039,0:32:32.320
it snows every once in a while it's very

0:32:31.679,0:32:35.360
uh

0:32:32.320,0:32:38.399
it's very uncommon for it to to snow

0:32:35.360,0:32:41.600
um but uh it'll get it it'll be

0:32:38.399,0:32:43.200
just above freezing um pretty frequently

0:32:41.600,0:32:46.399
during the winter

0:32:43.200,0:32:49.600
um oh yeah like 30 likes

0:32:46.399,0:32:50.399
in fahrenheit it'll be like 35 degrees

0:32:49.600,0:32:53.440
37

0:32:50.399,0:32:55.919
40 which is like in celsius i don't know

0:32:53.440,0:32:57.360
like five degrees something like that

0:32:55.919,0:33:00.799
four degrees

0:32:57.360,0:33:03.440
um but uh anyways um

0:33:00.799,0:33:04.480
so there's the live uh templates or the

0:33:03.440,0:33:07.840
live uh

0:33:04.480,0:33:11.039
live coding for a php storm right um uh

0:33:07.840,0:33:15.840
for false code i have more

0:33:11.039,0:33:19.000
more support currently but i try to

0:33:15.840,0:33:21.919
contribute these templates back to to

0:33:19.000,0:33:24.080
phpstorm

0:33:21.919,0:33:25.600
but this is a little bit more work than

0:33:24.080,0:33:30.320
a false code

0:33:25.600,0:33:34.080
because in phpstorm i need to write xml

0:33:30.320,0:33:37.760
and i don't really like to write xml

0:33:34.080,0:33:41.120
and in files code i can easily use

0:33:37.760,0:33:44.880
json and use blank javascript

0:33:41.120,0:33:48.159
with some encoding and this is oh

0:33:44.880,0:33:52.000
that's it yeah that's awesome

0:33:48.159,0:33:54.559
um and then um uh

0:33:52.000,0:33:56.320
as far as the generator that you built

0:33:54.559,0:33:59.440
uh what was what was that

0:33:56.320,0:34:03.200
is a generator um this

0:33:59.440,0:34:04.840
extensions this helps you to generate

0:34:03.200,0:34:08.480
your own

0:34:04.840,0:34:13.359
pwa extension because by default

0:34:08.480,0:34:17.040
you you can scaffold a pwa studio

0:34:13.359,0:34:20.240
scaffold means in this case um

0:34:17.040,0:34:23.679
you can create a new project based on

0:34:20.240,0:34:25.760
a vineyard concept and vineyard concept

0:34:23.679,0:34:28.960
is

0:34:25.760,0:34:34.639
a framework or is a

0:34:28.960,0:34:37.599
pwa studio with with some components etc

0:34:34.639,0:34:40.000
but it's completely empty there's only a

0:34:37.599,0:34:42.960
server worker foil and

0:34:40.000,0:34:44.879
some some setup fires but it's

0:34:42.960,0:34:47.119
completely empty

0:34:44.879,0:34:48.079
and from a scaffolded project usually

0:34:47.119,0:34:52.000
you can start

0:34:48.079,0:34:54.560
your own agency or your own theme

0:34:52.000,0:34:54.560
etc

0:34:56.320,0:34:59.839
and with my generator or with my my

0:34:59.119,0:35:03.760
generator

0:34:59.839,0:35:07.119
it's now possible to generating

0:35:03.760,0:35:07.760
target extensions because you you can

0:35:07.119,0:35:10.210
use

0:35:07.760,0:35:12.560
um a concept

0:35:10.210,0:35:16.480
[Music]

0:35:12.560,0:35:20.320
we use the frame phrase there target

0:35:16.480,0:35:22.000
and this is we we have an intercept fire

0:35:20.320,0:35:25.119
what what we're reading for

0:35:22.000,0:35:28.240
from uh now

0:35:25.119,0:35:31.839
we read the package.json and check

0:35:28.240,0:35:35.119
if is there a notation like

0:35:31.839,0:35:38.800
intercept and if this exists

0:35:35.119,0:35:42.640
we are using this in build time

0:35:38.800,0:35:45.680
to intercepting

0:35:42.640,0:35:47.040
plugins overrides etc it's really

0:35:45.680,0:35:50.720
similar to

0:35:47.040,0:35:54.400
around plugins in magento

0:35:50.720,0:35:57.839
oh interesting okay

0:35:54.400,0:36:01.760
this is this is the main concept behind

0:35:57.839,0:36:04.960
we allow to hook

0:36:01.760,0:36:08.000
around some functions like like

0:36:04.960,0:36:09.599
custom hooks like custom implementations

0:36:08.000,0:36:13.760
etc

0:36:09.599,0:36:16.960
also allowing to extending

0:36:13.760,0:36:20.560
es modules um there are two

0:36:16.960,0:36:25.359
or three kinds of es mo

0:36:20.560,0:36:28.800
es types um yes types means

0:36:25.359,0:36:32.800
es object or es array

0:36:28.800,0:36:33.680
and es array is like how how routes is

0:36:32.800,0:36:37.200
implemented

0:36:33.680,0:36:40.320
is implementation detail and

0:36:37.200,0:36:43.920
object means like payment

0:36:40.320,0:36:45.280
payments are objects or injected as

0:36:43.920,0:36:48.800
objects

0:36:45.280,0:36:52.000
so and what

0:36:48.800,0:36:55.680
the targets allow us is to abstract

0:36:52.000,0:36:58.240
the webpack and bubble up a

0:36:55.680,0:37:00.320
big time thing we we already

0:36:58.240,0:37:04.160
implementing

0:37:00.320,0:37:07.119
a high-level api for shipments for

0:37:04.160,0:37:08.480
payments etc shipments is currently not

0:37:07.119,0:37:11.760
implemented it's

0:37:08.480,0:37:13.920
it's still a idea from from my

0:37:11.760,0:37:15.440
uh created on github it's not

0:37:13.920,0:37:17.760
implemented sorry

0:37:15.440,0:37:17.760
um

0:37:18.640,0:37:26.000
yeah but it's like um so

0:37:22.079,0:37:29.839
we want to have a easy way to extend

0:37:26.000,0:37:33.359
um vineyard ui this means

0:37:29.839,0:37:35.760
our reference um our reference

0:37:33.359,0:37:38.640
implementation

0:37:35.760,0:37:39.680
with your own yo with your own extension

0:37:38.640,0:37:43.040
like

0:37:39.680,0:37:47.680
um the main goal is something to have

0:37:43.040,0:37:50.400
a marketplace extension maybe next year

0:37:47.680,0:37:52.560
that that you can uh download from the

0:37:50.400,0:37:56.160
magento marketplace and install

0:37:52.560,0:37:58.480
in your pwa studio with

0:37:56.160,0:37:59.200
second with two lines or something like

0:37:58.480,0:38:02.240
that

0:37:59.200,0:38:05.920
this is this is my goal and

0:38:02.240,0:38:09.119
the goal of what currently try to solve

0:38:05.920,0:38:13.040
uh the project team

0:38:09.119,0:38:14.720
but it's many work so like i i think i

0:38:13.040,0:38:15.359
kind of understand on a high level that

0:38:14.720,0:38:17.839
at build

0:38:15.359,0:38:19.040
time you're injecting like custom

0:38:17.839,0:38:22.240
javascript or whatever

0:38:19.040,0:38:23.760
around uh different existing function

0:38:22.240,0:38:25.920
calls and stuff like that

0:38:23.760,0:38:27.119
in terms of like the markup like if i'm

0:38:25.920,0:38:30.480
imagining

0:38:27.119,0:38:33.520
a store and there's a

0:38:30.480,0:38:36.320
product and you want to do a a

0:38:33.520,0:38:37.200
an extension that does like a promotion

0:38:36.320,0:38:41.280
banner

0:38:37.200,0:38:43.280
on a product page right in magento one

0:38:41.280,0:38:45.599
you know standard magento right you're

0:38:43.280,0:38:46.560
you're using layout xml to inject some

0:38:45.599,0:38:49.760
markup

0:38:46.560,0:38:52.240
onto the product page to show that

0:38:49.760,0:38:53.599
where where is that markup getting

0:38:52.240,0:38:58.640
injected

0:38:53.599,0:38:58.640
in pwa studio world

0:38:58.839,0:39:05.520
um currently we

0:39:02.160,0:39:08.800
uh the pwa studio

0:39:05.520,0:39:12.880
only supports one way of

0:39:08.800,0:39:16.480
injecting markup um this is

0:39:12.880,0:39:19.680
if you use um the scaffolded

0:39:16.480,0:39:21.839
project and this is only available

0:39:19.680,0:39:23.280
after the next release because this

0:39:21.839,0:39:25.760
branch is

0:39:23.280,0:39:26.720
merged two weeks ago or something like

0:39:25.760,0:39:29.760
that

0:39:26.720,0:39:34.480
this was uh the last greatest thing what

0:39:29.760,0:39:38.000
james was building these things allow uh

0:39:34.480,0:39:41.119
to listen on components this means you

0:39:38.000,0:39:44.480
you can define i have

0:39:41.119,0:39:48.800
a header js in the header.js

0:39:44.480,0:39:51.359
i have a component navigation

0:39:48.800,0:39:52.240
and after the navigation i want to have

0:39:51.359,0:39:56.240
an element

0:39:52.240,0:40:00.720
of type set this is what uh

0:39:56.240,0:40:04.560
what the new extensibility api

0:40:00.720,0:40:08.560
allows so this thing exists but

0:40:04.560,0:40:11.920
only for scaffolding why

0:40:08.560,0:40:15.520
first thing security reasons

0:40:11.920,0:40:18.560
we are currently we don't want to expose

0:40:15.520,0:40:22.000
too many um apis

0:40:18.560,0:40:26.079
um what what can used for

0:40:22.000,0:40:28.480
injections etc okay injections in react

0:40:26.079,0:40:29.520
are not so easy because the framework

0:40:28.480,0:40:32.640
already

0:40:29.520,0:40:34.960
tried to make it hard for the user to

0:40:32.640,0:40:38.319
break it

0:40:34.960,0:40:41.280
but yeah you don't want to install

0:40:38.319,0:40:41.839
extension what maybe is not good for for

0:40:41.280,0:40:45.839
your shop

0:40:41.839,0:40:50.400
so currently it's only available for

0:40:45.839,0:40:50.400
uh for your own scaffolded project

0:40:50.720,0:40:57.119
but hopefully um but this is

0:40:54.079,0:40:57.599
uh still in discussion this this means

0:40:57.119,0:41:01.280
how

0:40:57.599,0:41:03.440
uh how how the core team gets feedback

0:41:01.280,0:41:05.599
this is something what what the

0:41:03.440,0:41:09.520
community and the listener can

0:41:05.599,0:41:13.040
say hey we need this also for extension

0:41:09.520,0:41:13.520
because um yeah i'm part of the core

0:41:13.040,0:41:16.640
team

0:41:13.520,0:41:20.400
i'm not getting paid for that uh

0:41:16.640,0:41:23.440
i'm i'm really close to the product i am

0:41:20.400,0:41:26.400
have every week two calls

0:41:23.440,0:41:27.839
with the core team uh one call is

0:41:26.400,0:41:31.040
internally about

0:41:27.839,0:41:34.560
road map and strategy

0:41:31.040,0:41:37.520
next steps what what we want to go and

0:41:34.560,0:41:39.040
uh which feedback we get from the

0:41:37.520,0:41:41.119
community

0:41:39.040,0:41:43.040
and the second call is our public call

0:41:41.119,0:41:47.280
where we uh try our

0:41:43.040,0:41:50.319
uh we demo our progress

0:41:47.280,0:41:50.319
um so

0:41:50.880,0:41:54.960
i think it's on on the community what

0:41:54.079,0:41:58.880
they need

0:41:54.960,0:42:01.520
in the daily business what uh

0:41:58.880,0:42:02.720
also i have the possibility from the

0:42:01.520,0:42:06.640
partner perspective

0:42:02.720,0:42:09.359
to develop the product somewhere

0:42:06.640,0:42:11.520
because i think currently we still in

0:42:09.359,0:42:11.520
the

0:42:11.680,0:42:15.119
in the early phase of the product yeah

0:42:13.760,0:42:18.319
we we already have

0:42:15.119,0:42:22.079
many features etc but

0:42:18.319,0:42:22.880
uh where we really want to go or where

0:42:22.079,0:42:26.160
we really

0:42:22.880,0:42:29.280
want to land to um

0:42:26.160,0:42:31.920
is currently not so easy because

0:42:29.280,0:42:34.319
from from me as a developer i want to

0:42:31.920,0:42:37.119
try to solve two problems

0:42:34.319,0:42:39.839
the first problem for me is developer

0:42:37.119,0:42:44.000
experience

0:42:39.839,0:42:46.319
this means something like

0:42:44.000,0:42:47.119
i really want to have something what i

0:42:46.319,0:42:51.839
really like

0:42:47.119,0:42:54.880
to to develop every day this is not like

0:42:51.839,0:42:59.839
i don't like to write a 10 000 lines

0:42:54.880,0:42:59.839
uh xml code every day right

0:43:00.000,0:43:06.960
i really like to writing some some logic

0:43:03.359,0:43:11.200
and great features for

0:43:06.960,0:43:14.880
the customers of us this is what i like

0:43:11.200,0:43:18.240
so how we can get there

0:43:14.880,0:43:22.000
uh we need to try to make uh

0:43:18.240,0:43:25.440
so many automatic things as possible

0:43:22.000,0:43:28.960
uh means like life templates means like

0:43:25.440,0:43:31.920
hey i don't want to write this thing i

0:43:28.960,0:43:31.920
let's generate it

0:43:32.400,0:43:36.319
and then the second step is a customer

0:43:34.880,0:43:40.640
experience

0:43:36.319,0:43:44.000
if this means like things

0:43:40.640,0:43:47.040
performance um like uh

0:43:44.000,0:43:49.040
how which which features we we need to

0:43:47.040,0:43:55.040
get in pwa studio

0:43:49.040,0:43:58.400
to to get a nice customer experience

0:43:55.040,0:44:01.839
yeah what um what's like

0:43:58.400,0:44:03.680
what is the biggest challenge that uh

0:44:01.839,0:44:04.960
that you're facing right now we've

0:44:03.680,0:44:06.960
talked about

0:44:04.960,0:44:08.240
um you know some of the things that

0:44:06.960,0:44:10.560
you're you've built

0:44:08.240,0:44:11.280
some of the project you've built um some

0:44:10.560,0:44:14.400
of the things

0:44:11.280,0:44:16.160
to get pwa studio to the point where it

0:44:14.400,0:44:19.119
needs to get when the hype train

0:44:16.160,0:44:20.480
eventually gets there to the station a

0:44:19.119,0:44:23.119
year from now

0:44:20.480,0:44:24.880
um but just overall whether it's pwa

0:44:23.119,0:44:25.839
studio anything else you're working on

0:44:24.880,0:44:27.280
right now

0:44:25.839,0:44:29.680
what's the biggest challenge that you're

0:44:27.280,0:44:29.680
facing

0:44:30.000,0:44:33.119
um yeah the biggest challenge is

0:44:32.319,0:44:37.200
currently

0:44:33.119,0:44:41.440
um we already knowing

0:44:37.200,0:44:44.560
um the commerce thing will change

0:44:41.440,0:44:47.839
in the next months but we

0:44:44.560,0:44:51.040
really don't know when and

0:44:47.839,0:44:55.200
um yeah currently i

0:44:51.040,0:44:58.079
are reading so many news about hey uh

0:44:55.200,0:44:59.040
next js develops our own framework for

0:44:58.079,0:45:02.240
e-commerce

0:44:59.040,0:45:05.359
and uh this launch uh this

0:45:02.240,0:45:09.760
product launch a new framework etc

0:45:05.359,0:45:15.440
so um this this means uh we

0:45:09.760,0:45:18.480
uh we try to optimize our our sites

0:45:15.440,0:45:21.520
with for for performance

0:45:18.480,0:45:25.359
and so

0:45:21.520,0:45:28.400
this is currently a a huge challenge

0:45:25.359,0:45:31.520
for for us because also every

0:45:28.400,0:45:34.720
magento developers needs to learn

0:45:31.520,0:45:38.960
a new technology

0:45:34.720,0:45:42.000
because i don't know how how long we

0:45:38.960,0:45:45.359
we will develop with p html

0:45:42.000,0:45:48.319
in magento i don't know if uh

0:45:45.359,0:45:48.880
also if i'm not totally wrong uh the

0:45:48.319,0:45:51.839
theme

0:45:48.880,0:45:54.240
from uh hiva hyper theme is also

0:45:51.839,0:45:57.440
developed based on react

0:45:54.240,0:46:00.640
so uh this this means

0:45:57.440,0:46:03.599
uh we we need to learn react

0:46:00.640,0:46:04.079
or we need to learn view or we need to

0:46:03.599,0:46:08.880
learn

0:46:04.079,0:46:12.720
alpine jazz or whatever technology

0:46:08.880,0:46:16.319
but uh the future is not uh

0:46:12.720,0:46:20.319
a php server was a render

0:46:16.319,0:46:20.319
html and

0:46:20.480,0:46:26.720
spending all the time to deliver

0:46:24.000,0:46:28.079
10 000 resources to the customer the

0:46:26.720,0:46:32.240
future is uh

0:46:28.079,0:46:34.319
try to be a minimal footprint

0:46:32.240,0:46:35.680
from your from your web application as

0:46:34.319,0:46:38.160
possible

0:46:35.680,0:46:40.319
and this is a currently a huge challenge

0:46:38.160,0:46:42.240
for for me

0:46:40.319,0:46:43.440
do you think like for a lot i hear a lot

0:46:42.240,0:46:46.560
of developers say that

0:46:43.440,0:46:48.000
you know um like let's say take a

0:46:46.560,0:46:50.800
typical you know php

0:46:48.000,0:46:51.440
back-end developer and all of a sudden

0:46:50.800,0:46:53.200
now

0:46:51.440,0:46:56.640
you're having to learn all sorts of

0:46:53.200,0:47:00.079
javascript uh frameworks and tools

0:46:56.640,0:47:01.440
uh and concepts um and kind of working

0:47:00.079,0:47:02.880
totally differently a lot of people are

0:47:01.440,0:47:05.200
like man this is

0:47:02.880,0:47:06.319
too much it's it's it's too different

0:47:05.200,0:47:09.520
everybody has to learn

0:47:06.319,0:47:12.240
too much of the stack um

0:47:09.520,0:47:13.599
do you feel that but you seem to be

0:47:12.240,0:47:15.440
getting into it i mean you're

0:47:13.599,0:47:17.040
you seem to be enjoying it building a

0:47:15.440,0:47:20.240
lot of tools to help you be

0:47:17.040,0:47:22.559
more effective and efficient um

0:47:20.240,0:47:25.119
do you think that development today is

0:47:22.559,0:47:27.839
too complicated

0:47:25.119,0:47:30.960
or it's just a new challenge to a new

0:47:27.839,0:47:30.960
opportunity to learn

0:47:33.280,0:47:39.920
yeah it's

0:47:36.319,0:47:42.559
behaves on maybe it's

0:47:39.920,0:47:43.040
based on your person because if you want

0:47:42.559,0:47:47.040
to

0:47:43.040,0:47:50.960
learn a new technology and stay

0:47:47.040,0:47:54.319
with uh yeah maybe you can develop

0:47:50.960,0:47:58.000
a php a pr

0:47:54.319,0:48:02.240
html application still in 20 years

0:47:58.000,0:48:04.880
maybe i don't know i don't have

0:48:02.240,0:48:07.040
something what where i can take a look

0:48:04.880,0:48:10.079
what what happens in 20 years and

0:48:07.040,0:48:13.119
software development so

0:48:10.079,0:48:16.480
and i'm not so old so

0:48:13.119,0:48:20.160
which possibilities i have okay

0:48:16.480,0:48:21.599
i can switch the company i can switch uh

0:48:20.160,0:48:25.760
the technology

0:48:21.599,0:48:28.400
uh try to be php focus but this is not

0:48:25.760,0:48:29.040
from in my experience is not really

0:48:28.400,0:48:32.160
helpful

0:48:29.040,0:48:35.839
because if every time if i starting uh

0:48:32.160,0:48:39.440
with a new programming language

0:48:35.839,0:48:40.480
or with a new concept and getting more

0:48:39.440,0:48:44.079
and more

0:48:40.480,0:48:47.040
familiar with hey why i should take care

0:48:44.079,0:48:50.960
about software development concepts

0:48:47.040,0:48:53.920
and the concepts of yeah

0:48:50.960,0:48:55.040
of every program language is might be

0:48:53.920,0:48:58.480
different

0:48:55.040,0:48:59.280
but still you you can apply basic

0:48:58.480,0:49:02.640
concepts

0:48:59.280,0:49:05.920
in almost every language

0:49:02.640,0:49:06.960
and it's not you starting not with

0:49:05.920,0:49:09.200
nothing

0:49:06.960,0:49:11.040
you're starting with uh already a

0:49:09.200,0:49:16.240
working kit of

0:49:11.040,0:49:19.599
great tools but now you you need to

0:49:16.240,0:49:22.800
use them differently it's like

0:49:19.599,0:49:23.599
you you have a hammer and uh i don't

0:49:22.800,0:49:26.800
know

0:49:23.599,0:49:29.839
something else in your baggage

0:49:26.800,0:49:30.559
and then maybe you need to have uh using

0:49:29.839,0:49:33.680
the hammer

0:49:30.559,0:49:38.000
a little bit different you gotta

0:49:33.680,0:49:38.000
juggle hammers or something [ __ ]

0:49:38.640,0:49:42.000
yeah yeah or or you need to came up with

0:49:41.599,0:49:45.040
uh

0:49:42.000,0:49:48.079
with a totally new concept this is

0:49:45.040,0:49:49.119
um but but from my point of view it's

0:49:48.079,0:49:52.480
like

0:49:49.119,0:49:53.760
i i want to learn new technologies i try

0:49:52.480,0:49:57.359
to be

0:49:53.760,0:50:01.920
uh before the hype train i try to be

0:49:57.359,0:50:04.319
um not not be outdated

0:50:01.920,0:50:05.200
because yeah for sure you can still

0:50:04.319,0:50:08.800
develop a

0:50:05.200,0:50:12.640
cobalt application cobalt is

0:50:08.800,0:50:16.160
a really old finance software and

0:50:12.640,0:50:19.440
maybe cobolt will exist in 20 years

0:50:16.160,0:50:20.640
and this person get in germany the

0:50:19.440,0:50:24.240
double or triple

0:50:20.640,0:50:27.280
amount of money every month as me but

0:50:24.240,0:50:27.680
it's pain yeah you know what's funny is

0:50:27.280,0:50:30.400
like

0:50:27.680,0:50:31.280
there's a huge demand for cobalt

0:50:30.400,0:50:34.240
developers i

0:50:31.280,0:50:35.119
i read uh a story about it recently

0:50:34.240,0:50:37.119
because

0:50:35.119,0:50:38.720
a lot of them are so old that they're

0:50:37.119,0:50:40.240
starting to pass away

0:50:38.720,0:50:41.839
and stuff like that and none of the

0:50:40.240,0:50:44.319
younger people

0:50:41.839,0:50:45.680
know cobalt so there's this huge and

0:50:44.319,0:50:47.040
there's all of this financial

0:50:45.680,0:50:49.200
infrastructure

0:50:47.040,0:50:50.960
around it that's so critical that isn't

0:50:49.200,0:50:52.559
going to change anytime soon it's not

0:50:50.960,0:50:56.240
going to javascript anytime

0:50:52.559,0:51:00.880
soon so there's this like huge demand

0:50:56.240,0:51:04.079
for cobalt developers it's funny

0:51:00.880,0:51:06.960
yeah yeah um

0:51:04.079,0:51:07.599
but uh but yeah now i see what you're

0:51:06.960,0:51:10.000
saying there

0:51:07.599,0:51:12.880
you mentioned uh next js commerce what

0:51:10.000,0:51:12.880
did you think about that

0:51:14.079,0:51:20.400
um i i take a look on it

0:51:17.359,0:51:23.359
and um as i

0:51:20.400,0:51:24.000
understand they they want to have

0:51:23.359,0:51:28.000
different

0:51:24.000,0:51:32.400
adapters for different systems

0:51:28.000,0:51:32.400
and currently it's

0:51:33.520,0:51:40.880
yeah it's not really cool

0:51:36.800,0:51:44.400
uh because it's um maybe i

0:51:40.880,0:51:47.040
need to rephrase it it's uh

0:51:44.400,0:51:48.160
not a real product it's something what

0:51:47.040,0:51:50.800
what they develop

0:51:48.160,0:51:51.760
and uh yeah it's a working case or

0:51:50.800,0:51:55.520
something like that

0:51:51.760,0:51:58.160
mvp but it's not uh

0:51:55.520,0:51:59.599
a really cool awesome product where you

0:51:58.160,0:52:01.599
where you can

0:51:59.599,0:52:02.960
change already the adapter but the

0:52:01.599,0:52:05.680
future of what of what i

0:52:02.960,0:52:06.240
understand from them is they want to

0:52:05.680,0:52:10.079
have

0:52:06.240,0:52:12.800
um a proxy layer for big commerce

0:52:10.079,0:52:13.119
and then you can change the proxy layer

0:52:12.800,0:52:16.640
to

0:52:13.119,0:52:20.000
magento and using next chairs

0:52:16.640,0:52:23.920
for uh to consuming

0:52:20.000,0:52:28.000
magento data and this is really cool

0:52:23.920,0:52:30.880
um because from from my point of view

0:52:28.000,0:52:31.680
is next shares are a really cool

0:52:30.880,0:52:35.680
framework

0:52:31.680,0:52:39.280
it's they having so many concepts what

0:52:35.680,0:52:42.480
what is different to to pwas studio

0:52:39.280,0:52:46.400
and other pwa solutions

0:52:42.480,0:52:49.599
and also they are already very common in

0:52:46.400,0:52:52.960
for content pages so

0:52:49.599,0:52:55.119
and for that this is interesting for

0:52:52.960,0:52:57.200
for the future generally it's not so

0:52:55.119,0:53:00.800
easy to

0:52:57.200,0:53:04.720
change one component in in big

0:53:00.800,0:53:08.319
in next commerce i don't know

0:53:04.720,0:53:11.359
what what is the real name next commerce

0:53:08.319,0:53:14.720
next js commerce i think

0:53:11.359,0:53:17.839
yeah something like that yeah

0:53:14.720,0:53:19.599
so yeah so it's mostly like the uh

0:53:17.839,0:53:21.119
it seems like it's mostly like front end

0:53:19.599,0:53:24.160
components

0:53:21.119,0:53:26.000
um with that tie into like big commerce

0:53:24.160,0:53:29.520
but you're saying as far as

0:53:26.000,0:53:31.599
how exactly it's gonna tie into

0:53:29.520,0:53:34.240
back-end e-commerce systems is not very

0:53:31.599,0:53:37.359
well defined currently

0:53:34.240,0:53:41.200
yeah currently it's really coupled to

0:53:37.359,0:53:44.559
to bitcoiners i take a look on

0:53:41.200,0:53:47.360
how they uh fetching data

0:53:44.559,0:53:48.559
and they have incrementally uh

0:53:47.360,0:53:52.319
[Music]

0:53:48.559,0:53:53.280
not replaceable uh paths or not

0:53:52.319,0:53:57.119
replaceable

0:53:53.280,0:54:00.800
data fetching endpoints but

0:53:57.119,0:54:04.480
on their website i see there should be

0:54:00.800,0:54:07.839
a different headless solution what

0:54:04.480,0:54:10.880
what you can use with it

0:54:07.839,0:54:15.599
but but i think uh big comers paid them

0:54:10.880,0:54:15.599
to to build this thing and uh

0:54:15.680,0:54:22.559
yeah it makes totally sense uh

0:54:18.800,0:54:26.240
but it's it's much less than what

0:54:22.559,0:54:29.839
uh what pwa studio currently have

0:54:26.240,0:54:31.760
and also what every pwa solution have on

0:54:29.839,0:54:34.800
the market

0:54:31.760,0:54:36.640
if if i want to guess i think they

0:54:34.800,0:54:39.520
they invest a month or something like

0:54:36.640,0:54:42.559
that to to develop this

0:54:39.520,0:54:45.599
i don't know it's it's

0:54:42.559,0:54:45.599
it's a prototype

0:54:47.520,0:54:52.640
yeah it's not too much more than a

0:54:49.760,0:54:52.640
prototype maybe

0:54:53.599,0:54:56.880
i've seen so i know you're a magento

0:54:56.000,0:55:00.240
maintainer

0:54:56.880,0:55:03.040
right on the on the core team um

0:55:00.240,0:55:05.040
and i've seen you know some complaints

0:55:03.040,0:55:07.280
from people about

0:55:05.040,0:55:09.040
important bugs not being merged things

0:55:07.280,0:55:11.680
like that i remember seeing a post from

0:55:09.040,0:55:15.200
jacob winkler recently on it

0:55:11.680,0:55:16.640
and i think that like i love what

0:55:15.200,0:55:20.240
magento has done

0:55:16.640,0:55:22.559
with like bringing people like you

0:55:20.240,0:55:23.920
in to be maintainers and to have

0:55:22.559,0:55:26.319
ownership

0:55:23.920,0:55:27.520
um but i'm curious and i'm guessing

0:55:26.319,0:55:30.559
you're probably involved

0:55:27.520,0:55:32.079
only on the pwa studio side of things

0:55:30.559,0:55:34.160
so you might not be involved with these

0:55:32.079,0:55:36.319
other issues but

0:55:34.160,0:55:37.200
what do you think about that why what do

0:55:36.319,0:55:40.319
you think about

0:55:37.200,0:55:40.319
you know these issues

0:55:42.000,0:55:48.160
yeah i think what

0:55:45.680,0:55:49.520
many people forget about before they

0:55:48.160,0:55:52.400
starting ranting about

0:55:49.520,0:55:52.400
magento is

0:55:53.200,0:56:01.040
they have a internal and external team

0:55:57.440,0:56:01.040
and developing

0:56:01.200,0:56:07.920
for request with coverage but

0:56:04.400,0:56:11.200
uh what is really good for for a product

0:56:07.920,0:56:14.559
is not so easy um and

0:56:11.200,0:56:17.440
also it's time consuming we

0:56:14.559,0:56:17.839
i have the same because maybe we found a

0:56:17.440,0:56:22.880
bug

0:56:17.839,0:56:25.680
in a project and i can provide a patch

0:56:22.880,0:56:27.040
that fix the main problem for for the

0:56:25.680,0:56:30.079
customer

0:56:27.040,0:56:31.920
the root cause but this is

0:56:30.079,0:56:34.799
maybe not really helpful for the

0:56:31.920,0:56:37.680
framework because they are so many

0:56:34.799,0:56:39.680
uh things what what you need to know

0:56:37.680,0:56:44.240
about it

0:56:39.680,0:56:49.040
and um this is this is a really

0:56:44.240,0:56:49.040
uh hard situation also um

0:56:49.280,0:56:53.760
commerce is not so easy and every

0:56:52.559,0:56:59.839
framework has

0:56:53.760,0:56:59.839
um problems and every framework has

0:57:00.079,0:57:03.680
maybe maybe lags and i know more and

0:57:03.200,0:57:07.280
more

0:57:03.680,0:57:10.799
people starting ranting about magento

0:57:07.280,0:57:10.799
and or ray

0:57:10.960,0:57:19.920
but yeah from from my point of view

0:57:15.119,0:57:22.880
it's if if they want to raid

0:57:19.920,0:57:23.760
they can don't feed the trolls don't

0:57:22.880,0:57:27.040
feed uh

0:57:23.760,0:57:30.319
don't uh i

0:57:27.040,0:57:31.040
i really um try to be focused or

0:57:30.319,0:57:34.079
positive

0:57:31.040,0:57:37.440
and try to change the system try to be

0:57:34.079,0:57:40.559
uh helpful for for the product

0:57:37.440,0:57:44.079
because we we need to know about hey

0:57:40.559,0:57:48.799
this product we use every day this is

0:57:44.079,0:57:52.559
what what we uh sell to our customers

0:57:48.799,0:57:56.400
and if i uh tweeting about a product

0:57:52.559,0:57:58.480
uh what i try to sell to a customer or

0:57:56.400,0:58:01.200
what i

0:57:58.480,0:58:04.640
want to sell to a customer maybe i

0:58:01.200,0:58:08.720
should switch to a different product

0:58:04.640,0:58:09.280
or think about what what i want to do

0:58:08.720,0:58:12.960
with

0:58:09.280,0:58:15.359
with uh with my current situation

0:58:12.960,0:58:16.079
well yeah and i mean i think that's what

0:58:15.359,0:58:18.799
um

0:58:16.079,0:58:19.280
people are ultimately doing is switching

0:58:18.799,0:58:21.119
and

0:58:19.280,0:58:22.400
i don't know i don't know if i would use

0:58:21.119,0:58:24.319
the word troll because

0:58:22.400,0:58:25.920
when you when you think of troll it's

0:58:24.319,0:58:29.119
usually somebody who's anonymous

0:58:25.920,0:58:30.799
who's not really investing anything

0:58:29.119,0:58:32.319
personally in the situation like these

0:58:30.799,0:58:33.920
are people that have

0:58:32.319,0:58:35.920
their entire career worked in the

0:58:33.920,0:58:37.040
platform and put a lot of work into

0:58:35.920,0:58:39.520
specific

0:58:37.040,0:58:41.119
putting out specific pull requests

0:58:39.520,0:58:42.079
they've tried to put in the work to get

0:58:41.119,0:58:44.079
it fixed and

0:58:42.079,0:58:45.280
and then there's things that they feel

0:58:44.079,0:58:46.640
should be obvious i

0:58:45.280,0:58:48.319
i see what you're saying that just

0:58:46.640,0:58:50.160
because something might seem obvious to

0:58:48.319,0:58:52.480
one person as a fix

0:58:50.160,0:58:54.240
might not make sense for the platform

0:58:52.480,0:58:55.200
and that can be a complicated problem to

0:58:54.240,0:58:57.520
solve

0:58:55.200,0:58:58.799
um but i guess you're right i mean

0:58:57.520,0:59:00.559
ultimately i think if

0:58:58.799,0:59:02.160
it's not working for someone they're

0:59:00.559,0:59:05.119
gonna have to move to

0:59:02.160,0:59:06.319
another platform if they're not able to

0:59:05.119,0:59:09.920
get things

0:59:06.319,0:59:10.400
you know fixed that they need yeah or

0:59:09.920,0:59:13.760
also

0:59:10.400,0:59:14.559
thinking about communication because if

0:59:13.760,0:59:18.079
i if i

0:59:14.559,0:59:20.720
uh try to be positive and try to

0:59:18.079,0:59:20.720
be uh

0:59:21.200,0:59:24.559
writing the right person or writing the

0:59:24.079,0:59:28.559
issue

0:59:24.559,0:59:32.079
on github and ping the maintainers team

0:59:28.559,0:59:35.680
in general or hey ping

0:59:32.079,0:59:39.119
ping me or different person on on

0:59:35.680,0:59:43.280
github or on on slack is like

0:59:39.119,0:59:45.119
oh okay i i also

0:59:43.280,0:59:47.040
currently i don't take a look on on

0:59:45.119,0:59:50.079
magento 2 issues

0:59:47.040,0:59:52.640
because i

0:59:50.079,0:59:55.359
i move completely as maintainer to to

0:59:52.640,0:59:55.359
pwa

0:59:55.680,1:00:02.720
right the main point for for me is focus

0:59:59.359,1:00:06.799
i don't want to play in 10 projects

1:00:02.720,1:00:09.839
i want to be focused on on the future

1:00:06.799,1:00:13.359
of want to be focused on on one thing

1:00:09.839,1:00:16.559
not 10 things and

1:00:13.359,1:00:20.000
this is why why i cannot uh

1:00:16.559,1:00:23.440
really uh measure or

1:00:20.000,1:00:24.880
take a look on hey if things not get

1:00:23.440,1:00:27.359
merged

1:00:24.880,1:00:29.599
but i think the main reason why things

1:00:27.359,1:00:32.799
not get merged is

1:00:29.599,1:00:34.640
missing coverage don't work for the

1:00:32.799,1:00:37.359
framework

1:00:34.640,1:00:38.319
works for works only for this specific

1:00:37.359,1:00:42.400
customer

1:00:38.319,1:00:45.599
with disk specific test cases

1:00:42.400,1:00:49.119
uh i already had a pleasure to doing uh

1:00:45.599,1:00:52.240
some some test plans for for adobe

1:00:49.119,1:00:54.400
and if you if you get a regression list

1:00:52.240,1:00:55.280
uh with uh some feature tests because

1:00:54.400,1:00:59.330
there was some

1:00:55.280,1:01:01.200
opportunity to to work for adobe

1:00:59.330,1:01:04.240
[Music]

1:01:01.200,1:01:08.559
so i know how how complex

1:01:04.240,1:01:11.119
and how um yeah how complex it is

1:01:08.559,1:01:12.559
to develop a product it's a it's a

1:01:11.119,1:01:16.720
completely different vision

1:01:12.559,1:01:18.160
like agency work because your product

1:01:16.720,1:01:21.040
needs to work for

1:01:18.160,1:01:22.559
i don't know twenty thousand forty

1:01:21.040,1:01:25.599
thousand indicators on

1:01:22.559,1:01:27.839
on the world

1:01:25.599,1:01:30.000
i don't know how how many people using

1:01:27.839,1:01:33.760
magento every day

1:01:30.000,1:01:36.640
to to be honest so and

1:01:33.760,1:01:39.839
this is why things usually not get

1:01:36.640,1:01:39.839
merged yeah

1:01:40.480,1:01:43.920
yeah i know that that that makes sense

1:01:42.079,1:01:46.079
it's that's it's a it's

1:01:43.920,1:01:47.680
complicated complicated problem to solve

1:01:46.079,1:01:48.480
with so many people such a large

1:01:47.680,1:01:51.520
community

1:01:48.480,1:01:53.520
um and a custom piece of piece of

1:01:51.520,1:01:56.960
software that's designed for

1:01:53.520,1:02:00.319
custom customization extensibility

1:01:56.960,1:02:02.000
um so last question uh you started a

1:02:00.319,1:02:04.839
youtube channel

1:02:02.000,1:02:07.839
uh how's that going how are you liking

1:02:04.839,1:02:07.839
that

1:02:08.400,1:02:16.160
oh yeah yeah youtube is for me

1:02:12.960,1:02:19.520
uh a little bit different because

1:02:16.160,1:02:23.119
try to be try to be focused on

1:02:19.520,1:02:26.640
on doing streams or doing capturings

1:02:23.119,1:02:29.359
every week are also

1:02:26.640,1:02:31.440
a big challenge for me is uh getting

1:02:29.359,1:02:35.039
getting topics

1:02:31.440,1:02:37.920
i i i treat i don't know

1:02:35.039,1:02:38.160
one times per month to get new topics

1:02:37.920,1:02:41.280
and

1:02:38.160,1:02:44.720
new ideas for videos

1:02:41.280,1:02:48.079
and i will do them but i know

1:02:44.720,1:02:52.079
nobody responds with ideas or only i get

1:02:48.079,1:02:55.760
one or two ideas what what i can do

1:02:52.079,1:02:58.880
and this is like because i want

1:02:55.760,1:03:02.160
don't want boring people i don't uh

1:02:58.880,1:03:05.119
i and i'm not pretty sure if

1:03:02.160,1:03:05.920
if i produce a video it's really helpful

1:03:05.119,1:03:09.280
or not

1:03:05.920,1:03:12.319
so this is why by asking about hey

1:03:09.280,1:03:15.680
uh you have a topic send it to me

1:03:12.319,1:03:18.640
and i try to produce a short video

1:03:15.680,1:03:19.200
helpful as possible for you to solve

1:03:18.640,1:03:23.440
this

1:03:19.200,1:03:26.640
thing and this is

1:03:23.440,1:03:27.920
yeah i don't know how how other people

1:03:26.640,1:03:30.960
it does

1:03:27.920,1:03:33.359
like doing youtube i uh

1:03:30.960,1:03:34.079
i already take a check out many

1:03:33.359,1:03:37.119
technical

1:03:34.079,1:03:41.760
channels and day starts with foundation

1:03:37.119,1:03:44.880
but i don't uh i don't should start

1:03:41.760,1:03:46.079
the 10 000 channels uh channel based on

1:03:44.880,1:03:49.359
react

1:03:46.079,1:03:50.640
i should also not start the twenty

1:03:49.359,1:03:53.839
thousand shyness or

1:03:50.640,1:03:56.079
channel on javascript because if

1:03:53.839,1:03:58.880
you if you search for youtube videos for

1:03:56.079,1:04:03.200
javascript and react you find

1:03:58.880,1:04:05.520
hundred thousands of videos yeah so

1:04:03.200,1:04:06.640
and i don't want to produce something

1:04:05.520,1:04:10.079
what maybe

1:04:06.640,1:04:10.079
only 10 people will see

1:04:10.839,1:04:17.440
yeah yeah it's tough it's

1:04:14.000,1:04:20.960
it's a it's a it's a tough um medium

1:04:17.440,1:04:24.079
to uh kind of figure out

1:04:20.960,1:04:26.559
um and and there's so much out there you

1:04:24.079,1:04:29.920
know on youtube uh

1:04:26.559,1:04:31.599
already that it's hard to know you know

1:04:29.920,1:04:33.760
what to make that's unique but i think

1:04:31.599,1:04:36.799
if you're if you're having fun with it

1:04:33.760,1:04:40.480
you know that's uh that's probably the

1:04:36.799,1:04:44.319
important part

1:04:40.480,1:04:47.599
yeah um teaching learn learning teaching

1:04:44.319,1:04:50.640
this is um this is a thing what

1:04:47.599,1:04:54.079
what really helps um because

1:04:50.640,1:04:56.640
i'm i heading or i will

1:04:54.079,1:04:58.000
doing a workshop internally for for tech

1:04:56.640,1:05:00.640
division

1:04:58.000,1:05:03.680
about craft call how how you can build

1:05:00.640,1:05:08.079
your own endpoints and how you can

1:05:03.680,1:05:11.280
extend existing endpoints in magento

1:05:08.079,1:05:14.000
so and this workshop i split it in

1:05:11.280,1:05:16.319
i don't know five or four videos and put

1:05:14.000,1:05:20.000
it on youtube

1:05:16.319,1:05:23.839
and now i need to capture the basic

1:05:20.000,1:05:24.799
uh craft clothing from the workshop and

1:05:23.839,1:05:27.839
then i have

1:05:24.799,1:05:30.480
uh like a free starter course for

1:05:27.839,1:05:30.960
for a craft girl how you can use it how

1:05:30.480,1:05:34.640
you can

1:05:30.960,1:05:36.960
extend magento there and

1:05:34.640,1:05:38.400
this is the thing what what does really

1:05:36.960,1:05:42.000
matter

1:05:38.400,1:05:44.319
because uh if you if you're

1:05:42.000,1:05:46.559
not using something like boost

1:05:44.319,1:05:47.760
storefront where you're already having a

1:05:46.559,1:05:51.200
middleware

1:05:47.760,1:05:54.559
blade you need to develop graphql

1:05:51.200,1:05:57.680
and javascript and this is this is also

1:05:54.559,1:06:00.880
one thing what agency partner

1:05:57.680,1:06:02.000
and developer should know about the

1:06:00.880,1:06:04.720
future

1:06:02.000,1:06:06.000
it's not like the back-end developer

1:06:04.720,1:06:09.680
develop

1:06:06.000,1:06:13.680
a layout and this is already visible

1:06:09.680,1:06:17.599
you develop something what is

1:06:13.680,1:06:19.920
gettable or reachable over http

1:06:17.599,1:06:20.799
but the customer doesn't see anything

1:06:19.920,1:06:24.000
about

1:06:20.799,1:06:27.680
graphql so

1:06:24.000,1:06:30.720
you need to know about so how i can

1:06:27.680,1:06:32.160
ship this feature in my e-commerce

1:06:30.720,1:06:35.440
application like

1:06:32.160,1:06:38.079
supporting different api versions

1:06:35.440,1:06:39.280
or i have having different versions of

1:06:38.079,1:06:42.880
graphql

1:06:39.280,1:06:42.880
how i should develop this

1:06:43.440,1:06:46.880
it's it's a completely different

1:06:44.880,1:06:50.480
approach but if if we gonna

1:06:46.880,1:06:54.160
go too deep indeed it's like we ex

1:06:50.480,1:06:54.160
attending this talk to

1:06:56.000,1:07:02.240
over a half hour or something like that

1:06:59.680,1:07:03.680
all right that's all right uh well i

1:07:02.240,1:07:05.760
hope you i hope you keep doing the

1:07:03.680,1:07:06.799
the uh the videos and maybe the live

1:07:05.760,1:07:10.079
coding

1:07:06.799,1:07:10.640
um and like you said if if you know if

1:07:10.079,1:07:12.160
you

1:07:10.640,1:07:13.839
sometimes the best way to learn

1:07:12.160,1:07:14.720
something is by teaching it i think is

1:07:13.839,1:07:17.280
what you're saying

1:07:14.720,1:07:18.960
so um you know if in in the process of

1:07:17.280,1:07:19.839
doing the videos you're learning them

1:07:18.960,1:07:22.799
better

1:07:19.839,1:07:23.760
um and then you're having some benefit

1:07:22.799,1:07:26.000
from it

1:07:23.760,1:07:27.359
um and then you know some people are

1:07:26.000,1:07:30.960
also learning from it as well

1:07:27.359,1:07:33.599
and i think it's probably worth it um

1:07:30.960,1:07:35.200
but uh but yeah man it was fun to uh

1:07:33.599,1:07:37.359
it's fun to chat with you

1:07:35.200,1:07:38.400
and uh i i love everything that you're

1:07:37.359,1:07:43.839
building

1:07:38.400,1:07:43.839
and i hope you continue to uh to do it