Netdiver magazine

/ What's new in design
digital culture

Web stars speak

/ Interview with Peter-Paul Koch

Peter Paul Koch, emeritus thinker, code geek and standards digger.

He is a freelance web developer in Amsterdam, the Netherlands. He writes and maintains the JavaScript Section (renamed QuirksMode) and is a moderator of the WDF and WDF-DOM mailing lists.

After studying Ancient History, specializing in the fall of the Roman Empire, and trying to get a job as a teacher, he switched careers by doing a course for "Internet Advisor". He never found out what an Internet Advisor is and he suspects no one else knows, either.

He's been building web sites since 1998. Most of this time he worked at Netlinq Framfab as Head of Client Side Programming. This gave him full scope to extend his HTML/CSS/JavaScript geekiness while being paid for it.

His specialty is JavaScript. He spends a lot of time researching obscure browser incompatibilities and describing them on his site. He hasn't published any JavaScript book, though not for lack of trying.

He's now trying to earn a living as a freelancer, requiring him to extend his knowledge of clients, contracts and financial matters, things he previously left to other people.

- - - - - - - - - - - - - - - - - - - -

/ How were you first introduced to the internet?

In 1988 my roommate took me to the faculty of Psychology, which was then one of the very few places in Amsterdam with an Internet connection. I had to type the magical spell "Telnet 194.xxx.xxx.xxx" and was instantly connected to the Mizar MUD, where we could kill dragons, build castles and talk with each other. It was kind of fun, but ultimately MUDding was not interesting enough for me. I drifted into classical antiquity when I discovered people cut off each other's head and talked and built castles then, too. I stayed well before 500 AD for the next eight years and forgot all about the Internet.

My roommate met his girlfriend through a MUD, though.

/ Do you remember your first impression of the internet?

Actually it didn't leave any impression at all. I hardly knew what was going on. My roommate explained that the "Telnet" stuff connected the computer to another computer that ran the MUD, but I took it for granted. I certainly didn't have an inkling that offshoots of the technology behind this connection would play such a major part in my life.

/ You are an *internet activist*, what exactly does it mean?

My activism is all about teaching people to think about the Web in a certain way. I feel that too many web designers and web developers want too much control. In my opinion, the Web is about uncertainty and surprises. You'll never know which new site you'll find.

On a more technical level, you'll never know whether the site you created will show up as you want it. In fact, it's quite unlikely that it does.

Don't try to control everything. Think fluidly, accept the fact that your site will never be exactly as you want it. My column on Digital Web Magazine gives some examples.

/ What was your initial profession?

I've worked part-time in my mother's art gallery for years, and got to know modern glass and ceramics art quite well. I also tried to become a teacher of History, but there were no jobs to be found.

Making websites was my first real profession in the sense that I got paid to do it and worked full-time.

/ Describe how your love for the web started?

To me, the Web is about communication and resources. When I went back online in 1997, I was pleasantly surprised by the amount of information that was already available. I was still heavily into my Ancient History studies and I even found that some obscure Latin sources were published on the Web.

Then it turned out that most of these sites weren't maintained. I decided that, if I ever put a site online, I'd maintain it properly.

But I loved the idea of being able to inform people instantly about interesting developments, as I do nowadays on my JavaScript Section. I mean, it's quite incredible that I can discover something one day, publish it worldwide the next day and get my first feedback, the day after.

/ You are a geek head. When did your love for code start?

My first coding experiments were in Commodore 64 Basic. I created a text adventure, but just when I was about to add the interesting stuff (interaction with other characters) the whole huge 64K memory was full. I also learned some valuable lessons about how not to write large programs.

As to my tireless research into browser behavior and bugs, I think it's more influenced by my academic studies than by love of code. An academic study is all about research, so I was used to doing that and to checking my conclusions again and again where possible.

I studied the Later Roman Empire, which is one of the least documented eras in European history. Sometimes the boring half of an inscription and one chronicle entry with a major grammatical error are all source material there is, for an entire country over a stretch of 20 years. So I was quite used to groping around in the dark, too.

When I started working with browsers and found little documentation, I groped around until I began to understand how they worked. Then it was just a matter of research, research, research. I'm more in love with the process of research than with the resulting code.

/ How did you first get involved with web standards?

In 1998, I became a member of some mailing lists. To my surprise, a few people on these lists advocated some very strange things. In those days the main question was: does one use the NAME attribute of the IMG tag? The most recent W3C spec, HTML 4.0, said one shouldn't. On the other hand, we needed this attribute to get mouseovers to work in Netscape 3, which back then held about 30% of the market.

I was very surprised that anyone would think of removing this very useful attribute and didn't see the slightest reason to change my coding habits. The people who advocated the standards were extremely convinced of their own righteousness and mercilessly flamed anyone not agreeing with them. I quickly recognized that they didn't actually have good arguments, they were laying down dogma's. "Thou shalt not question the standards!"

