04:34:15 RRSAgent has joined #MiniApp 04:34:15 logging to https://www.w3.org/2021/04/08-MiniApp-irc 04:51:19 xiaoqian has joined #miniapp 04:54:18 Meeting: The 1st CJK Meeting on MiniApps 04:54:40 chair: xfq 04:54:48 scribe: Roy 04:55:15 Angel has joined #MiniApp 04:55:15 chair: Angel 04:55:29 RRSAgent, make log public 04:55:35 RRSAgent, make minutes 04:55:35 I have made the request to generate https://www.w3.org/2021/04/08-MiniApp-minutes.html Roy 04:56:07 present+ 04:56:21 present+ 04:56:54 present+ xiaoqian, xueyuan 04:57:03 present+ angel 04:59:50 Jay has joined #miniapp 05:00:57 Topic: Welcome & Roundtable 05:01:36 Mizushima has joined #miniapp 05:01:44 Angel: greetings 05:01:58 ... I'm co-chair of miniapp WG 05:02:20 ... will give a background of miniapp 05:02:33 ... we gather here to talk about the mini apps. The new form of application hybrid web and the native apps. 05:02:49 ... They're getting popular with the users, Asia, especially China, Japan and Korea 05:03:11 ... And then more importantly, to inspire each other for more immediate innovation and collaboration 05:03:25 ... I would still like to introduce the 34 organizations who sent representatives today 05:03:48 present+ 05:04:13 wanming has joined #Miniapp 05:04:30 ... we will share and discuss many apps vendors and the technologies in four sessions. 05:04:49 ... they are mini apps ecosystem, technical architecture frameworks and the new scenarios. 05:04:59 kaz has joined #miniapp 05:05:05 ... we will have a real time integration of three languages, including English, Japanese, and the Chinese there in different channels, please take a moment to check if you get the channels right. 05:05:31 ... reminder is pleased to let the interpreter know, which language speaks. 05:05:46 Manvi has joined #miniapp 05:05:51 satakagi has joined #miniapp 05:05:52 atsushi has joined #miniapp 05:06:06 ota has joined #miniapp 05:06:21 takio has joined #miniapp 05:06:26 xueyuan: please rename in zoom, yourname+company name 05:06:50 ... please mute when you join the meeting 05:07:08 ... interpretation function instructions 05:07:28 ... please speak slow when you talk 05:07:37 QingAn has joined #miniapp 05:07:47 Topic: MiniApps Ecosystem 05:07:49 present+ QingAn 05:08:25 present+ QingAn 05:08:44 Yongqing: I'm yongqing from xiaomi, will share Evolution of Quickapp 05:09:16 xiaoli has joined #miniapp 05:09:27 ... from 2016, Everyone has a smart phone and growth speed is slow down 05:09:37 ... Superapps have huge users 05:10:16 ... How to supply services to user? The old way to resolve: 1. User need to install Apps, 2. User view content by web 05:10:40 ... we developed quickapp 05:10:50 ... New way to let users experience apps quickly on phone, tv, other devices. 05:11:09 ... features: 1. New app ecosystem 05:11:09 2. Small size, download fast 05:11:09 3. No need to install 05:12:24 ... from May 2017, xiaomi started working on quickapp, and then we have alliances with oppo, Huawei, vivo 05:13:21 ... quickapp has 3 years promoting 05:13:48 ... including: i18n, UI render.... 05:14:00 ... some use case to sharee 05:14:47 [miniapp demos of Weibo, ctrip, autohome] 05:15:18 ... also quickapp can work on TV and smart speaker 05:16:18 ... user could order their food with voice and touch interactive 05:17:18 ... besides TV, smart phone, we also support other devices 05:18:03 Tengyuan: my presentation is Mini App Runtime Architecture and Alliance Development Experience 05:18:18 ... I am from Baidu 05:19:51 ... in last five years mobile, the native and html5 website has been struggling to find the balance in performance user experience 05:20:24 ... I will show you how we build the miniapp performance runtime for developers. 05:20:31 ... use cases 05:21:23 [Demo to show miniapp components and framework capabilities] 05:22:05 ... I will give a Development Principle 05:23:34 ... show the Alliance of miniapp 05:23:40 present+ Kaz_Ashimura 05:23:59 present+ Takio_Yamaoka 05:24:14 naomi has joined #miniapp 05:24:17 present+ 05:24:27 ... miniapp has an open ecosystem. Including various app and even cars 05:24:34 q? 05:24:51 angel: any qusetions? 05:24:57 q+ 05:24:58 present+ 05:25:20 Must MiniApp be hosted by SuperApp? 05:25:24 ack J 05:25:47 martin has joined #miniapp 05:25:53 Jay: is there any difference between miniapp and quickapp? 05:26:13 Tatsuya has joined #miniapp 05:26:24 ... Do you have any interoperability between them? 05:26:49 Tengyuan: show miniapp runtime, miniapp has two parts 05:27:38 ... both has a same runtime usage in rendering 05:28:11 angel: miniapp run in super app, quick app use work in mobile os 05:28:34 Topic: MiniApps Technical Architecture 05:29:25 Yongqing: how a miniapp distribution 05:29:49 ... first develop and then compile 05:30:07 ... and we will get a *.rpk file 05:30:21 ... upload to appstore 05:30:42 ... download and running 05:31:00 ... it is a built and run 05:31:22 ... we don't have any process of intalling 05:32:05 ... so we only have build and run two steps 05:32:44 ... but there are different platform in different vendors 05:33:16 ... there are 3 layers in my slides 05:33:38 ... the main work happened in implementation in platform 05:34:35 ... quickapp may use the os to do rendering 05:35:04 ... show how a quickapp developed 05:35:29 ... like web inspect 05:35:55 ... show code structure 05:36:06 ... UI, style and event 05:36:51 ... there is a demo, TodoMVC of quickapp 05:37:17 ... Repository:quickappcn/todos 05:38:33 tengyuan: Development Principle 05:38:52 ... first the developer uses MiniApp DSL to write the layout and logic code 05:39:05 ... Then packaging it with developer tools and publishing to the Package Manager Service (PMS); 05:39:19 ... When user clicks the MiniApp scheme URL on the HTML 5 page. The MiniApp Runtime requests PMS Server for the manifest file 05:39:30 ... Fetching the Package File. Unzip and Caching 05:39:40 ... Load/Reload as it‘s using a Runtime JS Engine 05:40:07 ... Baidu use baiduboxapp as scheme of miniapp 05:40:25 ... show MiniApp Scheme overall 05:40:41 ... MiniApp Runtime has two layers 05:41:00 ... JavaScript Runtime and Native Runtime 05:41:51 ... MiniApp JavaScript Runtime has a Multi-Threaded model 05:42:08 ... Render container and Logic container 05:42:37 ... The logic layer is responsible for executing JS, which can be implemented in two ways, WebView or JS Engine (V8), V8 JS engine is more efficient; 05:43:12 ... will show how a miniapp prepare the Runtime 05:43:25 ... slide 9 05:45:14 ... performances of miniapp 05:45:59 ... First Paint - After the MiniApp is launched, the Loading process starts. 05:46:17 ... First Contentful Paint 05:46:40 ... and the most important part: First Meaningful Paint 05:46:55 ... MiniApp FMP measures when the primary content of a page is visible to the user 05:47:04 ... Time to Interactive 05:47:24 ... miniapp architecture 05:47:57 ... development layer and runtime layer 05:50:00 [table of miniapp architecture in slide 11] 05:50:15 ... Runtime Adapter Layer integrated the MiniApp Runtime SDK 05:51:11 xiongwei: I am from JD 05:51:27 ... show a Basic technique standard – runtime framework design of JD 05:52:51 jyoshii has joined #miniapp 05:53:02 ... we works the build and package process on cloud 05:53:21 present+ 05:53:30 ... miniapp follow web tech 05:53:37 I have made the request to generate https://www.w3.org/2021/04/08-MiniApp-minutes.html xfq 05:53:50 ... and xml template 05:54:05 ... js, css and json 05:54:50 ... shadow dom in miniapp usage 05:56:13 q? 05:56:19 ... show the layout of miniapp, consistency with web layout 05:56:48 ... use webview to render 05:58:57 [different render process. Slide 9] 05:59:30 ... safety is an important issue in miniapp 06:00:21 ... user information will package into closed environment 06:01:01 ... and information share only, no Dom tree include 06:01:14 ... and no interface for information 06:02:18 ... touch, click and animation belong to bubbling event as I show in slide 11 06:03:46 ... API: asynchronous. Some APIs also support synchronous calls 06:04:14 ... slide 13 show a package list of miniapp 06:05:57 ... URI scheme, besides usually way as other vendors, in JD, we also compatible with the Web http 06:06:26 ... show a demo of miniapp in car screen 06:06:44 ... how to adapt screen 06:07:02 ... base on layout calc depend on window 06:07:47 ... rotate/Orientation:landscapeportrait also could be a method to implement in car screen 06:09:03 ... some private and safety method of miniapp in car usage 06:09:14 q? 06:09:45 ... we use the hardware in cloud to debug 06:10:15 Angel: any questions? 06:11:25 q? 06:11:35 Dongyan(bytedance): How did quickapp uses native os ui framework for render? Quickapp created a document adapter layer for node operation and css styles, similar to Web DOM, this middle layer connects the developer’s node template and native ui framework; 06:12:53 S/Dongyan(bytedance): How did quickapp uses native os ui framework for render? Quickapp created a document adapter layer for node operation and css styles, similar to Web DOM, this middle layer connects the developer’s node template and native ui framework;// 06:13:07 Yongqing:How did quickapp uses native os ui framework for render? Quickapp created a document adapter layer for node operation and css styles, similar to Web DOM, this middle layer connects the developer’s node template and native ui framework; 06:13:25 Yongqing:CSS ability mainly includes: box model, layout model, animation, each css item details. For box and layout model, we try to implement by ourself, others are tried to transplant on Android ui frameworks. 06:15:31 Angel: no question, I hope the previous two sessions have explained all the questions that the audience might have about the difference between meaning app and a quick apps. 06:15:44 ... 15 mins break 06:15:57 jyoshii has left #miniapp 06:16:03 [Break] 06:16:17 RRSAgent, make minutes 06:16:17 I have made the request to generate https://www.w3.org/2021/04/08-MiniApp-minutes.html Roy 06:16:54 jyoshii_ has joined #miniapp 06:17:47 scribe+ 06:30:51 Topic: MiniApps Frameworks 06:32:17 jiajian: from JD 06:32:30 ... Background of cross-platform development 06:32:36 ... what is Taro 06:32:42 ... advice for MiniApp specs 06:33:26 ... With the launch of WeChat miniapps, a lot of miniapp platforms emerge 06:34:13 ... Some people already have developed a MiniApp and hope to extend it to other platforms 06:34:25 ... some people just want to develop a miniapp 06:34:30 ... we developed Taro 06:34:48 ... We have developed three versions 06:35:13 ... we hope that developers can solve cross-platform development problems at a lower cost 06:35:41 ... Developers can use react, vue or our own development framework 06:36:33 ... We support the development workflow of using mainstream front-end packages 06:36:41 ... can reuse webpack 06:36:45 s/meaning app/miniapp 06:37:02 ... Serve more than 110,000 developers 06:37:54 ... We choose the rendering mechanism in HTML5, the WeChat components and APIs as the standard 06:38:23 English version of the Taro slides -> https://www.w3.org/2021/03/miniapp-cjk/slides/taro.pdf 06:38:33 ... Complete the missing parts for each platform 06:39:02 ... For example, WeChat miniapps does not support the DOM, we have implemented it 06:40:09 ... I want to talk about my advice to miniapp standardization from the perspective of Taro 06:40:50 ... Taro is a cross-platform framework for miniapps, so there are some problems that cannot be solved 06:41:27 ... We hope that custom components can support virtual nodes 06:41:49 ... we hope the MiniApp specs let the developers manipulate the DOM 06:41:56 q? 06:42:43 ... At present, developers must recompile using Taro every time they modify the code, and the state saved by the developer will be lost 06:42:58 ... we hope MiniApps support hot reload 06:43:17 s/we hope MiniApps support hot reload/about debugging, we hope MiniApps support hot reload 06:44:06 ... We hope that the MiniApps provide a unified command line tool and a complete set of development tools 06:44:13 angel: thanks 06:45:04 ... The next speaker is Hongbao 06:45:52 hongbao: I am from dcloud, we are a company dedicated to developers 06:46:14 ... There are more than 10 million developers in China 06:46:29 ... Probably the most in the world 06:46:53 ... But the platforms we need to adapt may also be the most in the world 06:47:34 ... In addition to the traditional web, iOS, Android platforms there are many miniapps platforms 06:48:18 ... So we need to standardize in w3c 06:48:47 ... Having a uniform specification will make developers a lot easier 06:49:21 ... In addition to specifications, miniapps also need development tools 06:49:26 ... and the cloud 06:50:15 ... Traditional web development requires communication between front-end and back-end teams, while MiniApps can move back-end business logic to front-end development 06:50:20 q+ 06:50:42 q? 06:50:49 ... The running environment of MiniApps is divided into a view layer and a logic layer 06:51:05 ... Different from traditional web development 06:51:33 ... So it is impossible to reuse web-oriented JS libraries 06:52:02 ... This is not good, so we implemented the DOM on the basis of miniapps 06:52:35 ... Only by solving these problems, the development of miniapps can be easier 06:53:00 ... Compared with the web, MiniApps have better performance and more capabilities 06:53:46 ... compared with the native apps, we can just open a MiniApp without downloading it 06:54:03 ... I believe people all over the world have such needs 06:54:10 ack xiaoqian 06:54:12 angel: thank you Hongbao 06:54:35 xiaoqian: question for MiniApp vendors 06:54:57 ... Many people hope that miniapps support the DOM 06:55:23 ... Are MiniApp vendors interested in supporting DOM? 06:55:32 s/supporting DOM/supporting the DOM/ 06:55:45 rrsagent, make log public 06:55:52 ... Or a scheme similar to the DOM 06:55:56 rrsagent, draft minutes 06:55:56 I have made the request to generate https://www.w3.org/2021/04/08-MiniApp-minutes.html Angel 06:56:37 ... Some companies outside of China are also implementing super apps. Do they need to support DOM? 06:57:03 yongqing: There were also related discussions at last year’s meeting 06:58:03 ... The initial reason for not implementing the DOM was not a technical reason, it's just because DSL was more important 06:58:52 ... we (Quick Apps) will support the DOM if developers really want it 07:00:11 ... Exposing the DOM is not about exposing things like div and p 07:00:23 ... it's exposing things like 07:01:02 q? 07:01:48 xiaoqian: According to your understanding, what is the current developer's demand for the DOM? 07:02:38 chb: Early developers had a relatively high demand for the DOM because there were few libraries 07:03:03 ... but now the number of libraries has gradually increased, so the demand is not that big now 07:03:30 yongqing: Is uni-app's model similar to Taro's? 07:04:11 q? 07:04:23 chb: in Taro 2.0 it was very similar, but Taro 3.0 uses another model 07:04:38 Topic: MiniApps in New Scenarios 07:05:56 QingAn: I'm Qing An from Alibaba 07:06:03 ... co-chairing the MiniApps CG 07:06:15 ... will talk about the scenarios 07:06:56 ... in IoT and vehicles they run directly on the OS 07:07:08 s/they/miniapps/ 07:07:26 ... the architecture is similar to MiniApps running on mobile 07:07:58 [QingAn shows the architecture of MiniApps for vehicles] 07:08:12 QingAn: MiniApps can access some vehicle services 07:08:16 ... entertainment 07:08:18 ... payment 07:08:41 ... through the vehicle container MiniApps can have the same APIs as MiniApps on mobile 07:09:04 ... can check the current status of vehicles 07:09:47 ... all services for the users are related to the Maps functions 07:09:54 s/functions/function 07:10:04 ... driver services 07:10:11 ... entertainment services 07:10:15 ... will show demos 07:10:32 ... will talk about the main benefits for MiniApp on vehicles 07:10:51 ... as I said, the architecture of MiniApps on vehicles are similar to MiniApps running on mobile 07:11:38 [QingAn shows the main scenarios and services on MiniApps on vehicles] 07:11:53 s/on MiniApps/of MiniApps 07:12:51 [QingAn shows the MiniApps deployed in Roewe RX5] 07:13:57 QingAn: we can use MiniApps to check the social media, such as Weibo 07:14:25 ... the driver can use MiniApps to search the gas station 07:14:50 ... can use MiniApps to try to find another driver for you 07:15:07 ... can listen to news through MiniApps 07:15:15 ... can play games in the vehicle 07:15:29 angel: are you sure that's not dangerous? 07:15:47 QingAn: if you're waiting someone that's not dangerous 07:16:05 ... we have implemented this in our products 07:16:11 s/if you're waiting someone that's not dangerous/if you're waiting someone while parking, that's not dangerous 07:16:44 q+ to ask about WoT collaboration :) 07:17:05 ... see how we can collorbate with existing W3C groups 07:17:06 q+ 07:17:39 yongjing: one question 07:17:52 ... for this case, what is the runtime environment? 07:18:21 ... are they run on top of a super app? or on top of the OS? 07:18:34 QingAn: directly on top of the vehicle OS 07:18:55 ... in our case it's the AliOS 07:19:10 q- 07:19:32 ... the runtime is not so much to other differences 07:19:43 s/differences/platforms/ 07:19:52 yongjing: understood 07:20:08 q+ 07:20:14 ... it's like a hybrid of super app-based MiniApps and Quick Apps 07:20:15 ack kaz 07:20:15 kaz, you wanted to ask about WoT collaboration :) 07:20:36 kaz: if you run it within the vehicle that's fine 07:20:56 q? 07:21:04 ... if you want to interact with other services it would make sense to collaborate with WoT folks as well 07:21:55 QingAn: definitely have technologies outside of the vehicle itself 07:22:29 ack naomi 07:22:35 kaz: can talk about possibilities about joint meetings among WoT and MiniApp folks together offline 07:22:42 s/if you/but if you/ 07:22:51 naomi: i'd like to ask privacy and security model 07:23:07 ... is it possible to collect any information with camera? 07:23:44 QingAn: i believe the vehicles in China do not have in-car cameras 07:23:57 ... so the MiniApps do not have access to cameras 07:24:17 ... they have access for gas station information 07:24:37 ... camera is not a necessary requirement 07:24:46 q? 07:24:50 q+ 07:25:06 ... so privacy and security issues related to camera are currently not related to MiniApps in vehicles 07:25:17 q? 07:25:28 ack kaz 07:25:45 kaz: probably you're already aware of this 07:25:59 ... tracking and location services are privacy related 07:26:06 ... MiniApp folks should think about that 07:26:34 s/are privacy related/may have potential privacy risks/ 07:26:35 topic: MiniApps WG Work Overview 07:27:26 yongjing: short intro about our work so far and what we're going to do 07:27:38 ... working in the CG since 2019 07:27:42 ... now in the WG 07:27:50 ... MiniApp Addressing 07:27:53 ... MiniApp Packaging 07:27:56 ... MiniApp Manifest 07:28:01 ... MiniApp Widgets 07:28:05 ... MiniApp Lifecycle 07:28:33 ... three are normative, two are non-normative 07:28:56 [Yongjing shows the general information of a MiniApp package] 07:29:07 s/of a/in a/ 07:29:15 q? 07:29:58 yongjing: we have changed the MiniApp manifest to be an extension of the web app manifest 07:30:14 ... need to further refine the extensions 07:30:35 ... for packaging we need to work on the templates, UI components, APIs, security models etc. 07:30:39 ... it's under development 07:30:56 ... for lifecycle there are two sets of APIs 07:31:08 ... global lifecycles and page lifecycles 07:31:13 ... details need to be defined 07:31:30 ... for Addressing it's a very early proposal 07:32:02 ... moving away from the current practice of inventing new URI scheme 07:32:10 ... rework it to reuse https 07:32:14 ... what's next? 07:32:26 ... we'll continue to develop the specs 07:32:54 ... and standardize UI components, templates in the CG 07:33:03 s/standardize/incubate/ 07:33:10 ... and standardize them in the WG 07:33:16 angel: thank you 07:33:37 ... let's see if we have any questions from the Japanese and Korean MiniApp vendors 07:34:11 ... in our chartering process we received a lot of support from global companies 07:34:23 ... inducing Kodansha, KDDI, etc. 07:34:26 q? 07:35:20 yongjing: I'd like to invite participants today 07:35:30 ... to participate in the MiniApps CG and WG 07:35:45 s/inducing/including/ 07:35:58 Angel: if we have no other comments let's wrap up 07:36:05 Topic: Wrap up 07:36:23 Angel: we will try to do horizontal reviews 07:36:35 ... possible collaborations with WoT groups 07:36:46 ... about scenarios like vehicles 07:37:05 ... about privacy and security concerns in the vehicles scenarios 07:37:13 ... we do appreciate comments from kaz 07:37:20 ... hope to collaborate in the future 07:37:36 ... if you have new ideas, use cases, requirements 07:37:43 ... feel free to bring them to us 07:37:57 ... maybe we can set up a CJK task force 07:38:16 ... we can communicate when we don't have an online event like this 07:38:30 ... if no one objects we can set up a mailing list 07:38:45 ... the plan is to move to the specs in ~August 07:39:00 s/the specs/the specs to CR/ 07:39:14 ... let's see if we can have another CJK meeting 07:39:33 ... if would be great if we can have some MiniApp vendor from Japanese and Korean companies 07:39:52 ... please let me know if there's any important information I missed 07:40:15 xueyuan-mtg: we will post the minutes on the meeting page 07:40:32 xueyuan-mtg: we really appreciate the presentation 07:40:39 ... and the time of all the audience 07:40:54 ... hope to have another event for the CJK community 07:41:00 ... thank you all! 07:41:04 [adjourned] 07:41:13 I have made the request to generate https://www.w3.org/2021/04/08-MiniApp-minutes.html xfq 09:12:54 naomi has joined #miniapp 09:16:37 Jay_ has joined #miniapp 09:18:05 Roy_ has joined #miniapp 09:54:38 q? 09:54:42 zakim, bye 09:54:42 leaving. As of this point the attendees have been Roy, xfq, xiaoqian, xueyuan, angel, tomayac, QingAn, Kaz_Ashimura, Takio_Yamaoka, naomi, Mizushima, jyoshii 09:54:42 Zakim has left #miniapp 09:54:45 rrsagent, bye 09:54:45 I see no action items