[DRAFT] MiniApps Working Group Charter

This is a draft MiniApps Working Group charter for discussion. It has no standing.

The mission of the MiniApps Working Group is to produce specifications that facilitate the development of interoperable and robust MiniApps.

Join the MiniApps Working Group.

This proposed charter is available on GitHub. Feel free to raise issues.

Charter Status See the group status page and detailed change history.
Start date 13 October 2023
End date 12 October 2025
Chairs Qing An (Alibaba), Zitao Wang (Huawei), Dan Zhou (Baidu)
Team Contact
Xiaoqian Wu (0.2 FTE)
Usual Meeting Schedule Teleconferences: topic-specific calls may be held
Face-to-face: at least 1 per year

Background

MiniApp is a general term for installation-free lightweight applications. It leverages both Web technologies (especially CSS and JavaScript) as well as capabilities of native applications and is gaining more and more popularity globally. To enhance the interoperability between MiniApp platforms and the Web, and between different MiniApp platforms (applications or operating systems that are hosts to MiniApps), mainstream MiniApp vendors and related stakeholders have been working together in W3C Chinese Web Interest Group since May 2019 and published a MiniApp Standardization White Paper in September 2019 as the initial standardization exploration for MiniApp technologies. In July 2022, the Working Group published version 2 of the white paper to explain the gap between different forms of MiniApp and the requirements for standardization. As more global companies get interested in joining the MiniApp-related discussion, the MiniApps Ecosystem Community Group was proposed and approved during TPAC 2019 so the global Web community can join the discussion.

During the exploration phase, potential standard requirements have been identified due to the unique nature of MiniApp in comparison to the typical Web environment. Substantial research work and joint discussions with related W3C groups have been conducted to clarify the requirements and possible solutions for MiniApp standardization. For instance, the hosting platform may or may not be a browser, and the application construction may or may not be based on web resources. Therefore, different but relevant technologies are used for UI configuration and rendering, resource packaging, and the API access to local system capabilities. Such cases have not been fully covered by existing Web standards, such as Web Packaging, Web App Manifest, or Web APIs.

The MiniApps Working Group expects to consider similar past activities and technologies, such as Packaged Web Apps (Widgets) and Firefox OS' Open Web Apps, as it works out how to build best for the Web's current needs and future. The MiniApps Working Group aims to harmonize the heterogeneous MiniApp ecosystem, enabling interoperability among the different MiniApp platforms, maximizing the convergence of MiniApps and the World Wide Web, reducing the development costs and facilitating the adoption of this technology.

Scope

The work will be based on the specifications incubated in the MiniApps Ecosystem Community Group for MiniApp features, which include the following:

  1. Basic architecture and essential functions of MiniApp such as the Manifest, Packaging, Addressing, and Lifecycle, as indicated in the Deliverables section;
  2. MiniApp UI components (encapsulated reusable code for rendering a part of the UI), component-associated APIs, and a page layout template mechanism that would enhance the interoperability among different MiniApp platforms and the Web. Other components and APIs may be included by rechartering the WG scope as the incubation results from the MiniApp Community Group.
  3. Coordination with other W3C efforts, especially security, privacy, accessibility, internationalization and other Webapp APIs, including Progressive Web Apps, on the commonality of the Web.

Out of Scope

The Working Group will not:

Deliverables

Normative Specifications

The Working Group will deliver the following W3C normative specifications:

MiniApp Addressing

This specification defines how MiniApps are located, which is called MiniApp Addressing, including the specifications for specific MiniApp URI syntax components based on the URI specification and the process to dereference the MiniApp URI. Implementing this specification enables the user agent to locate the resources of MiniApp.

Draft state: Group Draft Note

MiniApp Manifest

This specification is a registry of supplementary members for the Web Application Manifest and the Web App Manifest - Application Information specifications that provide additional metadata to an application manifest to describe MiniApps. This JSON-based manifest file enables developers to set up basic information of a MiniApp, like identification, human-readable description, versioning data, and styling information. The MiniApp manifest also configures the routing of the pages and widgets that are part of a MiniApp.

Draft state: Working Draft

Adopted Draft: 2022-07-01

Exclusion Draft: https://www.w3.org/TR/2021/WD-miniapp-manifest-20210511/

Exclusion Draft Charter: https://www.w3.org/2021/01/miniapps-wg-charter.html

MiniApp Packaging

This specification defines semantics and conformance requirements for a MiniApp package, and the structure of the single file container that holds the resources of a MiniApp, including a manifest file, static page templates, stylesheets, JavaScript documents, media files and other resources. Instances of the MiniApp package are used for MiniApp distribution and execution on runtime environments (MiniApp user agent).

