I bought and started reading Jeffery Zeldman's new book,
Designing with Web Standards this week.

It is a great book for anyone who finds themselves tossed into the role of
web page designer
by accident - or by, well, design.
Let me tell a little story about myself, and then explain why I like this book - and why I think it is important enough to get a copy, read it, and hold onto it.
I am a programmer. I do most of my work on
IT systems.
In the 1980s, these systems were
drab. They were really nothing more than online, interactive veresions of the software known in the 1960s and 1970s as
data processing systems.
They operated on terminals with 80x24 monochrome displays in the 1980s. That is all we had to use as programmers, and that is pretty much all companies would sell to users who would use the software they bought from us.
Then in the 1990s rolled in and computers using Windows 3.0 and later 3.0, 3.1, NT, 95, and 98 became the rage. These computers were seemingly inexpensive and offered more attractive/powerful user interfaces.
They were ten times harder to program than the old way. However, the results were an order of magnitude easier to use and a hundred times more attractive/fun. Basically, the age of user manuals was beginning to die. Computer software product ads could explain a product with screenshots too.
Life was good.
Then the web came in.
Making the user interface was even easier now. The end results - user interfaces consisting of forms and some pretty graphical images were easier for programmers to obtain now.
There was a little trickiness in keeping track of who the user was so you could figure out what to do with his data once he clicked the
Submit
button. A couple ways of soliving that problem were quickly discovered and put into wide practice. Life was pretty easy.
By and large, these web-based systems began to take over as the main vehicle for IT systems by the end of the 1990s and early 2000s. Desktop based GUI clients were still done, in Java now, rather than Pascal or C/C++.
By sometime around 2000, the role of the web designer was firmly implanted in IT culture.
Programmers and user analysts could design forms. They had been doing so for decades.
But they could not really make the forms look good. The aesthetics were usually not there, even if the required functionality was.
Enter the
web designer
who took care of that as his specialty, added a certain panache, and made the page gorgeous to behold as well as pleasant to use.
Often they would use a product called Macromedia DreamWeaver. It did most of its tricks doing funky, yes funky, things with HTML elements and a little JavaScript.
Later it added the ability to use CSS to achieve visual effects, styling, and layout. The CSS standard had been around from the late 1990s, so this was no big deal and even somewhat overdo.
It became necessary for some programmers to learn not only HTML - but also CSS. It was another computer language you had to know.
Now, back to the book. Originally, there was not CSS - just HTML. In fact, when I started writing HTML, there were no version numbers associated with the file format. There was only Mosaic tags and later they were joined by Netscape tags, which were a superset.
Netscape was written by the programmers who had written Mosaic, so no surprise there.
Later, Microsoft bougth Mosaic's source code and, in open source terminology, they
forked
it. They created their own divergent version of it and went off in a different direction with it from the main branch of development, which was going on at Netscape.
So, the two HTMLs were not completely compatible. Microsoft and Netscape founded the W3 to help keep their competitive natures reigned in so that compatibility would not be completely lost. If they had not done this, it seems possible that the two browsers would have diverged too much to use interchangeably on the same pagers.
Some companies, in fact many, have already achieved this dubious state of commercial Nirvana. The result, is when their users or IT departments want to switch to the another browser, they encounter problems.
The reason for this is pretty simple: vendors added some extensions to their web browser, and they did not fully - or quite correctly - implement the standards. Which is sad, because that was the whole point of having the standards in the first place!
CSS was a way of refining the authoring of HTML web pages. Instead of saying right at the point where you wanted to draw a box around something,
Here, slap a table around this with some borders on it
- you could say,
Wrap this in a box and give the box an ID and/or tag it with a category called a class. Elsewhere, you could say what color to make the box, the text in it - and what kind of a border you wanted on the box.
Life was good - except for three things.
- The browser vendors were even more extreme with their lack of adherence to the CSS standard than the HTML standard. Small wonder, CSS made things really complicated for them to implement.
- Also, the prople creating the web pages did not bother to learn CSS as quickly as they should - perhaps in part because they were leaning heavily on the WYSIWYG page editors like DreamWeaver at this point - and it was not too savvy with CSS.
- Finally, there were mistakes galore in web pages: syntax/grammar errors in the computer language itself were rife in web pages used out oon the web - and cowering behind the walls of the IT sanctum.
Jeffery Covers all of this history and much, much mnore in rich detail. In fact, it is not only described. He accompanies it with lavish illustrations of how CSS is supposed to work, how one major vendor got it wrong
as they say, and how the look of web pages has evolved - in a large part because of CSS.
The introduction, adoption, and fairly correct impelementation of CSS by most vendors is probably the most crucial factor in the great appearance and economical production of web pages today.
Programmers can certainly learn how to write CSS - it is simply another computer language. In fact, they had certainly better do that because they will find themselves generating a lot of HTML in their programs that will be controlled by theirs - or someone else's CSS. So knowing both languages is important.
This book can help make you an expert. Not just in terms of ivory tower knowledge, but in practical - what is now called pragmantic
- terms.
I think this book is for developers and web designers who already know a little CSS, a little HTML, and perhaps have dipped from the well of XHTML a bit. People who know, yeah, there is a difference between how certain pages look in MS-IE, Mozilla Firefox, Apple Safari, KDE Konqueror, and Opera.
This book will get you on track to writing pages that do not look different in the different web browsers.
You probably have done enough with web pages to have encountered some problems. You already know, sort of, where those problems are coming from.
Jeffery tells you precisely where those problems are coming from and just what they are. He shows you how to avoid and/or address them. He teaches you why things are the way they are today, and where they are going.
He even shows you what the state of things was as recently as about 4 months ago.
This book was just published last month (July 2006) and it has really jumped the gun with a jaw-dropping 2007 copyright date. However, this is a book that will be extremely relevant in 2007 - as designers, programmers, testers, vendors, and users scramble to get their IE 5.x/6.0 web pages to look right in IE 7.0. Or as they will think of it, Longhorn Vista
.
A ton of companies and individuals have already switched to Firefox. Both Microsoft and Mozilla agree that there are many parts of the W3 standards for CSS that MS IE 7.0 will not support. In fact, from the beginning of the IE 7.0 standard they never committed to fully catch up.
However, those CSS things work fine in Firefox. So some people and companies saw no need to wait for IE to get fixed. They have obviously been jumping ship in great numbers. Firefox, at last count, has about ten percent of the user base on the web.
If you look at developers/designers visiting sites that teach you how to design pages for the web - the statistics are even more compelling. About half of them are using Firefox. Since they are the ones actually creating the pages today that many people will use next month or next quarter - that tells you which way the wind is blowing. They are the wind.
Whichever direction your users are strolling, this book will help you create pages that look good to them, are easy for you to create and maintain, and everyone is happy with..
Ultimately, that is what it is all about.
I heartily recommend this book!