In addition to working within the Material Design team, MDC Web communicates with its external developers. External developers are the people who depend on MDC Web code in their web applications. Specifically, they depend on our Node modules.
External developers have two critical ways of communicating with us
- Filing GitHub issues
- Talking on Discord (See Discord section)
We have several ways of pushing content to external developers:
- Node Modules: the code in an installable form (See Releases section)
- GitHub Documentation: Explain how to use the Node modules
- Pivotal Backlog: Detail our priorities for fixing bugs and completing feature requests
- Catalog: Visualize our components (See Releases section)
GitHub is where we do most of our communication with external developers. The GitHub documentation is critical to our external developers understanding how to use our Node modules. GitHub is also where they can file bugs and feature requests. External developers see these issues prioritized on our Pivotal tracker. External developers can view the Backlog and see the time estimate until their bug is fixed, or their feature request is complete.
MDC Web team members are expected to triage GitHub issues and release code to NPM. Triage and release are only performed when the team member is “release cop”, which is determined by a rotation calendar. Each team member is release cop for two weeks.
- Untriaged Issues
- Triage Process
- Release Process
- Idle in Discord
There is a special kind of external developer: the kind that also contributes code back to our repository. These external contributors fix GitHub issue we mark as “help wanted” in our triage process. This stops the GitHub issue from becoming a bug on our pivotal tracker, which saves core contributors from having to fix the bug.
Our GitHub code must be readable by external contributors. And we must review code from external contributors.
Our code is released as Node modules. External developers install these modules.
Our catalog server is where we visually display the components to our external developers.
Our Discord channel is where we can talk with external developers in realtime.