Quick App & W3C

24 Oct 2018


Angel, Qing, Chunming, Kenji, Zhiqiang, Xiaoqian, Fuqiao, Guido, Roy, Robert, Alex, Reilly, kminami, Thomas, Judy, Majid, Xing


<scribe> scribenick: xfq

zhiqiang: Thanks everyone for coming!
... I'm Zhiqiang from Huawei
... I'll do a quick intro for Quick App
... about what it is, it's status, roadmap etc.
... the status in China, and other countries
... We all know about web app today
... it has no installation
... but can be linked easily
... inconsistent perf among platforms (like mobile)
... Web APIs are also not enough for applications
... although users can use URLs and desktop shortcuts, they're not enough for users to revisit the app
... native app has better performance, rich APIs, and is easier to revisit
... although it needs installation and is difficult to link to
... Quick App is a mix of two world: no installation needed, easy to install, good performance, etc.
... it is already being deployed
... in Meizu, Xiaomi etc.
... traditionally, users can find an app in the app market
... Quick App has it too, and has more ways
... it has scenario-based recommendation
... e.g., in Huawei mobile phones, there's a "Smart Assistance" feature
... it can give you recommendation of apps about your trip for example

[showing screenshots of Quick Apps]

Zhiqiang: When you take a picture, users can be recommended of apps relevant to things in the photo

[showing the architecture of Quick Apps]

Zhiqiang: We have a manifest.json config file
... app.ux
... and app page files
... the code structure is very similar to a web app
... we have three parts
... template, style, and script
... template defines the content of the application

<guido_grassel> app structure is similar to vue.js

[showing a template snippet and screenshot of a Quick App]

scribe: script defines the behavior of the Quick App
... in terms of runtime, we have a JavaScript framework including widgets/features/routers/MVVM
... and the underlying JavaScript engine and hybrid bridge (to bring native functionalities to the app)
... we use JS a lot
... from an API perspective, we have components
... users can use built-in components or define their own ones
... we also provides system APIs like file system access, camera, WebGL etc.
... we also have some more advanced features
... e.g., we're doing experiments in the field of AI/AR internally
... you can label images, detect faces in photos
... AR experience

[showing a diagram of how Quick App intersects with W3C work]

Zhiqiang: W3C standards, such as WebXR, AI (high-level ones like face detection, and low-level ones like neural network API), and potentially WebAssembly
... we can work in WICG to push things forward
... discuss and deploy new APIs
... that's my quick introduction of Quick App
... Any question or comment?

Angel: What's the current status of APIs in Quick App?

Zhiqiang: For example, we have APIs about barcode, battery status, network status, contact, phone call etc.
... payment APIs for multiple payment service providers

xiaoqian: When you have a new proposal to WICG and you have deployed it in Quick App, is it possible for you to submit patches to the browsers too?

Zhiqiang: It might be difficult sometimes since the scope of Quick App and browsers are not exactly the same
... it depends on the API being proposed

Sofiane: What's the difference about developing Quick App and web app?

Zhiqiang: PWA tries to make web apps more native-like
... you can consider Quick App as a Chinese version of PWA, but there's more
... we want faster API adoption
... more memory-efficient and lightweight
... a subset of Web technologies we think are important to application developers
... Quick App also tries to have a deeper integration with the native OS
... Like I said, the structure is similar to web apps
... we have manifest.json

@@2: Do you think it is related to Web Packaging?

Zhiqiang: I think we can adopt Web Packaging as a way of distribution
... Web Packaging is an interesting topic we can investigate further
... link is the main distribution method of Quick App currently

Kenji: Is there English documentation for us to see?

Zhiqiang: We have docs, although not currently in English

xiaoqian: W3C has a Chinese Interest Group, and can translate the API proposals in English for example.

Majid: For CSS in particular, is there anything you're currently doing?
... is there any way to style the widgets in Quick App?

Zhiqiang: Yes.

Majid: Does it support responsive design too?

