Today I was having a look at designprinciplesftw.com and it got me thinking about some of the design principles I personally follow when creating software.
Design for the User Experience
Ultimately your are creating something for an end user. Make their experience the key focus, don’t get bogged down with the limits of technology.
Make it Simple or Clear
Make things as simple as possible. Where complexity exists, make things as clear as possible.
Use Sensible Defaults
Users shouldn’t have to “setup” your app. They should be able to get going with having to change any settings.
Try and avoid having settings altogether. Giving the user choices only gives them more to think about. Only add settings where absolutely necessary.
Keep the UI Succinct and Consistent
The UI should always be simple, nice to look at and consistent across the entire app. Use well understood icons and short labels to convey meaning.
Be Modular and Flexible
When coding keep things modular and flexible. Separate different concerns into different classes/files. Build from the bottom up.