文章摘要
在软件开发中,速度往往被忽视,但快速的软件能显著改变用户行为。开发者能更频繁地发布代码,AI代码补全使跨语言原型设计成为可能,实时流媒体支持远程工作。相反,慢速软件限制了效率。快速软件消除了认知摩擦,如Raycast和Superhuman的快速响应,以及Mercury的即时结算,都展示了速度的魔力。尽管速度的重要性常被低估,但它对用户体验和效率的影响是深远的。
文章总结
快速:软件中的魔法
在软件开发中,很少有人会直接要求“快速”。我们通常关注的是功能、批量折扣或数据集成,却很少想到去要求速度。然而,快速的软件能够改变用户的行为。
开发者们在代码部署时间从分钟缩短到秒(甚至毫秒)时,会更频繁地发布更新。AI代码补全功能让我们能够用不熟悉的语言快速构建原型。实时流媒体技术则让远程工作成为可能。
相反,缓慢的软件对我们的限制往往超出我们的想象。比如,使用飞机上的WiFi时,你可能会发送几条Slack消息或回复几封邮件,但Google Docs可能只有一半时间能正常工作,最终你可能会放弃。而Instagram通常表现良好,因为Facebook深知速度的重要性。
快速软件消除了认知摩擦。例如,Raycast在你输入完成前就能弹出正确的应用程序,感觉就像是思维的延伸。Superhuman的“低于100毫秒”规则和其对键盘快捷键的专注,彻底改变了电子邮件体验,至今无人能复制,更不用说超越了。最近,我使用Mercury向另一家使用Mercury的企业付款,其即时结算功能在银行转账通常需要数天的世界中显得格外惊人。
没有人会因为这些工具的速度而明确赞扬它们,但它们确实让人感到神奇。
快速意味着简洁,这在代码和内容泛滥的世界中尤为罕见。快速的软件无处隐藏,网络调用和依赖关系通过延迟暴露出来,这种残酷的诚实迫使开发者保持纪律性。那些在速度上表现出色的公司往往拥有非常专注的产品。
这是因为让软件变快通常需要剥离非必要的功能。比如,像Linear这样简洁的项目管理工具的加载速度远快于像Workday(或更糟的Oracle)这样的企业应用。在一个痴迷于添加功能而非优化的世界中,速度成为了尊重的终极表达。它表明:“我们深入思考了什么是重要的,并消除了其他一切。”
为了让软件变快,开发者往往需要在幕后进行复杂的操作。在Cash App,我们非常谨慎,只在绝对必要时才在用户流程中引入额外步骤,这意味着我们必须在后台处理大量复杂问题。在Kevin Systrom的一次采访中,他解释了Instagram如何通过“乐观上传”用户照片的方式,让上传体验感觉瞬间完成。快速不仅仅是技术上的成就,它还体现了优先级和专注。
快速也很有趣。我们喜欢快速,因为它让人感到愉悦。我们计算打字速度(WPM)并没有太多实际好处,但比其他人更快本身就是一种乐趣。在新电脑上,我们做的第一件事就是设置快捷键,以便能够以与之前相同的速度操作。
快速是相对的。如今,许多基于LLM(大语言模型)的工作流程比之前的版本快得多。让LLM进行6分钟的研究,已经比过去需要数天的报告快了一万倍。然而,对于编写代码的人来说,我们离之前软件时代的标准还很远。我们过于关注功能,而忽视了性能和体验。我们接受了这些笨拙之处,因为这种魔法仍然是新的,这没关系!它仍然比人类快得多。但目前我们用来构建、运行和部署AI应用的工具,与未来的开发者体验相比,还有很大差距。我们还没有进入优化成为优先级的阶段。
当我们进入那个阶段时,你会看到越来越多的公司开始优化低延迟、界面设计、连接性和可靠性。这反过来将解锁我们尚未想到的新功能和用例。毕竟,最好的软件会改变我们的生活方式,而我们围绕那些感觉像超能力的软件构建我们的生活。
2025年4月9日
评论总结
评论主要围绕“软件速度”的重要性展开,观点分为支持和质疑两派。
支持速度重要性的观点: 1. 速度提升效率:多位评论者认为,快速开发、测试和反馈循环能显著提高效率,减少错误成本,并加速产品迭代。例如,pclowes提到“速度本身就是一种质量”,并列举了快速开发的多项优势,如“快速修复错误”和“快速实验”。 2. 用户体验:esafak和zavg指出,速度对用户体验至关重要,尤其是在消费类产品中。zavg以Telegram为例,强调其创始人Pavel Durov对应用速度的重视,认为速度直接影响用户行为指标。 3. 市场竞争:9rx和Aurornis认为,速度是赢得市场份额的关键因素。9rx提到,Rust之所以成功,部分原因在于其宣称“比C++更快”,而Aurornis则表示,几乎所有公司都将用户界面的响应速度作为重要指标。
质疑速度优先的观点: 1. 速度与质量的平衡:devmor和jrm4认为,过度追求速度可能导致质量问题。devmor指出,“如果优先考虑速度而忽视问题,问题会以双倍的速度出现”,而jrm4则批评这是“低质量软件的借口”。 2. 速度的局限性:PaulHoule通过自身经历指出,AI辅助工具虽然在某些情况下能加速开发,但最终可能因逻辑复杂或错误处理不当而需要手动重写代码,导致整体效率下降。
其他观点: 1. 速度标准的下降:chamomeal和andrewmcwatters提到,现代开发者对速度的期望有所降低,chamomeal以游戏输入延迟为例,指出现代设备的响应速度甚至不如老式游戏机。 2. 速度的文化影响:swinglock认为,速度是计算机存在的基本理由,否则“我们可以手工完成所有事情”。
总结:评论者普遍认可速度在软件开发和用户体验中的重要性,但也强调速度与质量的平衡,避免因追求速度而忽视软件的其他关键因素。