回顾 Viaweb:1998 年 6 月的创业快照与早期网络技术
本文是 Paul Graham 在 2012 年对 1998 年 6 月——Viaweb 被 Yahoo 收购消息公布前数小时——所截取的网站快照的回顾。文章以详实的一手材料再现了互联网早期的工程实践与商业环境:屏幕尺寸局限、无抗锯齿字体迫使将文本渲染为图片;每月 16,000 美元的公关投入以获取媒体报道;仅靠 7 个搜索引擎(Yahoo、AltaVista、Excite 等,Google 尚未成立)获取流量;因 Cybercash 体验糟糕而劝说商家手动处理订单;整个业务托管在创始人 Trevor 办公室内 6 台啸叫的塔式服务器上,仅 2 条 T1 线路(3 Mb/s)支撑超过一千万的月页面浏览量。文章还披露了基于 Common Lisp 的模板语言 RTML、不存在版本号的持续发布策略、以及通用购物搜索引擎 Shopfind 的架构。适合对互联网创业史与早期 Web 技术细节感兴趣的工程师阅读。

January 2012A few hours before the Yahoo acquisition was announced in June 1998 I took a snapshot of Viaweb's site. I thought it might be interesting to look at one day.

2012年1月。1998年6月,雅虎收购消息公布前几小时,我拍下了Viaweb网站的快照。我想,有朝一日回看或许会很有趣。
The first thing one notices is is how tiny the pages are. Screens were a lot smaller in 1998. If I remember correctly, our frontpage used to just fit in the size window people typically used then.
Browsers then (IE 6 was still 3 years in the future) had few fonts and they weren't antialiased. If you wanted to make pages that looked good, you had to render display text as images.
首先注意到的是页面尺寸极其迷你。1998年的屏幕小得多。如果我没记错,我们的首页刚好能塞进当时人们常用的窗口大小。
那时的浏览器(IE 6还要等三年才问世)字体很少,而且没有抗锯齿。要想让页面好看,就得把显示文字渲染成图片。
You may notice a certain similarity between the Viaweb and Y Combinator logos. We did that as an inside joke when we started YC. Considering how basic a red circle is, it seemed surprising to me when we started Viaweb how few other companies used one as their logo. A bit later I realized why.
你可能注意到Viaweb和Y Combinator的标志有些相似。这是我们创办YC时内部开的玩笑。其实红色圆圈如此基础,当初创办Viaweb时,我很奇怪很少有其他公司用它做标志。过了一阵我才明白原因。
On the Company page you'll notice a mysterious individual called John McArtyem. Robert Morris (aka Rtm) was so publicity averse after the Worm that he didn't want his name on the site. I managed to get him to agree to a compromise: we could use his bio but not his name. He has since relaxed a bit on that point.
在公司页面你会看到一个神秘人物叫John McArtyem。Robert Morris(即Rtm)在蠕虫事件后极其厌恶公开露面,不愿在网站上留名。我说服他达成妥协:可以公开他的履历,但不能用真名。后来他对此稍微放宽了要求。
Trevor graduated at about the same time the acquisition closed, so in the course of 4 days he went from impecunious grad student to millionaire PhD. The culmination of my career as a writer of press releases was one celebrating his graduation, illustrated with a drawing I did of him during a meeting.
(Trevor also appears as Trevino Bagwell in our directory of web designers merchants could hire to build stores for them. We inserted him as a ringer in case some competitor tried to spam our web designers. We assumed his logo would deter any actual customers, but it did not.)
Trevor毕业时收购刚好完成,于是四天之内他就从穷研究生变成了百万富翁博士。我写新闻稿生涯的巅峰之作,就是一篇庆祝他毕业的稿子,配上了我在会议上给他画的速写。
(Trevor还以Trevino Bagwell的身份出现在我们的网页设计师目录中——商家可以雇佣这些设计师来建店。我们把他塞进去当托儿,以防有竞争对手骚扰我们的设计师。我们本以为他的标识会吓跑真正的客户,但并没有。)
Back in the 90s, to get users you had to get mentioned in magazines and newspapers. There were not the same ways to get found online that there are today. So we used to pay a PR firm $16,000 a month to get us mentioned in the press. Fortunately reporters liked us.
In our advice about getting traffic from search engines (I don't think the term SEO had been coined yet), we say there are only 7 that matter: Yahoo, AltaVista, Excite, WebCrawler, InfoSeek, Lycos, and HotBot. Notice anything missing? Google was incorporated that September.
回到90年代,要获取用户就得登上杂志和报纸。那时没有今天那么多线上被发现的方式。所以我们每月花1.6万美元请公关公司帮忙在媒体上露脸。幸运的是记者们喜欢我们。
在我们关于从搜索引擎获取流量的建议中(我怀疑那时SEO这个词还没被发明),我们提到只有7个搜索引擎重要:Yahoo、AltaVista、Excite、WebCrawler、InfoSeek、Lycos和HotBot。注意到少了谁吗?Google是那年9月才成立的。
We supported online transactions via a company called Cybercash, since if we lacked that feature we'd have gotten beaten up in product comparisons. But Cybercash was so bad and most stores' order volumes were so low that it was better if merchants processed orders like phone orders. We had a page in our site trying to talk merchants out of doing real time authorizations.
我们通过一家叫Cybercash的公司支持在线交易,因为如果缺少这个功能,在产品对比中会被狠狠踩扁。但Cybercash实在太烂,而且大多数商店订单量极低,所以商家还不如像处理电话订单那样处理订单。我们网站里专门有一页,试图说服商家不要做实时授权。
The whole site was organized like a funnel, directing people to the test drive. It was a novel thing to be able to try out software online. We put cgi-bin in our dynamic urls to fool competitors about how our software worked.
整个网站设计得像漏斗一样,引导用户去尝试体验版。那时能在线试用软件还是个新鲜事。我们在动态网址里加了cgi-bin,用来迷惑竞争对手,让他们搞不清我们软件的工作原理。
We had some well known users. Needless to say, Frederick's of Hollywood got the most traffic. We charged a flat fee of $300/month for big stores, so it was a little alarming to have users who got lots of traffic. I once calculated how much Frederick's was costing us in bandwidth, and it was about $300/month.
我们有一些知名用户。不用说,Frederick's of Hollywood流量最大。我们对大店每月收取300美元固定费用,所以遇到流量大的用户有点吓人。我曾经算过Frederick's耗费了我们多少带宽,大约是每月300美元。
Since we hosted all the stores, which together were getting just over 10 million page views per month in June 1998, we consumed what at the time seemed a lot of bandwidth. We had 2 T1s (3 Mb/sec) coming into our offices. In those days there was no AWS. Even colocating servers seemed too risky, considering how often things went wrong with them. So we had our servers in our offices. Or more precisely, in Trevor's office. In return for the unique privilege of sharing his office with no other humans, he had to share it with 6 shrieking tower servers. His office was nicknamed the Hot Tub on account of the heat they generated. Most days his stack of window air conditioners could keep up.
因为托管了所有商店,1998年6月这些商店每月总页面浏览量刚过1000万,我们消耗的带宽在当时看来很大。办公室接入两条T1线路(共3 Mb/sec)。那时候还没有AWS。连托管服务器都觉得太冒险——服务器出故障太频繁了。于是我们把服务器放在办公室里,确切说是Trevor的办公室。作为独享一间办公室的独特特权,他得和6台尖叫的塔式服务器共处一室。他的办公室因为散热得了个绰号“热浴盆”。大多数时候他那堆窗式空调还能撑住。
For describing pages, we had a template language called RTML, which supposedly stood for something, but which in fact I named after Rtm. RTML was Common Lisp augmented by some macros and libraries, and concealed under a structure editor that made it look like it had syntax.
为了描述页面,我们有一种叫做RTML的模板语言,理论上它代表什么,但实际上我是以Rtm的名字命名的。RTML实际上是Common Lisp加上一些宏和库,然后藏在一个结构编辑器之下,让它看起来像有语法。
Since we did continuous releases, our software didn't actually have versions. But in those days the trade press expected versions, so we made them up. If we wanted to get lots of attention, we made the version number an integer. That "version 4.0" icon was generated by our own button generator, incidentally. The whole Viaweb site was made with our software, even though it wasn't an online store, because we wanted to experience what our users did.
At the end of 1997, we released a general purpose shopping search engine called Shopfind. It was pretty advanced for the time. It had a programmable crawler that could crawl most of the different stores online and pick out the products.
由于我们持续发布,软件其实没有版本号。但那时行业媒体期待版本号,于是我们就编造。如果想引起大量关注,我们就用整数版本号。那个“version 4.0”图标恰好是我们自己的按钮生成器生成的。整个Viaweb网站都是用我们的软件制作的,尽管它本身不是在线商店——因为我们想体验用户所经历的。
1997年底,我们发布了通用购物搜索引擎Shopfind。它在当时相当先进,有一个可编程爬虫,能抓取网上大多数不同的商店并提取商品。