冰山的秘密 —— UI 设计的重要性

注:机翻,未校对


The Iceberg Secret, Revealed

冰山的秘密,揭晓

“I don’t know what’s wrong with my development team,” the CEO thinks to himself. “Things were going so well when we started this project. For the first couple of weeks, the team cranked like crazy and got a great prototype working. But since then, things seem to have slowed to a crawl. They’re just not working hard any more.” He chooses a Callaway Titanium Driver and sends the caddy to fetch an ice-cold lemonade. “Maybe if I fire a couple of laggards that’ll light a fire under them!”
“我不知道我的开发团队出了什么问题,” 首席执行官心想。“当我们开始这个项目时,事情进展得非常顺利。在最初的几周里,团队疯狂地运转,并得到了一个很棒的原型。但从那以后,事情似乎已经放缓了。他们只是不再努力工作了。他选择了卡拉威钛合金驱动器,并派球童去取冰镇柠檬水。“也许如果我开火几个落后者,就会在他们下面点燃一把火!”

Meanwhile, of course, the development team has no idea that anything’s wrong. In fact, nothing is wrong. They’re right on schedule.
当然,与此同时,开发团队并不知道有什么不对劲。事实上,没有什么不对的。他们按计划进行。

Don’t let this happen to you! I’m going to let you in on a little secret about those non-technical management types that will make your life a million times easier. It’s real simple. Once you know my secret, you’ll never have trouble working with non-technical managers again (unless you get into an argument over the coefficient of restitution of their golf clubs).
不要让这种情况发生在你身上!我要告诉你一个关于那些非技术管理类型的小秘密,这些管理类型会让你的生活轻松一百万倍。这真的很简单。一旦你知道了我的秘密,你就再也不会遇到与非技术经理合作的麻烦了(除非你为他们的高尔夫球杆的归还系数而发生争执)。

It’s pretty clear that programmers think in one language, and MBAs think in another. I’ve been thinking about the problem of communication in software management for a while, because it’s pretty clear to me that the power and rewards accrue to those rare individuals who know how to translate between Programmerese and MBAese.
很明显,程序员用一种语言思考,而 MBA 用另一种语言思考。我一直在思考软件管理中的沟通问题,因为我很清楚,那些知道如何在 Programmerese 和 MBAese 之间进行翻译的少数人获得了力量和回报。

Since I started working in the software industry, almost all the software I’ve worked on has been what might be called “speculative” software. That is, the software is not being built for a particular customer — it’s being built in hopes that zillions of people will buy it. But many software developers don’t have that luxury. They may be consultants developing a project for a single client, or they may be in-house programmers working on a complicated corporate whatsit for Accounting (or whatever it is you in-house programmers do; it’s rather mysterious to me).
自从我开始在软件行业工作以来,我从事过的几乎所有软件都是所谓的 “投机” 软件。也就是说,该软件不是为特定客户构建的,而是希望成千上万的人会购买它。但许多软件开发人员没有这种奢侈。他们可能是为单个客户开发项目的顾问,也可能是内部程序员,负责复杂的会计公司工作(或者你们内部程序员所做的任何事情,这对我来说相当神秘)。

Have you ever noticed that on these custom projects, the single most common cause of overruns, failures, and general miserableness always boils down to, basically, “the (insert expletive here) customer didn’t know what they wanted?”
你有没有注意到,在这些定制项目中,超支、失败和普遍痛苦的最常见原因总是归结为,基本上,“(在这里插入脏话)客户不知道他们想要什么?

Here are three versions of the same pathology:
以下是相同内因的三个版本:

  1. “The damn customer kept changing his mind. First he wanted Client/Server. Then he read about XML in Delta Airlines Inflight Magazine and decided he had to have XML. Now we’re rewriting the thing to use fleets of small Lego Mindstorms Robots.”
    “该死的顾客一直在改变主意。首先,他想要客户端 / 服务器。然后,他在《达美航空机上杂志》上读到了有关 XML 的信息,并决定他必须使用 XML。现在我们正在重写这个东西,使用小型乐高头脑风暴机器人的舰队。

  2. “We built it exactly the way they wanted. The contract specified the whole thing down to the smallest detail. We delivered exactly what the contract said. But when we delivered it, they were crestfallen.”
    “我们完全按照他们想要的方式建造它。合同规定了整个事情,直到最小的细节。我们完全按照合同的规定交付。但当我们交付它时,他们被吓坏了。

  3. “Our miserable sales person agreed to a fixed price contract to build what was basically unspecified, and the customer’s lawyers were sharp enough to get a clause in the contract that they don’t have to pay us until ‘acceptance by customer,’ so we had to put a team of nine developers on their project for two years and only got paid $800.”
    “我们可怜的销售人员同意了一份固定价格的合同来建造基本上没有指定的东西,而客户的律师足够敏锐,在合同中有一个条款,即在 ’ 客户接受 ’ 之前,他们不必向我们付款,所以我们不得不在他们的项目上组建一个由九名开发人员组成的团队两年,只得到了 800 美元的报酬。”

