JoelOnSoftware

Joel on Software

What is the Work of Dogs in this Country?

狗在这个国家是干什么的?

by Joel Spolsky Saturday, May 05, 2001


We had assumed that Bezos was just reinvesting the profits, that's why they weren't showing up on the bottom line.

我们曾经假设贝索斯只是在重新投资他的利润。这也是为什么他们今年没有排名倒数的原因。

Last year, about this time, the first big dotcom failures started to hit the news. Boo.com. Toysmart.com. The Get Big Fast mentality was not working. Five hundred 31-year-olds in Dockers discovered that just copying Jeff Bezos wasn't a business plan.

去年大概这个时候,第一批的.com泡沫破灭,公司破产新闻开始登上头条。 像boo.com,Toysmart.com迅速变大的那种思维已经行不通了。财富五百强的那些31岁摇滚范儿CEO们发现:拷贝杰夫贝索斯已经算不上什么商业计划了。

The past few weeks have felt oddly quiet at Fog Creek. We're finishing up CityDesk. I'd like to tell you all about CityDesk, but that will have to wait. I need to tell you about dog food.

FogCreek过去的这几周给人感觉异样的安静。我们刚刚完成了CityDesk。我很想告诉你关于CityDesk的所有事情。但是得等等。我想还是先讲讲狗食的故事吧。

Dog food?

讲讲狗食的故事?

Last month Sara Corbett told us about the Lost Boys, Sudanese refugees between 8 and 18 years old separated from their families and forced on a thousand mile march from Sudan, to Ethiopia, to Sudan, to Kenya. Half died on that trip, of hunger, thirst, alligators. A few of them were rescued and delivered to places like Fargo, North Dakota, in the middle of winter. "Are there lions in this bush?" one asked, riding in a car to his new home from the airport.

上个月的时候SaraCorbett讲了那些在苏丹失踪的男孩的故事。那些8岁到18岁之间跟他们的家人分开,被迫踏上从苏丹到埃塞俄比亚到苏丹再到肯尼亚的万里长征。他们中的一半人在路途上因为饥饿,口渴,和鳄鱼袭击死掉了。他们中的一部分被救了下来并且送到了北达科他州Fargo这样的地方。冬天里,其中的一个小孩坐在车上在从机场去他的新家,去的路上坐在车子里面问道:“树丛里面会有狮子吗?”

Peter touched my shoulder. He was holding a can of Purina dog food. ''Excuse me, Sara, but can you tell me what this is?'' Behind him, the pet food was stacked practically floor to ceiling. ''Um, that's food for our dogs,'' I answered, cringing at what that must sound like to a man who had spent the last eight years eating porridge. ''Ah, I see,'' Peter said, replacing the can on the shelf and appearing satisfied. He pushed his grocery cart a few more steps and then turned again to face me, looking quizzical. ''Tell me,'' he said, ''what is the work of dogs in this country?'' [New York Times Magazine, April 1, 2001]

皮特碰了碰我的肩膀。他拿着一罐Paurina狗食:“不好意思Sara,你能告诉我这是什么吗?” 在他后面宠物食品从地板一直堆到了天花板上。“嗯,那是狗食”,我回答道。那声音,对于一个过去八年都在喝粥的男人来讲一定也算萎缩到了极点。 “好,我明白了”。皮特说道,把罐子放回架子上,并且看起来很满意。他把购物车往前推了几步,然后转过身来,朝着我看起来非常的疑惑。“告诉我,”他说:“狗在这个国家是干什么的?”【时代周刊 2001年4月1号刊】

Dogs. Yes, Peter. Fargo has enough food, even for dogs.

狗,是的皮特。在Fargo有足够的食物,哪怕是狗。

It's been a depressing year.

真是令人沮丧的一年。

Oh, it started out so amusing, we all piled into B2B and B2C and P2P like a happy family getting in the Suburban for a Sunday outing to the Krispy Kreme Donut Shop. But wait, that's not even the amusing part, the amusing part was watching the worst business plans fail, as their stock went from 316 to 3/16. Take that, new economy blabbermouths! Ah, the schadenfreude. Ah, the glee, when once again, Wired Magazine proves that as soon as it puts something on the cover, that thing will be proven to be stupid and wrong within a few short months.

