The “Quit” command in applications today is a relic from the days when the original Macintosh had no hard disk and couldn’t multitask. Modern applications have made this command increasingly annoying. Fortunately, though, modern PCs have also made it increasingly unnecessary. Mobile operating systems have, for the most part, eliminated the “Quit” command completely. In Ubuntu, the messaging and sound menus will help us do the same.
A compromise that got out of hand
It’s easy to forget just how much more powerful personal computers are today, compared with the machines on which some of our user interface conventions began.
In 1983, the Apple Lisa had a 5 megahertz processor, 1 megabyte of memory and two floppy drives — but failed largely because it was too expensive and slow. So the first Macintosh in 1984 instead used an 8 megahertz processor, only 128 kilobytes — kilobytes! — of memory, and one 400 KB floppy drive.
Implementing a multi-application graphical user interface on that original Macintosh required many design tradeoffs. Most importantly, while the Lisa could multitask, the Macintosh just didn’t have enough memory. Except for a few small accessories, only one application could run at a time.
This raised an interesting problem. If you had an application open, and you closed the only document you had open in that application, what should happen? To open a document belonging to a different application, you’d need to go back to the file manager (which was the main application launcher back then), and that would require unloading the application. But if the next document you wanted belonged to the same application, unloading and then reloading that application (from a floppy disk, remember) would be an annoying wait.
So, the Mac designers made two decisions. First, they introduced a way to open a file within the same application, without going back to the file manager: the Open File dialog. And second, they required users to specify manually when an application should remove itself from memory to make way for another one — by invoking a “Quit” command.
This was a reasonable, if awkward, compromise. As the years went by, though, something weird happened. The Amiga copied both these ideas, and then so did Windows, and OS/2, and KDE, and Gnome, and many other environments — even though they could all multitask and (except for early Amigas) used hard disks. It was a classic case of cargo-culting.
To be fair, Open dialogs eventually became more efficient than file managers for the specific task of opening files. But “Quit” (which Windows called “Exit”) became less and less relevant. Mac OS X moved the “Quit” menu item from the “File” menu into the junk drawer that is the application menu. But quitting has remained a basic part of how Mac applications present themselves, and it has persisted for many applications in Windows and Ubuntu as well.
A few behemoth applications, such as LibreOffice and Gimp, still keep “Quit” separate from “Close” for the original reason — to save you from having to wait for the application to relaunch after closing its only document. But that is fixable, and all other applications have become fast enough that they don’t need it any more. After all, they’re running on hardware that is hundreds of times faster than it was in 1984.
People who have been using computers for a long time sometimes get a sense of reassurance from the idea of controlling application unloading themselves. Meanwhile, though, the presence of “Quit” has been getting confusing and even a bit destructive.
The problems with “Quit”
Most obviously, there is a problem with Web browsers. First, people have gotten more comfortable with the idea of having multiple Web sites open at the same time. Second, Web applications have become more common and more stateful. And third, since 2003, Web browsers have competed partly on how minimalist their interfaces can be — which has made the browsers less and less obvious as applications themselves.
As a result, the effect of “Quit” in a browser is now bizarre. For example, imagine that you have windows open for Amazon, Banshee, Calculator, eBay, Empathy, Facebook, Gmail, and Shotwell. What happens if you choose “Quit” in the Gmail window? Gmail quits, but Amazon, eBay, and Facebook quit too, while Banshee, Calculator, Empathy, and Shotwell stay open. How much sense does that make? Not much.
Browser designers have tried various hacks to lessen this problem. Some browsers ignore the standard Ctrl Q keyboard shortcut for “Quit”, because of the damage it can cause. Some put up a confirmation alert, asking you if you’re sure you want to quit. And some offer, in that confirmation alert, to remember your windows and tabs for next time you launch the browser.
The existence of a confirmation alert is a fairly reliable clue that the original design is broken. And that’s true in this case: none of those workarounds make it obvious, ahead of time, which of your applications are about to disappear. And even if a browser restores all the pages you had open, usually it has still lost any work you were doing in those pages. In Ubuntu, the Epiphany browser avoids the problem much more simply: by not having a “Quit” command at all.
It’s not just Web browsers, though. The same problem exists in any application that has windows for apparently distinct tasks.
For example, if you have a presentation open in KPresenter, and a spreadsheet open in KSpread, and you choose “Quit” in KSpread, the spreadsheet closes. But if you have the same presentation open in LibreOffice Impress, and the same spreadsheet open in LibreOffice Calc, and you chose “Exit” in Impress, the presentation closes, and — surprise! — the spreadsheet closes too. How much sense does that make? None whatsoever.
KPresenter and KSpread are coded as separate applications, so they quit separately. LibreOffice Impress and Calc happen to be coded as a single application, so they quit together. But why should you have to know that engineering detail? On 21st-century computers, it’s irrelevant.
Finally, “Quit” is confusing for any application that can do useful things in the background without windows open. A long-standing example is the file manager, which typically controls the desktop as long as you are logged in, and so doesn’t have a “Quit” function. A more recent example is the Mac App Store, which — like Ubuntu Software Center before it — continues downloading and installing applications when its window is closed. Surprisingly, though, the Mac App Store continues downloading and installing applications even after you “Quit” it. In Ubuntu Software Center we avoided that weirdness by not having a “Quit” command in the first place.
In other cases, though, the behavior needs to be more flexible. You might, or might not, want to be notified of new e-mail messages when your mail client isn’t open. You might, or might not, want to receive incoming chat messages or calls when your IM client isn’t open. And you might, or might not, want to keep playing music even when the music player isn’t open. In these applications there is at least a useful distinction between “Close” and “Quit”. Unfortunately, the result is that “Quit” is being used to mean several quite different and non-obvious things: “don’t check for messages any more”, “go offline”, “stop music playback”, and so on. A single term probably isn’t a good presentation for all these things.
In summary, then, “Quit” is more confusing than useful. For many applications, it can be either removed altogether, or changed to the more straightforward “Close” if that item isn’t present already. But for applications that run configurable things in the background, the design is a little more complex. Fortunately in Ubuntu, we have some elements waiting to help out: the messaging menu, the me menu, and the sound menu. (It’s almost like we’ve been planning it.)
Messaging
Since Ubuntu 10.04, Ubuntu has had a messaging menu, which shows incoming messages from humans, as received by any application that integrates with it. (It’s been great to see Thunderbird integrating with the messaging menu, for example.) Ubuntu also has a “me” menu, which — among other things — lets you set instant messaging status, for any IM or VoIP application that integrates with it. It’s possible the structure of these menus will change in the future. But the basic idea will stay the same.
One awkward detail has been that if you have used the me menu to go offline for instant messaging, you can’t use it to go online again. Last week, Ken VanDine fixed that problem — which means that for any IM application that integrates with the menu, it’s no longer necessary for it to have a “Quit” item. If you want to go offline, you can do that from the global menu. And if you want to close the program’s contact list, you can do that without affecting your online status. The functions will no longer need to be tied to each other in unpredictable ways — they will be completely independent.
For e-mail and similar messaging clients, things are a little trickier. At the moment, these applications typically stop checking for messages when their window is closed. However, many people apparently want these functions to be independent too — as shown by the variety of separate mail notifiers available in Ubuntu.
The engineering solution here is for messaging clients to split out the code that checks for new messages, so that it can optionally run even while the rest of the application is not. Gwibber already does this, for example.
Music
There are two main kinds of media player application. For standalone players like Totem and VLC, which mainly play individual files, the behavior when you close the window is fairly straightforward: the media should stop playing, just like a game or Web page would.
For jukebox-like players like Rhythmbox and Banshee, though, what should happen when you close their window has long been a source of debate. With Ubuntu’s sound menu, we have a chance to resolve it clearly.
The basic design principle of the sound menu is that in a multi-window environment, it’s reasonable to want to control a jukebox-type player quickly without its window being open, and that a menu is a good way to present that. Again, it’s possible that the exact presentation will change in future, but the basic idea will stay the same. We’re delighted that thanks to the Mpris standard, Amarok, Banshee, Clementine, Exaile, MPD, Rhythmbox, Spotify, Symphony, and Xnoise will all integrate with the sound menu in Ubuntu 11.04.
Having a separate quick-access interface reinforces the basic idea that whether a jukebox window is open, and whether music is playing, are completely independent things. You can close the jukebox window without interrupting playback. And you can start or stop playback without opening a window.
Implementing that much has been easy enough for our friends working on Banshee, for example. But it introduces a new issue: If you want to start music playing from the sound menu, you can’t be expected to know or care whether the player is already running. So in Ubuntu 11.04, the sound menu will show the Play button even for registered players that aren’t running. If you choose Play, the player will launch and then start playing.
If a player takes a while to launch — because it scans a database of media each time it launches, for example — making this a smooth experience will be a challenge. There are several possible solutions, though, depending on the player. For example, it could remember which track it was playing when it was last running, and postpone any database scanning if it has been launched for the express purpose of playing a particular track. Or it could even keep running in the background for a couple minutes after you stop playback with no windows open, just in case you’re going to start playback again.
Always be closing
Phone and tablet operating systems, such as Android and iOS, have abolished the ideas of “quitting” or even “closing” applications altogether. In Ubuntu, running on screens large enough (and with pointing devices precise enough) for multiple windows, “Close” remains a very useful idea. But with a little effort, we can reduce frustration and simplify Ubuntu overall, by making “Quit” something that humans no longer have to think about. Let’s stop being quitters, and start being closers.
The toolkit