If there’s one thing every junior consultant needs to have injected into their head with a heavy duty 2500 RPM DeWalt Drill, it’s this: Customers Don’t Know What They Want. Stop Expecting Customers to Know What They Want. It’s just never going to happen. Get over it.
如果每个初级顾问都需要用重型 2500 RPM DeWalt Drill 向他们的脑袋注入一件事,那就是:客户不知道他们想要什么。不要再指望客户知道他们想要什么。这永远不会发生。克服它。

Instead, assume that you’re going to have to build something anyway, and the customer is going to have to like it, but they’re going to be a little bit surprised. YOU have to do the research. YOU have to figure out a design that solves the problem that the customer has in a pleasing way.
相反,假设你无论如何都必须构建一些东西,客户将不得不喜欢它,但他们会有点惊讶。你必须做研究。你必须想出一个设计,以一种令人愉悦的方式解决客户的问题。

Put yourself in their shoes. Imagine that you’ve just made $100,000,000 selling your company to Yahoo!, and you’ve decided that it’s about time to renovate your kitchen. So you hire an expert architect with instructions to make it “as cool as Will and Grace’s Kitchen.” You have no idea how to accomplish this. You don’t know that you want a Viking stove and a Subzero refrigerator — these are not words in your vocabulary. You want the architect to do something good, that’s why you hired him.
设身处地为他们着想。想象一下,你刚刚赚了 100,000,000 美元,把你的公司卖给了雅虎,你已经决定是时候翻新你的厨房了。因此,您聘请了一位专业建筑师,并指示它 “像威尔和格蕾丝的厨房一样酷”。你不知道如何做到这一点。你不知道你想要一个维京炉子和一个零度以下的冰箱 —— 这些都不是你词汇中的词。你希望建筑师做一些好事,这就是你雇用他的原因。

The Extreme Programming folks say that the solution to this is to get the customer in the room and involve them in the design process every step of the way, as a member of the development team. This is, I think, a bit too “extreme.” It’s as if my architect made me show up while they were designing the kitchen and asked me to provide input on every little detail. It’s boring for me, if I wanted to be an architect I would have become an architect.
极限编程人员说,解决这个问题的办法是让客户参与进来,让他们作为开发团队的一员参与到设计过程的每一步中。我认为这有点太 “极端” 了。就好像我的建筑师在设计厨房时让我出现,并要求我对每一个小细节提供意见。这对我来说很无聊,如果我想成为一名建筑师,我会成为一名建筑师。

Anyway, you don’t really want a customer on your team, do you? The customer-nominee is just as likely to wind up being some poor dweeb from Accounts Payable who got sent to work with the programmers because he was the slowest worker over there and they would barely notice his absence. And you’re just going to spend all your design time explaining things in words of one syllable.
无论如何,你真的不希望你的团队中有客户,是吗?客户提名人很可能最终成为应付账款部门的一些可怜的 dweeb,他被派去与程序员一起工作,因为他是那边最慢的工人,他们几乎不会注意到他的缺席。你只需要把所有的设计时间都花在用一个音节的单词来解释事物上。

Assume that your customers don’t know what they want. Design it yourself, based on your understanding of the domain. If you need to spend some time learning about the domain or if you need a domain expert to help you, that’s fine, but the design of the software is your job. If you do your domain homework and create a good UI, the customer will be pleased.
假设您的客户不知道他们想要什么。根据您对领域的理解,自行设计。如果你需要花一些时间了解这个领域,或者你需要一个领域专家来帮助你,那很好,但软件的设计是你的工作。如果您做好了域功课并创建了良好的用户界面,客户会很高兴。

Now, I promised to tell you a secret about translating between the language of the customers (or nontechnical managers) of your software and the language of programmers.
现在,我答应告诉你一个秘密,关于在你的软件的客户(或非技术经理)的语言和程序员的语言之间进行翻译。

You know how an iceberg is 90% underwater? Well, most software is like that too — there’s a pretty user interface that takes about 10% of the work, and then 90% of the programming work is under the covers. And if you take into account the fact that about half of your time is spent fixing bugs, the UI only takes 5% of the work. And if you limit yourself to the visual part of the UI, the pixels, what you would see in PowerPoint, now we’re talking less than 1%.
你知道冰山 90% 都在水下吗?嗯,大多数软件也是这样 —— 有一个漂亮的用户界面,它占用了大约 10% 的工作,然后 90% 的编程工作都在幕后进行。而且,如果您考虑到大约一半的时间花在修复错误上,那么 UI 只占用了 5% 的工作。如果你把自己限制在 UI 的视觉部分,像素,你会在 PowerPoint 中看到什么,现在我们谈论的是不到 1%。

