Using Undo after Deleting All Records (was: Easy to delete all Records and lose the saved records!)


I just found out that in the main Menu of PanX doing: Records -> Delete All, really deletes all records without ANY warning.

As a consequence the records in the saved file are also deleted without warning! Thus if there are no recent back-up…

I think this is too harsh, this menu item is very near of Cut Record / Copy Record / Paste Record, thus it is easy to make a mistake.



I just tried it, and Undo Delete All Records put them all back.



I was really worried!

I did not even tried the Undo, not thought about it.

Thus, I find this dangerous, the user may panic after such a dramatic action, and then really lose everything in the end.



Yes, Undo does work. But due to the possibility for panic, an ‘Are you sure?’ might be worthy.

Interestingly, Delete All really doesn’t Delete All as with all versions of Panorama, you must always have at least one record. Thus, this action leaves you with 1 record, void of any data.

Robert Ameeti


Alain, you are assuming a chain of several user failures. But even in the worst case (you deleted unintentionally all records, you saved the file then (or it was autosaved), — even then there is another security net: You can always go back to previous saved versions of your document.


I considered that, but there is really nothing else that works that way. Suppose you have a 100 page document in Word. If you Select All and the hit the Delete key, it doesn’t ask you to confirm. (At least I don’t think it does – I didn’t try it.) It’s simply assumed that you know you can Undo. I think multi-level Undo may be an under appreciated feature of Panorama X so far, but once you get used to it, it’s a game changer.

In the near future, however, some of these warning alerts will be back – but only for multi-user databases. In a multi-user database you can’t really have unlimited undo, since you aren’t the sole owner of the database. So in that situation, there will be a warning before this type of major action.


Will startdatabasechange work the same in multi-user databases?



Well, you won’t have to change your code. But I’m not sure if that is the question. If the operation is not undo-able in multi-user mode, essentially the startdatabasechange statement will be ignored. But it won’t hurt anything – I would still put it in.


I continued some tests on this question of ‘Delete All’ (Records).

I understand better and it does work as described, however I still see some potential problems.

  1. If I do ‘Records -> Delete All’,
    the main window shows 1 visible / 1 record.
    If I then look in the finder at the stored file .pandb, I see a memory usage corresponding to an empty DB.
    Thus at this point a casual user will start to panic, although, as mentioned by you, in this situation, an Undo will recover the original state.
    This shows that these records are stored somewhere.
    Then, in this state in which nothing is visible, human errors will in many cases very likely worsen the situation ending up in losing not backed up records.
    And, as it happens more often that it should, for some reason the back up was not effective (for example the outside disk of Time Machine has not been restarted or whatever…).
    The great advantage of Pan6 is that it is practically impossible to lose records.
    In addition:
    If I lose power, or the system crashes, at this very moment before an ‘Undo’ has been done, then when going back on air everything is (or at least seems to be) lost, as ‘Undo’ is now dimmed.
    Thus, although the records were somewhere, I see that we have lost the power of ‘Total Recal’ which, in Pan6, worked flawlessly, at least for me.
    I know ‘Total Recall’ was not effective for ‘Delete Selected / Delete Unselected’ but you had a strong warning on these actions.

  2. This ‘Records -> Delete All’ action should be a VERY RARE action (for example starting a new DB using the format and procedures of another one).
    However it is situated at the same level as VERY FREQUENT actions ‘Delete Record / Copy Record / Cut Record / Paste Record’.
    Even worse, in the Pop Up menu it appears just before ‘Copy Record / Cut Record / Paste Record’, thus the possibility of releasing the mouse by mistake on ‘Delete All’ is quite high.
    In my opinion, the minimum would be to move ‘Delete All’ (maybe renamed ‘Delete All Records’ or even ‘Delete All Records in DB’, or some catchy name) at the end of the 'Records’
    pop-up menu after a separator (or two) in a category by itself.
    In addition adding a warning or an information for a very rare action would not really change the design philosophie to which you are attached.
    In the example of Word you cite, you have to do a ‘Select All’ first THEN a Delete Content.

Thus, (if I understood well the process) my personal suggestions are:
Rename ‘Delete All’ with a more catchy name.
Move it in a position by itself at the end of the pop-up menu after a separator or two.
Make it uneffective if a record is selected, or better make it effective only if all record are selected, and explicit what is happening with a warning message.
Review in PanX the situations in which records can be lost (independently of an hypothetical back up), this is really a very strong point of Pan6.


You’ve made some excellent points and I was thinking similarly on many of your suggestions.

Robert Ameeti


Another possibility would be to implement the same scheme used with Close Window and Close All in the File menu. That menu normally shows Close Window but if you hold down the Option key it changes to Close All. Similarly the Delete Record in the Records menu could change to Delete All if the Option key is held down. This would adhere to what Apple is doing and require a definate intention on the user’s part to activate the command.


Great idea Gary. That also helps promote the ‘hidden secrets’ of the Option key. Users don’t have to know about it to get their work done, but the experts can work more efficiently if they choose to learn about these items.

Robert Ameeti


If the casual user is logged in as a “User”, not a developer or administrator, the Data sheet is not available nor is the Delete All command. Only the interface that the developer provides is available. All of my databases are multiuser, so they are designed to keep the least capable user from making a serious mistake. With a few exceptions, they cannot delete anything. That would reduce some of the risks you describe.


I’ve rearranged the menu to make the Delete All command less likely to be accidentally triggered, it is now the last item in the menu, and also I renamed it to Delete All Records.

There are a number of commands in Panorama that can instantly destruct large amounts of data, not just this one. In previous versions of Panorama there was very limited Undo, and all of these commands had warning alerts. Panorama X takes the opposite approach – unlimited Undo, no warnings.

It’s well known that warning alerts are a poor protection system. Users become accustomed to them and soon blow past them without reading them. If you read any of the literature on UI design it is best to avoid this type of alert, and instead provide Undo capability to protect the user from his or her mistakes. Unlimited Undo is much harder to do, so not all apps have that, but it is the gold standard.

Anecdotally, I remember an sales employee at ProVUE that was very upset when he lost a bunch of phone numbers (I think this was Panorama II) by converting the field to numeric. Panorama warned him that he was going to lose data, but he ignored the warning. If he was using Panorama X, he could have just pressed Undo and continued on his way.

The point of unlimited Undo is that you can work freely without worrying about consequences, and without being constantly badgered or second guessed by the app. If something doesn’t work out, back up. Undo is not designed to be a last resort, but an integral tool to help you work faster because you don’t have to worry about missteps.

The Golden Gate bridge was the first “high iron” project where nets were used. There was huge resistance to this idea because of all the extra time needed to put up the nets, which was assumed to increase costs. It turned out that actually construction proceeded much faster, because the workers didn’t have to be slow and careful with every step. So not only was the project safer, but more profitable, and nets became universal after that.


Undo is great.

Nets do not always work though. On Feb 17, 1937, 10 men fell through the Golden Gate bridge’s net and died. Just saying. LOL

Robert Ameeti


Yes, I almost mentioned that. A beam fell and tore thru the net. Even with that accident, it was still a very safe project compared to earlier high iron construction.


I generally agree with your remarks about the poor protection of warning alerts as one has a tendency to answer yes without thinking much more.

Your proposal to move and rename the item under discussion looks already good. The alternative proposal made by Gary of using the alt key fo access this action looks also quite interesting as deleting all records is supposed to be an action very seldom used.

Unlimited undo capabilities is certainly a very good way to go but time is needed to see by ourselves its full power in action. My worry remains, as I mentioned, about what happen if mains disappear or if the system crashes in various situations. I know this is rare but Total Recall was very effective for that. I hope that, in that respect , the new setup will be as safe as Pan6.



Total Recall wasn’t magic – just auto-save. Panorama X also has auto-save. The major difference is that Total Recall would also save variables. But as far as saving the data itself goes, the two are equivalent.

I think Gary’s idea of using the option key is clever, but maybe too clever. Yes, the Delete All Records command is very infrequently used, but you’d be surprised how often it comes up as a tech support question. I think if it was hidden behind the option key it would not be discoverable enough.

Here is the revised version of the menu.


But look at how Apple continues to promote the use of the Apple key to find ‘advanced’ features. Try it in the Finder and you’ll be surprised at the number of opportunities. Mail as well. This is the future.

Robert Ameeti


For those that are not using the latest Apple macOS 10.12.1, you might be surprised to find that Apple has 22 hidden advanced or geek shortcuts that can be accessed when the Finder menus are used in conjunction the Option key! Apple Mail adds another 8 menu items. This helps keep the number of menu items from getting out of control with little used features or options. Most anything can be accomplished with extra keystrokes but the make quick access possible.

Robert Ameeti