褪色的抽象

Kaffa's blog

ALaunch第一个生产力工具

启动软件的效率

首先,回忆我们如何启动软件,以在 Windows 平台为例,过程可能是:

场景一:一名普通用户,脑海产生一个念头,比如想听歌,于是开始寻找听音乐软件,可能是网易云音乐、QQMusic,Foobar2000,AIMP等,anyway,于是需要中断当前的工作心流,进入桌面或开始菜单开始寻找,经过了5至10秒,终于找到了,并双击了它打开。

场景二:一名骨灰级软件爱好者,或者一名 macOS 达人,知道 Alfred,于是在 Windows 上也找到一些类似的,可高度自定义的启动软件。这类软件的特点是,有一个全局快捷键呼出,然后可输入一批分类的自定义的字符来匹配所需要的内容。

第一种明显效率低下,如果每日需要启动软件 50 次,会直接浪费 200 秒以上,还不包含心流中断的时间;对我来说,第二种也不够好,因为我并不想记得 google 搜索是 g,图片搜索是 gi,或者输入 b 是百度或者 bing。

启动软件要做到只是事情的开始和入口,如果在此处依靠记忆,有点舍本逐末的意思,心智成本太高,配置迁移的成本也高。

于是,我想……还是按基本原理来设计,于是 ALaunch 诞生了,逻辑如下:

默认情况下,Windows 中启动指定软件和文件,需要双击启动,双击的前提是能看见它,能看见它是记得它在哪,但当所需使用的软件超过150个,就不一定记得它们放在哪,而将这么多软件的快捷方式放在桌面上也并不是一个好办法。那么……能否放在一个随时可用或触手可及的地方呢?

这个电脑中,给软件和文档的“应许之地”就是 ALaunch,新建启动的方式采用拖拽,来自拟物直觉没有学习成本。

原型

作为一名资深软件爱好者,这二十年间我至少用过千种以上的软件。有些每天都用,有些每年只用几次。这些软件按使用场景不同,可分为办公室、家庭、效率、阅读、娱乐、开发、投研、安全等。而相同的部分,我意识到我需要用一个启动软件统筹管理它们。

最开始我使用 Tcl/Tk 实现了一个简单的基于 Windows 注册表存储配置的启动软件原型——Launch,我使用它管理和 统计各软件的使用时间,但后来我发现 Tcl/Tk 在表达复杂数据结构时比较弱,TclLib 和 Tklib 库不够新,也缺少标准,社区算活跃,也很精英化,该有的都有,但好些解决方案存在测试不足的问题。不足以支撑后续的开发,需要我花费很多时间填坑。

在 Windows 平台,现在官方正途的本是 C# 和 C++,但 C# 依赖.Net Runtime,WinUI 总感觉慢悠悠的,对不起效率工具二字。而 C++ 开发太慢成本很高,在剩下的选项中,我尝试了 Python 的 Tkinter、PyQt/PySide、wxWidget 等,发现最小打包后的尺寸也不小。Electron 也有考虑,但同样看不上,当然,我发现了 Object Pascal 的 Lazarus,经过测试后,发现启动速度和性能差不多可以接受,但其打包的尺寸也不小。最后,我发现了 Delphi Community Ed. 于是将 Lazarus 代码作了迁移。

以往我的个体软件过程,Web类的效率较高,这次迁移到 Native Client,从开发软件选型到项目计划,从到用例到设计,从编码到测试,一共耗时 7 天,约 21 小时,升级了这个小软。ALaunch,一个用拖放来管理程序和文件的的启动器,希望它可以满足大部分人对于软件启动管理的预期。

下载地址

感谢阅读。如果上述软件你还认可,可通过以下二维码请我喝杯咖啡。

我的赞赏码