如何让用户主动更新软件。
通常来说,软件是特化运行的代码,完成特定事情。而核心逻辑通常在软件的早期就会完成并发布。
也就是说低版本和高版本的代码通常是完成同一个事情,用户不更新,需求也可以得到满足,用户更新的动力不足。
而如果用户都不更新,那么软件就死了。
用户最担心的是稳定性,比如更新之后,原先的在使用功能不能使用了。
所以配置应该保持连贯性,尽可能让不同版本可以共用一套配置,检测到配置失效后,主动重置。
主体功能不能变动。
小版本的更新通常以优化用户体验为主,比如降低用户的操作步数,放大某些按钮,特化某些显示,代码打洞,把不同的模块勾在一起,解除有可能造成bug而添加的封锁限制,操作的引导性更符合认知。
大版本的变更通常以某个小功能的重构为主,这有可能会引起用户的反感,但这种时候用户的观点不重要,因为不影响主体功能,只要把这个事情叠加在比如重要BUG修复,或者是比较多的小优化更新之后,用户就不会回退到旧版本。
然后在之后的小更新中,慢慢把这个丑陋的功能做成用户习惯即可。当然没有把握的话,先把功能做成可切换的,然后在功能完善之后,删除原来的代码入口即可。为了不产生bug,代码应该在隐藏的多个版本之后删除。
在更新之中,有一种更新最为致命。那就是涉及到对主体功能的修改,有可能会导致的不稳定。需要变动主版本号。
这种情况下,需要对旧版本维持一段时间的维护。新的代码虽然是旧代码的在修改,但可以视为两个软件。
与此同时,应该删除掉旧版本的安装包,或者增加用户获取到的难度,并且确保任何的更新都会获取到最新发布的安装包。防止用户惰性。
当然针对想要稳定实现的用户,更新功能也应该能够关闭,用户可以选择不获取最新的特性,这是用户的权力。
旧版本的BUG修复,应该直接引导到更新至现有版本。
在软件启动时强迫检测用户更新,不更新就不能使用的情况,仅适用于互联网软件,重前后端通信。