Episode 37

The Web Behind with Steven Champeon

October 4, 2012

In this second episode of The Web Behind series with Eric Meyer, guest Steven Champeon talks about predecessors to HTML, the webdesign-L online community, the birth of the web standards project, how he coined the term "progressive enhancement" and much more.

How was this new medium going to change the way that I do my job? How are these things that you are doing now completely new in the history of mankind? No one has ever had this power before.

Transcript

Thanks to Matt Sugihara for transcribing this episode

Jen
This is The Web Ahead, a weekly conversation about changing technology and the future of the web. I'm your host, Jen Simmons, and this is episode 37. We want to say thanks so much to today's sponsors, An Event Apart, Arq, the online backup tool for the Mac, the Javascript Summit and Mobil Javascript Summits from Environments for Humans. Thank you so much to all three of our sponsors. Today is the second in our ongoing series looking at the history of the web, something we're calling, "The Web Behind" and hello, Eric Meyer, my cohost who's doing this series with me.
Eric
Hey, how're you doing?
Jen
Good, how are you today?
Eric
Awesome.
Jen
So who do we have today? Who's on the show?
Eric
Our guest today is Steve Champeon, who has been involved in the web, or at least got started with the web way early, 1993 or so. He's an old school markup geek in the best sense of that term. He's known for a number of things, including founding the mailing list webdesign-L, and he was project lead of the web standards project for a while, after Jeffrey Zeldman departed. He's now a spam-fighter extraordinaire, and we're really excited to have him on the show, so welcome Steve!
Steve
It's good to be here.
Eric
Hey!
Jen
Hello!
Eric
So you're joining us from Raleigh-Durham?
Steve
Raleigh, North Carolina.
Eric
Raleigh, North Carolina. Yeah. That's pretty awesome. That's one of the great things, of course, about the web is that people can be wherever. You’re in Raleigh. I'm in Cleveland. Jen's in New York City. We get this kind of work done together. With all of these shows, what I'm going to start with is, how did you first encounter the web, and what did you think?
Steve
I was a graphic design student in college the first year and a half, then spent the next three years studying comparative religion, which of course prepared me splendidly for the job market. And met my wife Heather in Syracuse and came down here in February of '93 and did the usual extremely targeted career building moves like taking whatever job came along. At one point I was working five jobs at once, selling my blood for money to a pharmaceutical products company for money, doing desktop publishing, swinging a hammer in the mornings, grading student essays for standardized tests, and screen printing.
Eric
So kind of the life of everyone who graduated with a liberal arts degree in the early 90s.
Steve
Yes, exactly that.
Eric
Awesome.
Steve
So I got laid off from the screen printing job and the essay scoring job on the same day, and they let us out early, so I was hanging out upstairs with a bunch of guys who were all waiting for rides that weren't going to come for another couple hours. One of the guys said, "Oh, I hear Gateway is hiring. So I went ahead and applied with this company.
Eric
Wait, Gateway computers, right?
Steve
No, Gateway Conversion Technologies. It was kind of a running joke. The original company was named Acura, and there was a guy who worked with us named Tolga, a Turkish dude, who basically made fun of the fact that when he called people, trying to do sales, he'd say, "Oh, I'm with Acura," and they were like, "The car company?" "No." And then they changed the name to Gateway and he'd call and say, "Oh, I'm with Gateway." And they'd be like, "The computer company?" "No." And they changed the name to Imonics, and he says, "I'm with Imonics" and they were like, "Who?"
Eric
Yeah.
Steve
They were an early, basically a sub-subcontractor for military contractors doing conversion of mostly parts lists, it was probably the most boring job on the planet, into SGML.
Eric
So, SGML.
Steve
Yes.
Eric
It's not a term that many people will be familiar with, so what's that?
Steve
I know! Weird, right?
Eric
Yeah.
Steve
Heather was remarking about that last night, that nobody knows what SGML is anymore. SGML is the Standard Generalized Markup Language. It was an outgrowth of a project that IBM named GML, Generalized Markup Language, and it's basically a super language, or a set of descriptive terms that define how to define a markup language. So it's a bit of a weird concept to grapple with, but HTML, Hypertext Markup Language, is what they call an application of the rules of SGML, or a Doctype.
Eric
Right.
Steve
People who are familiar with XML will have the idea. SGML was a lot more complex. What XML did was take a to of the rules of SGML and discard them, simplify them. For example, you have the open bracket and then the element name, and then you have the close bracket. In SGML, you could actually define things such that the open bracket could be anything you wanted it to be. You could make it an @ sign, for example.
Eric
Wow.
Steve
So writing a pure SGML parser was an incredible complex task, and XML said, "No, screw it, let's just make it a bracket"
Eric
Right.
Steve
Standardize on uppercase, and we'll go from there.
Eric
Yeah, so the DOCTYPE declaration is a piece of SGML, right?
Steve
Yes it is.
Eric
Right.
Steve
So we were doing conversion. We had document analysts, who were folks that would take a sampling, the client or potential client would send us a bunch of documents, and the doc analysts would look at the documents and say, "Oh, these are all court cases, we need a tag for the judge's name. We need a tag for the judge's first name. We need a tag for the judge's last name. We need a tag for the honorific, and so on and so forth." We actually did a of couple test run conversions project on some first circuit court cases. And I remember the DOCTYPE for that had thousands of elements because you had to do things like judge's first name, and that kind of thing. It was pretty crazy. So we were basically in the position, we were working on Unix, working on SunOS, using custom software to deal with scanning the pages, running them through the OCR, cropping out the images and saving them as tiffs and so on and so forth, and then at the end of the process, we would run all the output from the conversion software, which was basically text, through a bunch of perl scripts that wrapped it as best it could, not in HTML, but SGML tags. And then we would go in with a tool called Author/Editor from SoftQuad. Old folks, remember they released and HTML editor called HoTMetaL.
Eric
Yeah.
Steve
It's basically a specialized case of Author/Editor. So you'd go in, it would load up the page, and it would show you this stylized version of your SGML document. And then you'd go in and select text and wrap tags around it, so on and so forth. It was incredibly borning.
Eric
Wow.
Steve
But what a great place to be in '93, '94, because here I was leaning all this Unix, learning all this Perl, I was learning SGML. Every new project we got, we had to literally memorize a whole new DOCTYPE. So HTML comes out, and we were like, "Oh, this is scrawny. It's only like 30 tags". This is easy stuff. But I remember, I was working on the production line, which was basically all you really had access to was what they called OPEN LOOK. It was the GUI system for SunOS, but a friend of mine, a coworker who had just graduated, came over and said, "Oh, I want to show you something" and figured out how to xhost into another server that wasn't on the production network and launched a copy of Mosaic, and was like, "This is the World Wide Web." And I was like, "What is it?" And he's like, "Well, there aren't that many sites, but you can go to NCSA and there's this page that they keep updating where they add new sites as they come in." You can launch a web server and email NSCA and say, "Can we get on the 'What's new' page?'" There really wasn't much to it back then. You could go to CERN, I remember University of Buffalo had a maps service. It was insane. There really just wasn't much online at the time. It wasn't until a year later, I quit the conversion bureau and ended up in this sorta skunkworks R&D department writing Perl scripts for this guy named Dada. We all mercilessly stalked the NCSA site trying to find new stuff to look at. We set up our own web serves, downloaded NCSA HTTPD, compiled it. I remember I had a site that was all frames, like when frames first came out, I made some kind of site that was Jackson Pollack, no not Jackson Pollack, but Pete Montan you would click on a frame and it would load something else into it. It was just completely awful.
Eric
But interesting!
Steve
Like everybody else, I copied my first homepage from somebody else's homepage. It was just a set of links, it was just a list of, "Here's where I went to school, and this is the town I grew up in." Stuff like that.
Eric
Here's a picture of my cat.
Steve
Yeah, exactly. Here's a picture of me with an 18" ponytail.
Eric
Wow, now that I might have paid money to see.
Steve
Yeah, that's actually still online. I'll see if I can find a link.
Eric
We will totally put that in the list of links for the show. You're right. there wasn't a lot back then. The NCSA's What's New page was where it happening. I think everybody, or practically everybody on the web at that point had that page bookmarked and would go every week, because it would be updated weekly.
Steve
Yeah.
Eric
It would be like, "Oh! What's new! Oh my gosh, there are 20 sites listed in the 'What's New' for this week. That's amazing!"
Steve
Yeah.
Eric
Yeah, I remember...
Steve
Everything I wanted to know about high energy physics.
Eric
Yeah, exactly. The map server I remember was actually at the University of Hawaii.
Eric
Huh.
Steve
It wasn't exactly a map server, exactly, but they were doing something with mapping. I think they had mapped their campus. I was at a university at the time, too, we were all excited about this. "Oh my god, we could put the campus map up, that's awesome! What a great idea!"
Jen