Draft state: Working Draft

Adopted Draft: 2022-07-29

Exclusion Draft: https://www.w3.org/TR/2021/WD-miniapp-packaging-20211130/

Exclusion Draft Charter: https://www.w3.org/2021/01/miniapps-wg-charter.html

MiniApp Lifecycle

This specification defines the MiniApp lifecycle events and the process to manage MiniApp and each page's lifecycle. Implementing this specification enables the user agent to manage the lifecycle events of both the global application lifecycle and the page lifecycle.

Draft state: Working Draft

Adopted Draft: https://www.w3.org/TR/2021/WD-miniapp-lifecycle-20210615/

Exclusion Draft: https://www.w3.org/TR/2021/WD-miniapp-packaging-20211130/

Exclusion Draft Charter: https://www.w3.org/2021/01/miniapps-wg-charter.html

New Recommendation-track deliverables

If additional in-scope Recommendation-track deliverables need to be added to the Charter before the Charter expires, the Working Group will prepare an updated Charter that differs only in deliverables.

The Working Group will not adopt new proposals until they have matured through the MiniApps Ecosystem Community Group.

Other Deliverables

Timeline

Milestones
Specification FPWD CR PR Rec
MiniApp Addressing Q3 2023 Q4 2023 Q3 2024 Q4 2024
MiniApp Manifest Q2 2021 Q3 2023 Q3 2024 Q4 2024
MiniApp Packaging Q4 2021 Q3 2023 Q3 2024 Q4 2024
MiniApp Lifecycle Q2 2021 Q3 2023 Q3 2024 Q4 2024

Note: The actual production of some of the deliverables may follow a different timeline.

Success Criteria

In order to advance to Proposed Recommendation, each normative specification is expected to have at least two independent interoperable implementations of every feature defined in the specification, where interoperability can be verified by passing open test suites, and two or more implementations interoperating with each other. In order to advance to Proposed Recommendation, each normative specification must have an open test suite of every feature defined in the specification.

There should be testing plans for each specification, starting from the earliest drafts.

To promote interoperability, all changes made to specifications in Candidate Recommendation or to features that have deployed implementations should have tests.

Each specification should contain sections detailing all known security and privacy implications for implementers, Web authors, and end users.

Each specification should contain a section on accessibility that describes the benefits and impacts, including ways specification features can be used to address them, and recommendations for maximising accessibility in implementations.

This Working Group expects to follow the TAG Web Platform Design Principles.

APIs shall be demonstrated to be implementable securely before released.

Coordination

W3C Groups

For all specifications, this Working Group will seek horizontal review for accessibility, internationalization, privacy, and security with the relevant Working and Interest Groups, and with the TAG. The WG will seek input into accessibility user requirements. Invitation for review must be issued during each major standards-track document transition, including FPWD. The Working Group is encouraged to engage collaboratively with the horizontal review groups throughout development of each specification. The Working Group is advised to seek a review at least 3 months before first entering CR and is encouraged to proactively notify the horizontal review groups when major changes occur in a specification following a review.

Additional technical coordination with the following Groups will be made, per the W3C Process Document:

MiniApps Ecosystem Community Group
The MiniApps Ecosystem Community Group will provide the seed specifications to begin the standards process. In addition, the MiniApps Working Group plans to partner closely with the MiniApps Ecosystem Community Group to incubate new features - in particular, incubation of features that are out of current scope for the working group will happen in the Community Group, and then be followed by future WG rechartering to include them in scope.
Web Application Security Working Group
The Web Application Security Working Group is developing an API to manage permissions, which is related to this group's specifications, such as the permission information in the manifest.
Web Applications Working Group
The group coordinates with the Web Applications Working Group to ensure the consistency of the MiniApp Manifest and the Web App Manifest.
Web Platform Incubator Community Group
The Web Platform Incubator Community Group provides a lightweight venue for proposing, incubating and discussing new web platform features. The MiniApps WG coordinates with the WICG to ensure MiniApp leverages existing proposals in the WICG as much as possible.
Web Performance Working Group
The Web Performance Working Group develops the Page Visibility specification, whose features are related to those in the MiniApp Lifecycle specification.
Service Workers Working Group
The Service Workers Working Group develops the Service Workers specification, whose features are related to those in the MiniApp Lifecycle specification.
Cascading Style Sheets (CSS) Working Group
The CSS Working Group develops mechanisms for adding style to components in Web applications, which is related to the potential UI component standardization in the group.

