By John Gruber
Square Reader SDK lets you use Square hardware to take payments in your app.
Matthew Thomas: When good user interfaces go crufty.
I agree with much of Mr. Thomas’s essay, but not all. For one thing, he argues that applications should not force users to explicity save new documents:
We have the power, in today’s computers, to pick a sensible name for a document, and to save it to a person’s desktop as soon as she begins typing, just like a piece of paper in real life. We also have the ability to save changes to that document every couple of minutes (or, perhaps, every paragraph) without any user intervention.
Personally, I nearly always despise applications that offer “automatic” anything. The effort needed to override the “auto” behavior is usually more of a pain in the ass than the original task the feature is trying to automate. I don’t save any documents to my desktop — it’s jammed with more than enough icons already. Plus, my desktop is almost always completely obscured by application windows. Even if you don’t default to the actual desktop, there’s no other default folder location that would be suitable for all new files. I don’t save my Perl scripts to the same folder as my grocery list. Nor do I want applications choosing file names for me. If you don’t choose the names for your own files, how do you identify them when you try to reopen them later on?
It’s also the case that I often create new documents for temporary use, which I have no intention of ever saving to disk. It would be annoying if I had to manually clean up a bunch of files that a too-smart-for-its-own-good application created for me automatically.
What might be a good idea would be for applications to silently create and save an automatic backup file for unsaved new documents — hidden away in an application support folder, with a file name the user never needs to see. The only time the application would offer to restore such files is after a crash. But I can’t buy the argument that the Save command, as a general concept, is nothing more than a crufty anachronism.
Next on his list is the Quit command (a.k.a. “Exit”, if you’re a Windows sort of person):
Trouble is, the “Quit” command has always been annoying and confusing people, because it’s exposing an implementation detail — the lack of multitasking in the operating system. It annoys people, because occasionally they choose “Quit” by accident, losing their careful arrangement of windows, documents, toolboxes, and the like with an instantaneity which is totally disproportionate to how difficult it was to open and arrange them all in the first place. And it confuses people, because a program can be running without any windows being open, so — while all open windows may belong to the file manager, which is now always running in the background — menus and keyboard shortcuts get sent to the invisible program instead, producing unexpected behavior.
I disagree with this completely. I frequently have several applications running with no open windows. Mainly because many of the applications I use take a fairly long time to launch. It’s much more convenient to leave them running than to quit them and then have to wait for them to launch again when next I need them. I’d be pissed if Photoshop quit automatically when I closed the last open document. The only people confused by this concept are novices; for everyone else, it is often useful to maintain manual control over when an application quits. Thus, any application that implemented a “quit if the user closes the last open document” feature would have to do so as an option. And the last thing most applications need is yet another checkbox in their Preferences.
And how does one choose “Quit” accidently? At least on the Mac, I have no sympathy for anyone afflicted with this problem. The Quit menu item is the last item in the menu, usually preceded by a spacer to make it even harder to choose accidentally. The Cmd-Q keyboard sequence is consistent across every program worth using. And even if you do manage to quit accidently, you’ll be prompted with the option to cancel if you have any open documents with unsaved changes. Also, when you relaunch an application, your toolbar arrangement should be restored to the way you left it, because the application should save their positions in its preferences file. If that doesn’t happen, you’re using a shitty application.