These statements of architectural principle explain the thinking behind the specifications. These are personal notes by Tim Berners-Lee: they are not endorsed by W3C. They are aimed at the technical community, to explain reasons, provide a framework to provide consistency for for future developments, and avoid repetition of discussions once resolved.
Why doesn't HTML include tags for style? Why can't you put text inside SMIL? Why doesn't CSS include commands to transform a document? Why, in short, does W3C modularize its specification and why in this particular way? This essay tries to make explicit what the developers in the various W3C working groups mean when they invoke words like efficiency, maintainability, accessibility, extensibility, learnability, simplicity, longevity, and other long words ending in -y.
The following principles are fundamental to the design and implementation of effective interfaces, whether for traditional GUI environments or the web. Of late, many web applications have reflected a lack of understanding of many of these principles of interaction design, to their great detriment. Because an application or service appears on the web, the principles do not change. If anything, applying these principles become even more important.
Interfaces exist to enable interaction between humans and our world. They can help clarify, illuminate, enable, show relationships, bring us together, pull us apart, manage our expectations, and give us access to services. The act of designing interfaces is not art and they are not monuments unto themselves. Interfaces do a job and their effectiveness can be measured. They are not just utilitarian, however. The best interfaces can inspire, evoke, mystify, and intensify our relationship with the world.
Clarity is job #1
Interfaces exist to enable interaction
Conserve attention at all costs
Keep users in control
Direct manipulation is best
One primary action per screen
Keep secondary actions secondary
Provide a natural next step
Appearance follows behavior (aka form follows function)
Creativity needs the support of knowledge to be able to perform at its best. It is not the intention of this little book to stifle creativity or to reduce it to a bunch of rules. It is not the formula that prevents good design from happening but lack of knowledge of the complexity of the Design profession. It’s up to the brain to use the proper formula to achieve the desired result.
Part One: The Intangibles
Design is One
Part Two: The Tangibles
Grids, Margins, Columns and Modules
A Company Letterhead
Grids for Books
Typefaces, The Basic Ones
Flush left, centered, justified
Type Size Relationships
Contrasting Type Sizes
Indentity and Diversity
A collection of experiences
A poster has to be joyous, unless it has to arouse compassion.
Red has to be in every poster.
A poster has to provoke a closer look, otherwise it doesn’t endure.
With a respect for society, designer and director both are responsible for the street scene. A poster does not only have to revive the street, it also has to be human.
Enable a user to complete the outcome they set out to do
Be easy to find
Clearly explain its purpose
Set the expectations a user has of it
Be agnostic of organisational structures
Require the minimum possible steps to complete
Be consistent throughout
Have no dead ends
Be usable by everyone, equally
Respond to change quickly
Work in a way that is familiar
Encourage the right behaviours from users and staff
Clearly explain why a decision has been made
Make it easy to get human assistance
Require no prior knowledge to use
Several of the principles were immediately useful, and put straight into practice; they either reinforced an earlier thought or opened up entirely new vistas. Several others are unfurling as we go. A few more are more broadly relevant, well beyond our street-oriented agenda. Here they are:
Focus on people their lives, their work, their dreams.
Every millisecond counts.
Simplicity is powerful.
Engage beginners and attract experts.
Dare to innovate.
Design for the world.
Plan for today’s and tomorrow’s business.
Delight the eye without distracting the mind.
Be worthy of people’s trust.
Add a human touch.
Government Digital Service
These guidelines are intended for people building digital services for the GOV.UK domain. … We believe that the work should do the talking, so underneath each of the principles there are examples of how we have applied that thinking in the work released so far.
These principles guide all of our design. Use them to get started on a project and to help with making decisions. They're inspired by the NHS Constitution that's steered the NHS for 70 years.
Put people at the heart of everything you do
Design for the outcome
Design for context
Design for trust
Test your assumptions
Make, learn, iterate
Do the hard work to make it simple
Make things open. It makes things better
U.S. Digital Services
To increase the success rate of these projects, the U.S. Government needs a new approach. We created a playbook of 13 key “plays” drawn from successful best practices from the private sector and government that, if followed together, will help government build effective digital services.
Our 8 design principles outline our approach to design for digital
channels — they are the foundation of our UI and UX output. Using
them will help with decision making and can be used to measure
the success of a design.
At Pitch, we believe that software development is inherently collaborative. After growing to more than 70 engineers around the world, we decided it was a good time to write down our principles to keep us aligned as we scale.
Unlocking the team over individual contribution
Group knowledge over individual expertise
Small incremental changes over perfection at first try
People should feel they are able to safely engage in expressing themselves and receive support in a safe manner with appropriate guidance and rules to ensure theirs and others’ safety and privacy is maintained.
Build reliability and consistency in your service delivery. This ensures the promise you make can be reliably delivered for people to use and retains a level of consistency in service continuity for users, particularly across multi-service provision.
Format Design Principles
HTML5 defines the fifth major revision of the core language of the World Wide Web, HTML.
The guidelines and Success Criteria are organized around the following four principles, which lay the foundation necessary for anyone to access and use Web content. Anyone who wants to use the Web must have content that is:
It can't be invisible to all of their senses.
The interface cannot require interaction that a user cannot perform.
The content or operation cannot be beyond their understanding.
As technologies and user agents evolve, the content should remain accessible.
These design principles are meant to guide the ongoing design and development of AMP. They should help us make internally consistent decisions.
User Experience > Developer Experience > Ease of Implementation.
Don’t design for a hypothetical faster future browser.
Don’t break the web.
Solve problems on the right layer.
Only do things if they can be made fast.
Prioritise things that improve the user experience – but compromise when needed.
Software Design Principles
I realized that in order to really know whether our work is any good, we need a higher level of principles that can be used as a measuring stick for implementing design. We need something that is removed from a specific language like CSS or an opinionated way of writing it.
The document is written semantically and logically, with or without styles.
The least amount of markup and assets are used to achieve the design.
Rules for common values are stored and used liberally.
Base elements are separated from a specific context and form a core framework.
Common elements are logically broken into reusable parts.
Customizations to base elements are available through optional parameters.
The code is easily extended and anticipates enhancements in the future.
All elements are described for others to use and extend.
The final output is an appropriate representation of the intended design.
They are intended to give anyone involved in the design and development of websites and applications - designers, user experience professionals, developers, product owners, idea makers, innovators, artists and thinkers — a broad approach to inclusive design.
It’s never too early to talk about principles for your product. They can feel premature because they’re not what we typically consider signs of progress, such as mocks or prototypes. Nevertheless, if written correctly, you’ll be surprised at how often they will come up in conversations, during new employee onboarding, design critiques, and brainstorms.
This principle was often referred to while we were designing the Medium editor. We purposely traded layout, type, and color choices for guidance and direction. Direction was more appropriate for the product because we wanted people to focus on writing, and not get distracted by choice.
Appropriate over Consistent.
This might seem controversial, but when applied across devices, its purpose is clear. We were willing to break consistency if it was more appropriate for the OS, device, or context.
Evolving over Finalized.
This is exemplified in the ability to share Medium drafts, write responses, and leave notes. The content on Medium should be antifragile, improving with use and evolving overtime. We did not want to design printed books for the internet.
After a few weeks sketching and debating, we stepped back and created some simple design principles before moving forward:
These design principles were developed by and for the Android User Experience Team to keep users' best interests in mind. For Android developers and designers, they continue to underlie the more detailed design guidelines for different types of devices.
Arch Linux defines simplicity as without unnecessary additions, modifications, or complications, and provides a lightweight UNIX-like base structure that allows an individual user to shape the system according to their own needs. In short: an elegant, minimalist approach.
Code-correctness over convenience
Simplicity of implementation, code-elegance, and minimalism shall always remain the reigning priorities of Arch development.
Arch Linux targets and accommodates competent GNU/Linux users by giving them complete control and responsibility over the system.
Arch Linux uses simple tools, that are selected or built with openness of the sources and their output in mind.
By keeping the system simple, Arch Linux provides the freedom to make any choice about the system.
What principles do designers need to understand to create better designs?
For all of these principles, it is not yet clear how to best achieve them, and there are sure to be many possible solutions with different tradeoffs. We’ll need to experiment as community with various approaches. The collective’s primary goal is to report on such efforts and raise awareness of work in these directions.
Easy to change
Software must be as easy to change as it is to use it.
Arbitrary recombination and reuse
All layers, from the user interface through functionality to the data within, must support arbitrary recombination and reuse in new environments.
Tools should strive to be easy to begin working with but still have lots of open-ended potential.
Retain ownership and control
People of all experience levels must be able to retain ownership and control.
Recombined workflows and experiences must be freely sharable with others.
Modifying in the context of use
Modifying a system should happen in the context of use, rather than through some separate development toolchain and skill set.
Computing should be a thoughtfully crafted, fun, and empowering experience.
Hardware Design Principles
The Clock Of The Long Now
These are the principles that Danny Hillis used in the initial stages of designing a 10,000 Year Clock. We have found these are generally good principles for designing anything to last a long time.