What do you remember about what people thought was good about this. I think it's probably really hard to remember, because we have ideas now of what we think this stuff is and it colors what we used to think, but if you can remember back when you were using XML and different technologies, and then you get into the web and you're looking at things on the Mosaic site, what was it that people thought that you were doing?
Steve

Well I know what I was doing. One of the things that I think people may have forgotten, and that I would like to underscore is that, back in the days before the web, people got on usenet, there was this not anti-commercial, but non-commercial quality to it all. It was like people were in college, if someone asked a question on a usenet group on programming or whatever, one of the things that formed my sense of citizenship or whatever, was the usenet group comptextSGML, where you had a bunch of guys who were doing SGML for a living, or were academics studying it or whatever, and they would post questions and people would post answers. It was what I thought college was going to be like when I was in high school, and then I got to college, and it was just more high school, like it was the same people I was in class with in my AP classes and so on and so forth. Usenet for me was a place where intelligent, well spoken, erudite people came together, and I realized that not all the groups were like that, but comptextSGML really was. And helped each other learn a thing. There was a characteristic about that type of interaction that I wanted to capture and eventually tried to do with webdesign-l. I remember before I started the list, I was on Bill and Lynda Weinman's web design list, webmonster, and at the time, this was I guess late '96, really '97, I was working for a consultancy that was trying to help work on intranets. We had a big contract with a hospital out in Winston-Salem, so I was working out there five days a week and staying out there four nights a week, and I would go to the hotel room, get online, and answer people's questions for them. That was my way of contributing and giving back. Sort of a payback for all the sysadmins who helped me out and got me accounts on machines I probably shouldn't have had access to. That sort of thing. It's weird to me to think that I started out, and maybe a year, year and a half of that kind of mentorship with the sysadmins at Imonics, and I've been paying it back by hosting webdesign-l for 15 years. It's just kind of mind blowing.

