进度条不正确的例子无处不在。如果系统无法准确预测任务将花费多长时间,那就可以了。估算很困难。进度条通常通过用值对工作段进行硬编码来实现。这些值是由程序员指定的(希望不会完全组成)。完成此片段,然后将3%添加到进度条。下载文件,并根据已下载的字节数最多增加10%。似乎合理。
但是在整个夏天,我更新了我的Apple产品之一,它继续告诉我,大约还有8分钟的时间……超过一个小时!选择一个随机数会更准确!
好的,更新设备是一个复杂的场景,有很多事情要做。
让我们看一个简单的示例:从Dropbox下载照片。进度栏实际上只是基于我的互联网速度,对吗?
但是,无论文件多大,我从Dropbox导出的每张照片和视频都完成了75%的处理。
另一个例子?每次我将讲座视频上传到YouTube时,它都会从“ 0%处理”和“ 100%处理”来回反复,直到实际完成为止。我从未见过其他任何数字。
相反,您可以显示系统仍在工作,并使用户了解当前任务的最新情况。只需确保任务每隔几秒钟或几分钟便会更改一次,具体取决于用户的期望,以使他们知道它不会冻结。
很多人拥有iPhone,而且那里的型号相对较少。苹果应该如何计算更新iOS所需的时间?通过告诉您其他用户花费了多长时间。
不确定模糊/魔术数字是否在起作用,但是也许有了足够的训练数据,就可以使用动态分析+机器学习来构建预测变量?听起来确实是一个有趣的项目。
-Rohan Padhye(@moarbugs)2020年7月7日
进度条是人机交互中一个有趣的话题。如果您想了解更多信息,可以观看99%不可见的有趣的播客片段:等待等待...告诉我!