W3C

– DRAFT –
MEIG / MiniApps WG joint meeting

02 November 2021

Attendees

Present
Chris_Lorenzo, Chris_Needham, Francois_Daoust, Fuqiao_Xue, Hyojin_Song, John_Riviello, John_Simmons, Kaz_Ashimura, Qing_An, Takio_Yamaoka, Xu_Ying, Yingda_Zhu
Regrets
-
Chair
ChrisL, ChrisN
Scribe
cpn, kaz

Meeting minutes

Introduction

ChrisN: [describes background and motivation]
… See discussion at the MEIG TPAC meeting

https://www.w3.org/2021/10/25-me-minutes.html <-- MEIG TPAC minutes

JohnRiv: The problems miniapps seeks to solve seem similar to what we're thinking about, around performance
… We're interested in the technology of miniapps, and what have you learned about use on phones
… Also interesting are the super-apps, that aren't standard. How were you able to get that interest to standardize?

Kaz: There have been some collaborative discussion for a while between MiniApps and MEIG and MiniApps and WoT
… After this call, we can think about use cases for media handling, which parts can be handled by miniapps and which by browsers

MiniApps introduction

https://www.w3.org/2011/webtv/wiki/images/0/06/MiniApps_on_IoT_-_joint_discussion_with_MEIG.pdf <-- Qing_An's slides

Qing_An: MiniApps are a middle ground between native and web. We see it as a new format of web application
… One difference is that it runs on top of a native app, or on top of the OS, on PC or mobile
… The miniapp makes use of WebView functionality to support web rendering
… The miniapp is a hybrid solution, it uses CSS and JavaScript
… For the implementation by miniapp vendors, we haven't supported HTML in miniapps yet
… The main reason is that there may be some security or access control issue from HTML
… In the MiniApp WG we're looking at reusing existing HTML components for UI display
… Another part is to integrate native app capabilities, e.g., map components. It's easy to call such functions from an API provided by the native app
… In MiniApps for IoT, there are many hardware capabilities such as I/O ports
… In this case we provide APIs for miniapps to use this functionality
… There are many miniapp vendors, Baidu, Huawei, Xiaomi
… Also other versions in Japan and Korea
… We're working together at W3C for miniapp interoperability, and get support for browsers
… There are more than 4.5 million miniapps and 400 million daily active users
… [MiniApp use cases] These run on top of a super app, e.g., Baidu app. If the user searches for train tickets, they can open a miniapp that's provided by a ticket vendor
… In another case, the miniapp runs on the Alipay super app. The user scans a QR code in the super app, which opens the miniapp, which may ask for location or bluetooth permission
… In a third case, the miniapp runs on top of the OS. The user opens the miniapp that the user can use to call a cab
… Key features: It's web-like, small installation for easy downloading, an app-like experience, high level components,
… discoverable through multiple entry points such as SMS, smart assistant or smart speaker, search engine or QR code
… Behind it is one URI that points to a single miniapp. No matter which entry point the user uses, the data is kept centrally
… There's a miniapp UI in a hosted environment, either a super-app or mobile OS or IoT
… It could be the TV OS system. That downloads, checks, and unpacks the miniapp file
… Start the execution environment, JavaScript
… The architecture is the same for mobile as it is for IoT
… MiniApp for IoT and TV could be similar
… It has some unique features. We're working on MiniApp for IoT in the CG, extended APIs for IoT, lifecycle
… Use cases for MiniApp IoT, they're suitable for devices with screens. In the smart home, a switch panel device has a screen with buttons or a task screen
… Or a smart speaker or video conference terminal. These are some existing use cases that are already supported
… AliOS platform with integrated MCU
… The benefit of MiniApp for IoT is that it is accessible to web developers as well as traditional IoT developers who are familiar with C and C++
… They don't need to care about the underlying hardware. With existing web libraries, they can develop IoT applications very easily
… After the IoT device is manufactured and sold, the miniapp can be upgraded, and new apps downloaded to the device
… It brings the miniapp ecosystem to users
… Development is happening in the WG and CG
… For TV we've had some initial discussion, and there's an open issue, but no draft yet

MiniApp for TV