That’s not the secret. The secret is that People Who Aren’t Programmers Do Not Understand This.
这不是秘密。秘诀在于,不是程序员的人不明白这一点。

There are some very, very important corollaries to the Iceberg Secret.
冰山秘密有一些非常非常重要的推论。

Important Corollary One. If you show a nonprogrammer a screen which has a user interface that is 90% worse, they will think that the program is 90% worse.
重要的推论一。如果你向非程序员展示一个屏幕,其用户界面差了 90%,他们会认为程序差了 90%。

I learned this lesson as a consultant, when I did a demo of a major web-based project for a client’s executive team. The project was almost 100% code complete. We were still waiting for the graphic designer to choose fonts and colors and draw the cool 3-D tabs. In the meantime, we just used plain fonts and black and white, there was a bunch of ugly wasted space on the screen, basically it didn’t look very good at all. But 100% of the functionality was there and was doing some pretty amazing stuff.
作为一名顾问,当我为客户的执行团队做一个基于网络的大型项目的演示时,我学到了这一课。该项目几乎 100% 完成了代码。我们仍在等待平面设计师选择字体和颜色并绘制很酷的 3D 选项卡。同时,我们只是用了纯字体和黑白,屏幕上有一堆丑陋的浪费空间,基本上看起来一点都不太好。但是 100% 的功能都在那里,并且正在做一些非常了不起的事情。

What happened during the demo? The clients spent the entire meeting griping about the graphical appearance of the screen. They weren’t even talking about the UI. Just the graphical appearance. “It just doesn’t look slick,” complained their project manager. That’s all they could think about. We couldn’t get them to think about the actual functionality. Obviously fixing the graphic design took about one day. It was almost as if they thought they had hired painters.
演示期间发生了什么?客户在整个会议期间都在抱怨屏幕的图形外观。他们甚至没有谈论 UI。只是图形外观。“它看起来并不光滑,” 他们的项目经理抱怨道。这就是他们所能想到的。我们无法让他们考虑实际功能。显然,修复图形设计大约需要一天时间。就好像他们以为他们雇佣了画家一样。

Important Corollary Two. If you show a nonprogrammer a screen which has a user interface which is 100% beautiful, they will think the program is almost done.
重要的推论二。如果你向一个非程序员展示一个屏幕,它的用户界面是 100% 漂亮的,他们会认为程序几乎完成了。

People who aren’t programmers are just looking at the screen and seeing some pixels. And if the pixels look like they make up a program which does something, they think “oh, gosh, how much harder could it be to make it actually work?
不是程序员的人只是看着屏幕,看到一些像素。如果像素看起来像是组成了一个程序,可以做一些事情,他们会想 “哦,天哪,让它真正工作有多难?

The big risk here is that if you mock up the UI first, presumably so you can get some conversations going with the customer, then everybody’s going to think you’re almost done. And then when you spend the next year working “under the covers,” so to speak, nobody will really see what you’re doing and they’ll think it’s nothing.
这里最大的风险是,如果你先模拟 UI,大概这样你就可以与客户进行一些对话,那么每个人都会认为你快完成了。然后,当你在接下来的一年里 “在幕后” 工作时,可以这么说,没有人会真正看到你在做什么,他们会认为这没什么。

Important Corollary Three. The dotcom that has the cool, polished looking web site and about four web pages will get a higher valuation than the highly functional dotcom with 3700 years of archives and a default grey background.
重要的推论三。拥有酷炫、精美的网站和大约四个网页的互联网公司将获得比拥有 3700 年档案和默认灰色背景的高性能互联网公司更高的估值。

Oh, wait, dotcoms aren’t worth anything any more. Never mind.
哦,等等,互联网已经一文不值了。没关系。

Important Corollary Four. When politics demands that various nontechnical managers or customers “sign off” on a project, give them several versions of the graphic design to choose from.
重要的推论四。当政治要求各种非技术经理或客户 “签字” 一个项目时,给他们几个版本的图形设计供他们选择。

