I’d like to suggest that we should specify that “percentage complete” estimates – be they progress bars or sliders or any other representation, visual or textual, need a defined unit of measurement to them.
And we should define that unit of measurement as a maybe.
That is, if a piece of software reports that it is 98% complete at something, that’s 98 maybes out of a 100.
I perhaps, should mention, that I’m not thinking of NetWorker when I make this case. Indeed, it’s actually springing from spending 4+ hours one day monitoring a backup job from one of NetWorker’s competitors. A backup job that for the entire duration was at … 99% complete.
You see, in a lot of software, progress indicators just aren’t accurate. This lead to the term “Microsoft minute”, for instance, to describe the interminable reality bending specification of time remaining on file copies in Microsoft operating systems. Equally we can say the same thing of software installers; an installer may report that it’s 95% complete with 1 minute remaining for anywhere between 15 seconds and 2 hours – or more. It’s not just difficult to give an upper ceiling, it’s indeterminate.
I believe that software which can’t measure its progress with sufficient accuracy shouldn’t give an actual percentage complete status or time to complete status without explicitly stating it as being an estimate. To fail to do so is an act of deceit to the user.
I would also argue that no software can measure its process with sufficient accuracy, and thus all software should provide completion status as an estimate rather than a hard fact. After all:
- Software cannot guarantee against making a blocking IO call
- Software cannot guarantee that the operating system will not take resources away from it
- Software cannot guarantee that a physical fault will not take resources away from it
In a real-time and fault-tolerant system, there is a much higher degree of potential accuracy. Outside of that – in regular software (commercial or enterprise), and on regular hardware/operating systems, the potential for interruption (and therefore, inaccuracy) is too great.
I don’t personally think it’s going to hurt interface designers to clearly state whenever a completion estimate is given that it’s an estimate. Of course, some users won’t necessarily notice it, and others will ignore it – but by blatantly saying it, they’re not implicitly raising false hope by citing an indeterminate measurement as accurate.
Hi Preston,
i have never seen any document about the “percentage complete” but i am pretty sure this is how it works:
– NW calculates this number already at the beginning of a job. However, at this point in time, it has no idea how much data he will process later.
– The only info it really can rely on is the number of save sets because this is what NW can already determine during the probe process.
– Consequently, he can only calculate/predict the value based on the save sets and their completion. Unfortunately, as we all know, this value has nothing to do with the amount of backup data.
I think this is the whole secret about the ‘percentage used’ calculation.
Regards, Carsten
Hi Carsten,
In the case of NetWorker, your assumption about how the percentage complete statistic in NMC works is completely accurate.
(As it happened, on the day I worked on that post, I was using a competitive product which was also not really anywhere near accurate.)
Cheers,
Preston.