Zhiqiang: Not currently
... from our perspective, the web is too flexible sometimes, and too much flexibility can mean being prone to errors
... that's why we're intentionally making restrictions sometimes, to make the app fit better on mobile

<guido_grassel> .... Zhiqiang: we do heavy subsetting of CSS to what is needed to create these pages.

Sofiane: What is the library for face recognition?

Zhiqiang: We have Huawei's Hi AI and others
... this is for high-level
... for low-level we're also bringing more approaches
... we would also like to bring our API to the wider world, to make it more general

<guido_grassel> ... We will introduce a high level AI API, for use cases like face recognition and image classification. This is based on what we call Hi AI, a native API on top of Huawei MPU.

Kenji: Feedback from local developers on Quick App?

Zhiqiang: All the major Chinese mobile companies are deploying it
... there are some differences in implementations of Quick App
... we're working together to improve the interoperability
... also working on new features about security and cryptography

Kenji: What's the story of shipping updates?

Zhiqiang: We have a Quick App Alliance, and regular meetings
... we have engine updates

Judy: What's your next step within W3C?

Zhiqiang: Several possibilities
... AR can be a good candidate
... and others as I mentioned before

Chunming: say I have a small company
... do I need two separate teams for Quick App and web app?

Zhiqiang: There are some differences between Quick App and web apps, but the majority of the code can be shared
... our ultimate goal is that the APIs in Quick App and web apps are the same
... for APIs with similar functionalities, we expect same APIs (although implementations can be different)
... the major problem we see in browsers today is interop
... one motivation we created Quick App is to make apps work more consistently
... we just target application developers, not website developers
... so we're more focused
... e.g., we would like to have deeper date/time integration with the OS
... you can consider PWA is just for browsers now
... or consider PWA as a web platform, and Quick App as another web platform
... eventually we would like to see them converge

Xing: Is the app market of different Quick App implementations shared?

Zhiqiang: No, the standard is the same, but the hosting place can be different.

Majid: Because a lot of technologies you use are web technologies, I think you can use browser as an emulator to debug the apps

Zhiqiang: Yes, that's we're currently using.
... Thank you all for attending this session!

Summary of Action Items

Summary of Resolutions

[End of minutes]

Minutes manually created (not a transcript), formatted by David Booth's scribe.perl version 1.154 (CVS log)
$Date: 2018/10/24 10:20:24 $

Scribe.perl diagnostic output

[Delete this section before finalizing the minutes.]
This is scribe.perl Revision: 1.154  of Date: 2018/09/25 16:35:56  
Check for newer version at http://dev.w3.org/cvsweb/~checkout~/2002/scribe/

Guessing input format: Irssi_ISO8601_Log_Text_Format (score 1.00)

Succeeded: s/WebAssembly/and potentially WebAssembly/
Succeeded: s/WebAssembly etc./WebAssembly/
Succeeded: s/more memory-efficient/more memory-efficient and lightweight/
Succeeded: s/@@2/Kenji/
Succeeded: s/@@3/Majid/
Succeeded: s/Huawei/Zhiqiang/
Succeeded: s/seperate/separate/
Succeeded: s/???/Sofiane/g
Present: Angel Qing Chunming Kenji Zhiqiang Xiaoqian Fuqiao Guido Roy Robert Alex Reilly kminami Thomas Judy Majid Xing
Found ScribeNick: xfq
Inferring Scribes: xfq

WARNING: No "Topic:" lines found.

WARNING: No date found!  Assuming today.  (Hint: Specify
the W3C IRC log URL, and the date will be determined from that.)
Or specify the date like this:
<dbooth> Date: 12 Sep 2002

People with action items: 

WARNING: No "Topic: ..." lines found!  
Resulting HTML may have an empty (invalid) <ol>...</ol>.

Explanation: "Topic: ..." lines are used to indicate the start of 
new discussion topics or agenda items, such as:
<dbooth> Topic: Review of Amy's report

WARNING: IRC log location not specified!  (You can ignore this 
warning if you do not want the generated minutes to contain 
a link to the original IRC log.)

[End of scribe.perl diagnostic output]