Editing Stacks

Home UIQ3 Manager Editing Stacks

When you open a stack, MoStacks reads the whole stack from permanent storage (i.e. internal disk or memory card) into working memory (i.e. RAM). Any changes to a stack first are only "temporary" and will vanish without a trace unless you save the stack, where MoStacks writes the stack as it is right now in working memory back to permanent storage.

Caution: If you switch away from MoStacks to another program with a stack modified and later switch off the phone, any changes will be lost, likewise if you kill MoStacks by external means, e.g. with any task manager. This is unfortunate and dangerous and is on the to-do list for improvements in a later version of MoStacks. Until then, it's always your job to save any changes.

This open/save model of operation is very common for PC applications, where e.g. in Microsoft Word you open a document in the same way, with changes only becomming permanent if you explicitely tell Word to save your document back to disk.

For UIQ and Symbian applications in general however, this is an exception: After all, you don't have to save contacts; any changes are permanent automatically as soon as you finished them.

Maybe sometimes you might be surprised that MoStacks considers a stack "changed". One reason can be that you did not change any field value and did not create or delete cards, but changed the stack nevertheless by changing many of the additional things that belong to a stack, like its description or font settings. Even marking and un-marking cards changes a stack, because the mark state is a information about a card that that is on the same level as the field values.


Some technical background info on this topic:

This deviation from standard UIQ application behaviour was not implemented "accidentally", but because of a number of solid issues: MoStacks are very complex structures, and technically it would have been very challenging and time-consuming to implement an "instant changes" behaviour.

Moreover, with features like Card Lists and Scripts a small change on a single field can ripple through the whole stack and change dozens of cards. Maintaining good response times if all those resulting changes must be made permanent "instantly" would again have been difficult. It may also make sense in general to give the user a chance to have a look at the many changes before they become permanent.

As an extreme, you can build a MoStack where the data contained in it essentially never needs to be saved because its only serves as a kind of working memory for a script. Instant changes would slow down the execution of the script massively, but essentially serve no purpose.