Meeting minutes
Introduction
ChrisN: [describes
background and motivation]
… See discussion at the MEIG TPAC
meeting
https://
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://
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]