Missing deletion confirmation serious DEVONthink design bug!

It is a very serious design bug that there is no confirmation dialog when deleting a group or a folder under DEVONnote, DEVONthink and DEVONthink pro. It flies in the face of professional UI design guidelines and best practices, and it is prone to cause serious confusion and headaches for users.

If some users like the all-too-convenient feature of silently deleting a document with merely the touch of the delete key (with no modifier keys), let that be a preference setting option for them - e.g. to explicitly enable non-standard behavior; as the universal standard behavior for destructive user initiated actions is to confirm before doing.

People cite file/folder deletion in the Mac OS X Finder as the precedent which justifies DEVON’s silent file/folder deletion, and implicit safeguard of sending files to the Trash folder; but bear in mind, Mac OS X requires the Command Key to be pressed along the delete key before deleting a file or folder, which astronomically decreases the chance of inadvertent deletion! DEVONthink will delete a whole text file (or worse) with merely the touch of the delete key, which is particularly dangerous because delete is the same key used to merely and commonly delete characters in text files. If the UI focus is not where you think it is (e.g. the focus is in a file list or group list rather than in a text document), then boom - You’ve deleted a file (or maybe a group), and far too often,
without noticing. It has happened to me on several occasions. And I curse every time.

I’m a software engineer and have worked in the industry for decades and for some large corporations. I’ve worked with HIE (Human Interface Engineering) professions, and I can say for a fact that it is considered highly unacceptable to let a product ship with that design, and not treat it as a high priority bug or escalation to fix if it has been.

Please fix this.

DEVONthink has been in the marketplace for more than 10 years, and has evolved over that time including user input that has been adopted by the developers, including many UI issues. I won’t argue that DEVONthink is perfect, but that its present status does reflect consideration of numerous comments by users.

It is certainly possible for a user to inadvertently delete a document from a database. Your suggestion is that the UI associated with deletion should always present a message alerting the user to that action, so that deletion should always be a two-step procedure – invoking the delete action on one or multiple items, then confirming the action.

That two-step procedure is indeed protective of the user and is intended to prevent mistakes that would inadvertently result in data loss. But it’s not the only way to protect the user from that circumstance. Over the years, and responsive to user input, DEVONthink has developed an alternative approach.

There was a time when invoking deletion did remove a document from the database, and send it directly to the system Trash. There was a great deal of user discussion as to whether deletion should be a two-step procedure as above. Power users objected to the two-step procedure, and many of them wanted to have a Preference available to avoid that second step. Others, aware that fumble-finger mistakes do happen, advocated your two-step UI for deletion actions.

Our developers tend to hold down the number of user options in Preferences to avoid unnecessary complexity. If users were given the requested option to remove that “second step” in deletion actions, many of them would take the option, and perhaps forget that they had done so. And even power users can make mistakes and inadvertently make deletions.

Here’s how the deletion action works in DEVONthink: If I delete a document or group from a database, it is NOT sent to the system Trash and removed from the database. Instead, it is moved to a database Trash (available for inspection in the left Sidebar). That document will still be found if I do a search for it within the database (or across all databases). It will remain available until I take the deliberate action of emptying the database Trashes.

Example: My Cousin Carala sent me a recipe for chicken and andouille gumbo, and I had filed it in a Recipes group. A few days ago I had selected multiple recipes that I didn’t like, and deleted them. Now I want to make chicken and andouille gumbo, and go to the group to find Carala’s instructions. But it’s gone! I had mistakenly included her instructions for deletion.

Here’s how DEVONthink gave me a level of protection against such a mistake. I can do a DEVONthink search for “chicken and andouille” and the desired document will be found in the database Trash – and can be moved back to the appropriate group.

I agree that your criticism of the DEVONthink UI for deletion would be valid if it acted as you assumed. But DEVONthink doesn’t act that way.

removed permanently

I recall this being a topic of discussion in the early days of the 2.0 alpha/beta (which was a major redesign of the program). That being the case, a search in the main forum here will not show those conversations.

A two-step deletion process would be a pain for me-I even use a Keyboard Maestro sequence to bypass the confirmation when emptying the DEVONthink trash. Having said that, I agree that data needs to be safe from inadvertent deletion. I certainly would be fine with using a modifier with the delete key (e.g. command-delete) to avoid accidentally moving documents to the DEVONthink trash to begin with.

removed permanently

I don’t mind an option but at some point one has to wonder how many options an application can/should have?

I don’t want to sound insensitive to the needs of other users, but are there examples of mainstream applications have a two-step deletion process?

removed permanently

The relevance is that the industry is moving to a more simplified, streamlined UI/UX as a means to improve usability. Look at the number of applications that now have no preferences at all (iA Writer, FoldingText, etc.) and/or are bare bones in functionality (Clear, first on iOS and now OSX). Users appear to be responding positively to this shift that less in software design can be more.

Then how are users not losing data in other applications? The OP says that this is goes against “professional UI design guidelines and best practices”, so I’m asking for some examples. Mail doesn’t ask to confirm that the user wants to move an email to the trash. The Finder doesn’t ask to confirm that the user wants to move a file to the trash. DEVONthink is no different in this respect. Documents are first moved to a trash bucket in the database. Then when the trash is emptied, the documents are moved to the trash in the Finder/filesystem. Only when the Finder trash is emptied does the use lose data. If losing data is an ongoing problem for users, then at some point shouldn’t they ask “Should I check to see what’s in the trash before I empty it?” That’s where the safeguard against accidental data deletion is in DEVONthink.

