IRC log of webview on 2022-05-11
Timestamps are in UTC.
- 07:01:43 [RRSAgent]
- RRSAgent has joined #webview
- 07:01:43 [RRSAgent]
- logging to https://www.w3.org/2022/05/11-webview-irc
- 07:02:29 [QingAn]
- QingAn has joined #webview
- 07:02:36 [dom]
- Present+ Brady_Duga, Rayan_Kanso, Jiasheng_Wu, Qing_An, DomHM
- 07:02:39 [cpn]
- cpn has joined #webview
- 07:02:44 [duga]
- duga has joined #webview
- 07:02:57 [tomayac]
- present+ tomayac
- 07:03:04 [dom]
- Present+ Thomas_Steiner, Martin_Alavarez
- 07:03:05 [duga]
- present+ duga
- 07:03:21 [martin]
- martin has joined #webview
- 07:03:23 [Zakim]
- Zakim has joined #webview
- 07:03:46 [dom]
- Agenda: https://github.com/WebView-CG/usage-and-challenges/blob/main/meetings/2nd-meeting-agenda-220511.md#second-meeting-agenda-2022-05-11
- 07:03:55 [dom]
- Chair: Rayan, Qing
- 07:04:11 [martin]
- present+ martin
- 07:06:17 [dom]
- Topic: -> https://github.com/WebView-CG/usage-and-challenges/issues?q=is%3Aissue+is%3Aopen+label%3A%22use+case%22 Review and discuss use cases
- 07:06:44 [cpn]
- present+ Chris_Needham
- 07:06:46 [dom]
- Subtopic: -> https://github.com/WebView-CG/usage-and-challenges/issues/3 Load a WebView page #3
- 07:07:17 [dom]
- QingAn: the browser provides prefetch, load and next as resource hints to optimize the load of associated resources
- 07:07:21 [dom]
- ... but webviews don't support this
- 07:08:07 [dom]
- ... allowing prefetching data in JSON and XML would be beneficial e.g. in an ecommerce site to preload product info
- 07:08:18 [dom]
- ... this helps improve the UX
- 07:09:35 [dom]
- ... this got support from Bytedance, with a suggestion of providing prefetch capabilities
- 07:09:50 [dom]
- ... but this converged to providing in the Web Platform in general rather than for WebView specifically
- 07:10:29 [duga]
- q+
- 07:10:30 [QingAn]
- q+
- 07:10:31 [QingAn]
- q-
- 07:10:31 [dom]
- ... We should discuss whether this is a valid use case
- 07:10:34 [QingAn]
- q?
- 07:11:15 [dom]
- duga: Brady Duga, at Google but not representing WebView, coming from the ePUB WG, representing digital publishing
- 07:11:50 [dom]
- ... This is a very important use case for us - reading ebooks on Android and iOS happen mostly on WebView, but end users don't expect a load-the-web-page experience in that context
- 07:12:05 [dom]
- ... we need very nice transitions when moving from one book page to the next
- 07:12:34 [dom]
- ... this requries non amount of trivial work needed, e.g. to use CSS animations
- 07:12:42 [dom]
- ... preloading pages performance is incredibly important for us
- 07:12:50 [dom]
- ... so definitely a valid use case
- 07:13:48 [dom]
- Qing: similar need from the mini-app perspective
- 07:14:57 [dom]
- q+ rayan
- 07:15:00 [dom]
- ack duga
- 07:15:00 [QingAn]
- q?
- 07:15:31 [dom]
- rayan: this is all for on-device data, not fetched - so more pre-rendering rather than pre-fetching?
- 07:15:59 [dom]
- brady: fonts may take a while to load from storage; we don't want to show the page in the wrong font
- 07:16:06 [QingAn]
- q?
- 07:16:07 [dom]
- ... some preloading, but pre-rendering is the most important for us
- 07:16:11 [dom]
- ack rayan
- 07:16:48 [dom]
- Qing: rough consensus that this is a valid use case; I'll keep the issue opened to gather more comments
- 07:17:01 [dom]
- ... we should bring it to the document
- 07:17:25 [QingAn]
- q?
- 07:17:34 [dom]
- Rayan: is there a need specific to native re prefetching? or would bringing this to the Web platform be the right approach?
- 07:17:41 [dom]
- q+ jiasheng
- 07:17:51 [dom]
- q+
- 07:19:34 [dom]
- Qing: summarizing what I understood from jiasheng - an ecommerce app cannot pre-load all pages, since the user can view any product
- 07:20:05 [dom]
- ... with a traditional webview, when the user opens a new product page, the webview will fetch html and css which causes delay instead of using native to render the page
- 07:20:57 [dom]
- ... if the webview could prefetch with the native app predicting the most likely-to-be-requested page based on the user's profile
- 07:21:34 [dom]
- ... it could prefetch the said page beforehand, and if the user does request it, it would provide a very good performance
- 07:21:52 [dom]
- jiasheng: +1 - loading results from local cache is faster than from network
- 07:22:20 [dom]
- rayan: so the native side decides what pages to download and cache them in webviews
- 07:22:31 [dom]
- ... this could still be done from the WebView?
- 07:23:10 [dom]
- ... using Web Platform features
- 07:23:27 [QingAn]
- q?
- 07:23:39 [QingAn]
- ack jiasheng
- 07:23:46 [dom]
- ack jiasheng
- 07:23:54 [dom]
- ack dom
- 07:24:11 [dom]
- ... it's better if we expose features in Web Platform when we can
- 07:24:33 [dom]
- qing: +1
- 07:24:52 [QingAn]
- q?
- 07:25:22 [dom]
- Topic: -> https://github.com/WebView-CG/usage-and-challenges/issues/4 Build opinionated web browsers #4
- 07:25:47 [dom]
- tomayac: there is a desire from companies like DuckDuckGo to push a particular approach to Web browsing
- 07:26:44 [dom]
- ... e.g. DDG browser blocking trackers and removing cookie banners when possible
- 07:27:05 [dom]
- ... to that end, they inject a number of user scripts, either custom built or imported
- 07:28:05 [QingAn]
- q+
- 07:28:13 [dom]
- ... right now this is exposed via developer tools
- 07:28:37 [dom]
- QingAn: is it common for browsers to use WebView to display pages?
- 07:29:32 [dom]
- Tomayac: BA share code between their native app & browser, with a user script removing the header / footer in their native app
- 07:30:07 [dom]
- ... I noticed by accident when finding the same bug in both
- 07:30:58 [dom]
- ... a core differentiation is that a browser can load any URL
- 07:31:27 [dom]
- QingAn: what would be needed to support this use case? either from the webview or native side?
- 07:32:16 [dom]
- tomayac: some users may not be happy with some of the opiniated scripts - that may a very advanced use case
- 07:32:36 [dom]
- ... from the group perspective, maybe this is mostly about acknowledging that webviews *are* used to build browsers
- 07:33:07 [dom]
- ... on iOS, using a webview is even the only approach
- 07:34:00 [dom]
- ... the DDG browser chose to also take this approach on Mac, possibly as a way to re-use their iOS work
- 07:34:11 [QingAn]
- q?
- 07:34:21 [QingAn]
- ack QingAn
- 07:36:57 [dom]
- QingAn: who are the stakeholders for this use case who could join the discussion?
- 07:37:13 [dom]
- tomayac: I'm not sure who the right contacts at DDG would be
- 07:37:16 [dom]
- q+
- 07:38:22 [dom]
- dom: I can reach out to them
- 07:39:37 [dom]
- Subtopic: -> https://github.com/WebView-CG/usage-and-challenges/issues/6 Publishing apps using web technologies #6
- 07:40:18 [dom]
- QingAn: feels like a compilation of several use cases, with a request to support from APIs from the Web Platform
- 07:40:36 [dom]
- ... as well as customizing permissions, and communications between WebView & Native
- 07:40:43 [dom]
- s/Topic:/Subtopic:/
- 07:40:51 [dom]
- ... I'll try to dig more into the latter
- 07:41:04 [dom]
- ... there are private solutions in different platforms
- 07:41:15 [QingAn]
- q?
- 07:41:18 [dom]
- q-
- 07:41:53 [dom]
- Subtopic: -> https://github.com/WebView-CG/usage-and-challenges/issues/9 Optional network interception capability in WebView
- 07:43:57 [dom]
- jiasheng: [presenting the use case]
- 07:45:02 [dom]
- ... Android has shouldInterceptRequest to help with this, but no equivalent in WKWebView
- 07:45:03 [QingAn]
- q?
- 07:46:04 [dom]
- ... it would be great to see that capability expanded to other webviews
- 07:46:19 [QingAn]
- q+
- 07:47:04 [dom]
- QingAn: should we accept this as a valid use case?
- 07:47:05 [dom]
- q+
- 07:47:11 [dom]
- ack me
- 07:47:19 [dom]
- ack QingAn
- 07:47:42 [dom]
- Rayan: are there any valid use case for intercepting 3rd-party network requests, ie domains not owned by the application?
- 07:48:10 [duga]
- q+
- 07:48:34 [dom]
- QingAn: this issue describes first-party requests, but doesn't say whether this would also apply to 3rd party as well
- 07:48:37 [dom]
- q+
- 07:50:00 [dom]
- jiasheng: there are scenarios where it would also be useful for 3rd parties e.g. to accelerate loading performance of 3rd party content
- 07:50:10 [dom]
- QingAn: please describe these in the github issue
- 07:50:42 [dom]
- brady: from a digital publishing perspective, there are times where we want to intercept 3rd party requests
- 07:50:54 [dom]
- ... e.g. when loading a video
- 07:51:26 [dom]
- ... for privacy and performance reason, they might be locally cached to avoid pinging the hosting Web site
- 07:51:44 [QingAn]
- q?
- 07:51:48 [dom]
- ack duga
- 07:52:03 [dom]
- rayan: intercepting 1st and 3rd parties network requests have very different constraints
- 07:52:19 [dom]
- ... Service Workers can do the former in the Web Platform context
- 07:52:27 [QingAn]
- q?
- 07:54:16 [dom]
- dom: interesting that this is available in one platform (android), but not another (ios) - we should look how broadly that feature is available across all webviews
- 07:54:48 [dom]
- ... also interesting to see if we handle this as a single use case for 1st/3rd party resources, or if handling them separately will help explore the solution space
- 07:55:05 [dom]
- QingAn: let's keep discussing this issue
- 07:55:43 [dom]
- rayan: I think distinguishing 1st party/3rd party use case will likely help, but it's probably too early yet to split the use case
- 07:56:11 [dom]
- Qing: let's continue discussion on the remaining use cases on github & in our next call
- 07:56:39 [dom]
- Topic: Kick off the use cases and limitations report draft
- 07:57:47 [dom]
- -> https://github.com/WebView-CG/usage-and-challenges/blob/main/index.html Template document for use case
- 07:57:56 [dom]
- QingAn: will start populating this with use cases
- 07:58:38 [dom]
- Topic: TPAC 2022
- 07:58:57 [dom]
- QingAn: CGs are invited to organize meetings at TPAC 2022
- 07:59:15 [dom]
- ... are you all planning to attend TPAC physically?
- 08:00:02 [duga]
- Attending
- 08:00:18 [dom]
- Rayan: we should probably survey the group to get a sense of who might be there
- 08:00:57 [dom]
- QingAn: any immediate preference on the day for our meeting?
- 08:02:14 [dom]
- dom: we should probably collect info on groups we wouldn't want to overlap with
- 08:02:45 [dom]
- QingAn: re timeslot, since Chinese participants aren't likely to travel, picking the early timeslot would be best
- 08:03:32 [dom]
- ... I'll collect feedback from other CG participants via email
- 08:04:00 [dom]
- ... Our next meeting will be 2 weeks from now, May 25 at 2 pm UTC
- 08:04:11 [dom]
- RRSAgent, draft minutes
- 08:04:11 [RRSAgent]
- I have made the request to generate https://www.w3.org/2022/05/11-webview-minutes.html dom
- 08:04:13 [dom]
- RRSAgent, make log public