Basics
A guide to building Mybring and related properties with shared principles and code
Users’ interfaces, maintainable code
Our goal is to meet the users’ needs and preferences they have set for their experience.
That means:
- We rely heavily on browser defaults, interface conventions and native elements.
- We actively avoid reinventing interfaces in our own flavour.
- We aim to control as little as possible of people’s environment.
- We lean on the essential languages of the web and have a sober approach to making custom elements and using ephemeral dependencies, libraries and frameworks.
- When circumstances call for custom elements or deviation from certain principles, we still work from the native patterns.
That leads to:
- Offering usability and accessibility without having to overengineer or compensate for choices made elsewhere.
- Less code written.
- Easier maintainability for years to come.
This is for instance noticable in the form elements, styled close to default to not break affordances and conventions. At the same time, we keep the focus outline entirely default so it works with people’s settings, whether that be different colours or extra contrast; whatever they need to perform their task.
System content
- Documentation with principles, guidelines and code reference
- Mybring Design System CSS
- Icons
- React components
- Chart.js config
- GitHub repo