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.
Interfaces exist to enable interaction
Clarity is job #1
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)
Inclusive Design is where innovation and imagination flourish. Meeting the needs of the widest variety of people does not inhibit creativity. It opens our minds and inspires excellence.
Equitable: Be welcoming.
Flexible: Provide options.
Straightforward: Be obvious and not ambiguous.
Perceptible: Don’t assume anything.
Informative: Be timely, predictable, uncomplicated and precise.
Preventative: Provide easy to follow instructions and gently guide users.
Tolerant: Handle errors respectfully.
Effortless: Don’t make demands or place restrictions on your users.
Accommodating: Be approachable, uncluttered and give people room to manoeuvre.
Consistent: Follow standards, guidelines, conventions and best practices.
Paul Robert Lloyd
We can start the work of building this framework, by agreeing upon a set design principles, each working in service of a broader goal, that of building a web that is and remains accessible to all.
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
Semantics
Syntactics
Pragmatics
Discipline
Appropriateness
Ambiguity
Design is One
Visual Power
Intellectual Elegance
Timelessness
Responsibility
Equity
Part Two: The Tangibles
Paper Sizes
Grids, Margins, Columns and Modules
A Company Letterhead
Grids for Books
Typefaces, The Basic Ones
Flush left, centered, justified
Type Size Relationships
Rulers
Contrasting Type Sizes
Scale
Texture
Color
Layouts
Sequence
Binding
Indentity and Diversity
White Space
A collection of experiences
Willem Sandberg
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.
So, in the absence of anything else, here are 15 principles on what makes a good service. They’re based on years of working on bad services, and trying to build good ones.
Reduce the cost of using and acting on the evidence in the archive.
Engage new people in the records.
Preserve access to the evidence for as long as possible in as many ways as possible.
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.
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.
Our digital design principles reflect how we think about design. They provide a way for us to look at the work we create and how we create it: building the right thing; building the thing right.
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
Be inclusive
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
Format Design Principles
HTML5
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:
Perceivable
It can't be invisible to all of their senses.
Operable
The interface cannot require interaction that a user cannot perform.
Understandable
The content or operation cannot be beyond their understanding.
Robust
As technologies and user agents evolve, the content should remain accessible.
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.
Efficient
The least amount of markup and assets are used to achieve the design.
Standardized
Rules for common values are stored and used liberally.
Abstracted
Base elements are separated from a specific context and form a core framework.
Modular
Common elements are logically broken into reusable parts.
Configurable
Customizations to base elements are available through optional parameters.
Scalable
The code is easily extended and anticipates enhancements in the future.
Documented
All elements are described for others to use and extend.
Accurate
The final output is an appropriate representation of the intended design.
Inclusive 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.
Ensure your interface provides a comparable experience for all so people can accomplish tasks in a way that suits their needs without undermining the quality of the content.
Consider situation
People use your interface in different situations. Make sure your interface delivers a valuable experience to people regardless of their circumstances.
Be consistent
Use familiar conventions and apply them consistently.
Give control
Ensure people are in control. People should be able to access and interact with content in their preferred way.
Offer choice
Consider providing different ways for people to complete tasks, especially those that are complex or non standard.
Prioritise content
Help users focus on core tasks, features, and information by prioritising them within the content and layout.
Add value
Consider the value of features and how they improve the experience for different users.
Web Development
As web developers, we are responsible for shaping the experiences of user’s online lives. By making choices that are ethical and user-centered, we create a better web for everyone.
It's what enables us to debate whether something “Is Facebook” or “Isn't Facebook,” it's what allows us to evaluate whether anything we’re designing could be improved.
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.
Mapbox
After a few weeks sketching and debating, we stepped back and created some simple design principles before moving forward:
Transitional interfaces are easier to learn and more pleasant to use.
Interactions should be delightful and surprising.
Focus the user on one primary action at a time.
Firefox
Is what we’re making a clear expression of what it means to be Firefox? What will make it more Firefoxy? What will we not do because it’s not true to Firefox?
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.
Focus on not stopping the user and all else will follow
Design for big gestures
Think about stream cards first
Do one thing, really fast
Design for the corner of the eye
Don’t be a constant shoulder tapper
Google Glass
Glass is fundamentally different than existing mobile platforms in both design and use. Follow these principles when building Glassware to give users the best experience.
Celebrate data while respecting user and device context.
Be smart and appropriate for the task at hand.
Understand the broader contexts of use.
Arch Linux
The following five core principles comprise what is commonly referred to as the Arch Way, or the Arch Philosophy, perhaps best summarized by the acronym KISS for Keep It Simple, Stupid.
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.
User-centric
Arch Linux targets and accommodates competent GNU/Linux users by giving them complete control and responsibility over the system.
Openness
Arch Linux uses simple tools, that are selected or built with openness of the sources and their output in mind.
Freedom
By keeping the system simple, Arch Linux provides the freedom to make any choice about the system.
Web Design
What principles do designers need to understand to create better designs?
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.
Rather than solving problems from scratch, adapt other people's solutions, and then give them credit.
Design for materials and components which are reasonably cheap to buy, low-carbon and fully recyclable or biodegradable.
Design structures which can be assembled with minimal formal skill or training, and without the use of power tools.
WikiHouses should be capable of being habitable throughout the year, and as efficient as possible in the use of energy and water.
Design in such a way as to offer maximum provision for the safety, security and health (both mental and physical) of the users at all stages of the structure's life.
As a general rule, design for the climate, culture, economy and legal / planning framework in which you live, and you know best. Others will then be able to adapt the design to suit their environment.
Share your work as much and as openly as possible, it might come back better. At very least you'll have contributed to solving a common problem.
“It is easier to ship recipes than cakes and biscuits” — John Maynard Keynes
Design to dismantle. The easier it is to dismantle structures or replace individual parts, the better.
Design for mistakes. Try to design components which either make it impossible for the assembler to get it wrong or are designed in such a way that it doesn't matter if they do.