But to get to your question, Imonics didn't have a public website. And it was really hard to convince people that that was a good idea. Because no one really, I don't think, in the early days understood the commercial value of it. We had an intranet, and that was what I eventually ended up founding Imonics web services, which was at its peak a twelve person team, at a 550 person company, to help manage standards on the intranet, promote, not similarity, but some kind of common presence, like, "Ok, here's the logo, here are different sized logos you can use. And please use some of the following naming conventions when you set your files up. And use directories, not just files," and that sort of thing. I remember one of the projects we were working on, eventually the conversion bureau which had developed this workflow-oriented imaging software, they generalized that and started telling people like [inaudible 00:16:53] who did a lot of call center type things, like selling phones. One of the projects that I worked on was documenting that software. So when we sold it to somebody, they would have all the documentation that went along with all the various modules that went into creating the software. So I remember one time, we were involved in some sort of contractual dispute, and Netscape, at the time on Unix had a command line switch that would allow you to launch a page and print it. So [inaudible 00:17:35] comes to us and says, "Oh, we've got your software now, and we need the documentation." And we were all, "Well, it's not printed, it's online." And they were like, "Well, we need a printed copy." So I scripted it, literally printing out the entire subset of the intranet that contained the documentation for this software. Six reams of paper. It was insane.

Eric
Wow.
Steve
Yeah, that's what we were using it for. We were using it for internal project documentation. We were using it for one of the applications that we built in web services was....So the company grew really fast. We went from like 100 people in '94 to 550 in '96, so nobody knew where anybody was. We were sprawled across three different buildings in two different towns, and so they kept moving people around as teams grew or shrank or whatever. So one of the things that we did was we built this thing called Yoohoo, which was a conscious pun on Yahoo, because that was a new thing. You could look up where somebody was, get the pictures from our swipe it ID cards, we could find out where your office was, what your phone number was, what your email address was, what team you're associated with. We even had a clickable image map that was based on the layout, the floorpan of the various offices that we had.
Eric
Uhuh. Yeah.
Steve
Kinda fun. I actually got written up in, I don't know, InfoWorld or something like that for that one.
Eric
Oh, good old InfoWorld.
Jen

Eric

So that's interesting to you, the printing out of the entire intranet because Unix had a command line switch. There are things like that that browsers did early on that they just, in a lot of ways, don't do anymore. Firefox, I suppose might still have that buried in its command line somewhere, I'm not sure.
Steve
Yeah, yeah.
Eric
What were some other things that...John Allsopp was on last week, or not last week, two weeks ago, and he was talking about how browser UI really hasn't changed that much really in the last 20 years, effectively. Where we still have a home button and a back button, and an entry bar for a URL, that kind of thing. But some stuff was lost. The example that I often point to is Mosaic's preferences let you make any element look like whatever you wanted. Do you remember some stuff that you particularly liked back then that we've lost since?
Steve
Oh yeah, absolutely, I remember Mac Mosaic had...you could literally adjust the color and the font, and the style, and all of that. Which is insane, really. But I remember the old NCSA Mosaic for Unix, or for X Windows, had a thing called annotations. So if you visited a site and thought, "Oh, this is an interesting site about whatever," you could go in and pull down the annotations thing, and there was this box where you could type things in, and when you went back to that site, you could go to annotations, and the annotations would be there. So one of the first Perl scripts that I wrote and deployed on the intranet at Imonics was something that any page could link to, it was just a CGI script, where from that page, you could click on that link and it would give you a box where you could make annotations. And it would save it, and then you link back to the file that that created. I think I called it Shadow. One of the fun things, even though I was trying to reproduce annotations once Netscape ditched it, one of the things about North Caroline is that we have a lot of ice storms.
Eric
Huh.
Steve
Yeah, I don't know what it is, but warm wet air from the gulf hits an icy northern blast or something. We were very frequently, like once every couple of years or so we have this devastating ice storm, and everything's coated in an inch of ice, and this is back in the day before telecommuting was really a big thing, and everybody expected to be able to come in and use the computer on their desk. And we used shadow to let people do real time updates on road conditions. So like, "I-40 from Morrisville to Raleigh is horribly iced over and there are lots of cars off the road" I think we received something like 300 different inputs in one day. Which is, like now, whatever, Digg, everybody knows commenting is broken and insane, but back then that was a huge deal. People being able to log in over PPP connection or whatever from home, and say, "I just tried to get out of my drive way and ran over my dog," or whatever. It was kind of a triumph.
Eric
Yeah! That's interesting. It almost feels to me like an extremely proto-Twitter.
Steve
Yeah!
Eric
In a sense. Huh.
Steve
And we got thousands of hits from just 500 or so employees just pulling this thing down.
Eric
When was that again, that you did that?
Steve
That was probably 1995, I would say.
Eric
Ten years ahead, but I would expect nothing less of you, Steve, than to be 10 or 15 years ahead of whatever is huge now.
Steve
Well, it was just...One thing that I would like to just absolutely make sure that I say is that I was incredibly lucky. I was this know-nothing religious studies student. Basically working as a contract laborer building the houses. The fact that I got laid off from two jobs in one day and just managed randomly to pick up this one tip from this one guy who was this incredibly short radio announcer. Had one of those great radio voices. "I hear gateway is hiring a lot of people. You should check that out", you know? Ok, I'll check it out.
Eric
Yeah, why not?
Steve
And it just so happened that I was one of the few that came in during a specific window that they didn't just train us on one aspect of the conversion process. We had a scanning crew that worked three shifts. Those scans were then viewed in this one application that let you draw boxes around the text and boxes around the images so you knew what to crop out and where to save it and so on. There was an OCR engine. Basically we used two OCRs because the Xerox was really good at letterforms, and Caldera I think was the name of it, was really good at picking up italics. So we ran them both against the text and then it was this voting engine. I think by the time they were done they had like seven different OCR engines in some insanely complex voting algorithm.
Eric
Wow.
Steve
But back then, we pretty much took what we got out of the OCR and there was an application that showed us a picture of the line of type that we were trying to reproduce, and then there was a text box with the text that the OCR engine had given us. And we had to basically go through and correct any errors. Which was a lot of fun because a lot of the pages were literally labeled "Intentionally left blank" stuff like that, so I don't know if you've ever seen a parts list for a nuclear sub. But there are a lot of parts in a nuclear submarine.
Eric
Go figure.
Steve
So the Perl scripting was...Perl was good at dealing with text, so that's what we used it for.
Eric
Right.
Steve
When we were writing the scripts, one of the things that I became aware of, this was before, was that there were actually scripts that this was something, that this was a programming language, this was a thing that took the input and spit out this awful, badly formed SGML. And I eventually became friends with the guy that wrote the scripts, and his job was to basically be six months ahead of everybody else. Before we actually got any of the content in, he'd be looking at sample docs and trying to write a script that would tag it up as per spec, and eventually convinced some folks to let me start maintaining these scripts after he had moved on because he was now on the other project that was going to hit the books in another three months or whatever, and try to improve them. So I have these absolutely horrible Perl scripts that I wrote back in '94 that literally do what we were doing in the editors, because Author/Editor had this regular expression based search and replace. So you could look for Jen Simmons and replace it with Jennifer Simmons, or what have you. You could look for a word of any kind and replace it with tag word tag, you know close tag, and all of us had these text editors open all the time with these standard search and replace type things so that we could go in and fix the things that the script wasn't fixing. So eventually, I realized that if we could fix the script that was generating the output, we wouldn't have to do it in Author/Editor, so we could automate it.
Eric
Right.
Steve
I ended up writing Perl scripts. And this was before the web really hit, so it's just crazy timing.
Eric
Yeah, I think that's true of a lot of people. A lot of people that I've talked to about how they get started. That's a theme that comes up a lot. Which was, I was incredibly lucky to be in the right place at the right time, or it was lucky that I knew so and so, and they gave me a clue. In my case, I was working at a department with a friend of mine who was really clued into Information Technology, and he was the one who first showed me Mosaic. If he hand't done that, who knows.
Steve
Right.
Eric

