It's Friday evening—at least if you're following the schedule. Yes, for the purposes of this book, Friday evening constitutes part of the weekend. Okay, maybe that is fudging a bit, but if you're going to learn HTML 4 in a weekend, you need to first get oriented, check the software requirements for doing this book's HTML examples, download this book's example files, and do some background reading on what HTML is, how it has evolved, and where it is going in the future, before you jump right into learning how to write HTML code.
HTML stands for HyperText Markup Language. HTML serves two essential purposes. As a hypertext language, it enables the non-sequential interlinking of documents without which the Web would not be the Web (at least as we know it). As a markup language, it is a language of codes (called tags) that specify the formatting of documents (or Web pages) for display on the World Wide Web.
The term hypertext was first coined by Ted Nelson, way back in 1965 when he was a graduate student at Harvard. At that time, he conceptualized it simply as "non-sequential writing"—the idea being that any object (a word or phrase, an image, the text itself) can be linked to any other object within the "docuverse" (a term also coined by Ted Nelson). The original idea was to create a computer program, called Xanudu by Nelson, that facilitated this non-sequential access to documents, thus enabling readers to easily create their own non-sequential path for learning and understanding a subject. Although he worked on it for many years, Nelson never completed his Xanudu system. Besides coining the term hypertext, Nelson also coined the term hypermedia to denote dynamically linked media, such as movies in which viewers can choose alternative plot paths.
The concept of a computer-based hypertext system actually goes back even further, having been first proposed by Vannever Bush in an article, "The Way We Think," in the July 1945 issue of Atlantic Monthly. In that article, Bush proposes a system called a memex, which he described as "a device in which an individual stores all his books, records, and communications, and which is mechanized so that it may be consulted with exceeding speed and flexibility. It is an enlarged intimate supplement to his memory." This system was to operate along the lines of the working of the human mind, which Bush characterized as formed along the lines of an associative "web of trails": "The human mind… operates by association. With one item in its grasp, it snaps instantly to the next that is suggested by the association of thoughts, in accordance with some intricate web of trails carried by the cells of the brain."
Although Nelson coined the essential term hypertext, several others were contemporaneously working along similar lines. As early as 1985, Xerox developed the NoteCards hypertext-based system. The OWL Guide, another hypertext system, was released in 1986. In 1987, Apple released the HyperCard system, invented by Bill Atkinson. The HyperCard system, bundled with Apple's Macintosh computers, helped to popularize the notion of non-sequential textual applications that allowed readers to find their own way by choosing which branch or path they wanted to follow. A clone of the HyperCard system, Asymmetrix Toolbox, was developed for Microsoft Windows.
The full potential of the idea of hypertext, however, had to await the invention of the World Wide Web (or the Web) by Tim Berners-Lee—first proposed by him in 1989 and released in 1991 by CERN (Conseil European pour la Recherche Nucleaire or European Organizaton for Nuclear Research) in Switzerland. When he first proposed the idea of the Web, he described it as "a wide-area hypermedia information retrieval initiative aiming to give universal access to a large universe of documents." Today, Berners-Lee is more liable to describe the Web as "the universal space of all network-accessible information." It shouldn't pass notice, I think, that these descriptions are relatively exact, if some-what more wordy, equivalents to Ted Nelson's wonderfully apt term, docuverse. It is, of course, no accident that the term hypermedia, originally coined by Ted Nelson, is prominently featured in Berners-Lee's initial description of his proposed World Wide Web.
The Web is essentially a combination of two protocols: HTTP and HTML. HTTP (Hypertext Transfer Protocol) defines the system for distributing hypertext documents across the Internet, whereas HTML defines the hypertext documents to be distributed. What makes an HTML document a hypertext document is the ability to interlink with other documents through a hypertext link. Any point within an HTML document can be turned into a link that can jump to any other document or object on the Web. Any point within an HTML document can also be turned into a target destination that can be jumped to from any point within the same document or from any other HTML document on the Web.
Berners-Lee originally conceived the World Wide Web as a means for scientists and academics to collaborate and share research results over the Internet. It has since evolved way beyond that original conception, becoming rapidly a cybernetic "global village" (a term coined by Marshal McLuhan) within which anyone can actively contribute as a producer of online content and not just as a passive surfer. With access to the Internet and the Web proliferating, whether through connections at home, work, schools, libraries, or Internet cafes, no one need feel shut off from actively contributing to the Web.
The idea of a markup language actually comes from the field of desktop publishing. HTML, at least in its original formulation, was intended as a subset of SGML (Standard Generalized Markup Language), which is used to mark up computer-based (or "electronic") documents for publishing on a printing press. Similarly, HTML is also used to mark up computer-based documents, but for publishing on the Web.
A markup language works by defining a set of codes (or tags) that are then used to specify the format or function of a particular object or element, be it a section of text, a line, a paragraph, a heading, a list, a table, an image, and so on. A program or application is then required to interpret the markup language and apply the correct formatting. For HTML, this program is a Web browser, which interprets the markup tags in an HTML document (or Web page) and then displays the page in its window.
In addition, HTML includes the capability to code non-sequential links within and between documents, or hypertext links. This enables visitors of a Web page to jump from one location to another within a document, or to an entirely different document or object, or even to a specific location in a different document, within your own site or anywhere else on the Web. It is this capability that makes HTML a hypertext markup language.
You might be wondering why you need to learn HTML at all. After all, there are many WYSIWYG (What You See Is What You Get) HTML editing and Web publishing programs (such as Microsoft FrontPage or Macromedia DreamWeaver) that purport to enable you to create your own Web pages without knowing any HTML. Many current word processing and desktop publishing programs also enable you to save a file in HTML format that can then be displayed on the Web. Here are some of the reasons why you might want to learn HTML, rather than just use a WYSIWYG HTML editor:
If things go wrong with your page, you need to be able to stick your head under the hood to fix it. Even the best Web publishing program can't guarantee trouble-free Web pages. When things go wrong (which they will!), you need to be able to decipher and correct your page's HTML code.
Learning HTML is not difficult. Just because it is an acronym, there is no need to be intimidated by HTML. HTML is not terribly difficult to learn. You don't need to be a computer techie to learn HTML. Just about anyone, when willing to put in a minimal amount of time and effort, can learn HTML. Learning all the ins and outs of an HTML editor or Web publishing program can take longer than just learning HTML to begin with. You're better off concentrating first on learning at least the basics of HTML, before you try to learn how to use an HTML editor or Web publishing program.
Learning HTML first will only increase your effectiveness later. If you decide later to take advantage of an HTML editor or Web publishing program, knowing HTML is essential if you want to be able to maximize your efforts. You cannot expect to be effective creating Web pages without learning at least the basics of HTML. If you want to get serious about Web publishing, you must have a good understanding of HTML. Using a Web publishing program, such as FrontPage or DreamWeaver, is a valid option, but it is not a substitute for learning HTML in the first place.
Only a code-level familiarity with HTML can assure the creation of compatible and efficient Web pages. Knowing what's standard and what's not is the key to creating Web pages that are cross-compatible with all browsers. Also, in the hands of someone ignorant of HTML, a Web publishing program is much more likely to produce bloated Web pages that are crammed with incompatible and nonstandard spaghetti code. Using a word processor to save a document in HTML format will likely produce the same inefficient and bandwidth-wasting result.
You don't need special software to create your own HTML files. All you need to create HTML files is a simple text editor. Windows Notepad is included with Windows, and it is free! Other platforms also include free text editors. There are also many additional text editors available on the Web that offer extra bells and whistles, such as spell-checking and search-and-replace either for free or at a small cost. You'll also never have to upgrade a text editor to handle new developments in HTML, because a text editor is a generic tool, rather than a specialized tool (like an HTML editor or Web publishing program). Moving on to using more sophisticated tools is always an option, but it is not a requirement.
Advance your career or impress your friends and family. Being able to say, "I know HTML!," with confidence can be a big factor in helping to advance your career. Many job positions, and not just computer job positions, now require some knowledge of HTML and Web publishing. At the very least, you'll gain a newfound respect from your friends and family.
Add to your own sense of personal achievement and reward. Learning to use HTML to create your own Web pages can be empowering. The Web is the ultimate medium for self-expression—by learning HTML, you can start taking advantage of it!
Have some fun! Seeing your own efforts materialize on the Web, especially when you've created everything yourself from scratch, can be a real blast. If you think surfing the Web is a lot of fun, just wait until you start creating your own pages for others to surf!