第四章 优先级
第一节 什么是好创意?
明确定义 app 的核心愿景
你的 app 是用来做什么的?在开始设计和敲代码前,你需要知道产品的目的是什么——产品的愿景。大胆设想。它存在的意义是什么?它和相似产品的区别在哪里?
这个愿景会指引你的决策,确保你不偏离方向。当你遇到难点的时候,自问,“我们是否坚持自己的愿景?”
你的愿景应该是简明扼要的。一句话就可以表达清楚。下面是我们一些产品的愿景:
Basecamp: 项目管理的本质就是沟通
Backpack:将生活中的零星问题联系起来
Campfire:用即时通讯软件进行的群组聊天太糟了
Ta-da List:与便利贴竞争
Writeboard:使用 Word 是小题大作
以 Basecamp 为例,我们强烈地感受到,一个项目的高效沟通能带来团队成员的集体归属感,参与感,投入和冲劲。让所有人为一个共同的目标工作。我们认为,如果 Basecamp 能够做到这一点,其余的就水到渠成了。
因为这个愿景,我们尽可能让 Basecamp 保持开放和透明。我们并不将其限制于内部沟通,客户同样有访问权限。我们更多考虑的是鼓励每个成员的参与,而不是各种权限。这让我们略过了图表、曲线、表格、报告、统计等等,专注于沟通,例如消息、评论、待办列表、共享文件等。把事关愿景的重要决策放在前面,未来一些小决定就会简单得多。
白板哲学
Andy Hunt 和我曾经写过一个借记卡交易开关。主要需求是,借记卡的使用者不会在同一个交易上两次使用他们的帐号。换句话说,无论什么情况,错误只会导致交易过程失败,不会导致交易过程重复。
所以,我们在白板上写下了这几个字:错误对用户有利。
之后又添加了几句类似的原则。当你搭建复杂项目时,它们会给你正确的指引,让我们的应用保持良好的内部一致性。
编写咒语
组织需要目标和大纲。作为员工,他们需要知道每天起床之后为何工作。这个大纲应该简洁明了,并包含以下信息:你为何存在?你的动力是什么?我把这称为咒语——用三四个字来描述你为何存在。
第二节 在早期忽略细节
自大而小地工作
我们痴迷于细节。
- 对象之间的间距
- 完美的领导理念
- 完美的颜色
- 完美的语句
- 极简的代码
- 90% 还是 89%
- 760px 还是 750px
- 39元/月 还是 49元/月
成功和满足来自于细节。
然而,成功并不是你能在细节里找到的唯一事物。你还会找到停滞、争论、会议、延迟。这些东西会消耗士气,降低成功的概率。
你被一个单一的设计或一段代码困住一整天的概率有多高?是否经常发现自己取得的进展并不是真正的进展?当你过早地陷入过程细节时就会发生这些。你有足够的时间来成为完美主义者,但不是现在。
不要在第一周就开始操心标题的字体大小。也无需在第二周就确定一个完美的绿色。不用在第三周就考虑把“提交”按钮往右移动3个像素。只要先把元素放上页面,然后使用它。确保它能正常工作。之后你可以再调整并使之完美。
在你使用的过程在,细节会自己显现出来。你会知道哪些部分需要格外注意。你会察觉到缺失了什么。你一直在使用,所以会知道有哪些坑需要填平。不要过早付出不必要的关注。
魔鬼在细节中
在学过一些绘画课程后,我克服了“马上进入细节”的态度。如果你一开始就马上画细节,你会知道这幅画一定搞砸了。事实上,你会完全迷失重点。
你应该首先规划整体的比例,之后从大到小,画出草图,草图应该是十分松散的。然后你可以开始上色,一开始只画三种色调(明、中、暗)。这样你就得到了一幅色调草图。接下来,对于画作的每个部分,使用重新评估过的三种色调进行上色。直到作品完成。
永远遵从从大到小的工作方式。
—— *Patrick Lafleur, Creation Objet Inc. (from Signal vs. Noise) *
第三节 问题出现了再操心
不要把时间耗费在你还没遇到的问题上
如果需要两年的时间才能达到十万个用户的规模,你是否有必要在今天就考虑这个问题?
如果你只需要3天时间,是否有必要雇佣8个程序员?
如果你在一年的时间内只需要2台服务器,是否有必要配置12台顶级服务器?
即兴发挥
人们常常耗费来太多的时间来尝试解决他们还没遇到的问题。千万不要这样。糟糕,我们在还不能给用户发账单的情况下就发布了 Basecamp !可是账单是每月生成的,我们知道还有 30 天的时间来填补空缺。我们利用这段时间来解决更紧急的问题,在产品发布之后,我们才开始解决账单的问题。一切顺利(这也逼迫我们找出简单的解决方案,避免花哨无用的功能)。
如非必要,不要担心一些小事。不要过度开发。按需增加硬件和系统软件。进度慢了一两周不是世界末日。保持坦诚:向你的用户解释你遇到了一些发展初期的困难。他们不会因此而激动,反而会欣赏你的坦诚。
关键:一旦你获得了所需的信息,及时作出决策。这样,你就能把注意力放在那些急需解决的问题上。
第四节 找到合适的客户
找到产品的核心市场,只关注他们
客户不是永远正确的。你必须区分对错。好消息是,互联网让搜寻正确的用户变得无比简单。
如果你想取悦所有人,你就无法取悦任何人
当我们开发 Basecamp 时,我们关注的市场是设计公司。通过收缩市场范围,我们更有可能吸引到充满热情的用户,这些用户能够反过来成为产品的传道者。找到产品的核心用户,尽力取悦于他们。
我们的最佳决策
将 Campaingn Monitor 的目标市场定位为网页设计,这是我们做出的最佳决策。这让我们很容易确定哪些功能是有用的,更重要的是,确定哪些功能可以剔除。通过定位在小范围人群,我们获得了更多的用户,这些用户的需求相似,又反过来使我们的工作变得更简单。我们的许多功能对网页设计师以为的人群是毫无用处的。
专注于核心市场也便于产品宣传。我们有一群精确定位的客户,我们可以在他们经常出没的地方投放广告,发布他们可能感兴趣的文章,并围绕产品逐渐建立一个社区。
—— David Greiner,Campaign Monitor 创始人
第五节 不要着急扩张
你还没有遇到规模的问题
“我们的 App 能够达到百万用户级别的规模吗?”
你知道吗?等这发生了再说吧。如果你因为用户过多而导致系统过载,那么欢呼吧!这是一个幸福的问题。事实是大多数的应用都无法到达这一步。即使你已经遇到了系统过载,这也不是一个非生即死的问题。你有时间来调整和反馈。此外,当你发布产品后,你还拥有了更多的真实数据和指标来找出需要解决的区域。
例如,Basecamp 在发布的第一年只运行于一台服务器上。因为我们只使用了一个简单的设置,只需要一周的时间来配置。我们并未在一开始就启用15台大型服务器或花费数月的时间来考虑扩张的问题。
我们是否遇到过一些问题呢?有一些。但我们知道,我们所害怕的大多数问题,对于用户来说并不是什么大事。随着用户进入这个社区,并对各类情况保持坦诚,他们会理解的。回顾过去,我们很高兴当时没有将发布时间延迟数月来创建一个“完美的设置。”
一开始,专注于构建一个稳固的产品核心,而不是迷恋于规模扩张或服务器集群。先创造一个优秀的 app,之后再关心如果它成功了该做什么。否则你会把大量的时间、精力和金钱浪费在根本不会发生的事情上。
信不信,更大的问题不是扩张,而是成长到一个你必须扩张的规模。没遇到第一个问题,你就不需解决第二个问题。
你必须重新审视
事实是,每个人都有扩张的问题,没人能够从 0 到几百万用户的过程中不重新审视设计和架构的方方面面。
—— Dare Obasanjo,微软 (from 规模扩张与创业公司)
第六节 软件要有性格
你的 app 必须有倾向性
有些人信奉软件不可知论。他们认为开发者限制软件功能或忽视功能要求是一种傲慢。他们认为软件越灵活越好。
我们认为这是扯淡。最好的软件是有愿景的。最好的软件是有倾向性的。人们使用软件的时候,不仅仅是在寻找功能,更是在寻找一个方法。他们在寻找一种愿景。确定你的愿景,向着它前进。
记住,如果他们不喜欢你的愿景,还有许多其它的选择。不要追逐用户,你永远无法使他们满意。
维基的原型设计是一个绝佳的案例。Ward Cunningham 和朋友们故意移除了一些过去被认为是文档协作所不可或缺的功能。他们移除了大部分对于所有权的视觉表现,不将文档的修改归因于某个人。他们消除了内容的个人属性和时间属性。他们认为,何人何时创建了内容并不重要。所有的差异化均来自于此。这个决定培养了社区的分享意识,也是维基百科成功的关键。
我们的应用遵循了类似的路径。他们不是一劳永逸的方案。他们是有态度的。他们寻找那些可以称之为同伴的客户。要么上车,要么下车,必须二选一。