Quick thoughts about global undo…


If only I had time to give this the attention it deserves – but alas, I must soon get drunk. Neat Chris from anti-mega has brought into public attention that massive and aggravating UI problem that is what happens when you accidentally quit an application (like Safari) that allows you to have many different pseudo-documents open that are lost immediately without any kind of dialogue when the application quits. The reason I call them pseudo-documents is because the standard behaviour for something that you can edit in an application is to ask if changes should be saved before quitting. That’s not the case with tabs in browsers. If you accidentally press Apple-Q instead of Apple-W (to close an individual tab), you lose all the pages that were currently open in the browser (and – because the windows you have had open recently doesn’t map neatly onto the things in your history you can also lose all information about how to easily find out both what they were and any information about them).

Chris’ answer to this problem is the OS-wide global-undo facility, where you could simply undo your quit. Hammersley’s been talking about it too. I think this is the wrong approach – and not just because I think that it’s not going to happen for the next ten years at least, even if it’s possible – but also because I think there’s a better way.

So here’s my question: Why does your browser lose its current status when it quits? Or to put it more precisely, When I restart my browser, why doesn’t it still have all the pages that were open in it when I last quit? Certainly this should be possible – and it would solve the problem (although it might be considered non-standard behaviour). NetNewsWire doesn’t forget my subscriptions when I restart it – so why should my browser? (It’s not a direct analogy, but it makes a point.)

I’m sure there are a number of privacy reasons why this kind of thing could be a problem, and it might break the ‘session’ / ‘global’ distinction if not handled appropriately – but you could make it a preference that people turned on or off on their own computers, with the sites refreshed when you logged back on again, perhaps? I mean, that should work, right?