It's interesting, one of the things that you brought up several times was community. Basically getting help, giving help. I assume that's what lead you to found webdesign-L, yes?
Steve
Yes. Actually, it's kinda funny. Like I said, I was on Bill Weinman's list, and bored out of my mind, basically. I'm staying at this Holiday Inn in Winston-Salem over a dialup line on a Toshiba Satellite with 32mb of RAM, or whatever. And just reading this mailing list. People would ask questions, and I'd give them answers. Somebody posted a question about SMTP. And one of the things that I think that a lot of people don't understand, particularly people that have only been online for the past few years, or who grew up in an era where the web browser was how they were introduced to the internet, a lot of the early protocols, SMTP being Simple Mail Transfer Protocol, you could use via telnet, and still can. So you could telnet to port 25 on a mail server type, "hello jim mailfrom: schampeo@hesketh.com return rcpt2: heather@hesketh.com data:" and then just go ahead type headers in and a message and so on and so forth. So somebody asked a question about SMTP on this web design oriented mailing list, and of course I'm like, "Oh, I know all about SMTP I'll tell you how it works!" Well apparently, there was this one really obnoxious former member of the list who kept trying to post and Bill had some sort of complex procmail recipe to prevent her from being able to post mail to the list, and apparently by telling her how SMTP worked, I was making it possible for her to post to the list. So he kicked me off the list for two weeks.
Eric
Ok.
Steve
And while I was gone, I was like, "Well, why don't I set up my own list, I'm answering half the questions here anyway." I wasn't any kind of web design maven. I had a little bit of design skills and I had learned to use Photoshop because that's what we used to scan the grayscale pictures out of whatever it was that we were processing at the conversion bureau, so I had a copy of Photoshop. We had a Quadra 840 or whatever it was called. But having sort of made a name for myself on webmonster list, I started this list and 400 people joined.
Eric
Wow.
Steve
Which was, yeah, it was insane! But one of the things that that meant, was that basically now all of a sudden I had 400 people who were asking me questions, and I knew that there was a certain level of quality that the list had to have in order for people to keep coming back to it.
Eric
Right.
Steve
So I really put a lot of time into it. I think I posted probably 40% of the messages to that list the first few months.
Eric
Yeah.
Jen

