Hey Emanuel,

Sorry for the slow follow-up, and thanks for the background.

Avoiding breaking changes when we haven't shipped yet is against the spirit 
of OT. None of this meant to enable soft-launches of the sort you're 
describing.

This is our one and only opportunity to get the API shape right; we won't 
get another moment at which we can iterate and improve the shape of the 
API. The constraints of OTs are designed to price in inconvenience for a 
small number of partners to iterate with us, including breaking changes. We 
can also run OTs in parallel to accommodate multiple variants.

With that as preamble, I'm going to -1 an extension of this OT until we 
have a lot more clarity. Please consider this a chance to make updates you 
would have proposed as post-launch breaking changes, with an opening to 
launch a new OT or I2S for the updated feature.

Are you able to perhaps join us at next week's Blink API OWNERS meeting? Or 
we can discuss as a one-off? Want to make sure we get on the same page and 
unblock you.

Best,

Alex

On Thursday, July 27, 2023 at 9:23:20 AM UTC-7 Emanuel Ziegler wrote:

> Hi Alex,
>
> Just to quickly reply on the breaking changes and what we've learnt: we 
> have been in an active collaboration with Sheets on this for over 2.5 years 
> now with a lot of development and measurements leading up to the origin 
> trial. This allowed us to shape the proposal and the implementation before 
> that. The main goal of the trial is to confirm that our expectations hold 
> up in real-world scenarios and the performance numbers that we got (~40% 
> calculation time improvement) are perfectly in line with our expectations. 
> Other findings are mostly integration issues in user space but have 
> fortunately not challenged the proposal nor our architecture. The extension 
> is meant to allow us longer and broader testing on a larger variety of 
> sheets.
>
> We have made several changes during the trial and evaluated them together 
> with J2CL and Sheets as well as other partners, but intentionally avoided 
> breaking changes as these need to be propagated to Binaryen, J2Wasm and 
> eventually Sheets which would require weeks of interruption every time. We 
> know that there will be a breaking change coming once the final version of 
> the proposal is merged in and that we will have to adapt our implementation 
> before its stable release. This does not affect the functionality as the 
> functionality is perfectly aligned, only the op codes are going to change 
> <https://github.com/WebAssembly/gc/pull/372>.
>
> I hope this helps alleviate your concerns.
>
> Best,
>     Emanuel
>
> On Thu, Jul 27, 2023 at 2:19 AM Alex Russell <slightly...@chromium.org> 
> wrote:
>
>> I'd be much more likely to support the extension if there was a 
>> report-out on what we've learned this far, particularly given the 
>> increasing risks presented by big products using it (Sheets) given that 
>> we're proposing to stretch to 8 months with no breaking changes.
>>
>> Best,
>>
>> Alex
>>
>> On Wednesday, July 26, 2023 at 11:16:42 AM UTC-7 Emanuel Ziegler wrote:
>>
>>> On Wed, Jul 26, 2023 at 7:22 PM Chris Harrelson <chris...@chromium.org> 
>>> wrote:
>>>
>>>> On Wed, Jul 26, 2023 at 9:43 AM Emanuel Ziegler <
>>>> ecmzieg...@chromium.org> wrote:
>>>>
>>>>> Hi Chris,
>>>>>
>>>>> There is an extensive summary document from the Sheets colleagues 
>>>>> (including a tl;dr section in the beginning): go/sheets-wasm-corp-50
>>>>> We believe that error count and crash rate (mostly OOM) regressions 
>>>>> are caused by user space code but investigations are ongoing and we 
>>>>> expect 
>>>>> improvements over the next weeks.
>>>>>
>>>>
>>>> Thanks! This is a Google-internal document, can some of it be shared 
>>>> publicly?
>>>>
>>>
>>> I can ask, but since these numbers are WIP on a Google-internal trial 
>>> with a Google product, I would be cautious. Afterᅠall, they might not tell 
>>> that much about the state of WasmGC as a lot of this is still heavily 
>>> influenced by user space code as mentioned above. The numbers are going to 
>>> be more meaningful once we have reached a more stable state and are ready 
>>> to rollᅠit out to external users.
>>>
>>> Jetbrains is also using the OT for Kotlin, but I'm not aware of detailed 
>>>>> insights. They advertised it in a talk at WasmIO 
>>>>> <https://seb.deleuze.fr/introducing-kotlin-wasm/>ᅠa few months back.
>>>>>
>>>>
>>>> Would you mind asking them for feedback? Not blocking extending the OT, 
>>>> but feedback from OT participants is important to gather.
>>>>
>>>
>>> Sure. Jetbrains themselves surely have feedback on WasmGC in general but 
>>> likely limited insights from the trial itself. They might have received 
>>> feedback from their partners though that I can ask them about.
>>>
>>> Best regards,
>>>>>     Emanuel
>>>>>
>>>>> On Wed, Jul 26, 2023 at 6:03 PM Chris Harrelson <chris...@chromium.org> 
>>>>> wrote:
>>>>>
>>>>>> Hi,
>>>>>>
>>>>>> Could you share summary feedback and learnings from the OT so far? 
>>>>>> The Sheets performance results sound great, anything else to share?
>>>>>>
>>>>>> On Tue, Jul 25, 2023 at 7:48 AM Emanuel Ziegler <
>>>>>> ecmzieg...@chromium.org> wrote:
>>>>>>
>>>>>>> We are requesting to extend our Origin Trial on WasmGC by another 
>>>>>>> three milestones, effectively ending with M120.
>>>>>>>
>>>>>>> The reason is that the standardization process is taking a little 
>>>>>>> longer than we had hoped for and will be delayed by about three months 
>>>>>>> blocking the shipment of a stable version. Since Google Sheets is 
>>>>>>> currently 
>>>>>>> running user experiments using the trial with positive results 
>>>>>>> (currently 
>>>>>>> at 50% of Google corporate sheets showing ~40% calculation time 
>>>>>>> improvement), we would like to continue this experiment for the time 
>>>>>>> being 
>>>>>>> to gather more data, especially extending it to non-Google users before 
>>>>>>> shipping.
>>>>>>>
>>>>>>> The current end milestone for the trial is M117 with the most 
>>>>>>> optimistic shipment of the feature happening in M119, perhaps even 
>>>>>>> later if 
>>>>>>> last minute spec changes are requested before we can reach phase 4 of 
>>>>>>> the 
>>>>>>> proposal. We would therefore potentially end the trial before M120 if 
>>>>>>> shipment were indeed to happen sooner or use the full three milestones 
>>>>>>> if 
>>>>>>> there are further delays.
>>>>>>>
>>>>>>> Thank you!
>>>>>>>
>>>>>>>
>>>>>>> Contact emails
>>>>>>>
>>>>>>> ad...@chromium.org, jkumme...@chromium.org
>>>>>>>
>>>>>>> Explainer
>>>>>>>
>>>>>>>
>>>>>>> https://github.com/WebAssembly/gc/blob/master/proposals/gc/Overview.md
>>>>>>>
>>>>>>>
>>>>>>> https://github.com/WebAssembly/function-references/blob/main/proposals/function-references/Overview.md
>>>>>>>
>>>>>>> Specification
>>>>>>>
>>>>>>> https://github.com/WebAssembly/gc/tree/main/proposals/gc
>>>>>>>
>>>>>>> Summary
>>>>>>>
>>>>>>> The GC proposal adds efficient support for high-level managed 
>>>>>>> languages to WebAssembly, via struct and array types that enable 
>>>>>>> language 
>>>>>>> compilers targeting Wasm to integrate with a garbage collector in the 
>>>>>>> host 
>>>>>>> VM. In Chrome, enabling this feature implies enabling Typed Function 
>>>>>>> References, which allow function references to be stored in the 
>>>>>>> aforementioned structs and arrays.
>>>>>>>
>>>>>>>
>>>>>>> Blink component
>>>>>>>
>>>>>>> Blink>JavaScript>WebAssembly 
>>>>>>> <https://bugs.chromium.org/p/chromium/issues/list?q=component:Blink%3EJavaScript%3EWebAssembly>
>>>>>>>
>>>>>>> Search tags
>>>>>>>
>>>>>>> wasm <https://chromestatus.com/features#tags:wasm>, webassembly 
>>>>>>> <https://chromestatus.com/features#tags:webassembly>, gc 
>>>>>>> <https://chromestatus.com/features#tags:gc>, managed objects 
>>>>>>> <https://chromestatus.com/features#tags:managed%20objects>, wasmgc 
>>>>>>> <https://chromestatus.com/features#tags:wasmgc>
>>>>>>>
>>>>>>> TAG review
>>>>>>>
>>>>>>> https://github.com/w3ctag/design-reviews/issues/814
>>>>>>>
>>>>>>> TAG review status
>>>>>>>
>>>>>>> Issues addressed
>>>>>>>
>>>>>>> Risks
>>>>>>>
>>>>>>> Interoperability and Compatibility
>>>>>>>
>>>>>>> Gecko: Positive
>>>>>>>
>>>>>>> WebKit: No signal
>>>>>>>
>>>>>>> Web developers: Positive Google Sheets, which is currently 
>>>>>>> compiling Java to JavaScript, is experimenting with using WasmGC to 
>>>>>>> speed 
>>>>>>> up their calculation engine. JetBrains is working on a Kotlin -> WasmGC 
>>>>>>> compiler. Dart is working on a Dart -> WasmGC compiler, in 
>>>>>>> collaboration 
>>>>>>> with Flutter.
>>>>>>>
>>>>>>> Other signals:
>>>>>>>
>>>>>>> WebView application risks
>>>>>>>
>>>>>>> Does this intent deprecate or change behavior of existing APIs, such 
>>>>>>> that it has potentially high risk for Android WebView-based 
>>>>>>> applications?
>>>>>>>
>>>>>>>
>>>>>>> Goals for experimentation
>>>>>>>
>>>>>>> Ongoing technical constraints
>>>>>>>
>>>>>>> Debuggability
>>>>>>>
>>>>>>> Will this feature be supported on all six Blink platforms (Windows, 
>>>>>>> Mac, Linux, Chrome OS, Android, and Android WebView)?
>>>>>>>
>>>>>>> No
>>>>>>>
>>>>>>> Is this feature fully tested by web-platform-tests 
>>>>>>> <https://chromium.googlesource.com/chromium/src/+/main/docs/testing/web_platform_tests.md>
>>>>>>> ?
>>>>>>>
>>>>>>> No
>>>>>>>
>>>>>>> Flag name
>>>>>>>
>>>>>>> Requires code in //chrome?
>>>>>>>
>>>>>>> False
>>>>>>>
>>>>>>> Tracking bug
>>>>>>>
>>>>>>> https://bugs.chromium.org/p/v8/issues/detail?id=7748
>>>>>>>
>>>>>>> Launch bug
>>>>>>>
>>>>>>> https://launch.corp.google.com/launch/4231622
>>>>>>>
>>>>>>> Estimated milestones
>>>>>>>
>>>>>>> OriginTrial desktop last
>>>>>>>
>>>>>>> 117
>>>>>>>
>>>>>>> OriginTrial desktop first
>>>>>>>
>>>>>>> 112
>>>>>>>
>>>>>>> OriginTrial Android last
>>>>>>>
>>>>>>> 117
>>>>>>>
>>>>>>> OriginTrial Android first
>>>>>>>
>>>>>>> 112
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> Link to entry on the Chrome Platform Status
>>>>>>>
>>>>>>> https://chromestatus.com/feature/6062715726462976
>>>>>>>
>>>>>>> Links to previous Intent discussions
>>>>>>>
>>>>>>> Intent to Experiment: 
>>>>>>> https://groups.google.com/a/chromium.org/g/blink-dev/c/HDbvHCVFSW0
>>>>>>>
>>>>>>> -- 
>>>>>>> You received this message because you are subscribed to the Google 
>>>>>>> Groups "blink-dev" group.
>>>>>>> To unsubscribe from this group and stop receiving emails from it, 
>>>>>>> send an email to blink-dev+unsubscr...@chromium.org.
>>>>>>> To view this discussion on the web visit 
>>>>>>> https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAPAU7Ryv%3D-1UFkh%2BJ5GBxMFBQ88FMa9u%3Dvbboo0hCy9xcOGgAA%40mail.gmail.com
>>>>>>>  
>>>>>>> <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAPAU7Ryv%3D-1UFkh%2BJ5GBxMFBQ88FMa9u%3Dvbboo0hCy9xcOGgAA%40mail.gmail.com?utm_medium=email&utm_source=footer>
>>>>>>> .
>>>>>>>
>>>>>> -- 
>>>>> You received this message because you are subscribed to the Google 
>>>>> Groups "blink-dev" group.
>>>>> To unsubscribe from this group and stop receiving emails from it, send 
>>>>> an email to blink-dev+unsubscr...@chromium.org.
>>>>> To view this discussion on the web visit 
>>>>> https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAPAU7RwLJsFGk6XBHrBqwoG5_MNCvPyF_dLb2R_Wsy6ALCAkYw%40mail.gmail.com
>>>>>  
>>>>> <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAPAU7RwLJsFGk6XBHrBqwoG5_MNCvPyF_dLb2R_Wsy6ALCAkYw%40mail.gmail.com?utm_medium=email&utm_source=footer>
>>>>> .
>>>>>
>>>>

-- 
You received this message because you are subscribed to the Google Groups 
"blink-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to blink-dev+unsubscr...@chromium.org.
To view this discussion on the web visit 
https://groups.google.com/a/chromium.org/d/msgid/blink-dev/25f131b0-fd1e-497a-ac1c-e20328ed08a5n%40chromium.org.

Reply via email to