[00:00.000 --> 00:25.000] Okay, let's start off then. [00:25.000 --> 00:33.000] So, first off, please. [00:55.000 --> 01:24.000] Thank you. [01:24.000 --> 01:52.000] Thank you. [01:52.000 --> 02:20.000] Thank you. [02:20.000 --> 02:48.000] Thank you. [02:48.000 --> 02:55.000] Okay, now it's working. [02:55.000 --> 02:59.000] Okay. [02:59.000 --> 03:04.000] So, we're going to talk first about what is WAM. [03:04.000 --> 03:07.000] WAM stands for Web Application Manager. [03:07.000 --> 03:11.000] It's the LG WAM OS WAM runtime. [03:11.000 --> 03:15.000] It's built on top of Chromium nowadays. [03:15.000 --> 03:17.000] Web OS. [03:17.000 --> 03:21.000] It's an operating system for embedded products. [03:21.000 --> 03:23.000] It's authentic. [03:23.000 --> 03:26.000] So, the idea is that web applications are first-class citizens [03:26.000 --> 03:28.000] to the same level or native applications [03:28.000 --> 03:33.000] or even more prominent in web OS. [03:33.000 --> 03:37.000] The components is built on top of Jokto. [03:37.000 --> 03:41.000] It uses Wayland for graphics with QML [03:41.000 --> 03:44.000] for the Wayland compositing and Mali for biter keyboards. [03:44.000 --> 03:48.000] It has a unified media server. [03:48.000 --> 03:53.000] For IPC between applications, it has a JSON protocol [03:53.000 --> 03:57.000] that is named Luna. [03:57.000 --> 04:01.000] So, yeah, WAM is the centerpiece of the web experience [04:01.000 --> 04:05.000] in web OS. [04:05.000 --> 04:10.000] So, places where it was used, HP Touchpath a long time ago, [04:10.000 --> 04:18.000] there were some palm phones where web OS was part of the palm offering. [04:18.000 --> 04:23.000] Nowadays, it's the key part of the web OS, the LG Smart TVs. [04:23.000 --> 04:28.000] From 2013, that's the main OS to use for those TVs. [04:28.000 --> 04:36.000] So, we have hundreds of millions of users using this. [04:36.000 --> 04:42.000] Other products we have implemented in the web OS [04:42.000 --> 04:43.000] and ROS integration. [04:43.000 --> 04:47.000] So, we have some robot experiments, digital signage, [04:47.000 --> 04:56.000] some appliances like this fridge, and wearables like this clock. [04:56.000 --> 05:01.000] It is used from 2018 in the web OS open source edition. [05:01.000 --> 05:07.000] So, basically, it's a public distribution with open source [05:07.000 --> 05:11.000] basing all these components. [05:11.000 --> 05:16.000] It is used nowadays also on AGL, on the Automated Linux. [05:16.000 --> 05:20.000] It's the web runtime for AGL. [05:20.000 --> 05:25.000] So, there was a part of the LG web OS web runtime to the AGL [05:25.000 --> 05:28.000] that is not web OS. [05:28.000 --> 05:30.000] How it works? [05:30.000 --> 05:33.000] So, this is the architecture. [05:33.000 --> 05:39.000] The reddish areas are what is implemented by Chrome. [05:39.000 --> 05:43.000] Orange part is the, nowadays it's also part of Chrome, [05:43.000 --> 05:46.000] but it's the integration with Wayland. [05:46.000 --> 05:50.000] There's the blue parts that are provided by web OS, [05:50.000 --> 05:53.000] that are the Wayland Compositor and the IPC. [05:53.000 --> 05:55.000] And one is the green part. [05:55.000 --> 06:01.000] So, it's built on top of Chromium that handles the running web [06:01.000 --> 06:09.000] application of the system in an efficient way. [06:09.000 --> 06:14.000] So, the thing, why we want to put one in OS? [06:14.000 --> 06:18.000] Basically, the idea is having high support for the web platform [06:18.000 --> 06:19.000] nowadays. [06:19.000 --> 06:23.000] Web platform moves fast, so if you want to get up to date [06:23.000 --> 06:26.000] to the latest standards, you need something that provides [06:26.000 --> 06:32.000] the web standards and moves as the Chrome and baseline [06:32.000 --> 06:37.000] moves get the latest web standards. [06:37.000 --> 06:39.000] It controls the application lifecycle. [06:39.000 --> 06:41.000] So, basically, when you run a web application, [06:41.000 --> 06:44.000] one takes care of running it, of closing it, [06:44.000 --> 06:47.000] of reducing the saving memory resources, [06:47.000 --> 06:50.000] CPU resources, GPU resources, [06:50.000 --> 06:53.000] so they are properly distributed on the system, [06:53.000 --> 06:57.000] saving CPU and battery when applications are not [06:57.000 --> 07:00.000] visible to the user. [07:00.000 --> 07:03.000] So, yeah, that's one of the great advantages [07:03.000 --> 07:08.000] is this single runtime gives some performance improvements [07:08.000 --> 07:12.000] because we are sharing as much possible resources [07:12.000 --> 07:15.000] for running web content. [07:15.000 --> 07:18.000] Thus, the last one, launch time optimization, [07:18.000 --> 07:21.000] it's also quite critical because running a web stack [07:21.000 --> 07:24.000] is quite heavy thing nowadays. [07:24.000 --> 07:29.000] So, being able to have things pre-launched, pre-warmed [07:29.000 --> 07:32.000] is quite important for having a seamless web experience [07:32.000 --> 07:35.000] where application launching is very fast [07:35.000 --> 07:39.000] and application switching is also fast. [07:39.000 --> 07:44.000] Our security, well, it has all the web standards [07:44.000 --> 07:48.000] about how to run remote contents and also local contents [07:48.000 --> 07:51.000] through security origins. [07:51.000 --> 07:55.000] Security origins, basically, is the sum of a scheme, [07:55.000 --> 08:01.000] the port, and the host part of the URL. [08:01.000 --> 08:04.000] We have some permissions declared in our application manifest [08:04.000 --> 08:10.000] so we can determine which parts of the system [08:10.000 --> 08:14.000] a web application can use. [08:14.000 --> 08:17.000] And about developer tools, we have basically the same [08:17.000 --> 08:19.000] we would have on a Chrome browser. [08:19.000 --> 08:22.000] So we have the Web Inspector on developer tools [08:22.000 --> 08:25.000] and we have the Chromium Tracer for having [08:25.000 --> 08:29.000] performance analysis in the system. [08:29.000 --> 08:32.000] I think that one of the important things is that [08:32.000 --> 08:37.000] it's been running for a long time in millions of LGTBs [08:37.000 --> 08:41.000] on all the devices, so 10 years of experience, [08:41.000 --> 08:45.000] it's proven, it's running, it's stable, [08:45.000 --> 08:47.000] and it's used for a long time. [08:47.000 --> 08:52.000] And now it's also out of the LGR reference platform, too. [08:52.000 --> 08:57.000] So we have here some links for open source, [08:57.000 --> 09:00.000] the open source flavor of WebOS, [09:00.000 --> 09:05.000] and all the companies are the same as we have in Smart TVs, [09:05.000 --> 09:08.000] Related to One, and WebOS OSC. [09:08.000 --> 09:10.000] So basically, you use WebOS OSC, [09:10.000 --> 09:17.000] you can try all these components in your own devices. [09:17.000 --> 09:21.000] Okay, so let's move to the retrospective part. [09:21.000 --> 09:26.000] As Said says, it's been 10 years. [09:26.000 --> 09:32.000] The main caveat here is that I joined the WebOS project [09:32.000 --> 09:35.000] in October 2012. [09:35.000 --> 09:40.000] The history of one WebOS stand before 2008, [09:40.000 --> 09:43.000] but I will mostly focus on what I lived [09:43.000 --> 09:45.000] and not on what happened before. [09:45.000 --> 09:48.000] Anyway, it's just lesson learned. [09:48.000 --> 09:54.000] I hope some of them may be useful or insightful for you. [09:54.000 --> 09:59.000] Okay, so a bit of history. [09:59.000 --> 10:04.000] WebOS was developed by Palm that was acquired by HP [10:04.000 --> 10:09.000] in 2010, and then on 2011 HP decides [10:09.000 --> 10:13.000] that they don't want to develop any other WebOS product anymore. [10:13.000 --> 10:20.000] So the last device is a tablet that is HP Doge Path. [10:20.000 --> 10:26.000] But in 2012, there's a start of partnership between HP and LG [10:26.000 --> 10:31.000] for pouring WebOS for the LG Smart TV box. [10:31.000 --> 10:37.000] The idea was that WebOS could be the basis for the future Smart TV [10:37.000 --> 10:39.000] offered by LG. [10:39.000 --> 10:42.000] They had something that was named Netcast before, [10:42.000 --> 10:45.000] and it was hard to maintain, [10:45.000 --> 10:50.000] and it was hard to keep moving with what was required [10:50.000 --> 10:53.000] for the future Smart TV OS, [10:53.000 --> 10:56.000] because you would have more than one Web application running [10:56.000 --> 10:59.000] at the same time that switched into that WebOS [10:59.000 --> 11:02.000] were already providing at that time. [11:02.000 --> 11:06.000] So 2013 basically what happened was that LG had acquired [11:06.000 --> 11:11.000] the business unit that was found before. [11:11.000 --> 11:16.000] So basically the business unit that owns WebOS. [11:16.000 --> 11:22.000] That business unit was renamed to the LG Silicon Valley Labs. [11:22.000 --> 11:24.000] At that time. [11:24.000 --> 11:28.000] And from 2014, LG WebOS based TVs [11:28.000 --> 11:32.000] introduced in computer entertainment show in Las Vegas, [11:32.000 --> 11:35.000] and then the TVs were released a few months later. [11:35.000 --> 11:40.000] I think it's April 2014, the first LG Smart TVs [11:40.000 --> 11:43.000] based on WebOS. [11:43.000 --> 11:48.000] Okay, more about open source. [11:48.000 --> 11:55.000] As I said, HP Power decided to scrap all the WebOS new products, [11:55.000 --> 11:58.000] so they stopped doing new products, [11:58.000 --> 12:03.000] and they published most of the source codes [12:03.000 --> 12:09.000] open WebOS with the idea, I think, [12:09.000 --> 12:13.000] well, the feeling at the right time, [12:13.000 --> 12:15.000] at that time that nowadays is the same, [12:15.000 --> 12:19.000] they open it to attract interest in WebOS, [12:19.000 --> 12:22.000] to attract investors. [12:22.000 --> 12:28.000] Very likely they were already considering selling the business unit. [12:28.000 --> 12:36.000] But when LG acquired the Power Business Unit, [12:36.000 --> 12:39.000] they stopped maintaining open WebOS. [12:39.000 --> 12:44.000] So they came back to the new open source developing model, [12:44.000 --> 12:51.000] and that was kind of a strong problem. [12:51.000 --> 12:54.000] But it was very, very hard, [12:54.000 --> 12:58.000] the work to port WebOS for smart TVs [12:58.000 --> 13:00.000] and releasing to products. [13:00.000 --> 13:02.000] There is something that sometimes it's not very clear, [13:02.000 --> 13:05.000] but when you have something like an open source product, [13:05.000 --> 13:08.000] some upstream, some poly-produced, [13:08.000 --> 13:10.000] but then you want to get to release quality [13:10.000 --> 13:12.000] for a product for millions of users, [13:12.000 --> 13:14.000] it's not easy. [13:14.000 --> 13:17.000] There's a lot of work to stabilize, [13:17.000 --> 13:22.000] to mature things, to even pass controls [13:22.000 --> 13:25.000] by authorities of all quality. [13:25.000 --> 13:27.000] It's not very easy. [13:27.000 --> 13:32.000] So we all decided to focus on first having the smart TVs [13:32.000 --> 13:36.000] running WebOS, and then open sourcing again [13:36.000 --> 13:39.000] would be an afterthought after that. [13:39.000 --> 13:43.000] Usually that doesn't happen in the end. [13:43.000 --> 13:45.000] This kind of afterthought never happened, [13:45.000 --> 13:50.000] but in this case it happened. [13:50.000 --> 13:58.000] So in 2018, like six years after open WebOS was stopped, basically, [13:58.000 --> 14:02.000] LG releases WebOS open source edition. [14:02.000 --> 14:06.000] The focus was in this case allowing people to take this, [14:06.000 --> 14:09.000] to prototype ADS, do experiments, [14:09.000 --> 14:11.000] make things around WebOS, [14:11.000 --> 14:15.000] because basically you would have a UI user experience [14:15.000 --> 14:19.000] a way to integrate this in the web component. [14:19.000 --> 14:22.000] Yeah, the idea is students, independent developers [14:22.000 --> 14:27.000] would have a way to prototype and do things with that. [14:27.000 --> 14:32.000] So again, the idea is creating a community around it. [14:32.000 --> 14:37.000] So OSC is acting nowadays. After five years it's still there, [14:37.000 --> 14:40.000] so it's not something that is going away. [14:40.000 --> 14:43.000] The hardware technology nowadays is Raspberry Pi, [14:43.000 --> 14:47.000] and nowadays it's Pi 4 model. [14:47.000 --> 14:52.000] My view, it simplifies testing new ideas. [14:52.000 --> 14:58.000] It allows to start things like integrating one WebOS part [14:58.000 --> 15:03.000] in ROS for robotics and in EGL for automotive. [15:03.000 --> 15:08.000] So yeah, it was quite a success in that regard, [15:08.000 --> 15:12.000] but there are tons of experiments that have been happening [15:12.000 --> 15:16.000] that are quite useful for understanding, [15:16.000 --> 15:22.000] well, for prototyping product ideas. [15:22.000 --> 15:26.000] So if you want to integrate WebUI [15:26.000 --> 15:30.000] in your experimental product, OSC can help. [15:30.000 --> 15:34.000] It's very easy to integrate web application, web contents, [15:34.000 --> 15:39.000] both a party and even running locally. [15:39.000 --> 15:42.000] Okay. [15:42.000 --> 15:45.000] So how it happens, we have WebOS, [15:45.000 --> 15:48.000] we have Open Source Edition. [15:48.000 --> 15:52.000] There was the idea at the LSBL [15:52.000 --> 15:56.000] that it would be interesting to port parts of Chromium, [15:56.000 --> 16:04.000] the web runtime we have in WebOS to port it to EGL, [16:04.000 --> 16:08.000] so it would have a web runtime with all the advantages [16:08.000 --> 16:10.000] we talked about. [16:10.000 --> 16:15.000] So it has been a collaboration between EGL and EGLia, [16:15.000 --> 16:19.000] and then presented to the Linux Foundation, [16:19.000 --> 16:23.000] so in the end, a collaboration among the three. [16:23.000 --> 16:27.000] Before 2017, Galileo was assisting [16:27.000 --> 16:30.000] porting Chrome browser adaptation to Wayland [16:30.000 --> 16:33.000] on the Chrome browser, so it was running in EGL. [16:33.000 --> 16:40.000] But in May, in 2017, my team in LG Silicon Valley Labs [16:40.000 --> 16:44.000] did experiment to port one to EGL. [16:44.000 --> 16:47.000] It was actually one month, [16:47.000 --> 16:50.000] it was mostly working in two weeks, [16:50.000 --> 16:58.000] and then we started maintaining it from 2019 to present. [16:58.000 --> 17:04.000] Okay, the thing is that the experiment proved it was possible, [17:04.000 --> 17:09.000] and now the focus is always moving to be able to run EGL [17:09.000 --> 17:13.000] with only web UI, so basically the main UI [17:13.000 --> 17:17.000] at that time in EGL was just in Qt, [17:17.000 --> 17:22.000] and the idea was that if you didn't want to run on top of Qt, [17:22.000 --> 17:27.000] you could run on top of one and half all the system UI [17:27.000 --> 17:30.000] and don't ask for applications. [17:30.000 --> 17:33.000] It also allowed to integrate with other applications, [17:33.000 --> 17:38.000] add with the system services as provided by them, [17:38.000 --> 17:41.000] and that's part of the continuous adaptation as EGL evolves [17:41.000 --> 17:46.000] with different system protocols and system services [17:46.000 --> 17:49.000] we need to evolve to catch up with that. [17:49.000 --> 17:52.000] So that was what happened in the last four years. [17:52.000 --> 17:56.000] We did one adaptation to EGL. [17:56.000 --> 17:59.000] Okay, another evolution. [17:59.000 --> 18:03.000] In 2012, we were using Qt WebKit. [18:03.000 --> 18:07.000] We moved to Qt WebKit 2 in the first two years, [18:07.000 --> 18:10.000] and the first web OS TVs were using Qt WebKit 2. [18:10.000 --> 18:13.000] Then we moved to use Qt Web Engine. [18:17.000 --> 18:21.000] The idea was that everybody was moving to blink, [18:21.000 --> 18:27.000] and it was not as much more than that. [18:27.000 --> 18:33.000] The idea is that we had this feeling that chromium blink [18:33.000 --> 18:38.000] were moving faster while doing more [18:38.000 --> 18:40.000] for the web platform. [18:40.000 --> 18:43.000] So it would save costs for maintenance to move [18:43.000 --> 18:47.000] to use an engine based on blink and chromium. [18:47.000 --> 18:50.000] So yeah, we used Qt Web Engine. [18:50.000 --> 18:55.000] Qt already has a part that would save us time [18:55.000 --> 18:57.000] for doing that part. [18:57.000 --> 19:07.000] But from 2015, we moved to create our own binding layer [19:07.000 --> 19:09.000] and drop Qt Web Engine. [19:09.000 --> 19:15.000] So this web OS WebView is a new component [19:15.000 --> 19:17.000] that replaces Qt Web Engine. [19:17.000 --> 19:20.000] One is built now on top of that. [19:20.000 --> 19:21.000] Why? [19:21.000 --> 19:25.000] The main reason, there are a few reasons, [19:25.000 --> 19:29.000] but there was a concern about the licensing model [19:29.000 --> 19:31.000] on Qt Web Engine at the time. [19:31.000 --> 19:35.000] It was one of the first components that moved to LGPL v3. [19:35.000 --> 19:40.000] So the way they contents about the patent clauses [19:40.000 --> 19:45.000] and for a TV vendor, that was kind of a problem. [19:45.000 --> 19:48.000] And not only a TV vendor, we found several others [19:48.000 --> 19:50.000] that would have some concerns on that. [19:50.000 --> 19:57.000] So there was no other Qt Web Engine use at the time. [19:57.000 --> 20:02.000] So in the end, we did this. [20:02.000 --> 20:06.000] We removed that dependency, at least in the Web Engine [20:06.000 --> 20:08.000] integration side. [20:08.000 --> 20:12.000] It was allowed to simplify the continuous upgrade [20:12.000 --> 20:15.000] to track upstream Chromium at that time, [20:15.000 --> 20:21.000] because at least the media stack in Web OS is way different. [20:21.000 --> 20:24.000] So maintaining a different Web Stack on top of Qt Web Engine [20:24.000 --> 20:28.000] on top of Chromium and trying to keep that baseline, [20:28.000 --> 20:31.000] trying to keep upstream. [20:31.000 --> 20:35.000] It started to become quite hard. [20:35.000 --> 20:41.000] Then we did something different, and that's more recent. [20:41.000 --> 20:44.000] One was based on Qt for a long time, [20:44.000 --> 20:49.000] but there was concern from some stakeholders, [20:49.000 --> 20:53.000] not LG, that has some partnership with Qt that is strong. [20:53.000 --> 20:56.000] So it was not a problem, but for other stakeholders, [20:56.000 --> 21:01.000] the CPL dependency was kind of a problem. [21:01.000 --> 21:05.000] And the other reason for using Qt diminishes a bit, [21:05.000 --> 21:12.000] because basically C++ and STL improved a lot [21:12.000 --> 21:16.000] and simplified things. [21:16.000 --> 21:19.000] So it was not that important to have all the pieces [21:19.000 --> 21:28.000] that Qt was providing for free as part of the bundle. [21:28.000 --> 21:32.000] So in last year, well, two years ago, [21:32.000 --> 21:35.000] we moved to not depend on Qt anymore, [21:35.000 --> 21:38.000] and now it's based on STL and other C++ libraries [21:38.000 --> 21:42.000] for JSON passing and a bit of glib for the main loop. [21:42.000 --> 21:47.000] We moved from Qmake to CMake. [21:47.000 --> 21:51.000] Okay, but the thing is about stability. [21:51.000 --> 21:54.000] One didn't change a lot in the last 10 years, [21:54.000 --> 21:58.000] so the main ideas that we have running 10 years ago [21:58.000 --> 22:01.000] are still there, the way we handle the way [22:01.000 --> 22:03.000] running applications, et cetera. [22:03.000 --> 22:07.000] So it has been useful. [22:07.000 --> 22:11.000] The architecture has been flexible enough to adapt [22:11.000 --> 22:15.000] to the web engine changes we explained, [22:15.000 --> 22:18.000] new changes, new products, and even OS changes. [22:18.000 --> 22:22.000] So we've been able to put one to different OSes, [22:22.000 --> 22:28.000] different web engines, and it added very well. [22:28.000 --> 22:31.000] So first, about the future, [22:31.000 --> 22:33.000] why was STL here to stay? [22:33.000 --> 22:38.000] LG is spending lots of money [22:38.000 --> 22:44.000] on making it the main part for the OS TV offering. [22:44.000 --> 22:49.000] They've been even allowing it to be used [22:49.000 --> 22:55.000] for third-party TV vendors through the world-wide staff. [22:55.000 --> 22:59.000] And there are some future discussions. [22:59.000 --> 23:01.000] We are now using GCC for building. [23:01.000 --> 23:04.000] We may move in the future to use Clang, [23:04.000 --> 23:08.000] basically because it's the toolchain that comes about. [23:08.000 --> 23:12.000] So maintaining both the chains is kind of problematic. [23:12.000 --> 23:15.000] And we want to improve the upgrade cycles. [23:15.000 --> 23:18.000] We want to be closer to up-synchromium. [23:18.000 --> 23:22.000] So there are many reforms happening nowadays [23:22.000 --> 23:28.000] to improve these also. [23:28.000 --> 23:30.000] So these are the final remarks. [23:30.000 --> 23:34.000] Yeah, 10 years of the project, more to come. [23:34.000 --> 23:36.000] It's in millions of products. [23:36.000 --> 23:38.000] It proved to be useful. [23:38.000 --> 23:43.000] And it allows to create products offering, [23:43.000 --> 23:45.000] I mean, don't put this in Arduino. [23:45.000 --> 23:47.000] It's not going to work. [23:47.000 --> 23:52.000] But for products with 512 MB, even 250 CSV, [23:52.000 --> 23:56.000] it's possible to provide a good web experience. [23:56.000 --> 23:58.000] So that's it. [23:58.000 --> 23:59.000] And thanks. [23:59.000 --> 24:01.000] These are the sponsors of the work. [24:01.000 --> 24:04.000] So it's important to show them. [24:04.000 --> 24:05.000] Thank you. [24:05.000 --> 24:16.000] Thank you. [24:16.000 --> 24:20.000] We have a few questions, starting with the online questions. [24:20.000 --> 24:24.000] The question online was, if I have an LG TV [24:24.000 --> 24:27.000] and they want to rebuild the firmware from sources, [24:27.000 --> 24:29.000] is that possible? [24:29.000 --> 24:31.000] I don't think you're going to know the answer to that one. [24:31.000 --> 24:32.000] No. [24:32.000 --> 24:37.000] The LG OS TV is proprietary OS. [24:37.000 --> 24:43.000] I say that maybe around 10% of the software is proprietary, [24:43.000 --> 24:45.000] but you cannot be the firmware. [24:45.000 --> 24:51.000] And actually, TV industry is quite bad in that regard, [24:51.000 --> 24:59.000] because of DRM and of the requirements of the TV [24:59.000 --> 25:04.000] providers like Netflix, Disney Plus, all these kind of things. [25:04.000 --> 25:08.000] They want to have a strong hold on how the contents are [25:08.000 --> 25:11.000] delivered and when the contents are possible to be delivered [25:11.000 --> 25:12.000] and paid and whatever. [25:12.000 --> 25:17.000] So it's not all a thing about LG. [25:17.000 --> 25:19.000] Samsung has the same problem. [25:19.000 --> 25:21.000] Other vendors have the same problem. [25:21.000 --> 25:25.000] It's that the industry that will deliver contents to the TV [25:25.000 --> 25:28.000] are quite problematic in that regard. [25:28.000 --> 25:32.000] That's something that I would like to see it improve. [25:32.000 --> 25:36.000] Google has done a lot for at least reducing the pattern that [25:36.000 --> 25:40.000] is related to the DRM, but that's a problem of the TV [25:40.000 --> 25:45.000] industry that we need to deal nowadays. [25:45.000 --> 25:48.000] So we manufacture OEM boards. [25:48.000 --> 25:52.000] And over the years, we manufacture OEM boards. [25:52.000 --> 25:54.000] And over the years, I find it really difficult to know [25:54.000 --> 25:57.000] what kind of platforms. [25:57.000 --> 26:01.000] I find it really difficult to recommend UX platforms to our [26:01.000 --> 26:02.000] clients. [26:02.000 --> 26:06.000] So nowadays, we're starting to look at Flutter. [26:06.000 --> 26:08.000] That seems to be something people are talking about. [26:08.000 --> 26:11.000] I'm really sort of not a UX person. [26:11.000 --> 26:15.000] So when would you say we should be recommending this and WebOS [26:15.000 --> 26:17.000] as opposed to other alternatives? [26:17.000 --> 26:19.000] What are the sort of pros and cons, as it were? [26:19.000 --> 26:23.000] Actually, there are different lines. [26:23.000 --> 26:26.000] So for system UI, you can choose whatever you want. [26:26.000 --> 26:28.000] Flutter is quite efficient. [26:28.000 --> 26:29.000] Qt is quite good. [26:29.000 --> 26:30.000] Web is possible. [26:35.000 --> 26:40.000] The main thing is that, do you need web applications on top [26:40.000 --> 26:41.000] of that? [26:41.000 --> 26:45.000] Because you may want to play separate contents like Twitter [26:45.000 --> 26:49.000] application that is web, like YouTube, silly that. [26:49.000 --> 26:52.000] If you need separate contents, you may also want to have [26:52.000 --> 26:53.000] a web runtime. [26:53.000 --> 26:56.000] So you may have the need. [26:56.000 --> 27:00.000] You may want to still use web also for the system UI. [27:00.000 --> 27:01.000] It's your choice. [27:01.000 --> 27:06.000] The tooling is a great advantage of web contents because [27:06.000 --> 27:08.000] there are tons of developers. [27:08.000 --> 27:13.000] There are tons of ways to do UI in web. [27:13.000 --> 27:16.000] And it's pretty much a common standard for that. [27:16.000 --> 27:18.000] But yeah, it's a choice. [27:18.000 --> 27:20.000] Thanks, everybody. [27:20.000 --> 27:22.000] Time's up. [27:22.000 --> 27:23.000] Thank you.