HTML5 Design principle

Source: Internet
Author: User

Jeremy Keith 's keynote address on fronteers 2010

Download PPT (PDF)

Watch Video

Today I would like to talk about the design of HTML5. Mainly divided into two aspects: on the one hand, of course, is HTML5. I can stand here only to speak HTML5, but I do not intend to do so, because if you want to understand HTML5, you can Google, you can read, or even see the norms.

In fact, someone will actually talk about the content of the specification. Steve Fockner (Steve Faulkner) speaks of HTML5 and accessibility. and Paul Arish (Paul Irish) will talk about the various APIs that HTML5 provides. So I'm standing here today and I'm not going to talk about HTML5 even if it's finished.

To tell you the truth, before I begin, I want to make clear what I mean by HTML5. This sounds a bit funny: This sub you have been talking about HTML5, do we not know what is HTML5? As you know, there is a norm, its name is HTML5. What I mean by HTML5 is the norm. But the problem is that some people are talking about HTML5, not just the norm, but the other meaning. For example, using HTML5 to refer to CSS3 is a common term. That's not how I am. What I call HTML5, does not contain CSS3, is HTML5.

Similar terminology issues have been used before. Ajax was supposed to be a clear technique, but after a while it became the meaning of "doing all the fun with JavaScript". This is Ajax, right? Today, HTML5 also faces the same problem, which is meant to be a specific specification, but now it means "doing all the fun on the web." "I'm not talking about this kind of HTML5, not this kind of HTML5 that covers all the new things that have just emerged recently." I'm just talking about the norm itself: HTML5.

I have just said that I want to talk about a few things today, and I have no intention to introduce what HTML5 contains. Today I am going to talk about it on the other hand, that is, the design of HTML5. In other words, I'm not talking about what the specs contain, but why they are included in the specification, and how designers perceive them when designing the specification.

Design principle

The design principle is essentially a belief, an idea, a concept, and a pillar of your action. Whether you're making a specification, or making a tangible object, or writing software, or even inventing a programming language. You can find one or more of the design principles behind it, and any effort by many people to collaborate is an example. This is not just the realm of web development. Throughout the history of mankind, there are also design principles behind the massive construction activities of the State and society.

Take the United States as an example, the design principles of the United States are written in the Declaration of Independence.

We believe that these truths are self-evident, that men are born equal, and that the creator gives everyone an inalienable right, including survival, freedom and the pursuit of happiness.

Here is a slogan: Survival, freedom and the pursuit of happiness. This is the core idea enshrined in the Constitution, and it concerns all of us, the principles that we build our own society.

Another example is Karl Marx, whose writings were criterion in the 20th century to build socialism. The basic idea can be summed up in the following design principle:

Dens, you have to.

This is actually the design principle behind an economic system.

There is another example, more remote than the previous two, but much the same:

Everyone for me, I for everyone.

This very simple design principle was presented by Jesus Christ of Nazareth, 2000 years ago. And this principle became the core doctrine of many later religions. Principle and practice are sometimes not synchronized.

Here is an example of a novel. "Animal Manor" by George Orwell, a British novelist, is a virtual society built on the basis of a design principle. This design principle is:

Four legs are good people, two legs are bad guys!

What's interesting about Animal Farm is that as society changes--getting worse, the design principle changes, and it turns out that the "four-legged are good guys, and the two legs are better." "The most important thing is that even in a fictional work, the principles of design are there," he said.

There is also a set of fictional works built on the basis of three design principles, the classic series of Robotics of the famous American novelist Asimov (Issac Asimov). Asimov invented the term robotics, and proposed the three principles of robotics, and then in these three simple design principles based on the creation of a series of classic works-about 50 books. No matter how the plot changes, in fact, from different angles to explain the three design principles. I think the three laws of robotics should not be unfamiliar to all of you here.

Robots must not harm humans, or stand idly by while humans are hurt.

The robot must obey the human order unless the order violates the first law.

Robots must defend themselves, as long as they do not violate the first and second laws.

This is probably the first time in the novel for the design principle of software. Although software based on these three design principles runs in the "positron Brain" of a fictional robot, I think this should be the beginning of the truth of the software design principle. Since then, we have seen a lot of good software behind the design principle.


The browser doesn't matter. Suppose I write an HTML 3.2 document that starts with the HTML 3.2 doctype. And somewhere in the document, I use an element that appears in HTML 4.01. What does the browser do with the situation? Does it not interpret rendering that element because it appears in a specification that is later than the HTML version declared by DOCTYPE? No, of course not! It will explain the rendering of the element, and don't forget the Bostal rule, and don't forget the robustness. The browser must be open when it is received. Therefore, it does not check for any format type, and the validator does not care about the format type. This is the real reason for the existence of DOCTYPE.

And according to another design principle of HTML5, it must be backwards compatible, compatible with future HTML versions-whether HTML6, HTML7, or whatever-with the current HTML version, HTML5, and compatible. Therefore, to put a version number in the DOCTYPE does not have much significance, even for the test card is the same.

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.