Vary the placement of some things, change the look and feel and fonts, move the logo and make it bigger or smaller. Let them feel important by giving them non-crucial lipstick-on-a-chicken stuff to muck around with. They can’t do much damage to your schedule here. A good interior decorator is constantly bringing their client swatches and samples and stuff to choose from. But they would never discuss dishwasher placement with the client. It goes next to the sink, no matter what the client wants. There’s no sense wasting time arguing about where the dishwasher goes, it has to go next to the sink, don’t even bring it up; let the clients get their design kicks doing some harmless thing like changing their mind 200 times about whether to use Italian Granite or Mexican Tiles or Norwegian wood butcher-block for the countertops.
改变一些东西的位置,改变外观和字体,移动徽标并使其变大或变小。让他们觉得自己很重要,给他们一些不重要的口红放在鸡肉上的东西来弄乱。他们不会对你的日程安排造成太大的损害。一个好的室内装饰师会不断地为他们的客户提供样本、样品和东西供您选择。但他们绝不会与客户讨论洗碗机的放置。无论客户想要什么,它都会放在水槽旁边。浪费时间争论洗碗机的去向是没有意义的,它必须放在水槽旁边,甚至不要把它提起来;让客户做一些无害的事情,比如改变主意 200 次,决定是否使用意大利花岗岩或墨西哥瓷砖或挪威木制肉块作为台面。

Important Corollary Five. When you’re showing off, the only thing that matters is the screen shot. Make it 100% beautiful.
重要的推论五。当你炫耀时,唯一重要的是屏幕截图。让它 100% 美丽。

Don’t, for a minute, think that you can get away with asking anybody to imagine how cool this would be. Don’t think that they’re looking at the functionality. They’re not. They want to see pretty pixels.
不要以为你可以让任何人想象这会有多酷。不要以为他们在看功能。他们不是。他们希望看到漂亮的像素。

Steve Jobs understands this. Oh boy does he understand this. Engineers at Apple have learned to do things that make for great screen shots, like the gorgeous new 1024×1024 icons in the dock, even if they waste valuable real estate. And the Linux desktop crowd goes crazy about semitransparent xterms, which make for good screenshots but are usually annoying to use. Every time Gnome or KDE announces a new release I go straight to the screenshots and say, “oh, they changed the planet from Jupiter to Saturn. Cool.” Never mind what they really did.
史蒂夫・乔布斯明白这一点。哦,天哪,他明白这一点。苹果的工程师们已经学会了做一些事情,比如在扩展坞里展示华丽的新 1024×1024 图标,即使它们浪费了宝贵的空间。Linux 桌面人群对半透明的 xterms 感到疯狂,这些术语可以制作出很好的屏幕截图,但通常使用起来很烦人。每当 Gnome 或 KDE 宣布新版本时,我都会直接去看截图,然后说,“哦,他们把地球从木星变成了土星。太酷了。别管他们到底做了什么。

Remember the CEO at the beginning of this article? He was unhappy because his team had showed him great PowerPoints at the beginning — mockups, created in Photoshop, not even VB. And now that they’re actually getting stuff done under the covers, it looks like they’re not doing anything.
还记得本文开头的 CEO 吗?他很不高兴,因为他的团队一开始就向他展示了很棒的 PowerPoint—— 用 Photoshop 创建的模型,甚至没有 VB。现在他们实际上是在幕后完成工作,看起来他们什么都没做。

What can you do about this? Once you understand the Iceberg Secret, it’s easy to work with it. Understand that any demos you do in a darkened room with a projector are going to be all about pixels. If you can, build your UI in such a way that unfinished parts look unfinished. For example, use scrawls for the icons on the toolbar until the functionality is there. As you’re building your web service, you may want to consider actually leaving out features from the home page until those features are built. That way people can watch the home page go from 3 commands to 20 commands as more things get built.
你能做些什么呢?一旦你了解了冰山的秘密,就很容易使用它。要知道,你在黑暗的房间里用投影仪做的任何演示都是关于像素的。如果可以,请以未完成的部件看起来未完成的方式构建 UI。例如,对工具栏上的图标使用潦草,直到功能出现为止。在构建 Web 服务时,可能需要考虑在构建这些功能之前从主页中实际省略这些功能。这样一来,随着更多内容的构建,人们可以看到主页从 3 个命令变为 20 个命令。

More importantly, make sure you control what people think about the schedule. Provide a detailed schedule in Excel format. Every week, send out self-congratulatory email talking about how you’ve moved from 32% complete to 35% complete and are on track to ship on December 25th. Make sure that the actual facts dominate any thinking about whether the project is moving forward at the right speed. And don’t let your boss use Callaway Titanium Drivers, I don’t care how much you want him to win, the USGA has banned them and it’s just not fair.
更重要的是,确保你控制人们对时间表的看法。以 Excel 格式提供详细的时间表。每周,发送一封自我祝贺电子邮件,谈论您如何从 32% 完成到 35% 完成,并有望在 12 月 25 日发货。确保实际事实主导了对项目是否以正确的速度推进的任何思考。不要让你的老板使用卡拉威钛发球杆,我不在乎你希望他赢多少,USGA 已经禁止了他们,这是不公平的。


via:

  • 29
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值