Web Standards Solutions
With the title Web Standard Solutions (which we will refer to as WSS from here on), you might expect this to be a book that is going to solve your problems, and without disappointment that is exactly what is does.
WSS takes a problem based approach instead of the commonly used project based approach to teaching you the value of designing to strict standards. I found this approach very refreshing, WSS kept my attention by presenting a problem, and then presenting 3-5 solutions on how to accomplish the task at hand. With each example Dan takes you through several ways to achieve the required result. Each of the methods shown are common patterns that different developers/designers would use, and the pros and cons of each are well articulated.
A lot of you may know Dan from his Simplebits. website. If you frequent Simplebits you will immediately recognize his style in the writing of WSS. Much like the mini quizzes that are used on his blog, this book is really a compilation of the hurdles that you are likely to face when trying to design to strict standards, and the solutions presented will get you over them.
WSS will also help the budding developer realize the business value of designing to standards. Once you start designing with standards, search engine rankings can jump, continued maintenance becomes a breeze, and the accessibility to screen readers (or other requirements) can be elegantly met.
One of my favorite parts of the book is the in-depth techniques used to style lists. WSS shows you how to take a regular non-formatted list and, using CSS, style it in several ways: as a vertical shopping list; without bullets and indenting; with custom bullets; and eventually as a horizontal navigation bar with changing bullets.
This book really stands out when covering the most basic foundations of layout such as paragraphs, lists, headers, titles and the like. The first half of the book really gets into the proper use of the most basic CSS techniques and proper selection of tags for headings, quotations, etc. While the second half of the book requires you to use what you have learned along the way to start building CSS based layouts.
If you are a regular at some of the advanced sites like CSS ZenGarden or A List Apart this book may be a little basic for you. Even still you will probably be able to take some techniques from it that you can use, this book is really more for the designer that is capable but not quite deadly with their CSS knowledge.
Overall I would give Web Standards Solutions the Markup and Style Handbook an 8.5 out of 10. I really think it does a fantastic job at keeping the reader interested in the subject (something that is often very hard to do in technical books) and will definitely be a great business tool for you. A quick read it is, but a valuable reference that has earned a spot next to my keyboard, my 3 bars of caffeinated soap, and the trusty case of bawls.
You can purchase Web Standards Solutions: The Markup and Style Handbook from bn.com. Slashdot welcomes readers' book reviews -- to see your own review here, read the book review guidelines, then visit the submission page.
A book review on HTML standards posted on Slashdot.
looks like his name is Vederholm instead of Cedarholm in the stats box on the review. Minor pebkac!
The book has a home page here where you can download a sample chapter.
Read Epic the first RPG novel.
I'll have to check that out, along with the sites you mentioned. I do a lot of web design myself, and I've found the W3C's site to be a pretty helpful reference for what I do, but I'm always interested in learning more from additional sources. Incidentally, another helpful tool when doing CSS is the EditCSS extension for Mozilla Firefox. It can save some time in trying to get everything looking just right.
"You're older than you've ever been, and now you're even older."
During development, you can easily setup PHP.XPath to automatically validate every page you create.
Simply turn on output buffering at the top of your script using ob_start(). It's best to do this in a common header script called by all your pages.
Then, in a common footer script, load the output buffer (retrieved as a string using ob_get_contents()) into an instance of PHP.XPath using the importFromString method.
If your page displays, it will at least be valid XML (most of the way towards being valid XHTML). If you break the well-formedness of your output your page will not display because PHP.XPath will raise an error.
FYI,
;)
Neither S in CSS stands for "Standard". What i mean but that is that do NOT expect CSS to give you a right once play on any browser with the same results.
CSS is great to reduce download speed of pages. To keep all the style in one place. To separate logic from data. But do not think writing a web site in CSS will solve all your browser compatibility problems.And don't fall under the influence of some elitist CSS religion.
The amount of hacks, even by the experts, required to even get close to modern browser compatibility is really hilarious. (ooops i mean painful.)
So get into CSS. Use all the great features in offers, but remember that its not magic bullet.
Yes, i'm sure there are some simple sites that can be pulled off with CSS and look pretty much the same but honestly, when you reduce your site to this level, they ALLL look alike:
-header graphic
-2 or 3 columns
-a sort of anasepctic feel to it.
In the mean time, stick with a combination of CSS AND minimal tables.
Don't believe it? FIne, its not my hair that you will pulling out
Becuase many times the standards do not tell you elegant solutions which people have used in the past.
Kinda like the difference between English class and Creative Writing classes
Ted Tschopp
Fantasy remains a human right; we make in our measure and in our derivative mode... -- JRR Tolkien
I picked up this book last week. I found it an excellent read and suitable for CSS users both novice and advanced. It gave me a couple ideas for ways to do these and further illustrated the necessity of web standards compliant design.
I also bought it because I met the author at the 2004 TOevolt Conference and he gave a great seminar and was a cool guy to boot.
It also spends some time on web accessibility, something all developers really need to start thinking about.
has now become my right hand man
Cool, are we all invited to the wedding?
The "Buy" link listed is at bn.com, but you can get it for cheaper at Amazon.
CSS/XHTML
as
hand-coded HTML
Imagine if the Internet had started out with today's newest XML standards back in the early 90s. Imagine that browsers were strict and accepted only standards-compliant code. To design a site you'd have to know strict XML and understand DOCTYPES and all that. The layout of your webpage would be strictly defined by CSS 2.0, which means you'd have to learn that too.
Would the Internet have flourished? Maybe. But I bet adoption would have been slower. It would have certainly put off alot of people trying to create a simple functioning webpage.
Heck, it might have caused some genius to invent a simpler alternative to XML/CSS
Wait -- and you think it is foolish to exclude the average schoolkid from coding large web projects?
Whenever people say that "anyone can learn HTML," I laugh. That's like saying that "anyone can use Photoshop" because anyone can hit ctrl-i to invert an image. Sure, anyone can learn what means, but can anyone create clean, efficient, browser-compatible code that is easy to maintain and intuitive for multiple developers to use? And create it quickly? That is where web standards come in.
Well, he is a web developer!
"Who are in control, they are not in control of anything - they don't even control themselves!" - Glen Beck
This is actually a problem browser development. As a browser developer you need to second guess every idiot out there and try to make sense of what they ment when they borked their HTML.
Way back in the day there was a battle between Netscape and Microsoft, and Microsoft decided to start supporting a more lax standard. This made it easier to develop to their standard becuase it wasn't as picky.
Your attitude of the webserver only serving up webpages to be viewed in a browser is quickly being replaced with a more service oriented model which says that you never know what the client browser is going to be. With this new model there is a renewed need for standards because not every cell phone or pda can be expected to interpert borked HTML correctly. Also this doesn't even take into account that the output from a webrowser that needs to be read by things other than other browsers.
The prime examle of this last case is search engines. Now granted broken HTML doesn't effect your placement alot, but broken output which doesn't follow a standard does affect another computer program and application which is expecting a certain format. I can't write a computer program if I'm not certain on the input, and I (and the company I work for) doesn't have the same resources that Micrsoft and Netscape had to deal with trying to read the other developers mind and second guess what he ment by his borked output. (ask anyone who has done work in the web application/web services fields on how annoying shifting standards can be)
Fantasy remains a human right; we make in our measure and in our derivative mode... -- JRR Tolkien
5. This is a design problem and can be fixed with an increase in skill from the developer.
4. Ummm, CSS files are downloaded once on the first time to the site and then kept locally for the rest of your visit to the site. This reduces bandwidth, and reduces loadtime. So yes, this happens the first time you hit the page, but not any other times.
3. No they want to depreciate broken HTML. There is nothing wrong with HTML which follows the standards. And CSS is simple, very simple.
2. Hardly anyone uses personal stylesheets. There are two reasons for that. No standards on class and ID namespace. Browser implementation of this is buried behind a ton of menus. No one knows about this as a feature.
1. Your problem is with the validation buttons, not the fact that the page is validated.
Fantasy remains a human right; we make in our measure and in our derivative mode... -- JRR Tolkien
Lists
Floats
Filtering
Type Issues
The articles on A List Apart create a static HTML mockup of the front page. However, there's more to Slashdot than the front page, and it's not just a matter of copying that mockup onto the site and having done with it. The Template Toolkit templates have to be rewritten to use the new code, and similar new markup and CSS must be written for things like comments, the comment form, the nutty little boxes and so on.
CowboyNeal has said repeatedly that if someone was to submit a complete, working template he'd consider making use of it. Also, more recently it was claimed that someone was working on one. The software that powers Slashdot is an open source project, and Template Toolkit is not specific to Slashdot and pretty well documented. If it really bothers you, scratch your own itch and submit a patch.
I didn't think this book was all that great. It wasn't terrible, but it didn't cover much that Designing with Web Standards by Jeffrey Zeldman didn't cover better. I would highly recommend Zeldman's book over this one. Zeldman's writing style is reads more quickly, and actually makes it fun to read. I'd give WSS a 5.5, and Zeldman's book a 10.
Software sucks. Open Source sucks less.
Reference:
Tutorial:
Should I be suprised that I see no the mention of CSS3, let alone CSS2(everything is just stated as "CSS"), anywhere on Slashdot, the book's synopsis, reviews, or even the author's own website?
For all I know, it just teaches you Microsoft's faulty CSS1 specification they used back during the release of Internet Explorer 3.0 back in 1996, exciting! What could be better worse than this? Lots of things, I'm sure, but even Cascading Style Sheets For Dummies mentions CSS3 which Opera and Firefox/Mozilla support.
Of course the most interesting way to learn the new standards is to practice coding and to look at how other folks have coded their sites. I think that what is interesting about XHTML/CSS is that there are several different ways one might go about coding a page to reveal the same layout. Its also interesting to see just how much you can manipulate what amounts to very simple HTML into something more complex and attractive.
The challenge, however, is to come up with a finished design that has the same visual polish as those you might have chopped up from Photoshop or some other graphics program. Not to say that it is impossible to have a graphics heavy design using new standards. Rather, I have found that in working with CSS encourages a bottom-up process in designing a page starting with your code, while earlier Web design methods follow a more top-down approach, starting from a design comp.
However, I think that the new standards also encourage a certain simplicity aesthetic. I think many Web folks are appreciating designs that aren't so clutered, that download and render really fast, and have built in accessibility and search engine performance advantages.