-
Notifications
You must be signed in to change notification settings - Fork 176
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Add notes from 2024-10-20 ICU4X-TC Meeting
- Loading branch information
Showing
1 changed file
with
61 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,61 @@ | ||
# ICU4X TC Meeting 2024-10-20 | ||
|
||
Attendees: | ||
|
||
- Shane Carr (Google) | ||
- Robert Bastian (Google) | ||
- Manish Goregaokar (Google) | ||
- Elango Cheran (Google) | ||
- Zibi Braniecki (Amazon) | ||
|
||
## 2025 Planning | ||
|
||
ICU4X-TC OKRs: | ||
|
||
1. Compatibility with ICU4C/ICU4J for easier partial migration | ||
- Data sharing for core data | ||
- APIs that are similar | ||
- Conformance testing to instill confidence | ||
- Reduce duplication of work between ICU-TC and ICU4X-TC | ||
2. Establish stability in our data architecture | ||
- Make finely sliced data compilation time not hit developer or CI limits | ||
- Postcard with compiled data constructors? | ||
- Reporting of metrics | ||
3. ECMA-402 100% coverage, tested | ||
- Eventually needed for V8 and Spidermonkey | ||
- Focus on 100% in individual components | ||
4. Super-well polished for 3P adoption | ||
- Resolve low-hanging fruit in dependency tree (rust-url problem) | ||
- Outreach: web site, conferences, blog posts | ||
- Additional tutorials: cover deeper topics, driven by clients | ||
- Continue to react to direct feedback from clients | ||
|
||
LGTM: @sffc @robertbastian @manishearth @zbraniecki | ||
|
||
Discussion: | ||
|
||
- @zbraniecki Do we need ECMA-402 as a marketing tool, or does a specific client need it? | ||
- @sffc The ECMA-402 clients remain browser engines. | ||
- @zbraniecki In my experience, clients look at the feature they need, like number formatting or collation. They don't necesarily look for full ECMA-402. | ||
- @zbraniecki A situation I've seen is an OS that brings multiple copies of ICU. Being able to use a smaller library, and being able to share data, is a big win. | ||
- @sffc Should we prioritize an ICU4X data provider that reads from ICU4C data files? It seems like something we can add on an as-needed basis. | ||
- @zbraniecki Is the new datetime component done? Stable for a decade? | ||
- @sffc I'm happy overall with the design. It is also a novel approach that hasn't been tested in the wild. | ||
- @zbraniecki Is it a trifecta between speed, size, and compilation time? | ||
- @sffc Hmm. Yes, I think so. | ||
- @robertbastian If you want to have multiple clients sharing data, Postcard is your answer. It is faster compilation | ||
- @zbraniecki Where did we land on untrusted postcard? | ||
- @Manishearth It was a categorization error: we made baked data for them. | ||
- @sffc There's an issue for us to plug baked data into the default constructors. Maybe we should prioritize that. | ||
- @robertbastian Why not just use `_with_buffer_provider` constructors? Also, singletons might make that hard. | ||
- @zbraniecki So are we pretty happy overall with the architecture? It sounds like compilation time is the main issue? | ||
- @robertbastian Even in 2.0, we're making a lot of changes around the edge, but architecturally, I don't see a lot changing. | ||
- @Manishearth Postcard doesn't solve the syn compilation time. | ||
- @sffc Tree compilation time, which impacted rust-url, is a different aspect of the problem than baked data compilation time. | ||
- @zbraniecki It sounds like in this case we're doing something that ICU4C isn't doing. So in order to compare apples to apples, we should compare our postcard numbers, right? | ||
- @sffc I can totally see a slide where we have two bars: compilation time and runtime performance metrics, compared between ICU4C, ICU4X Postcard, and ICU4X Baked. | ||
- @zbraniecki ECMA-402 feature coverage is only important if you've already sold yourself. Partial migration is more important. I don't think lacking 100% coverage blocks adoption. A doc that says "this project intends to have ECMA-402 compatibility" is fine. | ||
- @echeran Do we feel that we are accessible to most developers? Are there developers who try to use ICU4X but are challenged by its complexity? I think focusing on 3P adoption is important to both obtain new clients and retain existing clients. Tutorials are a big part of that. | ||
- @sffc Yeah, Temporal calls these "cookbook" examples. | ||
- @zbraniecki Maybe also seek out clients to write content about this. For example, Boa writing a tutorial would be good for this. | ||
|