2008-04-22
The irritation of single-context applications
One of the extra irritations of many single instance applications is that they also are what I will call 'single context applications', applications where you can only be doing one thing at a time. I want applications like my feed reader or my mail reader to behave more like a browser, letting me rip off windows so that I can skip around without having to lose the old context.
For example, consider a mail reader. If I'm working my way through sorting and cross-checking older mail and new mail comes in, I don't want to abandon my place in the old mail to go read the new message. I want to just rip off a new mail reading window and use that to jump to the new messages. And if the new messages need me to look something up in my archives, I don't want to abandon the new message; I want to open another new window.
(If you prefer, substitute tabs for windows in this.)
Of course the irony of praising the browser's approach to this is that modern AJAX-based browser applications can easily throw this away, creating single context applications inside of the very thing that has done the most to show us a multi-context way of operating. (But they don't have to. I'm pleased to see that Google Reader is multi-context, for example.)
This problem isn't unique to single instance applications, but they do mean that you can't get around it, no matter how big a machine or how much memory you're willing to let multiple copies of the program use up. (And single instance applications don't necessarily have this problem, as Firefox demonstrates.)