W3C

– DRAFT –
MiniApps WG/CG - TPAC 2021 vF2F

28 October 2021

Attendees

Present
Bingqing_Zhou, bkardell_, Canfeng_Chen, Changhao_Liang, Chris_Needham, Dan_Zhou, Hiroshi_Ota, Jeff_Xu, Jeffrey_Jaffe, John Riviello, Louay_Bassbouss, Manvi_Kapoor, martin, plh, Qing_An, Roy Ran, Takio_Yamaoka, tomayac, wanming, Wenli_Zhang, xfq, Xiaoqian_Wu, yanyumeng, Zitao_Wang
Regrets
-
Chair
Qing_An, Zitao_Wang
Scribe
xfq, xiaoqian

Meeting minutes

MiniApp Lifecycle

Qing_An: for Lifecycle, goal is to move to CR before the end of this year

https://github.com/w3c/miniapp-lifecycle/pull/20

Qing_An: we will have joint meeting with the Mobile Accessibility Task Force of the AG WG

https://github.com/w3c/miniapp-lifecycle/pull/19

Qing_An: details to be added
… added this as a reminder

https://github.com/w3c/miniapp-lifecycle/pull/18

Qing_An: this is requested by the TAG
… I need to add some reference to Service Worker, Page Visibility
… my PR just added some text in the Abstract
… "This specification also provides a mapping to existing Web specifications such as Service Workers and Page Visibility."
… xfq suggested that we add this sentence after we add the mapping to the spec
… I agree

https://github.com/w3c/miniapp-lifecycle/pull/17

Qing_An: Added MiniApp's origin description in explainer

[Network issue]

Qing_An: the hosting environment will be responsible for the security of the miniapp
… maybe in the white paper we can discuss whether we can have more detailed description about this if we think it's too brief

https://github.com/w3c/miniapp-lifecycle/pull/12

Qing_An: trivial one
… updated Web IDL
… these are not major updates
… any comments for #17 and #12?

Zitao_Wang: any objections on merging #17 and #12?

[Silence]

Qing_An: since I proposed these PRs, can Zitao or xfq merge them?

xfq: ok

MiniApp Manifest

[Martin introduces the MiniApp Manifest spec]

martin: based on web app manifest
… added new properties for MiniApps
… we're trying to align as many features as we can with web app manifest
… we are in touch with WebApps WG
… it is about how to describe a miniapp and how to configure a MiniApp
… we also define MiniApp pages in the manifest
… we also define widgets, which is a special kind of MiniApp page
… we're mainly working on the issues
… i18n
… most MiniApp vendors support i18n
… we need to distribute MiniApps in multiple languages
… we're observing the work in the webapps WG
… their discussion about i18n
… we also need to look at the localization of the MiniApp content
… we also have an issue about how to handle vendor-depenet attributes

martin: a11y features
… xfq raised an issue about adding an a11y section
… any questions?

https://github.com/w3c/miniapp-manifest/issues

Zitao_Wang: we need to add the a11y section and privacy section
… next month we will have a joint meeting with a11y folks

MiniApp Packaging

martin: this spec is the biggest one in terms of the definition of MiniApps
… about how we pack everything together and how we organize the major components
… how we define style sheets etc.
… this is still in ED
… will be published as FPWD
… we define the terms in this spec
… the definition of MiniApp itself
… the directory structure
… main resources: html, css, js, manifest.json
… localization resources

[Show structure of a miniapp]

martin: a MiniApp can have a few pages, a page can have a few compoenents
… html-like language to describe the template, data etc.
… standard ECMAScript for scripting
… define CSS profile
… we're still discussing how to define comopnents
… and how to do i18n
… will create a new document about how to specify the MiniApp content
… HTML/CSS profile for example
… next steps
… web components
… possibility to discuss with the open ui CG
… have meetings with CSSWG about missing parts in CSS
… like density pixels
… work with i18n WG about i18n strategy
… there are similarity with HTML, DOM, and other specs, but there are some important differences
… any questions?

https://github.com/w3c/miniapp-packaging/issues

xiaoqian: thank you for the great work!
… the next step seems to be a very large project
… will it be possible for the group to start working on some polyfill like we worked on for the manifest
… so people can get a basic idea what would a standardised packaging looks like on their own platform or IDE

martin: initial version of the packaging spec is almost done
… the next step in the short term is to define the algorithms
… a complete process for fetching and running a MiniApp
… from the Web
… finalize the packaging spec and start working on the MiniApp content specs

Zitao_Wang: any other comments?

Jeff_Xu: I'm Jeff Xu, co-charing the Publishing CG
… is the entry point always app.js or it can be changed?

martin: entry point is defined in the manifest, similar to web apps

martin: the UA can understand how to look for pages
… define the global config and lifecycle

martin: so far everything in a MiniApp is within its container
… this is a difference from webapps

Jeff_Xu: difference between page and common directories?

Jeff_Xu: where should I put the data?

martin: you have to define the path in the manifest
… there's no restriction on where you put it

MiniApp Addressing

https://github.com/w3c/miniapp-addressing/pull/4

Dan_Zhou: this PR is waiting for review
… no recent update
… our team is pushing the proposal in this PR

Zitao_Wang: can we publish FPWD by the end of this year?

Dan_Zhou: please review the document and the PR
… then we will do a wider review

Widget Requirement

https://github.com/w3c/miniapp-widget/pull/3

Canfeng_Chen: we raised a PR
… based on previous feedback
… time limited today
… we can discuss it next month
… we believe the next step is to add a new widget spec
… based on the requirements
… as we noted in the widget requirement document