So it was a mailing list that anyone could join for free to talk about web design and HTML, and how to create a website.
Steve
Yeah, exactly.
Jen
What kinds of topics kept coming up over and over again?
Steve
Well, one of the things...this was about the time that Javascript was starting to really be useful. I don't know if you remember early Javascript, but the whole flashing page refresh problem in Netscape was a turn off for the thing. So Javascript was a big deal. CSS wasn't really fleshed out at that point. So it was a lot of things like, "Why does my page look like this in this browser? Why does my page look like that in that browser?" And a lot of teaching people about the validation services, the W3C. I know one of the things that always irked me about Bill's list was that it was very focused on design. By which they meant visual design. Graphic design. "How do I make this non-jaggy? How do I convert this from a GIF into a JPG without visual artifacts?" It was very, very heavily emphasized on the graphical. And one of the things that I had learned from doing the intranet at Imonics was that design goes all the way through. Design is about not just how you make the picture, not just how you chose to format something, it's how you structure the information, it's how that information related to everything else. It's how you plan your directory structure, your file structure. Whether you're using server side includes to make certain common elements consistent across pages and reduce the amount of time you need to invest. All of the sudden your team is no longer at Regency Park, now they're at Primrose Park. How many pages do you have to go in and fix, when you could have just address.ink or whatever inserted in the bottom of every page, you know what I mean?
Eric
Mhmm.
Steve
When I started webdesign-L, one of the things I wanted to emphasize was that all embracing concept of design. In addition, one of the things that I don't know, and I work from home, so I don't have a lot of interactions with people, but one of the things that was really striking in the first year or so that the web became important at the company that I was at was things used to be very, very hierarchical. So you had the CEO, and you had the CTO, and you had the vice presidents, and you had the directors. And the vice presidents talked to the directors, and the vice presidents talked to the CTO, but the directors didn't talk to the CEO, right? People in the trenches didn't talk to anybody except for their immediate boss. And one of the things that struck me very early on was the degree to which this massive outpouring of institutional knowledge onto the web, or onto the intranet, was making it possible for the CEO to find out what the guy in the trenches was doing by visiting a webpage. That was huge!
Eric
Hmmm.
Steve
Just the fact that that traditional chain of translation and obfuscation from the trenches to the top could be short circuited by virtue of being able to publish this thing was amazing and transformational. So that's one of the things that I liked to talk about when I was posting to webdesign-L. How was this new medium going to change the way that I do my job? How are these things that you are doing now completely new in the history of mankind? No one has ever had this power before. When I first launched the site, it was supposed to be an opportunity to practice writing. So that was I think, probably the most visited link on the site before it turned into a blog, was something I wrote for how to structure an intranet web services team.
Eric
Huh.
Steve
One of the things that I tried to emphasize was that it's not just a graphic designer and a market geek, you actually have to have people on staff who are business analysts who are able to go in and say, "This is what we can do for you. Tell us what you are doing so that we can figure out what else we can do for you."
Eric
Huh. Yeah.
Steve
I know we had a team in Germany at one point and ended up giving them access to the intranet over VPN so that they would have access to all of the documentation that they needed. It was things like that. Figuring out not just, "Ok, so we can make web pages and stuff. That's cool." It was also more of a, "Ok, you guys are actually engaged in an enterprise trying to make money doing things, so how do we make those things easier to do and more efficient. All that kind of stuff. So..."
Eric
Yeah, that's, well, that's sort of the promise of the web, sort of cutting out all those barriers.
Jen

That's a question that constantly fascinates me, is how did we go from a medium that was invented to do what you described at the beginning, just give nerds a way to handle documentation and large volumes of documentations.
Steve
Across diverse systems.
Jen
Yeah, across different computers, and across different countries, and across different groups of scientists, or whoever whatever, intellectual, large...which I find ironic because somewhere along the way, people go the message that no one ever reads anything on the web, and everything should be 400 words or less.
Steve
Exactly.
Jen
But the web was actually invented to be the place where everybody put all their research papers, and to be the massive archive of all the stuff that's so giant that you can't even handle the paper.
Steve
Right.
Jen
But it went from that thing, sort of super nerdy, let's find a system to organize our stuff, to completely changing the way that we do business, changing the way that we interact with each other. Changing in the ways that it's disrupted all these industries. And it's like, how did that happen, and how did that happen accidentally? I haven't seen anybody who said, "Oh, I was doing that on purpose." What I see was a lot of people saying, "Yeah, we kinda got into that without....one little baby step at a time."
Steve

One of things that I thought was funny. I read TBL's book about coming up with the web, and one of his core reasons for coming up with this cross network, browser based system was to enable access to man pages, right?
Eric
Right. Good old Unix man pages.
Steve
The thing that struck me as funny was that the problem was that you had this particular operating system with its manual pages, that particular operating system with its particular manual pages, and apparently he thought it was a problem that if you were on, say AIX, you couldn't read the man pages from a SunOS machine, right?
Eric
Mmm.
Steve
Why would you want to read the manual for a different operating system from an operating system that didn't have those tools? It's never really made any sense to me. But thanks, Tim! Very much appreciate it.
Eric
Yeah.
Steve
It's made a life that I'm sure my parents could have never even imagined possible.
Eric
Yeah. Of such weird obsessions are mighty things grown.
Steve

So one of the things that strikes me that we haven't really touched on yet. I was doing intranet work, where the value was obvious, you had people, documentation, they needed access and so forth. We didn't have a public website until '96. And even then it was terrible because the guy who ran the company was a really good sales guy, but his sales department really didn't have much going on. He would go in and basically say, "I understand you're spending a lot of money doing this thing. We can automate that, you can cut your staff, we'll take the money you save for the first year and the second year, and then you're good." And that was his pitch. He was basically this guy who walked in and bullied people who were in suits while he was wearing a pink polo shirt or something, and that was his sales technique. So when the time came to present the company online, I went to the sales department, and said, "Tell us about what you do. Help us figure out how to frame the company." And they were like, "Well, we basically just kinda sit there with Glen." And it was really hard to make the case for the fact that we needed a website. Glen knew that we needed a website because we were purchased by a company that was going around purchasing other companies. That was the growth strategy at the time. And he said, "We bought this company, this company, and this company, based on what their website said." And we never really did resolve it. The company imploded in a horrible financial scandal just a few months later.

