13:53:50 RRSAgent has joined #me 13:53:50 logging to https://www.w3.org/2022/08/02-me-irc 13:53:54 Zakim has joined #me 13:54:37 Meeting: MEIG monthly meeting 13:54:39 scribe+ cpn 13:54:45 Agenda: https://www.w3.org/events/meetings/10bb1246-323e-49d5-a1bf-137109e79f0a 13:59:55 present+ Kaz_Ashimura, Chris_Needham, Chris_Lorenzo 14:01:05 present+ Jake_Holland 14:01:21 ChrisLorenzo has joined #me 14:04:48 present+ Jordan_Holt, Murray_Coghill 14:06:00 Topic: Introduction 14:06:05 ChrisN: Welcome everyone 14:06:23 Topic: TV developer experience 14:06:34 ChrisL: Comcast is one of the largest TV and internet providers in the US 14:06:59 ... I've being doing web development for 20 years, from IE to Firefox, Chrome. Building web apps, following the evolution of JS and webdev for many years 14:07:08 ... Tools have come and gone over that time 14:07:43 ... I'm new to the TV space, I've built web applications for the browser and mobile. In the last few years, building apps using web technology 14:07:49 igarashi has joined #me 14:07:50 ... What should be the landscape in the future? 14:07:57 present+ 14:08:00 ... Part of our work at W3C is how to make things better 14:08:15 zakim, who is on the call? 14:08:15 Present: Kaz_Ashimura, Chris_Needham, Chris_Lorenzo, Jake_Holland, Jordan_Holt, Murray_Coghill, igarashi 14:08:25 ... We look at performance, and now developer experience 14:08:36 ... I did an exploration of what it's like to develop on TV 14:08:52 present+ Gary_Katsevman, Tatsuya_Igarashi, Jordan_Holt 14:09:01 ... I'll look at Tizen, my external monitor is a Samsung screen, I wanted to learn what it's like 14:09:05 present- igarashi 14:09:11 zakim, who is on the call? 14:09:11 Present: Kaz_Ashimura, Chris_Needham, Chris_Lorenzo, Jake_Holland, Jordan_Holt, Murray_Coghill, Gary_Katsevman, Tatsuya_Igarashi 14:09:21 rrsagent, make log public 14:09:25 rrsagent, draft minutes 14:09:25 I have made the request to generate https://www.w3.org/2022/08/02-me-minutes.html kaz 14:09:28 ... How do I go about creating an application? I have created apps using the Lightning framework 14:09:51 ... I read the Tizen docs - no criticism of the current state of things 14:10:05 ... Need to understand where we are today, including the mobile web, how to move forward? 14:10:18 ... There's a complex package flow and a studio for creating applications 14:10:45 i|Comcast is one of the|-> https://docs.tizen.org/application/web/index Tizen Web Application site| 14:11:10 ... I got that running, the first thing I notice it's based on Eclipse. Installing on a Mac took a while, it's not a signed app 14:11:24 ... The JDK environment took some setting up, and extensions 14:11:43 ... Tizen studio is interesting, as it's made for TV and mobile and watches, solving everything at one 14:12:20 ... Using this environment, it seems web is not a first class citizen, other native language. Similar with Android, iPhone as the web experience isn't great 14:12:45 ... ES6 import syntax isn't supported out of the box. It's hard to develop 14:12:59 ... I got their sample watch app running, a canvas rendered watch on the TV 14:13:21 ... They also support VSCode via an extension, with Tizen studio CLI tools to build the project 14:13:29 ... This was also difficult to get running 14:14:11 ... The Tizen build process uses a proprietary web package, WGT format, which bundles the files, with a config.xml, which follows the W3C Widget Packaging and XML Configuration 14:14:25 ... That's from 2011, not recommended any more 14:14:56 ... So they solved a problem at the time, built tooling around it, but diverged from where the web has gone 14:15:09 ... That's something to discuss 14:15:42 ... You write your code, then run a build a process. If you're a web developer there are bundlers for JavaScript 14:15:55 ... Tizen has a built in tool to do that, not sure if it supports ES6 import 14:16:23 ... So it feels that the web isn't a first class citizen. Hard to keep up with the latest JS trends if you're building your own tooling 14:16:39 ... They have Tizen and Samsung Developer documentation, hard to find the latest 14:16:51 ... There are starter templates to create sample applications for TV 14:16:55 i|That's from|-> https://www.w3.org/TR/2011/REC-widgets-20110927/ Widget Packaging and XML Configuration - W3C Recommendation 27 September 2011| 14:17:41 ... Getting the app to run on the TV was a difficult task. There's a web simulator that runs your project 14:18:12 ... Running a web application in an emulator means there's something non standard. They have a lot of TV APIs, such as for volume 14:18:24 ... If the browser is the default standard, how to create TV specific APIs 14:18:24 i|That's from|-> https://www.w3.org/TR/2018/OBSL-widgets-20181011/ Packaged Web Apps (Widgets) - Packaging and XML Configuration (Second Edition) - W3C Recommendation 27 November 2012 obsoleted 11 October 2018| 14:18:38 ... Mobile solved that by having geolocation and orientation APIs 14:18:48 ... We could introduce APIs for TV specific browsers 14:19:07 ... I want to be able to use a desktop browser and have it work identically 14:19:28 ... There's a Web Simulator, Web Emulator, and APIs available to use in the emulator 14:19:50 ... I want to be able to use the latest tools 14:20:27 ... Finally, getting it to run on the TV was difficult, enable developer mode on the TV, then tell it the IP address to accept incoming connections 14:20:42 present+ Barbara_Hochgesang 14:20:57 ... You have to create a Samsung account and certificate. It's a lengthy process to load a web app on the device 14:21:24 ... This isn't to criticise Samsung, it's common across TV manufacturers. I don't know how critical the security part is 14:21:41 q? 14:21:42 ... Any questions? 14:22:32 Jake: Thanks Chris. Is there an embedded browser in the TV OS? 14:22:59 ChrisL: The development tools are based on Eclipse, but the actual browser in the TV is Chromium, updated to new versions each year as each new TV model is released 14:23:37 ... They support most of the browser features. One issue is that the browser doesn't upgrade to a newer version 14:23:58 q+ 14:24:33 ... Comcast RDK uses WebKit. It's optimised for canvas rendering, WPE (WebKit for embedded devices) 14:24:54 Jake: Do they do any upgrade of the underlying browser or OS? 14:25:11 ChrisL: The 2020 TV version is locked at a specific Chromium version 14:25:27 Jake: What are the constraints? 14:26:12 ChrisL: Something to talk about, depends on the lifecycle of the chipsets, the hardware may not be powerful enough 14:26:23 ... Expensive to verify new browser works 14:26:54 ... TVs hide the browser, it's full screen, no URL bar, so hard to check things like the version 14:27:16 ... Desktop browsers update each week, so it's a different environment 14:27:39 Kaz: Are you interested more in the production workflow or widget standards, or both? 14:28:24 ... The MiniApp group is working on a possible widget mechanism and framework, generating a requirements document 14:28:35 -> https://www.w3.org/TR/2022/NOTE-miniapp-widget-req-20220424/ MiniApp Widget Requirements 14:28:36 ... We might want to generate some kind of requirements document from our viewpoint 14:29:11 ChrisL: Samsung has a component library, similar to miniapps, web components. For now I want to focus on how to load the app on a TV, the production process 14:30:15 Kaz: Many of the Japanese broadcasters were interested in that problem, and we had a seminar on that. The main environment at the time was Opera, 10 years ago. It's good timing to think about better workflows again 14:30:56 ChrisL: Chromium has been pushing forward. PWA has been a response to a problem of making the web relevant for apps, how to make web experiences that feel like native apps? 14:31:06 Topic: Progressive Web Apps 14:31:11 ack k 14:31:19 ChrisL: People built native apps for performance reasons 14:31:32 ... How to create websites that compete with native apps? 14:32:03 ... Native apps can do everything, they can access the hardware. PWA are the web but with a more native like experience 14:32:15 i|People built|-> https://web.dev/what-are-pwas/ What are Progressive Web Apps?| 14:32:43 ... You have a full screen experience, no URL bar, make it available offline, Service Worker, manifest file with icons, colors, offline preferences 14:33:28 ... The Starbucks web app was a PWA, but now it doesn't have a Service Worker 14:34:08 ... Good developer tools support. Spash screen when it loads. A service worker is a network proxy where you can cache files for offline use 14:34:16 i|The Starbucks|-> https://app.starbucks.com Starbucks Web App| 14:35:03 ... It's a responsive app on mobile. TVs basically have set dimensions. The same technology could be used on TV, make installable apps 14:35:30 ... Tizen creates a WGT file you install on the TV, they also support hosted web apps on a URL, but needs some approval steps 14:35:52 ... Microsoft has made a push on PWAs and publishing to the Microsoft Store. Mac has an app store too 14:36:09 ... You can publish to the store so that it's downloaded and "installed" 14:36:30 ... Going forward, would be great for TVs to have an app store you can load PWAs from 14:36:37 i|Microsoft has|-> https://docs.microsoft.com/en-us/microsoft-edge/progressive-web-apps-chromium/how-to/microsoft-store Publish a Progressive Web App to the Microsoft Store| 14:37:07 ... They enhanced the PWA manifest, could talk about how it can be adapted for TVs. Good solution for installing 14:37:34 ... Developer experience, if I have an editor, use npm start to run a local webserver and open that in the browser 14:38:02 ... With Chromecast you can cast to the TV. I'd love for this to also support sending a URL to the TV 14:38:17 ... The browser would automatically show the developer environment. Use devtools for debugging 14:38:54 ... Tether phone to the laptop using USB, remote control it. That same environment with a remote connection could be done with TV 14:39:06 ... Make it easy to reload, see console output, etc 14:39:55 ... Build once, works everywhere. I think that's where I need to go 14:40:25 -> https://www.chiefhacker.com ChrisL's site 14:40:30 Jake: Do you see TV apps as having a standardised set of APIs that they should implement? 14:40:54 ... With most web apps there's a click-based UI, but for TV it's a remote control. How to do click emulation? 14:41:08 q+ 14:41:31 ... Are there other expectations for being a TV app? What resources would these apps address? Are you thinking of a WG? 14:42:19 ChrisL: This is one piece of several. Developer experience, how to standardise getting an app on TV. Another piece is how to standardise API available on TV, e.g., to get product information, volume, accessibility 14:42:29 ... The third piece is performance of web on TVs 14:43:04 ... You're right, navigating on TVs is different. Keyboard or tabbing navigation. For TV apps, left, right, up, down buttons. Lightning solves that in JS 14:43:30 ... I believe we should create an API to make keyboard and focus easier 14:44:38 Kaz: Interesting discussion. We should think about related technologies, such as when the PWA idea was introduced at Fukuoka, people thought it was related to ePub, another packaging spec for web apps 14:44:59 ... We might want to survey the ePub approach. The web apps working group is working on web editing, keyboard event handling 14:45:14 ... A survey would be useful to think about 14:46:05 ChrisL: there are a lot of pieces to move forward. And some difficulty, manufacters have done a lot to support building web apps, moving to something different will be a lot of work 14:46:25 ... Can we make it simpler for everyone by following a standard? 14:47:01 Kaz: Samsung also working on in-vehicle for connected cars. Web apps on embedded devices. This is good timing to think about that 14:48:02 s/think about that/revisit that (=Web Apps on embedded devices in general)/ 14:48:24 s/also/also were/ 14:48:45 cpn: @@@1 14:49:04 ... on the remote control side, developers typically make libraries 14:49:13 ... LG guys proposed some extension for CSS 14:49:22 ... called spatial navigation 14:49:39 ... interesting to get update on those approaches 14:49:48 ... to see if there is any progress 14:50:04 i/@@@1/scribenick: kaz/ 14:50:46 Jake: Another question about capabilities available to TV apps. Are the capabilities available to PWAs different to normal web apps? Is there a different permission model? 14:51:03 s/general)/general). Also there is new work on Web Editing by WebApps group. That might be also related./ 14:51:09 ... I've been doing some work on multicast, aiming to make it browser compatible 14:51:14 i/Jake:/scribenick: cpn/ 14:51:31 ... I'm wondering if there's a different angle, if there's a higher trust permission model that could provide access 14:51:50 ... For example, the old NaCl feature in Chrome, behind a command line, not available to normal apps 14:52:24 ... Because you go through an app store distribution model, it's not the same wild west? 14:52:47 ChrisL: On mobile vs desktop APIs, the great thing about the web is you can do feature detection to check if an API is supported or not 14:52:57 i|On mobile|-> https://developer.chrome.com/blog/fugu-status/ Fugu Status| 14:53:02 Karen has joined #ME 14:53:12 ... Same with microphone or webcam. There's a lot of new APIs 14:53:33 ... Similar for TV, we could have APIs built in, standardise across the TVs 14:53:54 ... The OS layer would implement the (for example) text to speech 14:54:34 ... Chrome has project Fugu, walking a fine line of enabling APIs while being mindful of security 14:55:25 ... The good thing about the web is that if you have a domain, some way to tell the TV browser its trusted. Good security model, content security policy 14:55:40 ... Chrome also only allows certain APIs over HTTPS 14:55:43 q? 14:55:57 ack z 14:56:17 ack k 14:58:38 topic: Next steps 14:59:08 -> https://github.com/w3c/media-and-entertainment/blob/master/media-performance/charter.md Draft Charter for the Web Apps on Consumer Products TF 14:59:49 q+ 15:00:24 q+ Jordan 15:00:28 q- later 15:00:32 ack j 15:00:32 ChrisN: @@" 15:01:15 Jordan: Performance top of mind at the moment. Reduced frame rate can be an issue 15:01:53 ChrisL: Initially want to lower the barrier for getting apps onto TVs, make it easier to iterate, work on performance 15:02:24 Kaz: Given people are interested in this, we should introduce draft charter and invite comments 15:02:33 https://github.com/w3c/media-and-entertainment/blob/master/media-performance/charter.md 15:02:58 ... We can think about performance and production workflow easier too. 15:03:14 ack k 15:03:19 ChrisN: https://github.com/w3c/media-and-entertainment/pull/90 This PR adds in the developer experience part 15:06:18 s/also were/were also/ 15:06:18 s/@@@1/The Second Screen WG is developing Presentation API and Open Screen Protocol, which allows a desktop browser to discover a compatible TV and open a URL. It would be interesting to explore how this could be used for TV app development. 15:08:22 s/@@"/Another thing is the TV business model, it may be that agreements are needed between publishers and manufacturers to install TV apps 15:09:09 i/Jordan/... Also HbbTV and ATSC and Hybridcast take web specs and extend them with TV functionality. We could talk with them about TV features that should be common across all, and if W3C can standardise 15:09:35 i/Jordan/... We've been developing a charter to scope the activities. We welcome input and feedback on that. We want this to be driven by practical feedback from application developers. 15:09:56 rrsagent, draft minutes 15:09:56 I have made the request to generate https://www.w3.org/2022/08/02-me-minutes.html cpn 15:10:05 [adjourned] 15:10:11 rrsagent, draft minutes 15:10:11 I have made the request to generate https://www.w3.org/2022/08/02-me-minutes.html kaz 15:11:37 Chair: Chris_Needham, Chris_Lorenzo, Tatsuya_Igarashi 15:11:39 rrsagent, draft minutes 15:11:39 I have made the request to generate https://www.w3.org/2022/08/02-me-minutes.html cpn 15:17:20 s/I did an exploration of what it's like to develop on TV/I did an exploration of what it's like to develop on TV. Here I'll talk about one specific example, not a criticism in any way, most TVs have something similar/ 15:17:22 rrsagent, draft minutes 15:17:22 I have made the request to generate https://www.w3.org/2022/08/02-me-minutes.html cpn 16:44:02 Karen has joined #ME 17:06:15 Zakim has left #me