In my foreword to Bill Scott and Theresa Neil’s great book, Designing Web Interfaces, I outlined the role of design principles in the software development process:
“Design principles are the guiding light for any software application. They define and communicate the key characteristics of the product to a wide variety of stakeholders including clients, colleagues, and team members. Design principles articulate the fundamental goals that all decisions can be measured against and thereby keep the pieces of a project moving toward an integrated whole.”
I also detailed the need for design principles to help teams make informed decisions in my recent Parti & The Design Sandwich presentation. So naturally, I was excited to find several examples of design principles in use at Microsoft.
While Microsoft itself admits to design challenges in some of their products, the places where I saw design principles in use produced some pretty interesting product designs. In particular: Windows 7 Desktop, Office 2007, and Microsoft Surface.
For the Windows 7 desktop design, Stephan Hoefnagel showed the following principles in action:
- Reduce concepts to increase confidence
- Small things matter, good and bad
- Solve distractions, not discoverability
- Time matters, build for people on the go
- Value the full lifecycle of the experience
- Be great at “look” and “do”
For the Microsoft Office 2007 redesign, Jensen Harris illustrated how these “design tenants” helped the team make effective decisions:
- A person’s focus should be on their content, not on the UI. Help people work without interference.
- Reduce the number of choices presented at any given time.
- Increase efficiency.
- Embrace consistency, but not homogeneity.
- Give features a permanent home. Prefer consistent-location UI over “smart” UI.
- Straightforward is better than clever.
For Microsoft Surface, Joseph Fletcher mentioned how a set of principles for Natural User Interfaces (NUIs) and “super principles” for Microsoft Surface helped the team design.
Natural User Interfaces should be:
- Evocative: Principle of Performance Aesthetics
- Unmediated: Principle of Direct Manipulation
- Fast Few: Principles of Scaffolding
- Contextual: Principle of Contextual Environments
- Intuition: Principle of Super Real
Microsoft Surface should be:
- Social: multiple simultaneous users
- Seamless: digital & physical combined
- Spatial: kinesiology
If you have other examples of using design principles to help shepherd a software development project toward a holistic design- let me know.