{"items": [{"author": "Jonah", "source_link": "https://www.facebook.com/jefftk/posts/386239081409963?comment_id=386240544743150", "anchor": "fb-386240544743150", "service": "fb", "text": "Congratulations on the new job!", "timestamp": "1334066553"}, {"author": "Mac", "source_link": "https://www.facebook.com/jefftk/posts/386239081409963?comment_id=386249868075551", "anchor": "fb-386249868075551", "service": "fb", "text": "Yeah, problem with for-profits.  The universal undo sounds great, particularly as you say, for mobiles.  This would have to become an integral part of the OS, ja?", "timestamp": "1334067775"}, {"author": "David", "source_link": "https://www.facebook.com/jefftk/posts/386239081409963?comment_id=386276874739517", "anchor": "fb-386276874739517", "service": "fb", "text": "There are also a lot of security concerns with a universal undo. If I delete a cryptographic key from memory, it's important that nobody (even myself) can undo that (without using liquid nitrogen at least).", "timestamp": "1334070905"}, {"author": "Jeff&nbsp;Kaufman", "source_link": "https://www.facebook.com/jefftk/posts/386239081409963?comment_id=386445541389317", "anchor": "fb-386445541389317", "service": "fb", "text": "@David: right.  A good interface for non-undoable actions would be important.<br><br>Each action depends on some prior actions and not others, so a single non-undoable action wouldn't have to block all prior undos.", "timestamp": "1334087258"}, {"author": "Chris", "source_link": "https://www.facebook.com/jefftk/posts/386239081409963?comment_id=386649491368922", "anchor": "fb-386649491368922", "service": "fb", "text": "I don't think I actually want an undo that works across program boundaries.  Except when I do.  For example, if I'm editing a document and go to do a web search and then decide to undo the edit in the document based on the web search, I don't want to undo the web search.  Firstly, the web search might include the new information I need to type into the word processor to replace the bit I undid.  Also, I want to just go to the word processor and hit undo and not have to have it go through all the different apps I've touched since then, even if I don't mind them undoing things.<br><br>I actually am having trouble thinking of a case where this would be useful.  I suppose if you close a window you didn't want to close or switch to an app when you didn't mean to switch apps, but those are both handled better by a different metaphor I think (Reopen last window for the first and a back button for the second.)<br><br>What I would like is undo support across sessions.  So if I edit a document, quit the web processor, and open it again later, I would like to be able to undo across that boundary.  What if I deleted something and saved and now want to get it back?", "timestamp": "1334111302"}, {"author": "Andrew", "source_link": "https://www.facebook.com/jefftk/posts/386239081409963?comment_id=386711624696042", "anchor": "fb-386711624696042", "service": "fb", "text": "It's not enough for undo to just go back.  A good undo has a tree-structured history and an intuitive system for climbing around it.  Also, is undo *really* what you want?  Back in the day, AI hackers worked on DWIM systems, if the software \"does what I mean,\" maybe I don't even need undo.", "timestamp": "1334119783"}, {"author": "Eric", "source_link": "https://www.facebook.com/jefftk/posts/386239081409963?comment_id=386712208029317", "anchor": "fb-386712208029317", "service": "fb", "text": "LIAS, if the software is smart enough, then you don't even need a DWIM button.", "timestamp": "1334119893"}, {"author": "Kim", "source_link": "https://www.facebook.com/jefftk/posts/386239081409963?comment_id=386716784695526", "anchor": "fb-386716784695526", "service": "fb", "text": "Why sonny, back in the day, when disk was expensive and dinosaurs walked the earth, we had *versioned* file systems.  These days, with disk space being cheaper than dirt, we've long abandoned such silly ideas.  Now where's my walker?  Seriously, what I'd like now is to have each save of a file I'm working on be a commit into a version control system.  Hm, I bet it wouldn't even be all that hard to rig up something like that with emacs and git; in fact, I'd be astonished if it didn't already exist (and I was right; http://www.emacswiki.org/emacs/VersionControlAlways).  And I totally agree that undo is often (usually?)  context sensitive, and crossing contexts might be just confusing.", "timestamp": "1334120665"}, {"author": "Chris", "source_link": "https://www.facebook.com/jefftk/posts/386239081409963?comment_id=387034171330454", "anchor": "fb-387034171330454", "service": "fb", "text": "I totally envisioned a system with tree undo across sessions, but I never found the time to implement it.  The other thing I wanted was autosave so that the version on the file system always corresponded to the version in the editor.  I frequently would make a fix and try to compile and find that it wasn't fixed because I forgot to hit save.  Now I just save subconsciously all the time.", "timestamp": "1334165478"}, {"author": "BDan", "source_link": "https://plus.google.com/103775592027106438640", "anchor": "gp-1334167006278", "service": "gp", "text": "The thing that I want is for actions to be on a universal queue, so that if, e.g., I hit the command for \"close window\" and then click on another window before the first one has had a chance to close, it always closes the window that was active when I hit \"close window\".  There should not be race conditions for actions.", "timestamp": 1334167006}, {"author": "Danner", "source_link": "https://plus.google.com/114987071963782993407", "anchor": "gp-1334289291686", "service": "gp", "text": "I want to add and remove single actions and adjust the things I did after to accommodate. I remember a vector art program being like this, it was pretty damn cool.", "timestamp": 1334289291}, {"author": "BDan", "source_link": "https://plus.google.com/103775592027106438640", "anchor": "gp-1334331179880", "service": "gp", "text": "Also, I would say that the bigger issue with programs maintaining their own history is that they all have different definitions of what actions are undoable.", "timestamp": 1334331179}]}