247 Responseshide comments
You guys need to be a bit more grounded in reality.
* Firefox still leaks memory. most applications do. Periodic restarts are needed.
- Restarting an application is akin to rebooting; its a start-over mechanism. We need that. Banks require it, updates require it etc.
* The windows taskpane sounds much like your ideas; persistent background processes that never close.
* Not everyone has more than 1GB of ram. I still use systems with less. In fact, most people not in the western world do NOT use such systems.
* Even if everyone had more than 1GB of ram, applications will simply expand to fit the available space.
It is all about options, really!
I would like to be able to “close” a doc, a window or an application, “hide” it, or “quit” it, if I so need or wish!
Depriving users of this freedom of choice is not the right approach!!!
After all, not everybody likes applications running in the background, doing whoknowswhat!
I had to install an app on my smartphone, which actually “quits” applications, rather than just hiding them.
Please don’t use that tired old excuse. We’re trying to make a modern OS here.
Describing restarting an application as “akin to rebooting” hurts your argument rather than helping it. As I explained, updates can invite you to relaunch individual applications without the applications needing “Quit” functions. And as for banks, can you give any example of a bank incompetent enough to confuse logging out with restarting?
I don’t know what you’re referring to with the “1 GB”. I wrote that the Lisa didn’t need “Quit” because it had 1 MB of RAM, not 1 GB.
For those of us actually doing productive work with our computers (rather than browsing the web or playing games), the close and quit options are important and useful.
I run an architectural firm in Raleigh NC, and have been involved in various aspects of design (graphic and buildings) for over 40 years. As an aside, I have been using computers since the punch card days, and have my entire office running on a combination of Centos, Fedora and Ubuntu. So we are really using desktop Linux in a productive office environment.
I have had a lot of new designers come through the office over the years who think, because they don’t yet have much experience, That their brilliant design ideas (and they are brilliant) should prevail over the requirements, needs or opinion of the client and others involved in the project. The problem is that the inexperienced designer tends to look at the problem from their own point of view rather than from the many points of view that are actually required. (Client requirements, code requirements, cost, aesthetics, function, build-ability, etc.)
In the majority of programs we use in our office, “close” means close the file, and “quit” means quit the program. We are using CAD programs, word processing programs, graphics programs etc. In none of these programs would we want the program to “quit” when we close the last open file because we are going to immediately work on another file. It is a serious disruption of workflow to restart the application each time to load another file.
The music editing program Audacity -by default- will exit the program when the last file is closed. This drove me a bit nuts until I found the option that will keep the program open until “exit” is clicked. The reason this drives me a bit nuts is that usually I am working on a sequence of files for a CD project, and there is no reason to close and then restart the program. If there are open files when “exit” is clicked, the program will now politely ask if they should be saved or closed. Gimp does the same thing. This seems a reasonable behaviour.
Bottom line is that I think it is a cop-out to enforce a UI behaviour by removing functionality. Why not publish a design guide for the use of “close” and quit”? It might seem harder and maybe even more work, but in my opinion, the world would be better for it.
Kurt Eichenberger
Ahmen! This is why Ubuntu 10.10 is my last Ubuntu. I’m busy experimenting with Mint and OpenSuSE at the moment.
Quite a design decision. It comes in a moment all Linux problems are solved and this one remains the final step to make users happier when using the great OS.
How about thinking that over the years I seem to use the very same kind off apps (browser, rss, audio, video, torrent) and they hog a system with 4G of RAM the same way they did with 2G of RAM and the same way they did with 1G and with 512?
very interesting read,
)
also the comments… (some of them
i think close should equal quit, except for still running apps that also have a panel spot…
for the rest the startup time should just be fast enough (below 1 second!!!!)
(including office, video, music; excluding games…)
(without already being preloaded! (gnome libraries are already loaded…))
and then it wont be a problem…
don’t keep closed apps in ram… keeping green computing (who cares…) i mean battery life (now i care!) in mind…
is this inconsistent, yes!.. as there are 2 clear options
is this consistent, yes!.. as there are 2 clear options
you should fix the bug (slow starting apps (office being probably the most important one))… not make beautiful workarounds for them…
the real thing its not about quit.. its about how to multi task
and i do love the centralized idea of managing your music, and your contacts and stuff
(though some implementations are not 100% my taste)
now you have:
1: deamons (things that are always in the background) (no user interaction)
2: panel apps (things that can be in the background and can have for ground apps associated with them)
3: normal apps (close=quit)
4: full screen apps (close=quit)
panel apps:
panel apps should have a panel interface, a deamon and a window part!
applications that can be on the panel should have a setting that says if there panel interface should be there always (like when the window is closed, and during startup) or not
the current defaults, and indicators if apps are running in the background are nice
the deamon and window part should both be launchable and quitable from the panel interface! (the panel interface persist after both are gone, if selected as described above)
the panel part should be there if the window is launched the traditional way, but disappear again after the window is closed (and no deamon!)(if not always on)
examples:
music – pressing play launches the deamon (since its only a deamon this should be instant)
– if stop button is pressed in panel the deamon quits (NEED MY RAM!!)
– if pause button is pressed in panel the deamon remains
– launching the window part should also be instant… (though it may be more memory consuming when its on… while doing things like keeping its DB up-to-date)
instant messaging – depends on settings…
– should be quitable from the panel (per app, and global by the me menu), quiting kills the deamon + window, put leaves the panel interface… so that it can be easily launched again
mail, sms, etc… – always on by default (but like mark said, they should not be attention whores (probably not his words))
torrent – should not launch during startup
– can be quited from panel
full screen apps, and process priority:
the are not that many full screen apps, there mostly: games / remote desktop / VM
to make sure the system stays responsive under all times a few things need to be implemented:
1: Gnome+Desktop always always get there minimum required cpu+ram… with priority over pretty much everything else!
ALWAYS!! so that once an app gets out of control, the whole system wont be unresponsive.. just the apps getting slower… this includes a task manager (to kill the buggy app)
(like when vlc or firefox go crazy and eat all my ram cpu and what not.., game freezes)
2: Alt+Tab (or four finger thingy, or whatever) are always working! so no full screen app can take over the system.. without the user being able to get out
(a nice option might be to put full screen apps on a workspace, so that switching becomes really slick)
so a proposed priority list is:
1: ubuntu+gnome
2: in focus app (i want my game to run with as good as performance as possible)
3: everything else (up for debate)
lucky ubuntu is opensource… so its mostly just time and effort
a lot of this is pretty much as you described it so keep up the good work
with kind regards,
Gerrit-Jan
nm, you want to rm close all togheter…
mmmh thats more troublesome
Buy an android smartphone, install 20 different apps from 20 different programmers. Open all the apps and use them. After a short time the system will be SLOW and your next desire would be to download a taskmanager to kill all the apps. Actually there are a lot of application killer on the android market. Have you ever wondered why ?
You can’t trust 20 different programmers that they will never waste all your resources (CPU 1st) under your particular system setup.
So please, I’m so disappointed with this UGLY lack of “Quit/Exit app” on my android. Why copy it on ubuntu ?
(iOS is different, on iOS you can close apps just doubleclicking the button)
@sangiovanni
i kinda agree with you there…
and closing is also very usefull… it means.. app please leave me in peace.. (aka DIE!!!)
its a very clear way to say i am done browsing
i am done chatting, cause i have some work todo
how would it work anyways, should everything be kept minimized?
then what if i would use alt+tab… would i get 10000 windows to switch cause i like to keep my computer on at all times?
I like this, and I’m really happy that you’ve made it a fairly officially established goal. Yay!
However, I’d like to point out that even new stuff is pretty inconsistent here. For example, in the menu for a running application in Unity’s launcher, we have that very same Quit option. Even for Banshee and Rhythmbox.
It gives me the impression of a rather fragmented vision across the range of developers working on this.
That’s possibly because Shuttleworth and his buddies are more interested in copying various commercial desktops and mobiles than working on the real problem of Linux which is the poor state of the various applications. And by applications I don’t mean Facebook. No one is going to drop their iDevices or Android Facebook or Twitter app and move to a clunky Ubuntu netbook to run social networking apps.
The desire to “make the user experience as simple as it can be- but no simpler” is great. The question is where that point of maximal simplicity is.
For a basic user(eg all those people out there who don’t know about tabbed browsing), it’s quite likely at a different point to where a power user would put it- and the use cases where a quit button is of importance are mostly power use cases, scanning through the examples here . The other issue is that in a closed garden where there are no memory leaks, and the apps allowed are a small subset of the apps possible, there will be sufficient memory available to run all available applications in memory.
The use cases here seem to be for memory- intensive processes, or cutting edge uses. I get the impression Canonical have decided there are no processes that require too much memory in the use cases they wish to support, and that the development environment examples will occur in power users who can use a more advanced method of quitting processes without substantial resource wastage.
As someone who’s had to learn what “when it breaks, you get to keep both pieces” means a few times, I don’t mind losing the quit button, but I’d find Ubuntu a whole heap more difficult to use without the quit process, and that would have probably made the learning curve on Linux significantly more of a challenge.
“Gmail quits, but Amazon, eBay, and Facebook quit too, while Banshee, Calculator, Empathy, and Shotwell stay open. How much sense does that make? Not much.”
It makes perfect sense. You told the browser to quit, so it did. Amazon, eBay and Facebook are websites, not applications. Just because they want to be applications doesn’t make them such.
Precisely.
You are under the impression that people “told the browser to quit”. I think that extremely unlikely, since most people don’t even know what a browser is.
http://www.youtube.com/watch?v=o4MwTvtyrUQ
http://www.youtube.com/watch?v=lEt0N3xu0Do
http://www.youtube.com/watch?v=ZH5ZIXItkS8
Then all MDI application windows should do away with the close button on every separate window or tab within them, such as the tabs in Firefox, which makes separate tabs meaningless, which brings us full circle back to the problem that browser tabs were initially designed to solve! Or the close button for the parent window should be discarded, which again leads to the same thing. After all, how hard is it to differentiate between a box and the contents of the box? You will always ultimately end up providing _some_ functionality for grouping and organising windows and managing a group as a unit.
I never understand why people who know the rationale behind a computer’s perfectly logical operations have to suffer at the expense of people who don’t. But then maybe I’ve never understood how people think about computers anyway.
Once again, no-one is proposing to abolish close buttons.
Unfortunately, I do not seem to have been able to communicate the essence of my argument properly. What I mean is this: -
Whenever there are too many windows of a similar type, it is nice to be able to group them together and to manage the group as a whole. Now, in your opinion, exactly what mechanism should a user have to close all the windows in such a group at once?
And what about those, sadly not idiotic enough to fit into your loldumb generation, who do know what a browser is? Honestly, where are you people going to go with this? Ubuntu is insignificant even to the least used of mobile OSes and no one is going to switch from Android, iOS, OSX or even Windows 7 to Ubuntu.
You people are lost.
What about them? No-one was suggesting here that people would switch from mobile OSes to Ubuntu. As for the others, Ubuntu is continuing to gain users. I don’t have data on what proportion of the new users switched from Mac OS X and Windows 7, but I’m pretty sure the answer isn’t “none of them”.
I believe this discussion exposes an old UX dichotomy: program driven versus data driven. In a program driven UX, the user organizes their work in terms of programs (editor, browser, …) acting on data; in a data driven UX, the user organizes their work in terms of data (document, music, Web page, …) and actions taken on the data (render, edit, …) expecting the data to “find” and launch a piece of code which implements the task requested by the user). And yes, once programs became capable of acting on multiple documents at a time or supporting multiple tasks at a time, the data centric UX became weird, to say the least.
In a data driven UX, the only remaining justification for Quit is to clean up a program which has become unstable. At which time Quit may or may not work reliably.
What does make sense as the alternative is giving the user the ability to suspend selected functions (“stop rendering email – but keep notifying me of new email arrivals”; or: “stop notifying me of new email arrivals, but don’t stop rendering whatever emails I currently have open”). Reorganizing app code to expose functionalities separately from each other could actually be very healthy on many grounds.
The point about mobile device OSs having done away with Quit altogether is interesting – because of the current fascination with apps on mobile devices suggesting an app centric UX there, not a data driven UX. Go figure!
And what do you do with files that are more than one “type” of data or can be opened by more than one application? Some models are ok because the environment is restricted, but it makes very cumbersome desktop operating systems.
It is funny that I have come across this since I am just starting to use tiling window managers and one thing that I have learned about them so far is that they do not offer the minimize, restore and close buttons. So what I do is that I try to locate the quit button to close the application as that is the only way for me to get rid of it.
As I mentioned in a previous comment, very, very few windows have a “Quit” button. It’s been fairly common to have a “Quit” menu item, but any window that has one of those can just as easily have a “Close” menu item.
Btw. also early Amiga Systems could do multitasking.
Indeed. When I said “they could all multitask” I was including the Amiga.
The closing paragraph is an interesting perspective. The practice on cell phones is actually confusing. I’m looking at a web page on my Droid use the Dolphin browser and I want to stop that and close the application. I expect that I should “quit” or “close” the application to tell the phone to stop doing it. Instead I have to press the “home” symbol, which leaves me wondering – did I really quit the browser or did I just change what I’m looking at? With some phone applications the answer is that they continue to run in the background. I find the logic of this entire move to be without foundation. Quit or Exit are actually excellent and useful tools which have nothing to do with the power of today’s computer and everything to do with how users think about what they want to do.
Well, I’m probably older then all of you, having wire-wrapped my first few computers in college in late 70s; and using “linux” back when SCO+xenix was the intel-based variation of choice, and you could support 16 simultaneous users on a system with 64KB, and XENIX ran just fine with 512KB of RAM.
Anyway, I use QUIT all of the time, know the ramifications for the applications I care about. Removing QUIT goes against the nature and elegance of the operating system. It is like Oprahfication. You are dumbing it down to appease the newbs who can’t be bothered to learn how to use something.
What’s next? Enforcing are-you-sure’s if you type in by mistake ‘rm -rf * .log’
I’ll bet my life that the people who want to get rid of QUIT have never had a computer that was starved for RAM so is constantly swapping.
You could make a similar argument that auto-saving documents (for example) goes against the nature and elegance of the operating system, appeasing the “newbs” who can’t be bothered to learn the difference between memory and disk.
There’s nothing wrong, in itself, with making people learn something. For software where competing products exist, the question is: will making them learn it end up satisfying more users? Will it make the people, who do bother to learn that something, so much more efficient that they recommend the software to more people than have been driven away by the requirement to learn that thing in the first place? Sometimes it will, sometimes it won’t.
Terminal commands have, for good reasons, fewer safeguards than their graphical equivalents. Fewer, but not none: “rm -rf /” does nothing by default in Ubuntu 6.06 and later.
So, Ubuntu, after year of playing catch up to Windows, decided it’s better to play catch up to OSX? I’m a Mac user (Mac system administrator for a large design company), but I also use Linux privately and I’ll tell you why I used Ubuntu up until 10.10: amongst the various Linux distros it was the one that worked the best and had the least amount of technical issues.
Ubuntu switching to unity isn’t going to grab any Mac users, or Windows users for that matter. They’re all pretty happy where they are and suffer less drama than this monstrosity. And mobile users are not going to come running from Android, iOS or Win7 Mobile. All of those are vastly more polished and headache free than this disaster.
What Ubuntu should be concentrating on is improving the current Linux applications, most of which are poor cousins to their commercial competition. Shuttleworth has lost the plot with this Unity debacle and is steaming off down a dead end road at the end of which he’ll have to do a u-turn and come all the way back.
Personally I’m going to give Mint and OpenSuSE a go, since at least with SuSE I don’t have to worry about Führer Shuttleworth dictating his Mac envy to the rest of the community.
So, we went for 169 comments before someone Godwined themselves. Not bad for a design discussion.
As I have already explained, abolishing “Quit” will make Ubuntu less like Mac OS X, not more.
I would frame the problem this way: the actual issues are resource use and app presence.
Resource use makes it difficult to simply hide the open window of an application when you hit close because people’s machines get bogged down. However a sufficiently intelligent operating system could theoretically manage this problem, for instance by having fast “standby” modes for apps which can be woken up without everything hanging and can be stored without clogging up ram.
Music playback is such a common one that it might be worth having somekind of lightwieght player always open and the current track cached, so that it starts playing while the jukebox app warms up. (On a side note, given the ubiquity of media keys on modern keyboards and laptops, can we have slightly less massive play/next/previous buttons in the sound menu please?)
The other issue is that ever open app leaves its icon in the sidebar at the moment. When should this icon dissappear? When you close the window, even if the app is still running in background?
There is certainly an argument for moving towards a process manager style system where apps stay open unless you force quit them,, though obviously that has its own issues.
Eh, one valuable aspect of “Quit” that hasn’t been mentioned (though Alexander alluded to it previously) is the issue of web browser privacy.
Quitting the browser causes the browser to forget session cookies and certificates: I _want_ to be able to do this after, say, a sensitive login, uploading student grades, or handling a financial transaction. I don’t want my browser to simply minimize and keep these login details in memory after I no longer need them.
Clearing login details is another good example of what I referred to as Quit “being used to mean several quite different and non-obvious things”.
I have yet to come across a Web site that requires login without also offering a logout function. Even if there is one, Firefox and Chromium both have commands to clear active logins and cookies from the past hour, the past day, and so on.
<<>>
It is obvious for he who know about cookies and stuff. It is not obvious for he who doesn’t. You want to make it not obvious for everyone?!
<<>>
So instead of closing the browser and invalidating the cookies off a shared computer, you either have to hunt for the log-out link or go to Tools > Delete private data > Select “Last hour” > Click OK > Hide the now-useless window.
This design idea is a really bad one: it makes thing unpredictable and complicated. Drop it!
It really annoys me that closing Banshee doesn’t stop it from playing music.
For me, as a power user, “quit” means “stop doing anything!!”, for an IM app, it means: stop showing me as available, stop using my yahoo login because I want this other program to use it! Just stop everything! Don’t assume “oh you just want to be offline!”, NO! I want you to get out.
I quit an application when I feel it’s not doing what I want. I quit an application when I feel the application is being presumptuous and making false assumptions about what I want to do.
I hardly ever quit an application because I need the memory .. it’s not about process/memory management. It’s about setting rules and drawing lines; it’s about having control over one’s out computer.
(Sorry if I’m repeating what someone else said, I didn’t read all the comments, there’s too many of them).
Thank you for providing those further examples of Quit “being used to mean several quite different and non-obvious things”.
If you want Banshee to stop playing music, click the Pause/Stop button. That’s what it’s for.
You’re confusing “application” with “service”.
Music playback is a service.
Mail synchronization is a service.
Update checking is a service.
And web browsers have, for all intents and purposes, become services, too. Although I like to be able to run firefox and chrome at the same time.
Services are not meant to be “quit”, but applications ARE.
Also, you CAN quit applications in iOS. Just double-tap the button on your device, hold one of the icons in the active application list, and tap the close button. We NEED this functionality in order to shutdown applications that have hung, or to clear up background apps because the one we want to run takes a lot of resources and would run slowly otherwise.
Quit is, and always was, useful. It is NOT a broken design. You’ve just confused apps and services.
First you have completely misinterpreted the reasoning behind the Quit item on Mac OS (X). On Mac OS there has been up until recently a clear distinction between closing documents and really shutting down an application.
On Windows and Linux it’s not so clear: closing the last remaining document on Windows and/or Linux can sometimes also mean quitting the application (a behaviour even Apple is imitating with on-window apps–unfortunately, cause this is inconsistent with what they have been doing the last 20 or so years).
However, since you can run several instances of the same application at the same time on Windows and Linux you’ll never know how many open documents quitting one instance might close, it’s very intransparent.
On Mac OS you can only run one application once, doubleclicking again on the same application only switches to the already running app and won’t launch another instance of it.
So closing files and quitting apps is very clearly and transparently separated on Mac OS whereas it has always been quite untransparent what is going to be closed when quitting on Linux and Windows (there could be two instances of an app one having one document open the other one having three open).
Why does it make quite a lot of sense to quit apps: I want to free the RAM. Your argument is get more swap space, what if resources are limited (harddrive space)? Also to be honest on iOS ever since it got multitasking I honestly hate it that all apps keep on running all the time, because they simply bog down the whole device and battery use is also a concern, if some app keep doing things in the background. There are a lot of small apps or “inactive” apps which after all do not use 0 resources. Looking at “top” on my laptop I can see there are tons of apps that supposedly do nothing, but still use 1-2% CPU for doing nothing. Why would I just want to keep e.g. 10 apps running which could add up to using 10-20% CPU for nothing whatsoever? I just don’t see the point.
Or if an application starts acting up, why should I always kill -9 it? I think closing down an application gracefully makes some sense. I just don’t see gains large enough that would make good for the losses of removing the Quit menu.
I really think you have totally have lost it with this post and if this is the direction Ubuntu is going to take in the near future, they’ll have to go it without me. Too bad, I just started to really, really love Ubuntu…
You may be looking at the old Mac OS through rose-tinted glasses. Was closing the Note Pad Desk Accessory on the 1984 Macintosh “closing a document”, or “really shutting down an application”? Kinda both, kinda neither. And even if the distinction had been clear then, it sure isn’t clear now — quite the opposite of “clearly and transparently separated”. http://design.canonical.com/2011/03/quit/#comment-14272
You’re not the first in this discussion to assert that if an application is acting up, a “Quit” menu item would somehow be more reliable than a “Close” menu item. I don’t see why this would be true. For example, on my machine, sometimes Thunderbird gets into a state where it consumes CPU indefinitely even after its only window has closed. In that case, “Quit” works no better than “Close” does.
The Mac idea of applications are managed is just broken. When I click on the red button the application should close and flush from memory. The main thing here is control. The average user does not understand computers but they do understand the idea of (X) to stop and application. The (X) is a good translation from the real world. Having application that still run when closed is a horrible design decision, but it makes for great ways to let hackers control your machine.
To check I’m understanding this theory — When you have an “ebay” window, and you hit “quit”, then half your other windows also quit, just because they happen to be running within firefox. This is bad because users don’t think “run firefox” as one thing, they think “visit ebay” and “visit google” are unrelated things.
As far as I can see the plan is to only have a “close current window” button, and “quit” happens under the hood when there are no more windows (with systray icons / app indicators / music menu counting as an open window).
That’s one way of putting it, yes.
I have read through most of the comments on this post (believe it or not) and, I have to say, I have come around to your way of thinking. With Firefox being a good example, If I had a few tabs open in a window, I would scan the titles of the tabs before closing the window. If I had multiple firefox windows open [rare for me] I would always close each window individually. I would never use [or expect] Quit to kill all firefox windows, that doesn’t make sense to me because I consider each window to be a separate instance of an application with a separate workflow (at least conceptually) and killing multiple separate workflows is dangerous…
I do have one concern though. You mentioned, with IM as an example, that closing a window should be one thing and ‘going offline’ should be a separate thing and that there is no need for quit to handle both these things. However, certain apps like Skype and P2P downloaders like Vuze sometimes need to be Quit (in the traditional sense of the word) in some cases.
For example, closing the Skype window and changing status to offline does not disconnect you from the Skype network where as Quitting would and there is no way to disconnect from the Skype network without Quitting AFAIK. As you may know, leaving Skype connected in a corporate network could land you into trouble with the IT crowd for turning their network into a hub. You could argue that Skype should add a disconnect option but they are not inclined to do so as disconnected users weaken their overall network quality.
For my Vuze example, having multiple downloads running chokes my browser, so when I need to browse I Quit Vuze because simply pausing/stopping all of its downloads does not recover the bandwidth immediately for some reason..
Both of these apps (Skype/Vuze) are App Indicator / Systray apps and they both currently have a two step process to quit in both Windows and Ubuntu to my knowledge. Close the window, then right-click Systray or App Indicator icon and select Quit. Does your new design have workarounds or solutions to these issues?
If an interface misleads people into thinking that going Offline disconnects them when it doesn’t, it could just as easily mislead them into thinking that Quitting disconnects them when it doesn’t. I don’t think retiring Quit will make designers more likely to produce misleading designs! Applications like that need to either provide an explicit Disconnect command, or disconnect when closed, depending on their role.
I always use Quit to close all instances of a running application. For example, if I have 6 web-browser windows open, it is convenient to select Quit and have all 6 instances close as opposed to having to close each window individually.
I am going to miss Quit!
Definitely some interesting thoughts, but I read somewhere else a similar chain of thought that I – after giving it some consideration – agree more with. If we want to revolutionise this aspect of how we work with applications, get rid of all different incarnations of hiding windows for running applications! I mean (what the author of that article meant) closing app’s window while it continues to run, minimise to panel/systray/desktop etc. In other words, when a program is running, its window will be open.
So how do we prevent the desktop from overflowing? Workspaces! It takes an effort getting used to not being allowed to minimise apps any more, but isn’t that mostly because we’ve grown up with these ancient paradigms that you’re talking about?
Now that I think of it, this might be the road that Gnome is taking, and thus I could’ve read the article over there somewhere. I just hope that these efforts to reinvent the Linux desktop ties apps too much to a specific environment, and make them feel out of place in another.
i think there is a big difference between using your pc for everyday tasks like email, web browsing, word processing etc which dont need much resources and using single apps which need all power you can get – in my case it is playing World of Warcraft with reasonable high grafic settings – before i start wow i usually restart and kill everything i dont need, because not doing so results in lags.
when i’m writing stuff i dont care what apps are open in background or on another desktop, there may be playing vids, 3x chromium with 10 tabs, last.fm, and so on, just doesn’t matter, no difference, but when i start a game, i want all resources go to that app (beside teamspeak and a browser window for researching stuff…)
The obsession with details such as the ‘Quit’ option suggests that the focus of UI ‘designers’ is heading rapidly towards structural navel gazing. cf the Skype 5 for mac UI or tabs in Thunderbird 3, or Ubuntu’s own Unity interface. Why solve problems that don’t exist.
I (unfortunately) grew up with an OS/UI that behaved entirely consistently with regards to close window/quit app. My life with the Windows/MacOSX/Linux GUI’s has been one of frustration because some apps use the close window icon as a quit application icon whilst others don’t.
What would make much more sense to me is is a bit of consistency. For example clicking on a window close icon, always closes that window, but not the application. Choosing the quit option from the application menu should always quit the application, closing all open app windows at the same time. Fix that inconsistency before removing the option to quit applications.
There are plenty of people out there using ‘legacy’ hardware, hardware that has been given a new lease of life by installing linux on it. Why then stop users taking advantage of the resource efficiencies of linux by then removing the possibility of quitting applications to free up even more system resources?
Besides legacy hardware issues, there are lots of reasons why I quit applications. I can quit a web browser and save all current tabs automatically, so I can re-open the browser later and carry on where I start. This is easier to achieve by a keyboard shortcut (Ctrl Q) than by first bookmarking all current tabs and then closing the web browser window and tabs.
As others have pointed out, modern applications like browsers start slowing down significantly if you leave them running for days on end. On this Macbook I have to restart both Firefox and Opera after a few days of usage. Taking away the option to Quit such apps means the user’s options are limited to a ‘hard reset/reboot’ to close such applications or bringing up a system monitor/force quit dialog (ie starting another app to close an app).
Either of these options takes a lot more time than quitting one application using the quit option from the menu.
“As others have pointed out, modern applications like browsers start slowing down significantly if you leave them running for days on end”
I don’t see your logic here, who says applications are going to be left running for days? Close is not the same as hide. If you want to Quit Firefox, you would simply close its open Window(s). Likewise, if you want to free up resources and focus on one application like a game, you would simply close the windows of the other applications.
Nobody is preventing anybody from quitting applications, just standardizing the way that you do it..
I think the idea is crap. My computer is of finite resources, I don’t need anyone to invent ways to bloat and slow it down. Thank You.
“Close” closes a Window – an application is finished and the resources it uses are freed if there are no more Windows open and you are not using it for anything else.
“Quit” forces an application to finish by closing all its open Windows, it also interrupts anything else you are using the application for.
This will not effect your ability to free your resources in any way. You will still be able to end applications, just not by using the Quit option. How many times have you Quit the Ubuntu Software Center? Never because it doesn’t have a Quit option, only “Close”. But you have, in sure you have freed up the resources it uses many times by using Close to close its only open window.
Firefox has both a Quit and a Close option, but how many times have you used Quit? I can’t speak for anyone else but I never use it, if I have 3 open Firefox windows I would close each one of them individually making sure I’m finished with each one. In fact, If I press File > Quit on one of the open windows, I find it surprising that it closes the other open windows. One of my open Windows could be looking game hints, the other could have my Bank Account, and the last could be my email. Why should pressing Quit on the game hints window also close my Bank and my Email Windows?
I am really happy for those that are paid to create this stuff, even if their time could be better used.
mpt,
you MUST be kidding when you say that 2GB of RAM is low-end computer territory. Many of the regular people who you design for don’t even have those 2GB!
One and a half years ago few nerds even had 2GB.
=====
And say you have 4GB (still low end?) and you run two VirtualBox-es, two instances of OpenOffice.org and two GIMPs. You want to close some of them in order to play a game.
How would your system perform?
=====
Change for the sake of change is bad, esp. since it’d complicate matters!
Just rename “close” to “close this document” and “Quit” to “Quit this app/program”.
No, I didn’t say anything remotely like that.
Your system would perform exactly the same after closing your VirtualBox, OpenOffice.org and Gimp windows as it does now.
After the first shock, I even begin to like the idea. Being an Android user, advocating against task-killers because they screw up your OS, it’s kind of seducing to me.
The big BUT is: Then you need a very good and fast working automatic task killing and caching system like Android has. Every system has limited resources. Depending on how many programs you start per session, they would all run in the background. Sooner or later at some point the system would be very slow, using all the resources and more energy.
What has to be done is, imho, to have a mechanism that quits idle tasks, when more memory is needed, and leaving the non-idle processes untouched. Also, idle tasks, can be “cached processes”.
Like I said, the Android OS does an amazing job of doing this. Maybe that would be a good solution, and the end of the “Quit”.
>>Like I said, the Android OS does an amazing job of doing this
Maybe that’s your personal experience. Mine is that it sucks! If I want to keep my battery alive after web browsing or any one of a number of other heavy tasks then I have start the reboot process before I put it back in my pocket!
I suppose a task killer would work too but when I am on a cellphone I probably just want to put it away, not fumble with loading yet another app.
If I don’t do that then about 1 in 3 times something keeps going in the background and runs my battery down fast.
Am I the last one left who wants his mobile environment to look more like a desktop environment and his desktop environment left alone?!?!
I don’t know how many times I’ve been surprised the battery in my phone was almost dead much earlier than I expected only to discover that some app was still running that shouldn’t have been. Give me a #$%#$ quit/exit/close/whatever you want to call it button please!
I do agree with you that applications which run in distinct windows and are non-obvious that they go together should not necessarily close together. That doesn’t excuse removing the quit button! Just build in a little intelligence and move on already!
I can’t wait for this movement to make computers feel like dumb appliances to die the death it deserves. Dumbed down interfaces may make things a little easier for dumbed down users but they do not make good computers or appliances!
Oh, and the hardware of the 80s vs hardware today comparison is only valid if you are still running the software of the 80s. Sure, a modern computer should be able to handle pretty much the whole library of old Lisa software running at the same time but today’s apps come with a whole lot more overhead than that. I do not want them running in the background on my computer just because it makes things easier for some dummy who can’t figure out what a close button is!
Wow, this is worrying – at least.
It’s good to know there are people to think about the future of User Interfaces. I agree with some problems you spot. However I don’t agree with this radical solution. I will try have time to think about it and read the comments. I would like to make my next comment more helpful.
In short, I think desktops copied the Quit function __on purpose__ and not because of cargo cult. Some software have design problem that they should fix themselves (LibreOffice). This is not Ubuntu/Gnome’s job: what about other platforms ?
I am curious about how you thought about this solution. To help people think about it, I think the most efficient would be:
- clearly identify problems. There is not only one. Some are software-specific (web applications), some app-speficic (quiting LibreOffice Calc quit every LibreOffice window), some just need a better verb than “Close”, etc
- give day to day use cases: browser with several tabs and windows, unresponsive application, …
- summarize in a big table so we can compare if the new solution will fix problems AND don’t create new ones.
There is another problem, I don’t remember if you mention it. Lots of application reduce in systray when you click on the X button of the window manager (same behavior as Quit).
If you plan to change the Quit command, maybe it’s time to think about the minimize and close buttons as well.
A process is a concept that is understood by most computer users. It can be started, then it is running and then can be stopped.
The process concept cannot be eliminated, it is intrinsic to operating systems. It can only be hidden.
Hiding this concept will only make less people understand it, which will further divided computer users from developers.
Users and developers divided makes two cultures that don’t understand each other.
Please don’t make it any harder for developers to talk to users and vice-versa by hiding concepts from users.
Honestly, this is a horrible idea. You know what perhaps the most popular app on Android is? Advanced Task Killer! Everyone I know who has a ‘Droid has it installed. Don’t repeat Google’s mistake.
I’m running on a low RAM laptop. Trust me, I use quit. If it doesn’t work, I use kill, -9 if need be. Furthermore, this isn’t the fastest rig in the world, so some programs take a while to start up. I definitely want them to stay running unless I say otherwise.
The argument about web apps is spurious. I know what’s going to go away when I close Firefox … all those tabs. I don’t use multiple browser windows and get annoyed when one shows up. But I’m getting side tracked.
Point is, if you don’t know the difference between a web page and a program, you’re quite the newbie and will learn soon enough. If you really believe that web apps ought to be treated like local apps, then you’ve got bigger things to deal with than undermining important resource usage controls.
This is a classic case of DWIM:
http://www.catb.org/jargon/html/D/DWIM.html
Which rarely works.
Hey, if you can actually make the computer smart enough to know what I want my limited RAM used for at the moment, then this is a great idea. ‘Till then, keep close and quit as separate concepts, lest I be forced to fork stuff and hack them back in.
You are mistaken. First, Advanced Task Killer is nowhere near the most popular Android application. Right now it is the 17th most popular free application (and I’m not aware of any way of telling how many paid applications are ahead of it). As Android develops, the popularity of task killers should continue to decline.
https://market.android.com/details?id=apps_topselling_free
Second, the percentage of computer users who know what a Web browser is is in the region of 5% to 20%, depending on the country. It is utterly implausible that 80% to 95% of the population only recently started using the Web and “will learn soon enough”.
http://www.youtube.com/watch?v=o4MwTvtyrUQ
http://www.youtube.com/watch?v=lEt0N3xu0Do
http://www.youtube.com/watch?v=ZH5ZIXItkS8
And third, the Linux kernel already plays “DWIM” with your limited RAM. http://www.linuxatemyram.com/
I said “perhaps”, I didn’t look it up, just an observation. And BTW, that’s 17th in a very very long list.
Well, I stand corrected. The average person is an idiot. I knew that, somehow I forgot it. (Furthermore, the video first could be cherry picked. It is a Google *ad* after all. I don’t speak the languages of the others.) Anyway, I run Linux because I’m not (or at least I’d like to think so). If it’s Canonical’s goal to cater to these people (which is foolish, they’re never gonna switch), I might have to think about switching distros again.
I’m fully aware of how Linux’s caching works. However, it works. The Android’s “wonderful” innovation in task management, doesn’t. I know, you’re not suggesting exactly that, but that seems to be the direction you’re heading in and I don’t like.
I think you may have a good idea of what the problem is, however, your solution is backwards. Consistency is key Close should be close. Quit should be quit. And never the twain shall meet. It pains me to think about how often I’d have to restart gedit if it closed when I closed the last document.
I’m still not entirely sure how I think stuff like docking music players should be handled. I’m not entirely sure, but I don’t think either close or quit should mean “minimize to the notification area”. That’s not consistent at all. Well, perhaps close, as one could consider the panel applet another window. However, in that case, it ought to actually *be* separate and not just “appear” when one closes the main window.
Actually, such things ought to be three programs: a daemon, a full ui, and an applet. That way, I can run only the bits I want. What the ideal UI for this is, I don’t know, but that’s how it should be under the hood and the user ought to have control.
If you have reached the conclusion that “the average person is an idiot”, Ubuntu is far from the only thing that will greatly frustrate you in life. I suggest trying a more pragmatic approach.
With the music player example I think you have discovered for yourself the problem with merely saying “Quit should be quit”. And Unity (like Gnome Shell) doesn’t have “applets” any more. But I do agree with you that applications that can do useful things in the background should separate out those things into a daemon. That way, for example, people could be notified of new e-mail without either having any mail window open, or having to install a separate mail checking/notification utility.
Personal observation and opinion, nothing more…
In any application with multiple windows, when I close the LAST OPEN WINDOW, the application should “quit.” It should also ask me “are you sure?” and allow me to opt out of that confirmation.
Applications that are intended to be active in the background at all times, like email checkers, sound control, music players, etc – perhaps those shouldn’t be referred to as “applications.” Those tend to be windowless programs of low impact, controlled by simple methods and displayed in a menu or taskbar to be used when needed. Most folks shouldn’t need to “quit” them.
A browser by itself shouldn’t be much of a resource hog. One that allows for 10 tabs or windows and Flash/Java running in each will certainly be a resource hog. That might be a user/usage issue in the first place.