Saturday 18 December 2004
THINKING OVER MY experiences at Web Design World 2004 in Boston last week, I’m compelled to write about some of the hot issues and areas of concern I see for the contemporary web designer.
First, it’s important to note that there was something different in the air at this event. The turnout was very good, which means companies and organizations are paying for education and training again – something we’ve not seen much of in the past few years as belts have tightened – if a company has kept its pants at all!
As a regular speaker at conferences, I could sense the shift in mood. People seemed more happy with their jobs, more secure in them, and genuinely interested in improving not just the bottom line but their knowledge and process, too. Add to that a small but very select group of speakers, and the show really was the best example of a general (rather than a specialty niche) web design conference I’ve seen in years.
That said, I did notice some issues that surprised me. While people were overall quite well aware of the idea of web standards and are concerned with best practices, many folks seem overwhelmed with misinformation or confusion about details. There are also concepts I suspect that web standards evangelists, in our zeal to spread the good word, have inaccurately introduced into the mainstream without clear enough follow-through.
Concerns with Terminology
Most of my colleagues will agree that I’m a nomenclature freak. If I don’t know the correct term for something, I usually dig until I find it. A natural interest for a writer, I suppose. But I’ve found an ongoing problem with terminology: People do not refer to syntax in proper terms, or they mix up corollary terms. This gets in the way of effective communication, which is always an essential part of good project management. Here are some of the common problems I ran into:
- structure versus semantics. In our efforts to promote “clean” HTML and XHTML, we often refer to structure, using it as a broad stroke to define logical markup. But structure relates specifically to structural elements in a document, whereas semantic markup refers to the meaning of an element in relation to its content. A
DOCTYPEdeclaration is structural, whereas using an
h1element to mark up the most important header on the page is semantic.
- elements and tags. This is one that continues to drive me batty because it seems we should know this already. An element refers to the whole potato: Tag(s) plus any contained content. A tag refers to the literal tags within the element. An important distinction! A tag is part of an element, but an element is not part of a tag.
- attributes and properties. This confusion certainly stems out of the fact that attributes, which are used to modify elements in HTML and XHTML, are a conceptual corollary to properties, which are used to modify selectors in CSS. They both serve a similar purpose, but the terminology is distinct. Just remember that in markup it’s attribute, in CSS it’s property.
- Dammit, it’s not an “alt tag”. I still can’t get over the fact we continue to say this! Talk about a pet peeve of mine. There is no such thing as an
altelement, no such thing as an
alttag. What we’ve got is an
altattribute. If you’ve just spent too many years saying “alt tag” and can’t seem to break the rhythm, try saying “alt text” instead. It’s simply more accurate.
Another area some messages are apparently unclear is within concepts. Here are a few that keep rearing their ugly heads:
- Tables are evil. The message we’ve been working to express isn’t that tables are out and out bad, yet this is the message that some people are walking away with. The message we want to send is that table-based layouts are problematic – the biggest hack in HTML history – and we want to get away from them as a layout tool. But tables themselves are extremely useful for marking up tabular data appropriately, and the two issues are quite separate. Yet, the idea that tables are just plain wrong seems to be a common thought among many designers who, in most cases, feel like bad web designers when they use them for any reason at all.
- Separation rather than integration. The idea is to keep presentation and structural components on separate layers, with CSS handling presentation, and HTML or XHTML providing the structure and semantically marked up content. We needed to talk in terms of separation in order to get the idea across, but now that we’re actually building sites from the ground-up with CSS, it becomes quite clear that the two aren’t separated at all, rather, they are integrated. Of course, I’m taking a line from Ethan here and pimpin’ my own Kool-Aid, because this was the thesis of our “The Marriage of Presentation and Structure” session. Check it out (with audio or just the slides) to get a better idea of what we’re really pimpin’ in this case.
- CSS: Still not ready for prime time. This is the scariest concern of all! I continue to meet people who, after attending presentation upon presentation about using CSS effectively even in transitional design situations, still believe that CSS is not a currently viable technology. Where is this misinformation coming from, and how can we effectively address it? I’m really unsure, but it might have something to do with the next misconception . . .
- IE is all bad. While I’d like everyone to be using a contemporary browser with rich support for CSS, I’d also like the world to sing in perfect harmony. I actually had someone ask me if the reason CSS was so difficult to work with was because it was unsupported in IE 6.0! And, I hear time and again that people think web standards evangelists at large hate IE. While that might be somewhat true, it’s not that we’re saying you can’t use CSS because of problems in IE. Rather, we’re pointing out real facts: IE 6.0 is an outdated browser with incomplete support in areas that matter when you’re trying to author truly sophisticated, contemporary CSS. I have to stick up for IE here and say that while today’s design needs would be greatly enhanced if the browser supported what we’d like it to support, the fact is a well-informed web designer will understand HTML, XHTML, CSS and browser support issues well enough to work in a way that taps into the power of CSS even if the enhancements aren’t possible in IE.
If my last passage sounded a bit harsh, that’s because the reality is that a working web designer in today’s market needs that much information. Professional web design and development is not easy! We all know this, and we also know the learning curve is not only steep, but constant. Here are some areas with approach that are challenging folks:
- People still think in tables. Unless you’re among the fortunate (and growing) group of web designers that have never had to build a web site using tables, it seems that it’s been very difficult for all of us to begin thinking outside of them. Having worked with tables for layout for the majority of my web career, it’s proving to be quite difficult to get past thinking in such restrictive terms. I’m wondering what ideas other folks might have in terms of breaking out of the tabular approach from a mental standpoint. There’s no doubt that when we get past this barrier, and are armed with a fair amount of CSS knowledge, that we can do much more progressive work. I got a real insider’s look at this working on Dave Shea’s and my upcoming book The Zen of CSS Design, because digging through some of the CSS Zen Garden’s most compelling designs really challenged me to look at things in new ways. Maybe this is the sort of exercise we all need – if not to actually create designs for submission – to at least try and reconstruct seemingly complex designs. It really does help. Other ideas, cough ’em up. I’m sure we can all be enriched by them.
- Continued over-reliance on visual editors. That Dreamweaver and other visual editors can make web design a far easier task on many, many levels is undeniable. However, I’m gonna kick it old school here and maintain a thought I’ve had for years: Without an understanding of the languages with which you work – HTML, XHTML and CSS in this context – you are at a disadvantage and probably missing very important nuances by relying on your software to spit out the code for you. You will do much better having a strong understanding of both the languages and the software with which you work. This way, you are doing the thinking, the decision-making, and not the tool. Don’t let your software think for you – trust me on this one. No software product is strong enough yet to replace solid education in the languages themselves.
- Everyone must have a CMS. The hottest topic these days is about content management and choosing a CMS. What astonished me (but probably shouldn’t have) was how many people think they need a CMS when what they really need is better information architecture, improved editorial workflow, and savvy document management. This is not to say that a good CMS isn’t critical for certain operations, but I am going Jeff Veen’s way when it comes to content management, and that’s that a CMS will likely fail if a good overall strategy is not yet in place. What’s more, with a defined strategy, it either becomes clear that a full-strength CMS might not be necessary at all, or only aspects of a CMS are necessary (such as good source control). Or, you make life easier and less expensive by selecting a CMS that truly meets your strategic requirements. The message here? Don’t believe the hype! Examine your situation because it’s unique, and make decisions carefully before thinking that a CMS will magically solve your problems. Chances are it will quite un-magically add more problems to the mix.
Blogs are Big
One thing that was very encouraging was how many people are interested in blogs and blog software for both personal and professional applications. This is good news for the rising industry of blogs in business (and good news for related conferences, too, such as the upcoming Blog Business Summit). But people have concerns, and very realistic ones at that. Some of the issues touched on included copyright and potential misuse of regularly published content; privacy and safety concerns for those publishing personal blogs; and the growing scourge of comment spam. But overall, blogs are happening, and that’s awesome to this long-time blogger’s way of thinking.
I just want to be sure my message here is not coming across as a critical one. I’m mostly reflecting on issues that seem to be problematic or challenging in our field, and looking for your insights into how to achieve a better understanding of the terms and concepts we use to discuss and define our work.
There are flaws here, most of them have nothing to do with us as people – after all very few folks have learned how to be web designers because they received formal training in the science and art of the profession. Our jobs and the technologies that define them are complex, and their application is becoming increasingly so. We are challenged to learn constantly, to stretch our abilities and our imaginations in unique ways. In order to be effective, it becomes more and more important for us to find common language, clear up misconceptions, hone in on the nuances that matter, and help each other toward a better, brighter future.