In Between
by Dave Lowe

The Role of Education in Web Development

0 comments

Posted: Apr 29, 2006

Tags:

One of the trickier components of a web project is handing off the maintenance to the client. With Blue Rocket, we actually (fortunately) haven't had to worry about that too much—usually our clients have opted to hire us a few hours each month to do that job for them. In the university environment and most freelance projects, however, this is a very critical moment in the lifespan of the newly created page/section/site.

Early on in my university career, I realized the need for the staff most involved with an area (say, admissions or athletics) to have the ability to update their pages without having to open a job with some department, wait a week and a day, and then find out something was misspelled. Vainly I thought I could create, single-handedly no less, a sort of content management system to manage all the information that followed some sort of a pattern (which, on our site, was quite a bit). It didn't help that the university uses ColdFusion for its server-side language, so all the open-source resources didn't do much good.

Years later I realized that while there can be a legitimate need for a CMS or smaller content management modules, there is a greater need to craft each individual page by examining the content therein and defining it through semantic XHTML markup. And it's here that the line blurs between the role of the web designer/developer and the staff member/client whose job it will be to edit the content and add new information as needed.

On the one hand you have the web professional who (ideally) stays up on the latest ideas and thoughts in semantic markup through reading blogs and sites like "A List Apart":http://www.alistapart.com and "Vitamin":http://www.thinkvitamin.com. On the other, a professional in some other field who probably doesn't know the first thing about markup.

So what do you do? As the professional you have a responsibility to the client to equip them with the necessary tools to use the product you're delivering. As a standards and accessibility advocate you are (right?), you also have an interest in seeing that the site continues to be compliant.

One argument would be that a CMS is the only practical solution. That certainly addresses, and often solves, the first concern. But what about the second? How well does the CMS define the content? Well, it certainly varies depending on what CMS you're talking about, be it something like "Drupal":http://drupal.org, "WordPress":http://wordpress.org, "TextPattern":http://textpattern.com, or a home-spun solution.

Recently I've opted for a different approach: I (attempt to) teach the client how to write XHTML. The tags they'll use on a daily basis aren't really that numerous and while it is different from anything they're used to, so would learning all the ins and outs of a CMS. And knowing XHTML might well be beneficial in their personal life and can be added to their resume. So why not teach XHTML?

The more I think about it, the more it makes sense to me. Right now most people know how to use Word to write papers. At some point they had to learn how to use the program, how to add footnotes, endnotes, style a bibliography, etc. In the workplace there's usually another program or two that they need to master in order to do their jobs well. Why, then, should we view the web any differently? Isn't it important that the content be defined well? So let's get the average Joe to understand the difference between an unordered list and a series of paragraphs.

The shortcomings to this approach? It doesn't necessarily take the place of a CMS. It might, but usually there's some information that's just very repetitious, maybe involves some type of media, and can be better handled through a specialized interface. You might also not have the luxury of time to devote to education. The beauty though of XHTML is the plethora of online resources, not to mention the standards community. Another is the process involved in opening a file, editing it and uploading it back to the server. Do you give access to every content editor? That's probably the most difficult issue.

It may sound impractical or overly optimistic to think anyone can learn how to write valid XHTML, but I tend to think that's more indicative of the web's youth than it is of the hurdles involved in learning something relatively simple like markup. Some call it code, but if you strip the markup down to just the unique content on a given page versus the next, you're looking at mostly content. Code is Javascript or PHP, not XHTML.

Maybe this approach won't see radical adoption and might even turn off more than it converts, but in the end I don't think there's a better way of ensuring the most important component to a web site—its content—is published properly.

A quick note on my experience so far with this approach: two notable cases are a grandmother and a man in his mid-twenties. Both seem to have taken well to markup. She primarily uses it for weekly emails, and last I spoke with her she was feeling very confident with it and was very appreciative in general of having learned it. He has bought a book on XHTML and CSS and seems to be enjoying the learning process. So far so good!

Recent Posts

  • Regarding a flaw or two in the comments system (and/or the site's messaging) and the response to my 'ColdFusion is Dead' entry.

  • The day I've been working towards for over a year has finally arrived: I have launched a complete redesign of my web site.

  • Regarding Adobe's announcement that they're adding a fresh layer of paint to their dying language.

  • A disturbing problem with my iMac, and discovering the beauty of a UPS.

  • Overcoming a particularly frustrating problem with TinyMCE and multiple domains/subdomains.

Comments

Comments are closed.

About

Photo of Dave Lowe In Between is the blog of Dave Lowe, a web designer and developer in the Orange County (Southern California) area.

Read more

Contact: email 'dave' at this domain.

Made with Django.

Hosted by WebFaction

XHTML 1.0 Strict, CSS.