Zealous 'file format' save notifications

Ben Rubinstein benr_mc at cogapp.com
Wed Nov 2 01:46:27 CET 2016

Monte wrote:

> This came about because the cost of determining if a file could be saved back to a pre-7 file version was too high yet the risk of not informing the user they are likely to loose data by doing so was also too high.

But teaching people to ignore that dialog, because it appears when they know 
the warning is false, is also a cost, of a different kind.

We have had, I believe, five changes of stack file format to date.  We have 
survived all these years leaving it up to the developer to decide whether to 
save their stack in a older format.

It's a great idea to introduce something which can warn people when they will 
lose data by saving in an old format. But it's not a great idea to tell people 
that is the case, when it isn't.

The new mechanism will help when people add a widget to a stack saved in a 
pre-8 format. At some point in the future, it will no doubt also help when 
they attempt to save a stack in 8.1 format although it uses the 4-dimensional 
geometry manager. That's enough to be a good thing. It doesn't have to pretend 
it can do another good thing, which it actually can't.

My suggestion would be that the minStackFileVersion can report "unknown" or 
"unknown, 7.0 or earlier" or similar; and that the save mechanism be adjusted 
to only display the message "saving this stack file as version x.x will result 
in data loss" when there's good reason to believe that it's the case.

The current arrangement has virtually defeated the purpose of allowing the 
format to be specified - since every save (and some of use autosave 
mechanisms) will throw up this misleading dialog; and it undermines the value 
of the dialog itself, since it teaches users not to believe it.

 > On 2 Nov. 2016, at 9:36 am, Ben Rubinstein <benr_mc at cogapp.com> wrote:
> I recently started working with a file from 6.7.11 in 8.1.1. Having
> carefully set the file format preservation, so that I can continue to work
> with it back and forth between 6.7.11 and 8.1.1, I now get this message each
> time I save:
 > 	The preference to preserve stack file formats is set,
 > 	however, saving this stack file as version 5.5 will
 > 	result in data loss. The minimum stack file version
 > 	for this stack is 7.0.
 > Since the stack came directly from LC 6, this seems implausible.
 > On further investigation I see that there is a new property, the > 
minStackFileVersion. "The minStackFileVersion property is read only and
> determined by the content of the stack file.", according to the
> dictionary.
 > Well, that sounds good. But then I read "The minimum stack version reported 
by the property is 7.0.".
 > How can this be helpful? And if that is how the property is defined, 
wouldn't it better if saving didn't throw up the above dialog when 
minStackFileVersion = 7.0, since that should in fact be taken as "not sure" or 
"doesn't need 8.0".
 > Is there a subtlety here that I'm missing?
 > Ben

More information about the use-livecode mailing list