xfq: please start in the CG. Our WG charter does not allow us to add new normative specifications, so we can incubate this document in CG now and move it to the WG when rechartering the WG.

Canfeng_Chen: will do

White paper maintenance

Zitao_Wang: we discussed this in august

https://github.com/w3c/miniapp/issues/171

https://www.w3.org/2021/08/26-miniapp-minutes.html#t03

Qing_An: I think in the new version of the white paper we can consider the following points:
… 1. how do MiniApps handle the origin issue
… 2. consider creating some new scenarios based on our work in the CG
… like MiniApps for IoT or TV
… this could be a starting point for standardization work in w3c

Zitao_Wang: agreed
… we need to explain more about the gap between MiniApps and PWA
… xiaoqian also mentioned it in previous meetings

Qing_An: currently we assume we will support html in miniapps
… this is a new idea all MiniApp vendors need to consider
… how about we mention this in the white paper
… what kind of html components we can support in miniapps

Zitao_Wang: martin will present the UI component idea in the next hour

[5min break]

MiniApps for IoT

Qing_An: I have shared MiniApps for IoT with the WoT folks
… I have added some demo since then
… MiniApps running on IoT devices

[Show slides]

Qing_An: run on top of IoT OS, rather than native apps

[Show use cases]

Qing_An: useful for IoT devices with a screen
… like smart speaker
… switch panel
… screen with buttons or a single Touch screen
… smart speaker is widely used
… with or without a screen
… checkout pad in the shopping mall
… Video conference terminal, Face recognition terminal, Locator

[Show Hardware supporting MiniApp for IoT]

Qing_An: Benefits of MiniApp for IoT for developers
… for traditional IoT apps developers need to use c/c++, compile, link
… how to develop and debug MiniApps for IoT

[Show the development process]

[Show example of how to develop a MiniApp for IoT]

Qing_An: have the same development experience as MiniApps on mobile

[Show demo video]

Qing_An: this demo is a MiniApp to control the LED light

https://w3c.github.io/miniapp-iot/

Qing_An: similar architecture with mobile MiniApps
… IoT devices have unique capabilities
… like controlling hardware
… so we need some new APIs

<Zakim> cpn, you wanted to ask about WASM and the UI XML

cpn: i would assume execution performance is a concern with these kinds of devices
… if that correct? if that is true have you considered looking at a WebAssembly runtime

Qing_An: compared with native C applications the performance is not so great
… we're considering integrating WebAssembly

cpn: about the UI
… you mentioned there are two engines
… native and XML engine. Are you thinking about XML as a standard UI description format across different native UI layers?

Qing_An: AFAIK only Alibaba has implemented this currently
… we want to see it can be supported among different vendors

Jeff_Xu: do we know what will be the memory footprint for this?

Qing_An: I have data for MCUs
… will present it in the next meeting

Jeff_Xu: need to precompile JavaScript engine in SoC
… what JavaScript engine we can use?

Qing_An: can't give too many details here, but in our IoT OS we have open-sourced our implementation for MiniApps for IoT

Qing_An: https://github.com/alibaba/AliOS-Things

Jeff_Xu: MCU has very low memory

takio: question about hardware resources
… in your demo there's GPIO controlling LED light
… how do you think about driver-layer and UI-layer MiniApps?
… if we only focus on the UI layer it's not enough
… for MiniApps for IoT
… the customers want to not just see the screen, but control the IoT devices

Jeff_Xu: some SoC devices can support JS applications
… support GPIO, for example
… MiniApp vendors need to be aware of this

Qing_An: there may be multiple solutions about @@
… since we have so many SoCs it's not so easy to standardize
… we can first focus on the JS part
… No matter how different they are

Qing_An: we have two issues for MiniApps for IoT but we're running out of time
… a PR for https://github.com/w3c/miniapp-iot/issues/2 would be useful
… about https://github.com/w3c/miniapp-iot/issues/3 I'll add some references

UI Components

martin: we're running out of time so I'll be brief
… MiniApps are composed of pages
… HTML, CSS, JS
… subcomponents
… clear similarity with web components
… custom HTML elements, HTML modules, HTML templates, shadow DOM
… for MiniApps the develops can't access the DOM directly

https://w3c.github.io/miniapp-components/

martin: Zitao collected some common comopnents ^

[Show common events]

[Show essential elements]

martin: for elements like image, it's 99% the same as img in HTML
… we should remove this and align with HTML in this case
… can communicate with HTML and Open UI

<bkardell_> please definitely bring any of these weare missing to openui and participate if you can

martin: how to define MiniApp elements?
… proposal: implement the MiniApp components as custom elements
… align with web standards and web architecture
… there are challenges
… such as the lack of the support of DOM manipulation
… and support HTML elements
… we should discuss if we should support DOM APIs
… also related to a11y
… otherwise we should provide alternative for a11y features
… WAI-ARIA considerations

bkardell_: where do you discuss these things?

martin: in the MiniApps CG and WG

UI Component Proposal

Tools for converting standard to vendor specific implementations

https://www.w3.org/2021/10/18-miniapptools-minutes.html

Zitao_Wang: last week we had a breakout session
… we have uploaded the slides and demo
… @@

Dan_Zhou: Baidu has also implemented a tool
… no time to introduce it today, though
… will provide it after the meeting

AOB

Next CG meeting: 18 November 2021, 12:00 -> 13:00 UTC

Next WG meeting: 25 November 2021, 12:00 -> 13:00 UTC

[Adjourned]

Minutes manually created (not a transcript), formatted by scribe.perl version 158 (Sun Oct 17 00:40:18 2021 UTC).