Leaving slide mode.
MiniApps WG
Martin Alvarez-Espinar
TPAC 2024
Anaheim CA, USA
hybrid meeting
26 SEPTEMBER 2024
Agenda
- Logistics
- Status of specs
- New proposals
Logistics & Administrivia
Status of the specs
- MiniApp Lifecycle
- MiniApp Addressing
- MiniApp Widgets Requirements
- MiniApp Packaging
- MiniApp Manifest
- MiniApp Components
MiniApp Lifecycle
Specific events and an interface for the MiniApp object and its pages
MiniApp lifecycle:
launched
, shown
, hidden
, error
…
Page lifecycle:
loaded
, ready
, shown
, hidden
, unloaded
Status: WD
Status of the specs
- MiniApp Lifecycle
- MiniApp Addressing
- MiniApp Widgets Requirements
- MiniApp Packaging
- MiniApp Manifest
- MiniApp Components
MiniApp Addressing
URIs for MiniApps
platform://miniapp/foo;version=1.0.1/pages/index?k=v#bar
https://platform.org/miniapp/foo;version=1.0.1/pages/index?k=v#bar
Status: Group Draft Note
Status of the specs
- MiniApp Lifecycle
- MiniApp Addressing
- MiniApp Widgets Requirements
- MiniApp Packaging
- MiniApp Manifest
- MiniApp Components
Status of the specs
- MiniApp Lifecycle
- MiniApp Addressing
- MiniApp Widgets Requirements
- MiniApp Packaging
- MiniApp Manifest
- MiniApp Components
MiniApp Packaging
Describes the logical and physical structure of a MiniApp
- Pages, components, styles,…
- Packaging format, file-system, directories…
- Digital signatures (for developer, publishers, others…)
Status: WD
Types of Resources
Pages & Components
- HTML: based on templates
- JS: ECMAScript profile
- CSS: CSS profile
- Resources for i18n
Current proposal: based on Web Components
File System
Homogeneous structure:
manifest.json
: metadata, setup
app.js
, app.css
: global logic, styles
pages/
: page resources
common/
: shared media, script resources
i18n/
: localization of content
Packaging: Open Issues
Security and efficiency concerns (TAG's Review):
- Preservation of the origin model
- UA
SHOULD
use SSL/TSL for distribution
- UA
SHOULD
keep track of the origin (save it in manifest?, UA decides?)
- Secure context (integrity of the package)
- Package
SHOULD
be hashed (integrity);
- and
SHOULD
be signed (e.g, developer + distributor)
- Efficiency of ZIP container
Ongoing
discussion.
Status of the specs
- MiniApp Lifecycle
- MiniApp Addressing
- MiniApp Widgets Requirements
- MiniApp Packaging
- MiniApp Manifest
- MiniApp Components
MiniApp Manifest
JSON document to describe a MiniApp
- Based on Web App Manifest (
extends
)
- 15 attributes with information for user agents (super-app, OS) and publishers (icons, descriptions, versions…)
- Runtime configuration (themes, colors, orientation…)
Status: WD
Manifest Next: Internationalization
Localization of manifest members
Currently, MiniApps apply text localization techniques during the compilation stage
We must distribute texts in different languages and localize color schemes, icons, and images (good for
marketplaces).
Next: alignment with Web App Manifest (working
draft)
Manifest Next: Content Security Policy (CSP)
Increase security and integrity of MiniApps
- The system caches the MiniApp, and user agents do not always have access to HTTP headers.
- We need to guarantee security and avoid content and scripts from non-trusted origins.
Proposal: alignment with Isolated Web Apps (e.g.,
`permissions_policy`, `content-security-policy`, `integrity-block`?)
Status of the specs
- MiniApp Lifecycle
- MiniApp Addressing
- MiniApp Widgets Requirements
- MiniApp Packaging
- MiniApp Manifest
- MiniApp Components
MiniApp Components
Gap analysis of solutions in MiniApp implementations
- How to declare, reuse, access components
- Templating, content interpolation, styling, scripting...
- Built-in components (i.e.,
<image>
, <ad>
,
<map>
)
Status: Draft Community Group Report
MiniApp for IoT
Use cases of MiniApp for IoT devices
Status: Draft Community Group Report
Next steps
- MiniApp Elements & MiniApp API (Proposals)
- MiniApp Object Model (Proposal)
MiniApp HTML Profile (Proposal)
Objective: define a subset of common HTML elements required by MiniApp user agents (e.g., media, EPUB).
- Minimum set of standard HTML elements present
- Incubation in the CG.
- Based on the existing gap analysis (+ including other MiniApp implementations).
Comments?
Next steps
- MiniApp Elements and API (Proposals)
- MiniApp Object Model (Proposal)
MiniApp Object Model (Proposal)
Objective: define the document object model for MiniApps.
Comments?
Wrap-up
- List of actions
- Follow-up meeting
- Other comments?
This slides were made for the TPAC 2024, using the official template.
To start the slide show, press ‘A’. Return to the index with ‘A’ or ‘Esc’. On a touch screen, use a 3-finger touch. Double click to open a specific slide. In slide mode, press ‘?’ (question mark) to get a list of available commands.