Monday, March 16, 2009

The Web Is Not A Visual Medium

See The Web Is Not A Visual Medium at its new home on

A claim you may have heard me make before is that the web is not a visual medium. Some of you know exactly what I mean and some of you probably think I'm nuts. For those of you who think I'm crazy, let me elaborate. You, like most people, probably experience the web visually. However, this visual aspect is only one facet of the web. Underneath the visual aspect you will find that the web is a structured, or semantic, medium. This means that people (or even machines) of varying capabilities (as opposed to disabilities), using all sorts of user agents (a fancy way of saying web browsers) can experience this same web non-visually. If built correctly, the same web page should be accessible to you visually as well as to visually impaired people, search engine robots, people that want to use text only web browsers, people using older versions of web browsers (backward compatibility), people using mobile devices, and user agents that weren't even invented yet when the web page was first built (forward compatibility).

There's one catch. There are many web sites and web applications built on the incorrect assumption that the web is a visual medium. The web designers and web developers who build these web sites and web applications break the web. In order to not break the web, web designers and web developers need to use open standards starting with plain old semantic (X)HTML. This semantic (X)HTML can then be progressively enriched/enhanced using CSS (for presentation) and JavaScript (for behavior). This approach works well with the concept of One Web which "means making, as far as is reasonable, the same information and services available to users irrespective of the device they are using."

Craig Cook has a good article about How to Grok Web Standards in which he addresses many of these ideas and more. If you still think I'm crazy, hopefully it's not because you think I'm wrong about the web not being a visual medium. If you don't think I'm crazy then maybe in another blog post I'll talk about why I think that content management systems (CMSs) in general, and WYSIWYG editors specifically, break the web.


matt.eagar said...

Hi Bradley,

I hear what you're saying - there is a lot on the Internet that works better when we structure our data in a meaningful way (i.e., semantically). However, isn't the problem that Tim Berners-Lee originally created the web as a visual medium? In other words, HTML exists not to structure data so that computers can understand it (semantically), but to present data to people (visually).

As I see it, web pages started out life as pure presentation layer (therefore visual), but we have piggy-backed on things like meta-data for search. While we can do much more with the web when we structure it well, it wasn't originally intended to work this way, and that's why we have problems - because what we have is a hybrid model.

Now, there are two approaches to solving this problem. One is to introduce a new model for the web - one that provides both a data model (for machines to read) and a view (for people to read). (We already have controllers - web browsers.) This approach is the one the "semantic web" proponents are working on.

Personally, I think this approach is doomed to failure, right along IPv6 and a whole host of "better" techologies. The problem is that every day that it takes to develop these new approaches is a day that the old standards become more entrenched - and frankly, better able to accomplish the same results. From this perspective, I think you are correct. We do need to move more toward intelligent structuring of data such the presentation logic is separated out. But the transition is going to be painful, because the original design didn't take this thinking into account.

bradley-holt said...

@matt.eagar Thanks for your comments! Tim Berners-Lee's original vision of the web was as a semantic, not visual, medium. There are several pieces of evidence that point to this conclusion. His original proposal for the WWW talks about the web as a "linked information system" and never addresses the visual representation of this information. The original HTML specification was an application of SGML which was originally designed to facilitate machine readable documents. It's true that the original specification for HTML did not strictly separate structure and presentation but it was really later iterations of the HTML specification where you'll see structure and presentation mixed up together. This injection of visual elements into the HTML specification was mainly as a result of pressure from GUI web browsers like Netscape. The HTML 4.0 specification deprecated most of these visual elements in favor of style sheets. My guess is that if Tim Berners-Lee had predicted how important the visual rendering of web pages would become to people he would have taken a more firm stand on the separation of structure and presentation in the initial specifications in hopes of more quickly finding the compromise that eventually was developed (CSS).

I agree with you that the Semantic Web (as defined by the W3C) is fighting an uphill battle (but not necessarily doomed to failure). That's why I'm a big advocate of a more iterative approach towards the semantic web (lower-case). Specifically, I'm very interested in Microformats for several reasons. First, Microformats start by encouraging best practices that web designers and web developers should already be following (plain old semantic HTML) and then add more semantic data from there. Second, Microformats are designed primarily for humans and secondarily for machines (no invisible metadata). Third, Microformats are based on existing open standards (the "pave the cowpaths approach"). Sure, the scope for Microformats is much smaller than the W3C's Semantic Web (e.g. it's not an extensible vocabulary) but this less ambitious scope is probably a good thing. I think the W3C's Semantic Web will eventually succeed but I think that other, simpler, semantic web technologies (like Microformats) will become successful first.