I don't like dogma's and I opposed the more silly consequences of the standards. I still do.

/ How do web standards relate to a designer's day-to-day activities?

Web standards are a tool, not an end in themselves. If the tool works, great. If it doesn't, look for another tool.

It all boils down to one question: do you want your site to validate or do you want it to work in all browsers? Sometimes you can't have both. I always choose maximum browser compatibility.

/ With the implosion of dotcoms ventures were there any impacts on web standards implementation?

I don't think so. Dotcoms were never noted for their standards support.

But this really touches on the "commercial case for web standards", which is based on the principle of "forward compatibility". The idea is to follow the web standards now so that future browsers will always continue to show your pages correctly. Thus your client doesn't have to spend extra money later on.

I don't believe in forward compatibility, for two reasons:

1) Backward compatibility is far more important than forward compatibility. Browsers will always continue to support the current HTML, standard or tag-soup. There are millions of pages written in tag soup style. Browsers must continue to show these pages correctly, or the users of these browsers can't access their favorite sites anymore and will eventually download another browser, which is bad for business. So even if you code tag soup (which I don't recommend at all, by the way) your pages will always be accepted by future browsers. I call this the "principle of browser conservatism".

2) Forward compatibility makes invalid assumptions about future browsers. The history of the WWW teaches us that it's impossible to make statements about new features (as opposed to old, well known functionalities) of as yet unreleased browser versions. We simply cannot know how browser vendors will choose to implement certain standards.

Without forward compatibility the commercial case for web standards is completely unfounded. Therefore I do not believe that web standards have any commercial application. Using clean code and simple markup structures should be a matter of honor, not of money.

/ What is your take on the W3C specs on points of detail?

Web standards advocates habitually confuse two quite distinct issues:

1) The general idea that there really ought to be web standards and that everyone, browser vendors and web developers, should follow these standards.

2) The actual web standards themselves.

I fully support the general idea of web standards, like anyone who has lived through the browser wars. But I have found some problems in the standards themselves.

Standards advocates, though, have always treated these two issues as if they were one. Everyone should always follow the standards to the letter, even when the standards don't make sense.

I gladly embrace most of the standards, but not all of them. We need to go over the standards and see which parts make sense (most actually do) and which ones don't. Sometimes the standard makers and browser vendors seem to be in love with complexity for its own sake. Using doctypes, for instance, can lead to disasters because the browser vendors each invented their own version of doctype switching. So I don't use doctypes.

In the past few years there wasn't much chance for discussing the merits of the specifications. It simply wasn't done: a good web developer uncritically accepted all web standards. Doubters got flamed, not because they doubted a detailed point of the standards, but because people thought they doubted the entire standardization process.

Fortunately times are changing now. More and more people had have enough of the needless complications introduced by some of the standards.

/ At some point you mentioned “I have found some problems in the standards themselves”. Can you clarify this sentence?

My favorite example is W3C's box model. In this model, the width property defines the width of the content of the box, excluding paddings and borders. In my opinion this model is completely illogical.

Logically, a box is measured from border to border. Take a physical box, any box. Put something in it that is distinctly smaller than the box. Ask anyone to measure the width of the box. He'll measure the distance between the sides of the box (the 'borders'). No one will think of measuring the content of the box.

Web designers who create boxes for holding content care about the *visible* width of the box, about the distance from border to border. The borders, and not the content, are the visual cues for the user of the site. Nobody is interested in the width of the content.

I wonder why W3C made its box model so needlessly complicated?

/ In your view, are there pressing matters that need to be addressed?

The box model. Fortunately a CSS 3 draft proposal contains the box-sizing property which will allow web designers to choose their own box model. It is already supported by some browsers.

In the W3C DOM: get rid of needlessly complicated syntax like document.defaultView.getComputedStyle(x,null).getPropertyValue('width'), where a simple x.currentStyle.width would suffice.

/ If you were to evaluate the developmental stage of the internet, what would it be?

It's coming into the adolescent phase now. It's strong, new and largely untested, though it shows plenty of promise. In the next few years we'll really see what the Web is good for.

/ How did you first get involved in content publishing?

During my studies, I published the results of my research. When I started coding websites, I researched browser problems and put the results on my site, initially only for myself and my colleagues. Then the site kind of grew on and on. I never made a conscious decision to become a content provider.

/ Describe the ideal scenario for a company to be successful online.

Know what you're doing and why. This goes for the web developers, but also for the clients. I saw too many companies fail because they thought that a lot of consultants, databases and pictures made a good website and a good website made lots of money automatically.

The real problem with being commercially successful online is that ideas have outpaced users.

For instance, a few years ago one of the catchwords was "disintermediation": intermediaries, like travel agencies, were not needed any more because people could just book their trips directly on airline and hotel sites.

