Foreword
HTML was born simple. It was primitive, even when compared with word processors of the time. It has been extended in many ways, and HTML and related technologies are now a complex conglomerate that gets more complex. There is a reason for that: There are so many different things people want to do with it, from the simple display of facts to immersive applications.
In addition, there are many ways to do things with HTML. The simple way isn’t always obvious, and sometimes it isn’t even right. In his series of “Upgrade Your HTML” booklets, Jens Oliver Meiert describes how HTML code is so often pointlessly bloated and complex, and what to do with that. Typically, you’ll learn that “upgrade” means simpler code, less code, and more useful code.
The famous quote from Einstein, “make things as simple as possible, but not simpler,” is incorrect, as almost all famous quotes are. Einstein was actually referring to basic elements of a theory, not about things in general.
The popular slogan is still a useful guideline, especially in constructing things like web pages or applications. Use the simplest tools that let you do things you want or need to do, and use them as simply as possible, instead of looking for the “newest” or “most powerful”—or just copying code or design, or using software that generates unmanageable code.
Jens Oliver Meiert may at times take you too far, as if the “but not simpler” were not there. I think this is intentional and useful: You need to exaggerate in order to get far enough. His analyses might not cover all the possible good reasons for complexities in some HTML code.
The purpose is not to make you start deleting elements and attributes from existing code, but to use judgment in adding “features” into your code and even to reconsider what you might have used for no good reason, or for reasons that are no longer valid.