Tech Book Face Off: HTML & CSS: design and build websites versus HTML5: the missing manual
Credit: Web Development
Services
HTML and CSS are the language of the web. Every time you
visit a website in your browser, the browser sends a request to the website
server to retrieve an HTML file. The server responds with the file, which is in
human readable plain text. That HTML file probably contains links to CSS and
JavaScript files and these are downloaded and interpreted together with the
HTML to give the web page the latest look you see in your browser. The whole of
the web you see is based on these languages and if you want to be a
participant on the web, you would benefit greatly by learning them. On the one
hand, I waited far too long to learn HTML and CSS myself. For how easy they
are, I should have picked them up years ago. On the other hand, the advantage
of waiting is that I did not have to go through the list of changes that those
languages have gone through in the last decade, with HTML5 and CSS3 as their
highlight. Because it was time to get to know them, I picked up a few books and
went to work.
This book is another reason why it was useful to wait to
learn HTML and CSS, not that I should have waited. I have never experienced a
technical book like this before. Jon Docket has done an incredibly masterly job
by presenting these languages in such a way that the reader can record it
quickly and easily. It is a color layout with beautifully structured pages that
show all important HTML tags and CSS attributes in detail, with clear examples
of each tag or feature in the entire chapter and then a longer, fully-working
copy at the end of each chapter.
After seeing a book like this, it is now painfully clear
that this is the way a book about HTML and CSS should be done. Why would not a
book about the languages of the web be in color with an attractive layout and
clear, no-nonsense coverage of the subjects? Why would not it be visual? The only
way it could have been better was whether it was interactive, essentially an
impossibility for a printed book. It was a pleasure to read, and it was as if
the contents were absorbed directly into my brain through my eyeballs. In the
end I completed the entire book within a few hours. When I was done, I could
not believe that I had waited so long to learn HTML and CSS. These languages
were so simple and this book made them ridiculously easy to learn.
Of course, because the book is full of such visually rich
content, it is really impossible to justify it with words. Here are a few
pictures to give you an idea of how good it is. Compare them mentally with
every other technical book that you have read.
The content is so well presented and fascinating that the
reader can not do anything else than record everything quickly. Really, this is
the way it should happen! Go out and take your own. Strongly recommended.
HTML5: the missing manual
I actually read this book before HTML & CSS: design and
build websites, which can be good or bad, depending on how you look at it. It
was good for this post because I can do a real face-off between two HTML books.
It was not so good for my free time because I wasted a bit of reading a book
that I had never finished, if I had read the other first.
I worried a little last week about a comment made in this
book about recursion. That was certainly not the defining weakness of this
book, only a minor offense, because this book is not about programming
techniques. However, it is a fairly typical example of the larger problems I
have with this book.
Matthew MacDonald starts pretty well. His first story about
HTML5 is quite interesting, and it kept me engaged for a few chapters. He is a
decent writer. After the first few chapters, I started to wonder who this book
was really written for. He specifically made the point to tell the reader that
he expected that you would already know HTML and CSS prior to HTML5, so that he
would only handle the new functions. Okay, fine, I could solve that, but in
chapter 4 he had treated the new tags in HTML5 nicely, so he continued to
validate web forms and embed audio and video in websites.
This is where things start to get weird. You know, these
things take a lot of JavaScript to work in a clean, user-friendly way, and
that's fine. Matthew does a good job by running through all the idiosyncrasies
of the different browsers and how to handle all these problems while creating
beautiful, dynamic web pages using JavaScript. He assumes, however, that you already
know JavaScript. He also warned about this in the introduction. That is not so
bad. The JavaScript is actually quite simple, and even if you are familiar with
it, you should be able to understand it perfectly. But he keeps making remarks
like, and I paraphrase here, if you turn the head of all JavaScript code, do
not worry. After a few instances of this apology or indulgence or whatever it
was, it began to become seriously annoying, even distracting. If he is going to
give the reader a set of JavaScript, because this is the best way to circumvent
the missing browser support for new functions, he can do it without being
paternalistic.
As the book progressed, it actually became a book about
writing JavaScript for HTML5 functions. If your JavaScript skills are weak,
they are virtually nothing. If they are strong, you would want him to just
continue with the code and refrain from disclaimers. Generally I would say that
the book was light on HTML5 and heavy on JavaScript. I honestly wonder if it
should have been HTML5 and JavaScript: The Missing Link. I cannot imagine what
type of web designer it could pick up and use as an HTML5 manual.
A final problem with this book is how quickly it will be
hopelessly outdated, if it is not yet. The different browser manufacturers
implement HTML5 functions as quickly as possible and most functions are already
implemented in Firefox, Chrome and Opera. Most of the content of the book is
about dealing with functions that were not yet available in one or more
browsers, but that time is coming to a close. That will leave a lot of content,
largely irrelevant. Actually, this is a book that no one needs.
Internet Explorer: the missing functions
If you've noticed it, I did not include Internet Explorer in
the list of browsers that implement most of the new features of HTML5. That was
not inattention. If you use Internet Explorer 10 on Windows 8, you are in
better shape, but not many users. One thing that makes both books very clear is
that Internet Explorer is different from other browsers, and not in a good way.
Microsoft does so much differently with the way that Internet Explorer
processes HTML and CSS and that if it was not supplied with Windows, it is
clear that nobody would use it. If the chronic incompatibilities are not
intentional, then they are at least embarrassing. Although I suspect the first
one.
In addition to the slow and distorted application of
functions, Internet Explorer also lives in the dark age of browser revisions.
Firefox and Chrome were moved to the continuous browser update model a long
time ago, so every time you restart your browser, it could be updated to the
latest released version (not sure Opera, as I do not use it). This is great for
both users and developers. Users no longer have to think about updating their
software and developers can assume that users are always on the latest version.
Especially for a piece of software that needs to be connected to work on the
internet, that makes sense. With the outdated Internet Explorer update model,
it can take more than a year for users to switch to a new version, longer with
IE 10 because Windows 8 is needed. That's an eternity on the web!