But disintermediation hasn't happened yet. Is that because it's a bad idea? I don't think so. I think it's one of the better notions consultants have come up with. But the end users simply aren't yet ready for it. They don't mind using the Internet, but only for the tasks they're used to, which means going to a travel agency's site for booking a holiday.

Amazon is so successful not only because it was one of the first e-commerce websites, but also because the actual task is so common. People buy books anyway and are quite willing to do it online instead of in the bookstore. But don't ask them to do something new, lots of people (myself included) simply aren't comfortable with doing really new things.

We'll have to wait until today's children grow up. They're used to the Internet even more than us pioneers, and they won't hesitate to disintermediate or to try doing things a different way.

/ What do you look for when hiring?

Promise. Someone may not know much about web development, but he or she should be willing and able to learn in a hurry, and to do research when necessary.

/ What makes for a good web site?

Clarity and simplicity. Know your topic, know what you want, and then go for it in the straightest line possible.

/ What makes a good team?

You need:

- a lot of specialists who are willing to listen to each other and to compromise with each other

- one generalist to keep an eye on everybody and to help the specialists communicate

- a strong project manager who frowns on 'creative blocks' and overdue deliverables

- a client who trusts you.

/ You are a man of vision. Describe this and how it affects your day-to-day activities?

Breaking small habits is far more difficult than breaking large ones.

I usually set my long-term goals once every two months in a private brainstorm session. It's very easy to keep these goals in mind when taking large decisions, like what to write about or which jobs to take. But when it comes to details, it's far too easy to fall back into your normal habits. So every time I have to take a small decision, like how to construct a navigation or how to validate a form, I try to keep my new goals in mind. Sometimes I forget all about them, though, such is life.

/ Describe what is *inspiration*.

Suddenly knowing the solution to a tricky problem and how it relates to other problems and solutions. The solution usually enters your mind when you're taking a shower, or a walk, or when you're cooking.

As my chemistry teacher always said, inspiration is very nice, but it should be followed by a lot of transpiration, when you're trying to develop your new idea.

/ Describe what is a top-notch client.

A client who accepts that you know more about the Web than he does. There are too many people who think they know everything there is to know because their nephew once touched a Front Page book.

The client should trust you to do the best job possible.

/ How do you educate your clients?

Slowly. Some clients don't want to be educated. But even with "good" clients, talking about compatibility, accessibility and usability out of the blue only generates blank, confused stares. Clients need a practical case study, preferably a page from their own site, to understand what it is all about.

/ Is branding an important issue online?

I'm not sure. It used to be, but I think there's less money for it now.

/ How did you land up working with Framfab?

By coincidence. A friend of mine started working there after we did a very bad course "Internet Advisor". When I finished my internship with another company, she asked me to apply at NetlinQ (as it was called then) and I was hired.

/ Describe what you do presently?

Writing, writing, writing. A chapter on the DOMs in general, an article on the W3C DOM, and there's more to come. I like it for now, but I think that in a month or two I'd like to create a website once more. But I've only recently become a freelancer, and it takes time to generate jobs.

But if I have to explain one more time that "the W3C DOM sees the document as a tree of nodes" I'm going to scream!

/ Describe what the internet means to you.

Information and access to information.

/ Describe 3 qualities necessary to succeed online.

Clarity and focus.

Know what you want and go for it. Don't be distracted by side issues.

Simplicity.

Don't add complex stuff just because it's possible. Always wonder if you can do the job with a simple technique.

Perseverance.

Once you start a job, keep on doing it, even if you don't see results right away. It took my own JavaScript site about a year and a half to break through to a larger audience than just some colleagues. If I hadn't updated it regularly during that time, it wouldn't have happened.

/ Give a one line counsel to newbies.

Keep it simple.

/ What is the single achievement that makes you most proud?

The World Press Photo site.

/ If there were no budget limitations - which single dream project would you launch?

A SimHistory MUD. Kind of Civilization-like, only with more attention to historical processes like the development of social classes and bureaucracy. People should play it online against each other.

/ What is your opinion of the present situation in the dotcom industry?

The dotcom crash is a Good Thing since many opportunists are removed from the scene. I hope people will focus more on quality.

The market for websites hasn't disappeared, it's just that clients don't have exaggerated budgets and expectations any more.

/ Is the www an international network?

Yes, definitely. Of course the WWW follows the economic frontiers of the planet, so it will take a while before people from Africa get online in large masses. But the old days of US-centric thought and action are over.

/ Tell us what the future (net) looks like.

The only thing I'm reasonably sure of is that the WWW as we know it now (using browsers, viewing HTML pages, clicking on links) won't disappear for some time to come. And if it does disappear, it will be replaced by something that is completely different, and not by a modified version of the WWW.

But I don't have the faintest idea what will happen next. And that's exactly what makes working in the web industry so exciting.