Web Principles

From perpendicular angel knowledgebase
Jump to navigation Jump to search

These are the principles that drive how the web functions at the hardware and software level. The closer our designs come to aligning with these principles, the more "native" to the web our designs will be, and the more effective they will be.

  • Rough consensus and running code - If everyone agrees we need images, for example, and someone gets images up and running, whoever gets there first will probably be the one setting the direction for the structure.
  • Postel's Law- "Be liberal in what you accept and conservative in what you send". In other words, assume that the people who are sending you things don't know the protocol, but stick to the protocol when you send out to someone else.
  • Priority of Constituencies - "In case of conflict, consider users over authors over implementers over specifiers, over theoretical purity." According to HTML for Web Designers (1st edition) by Jeremy Keith, this is one of the design principles used by the WHATWG to decide what changes in the HTML specs.
  • Small pieces loosely joined - A book that explains the internet is not a monolith. This has been extended by others to posit that avoiding monoliths provides flexibility and paves the ways for APIs.
  • Information wants to be free - it may not always be in our best interest for information to want to be free, but for good and for bad this is definitely a founding principle of the web. As a result, you have to plan for the consequences.