Slashdot Mirror


Web Designer's Reference

jsuda (John Suda) writes "It seems as if everyone and his brother is writing books supporting standards-compliant Web design with XHTML and CSS. I have read and reviewed a half dozen this year alone. People are obviously trying to tell us something - plain HTML has to go! Web Designers' Reference: An Integrated Approach to Web Design with XHTML and CSS, by Craig Grannell, is the latest of these pronouncements." Read on for the rest of Suda's review. Web Designers' Reference: An Integrated Approach to Web Design with XHTML and CSS author Graig Grannell pages 389 publisher Friends of ED rating 8 reviewer jsuda ISBN 1590594304 summary Comprehensive guide to standards-compliant web design

The reasons are clear and compelling: The World Wide Web Consortium, which promulgates Web design standards, has decreed HTML as obsolete. Newer, more compliant browsers, will in time not support the older tags and code; the new standards facilitate much better use by the disabled of screen readers and non-graphic browsers. Not least, the newer code makes writing and revising code easier and more efficient, as well as more capable.

These are certainly good reasons for Web designers to move to the new code. Nevertheless, surveys show that most Web pages are not compliant and that thousands of designers continue to use deprecated code. I confess that I am one of them -- after a number of years learning and getting used to HTML, the need to learn new and more code is onerous. The inertia of habit is a factor, I'm sure.

For those Web designers like me, Mr. Grannell's book is a welcome addition to the literature because it systematically deals with the topics under discussion. In its coverage of XHTML, CSS, Javascript, and complementary coding (like PHP), it provides a nice framework guiding "old dogs" like me into standards-compliant code. Not only does it provide some historical perspectives on these codes, it compares the old with the new in regard to all of the important elements of Web design.

The author is an experienced Web designer and operates a design and writing agency. He also writes articles for a number of computer magazines.

Grannell's goals are to teach cutting-edge, efficient coding, and how to master standards-compliant XHTML 1.0 and CSS 2.1. There are a dozen chapters. He breaks down the elements of Web design into modular components so that one can focus on each element separately, like page structure, content structure, layout, navigation, text control, user feedback, and multimedia. Relevant technologies are explained in context of producing a typical Website.

If one finally decides to move forward, as many suggest, this is a very good volume by which to get your start. For new designers, this is a nice primer to learn what is expected, in an overall sense, of good, advanced Web design.

This is a well-produced book with clear writing, comprehensive approach, dozens of practical examples, and downloadable files with the code examples used in the book. The author writes in a logical sequence much like an engineer would. It is a heavy textbook-like read, only lightly sprinkled with style and personality. It should appeal primarily to novice designers, but has enough advanced information to satisfy an experienced designer who is looking for that fresh start.

And in fact, the structure of the book facilitates the "fresh-start" idea. It starts with a Web design overview, giving an experienced user's tips on what software to use to write code, what browsers to design for, how to build pages from the very top to the bottom. (XHTML, unlike HTML, requires a preliminary document-type definition (DTD) to validate. Only after the introductory section does the first HTML tag appear.)

Like others writing in this area, Grannell firmly advocates designing for standards compliance, usability, accessibility, and last and least, visual design. Marketing Department people may choke on that priority list, but there is no inherent conflict between function and aesthetics; Grannell simply does not spend a lot of time on the aesthetics.

The middle chapters concentrate on modular construction of pages -- the XHTML introduction, the structural elements like text blocks and images, the logical structure of the links and navigation flow, and finally, the stylizing with CSS. Comparisons between pages styled with HTML vs. CSS compellingly demonstrate the benefits and advantages of CSS. There will be no going back once you've decided to upgrade your technical approach.

Basic CSS concepts are explained and illustrated with code samples and screenshots. Grannell describes how to use CSS for text control, navigation, and layouts. There is a broad section on frames and another on forms and interactive components.

The last chapter covers testing and tweaking including how to create a 7-item browser test suite. Strategies overcoming browser quirks are discussed throughout the book. There is detailed technical information, especially in regard to the XHTML introductory section of the page, which I have not seen elsewhere.

There are three welcome reference appendices at the end covering XHTML tags and attributes, Web color coding, and a very comprehensive entities chart noting currencies, European characters, math symbols and more.

Much of this material is covered elsewhere in the growing set of publications about standards-compliant code. This book has the virtue of having a useful overall perspective on Web design and acts as a framework for new designers and converting designers to renew and upgrade their technical approaches.

