陈小涛的技术学习笔记

我眼里的好东西应该长这样

这里说的"好东西",不是指某个具体的物件,而是我自己在做、在用、在挑的时候,心里那把尺子。纯个人标准,不一定对,但很诚实。它帮我砍掉过不少花里胡哨、却没人真正需要的念头。下面每一条,我都配一个自己碰过的真事,省得变成空话。

解决真问题 用着不折腾 稳当可靠 该简单就简单 尊重用的人 能一直用
解决真问题 用着不折腾 稳当可靠
这三条,比"功能多"重要得多

一、先解决一个真问题

好东西的第一步,是有人真的需要它。不是"我技术很牛所以做个出来",而是"有件事一直很麻烦,它把它解决了"。问题够真,东西才有根。我见过太多花哨但没人用的玩意儿,根子就在这。

我自己也踩过这个坑。下面这条线,是前几年我做的几个"看起来很酷、最后没人碰"的东西:

后来我学会先问一句:"这事在没人帮忙的时候,到底卡在哪?"答得上来,才动手。答不上来,多半是我自己觉得它该有用,而不是谁真需要。

举个我自己的:有阵子我想做个能批量整理资料的东西,觉得特有用。可做出来一问,大家说"我就偶尔用一次,不值得为它开个新东西"。后来改成随手就能用的一次性小法子,反而真有人用。差别就在:前面是我"觉得"有用,后面是对方"真的"会用。所以我现在判断一个东西值不值得做,先看有没有人愿意为它改变自己的习惯——愿意,才是真问题。

二、用起来不折腾人

一打开就要先学一遍用法、要配八项设置才能动,这体验就很差。好的东西应该是:你大概猜一下就能用,关键路径越短越好。把复杂留给自己,把简单留给用的人。落到动作上,其实就是这几步:

  1. 想清楚别人为啥要打开它——那个最核心的动作,必须一步就能到。
  2. 把设置藏到后面——默认就能跑,需要深究的人再去翻。
  3. 报错说人话——别甩一串只有内行才懂的字,告诉人家"哪里不对、怎么改"。
  4. 自己当回小白试一次——隔几天完全按"第一次用"的状态走一遍,哪卡住改哪。

我有个很深的体会:一个原本要七步才能用的流程,砍到三步,愿意用的人会多一大截。省下的那几步,省的是别人的耐心,而这耐心恰恰是最贵的。

我做过一个对照:同样一件事,第一版要填五个框、选三种模式;第二版把默认填好,只留一个必填项。结果第二版的使用率明显高。不是大家懒,是每个人的耐心都有上限,你把门槛降到他"不假思索就能跨过",他才愿意试。反过来,每多一个要他动脑子的地方,就多一分他关掉走人的可能。

三、稳当,比花哨重要

偶尔出点小毛病可以理解,但动不动就崩、数据说没就没,那再好看也没人敢用。可靠是一种长期的信任,得一天天攒。我把"少出事"放在"多炫技"前面。关于这点,几个常被问到的:

新功能很吸引人,要不要先上?

先问它会不会动到原本稳的部分。会,就先别动;不会,再谈加。稳,是已有的东西,别拿它去赌没影的亮点。

出了问题怎么算及格?

能很快发现、很快恢复、且不再犯同样的错,就算守住了。怕的是出了不知道、知道了修不好、修好还会再犯。

小毛病忍忍行不行?

不行。信任是一次次小事故里漏光的。今天忍一个,明天就少一个人敢用。

我现在加任何新东西之前,都会先想一句:"它要是出错了,最坏会怎样?"答得心里没底,就先不做,或者先做个最简单的版本试试水。比如一个自动处理的环节,我会先让它"只报告、不执行",观察一阵确认它判断得对,再放开手脚让它真去干。这多一道保险,却少无数次半夜被叫起来救火。

四、该简单的地方就简单

不是功能越多越好。每个多加的开关,都是用的人多一次犹豫。好的做法是:常用的一眼看到,不常用的藏起来,而不是把所有能力摊在脸上。克制,是种体贴。我给"加不加"这件事打了个分:

常用功能一眼看到高优先
不常用功能藏起来推荐
为显专业堆开关尽量别
照搬别人的功能列表别跟风

我做过一个反面教材:为了让别人觉得"专业",硬加了一排高级开关。结果过了俩月,连我自己都忘了其中某几个是干嘛的。最后全砍了,界面清爽了,反而收到一句"现在好懂多了"。

五、尊重用的人

"好东西背后,是把对方当聪明人:不说废话、不弹无关内容、不偷偷拿数据乱传。信任一旦破了,再好的功能也补不回来。 —— 陈小涛

这一点我特别在意。用的人把时间、甚至一些信息交给你,是种托付。反过来,把他当流量、当数据点去榨,是对这份托付的辜负。短期可能看不出,长期一定反噬。我至今记得一次:某个东西偷偷把用的人行为传了出去,被知道后,之前攒下的好感一夜清零,再多的功能也没人愿意碰了。

所以我定了一条死规矩:凡是涉及用的人信息的部分,默认不碰、不传、不默不作声地收集。宁可功能少一点,也不拿信任去换。这条没得商量。

六、能一直用下去

今天能用、明天就没了,不算好。好的东西得让人放心:它会在、它稳定、它不会突然变个样把人搞晕。长期主义,是这个标准里最贵的一条。

"一直用"具体意味着:不到不得已不随便大改样子,升级之前先想老用户怎么过渡,重要的变化提前说清楚。让人每次打开都像见到老朋友,而不是又得重新学一遍。

我有个习惯:任何要改样子的大动作,先在纸上列"老用户会受到什么影响",有一项答不上来,就暂缓。稳,不是不进步,是进步得让人有预期。今天用得好好的,明天一打开全变了——这种惊吓,最容易把人劝退。

坑点:别为了"显得专业"堆功能。每增加一项,维护成本、出毛病的概率、用的人理解成本都跟着涨。加之前先问:这事真有人天天需要吗?答不上来就先别加。

小结

所以这把尺子其实就一句话:真解决问题、用着顺、靠得住、不折腾人。做到这几点,哪怕样子普通,也是个好东西。反过来,功能再花、看着再高级,只要根上没解决真问题、用着别扭、还老出事,它就还是个"不好"的东西。标准朴素,但照着做,能少走很多弯路。