为了省下 0.5 秒,我大概花掉了 50 个小时:Mouse4 开发复盘
0. 这种“过度工程”值得吗? 如果用 ROI(投资回报率)来计算,Mouse4 绝对是一个失败的项目。 为了省去把鼠标移到左上角点“返回”的那 0.5 秒,或者为了省去登录微信才能截图的麻烦,我前后迭代了 55 个版本,重写了三次渲染核心,甚至为了修一个 Bug 去翻了 Windows 的底层 API 文档。 但这就是程序员(或者说极客)的宿命:我们无法忍受工具的“钝感”。 Mouse4 的诞生,不是为了做一个通用的软件,而是为了打造一个完全契合我个人生理习惯的“数字义肢”。 最早的 Mouse4 其实不叫 Mouse4,它只是一段几 KB 的 Python 脚本。 作为一个需要高频浏览财报和文件的基金经理/老师,Windows 资源管理器的交互逻辑让我抓狂:为什么“进入文件夹”是双击,而“返回上一级”却要大幅度移动鼠标去点那个该死的箭头? 我的需求很原始: 我希望我的鼠标在哪里,哪里就是控制台。 于是,我利用 UIAutomation 做了一个简单的钩子:当且仅当鼠标停留在文件夹的空白处双击时,模拟按下 Backspace。 这个功能上线后,我几乎忘记了它的存在。这才是工具的最高境界——隐形。它变成了我肌肉记忆的一部分,以至于我在别人的电脑上操作时,总会下意识地双击空白处,然后看着毫无反应的屏幕发愣。 如果说“双击返回”是顺手,那“截图”功能的开发就是一场与 Windows 缩放机制的恶战。 作为一个多屏重度用户(左竖屏看盘,中横屏工作,右屏摸鱼),我的桌面环境简直是开发者的噩梦: 显示器 1:4K 分辨率,200% 缩放。 显示器…
Continue reading...