
Chrome as an independent app on ChromeOS
Chrome as an independent app on ChromeOS
ChromeOS is moving towards a more modular architecture starting mid 2023, where the browser is an independent app - a component of the OS platform. Rollout of the new architecture will be deliberate. Enterprise customers and app developers will have the opportunity to verify that user workflows are not impacted and issues can be addressed before the old architecture is retired. In this presentation we’ll review the upcoming changes, the rollout timeline, and how Chrome developers can get involved and help ensure that their apps are not affected.
Join the Trusted Tester Program → https://goo.gle/413dZrx
Visit for more info → https://goo.gle/3v7qOn7
Subscribe to Google Chrome Developers → https://goo.gle/ChromeDevs
#ChromeOS
Content
0.24 -> foreign
6.35 -> [Music]
31.5 -> welcome everyone and welcome to the CER
33.899 -> Technical Community hour today's topic
36.78 -> is Chrome as an independent app on
39.18 -> Chrome OS also known internally as
41.64 -> lacrosse
44.579 -> my name is Rich and I'll be your host
46.62 -> for today's presentation joining me
48.96 -> today we have our main Speaker John
50.7 -> Lucas stordo who was a technical program
53.039 -> manager with the Chrome engineering team
56.16 -> also joining us is Damien ranzulli he is
59.28 -> a partner engineer with the Chrome
60.899 -> Enterprise team and he'll be monitoring
63.12 -> today's q a session
66.479 -> for today's agenda we'll start with a
68.76 -> quick introduction of the CER Technical
71.46 -> Community hour program and after that
73.619 -> we'll jump into our main topic where our
75.84 -> speaker will walk us through the
77.28 -> background and call to action for our
79.2 -> CER partners
81.84 -> foreign
83.299 -> Technical Community hours brought to you
85.56 -> by the Chrome Enterprise recommended
87.24 -> program which is Google's partner
89.04 -> program for third-party solutions that
91.56 -> are optimized by Chrome OS or integrated
93.9 -> with Chrome browser
96 -> the technical community hour is one of
97.74 -> the benefits of CER this webinar brings
100.079 -> you the opportunity to engage with our
102 -> team about new features and updates
103.56 -> Enterprise development best practices
105.86 -> and our Enterprise strategy
109.68 -> now without further Ado I'd like to pass
112.14 -> it over to John Luca to kick us off
116.22 -> Thank you Rich and while I'm thinking
118.259 -> about the presentation I'll introduce
120.659 -> myself again my name is John castarto
122.399 -> I'm a technical program manager on
124.079 -> Chrome OS and I particular work on the
126.42 -> what we call the commercial side which
128.58 -> is Enterprise in edu so you you all are
131.22 -> my one of my target audience here today
134.28 -> I'll be talking about Chrome as in the
136.44 -> demanded app and we'll go in quite a bit
140.58 -> of more detail in a moment about what
144.12 -> this is and why we're doing it and what
147 -> is happening but in a nutshell this is
148.739 -> what is happening uh so this is first of
151.86 -> all
152.819 -> um as a rich already mentioned
154.459 -> chromethin independent app is what has
156.72 -> been called or you might have heard
158.819 -> called lacrosse previously this was our
161.76 -> internal name for this architectural
163.56 -> change that we're making to Chrome OS
165.84 -> we're moving from a state like the
168.06 -> current state where the Chrome browser
169.8 -> is ultimately embedded in the Chrome
172.319 -> Chrome OS app in the format story binary
175.2 -> uh 12
177.06 -> um to a stage and after this
179.94 -> architectural change to a stage where
181.8 -> the Chrome browser is going to be an
183.42 -> independent app and it itself is going
185.519 -> to be a component of the Chrome OS
186.9 -> platform
188.28 -> now before we go in fact details about
191.28 -> that I wanted to
193.879 -> outline one guiding principle that we
196.98 -> are trying to abide to in making this
200.04 -> architectural change
201.48 -> this is a change that is designed to be
203.4 -> transparent to end users
205.739 -> ultimately we expect
208.819 -> this architectural change to unlock
212.22 -> Future evolution of the platform but by
215.28 -> the sign we are not introducing new
217.14 -> features a lot in particular at launch
219.18 -> to managed users so Enterprise users
222.06 -> like your audience
223.44 -> and this is by the way also why myself
227.04 -> at technical program manager is giving
228.54 -> this presentation rather than a product
229.98 -> manager
231.72 -> um more importantly
233.4 -> we are not only not trying to introduce
235.26 -> new features but in particular we are
236.94 -> striving not to impact existing and
239.519 -> critical user Journeys or workflows of
242.64 -> our user base
244.019 -> and this is where
247.2 -> we get to the main reason for this
249.54 -> presentation we've done tried to do our
252.48 -> work to make sure that that's the case
254.519 -> but we can only be 100 sure that this is
257.459 -> the case we are not disrupting existing
259.979 -> user Journeys existing workflows if we
262.5 -> verify that your application our
264.96 -> applications and solutions work as
266.88 -> intended under the new architecture so
269.52 -> this is going to be the guiding
270.6 -> principle and sort of the reason for the
272.82 -> rest of my presentation
274.38 -> now let's go a little bit more detail in
276.6 -> what is happening
277.919 -> as I said earlier
279.84 -> um
280.44 -> Chrome OS in Chrome OS Chrome is really
283.44 -> an integral part of the OS and it's
287.4 -> actually even more than that that is
289.56 -> Chrome OS itself
291.419 -> is a single binary a monolithic binary
294.36 -> that wraps together a lot of pieces I've
297.12 -> listed some here on the slide system UI
300.18 -> window manager and compositor the Chrome
302.04 -> browser as we mentioned UI toolkits and
304.62 -> various system libraries these are all
306.479 -> wrapped into a single binary now this is
309.3 -> an audience of developers you can
311.28 -> immediately recognize that such a
313.979 -> monolithia architecture
315.8 -> introduces introduces certain
317.88 -> complications in terms of development
320.04 -> and in terms of Maintenance in terms of
322.74 -> extension and growth of the platform
324.8 -> there are some that are specific
326.759 -> actually also to Chrome OS because
330.32 -> Chrome the browser itself is a separate
333.479 -> product for Chrome OS that is meant to
336 -> be cross OS platform platform so we have
340.74 -> Chrome on Mac on PC and also Chrome OS
344.82 -> and so that the fact that this is
348.3 -> essentially an independent piece that
350.16 -> that needs to be embedded into the
352.56 -> Chrome OS binary creates quite a bit of
355.28 -> unwieldy development on our side so in
359.039 -> part
359.88 -> um let me be clear in part these changes
362.699 -> have to do with essentially doing a
365.52 -> little bit of a house cleaning on our
367.38 -> side but in part actually are
370.16 -> meant to unlock new capabilities and new
373.68 -> avenues for potential evolution of the
375.96 -> Chrome OS platform
378.12 -> um let me give you a couple of examples
381.66 -> um so this is where we are trying to
383.1 -> move to from a stage again where the
385.62 -> browser was itself part of the OS binary
388.08 -> because the stage where it's a separate
390.3 -> application that talks to the OS but
392.639 -> it's kind of separate from it well
395.639 -> um there's a couple of things that a
397.979 -> couple of evolution of the platforms
399.539 -> that are immediately possible once you
401.28 -> move to this
403.02 -> um uh to this format one being that
407.4 -> um
408.84 -> Chrome now not being embedded in Chrome
412.5 -> OS well this can be closer to the Chrome
414.78 -> that is experienced to on other
417.36 -> platforms on other OSS so users can have
420.36 -> a consistent Chrome browser experience
421.919 -> across OSS there are some differences
424.38 -> that you might be aware of
426.36 -> um in the behavior of Chrome on uh
430.02 -> Chrome OS with respect to what are the
432.06 -> capabilities approved on other platforms
434.94 -> and you know potentially do away with
438.24 -> this special
440.52 -> you know custom behaviors for Chrome OS
443.699 -> and other other interesting aspect is
447.06 -> the fact that once we have the browser
448.62 -> completely separate in a separate
450.36 -> application from the OS we're
451.919 -> essentially creating a hard boundary
454.68 -> between the two that we can actually
456.06 -> even Harden surgery further to improve
459.36 -> the security posture of the OS
463.08 -> for example the browser being a separate
466.86 -> application could update independently
469.44 -> could allow we could allow the user to
471.86 -> apply browser updates process security
475.08 -> updates without having to reboot and
477.419 -> things of this sort now let me though
480.06 -> emphasize that's the reason why I put
481.979 -> these things in um in Gray rather than
484.38 -> in Black we are
485.88 -> aiming not to launch any changes like
489.66 -> this
490.319 -> at initial rollout of this architectural
493.979 -> change but these are avenues that are
497.16 -> opened up once we make this architecture
500.52 -> Exchange
502.5 -> um
503.759 -> so this is actually this is the change
506.039 -> and you know in a sense we're ultimately
508.8 -> in the browser out of the OS and we are
511.8 -> factoring it out of there now I use this
514.26 -> term factoring it out because I actually
516.24 -> want to raise some alarm bells on your
519.12 -> side that is things to look very simple
521.039 -> once you're looking at you know purple
523.02 -> and yellow boxes on this slide but you
527.22 -> know you must be aware that refactorings
530.22 -> are never fully straightforward
532.58 -> they involve complexity and this
535.5 -> refactoring
536.94 -> is not an exception it involves a lot of
539.399 -> complexity that is hidden in this you
541.44 -> know pretty boxes slide so let's look a
545.519 -> little bit more at the flavor of
547.86 -> complexity that we're dealing with first
549.36 -> of all but reality is actually some more
551.339 -> more complicated it's not like that we
553.5 -> just have a browser that talks as one
556.62 -> communication going to give us like one
559.2 -> hour ago into device as in the previous
560.88 -> slide and another arrow going back to
563.22 -> the browser
564.48 -> but um
566.339 -> the browser itself is a
568.92 -> collection of capabilities
571.2 -> and collection of
573.18 -> pieces that talk in a very complicated
576.24 -> way with pieces of the OS now I
579.839 -> highlighted there in dark some that are
582.899 -> relevant to the change that we are
585.6 -> making
586.56 -> because ultimately now we're taking this
588.6 -> browser out of the OS and get into
591.72 -> something like this once you see this
594 -> immediately notice oh there is a lot of
597.44 -> connections that need to be rewired a
600.959 -> lot of rewiring that needs to be done
603.24 -> well
605.66 -> having to redo this rewiring I get to
609.12 -> raise another alarm Bell on your side
611.1 -> because you can see here that well while
615.12 -> earlier we had a lot of you know arrows
619.16 -> that a lot of pieces that talk to each
622.38 -> other within the same blob from us now
627.06 -> we have pieces that talk to each other
629.04 -> across the boundary I said earlier that
631.38 -> we have created a boundary between the
633.959 -> boundary between the browser and the OS
636.66 -> well
638.82 -> we need to do all this rewiring in a way
642.12 -> that maintains the behavior
645.779 -> that existed before we made this
648.18 -> architectural change now the good news
649.92 -> about this is that we've done the work
651.66 -> so let me go here for a second and we've
654.6 -> done the work to Port the Chrome apis So
657.6 -> in theory there should be no work left
660.24 -> for your developers your applications
662.1 -> should work
663.36 -> under the new architecture as they work
666.24 -> under the previous architecture but as I
669.3 -> said earlier
670.92 -> this rewiring this refactoring involves
674.459 -> complexity and every time there is these
677.88 -> type of changes need to be made some
679.74 -> bugs might
681.959 -> uh creep up and that's the bad news that
686.72 -> porting some of these apis was
688.98 -> definitely not straightforward and you
691.019 -> can also understand why because in some
693.899 -> cases take as an example
696.12 -> file system apis
699.36 -> a conversation that happened between the
701.76 -> browser and the OS within the boundaries
704.94 -> of the OS now has to cross the boundary
706.92 -> between OS and browser
710.16 -> so
711.48 -> um
712.92 -> as I said there are there have been
714.959 -> various apis whose sporting has proven
718.019 -> to be more complicated
720.48 -> than or less straightforward than you
723.54 -> know completely transparent the
724.98 -> probability
726.54 -> um you know easy
728.94 -> um
730.2 -> of course your applications might be
731.82 -> using some of those apis so definitely
734.64 -> that should give you an incentive to
737.1 -> look at your application and verify that
740.04 -> their behavior under the new
741.48 -> architecture is the same as the behavior
744 -> under the previous architecture but this
745.44 -> applies in general right even apis that
747.66 -> were easy to Port
751.44 -> required making some code based changes
754.44 -> that
756.36 -> you know worst case scenario could have
758.279 -> introduced some tricky bug very hard to
762.12 -> hit but when it's hit might just affect
765.66 -> the user experience also another thing
768.06 -> that um I should mention is that
771.06 -> again some of the interactions between
774 -> browser and Os that earlier happened
777 -> between the same application within the
779.459 -> same
780.36 -> um binary now our interactions
783.779 -> ultimately messages that are exchanged
785.88 -> possibly a couple of times over between
788.82 -> two different applications two different
790.38 -> processes that means that potentially
794.339 -> the timing of certain operations might
796.86 -> have slightly changed so if your
799.019 -> application is very
801.5 -> dependent on the current timing of
804.779 -> certain operations this should be a
807.72 -> strong invitation to verifying that the
811.62 -> behavioral application is not affected
813.66 -> under
815.579 -> um the new architecture
817.98 -> it's also another thing is in that the
820.56 -> keynote among you I might have noticed
822.839 -> from this slide is there's actually
824.88 -> there's two browsers
826.68 -> and um so there's still a browser left
830.16 -> within Chrome OS
832.38 -> in addition to the new Chrome as an
835.38 -> independent app browser
837.899 -> um the reasons for that is partly
840.899 -> technical there are certain OS surfaces
843.779 -> that need to be rendered and we are
845.639 -> basically for the time being we are
847.139 -> taking advantage of the
849.54 -> rendering bits of the old browser in um
853.32 -> in the OS binary but also that allow us
856.26 -> allows us to have what we think is a
858.66 -> smoother or less risky
861.5 -> rollout of the new browser because if we
866.22 -> still have the old browser there
868.5 -> the possibility arises for a user
872.22 -> that encounters a blocking issue
875.399 -> a remaining blocking issue once we moved
878.94 -> our user base to the new browser to
882.48 -> revert to the old browser and be
884.639 -> unblocked without having to roll back or
888 -> update the OS on their devices
891.36 -> so
892.86 -> this is nice for us because essentially
895.079 -> enables a safer rollout but also there
897.54 -> might be situations where both browsers
899.339 -> are running
900.3 -> and that potentially means that usage of
905.88 -> the
906.899 -> um of the system resources
909.18 -> might be higher so again if your
911.88 -> application already by itself tends to
914.399 -> stretch the limit of the resources
916.079 -> available on certain types of devices
918.139 -> you might want to verify that there is
922.74 -> no performance rate no issues once we
925.5 -> move to the new
927.72 -> um architecture
930.66 -> now I've
933.3 -> said told you something about the what
935.519 -> and the why
937.079 -> and again let me get back to
939.959 -> essentially nutshell we are making a
942.36 -> large change and we are trying to make
943.98 -> this transparent to users I forgot to
946.32 -> mention this earlier about the metaphor
948.54 -> that are
949.5 -> use often when I give this type of
951.54 -> presentation is that we're ultimately
953.339 -> trying to change
955.26 -> do something like changing the tires of
957.06 -> a bus while the bus is in motion without
959.279 -> the passengers noticing it's a tall
962.339 -> order it's a tall goal right we're
964.92 -> trying to do something that is pretty
966.899 -> hard so the question is like how we
968.459 -> gonna do that and that gets you to the
971.88 -> ha it gets us to the how and when well
974.94 -> we're gonna do this very
978 -> slowly we're going to take time to do it
979.8 -> we're going to do it very deliberately
981.92 -> the idea is that we're gonna start the
986.459 -> rollout of this new architecture later
988.26 -> this year but we expect the rollout to
990.959 -> run well into 2024. the idea is that
994.8 -> once we make the new architecture
996.42 -> General available for customers to try
1000.019 -> it out there's going to be an extended
1001.88 -> amount of time for them to just try this
1005.12 -> out on an opt-in basis in order to
1007.759 -> verify that things work for them
1009.86 -> we expect this opinion phase to last at
1012.98 -> least six months
1014.36 -> then we expect for the following phase
1017 -> where we essentially flip the defaults
1020.24 -> the new architecture becomes the default
1023.3 -> however
1025.04 -> customers who might encounter some
1027.86 -> issues still have the option to revert
1030.74 -> back to the old architecture this is the
1033.02 -> you know one of the reasons the
1035.299 -> possibility that I said was enabled by
1037.16 -> having the two browsers in the previous
1039.199 -> slide
1040.419 -> and this phase where essentially the
1044.419 -> default is the new architecture but
1046.64 -> there is an escape hatch
1048.679 -> to go back to the old architecture if
1051.08 -> problems are encountered we expect to
1053.36 -> last at least another six months so as
1055.52 -> you can see from the time when we make
1058.22 -> when we start this process of rolling it
1060.74 -> out that's going to be at least one year
1062.9 -> until we get to a point where the new
1065.9 -> architecture is the only game in town
1068.419 -> and the plan of course the goal here is
1070.94 -> to use this time to address any
1072.98 -> remaining issues before the old
1074.419 -> architecture is retired
1079.64 -> now
1081.62 -> as I said we are starting this later in
1084.08 -> the year so why am I here now today
1087.32 -> talking to you well the reason for that
1090.08 -> is that we are allowing select customers
1093.26 -> and developers to have access to the new
1095.539 -> architecture already now
1097.76 -> the idea is that we use
1101.24 -> this time already now to test
1105.46 -> workflows and applications against the
1108.44 -> new architecture so that we can
1112.48 -> identify any remaining issues and work
1116 -> early together
1117.5 -> to fix them
1118.94 -> now so that this is happening now and
1121.1 -> this is my call to action and my request
1124.4 -> for you developers to get an early start
1126.559 -> and test your applications under the new
1129.559 -> architecture
1131.72 -> um
1132.62 -> at this in addition this is also my
1136.22 -> request for you to start considering
1138.559 -> this new architecture as part of your
1140.12 -> regular qualification testing of your
1141.98 -> applications
1143.62 -> meaning if you regularly test your
1147.799 -> application against new versions of the
1150.08 -> of Chrome OS please start testing
1153.5 -> against this this new architecture as
1156.08 -> well
1157.52 -> um let me repeat again what the goal is
1159.44 -> here the goal here is to
1161.36 -> change the tires of the bus without the
1163.76 -> passengers noticing so the success for
1166.7 -> your testing should be that everything
1167.84 -> works as normal your users
1170.66 -> would not even notice that something
1173.419 -> has changed
1175.1 -> and
1177.559 -> here I have a link to a form there's
1181.16 -> also a QR code for those of you who have
1183.38 -> a cell phone handy
1187.039 -> um that allows you to submit your domain
1190.82 -> for inclusion of what we call this
1193.039 -> trusted tester program that gives you
1195.08 -> early access to any architecture and
1196.94 -> allows you to test your applications
1198.74 -> against it please please
1203.179 -> join this Joseph that's a program after
1207.5 -> joining it you receive detailed
1209.78 -> information about enabling the new
1211.7 -> architecture testing against it and most
1214.58 -> importantly reporting issues to us so
1217.16 -> that we can work together
1219.02 -> um to address them
1221.36 -> um so I'll wrapping it up
1223.94 -> a large large architectural changes are
1226.94 -> coming to Chrome OS starting later this
1229.4 -> year
1230.419 -> I said already the nature of the change
1233.84 -> is architectural we in particular don't
1236.96 -> want to
1238.52 -> users to know this and the reason I'm
1242.12 -> here right now is that of course there
1244.58 -> is always some risk involved in when
1246.799 -> making those changes and we would like
1248.539 -> to involve you right now in helping us
1252.26 -> verify that your apps and user workflows
1254.6 -> are not affected so again again please
1258.2 -> sign up for the
1260.08 -> trusted tester program the QR code is
1262.94 -> repeated on this slide and that's really
1265.76 -> all I had so I'll uh hand it back to
1269.419 -> Ridge to wrap it up
1273.2 -> thank you John Luca for that awesome
1274.64 -> presentation please visit the Chrome
1277.4 -> Enterprise developer website for
1279.74 -> additional information to supplement
1281.12 -> your learning
1282.32 -> that concludes today's presentation we
1285.02 -> look forward to seeing you at the next
1286.46 -> webinar uh thanks for joining and have a
1288.86 -> great day
Source: https://www.youtube.com/watch?v=VKQlQ1ZouTc