-
-
Notifications
You must be signed in to change notification settings - Fork 1.3k
Ux Design Philosophy
Be.ing edited this page Jan 8, 2018
·
17 revisions
This is a proposal to provide guiding principals for the design of Mixxx.
- The answer is not more options. If you feel compelled to add a preference that's exposed to the user, it's very possible you've made a wrong turn somewhere. (Copied from Signal.)
-
Live performance is the focus.
- Features that are meant to be used while mixing must be easily accessible with a minimum of steps (clicks, button presses, or other interactions) required to use them. Features whose use is not time sensitive do not need to be as easily accessible.
- Minimize mutable state, because the more moving parts a user has to keep track of, the more likely it is they will do something accidentally.
- Strive for designs that are both easy to discover for new users and easy to use. In case there is a conflict between discoverability and ease of use for experienced users, being intuitive and easy to use while performing is more important.
- "Works for me" is not good enough. It must work for everyone. People use Mixxx with a wide variety of hardware with a wide variety of music for a wide variety of purposes. Your changes should not interfere with how other people use Mixxx. Minimize assumptions about how people use Mixxx.
- Everyone can be a power user. Everyone should be able to use and understand all features of Mixxx. If they cannot, the design and/or documentation should be improved.
- Test your assumptions. The people who make a design cannot anticipate all the issues other people will have with it. Do usability tests both with experienced DJs and novice users.
- Use convention as a guide. DJ software and hardware has long standing conventions about how things work. Only break expectations if there is a good reason to. Don't be afraid to innovate and do it better than the conventional way though.
Mixxx is a free and open-source DJ software.
Manual
Hardware Compatibility
Reporting Bugs
Getting Involved
Contribution Guidelines
Coding Guidelines
Using Git
Developer Guide
Creating Skins
Contributing Mappings
Mixxx Controls
MIDI Scripting
Components JS
HID Scripting