Qing_An: Traditional miniapps on phones are accessed through the touch screen
… On TV it's accessed from the remote control. So thinking about requirements for TV miniapp standardisation, there could be a need to check the focus
… Traditionally for TV applications, many developers use Android environment to build native apps. A key issue is to upgrade the apps on the TV
… In another case we are thinking about the web on TV. An issue is access control, for security, especially cross-site security
… For TV app vendors or TV app stores, it's hard to control the contents in the web app, so with the emergence of miniapps we see it could provide some benefits to simplify the developer experience and make it easier for vendors to control the apps on the TV
… Access control is easier with miniapps
… There could be many miniapps on the TV. Unlike the mobile phone UI, we can show multiple product item pages on the TV simultaneuosly, and the user can use the TV remote to choose the item
… Another use case is gaming, simple games on the TV accessed from the remote
… [Demo of Alibaba TV miniapp]
… User can purchase via ecommerce by scanning QR code for an item
… Proposal idea to add a new XML tag to allow user interaction between miniapps on TV via remote, with focus
… We looked at CSS Spatial Navigation, but there's no Tab button for the TV remote, the focus is on left/right/up/down
… I won't go into the detail. There are events for keydown/up, focus, etc
… For CSS, we want to extend it for focus, and JavaScript to let an element to obtain focus and key events
… Happy to discuss this to see what are the next steps for this work

Discussion

JohnSim: I participate in the WAVE project. I'm interested to know how much interoperability there is between miniapps
… If a device manufacturer supports multiple miniapps and exposes OS level features, is there a common API that they are using? Do miniapps share a similar API?
… In the media industry the goal is not to have device manufacturers support multiple application frameworks for rendering video

Qing_An: For TV and IoT devices, they're similar. There are many underlying OS where it's not standardized yet
… Even though miniapps are running on different devices, how to call the hardware functionality doesn't have standardized APIs yet

Qing_An: For cooperating with the TV or mobile device, we are not asking manufacturers to provide specific APIs for us. We adjust to them

JohnSim: So there's a common API for the app developer

Qing_An: Yes

Kaz: Based on the information in your slides, and there are several TV app integrations, we can think about use cases for media handling to improve performance, and compare the current situation with the miniapp approach

Qing_An: We already started a gap analysis. We can try to have discussion with W3C folks to see whether existing specs satisfy requirements

<ChrisL> Are the slides available? And that video?

Qing_An: and based on this we can see if there's a true requirement for new specs for miniapp on TV

<xfq> GitHub issue

Kaz: We should think about the different layers: hardware, network, application, etc, in the use case description

Qing_An: Yes

Hyojin: LG has developed the CSS spatial navigation spec at W3C. It seems your requirements can be covered. We have the precondition for 4-way navigation for TV
… We could separately discuss the details
… A couple of questions. What is the underlying miniapp browser engine? We tried to do something in the Chromium open source community, but it was difficult to make progress on the required APis for TV
… Currently LG TV has provided focus related requirements via a dedicated JavaScript framework. We want to support them via standardised APIs due to performance or memory
… We don't have stakeholders for several years, so we start activity in W3C
… We could consider having sub tasks for TV apps in MEIG. The group was previously named Web and TV Interest Group, to bring companies together

Qing_An: Yes. We can discuss further offline. Regarding the browser engine, it's developed by the OS provider. We use Blink with our own extensions, for better performance
… Hybrid rendering with web and native rendering

ChrisN: have you looked native media playback?
… two ways for video playback
… you could have a native video player
… a native media player, e.g., pass a manifest URL to a video element, or use MSE and EME

Qing_An: We haven't focused on video playback. I'd have to check with our development team. Currently we haven't seen a big requirement for a different API for miniapps

JohnSim: One of the reasons the WAVE project is interested in miniapps is because interoperability has two major components: the A/V content, the other is interoperable platforms for creating apps
… On the content side, the work done on MSE and EME was an attempt to enable interoperable playback, to work through HTML
… MSE works with DASH and HLS manifests that are commonly used for adaptive bitrate streaming
… The only case where they aren't used in an HTML enviromnent is what we call a "type 1" player, where you simply point to a video source, and it plays
… It's important, because to create an interoperable platform requires attention to the media formats. That's what CMAF and Common Encryption is about
… It would be good to have a follow-on discussion on interoperable media playback from the content perspective
… Creating an interoperable platform and interoperable content is the goal for the WAVE project
… Most of the major streaming services are at WAVE, and we work closely with DVB, 3GPP, ARIB on media interoperability
… So this would be a good follow-on discussion

Qing_An: Thank you. We can discuss further

JohnRiv: Thank you for this discussion. The parallels I see with miniapps and TV apps for TV playback

ChrisN: thanks a lot for your presentation, Qing!
… want to continue the discussion
… do we need to conversation about how to deal with this topic between ME and WAVE as well?

JohnSim: yes, let's talk about that offline
… sounds like a good idea

ChrisN: ok
… thank you very much!
… will be organizing a follow-up discussion in the near future

JohnSim: very soon :)
… also followup discussion by emails would be useful

[adjourned]

Minutes manually created (not a transcript), formatted by scribe.perl version 147 (Thu Jun 24 22:21:39 2021 UTC).