But I can still remember, and I don't remember the date, but I remember the feeling. At the time I was working pretty much twelve hours a day for this company. I'd get home at 8:30 9 o'clock. Heather and I would walk down to this place called The Rathskeller down on Hillsborough street in Raleigh. They had a TV, it wasn't a sports bar or anything like that, it just happened to have a TV. And I remember the first time I ever saw a commercial where the company had its URL in the commercial. And it was for MCI. And "Ha! You know, telecommunications services blah blah. Visit our website at www.mci.com" and we both just whipped around and looked at this thing because this is something we did, not something the world did. You know, [inaudible 00:44:51] interests had figured out that the web was a big deal. The first website I ever built for money was for a law firm. [inaudible 00:45:00] and Rice. They're big in the south east. And it was this horrible sort of...I didn't do the graphics, I just put the markup together. Primarily, it was just a list of lawyers organized by location, by specialties, by what they focused on. And some people focused on multiple things. So I wrote this Perl script that took a CSV and blew it into a bunch of HTML templates, and that was my website.

Eric
Yeah.
Steve
When Glen found out that I was being paid basically 10 times per page, because of course we charged by page back then because we were idiots, he said, "You ought to do web stuff for us."
Eric
Yeah!
Jen

Steve

Yep, thanks!
Eric
So webdesign-L continued on and grew, but how did you get involved with web standards project?
Steve
SO a couple of years into webdesign-L, with mailing lists, topics, people, it's a complex mix of trying to come up with things that are interesting to talk about. Trying to be provocative to encourage conversation, and so on and so forth. Well, a couple of years in, it felt stale to me, and I remember other lists like Hi-Five and eVolt, and the monkeyjunkies list, which was the webmonkeys list that Taylor ran, were just insane. Things were...I've very long had certain prejudices involving formatting in email that date back to my first email account in college. And I hated top posting. I hated people who didn't trim their replies. So I have strong opinions on these lists and basically dropped out of them. And at the same time, Jeff Zeldman and his partner at the time, whose name was Susan, had proposed coming up with basically a moderated digest so that we could product high quality content but in a format that you didn't have to make your eyes bleed trying to read it. So that eventually became A List Apart. And of course that eventually all rolled into what you guys are doing now. So I was plugged in to Jeffrey, he was talking to the folks at eventually started the project about ways that we could fight this 4x browser incompatibility mess. Glen Davis was among them.
Eric
Right.
Steve
So when they were starting up talking about it, they included me in those conversations. One of the interesting things, and I think this would be kind of fun for people to know, the public story of the web standards project is that we galvanized the web design community around the common goal of coding to standards and eventually made web browsers adapt to that by making sure that they actually conformed to the standards. That's the public history.
Eric
Right.
Steve
What actually went on was that Glen knew some guys at Netscape and some other guys at Microsoft who were actually internally very active in advocating for a standards based approach as opposed to the combative, "Let's introduce new tags all the time," and, "We'll beat Microsoft," "We'll destroy Netscape" kind of thing that almost seems incomprehensible now. It was like, "We'll introduce our own version of English!"
Eric
Right.
Steve
It just didn't make any sense at all.
Jen
We'll punctuate everything completely differently! It will be better!
Steve
Exactly! We'll own this market by coming up with our own proprietary terms for describing it! But that's what was going on. I know Glen is pretty much vanished from the public eye over the past few years, but he deserves, in my opinion, all the credit for actually getting Netscape to adopt Gecko. Because without him, and without the Web Standards Project, and without its appearance of massive public support, the guys at Netscape that actually got this done and made it possible for them to go then go on and convince Microsoft that they needed to do it too, none of that would have happened.
Eric
Interesting.
Steve
Well yeah. That was the early days. That was back when we still had a mailing list. And frankly, a lot of the people on the mailing list were really just basically annoying. They didn't really know anything about web standards, they just wanted a cause and they fought for it. And they were always irritating folks from Netscape or Microsoft, whoever was on the list, because a lot of times they basically whined about this specific bug, or this rendering problem, when what we were trying to get them to talk about was, "Hey, standards, right? Yay!"
Eric
Yeah.
Steve
So we eventually shut the lists down because they were being effectively counter-productive compared to their aim, which was to try and get browser vendors to support standards. Probably the thing that I did at the web standards project that matters the most, at least in my opinion, was we had a lengthy battle on some of the internal mailing lists. Jeffrey wanted very much for the website to be something anybody could see in any browser. And he wanted to do essentially anything packaged to make that work. He was also a very strong proponent of a strong visual brand, which is why the website was like, bright orange, right?
Eric
Right.
Steve
What I managed to do was convince him eventually that what we needed to do was actually deliver a standards compliant website so that people could view us as an example of the power of standards based design.
Eric
Ok.
Steve
He hated the design that me and Porter came up with because it was boring.
Eric
Ok.
Steve
But I wrote an article for webmonkey which was kind of fun because it was [inaudible 00:56:47] eventually became known as progressive enhancement, where we linked a different CSS stylesheet.
Eric
Uhuh.
Steve
I know that's like ATM Machine, but [inaudible 00:57:04] standard site, and made the web standards site like webmonkey.
Eric
Wow.
Steve
Sort of thereby illustrating, "Look, if your markup is sound, and all of your presentation is in the stylesheet, you can do crazy things like this." And I'll send you a link after the talk for that one. But I think that was probably between that and Dave Shea's CSS Zen Garden.
Eric
Right.
Steve
That was an illustration of the potential of what eventually became progressive enhancement. The whole idea that you can separate these things.
Jen

Eric