一开始的时候还是挺高兴的。我们就像是一个大家庭在星期天早上去郊区的KrspyKreme甜甜圈商店郊游一样, 分成了B2B,B2C和P2P小队。但是等一下,这都不是最高兴的部分,最高兴的部分就是看那些最糟糕的商业计划失败。当该公司的股票价格从316降到3/16。记住我这个新经济大嘴巴!阿,兴灾乐祸。好欢乐,连线杂志再次证明了:一旦他们把什么公司搬上封面,过不了几个月,大家就会发现那东西绝对是又傻又错。

Ooh, sorry, did you buy the Wired Index?

哦,不好意思,你购买了连线指南么?

And with this New Economy thing, Wired really blew it, because they should have knownby then what a death kiss their cover was for any technology or company or meme, after years of touting smell-o-rama and doomed game companies and how PointCast was going to replace the web, no, wait, PointCast already replaced the web, in March 1997. But they tempted fate anyway, and didn't just put the New Economy on the cover, they devoted the whole goddamn issue tothe New Economy, thus condemning the NASDAQ to plummet like a sheep learning to fly.

然后这个“新经济体”的东西。连线杂志真的搞砸了,因为他们应该已经知道:他们的封面对于任何技术,任何公司来说都是杀手。若干年不断散发这种气息并且诅咒了无数的游戏公司,大谈特谈为什么PointCast将取代网络,等等,啥,PointCast难道不适已经取代了网络么? 不过是他们再次被命运诱惑,这一次他们不仅仅是把“新经济体”放在封面上了, 他们花了该死的整整一版功夫来聊这个“新经济体”, 这样才把NASDAQ的股票诅咒的像绵羊学飞那样铅坠下来。

But joy at other's misfortune can only entertain us for so long. Now it's just getting depressing, and I know the economy is not officially in a depression, but I'm depressed, not because so many stupid startups went away, but because the zeitgeist is depressing. And now we have to eat dog food instead of Krispy Kremes.

不过吐槽别人的不幸也就只能自娱自乐这么久了。 现在变得更消沉了, 我知道正式说来经济还没有陷入萧条, 但我自己却消沉了, 不是因为那么多傻X的创业公司完蛋了,而是因为时代精神消沉了。 我们现在只好吃狗食了,不能吃Krispy Kremes冰激凌了。

Which is what we're doing, because life goes on. Even though everybody's walking around with their chins glued to their chests, mourning about the hours they devoted, ruining their health and love lives for the sake of stock options in SockPuppet.com, life goes on. And the product development cycle must go on, and we at Fog Creek are getting towards the part in the product development cycle where you have to eat your own dog food. So for a while we're Dog Creek Software.

这就是我们在做的,因为生活还得继续。虽然周围的每个人都下巴顶着胸,抱怨说他们花了多长的时间,放弃了他们自己的健康和心爱的生活。只是为了获取SockPuppet.com的股票期权。但生活还是得继续,产品开发周期必须得继续。在FogCreek公司。我们的产品开发阶段已经到了我们必须要吃自己的狗粮的阶段了。这段时间我们可以叫做DogCreek公司。

Eating your own dog food is the quaint name that we in the computer industry give to the process of actually using your own product. I had forgotten how well it worked, until a month ago, I took home a build of CityDesk (thinking it was about 3 weeks from shipping) and tried to build a site with it.

在软件行业,吃自己的狗粮是使用自己产品的一种别称。 直到一个月之前我才想起这有多灵光了。 我拿回了CityDesk的一个集成版本。(我想应该是离发布前三个礼拜的集成版本)然后我想用这个软件来自己搭建一个网站。

Phew! There were a few bugs that literally made it impossible for me to proceed, so I had to fix those before I could even continue. All the testing we did, meticulously pulling down every menu and seeing if it worked right, didn't uncover the showstoppers that made it impossible to do what the product was intended to allow. Trying to use the product, as a customer would, found these showstoppers in a minute.

弗!有几个错误严格来讲几乎让我无法继续。所以逼得我再继续之前必须修复这些错误。 我们所做的所有测试,包括可笑的按下每一个菜单来检查菜单项是不是正常工作,却并没有能够覆盖到那种使得我们的产品无法达成既定功能的错误。尝试像顾客一样来使用这个产品,却能够让我们在一分钟之内就找到这些重大错误。

And not just those. As I worked, not even exercising the features, just quietly trying to build a simple site, I found 45 bugs on one Sunday afternoon. And I am a lazy man, I couldn't have spent more than 2 hours on this. I didn't even try anything but the most basic functionality of the product.