You can purchase Web Designers' Reference: An Integrated Approach to Web Design with XHTML and CSS from bn.com. Slashdot welcomes readers' book reviews -- to see your own review here, read the book review guidelines, then visit the submission page.

32 of 416 comments (clear)

  1. How to Suck in 21 days! by stratjakt · · Score: 1, Insightful

    Look around the web, and see all the complicated PHP scripts and ASP pages serving as frontends to database of choice, to serve up what's essentially static information.

    Plain HTML is quite often the most efficient solution, to produce, host and maintain.

    All aboard the hype train! We'll fill the dotcom bubble back up, one asshat at a time!

    --
    I don't need no instructions to know how to rock!!!!
    1. Re:How to Suck in 21 days! by Flutty · · Score: 4, Insightful


      Just a comment as someone who is a "content manager" ie the poor person who has to put the words onto the web designers pages.

      Using a database to feed a web site makes things so much easier. Global updates, automatic sorting and reusable elements in other parts of the web. Just because something does not make sense to a coder does not meant it is useless to mere mortals.

      >>> all the complicated PHP scripts and ASP pages serving as frontends to database of choice, to serve up what's essentially static information.

    2. Re:How to Suck in 21 days! by Slack3r78 · · Score: 4, Insightful
      For years practitioners used the Web and its language, HTML, as a free format and layout platform for forms and documents (often as paint for software applications).


      Are you forgetting the NS4/IE incompatibilities and proprietary tags that plague the web to this day?

      The fact is, when W3C came along, the web was seriously broken. Those of us that are so outspoken on standards are generally those that have been on the web long enough to remember how broken it was when non-standard HTML ruled the day.
    3. Re:How to Suck in 21 days! by StabbyTHings · · Score: 4, Insightful

      Now people will argue that a server is not scalable either, but you can always have 5000 servers serving up that same static data. You really can't expect 5000 servers to access a single database and expect the database to survive.

      Of course other people may argue that the solution would be to take those 5000 servers and divide them up: run a database service across a few hundred of them, have a few thousand web servers that do the real request processing and then let the rest of the machines be web-facing machines that cache the results for a few seconds to decrease load on the real webservers.

      --
      UK Webhosting http://xeriom.net
  2. Web standards!!?? by bogaboga · · Score: 3, Insightful
    I was supprised when my post http://slashdot.org/comments.pl?sid=149370&cid=125 24267 was replied by one slashdotter to the effect that no browser today has 100% W3C compatible implementations. Why is this the case? In authoring the post, I was of the impression that Firefox is 100% compliant.

    This begs the question: "Whose implementation does this book emphasize/teach?"

    1. Re:Web standards!!?? by nine-times · · Score: 3, Insightful
      Well, I think for the most part it's not intentional. You know, there are occasional rendering bugs-- not the sort of thing you see on most pages. Usually it's in aspects of the standards that aren't used that often, and so they just tend to go unnoticed by users, and they aren't a big priority for the developers.

      Sometimes the standards are just vague enough that cases pop up where it's not clear what the rendering engine is supposed to do, or the standards don't cover every possible case, so each browser might handle those cases a little differently.

      So, I guess the thing to remember is that the W3C sets down what each tag should do and how, but then the people making the browsers have to actually come up with a system that takes those tags and does those thing with them. It's just not as easy as plugging in the W3C standards and you have a web browser.

    2. Re:Web standards!!?? by Carewolf · · Score: 2, Insightful

      No it is not. Firefix has about 90% of CSS 2.1 and XHTML implemented and they have saved the hard parts for last. It seems Gecko is not very easy to extend with new basic functionality. Just look at how much trouble implementing "display: inline-block" have caused.

      Both Opera and Konqueror have implemented a lot more.

  3. Elaboration? by Capt'n+Hector · · Score: 5, Insightful
    Strategies overcoming browser quirks are discussed throughout the book.

    For ANY web designer who has at least some experience with html/css, this is the single most difficult aspect of web design. That is, getting the page to work in all the popular browsers takes the most time and really has no logic to it. What I would like to see is a book that skips all the fluff that we've seen before and goes straight to browser bugs. If they can be avoided in the first pass at making a web site it makes perfecting the final presentation all that much easier.

    --
    Quid festinatio swallonis est aetherfuga inonusti?
    Africus aut Europaeus?
    1. Re:Elaboration? by DrEldarion · · Score: 4, Insightful

      If they can be avoided in the first pass at making a web site it makes perfecting the final presentation all that much easier.

      Which is funny, because the easiest way to make everything show up perfectly is to use plain HTML, which goes directly against the purpose of the book.

  4. Baby + Bathwater by 99BottlesOfBeerInMyF · · Score: 5, Insightful

    Newer, more compliant browsers, will in time not support the older tags and code;

    Yeah that's a great idea. Lets just stop supporting a simple markup and make it impossible to view all the legacy HTML in existence. While we're at it let's force everyone to change to a newer, more complicated standard, even if they have no need for it.

    Now I'm all for using CSS and XHTML, but that is because it makes things easier to maintain for me. Calling for browsers to stop supporting HTML, however, is taking it about three steps too far.

    1. Re:Baby + Bathwater by Fractal+Dice · · Score: 2, Insightful
      Calling for browsers to stop supporting HTML, however, is taking it about three steps too far.

      I agree. Document standards need to be thinking about archival timeframes. I don't write web sites that change every day, I write things once and plan to pass them down to the next generation. I want to be able to go back 40 years from now to a family website and still be able to access it. That's far, far more important to me than any wiz-bang formating fad.

      ( then again, I guess HTML is the fad I embraced in moving away from plaintext. *sigh* )

  5. ...so why aint people doing it? by wastaz · · Score: 3, Insightful
    It seems as if everyone and his brother is writing books supporting standards-compliant Web design with XHTML and CSS.

    So if that is the case, then why the heck doesn't more people do it? I mean, if we assume that people learn to code webpages from books, why do they buy the old shitty books and code their pages with godawful font-tags and something that closely resembles MS-Word-HTML?

    With that said, XHTML and CSS is love.

  6. Web standards are stupid. by Anonymous Coward · · Score: 4, Insightful

    If the developers of Netscape Navigator had this fanatical devotion to the W3C that seems to be popular lately, we wouldn't have tables, scripts, or any kind of styles (neither nor CSS). None of that was in the standard (HTML 2.0) at the time.

  7. That's great if your site is only visited by geeks by sharkb8 · · Score: 2, Insightful

    Grannell firmly advocates designing for standards compliance, usability, accessibility, and last and least, visual design.

    If people keep using HTML, browers will continue to support it. Designing for standards compliance is great, but a crappy website that loads on any standards compiant browser is a lot less useful than a beautiful, usable website that loads on the major brosers like Firefox, IE, Opera and Safari.

    Ever heard someone complain about an ugly website that's hard to navigate? we've all done it.

    Ever heard anyone complain that standard HTML didn't look the same on all broswers? Not too often I bet.

    And standards compliance is great, but with 1) IE having a 90% market share, and 2) IE not being standards compliant, doesn't that mean that most internet users aren't using a standards compliant browser?

  8. plain HTML has to go ! by cablepokerface · · Score: 5, Insightful

    And why is that? So people can screen scrap easier because you're content is xml parsable?

    I lived by those rules not long ago; tableless design, css driven, no client side javascript events in the html (but put there by an initialization function), classnames never revealing structure information, separating structure classes with lay-out classes in different css, xhtml 1.1, etc.

    Where did it get me? Not sure but sticking to all those rules sure costed me much more time then needed. And what for, because browers require that a page validates in a few years? Forget it, not in a decade, not in two.

    Advice, stick to clean html that makes sense, think of your customers, think of your bandwith and don't let that w3c run your web development.

    1. Re:plain HTML has to go ! by TLLOTS · · Score: 2, Insightful

      The parent doesn't have a clue what they're talking about. Saying that using tables for layout and HTML 4.01 is the only way to make web sites look good on all browsers is complete bull. Anyone who actually knows how to use CSS properly will see how simply it is to create a nice layout, and it's not all that hard to make it work on all browsers.

    2. Re:plain HTML has to go ! by LordLucless · · Score: 3, Insightful

      I use tables to present tabular data too. But I also use tables to layout my site when the only alternative is horrific CSS kludges.

      Example: try vertically aligning elements using CSS. The vertical-align tag is only valid in something rendered as a table cell. Firefox allows display: table-cell;, IE doesn't.

      If you want something vertically aligned, don't use CSS. Use a table. I would *love* to stop using tables for anything but tabulated content, but CSS Positioning requires far too many awful hacks when you start talking complicated designs. Tables are simple and well-supported by most mainstream browsers.

      This was just one example; there are others. Try creating a footer at the bottom of your page. (bottom: 0px; does not work on all browsers reliably).

      I *like* the concept of CSS. But it's just not all together yet.

      --
      Just because you're paranoid doesn't mean there isn't an invisible demon about to eat your face
  9. Old? by HRbnjR · · Score: 3, Insightful
    it provides a nice framework guiding "old dogs" like me into standards-compliant code.


    XHTML 1.0 became a W3C Recommendation on 26 January 2000, meaning it has been around almost as long now as HTML was when it came out! (Well, at least, almost as long as HTML had been in popular use when XHTML came out).

    The only excuse for not using XHTML today is laziness and ineducation on the part of designers and those educating them. The same reasons most web sites don't validate as proper HTML. Sadly, "just good enough" is the rule of the day.
    1. Re:Old? by Anonymous Coward · · Score: 1, Insightful

      I fail to see what the big deal about xhtml is. And I fail to see how the parent post is in any way insightful.

      I've never bothered learning it, because I've never been given a reason to ditch HTML4.01 Strict + CSS.

      It validates, it's simple, and 98% of the time I don't have to modify the original CSS markup for it look and act the same in IE as it does in Moz, Opera and Konq, which makes my lfe easier, and gives me time to do other things.

      No, laziness isn't why people still use HTML, convenience and practicality are. Not to mention that not everyone needs, nor wants what xhtml has to offer. Really, who gives a shit what markup you're using as long as it conforms to the standards ?

  10. There is a lot to that. by jd · · Score: 5, Insightful
    It is stupid to re-create, on the fly, essentially identical information that probably won't look right on many browsers anyway. It would make more sense to put that time and effort into getting the page to work well than in getting it to use the latest technology.


    Having said that, using PHP and other dynamic mechanisms to "code around" browser bugs, by implanting "patched" tags or using alternative mechanisms where something is seriously broken, is definitely the most practical solution.


    You can use Apache SSI's to detect the browser and then #include the appropriate page, but that is extremely expensive on maintenance. It is much more practical to embed markers wherever you might need to deviate from the "correct" HTML and simply use a script to search & replace.


    For those pages that genuinely do have dynamic content, you can have a background engine generate static pages every so often, which you then serve, avoiding a continuous rebuild. However, you run the risk of race conditions, where you try to serve a page that is part-way through a rebuild. The result will be the display of a broken page, which is definitely a Bad Idea.


    Really, the "correct" design is to use a mix of approaches. Use static methods for static content, use dynamic methods for dynamic content, use pre-built pages where downloads are more frequent than updates. Hammers are great for nails, but you wouldn't use them in place of a saw or a screwdriver.

    --
    It's a small world and it smells funny; I'd buy another if it wasn't for the money; Take back what I paid (SoM)
  11. Re:XHTML is a bad solution by HRbnjR · · Score: 2, Insightful

    Namespaces!

    The proliferation of XML allows everyone to create tag sets to meet their needs - from Scalable Vector Graphics to Chemistry Markup Language.

    With this evolution, the browser becomes more of a host for a set of plugins glued together through XHTML.

    XHTML, being a dialect of XML, allows you to create compound documents combining elements from multiple XML namespaces into a single document.

  12. Re:XHTML is a bad solution by Enrico+Pulatzo · · Score: 4, Insightful

    XHTML doesn't force you to do anything. I can make a page that passes a validator that's 8 nested tables deep that happily passed the w3c validator. There's absolutely no forcing there.

    The only thing that XHTML forces you to do is stop using the font tag. That's pretty much it. Everything XHTML can do HTML 4 does and does it better (cuz existing UAs grok its mimetype).

    The real promise of XHTML is the same as XML: being able to mix and match namespaces into a super-document. However, no user agents (except for some special builds of Mozilla) really accept embedded XML dialects (for an example, see SVG+XHTML on Mozilla's SVG site). This is changing in Firefox 1.1, but it won't have any real effect on the marketplace until the majority of user agents support it.

    Short version: XHTML disables the use of the FONT tag and some attributes that should be done in CSS anyway.

  13. Re:XHTML is a bad solution by bomb_number_20 · · Score: 2, Insightful

    I think it's a little bigger than that. XHTML was never intended to be the answer, but rather an intermediate step.

    Since you asked, here's a reason off the top of my head: As an XML application, XHTML requires you to have a well-formed document. That's good for me because later on, i can work with it.

    If I need a PDF of a 4 year old document that is written in half-assed, abused, non well-formed HTML It's going to be very difficult for me to parse it into something useful.

    Here's another reason: try maintaining bad html over the long haul. Overlapping tags can be a real pain.

    --
    That's ok, Jesus likes me anyway.
  14. Posting on eBay by Newt-dog · · Score: 3, Insightful
    Try posting a custom layout on eBay with a few whistles and buzzers -- your layout will suck.

    I did a page layout on eBay for an older retired friend who makes wooden toys. I used the normal .css file and div tags -- it looked like crap and was unusable. I had to go back to the drawing board and use tables! (Tables, nested in tables to get the same layout)

    Most of the internet might be ready for bleeding edge stuff, but don't toss away your plain 'ole vanilla flavored HTML just yet.

    Newt-dog

  15. They'll get my bold tag... by Cr0w+T.+Trollbot · · Score: 5, Insightful
    ...when they pry it out of my cold, dead mouse!

    That said:

    "Newer, more compliant browsers, will in time not support the older tags and code
    Garbage. The amount of code necessary to support basic HTML is so tiny amidst the vast beasts major broswers have become that there's no reason to dispense with it. And why use anything else when straight, primative HTML is still the most effective tool for conveying simple information?

    Crow T. Trollbot

  16. I learnt web design in 1996 by Anonymous Coward · · Score: 1, Insightful

    I learnt html4 and basic CSS as was current back then.

    Moving several client sites to xhtml strict in 2000 was totally painless. Let's face it. the majority of so-called web designers haven't got a clue about markup.

    More books like this please, the majority still need whacking around the head with them a few more times.

  17. Absurd. by Roadkills-R-Us · · Score: 2, Insightful

    There are plenty of other reasons.

    Like 90% of the pages out there don't need it.
    99.99% of mine don't. All I need is my trusty hammer and screwdriver, and you're trying to insist I use a fully automatic, 50 calibre nailgun and a 3HP power drill with screwdriver attachment.

  18. Re:XHTML is a bad solution by renderhead · · Score: 3, Insightful

    It all depends on what you mean by "readable". If all you want to do is read the text in your page, I suppose your HTML is more readable. However, as someone writing code, I would definitely prefer the XHTML because it clearly shows me where the beginning and end of each paragraph are. That's essential when you start applying style sheets, and it encourages cleaner code as well.

    The thing is, your example is really moot anyway when it comes to HTML vs. XHTML. Your second example is perfectly valid HTML (except for the closing slash on the image tag), and I was closing my paragraph tags for years before I'd even heard of XHTML because of the reasons I've already mentioned.

    --
    I wish that my inferiority complex were as good as yours.

    -RenderHead

  19. Re:W3C trying to make me PC *rolls eyes* by Anonymous Coward · · Score: 1, Insightful

    You're still thinking in terms of merged design and content.

    Maybe you don't have a need for flexible control over your design post-publication. But a lot of other people do, particularly media sites. Actually, keeping design and content separated is a good idea in general. The ultimate ideal would be to be able to have the content standardised sufficiently that you could syndicate content from one site to another in the original markup without having to worry about compatibility with stylesheets etc.

    Obviously that's not here now, XML+XSLT aside. But for people who generate a lot of text content having a "design engine" built into the end users browser saves a lot of time.

    How do you add your content and render the pages around it? Have you written custom code that automatically adds all your design markup into each served page? The idea behind CSS/XHTML is that the browser does that for you, you just define your rules in a single flexible document.

    As for the BR tag, that's just silly. The P tag is "lame"? What's lame about it? It defines a semantic meaning (begin and end a paragraph) that the BR tag ("start a new line now") doesn't have, while allowing basically the same things to be done.

    You just strike me as somebody who learned HTML a long time ago and hasn't been keeping up.

  20. Re:XHTML is a bad solution by Anonymous Coward · · Score: 1, Insightful

    You're talking about CSS, not XHTML. Both good old HTML and XHTML support it, and it is indeed a great way to separate design and content, but it has nothing to do with XHTML.

    Actually, the only advantage to XHTML is that you can apply XML transformations or use special features like MathML or embedded SVG. But if you don't plan on using them, you're just wasting your (valuable) time (and even slightly increasing the file size :-p), as browsers are very unlikely to drop support for HTML anyway...

  21. Re:Hehehe by Anonymous Coward · · Score: 1, Insightful

    or opera or elinks or konquerer or Netscape 4.x...

  22. HTML or XHTML? by Phantasmo · · Score: 3, Insightful

    XHTML is a good idea but have you noticed how verbose and complicated it's gotten?

    <?xml version="1.0" encoding="utf-8"?>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd ">
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-US" lang="en-US">
    <head profile="http://www.w3.org/2000/08/w3c-synd/#">

    versus:

    <html lang="en-US">
    <head>

    --

    The US Army: promoting democracy through unquestioned obedience