So talk about progressive enhancement, because in the wikipedia article about progressive enhancement, it says term coined by Steve Champeon. So where did that come from, what were you thinking at that point?
Steve
It's really cumbersome to talk about the separation of content, presentation, and behavior. It's just kind of a clunky phrase.
Eric
Right.
Steve
We, back in the early days, and I know it's still true to a certain extent, you not only had to worry about making something render in the latest browser, you had to worry about making it render correctly in previous browsers. And this was a time of mass innovation. I remember we would download a new beta of Netscape and there would be a page explaining what the new features, the new tags, "Oh, we have this scripting thing, and we support Java," and so on and so forth. There was a term called graceful degradation, which was actually borrowed from engineering, and the general idea was make it not suck as much as you can for somebody using an older browser or a browser without support for this particular feature or that particular feature. And in practice what that basically boiled down to was, "Ok, look at it in Netscape 4 and then look at it in IE3 and if IE3 looks acceptable, if all of the content is actually displayed, then that's gracefully degraded and you're good. What I wanted to do with progressive enhancement was turn that on its head. And this goes way back to the SGML days. I mentioned Author/Editor, the editor that we used to use. Well, in its standard, black and white form, it would have graphical tags with the entity name in them surrounding the content, right. Which was a horribly clunky way to deal with the stuff, but that's how it looked. I remember, I used to get really bad eyestrain headaches when I was staring at this thing. It's all black and white on a screen that I could otherwise customize, so I went in, found out that Author/Editor had its own style sheet language. It was actually written in Scheme, which is a variant of Lisp. So you could go in and say, "Ok, if a p tag has another p tag inside it, then make the smaller p tag centered and give it some indentation." It was pretty rudimentary, but you could do color, you could do fonts, you could do styles. So I would write up stylesheets for each of the DTDs that I was using, that made it possible for it to be white on black instead of black on white.
Eric
Uhuh.
Steve
Whatever, right? So if you go back far enough, this was a principle in SGML from the beginning. This whole idea of separating your structure from the way it was going to be presented. The first circuit court stuff that we tagged, I remember, was ultimately destined to become part of a system like Lexis, where you could go in and say, "Show me all the court cases in Illinois from this year to that year where Judge so-and-so was the presiding judge," so essentially we didn't have to worry about how it was going to be presented because it was eventually just going to be sucked into a database and completely distributed. But if you were going to do that, and you can see this now on websites where they store their data in a database, but they don't properly escape stuff, sometimes you'll see output where single quotes are still escaped with a backslash and stuff like that.
Eric
Yeah.
Steve
That's one of the reasons why you don't want to embed your presentation into your structure, right? We didn't have styles for the first few years of the web, so you pretty much had to, but it irked me. Every time I had to throw a font tag in something, I was just, "Ugh! Why can't we have stylesheets like I had with Author/Editor." So I guess that was the crucible, was dealing with data that wasn't necessarily webby in a markup context where you had to keep as much of the presentation logic out of it as you could. It makes me sad. I go back and I look at one of the earliest incarnations of the hesketh.com site, and view source, and while I'm proud of the javascript that I wrote, it's horrifying to me to see all the font tags littering the markup. You know, font-size="seven" ugh. Makes my skin crawl.
Eric
Yeah. And the always classic, one p equals 2 brs.
Steve
Exactly. Exactly right. That was actually one of the things that blew my mind about early HTML was that the p tag was just a terminator, it wasn't [01:05:46 inaudible].
Eric
Right.
Steve
Because everything we worked with. We did a lot of table markup, a lot of CALS table markup, and you had to be really careful. Fortunately, the editor we were using was pretty good about not letting you put tags where you weren't supposed to, it validated as you added tags, which was something I really missed when I started hand coding HTML.
Eric
Yeah, I'd imagine.
Steve
I don't even know what people use nowadays. I remember, I had a bunch of vi macros because I hadn't picked up emacs yet. Probably the best software I've ever used to this day except for maybe the first couple of generations of Eudora, was Homesite. You remember Homesite?
Eric
Oh yes. Yes I do.
Steve
Up until 3.0. Homesite 2.5 was mine. I could make that thing do anything. It was great. Being forced to work on Windows. That made it all almost worth it.
Eric
So that's what lead to progressive enhancement then, was the idea that, "Hey, you've got your content, and then you make pretty on top of that." Instead of, "Make pretty and hope that the content survives and [01:07:11 inaudible]."
Steve
Yes. Exactly. And one of the things too, being a hacker and all, one of the things that we had to stress with the folks that we worked with, was consistency. I had a script that you could feed a file full of regular expression search and replaces, and it would go through and run all those replaces on a number of files. I remember one time, and this wasn't the same script, but I was at IBM, working for the PC company, this was probably '97, and they had just lost a lawsuit brought by someone who had burned themselves fairly severely falling asleep with a laptop running in their lap.
Eric
Ok. Ouch.
Steve
So we had to go through a 10,000 page website, find every instance of the word 'laptop', and replace it with 'portable'. Because if they said laptops, people would put them in their laps, fall asleep, and burn themselves, right?
Eric
Uh, ok.
Steve
So this was back in the day when all of the content, not all of the content, but most of the content we were dealing with was static, and I had to go through like 10,000 files with a Perl script and replace every version of 'laptop' with 'portable'. So I hacked up a script to do that. Most nerve wracking day of my life, I think, quite possibly. Here I am, at least smart enough to check for capital L, lowercase L, and do the same capitalization replacement, and so on and so forth, but they set me loose on the entire pc.ibm.com website with an untested Perl script.
Eric
Wow.
Steve
It was great.
Eric
Good times. Good times.
Steve
Living the dream, man.
Eric

