论程序的更新逻辑


本文写于 2022-06-02 12:47:15


直到 Typora 的 1.2.5 版本推出好几天后的今日,我才终于更新了它。究其原因, Typora 唯一的自动检查更新时间是启动时,而我每次打开 Typora 的意图很明显:写下文字, ASAP (此处若是用“越快越好”的话有些歧义,既可以指 soon ,又可以指 quickly )。哪里还有什么闲心等它更新完了再开始写作?而每次写完后早就把更新的事忘掉了,直接就关掉了 Typora 。有没有一种方法,既不会耽误我的时间,又能让软件保持最新呢?

看看其他软件的常见更新逻辑:

  1. 定期检查,静默更新;

  2. a. 打开程序时检查,并自动更新;

    b. 打开程序时检查,询问用户是否要更新;

  3. a. 打开程序时检查并自动下载更新包,等待用户手动关闭或重启应用完成更新;

    b. 打开程序时检查,在退出应用时弹出提示框,点击同意后自动退出应用并静默更新。

总结一下, 1, 2.a, 3.a 均为自动更新,对于不喜欢新版本、想要有权利控制更新的人来说,显然不适合;故将其排除。

剩下来的 2.b ,无疑会打断用户使用程序:尤其对于一些程序,检查更新是异步执行;往往用户已经开始工作,输入焦点置于文本区,而更新提示框突然让用户失焦,不得不花费几秒的时间去关闭提示框。

接下来的 3.b ,是我认为最完美的方案:给予了用户足够的控制权,又不会打扰用户正常的程序使用,完成使用后顺手同意更新,去往其他程序做下一件事,不会被本程序打扰,让用户拥有了极佳的体验。

类似程序的更新,其他地方也有这样影响用户体验的细节。愿我的想法能帮助他人,若是能抛砖引玉就更好了!