不只是这些,随着我继续使用这个软件,甚至都还没有尝试使用那些基本功能。这个星期天下午,我只是安静的想要尝试搭建一个简单的网站就已经发现了45个错误。 我又是个懒人。我甚至都不应该在这个上面花上两个小时。我甚至都还没有尝试这个软件这个产品最最基本的功能。

Monday morning, when I got in to work, I gathered the team in the kitchen. I told them about the 45 bugs. (To be fair, many of these bugs weren't actual defects but simply things that were not as convenient as they should have been). Then I suggested that everybody build at least one serious site using CityDesk to smoke out more bugs. That's what is meant by eating your own dog food.

礼拜一早上,我去上班的时候把整个团队叫到厨房里面。我跟他们谈了这45个错误。(老实来说大部分实际上不能够被叫做缺陷,只是他们没有像应该的那样用起来顺手而已)于是我建议说:每个人都应该使用CityDesk至少搭建一个真正的网站,以便压力测试出更多的错误。这就是我说的吃自己的狗粮的意思。

Here's one example of the kind of things you find.

这有一个通过吃自己的狗粮你能够发现的错误例子。

I expect that a lot of people will try to import existing web pages into CityDesk by copying and pasting HTML code. That works fine. But when I tried to import a real live page from the New York Times, I spent a whole day patiently editing the HTML, finding all the IMG links (referring to outside pictures), downloading the pictures from the web, importing those pictures into CityDesk, and adjusting the IMG links to refer to the internal pictures. It's hard to believe, but one article on that web site contains about 65 IMG links referring to 35 different pictures, some of which are 1 pixel spacers which are very difficult to download using a web browser. And CityDesk has a funny compulsion to change the name of imported pictures internally into a canonical number, and it doesn't even have a way to find out what that number is, so the long and the short of it was that it took me one full day to import a page into CityDesk.

我原来期望大部分的人都会通过拷贝粘贴HTML代码把现有的网页导入到CityDesk,这个确实可行。但是当我想要导入实时站点纽约时报的一个页面的时候:我花了一整天耐心的编辑html,找到所有的IMG链接(指向站外的图片),从网站上下载所有的图片,然后把这些图片导入到CityDesk。后调整这些图片链接来指向内部图片。虽然很难想象,但是这个网站上的某一篇文章包含了大约65个图片链接,指向35个不同的图片。其中有一些是一个像素的间距控制图片。这些图片很难使用web浏览器下载。而且CityDesk有一个很滑稽的冲动想要把下载下来的内部图片重命名成新的图片递增序列,但是却没有一种方法来检测这些数字应该是什么。所以我要说的这件事情的长和短就是我花了整整一天用CityDesk来导入一个页面。

It was getting a bit frustrating, so I went and weeded the garden for a while. (I don't know what we'll do to relieve stress when it's all cleaned up. Thank God we can't afford a landscaping service.) And that's when it hit me. Hey, I'm a programmer! In the time it took me to import one page and adjust the pictures, I could write a subroutine that does it automatically! In fact, it probably took me less time to write the subroutine. Now importing a page takes about half a minute, instead of one day, and is basically error-free.

我觉得有点挫败感了,所以我就去修剪了一会儿草坪。如果草坪都清理干净的话,我真不知道要放松压力的时候该干什么?谢天谢地,我还付不起草坪修整服务费用。然后就这个时候触发到我了,我是个程序员,所以我导入页面调整图片是花的这些时间,我都可以编写一个子程序来自动完成。实际上,如果问我写子程序来做的话可能要花更少的时间。然后到现在,倒入一个页面花费大概半分钟,而不是一天,并且基本上没有错误。

Wow.

哇哦。

That's why you eat your own dog food.

这就是为什么你要吃自己的狗食。

And when Michael started importing some sites himself, he found about 10 bugs I had baked in by mistake. For example, we found web sites that use complicated names for pictures that cannot be converted to file names when you import them because they contain question marks, which are legal in URLs but not legal in file names.

当Michael试图导入自己的一些站点。他发现了我不小心编制的十个错误。有些站点,图片使用了非常复杂的名字,导入这些图片的时候因为它们包含了问号不能够转换成文件名。这些符号对url来讲是合法的,但是在文件名里面就不合法。

Sometimes you download software and you just can't believe how bad it is, or how hard it is to accomplish the very simple tasks that the software tries to accomplish. Chances are, it's because the developers of the software don't use it.

有的时候你下载一些软件。你就是没办法想象:这个软件有多糟糕或者要让软件完成它能够完成的那些简单的任务有多困难。在这种情况下,很大的可能就是开发这些软件的程序员都没有用过这个软件。

I have an even more amusing example of failing to eat dog food. Guess what email product was used internally at Juno Online Services? [If you're just tuning in, I worked on the Juno client team for a few years].

我有一个更加娱乐的关于不吃狗食的软件失效情况。你猜猜在Juno在线服务使用的电子邮件产品是什么啊?【如果你刚刚读到这段,告诉你我以前在Juno客户服务工作过一年。】

Hmm, did you guess Juno? Since that was, uh, our product?

恩,你猜是Juno吗?因为那才是我们的产品?

No. A couple of people, including the president, used Juno at home. The other 175 of us used Microsoft Outlook.

错,只有几个人包括主席才会在家里面使用Juno。但是其他的175个人使用的是microsoft outlook。

And for good reasons! The Juno client was just not such a great email client; for two years the only thing we worked on was better ways to show ads. A lot of us thought that if we had to use the product, we would have to make it better, if only to stop our own pain. The president was very insistent that we show popup ads at six different points in time, until he got home and got six popup ads, and said, "You know what? Maybe just two popups."

因为各种充分的理由,JUNO客户端并不是如此伟大的电子邮件客户端。两年来我唯一的工作内容就是以更好的方式来显示广告。 我们中的很多人认为如果我们必须要用这个产品的话就得把它弄得更好。这只是为了减轻我们自己的痛苦。公司主席有一段时间对于我们如何在六个不同的地方显示广告弹出匡这件事情非常的不一致。直到有一天他回家的时候,收到六个弹出匡,然后他才说道:也许我们可以只用两个弹出匡。

AOL was signing up members at a furious rate, in part because it provided a better user experience than Juno, and we didn't understand that, because we didn't eat our own dog food. And we didn't eat our own dog food, because it was disgusting, and management was sufficiently dysfunctional that we simply were not allowed to fix it, and at least make it tolerable to eat.

AOL的注册用户数却飞速增长。部分因为他们比JUNO提供了一个更好的用户体验。而我们因为不理解,并且我没有自己吃自己的狗食。而我们为什么不吃自己的狗食呢,因为他实在太恶心了,而且管理层完全失效。以甚至不让我们去修复这些问题。不让这个东西至少能够被我们自己“吃”。

Anyway. CityDesk is starting to look alot better. We've fixed all those bugs, found some more, and fixed them, too. We're adding features we forgot about that became obviously necessary. And we're getting closer to shipping! Hurrah! and thankfully, we no longer have to contend with 37 companies, each with $25 million in VC, competing against us by giving away their product for free in exchange for agreeing to have a big advertisement tattooed on your forehead. In the post-new economy, everybody is trying to figure out how much they can get away with charging. There's nothingwrong with the post-new economy, if you're smart. But all the endless news about the "dot coma" says more about the lack of creativity of business press editors than anything else. Sorry, fuckedcompany.com, it was funny for a month or so, now it's just pathetic. We'll focus on improving our product, and we'll focus on staying in business, by listening to our customers and eating our own dog food, instead of flying all over the country trying to raise more venture capital.

不管怎么样,CityDesk现在已经看起来好的多了。我们修复了所有那些错误。发现更多,然后又修复了其中的一些。我们开始添加一些现在看起来非常必要但是一开始时候能忘记的功能。 我们离发布越来越近。吖呼,谢天谢地,我们再也不需要跟37家公司竞争,它们一个个都被估值25万美元。他们通过免费使用产品以交换在你的头上显示一个大大的广告。它们通过这样的方式来跟我们竞争。在后新经济体时代,所有的人都在讨论如何才能降低花费。如果你很还聪明的话,实际上后新经济体制的并没有任何错误。但是那些永无止境的关于.COM的新闻媒体谈论的更多的则是比起其他更多的东西都缺乏创意的商业模式。抱歉,操蛋公司.com。你们存在的一个月左右还是很有趣的,但是到现在就已经很可悲了。我们会持续改进,我们会专注在继续运营,我会专注在倾听我们客户的声音,吃自己的狗食。而不是全国各地飞来飞去募集更多的风险投资。