做了几个很小的随机工具后,我才发现小工具也不好做
我最近在做一个叫 WheelPage 的网站。
里面没有什么复杂功能,主要就是几个在线随机工具:转盘、3D 骰子、抛硬币。
一上来做这些东西的时候,我其实有点轻敌。
转盘就是从几个选项里抽一个,骰子就是随机一个点数,硬币就是正面或者反面。听起来都很简单,甚至简单到不像一个正经项目。
但真正动手之后,我发现自己经常卡住。
不是卡在技术上,而是卡在一些很小的判断里:
- 这个按钮要不要放出来?
- 这个动画是不是多余?
- 这个功能现在加,会不会让页面变复杂?
- 如果不加,别人会不会觉得它太简陋?
这些问题都不大,但它们反复出现,极度消耗精力。
最先让我停下来的是骰子
骰子这个工具,最简单的版本很好做。
放一个按钮,点一下,页面上从 1 到 6 随机弹出一个数字。结果是对的,功能也是全的。
但我看着页面上的数字,心里总觉得差一点。它太像一个冷冰冰的"随机数生成器",而不像一颗骰子。
现实里掷骰子,其实多了一个很短的物理过程:你会看到它滚几下、停下来、结果才定格。这个过程极短,但少了它,感觉就全变了。
所以我后来连夜把它改成了 3D 骰子。
但做完之后,我又开始死磕动画时间:动画短了,像页面闪了一下,体验很假;动画长了,又显得拖沓,让人不耐烦。
我自己坐在电脑前反复点了不下几百次,越点越觉得好笑------一个这么小的骰子,居然也能让我调这么久。
后来我才意识到,我纠结的不是动画本身,我是在纠结一个小工具的边界:它得有仪式感,但绝不能因为仪式感而变麻烦。
功能是最容易越加越多的
做骰子的时候,作为开发者,我的脑子里很自然地会蹦出很多功能:
- 支持多个骰子一起扔
- 自动记录历史数据
- 掷骰子的音效
- 跑团用的 D20 等各类专业骰子
- 自定义颜色、复制结果......
这些功能单独拿出来,每一个都说得通。如果从开发者的角度看,能多做一点,好像产品就更完整、更厉害一点。
可如果换成真实的场景,很多时候人只是临时需要一颗骰子。
他可能是在和朋友玩桌游,手边刚好漏带了道具;也可能只是纯粹想随便摇个号。他点进来,是为了立刻得到一个结果,而不是来研究一个"骰子模拟器"的说明书。
我以前总觉得功能多一点没坏处,现在会稍微克制一点了。
每个功能单独看都是合理的,加在一起就是灾难。 面对一个小工具,学会在什么时候停手,比学会怎么写代码要难得多。
三个小东西,其实性格完全不一样
后来做转盘和硬币时,我慢慢发现,这三个小东西的交互逻辑完全不同。
- 转盘需要管理一组选项(比如今天吃什么、课堂点名),所以它属于"重交互",添加、打乱、排序这些功能是合理的。但最核心的依然是三件事:在哪里输入,怎么开始,结果在哪里。其他功能可以存在,但绝不能挡住主流程。
- 抛硬币则应该"轻"到极致。 它就是为了解决二选一的纠结,两件事都可以,不想继续内耗了,交给硬币。它最不需要的就是复杂的规则和多余的按钮。
越简单的工具,越不能乱加东西。因为它本来就只剩下很少的部分,你每多塞一个按钮,都会显得极其突兀。
"用完就走"的释怀
以前总觉得,做一个网站,要想办法延长用户的停留时间,想办法让他们多点几个页面,或者想办法用各种手段引导他们下次再来。
但做完这几个工具之后,我对这件事完全释怀了。
转盘、骰子、抛硬币,本来就不是让人长时间驻留的产品。需要的时候打开,点一下,拿到结果,然后关掉网页去继续现实生活。这太正常了,甚至可以说是最健康的闭环。
如果它在用户需要的那一刻没有让人多想,没有让人觉得麻烦,它就已经完成任务了。
有些工具,能做到少打扰一点,就挺好。
现在的状态
目前这个站点我还在慢慢调整。
数据上算不上惊艳,Bing 已经陆陆续续带了一些曝光和点击进来,Google 这边基本没流量,建立索引还比较慢。但我现在没有急着去堆新的功能。
我把心思全花在了那些看不见的死死角上:
- 手机上单手拿着时,大拇指能不能顺手点到按钮?
- 页面打开速度能不能再压掉几十毫秒,做到秒开?
- 中英文的文案表述是不是足够自然,有没有机翻的生硬感?
这些事情听起来很琐碎,但比多加几个花哨的按钮重要得多。
做这些工具之前,我以为它们简单;做完之后才明白,东西越小,越考验创作者取舍的定力。
我现在对它的期待也变简单了。不一定要很大,也不一定要很热闹。只要有人在需要的时候打开它,顺手用完,然后不觉得被打扰,就已经挺好。
目前这几个页面在这里: