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.
^