---
# System prepended metadata

title: 'Meeting: Refining work streams'
tags: [meeting-notes]

---

---
tags: meeting-notes
---

# Meeting: Refining work streams

Met to discuss if work streams make sense, how we organize, who drives what.

# Concerns

* work streams are too vague
	* features have to be "fit" into things
	* sometimes features span multiple work streams
	* no clear start and end or tangibles
* projects have a tangible goal and conclusion

# Work streams?

![](https://i.imgur.com/1wXv0jP.png)
We are redefining this slide^

Design to Code
- UI Builder (is this docs?)
- Figma Plugin

Performance Tooling
- Bundle size stats
- Bundle size PR gate
- Render time stats locally
- Render time PR gate
- Perf charts in docs
- Bundle size charts in docs
- [Flamegrill (scope this..)]

Accessibility Tools
- Dev loop catching issues
- PR Gates

Component Work
- [New components (Table, SideNav, Toast, etc)]
- [Component/utility updates (renames, features, etc)]
- Single react-focus package

Telemetry
- Converge v0 v7 telemetry approaches
- Split screen support

Theming
- CSS Variable Styling System
- compose() function and model

Docs & Ecosystem
- Info JSON Generator
- Allow M365 product teams to discover/share components
- Upgrade path w/ codemods
- Simplified new repo scaffolding
- Templates for "new package" or "new component"
    - Packaged and auto updated

CI/Eng Sys
- Converge the repos
- [Github Bot scoped projects]

[Docs Mathieu]

- Ship new public website

UNKNOWN STUFF
- Open UI
    - FastDNA web components will be built in Open UI specs first
    - Shared component schemas will go here
    - Shared design tokens will go here
- npm package definitions
- Specs for components
- Icon story (@uifabric/icons, file type icons, product icons)
- Working with {partner} to help with {thing}
- repo deprecations cleanup



# Ideas

current tactical
v0 tactical
design to code
performance - should this be in current or v0 tactical?
theming
composition
one repo
one library
update path
shield & bot
ecosystem & docs



# What are we releasing

8.0 major release done by June

### oufr aliases to fuir

oufr:
  /lib/index.ts - export * from fuir/lib/index
  /lib/Button.ts - export * from  fuir/lib/Button;

then scaffold fuir-next:

fuir-next: 
  /lib/index.ts - export * from fuir/lib/index
  /lib/Button.ts - export * from  fuir/lib/Button;
  /lib/FocusZone.ts - export {FocusZone} from react-focus-next;
  
### Performance


* Removing/simplifying larger utilities (EventGroup, Async, BaseComponent)
	* Unify utilities
		* get rid of lodash
		* Async class
		* See more here: https://docs.google.com/spreadsheets/d/12ChNoWAkkh0ffTbw5uE-pkYKbMbJcMSz93AmW5QiYWc/edit#gid=0
* Moving to hooks and function components
	* Drive this with current code and also with v0.
	* Composition, state
		* start simple: toggle or checkbox, ship it
		* dropdown and combobox?
		* contextualmenu (is this jon?)
* Break up *Button into Button, MenuButton, and SplitMenuButton. Most buttons really do not need all of the extra ContextualMenu, FocusZone, etc stuff.
* Finish up breaking changes to remove deprecated API usage in React to unblock concurrent mode testing for partners.
	* Elizabeth

:::warning
[jslone] Need to add resourcing to perf tooling
:::

### Sync with design
* Specs (/specs)
* Token/theming improvements (ie11 compatable)
	* Interop of theming with v0 and v7 (only one theming story)

### Major work to be rationalized

* v0 uses Fela, v7 uses merge-styles
  * We need a path to css variables
  * The path needs to help any framework team build ui
  * Maybe we could go back to scss and BEM with css variables now
* Provider vs Customizer, Customizations, createTheme ... converge.
* focus styling
	* what-input vs ms-Fabric--isFocusVisible
* Fabric component itself... Box? is it just ThemeProvider?
* ...then, 31 overlapping components...

### Beyond 8 (Nov)

Replacing css-in js with css variables - now that partners are getting closer to dumping IE11 this year, we are starting to define what this looks like without dropping theming and gaining a lot of perf. This is a major change so we need to make sure we do right. Theming is really hard even with css in js; so leveraging the platform would be ideal. 

 

We also have partners looking for styling solutions like fabric-core that aren't framework specific. Variables would give us a lot of flexibility to offer customizable styling solutions that could apply a theme, even for static page scenarios.