So, you haven't done web for a while, what got you out of it?
Steve

So when the company first got started, we were hosted with just your standard web hosting company. It was your typical, "Bring us another customer and we'll give you a month's worth of hosting for free," kind of deal. But they eventually promoted all of their guys that knew what they were doing from tech support to management positions, and replaced them with monkeys who didn't really understand anything about what they were doing. So over time, it got more difficult to accomplish what we needed to accomplish. We weren't doing super crazy stuff, it was mostly just FTPing files and writing CGI scripts. But eventually the time came where I decided that we needed to do our own hosting. So we set a server, did hosting. We never had more than 50 clients at a time, probably. Running this little Pentium III 166, but it was serviceable, it did the job.

The problem with hosting is that we also had to provide email services, because if we're hosting your domain, we're probably also going to be hosting your email. So, I mentioned to you before we started recording, I had a guy that hosted with us that got 400 Nigerian, "I'm the son of Prince so-and-so, and I've come to give you millions of dollars," 419 scams, in a single day. So we were using some software written by a guy named Vipul, called Vipul's Razor, that was a sort of hash based system, so it took the content of the message and sent a hash off to a server to compare it with other hashes that had been submitted from people that had described them as spam, and it was only catching about 40% of the stuff that was coming in, plus their servers kept going down. They eventually turned into Buttmark and apparently are a fine piece of software now, but at the time it wasn't doing the trick so I started hacking into my sendmail config file, writing my own filters, that sort of thing. So come March of 2003, a guy in St. Louis, started sending out a spam run. He was using compromised proxies, basically on end-users systems to send all this stuff out. And it was a married but lonely scam. You know, "Married, but lonely? Meet other married but lonely people and start an affair." Great, just the sort of stuff to give your kids. So, the thing that got me into it was that, that particular spam run was sent, "from" a fake address at hesketh.com. All of the messages. And back in the day, most spam filters were content filters, so they would accept the message, run it through the content filter, and if they decided it was spammy, like junk, that they would go ahead and send the message back to the sender. Of course, by that point, the sender isn't this guy, the sender, all they know about it, is that it's someone at hesketh.com. In the space of about six weeks, we received 100,000 bounces from this guy. Or from servers that had accepted the mail and then sent us a bounce.

Eric
Right.
Steve
So I noticed, when I started looking at the headers to this stuff, because some of the bounces contained just the headers, and some contained the bodies, which is why we know it was "married by lonely" spam, the places that these legitimate mail servers had accepted the mail from, looked a lot like end user systems. You know, dial up, DSL, cable, fiber to the home, so on and so forth, and they all had very generic names, like, "1-2-3-4.bigISP.net" So it occurred to me that if I didn't want spam bounced back at me from people who had accepted mail from these places, I probably didn't want to accept mail from those places either. So, going back to '94, when I was using Author/Editor, and regular expressions, and Perl, and SGML, I stared collecting patterns that matched these host names and classifying them in terms of as, "Ok, this is an end-user dial up modem, this is a [01:14:17 inaudible] business DSL line" and so on. So that was nine years ago, since then, I've categorized, classified, patterns for over 100,000 host names world wide, I have some very high volume feeds that I use to develop new patterns, and at present, we are helping block spam from end user hosts for over a billion email accounts.
Eric
Wow.
Steve
Which is kind of mind blowing, when I stop to think about it. Just giddy, you know?
Eric
Yeah, well, that's...I imagine that could keep you kind of busy, too, and not have much time for the web.
Steve
Yeah, well, you know, basically, the web work that I was doing tapered off, those projects. We were working for the National Press Photographers Association. They have a photography contest every year and one of the jobs that they have to do is obviously make the entrants' images available for vote [01:15:28 inaudible] that let people vote very quickly on which of the pictures would be retained and help them winnow that out. Yeah, that was probably five or six years ago. So now I basically, some days I work all the time, some days I run a really long script and do laundry.
Eric
Well, laundry's gotta get done.
Steve
And dishes.
Eric

Laundry and dishes. I understand, believe me. Well, this has been really great. I would like to thank you for joining us Steve. It's been delightful. I appreciated getting your perspective on all this stuff, so that's very much.
Steve
It's been my pleasure. Thanks guys!
Jen
Yeah, thanks, and thanks so much to our sponsors today, An Event Apart, Arq, the online backup for the Mac, and the Mobile Javascript Summit. You can follow this show on Twitter @thewebahead, you can follow Eric at @meyerweb, and me @jensimmons, and Steve, what is your Twitter?
Steve
@schampeo. So S-C-H-A-M-P-E-O.
Jen
And I've been gathering links as we go along, all these different technologies that you've been talking about. People can go to the show notes for this particular episode, 5by5.tv/webahead/37, since this is episode 37, and there'll be links to some of your websites, Steve, and actually, it seems today to be lots of pages on wikipedia.
Eric
That's what happens with history.
Jen
Which may or may not be the best places to be linking to, but they're certainly the fastest. Great, so thanks to everybody for listening. We will be back next week. If you've not subscribed in the iTunes, do that. Go over to iTunes, look for The Web Ahead, hit subscribe, and while you're there, if you are already subscribed, to go back over to iTunes store and rate the show, review the show, it really makes a big difference in letting other people know about the show, and helping us be able to keep doing it. So thanks. Thanks everybody!

Show Notes