I’m with ya, Greg. Well said.

I think there is plenty of cushion for preventing accidental deletions, as Greg and Bill have stated. The one that really stands out to me is not only an internal Trash but a per database Trash. It’s not just one giant bucket but segregated for easier restoration.

Also, many people ignore the Trash, rarely emptying it (DEVONthink and Finder, etc.)

Additionally, what responsibility does the User have? If the User keeps hitting the Delete key, then emptying the Trash, then emptying the Finder Trash, then noticing files are missing… how is that a “design flaw”? Why not just disallow the Delete key as well and the ability to empty the Trash - ever.

I don’t have a problem with Command-Delete personally, but I don’t buy the “it’s too easy to delete things” argument. Maybe it’s easy to move things to the internal Trash, but it’s actually more difficult to delete them.

I have great difficulty seeing and using my hands. On a small keyboard it is easy to swipe “delete” without noticing. Trust me on this – this is my real experience; I am not making it up. I have deleted documents and groups in DEVONthink and other programs without intending to and without knowing. It has cost me time and money. I don’t look in the trash to find something I don’t know is there. Believe me, I would rather have the physical dexterity and skill. But I don’t.

I am (and I believe others including the OP are) just asking the company to say “we’ll think about it” – and then actually listening, pondering, thinking about the UI / UX / accessibility of the application. And discussing offline, among yourselves. Save the heat for your own councils.

Accepting that some user experiences and capabilities are not the same as you imagine they ought to be, and then maybe taking a tiny risk to be a tiny bit accommodating. Accepting that sometimes options are good things – choices, alternates that make the program greater and more open to more users (and more good will, good reviews, and ultimately revenue for your company, I’d add :unamused: ). Options are just that – options – they are not impositions on anyone.

Is that really so difficult?

Not difficult at all, korm. Just remember that these are only our opinions and points of view (which are sometimes admittedly short-sighted).

Neither Bill nor I have the power to decide what happens on an issue like this. But we also would not try and hide the requests because of our stances. Part of our job is to support the Users and the company by reporting things like this.

Also, please realize that none of us think our apps are perfect. If we did we’d stop working on them. There is ongoing discussion and listening about the hows and whys, including UI. That’s a big part of the need for these forums - to bring these things to light.


I agree with Korm and with the OP. This is a serious issue for me too. I have lost data in DTPO and also in Mail. If I try to delete an app in iTunes using the delete key I get an “are you sure” message and the option to switch off being asked again. That seems to me to be the right balance to address the different views on this matter. In iTunes I choose not to check the “Do not ask me again” box. Others may choose to do so. What is wrong with giving DTPO users a similar choice?

But again consider the situation… you haven’t lost data until you empty both trashes. This means that we are actually more diligently covering your “mistakes”. I am not saying this will not change, but that actual data loss requires more steps than your typical app.

Forgive me, but this misses the point made by Korm and others, that an item is effectively lost if we don’t know that it is in the trash as a result of inadvertently pressed the delete button. Perhaps you yourself have only a handful of items in the trash at any one time, and it is easy for you to check before emptying it, but in my workflow I often have hundreds of items in the trash that accumulate over a very short period. It is not possible, without a serious effort, to check through them to see that there is nothing there that shouldn’t be. Deleting aka Moving to Trash should not be something that can happen accidentally in my view.

Thanks for the feedback! We will probably add a warning to the next release. This will include a “Don’t show this again” option too of course.

Many thanks Christian for taking the comments on board.

Thanks Christian for acknowledging this problem.

I’ve been using DTPO for 3 years & still cringe that there’s no safety net for the delete key. This has been brought up before, but proponents of each side are equally strong-willed & vocal. Adding a single option either to add a warning or use Command-Delete seems a small price to pay. Comparisons to Mail are just comparing DTPO to another application with very poor design standards.

My thanks also for changing this; this was really important to me. I would have loved to see a ⌘-delete option in preferences, but the confirmation dialog serves the same purpose of keeping me from sending something to the Trash without realizing it when the keyboard focus is not where I think it is. I’m constantly replacing files with updated versions, and merging PDFs and deleting the pre-merged files. Enough files wind up in the Trash with the same or very similar names that scanning the Trash before emptying isn’t really feasible–that becomes a really tedious chore. I just didn’t want to knock files out of the database without realizing in the first place, which for some people like me I guess was too easy to do. I spend a lot of energy getting files scanned, OCR’d, and imported into DTPO, before shredding those documents forever. I wanted getting stuff out to require a conscious, deliberate action. Thanks for making that change.

I’d prefer ⌘-Delete to temporarily bypass the new Move to Trash dialog (which, perhaps a bug, doesn’t respond to any shortcuts I’ve tried for selecting/pressing its Delete button), plus my Trash-related suggestions in:

Re: Confirm deletion?

I still don’t like having to empty everything from system Trash to permanently delete Dt items.

Yes. It’s good that the option has been added but I still don’t think it’s an ideal implementation. Ideally, Command-Delete would bypass the dialog box. And the dialog box should be easier to use, with the default option being the Okay button to reduce required keystrokes.