Whops I didn’t mean to delete that


This is a little sneak peek of a new feature that will arrive in Plasma 5.2 (OK, to be pedantic since frameworks has a separate schedule, you will be able to get it already next frameworks release a bit before Plasma’s)
Ever ended up deleting a desktop widget, panel widget or even an entire panel just to wish you hadn’t?
One solution may be littering everything with confirmation dialogs, but this quickly becomes annoying, besides the user becoming quickly trained to click “yes” without ever thinking about (I fallen too many times at this kind of dialogs).
So, what can be a better solution? Undo!

When the user deletes something, a notification pops up, notifying that an important thing has been deleted: it offers an action to undo the deletion.
If you click “undo” the widget or panel will instantly come back, if you manually close the notification, it will be irrevocably deleted.

13 thoughts on “Whops I didn’t mean to delete that

  1. Victor

    Wow! I am crying! Why, oh why the developers were torturing us all these years without this feature?

  2. Albert

    Please make sure it’s part of a frameworks release that is already released when the Plasma Beta is out, should not repeat what happened with Plasma 5.1 Beta that depended on unreleased KF5

  3. richard

    Really, you filmed the monitor? :-/ Uhm …

    Aside from that niiice feature!
    But the notification, is it always pop-up or does it actually align in the notification and jobs widget?

  4. Jaki143

    Great additional feature, thanks! How about also adding a kind of history for the last two or three deletions? So that you are not forced to take the action immediately but also some time later? Alas I often have to delete my upper panel after a change of display resolution because it is not attached to any screen edge anymore, it doesn’t help to log out and back in without deleting the panel. So it would be great if one could restore a panel with all its incredients (not position) even after the next login… I also could imagine to delete a widget to test some other desktop layout, don’t like it and want to restore the old layout. Maybe this could even be the base for cloning widgets to other virtual desktops and activities?

    1. Jeff

      @jaki143: It seems like that’s a different use-case entirely, though. When I’ve seen this implemented on other systems (e.g. Android) it’s as an “Oh Crap!” button and nothing more. I feel like what you’re wanting is more like a save/restore feature.

      @notmart: Great work! Thank you for doing this. 🙂 🙂

  5. jospoortvliet

    Awesome. This should be all over, combined with autosave, including for documents not yet named. The ui design rules ‘provide undo rather than asking for confirmation’ and ‘user data is holy, preserve it without requiring explicit actions’ make for a so much better experience…

  6. Kjetil Kilhavn

    This is a great addition to the feature set.

    I will not be surprised if you are already aware of this, and it is a bit late to suggest it when you have already implemented an undo feature… but have you seen or experienced the “remorse timers” on the Jolla phone? I am a happy owner of one of those phones, and the remorse timers are a great way of implementing a feature to avoid major mistakes I think. As a user I don’t have to click any confirmation button, and as a developer you don’t have to implement a potentially complex undo procedure. Apart from the logic being reversed (click to cancel as opposed to click to confirm) it is very similar to the feature implemented for graphics setup changes which returned to the previous (working) configuration if you did not confirm within a set number of seconds.

  7. buzzi

    great stuff, thanks!
    I’d love to have this kind of notification instead of the “confirm deletion” in Dolphin!

  8. Karellen

    “if you manually close the notification, it will be irrevocably deleted.”

    I was with you right up until that moment. With this, how is this anything other than a confirmation popup, except with an automatic preview feature and slightly different wording? Also, rather than training the user to click “yes”, you’re just training them to manually close the notification instead.

    An undo should be actionable at any time, unless some external factor makes it technically impossible. e.g. if you offer file deletion undo, that may be understandably broken due to the underlying filesystem blocks having been reused. Or you might reasonably limit the Plasma widget undo stack to the lifetime of the current session. But otherwise… is it really an “undo” feature, or just a confirmation in disguise?

    1. Bugsbane

      The difference is that if the user does nothing, that the notification will disappear offscreen, so the user doesn’t have to do anything to make it go away, and that in this case, the ability to undo remains.

      A normal confirmation dialogue *forces* the user to click ok, to get the notification off their screen, which is why they become programmed to do it. They want the thing off their screen. It’s not going to happen until they click. With this, the notification will disappear all by itself, no need to click, and then they can always click “Undo” later by going to the notification panel.

  9. Guillaume

    Something that would be cool is when deleting a widget, it shrinks into a little box widget with a button written “undo close this widget” and a X to close the little box. After 10 seconds or so, the box would fade out. That would be much more visual instead of a delete notification, because the little box would be positionned at the same place, making it instantaniously seen by the user. The notification is in an unrelated place, and users may not see it or even be annoyed by it in some cases. Another advantage that the little box would allow is you can close multiple widget and then reopen them by clicking at a similar place you clicked to close them, and widget will reappear at the place you did the action to reopen it. This is far more intuitive than browsing through notifications to reopen them all.

    Conclusion, this addition would be really nice because it’s a great advantage in usability terms and allow the user to work faster more intuitively.
    The cool thing is that it requires not a huge amount of code to actually do this. It’s easy to implement and easier to use.

    What do you think? Can we hope to see something similar in the 5.2 or 5.3 release? Thanks!

Comments are closed.