External Groups

The following is a tentative list of external bodies the Working Group should collaborate with:

WHATWG
The WHATWG maintains the HTML and DOM Standards, which are related to the UI components work in this WG.

Participation

To be successful, this Working Group is expected to have 6 or more active participants for its duration, and to have the participation of the industry leaders in fields relevant to the specifications it produces.

The Chair(s) and specification Editors are expected to contribute one to two days per week towards the Working Group. There is no minimum requirement for other participants.

Based on the input from the group participants, the Chairs may also decide to create task forces that allow more focused discussions for topics that require specific expertise.

This Working Group will also allocate the necessary resources for building Test Suites for each specification.

The group encourages questions and comments on its public mailing lists and document repositories, as described in Communication.

The group also welcomes non-Members to contribute technical submissions for consideration upon their agreement to the terms of the W3C Patent Policy.

Participants in the group are required (by the W3C Process) to follow the W3C Code of Ethics and Professional Conduct.

Communication

Technical discussions for this Working Group are conducted in public: the meeting minutes from teleconference and face-to-face meetings will be archived for public review, and technical discussions and issue tracking will be conducted in a manner that can be both read and written to by the general public. Working Drafts and Editor's Drafts of specifications will be developed in public repositories, and may permit direct public contribution requests. The meetings themselves are not open to public participation, however.

Information about the group (for example, details about deliverables, issues, actions, status, participants) is available from the MiniApps Working Group home page.

The Working Group’s Teleconferences focus on discussion of particular specifications, and are conducted on an as-needed basis. The minimum time required for notice of an ad-hoc teleconference should be 3 working days.

This group primarily conducts its technical work on the public-miniapps-wg@w3.org and on GitHub issues. Other communication tools are allowed if 80% of the group participants decide to embrace them. Any decision to use other communication tools must be reevaluated if further W3C Members join the Working Group. The public is invited to review, discuss and contribute to this work.

The group uses a Member-confidential mailing list for administrative purposes and, at the discretion of the Chairs and participants of the group, for Member-only discussions in special cases when a particular participant requests such a discussion.

Decision Policy

This group will seek to make decisions through consensus and due process, per the W3C Process Document (section 5.2.1, Consensus). Typically, an editor or other participant makes an initial proposal, which is then refined in discussion with members of the group and other reviewers, and consensus emerges with little formal voting being required.

However, if a decision is necessary for timely progress, but consensus is not achieved after careful consideration of the range of views presented, the Chairs may call for a group vote, and record a decision along with any objections.

To afford asynchronous decisions and organizational deliberation, any resolution (including publication decisions) taken in a face-to-face meeting or teleconference will be considered provisional. A call for consensus (CfC) will be issued for all resolutions (for example, via email and/or web-based survey), with a response period from 5 to 10 working days, depending on the chair's evaluation of the group consensus on the issue. If no objections are raised on the mailing list by the end of the response period, the resolution will be considered to have consensus as a resolution of the Working Group.

All decisions made by the group should be considered resolved unless and until new information becomes available, or unless reopened at the discretion of the Chairs or the Director.

This charter is written in accordance with the W3C Process Document (Section 5.2.3, Deciding by Vote), and includes no voting procedures beyond what the Process Document requires.

Patent Policy

This Working Group operates under the W3C Patent Policy (15 September 2020). To promote the widest adoption of Web standards, W3C seeks to issue Web specifications that can be implemented, according to this policy, on a Royalty-Free basis. For more information about disclosure obligations for this group, please see the W3C Patent Policy Implementation.

Licensing

This Working Group will use the W3C Software and Document license for all its deliverables.

About this Charter

This charter for this Working Group has been created according to section 3.4 of the Process Document. In the event of a conflict between this document or the provisions of any charter and the W3C Process, the W3C Process shall take precedence.

Charter history

The following table lists details of all changes from the initial charter, per the W3C Process Document (section 4.3, Advisory Committee Review of a Charter):

Charter Period Start Date End Date Changes
Initial Charter 19 January 2021 20 January 2023
  • 2021-10: Yongjing Zhang stepped down, Zitao Wang appointed as co-chair.
  • 2021-11: Anqi Li stepped down, Qing An appointed as co-chair.
  • 2022-03: Ming Zu stepped down, Dan Zhou appointed as co-chair.
Charter Extension 20 January 2023 20 July 2023 none
Rechartered 13 October 2023 12 October 2025 Added MiniApp Addressing to normative specifications. Fuqiao Xue stepped down as team contact in October 2023. Added Xiaoqian Wu as team contact in October 2023.