tag:blogger.com,1999:blog-10735231.post6511299674308867553..comments2024-03-09T17:42:04.882+00:00Comments on The Radioactive Yak: When to Include an Exit Button in Android Apps (Hint: Never)Reto Meierhttp://www.blogger.com/profile/04583545000534514486noreply@blogger.comBlogger75125tag:blogger.com,1999:blog-10735231.post-60273855171141352312014-03-14T12:44:15.943+00:002014-03-14T12:44:15.943+00:00When to Include an Exit Button in Android Apps (Hi...When to Include an Exit Button in Android Apps (Hint: Never)<br /><br />You are an complete idiot and infantile. Facebook app will consume ram memory while running in background.<br /><br />An exit button IS A MUST for a phone browser! Especially when the user is watching porn.Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-10735231.post-43437787897928970782013-11-24T13:21:42.260+00:002013-11-24T13:21:42.260+00:00I really don't agree with this article.
As a u...I really don't agree with this article.<br />As a user, I want to be able to control when and if an app still runs and when it exits.<br />Lots of games and apps have states I need to save before they exit, like a really long level I worked for half an hour to complete and then two minutes before finishing it a phone call comes along and destroys my work ... <br /><br />IGO has an exit button, for example, and I really prefer that than other android apps that just exit when I hit the home button.Reviews For Android Apps and Gameshttp://www.cellular2all.comnoreply@blogger.comtag:blogger.com,1999:blog-10735231.post-72192830230553573492013-09-04T19:24:57.911+01:002013-09-04T19:24:57.911+01:00Right ...
and even in skype-like applications, you...Right ...<br />and even in skype-like applications, you can manage disconnection/reconnection with a good timeout/onPause/onResume management.<br /><br />If your users ask for an exit button it should work same as the home or back button (without them knowing that if you want) and it's up to the developper to do that.<br /><br />Even on an OS like Win7 when you close an app, the system keep some things in memory (without the user's knowledge of it) so that if you restart the application it will be quicker. And if Win7 needs the memory it clear things as needed.<br /><br />Solohttps://www.blogger.com/profile/07188582603642116894noreply@blogger.comtag:blogger.com,1999:blog-10735231.post-10208586386053949422013-08-10T23:45:52.980+01:002013-08-10T23:45:52.980+01:00As an "end user" and not a self-righteou...As an "end user" and not a self-righteous techy who wants to dictate to everybody, I think all phones should have a physical kill (close) button on the side to close the current app or process and return to home page, regardless of what that process may be - internet, camera, anything. I'm sick of opening the calendar or memo and finding the last page viewed instead of a generic start page. Older phones just had an off button for any process - now you have to tap back-back-back-back to end - is that really progress? Of course not.Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-10735231.post-72057876318611791172013-01-22T05:08:37.001+00:002013-01-22T05:08:37.001+00:00What makes you think that a developer who has alre...What makes you think that a developer who has already made a buggy application will correctly implement the exit button?Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-10735231.post-52327901813734608282012-08-31T20:29:37.510+01:002012-08-31T20:29:37.510+01:00Took me a bit to wrap my head around how this all ...Took me a bit to wrap my head around how this all works, so I tested it. <br /><br />It's awesome. Hit the "Home" button when you want to leave any app. Assuming the app is correctly designed (and does not require background activity when you are not using it), it is no longer running. Android takes a "snapshot" to cache of where the app was. Other than that, bam, the app is not consuming your precious resources. <br /><br />The best part though, is when you need the app again - blamo, it resumes right where it left off, as if it never stopped running! Brilliant. <br /><br /><br />Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-10735231.post-65791064457648720542012-06-19T20:52:14.870+01:002012-06-19T20:52:14.870+01:00Articles like this bring me great pain. They assum...Articles like this bring me great pain. They assume the following:<br /><br />1. Android is perfect and doesn't make mistakes. This is clearly NOT true. The comments mention poorly behaved apps. How about poorly behaved OS's? Most phone users never get upgrades or fixes to these problems because of vendor lock in.<br /><br />2. Android can tell when your phone/device is running poorly. This is also not true. Android looks specifically at memory management as its sole guide for determining performance. Unfortunately, total amount of memory left is a very poor guide for how well your phone is working. I can write an app that brings the whole device to its knees while not using a drop of memory.<br /><br />3. Developers are smarter than users. This one really pushes my buttons. As a fellow developer I have seen this time and time again. Developers looking down their noses at users with the belief that users are stupid and couldn't possibly know what they want. Well... I'm a user too and having an exit button on a game that I don't intend to use for the next three weeks is a benefit. And not because I'm overly concerned about resources per se. <br /><br />4. Android knows more about what its users want than the user themselves. Again, this is preposterous. The idea that Android can read my mind and that I should bend my desires to fit Android's ridiculous lifecycle model is absurd.<br /><br />People complain about Android all the time. It's no wonder the iPhone is ruling the roost. Until Google and its multitude of yes-men realize that users are in control, Android will continue to lag behind. If a user wants an exit button (and yes, there are many logical reasons to have one), then the OS should give them one. It is insane for an OS to think it can dictate the user's desires for them.Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-10735231.post-54133103920187948022012-05-04T13:02:42.175+01:002012-05-04T13:02:42.175+01:00Before I understood how Android apps work, I drove...Before I understood how Android apps work, I drove to a client demo with the help of the Android navigator on a tablet. We brought the tablet in to the demo and during the demo, the navigator started talking. That was kind of funny. Then I got the tablet, pressed the menu button to get rid of the navigator, then pressed the off (i.e. standby) button on the tablet. I was sure that would work but 2 minutes later it started talking again. Which was a bit embarassing. Then I just turned the thing totally off. But this is what happens when you don't provide users with an obvious exit button, and when the users haven't learned how your platform is meant to work yet. (Now I know about the exit navigation button, but don't try and tell me it's in an obvious place. It's basically the third-most-important function).Fletchhttp://www.saltwebsites.com/noreply@blogger.comtag:blogger.com,1999:blog-10735231.post-47730235988095386472012-04-07T09:49:53.644+01:002012-04-07T09:49:53.644+01:00Here's my point of view as an Android develope...Here's my point of view as an Android developer and user who also codes extensively on Linux and Windows. While some simple apps might not need an exit button, most complex apps do. It is the cleanest way to convey to the user what's really happening. Due to the wide variety of implementations nobody is really sure what an app does the last time you press its back button. Especially with browsers or apps with multiple activities having to press back 8 times to get out of the app is counter-intuitive and bad GUI design.<br /><br />I have two apps on the market, both of which deserve an exit button. One is a streaming music player with no real concept of pausing the music (this is determined at the server side), and the other can perform a CPU-heavy computation in the background. In both cases my users need a definite way to be sure the app is no longer using their phone's resources.<br /><br />Developers should ensure that, if they provide an exit button, it is *not* the same as the back button or simply calling activity finish. It should be a true exit, for example<br /> System.runFinalizersOnExit(true);<br /> System.exit(0);Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-10735231.post-35448833013514415542012-04-05T09:32:26.722+01:002012-04-05T09:32:26.722+01:00We really need the EXIT button because of all that...We really need the EXIT button because of all that pre-installed crap wich i cannot delete from the phone. <br />As an example, the flashlight always starts a background service in every 5 minutes or so. I really would like to disable it completly but heck, i cannot even uninstall it.<br /> I think we, the users, need to have more control here. I love having a lot of apps but I hate how every one of them can controll my phone and I cannot do somthing to stop this.Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-10735231.post-73094277020573752072012-03-13T04:41:57.568+00:002012-03-13T04:41:57.568+00:00Great post . I should think it's very useful f...Great post . I should think it's very useful for everyone who want to create a good Android application.Lê Minhhttps://www.blogger.com/profile/05531490423729440167noreply@blogger.comtag:blogger.com,1999:blog-10735231.post-19552996645243405422012-03-07T06:00:56.945+00:002012-03-07T06:00:56.945+00:00Actually my biggest gripe with Android is not havi...Actually my biggest gripe with Android is not having an option to actually close certain apps. For example. I access several HTTPS type websites on my phone and they require logins. So here is the problem.<br /><br />Lets say I go to cnn.com first, then nfl.com, then I access a secure site that requires a password.<br /><br />After Im done accessing a secure site if hit the back button it takes me to the screen that says the info has to be resubmitted ok, or cancel doesnt matter which button I hit I get caught in a loop of the same page refreshing. So what I have to do and have done on every android phone I have had is Open a second window then view all windows actually click the exit button on the window i cant close, and the new window i just opened hit the back button to exit it.<br /><br />Its stupid not to include something like hitting back button 4 times in a row should just force close the app. I hate having to hit the back button 10 times if I went to 10 different websites before i decide to close the browser. Just doesnt make sense.J Walkerhttps://www.blogger.com/profile/03853035531457966820noreply@blogger.comtag:blogger.com,1999:blog-10735231.post-41893758160780544682012-02-02T17:59:51.713+00:002012-02-02T17:59:51.713+00:00No leí más que los primeros post, están muy burros...No leí más que los primeros post, están muy burros.... Google no le va a poner un botón de Exit a sus cosas, aunque varias SI lo incluyen, por la sencilla razón que eso es lo que trae el telefono y que el proceso wiper se encarga de administrar esos asuntos... Y eso que apenas estoy haciendo mi primer App...Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-10735231.post-14028162576846549712011-12-08T10:43:37.216+00:002011-12-08T10:43:37.216+00:00Thank you for a very good article and many enlight...Thank you for a very good article and many enlightened comments.<br /><br />I'm not against not having an exit option but this almost constant decrying of having an Exit/Quit function in Android Apps sometimes feels like a religious dogma - 11th Commandment - "Though shalt not have a Quit option in Android Apps because God Google forbids it". Yet, its not forbidden and is even documented in the Android developer docs. If one follows the correct procedures with good coding then a safe Quit function is easy to implement.<br /><br />Many users expect one and many posters above have given very good reason why an app might need one. By the way, Goggle's own Android SDK, Basic4Android and HyperNext Android Creator all offer quit options.<br /><br />One last point - CoPilot for Android has an exit button that clears Copilot from memory and releases the resources it was using.Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-10735231.post-71633165534487053162011-10-15T10:17:36.256+01:002011-10-15T10:17:36.256+01:00Absolutely not. I made an effort to make the menus...Absolutely not. I made an effort to make the menus appear as logical as possible, adding an extra option would ruin them.<br /><br />My pre-froyo applications DO have an exit button, but only when an exception has occurred. There's a mode in which you see only a TextView with the logo dimmed in the background. The contents of the TextView has some explanation of what happened and the exception with the backtrace. The menu then has only 2 options: Send and Exit. The send option starts an ACTION_SEND intent to a support address and exit really does end the process, just to make the user feel less frustrated.Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-10735231.post-16823738441191423832011-09-06T13:06:49.587+01:002011-09-06T13:06:49.587+01:00I think Google should make an EXIT option for ever...I think Google should make an EXIT option for every app which would appear always after pressing the menu button. So you could kill the whole app easily and efficiently no matter what the developers wanted.Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-10735231.post-56002891903459113412011-05-18T19:09:22.152+01:002011-05-18T19:09:22.152+01:00Imagine for a moment, a hypothetical different wor...Imagine for a moment, a hypothetical different world. One in which every application had several buttons in the taskbar at the top: "Minimise", "sleep" and "kill".<br /><br />"Minimise" would just continue running and updating in the background, but would close the UI. Like tapping the home button does now, and the back button sometimes does.<br /><br />"Sleep" would stop it using any services or updates, but it would remain in memory, ready to fire up at any time, with its last state cached. Like "Exit navigation" for Google maps, and like the back button sometimes does.<br /><br />"Kill" would terminate the app completely, removing it from memory, after offering to save if necessary. Like killing it with the task manager.<br /><br />Apps for which it was irrelevant could disable the "run in background" option.<br /><br />Now, I'm not proposing this as a solution: it's far too complex for my mum to use, which makes it bad UI design.<br /><br />But, other than UI complexity, what would be *wrong* with this alternative world? What would be the downsides of putting this control in the hands of the users?DewiMorganhttps://www.blogger.com/profile/17411224828292805220noreply@blogger.comtag:blogger.com,1999:blog-10735231.post-41929539372760111512011-04-15T06:18:07.693+01:002011-04-15T06:18:07.693+01:00So, the facebook app is a good example of needing ...So, the facebook app is a good example of needing an exit button. I don't really want to "log off" because the application doesn't remember my username / password and it's hard to type it in.. I'd rather just be able to stop it from consuming resources but leave myself "logged in"Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-10735231.post-78299382537097571872011-04-14T21:49:25.585+01:002011-04-14T21:49:25.585+01:00I liked your article, and obviously you put a lot ...I liked your article, and obviously you put a lot of thought into it, and you make a very convincing argument argument. <br /><br />All of which is lost on any person, who uses Android phone with preloaded crap that comes from any major carrier. <br /><br />Things you never thought you had start in the background, things you do have complain about not enough memory, the launcher shuts off to make room for a browser you left on in the background, and the magic of Android process management goes to hell in a handbasket. All because what the system thinks is critical, what it thinks is ok to shut down and what you need for the phone to be useful involve entirely different sets of priorities. <br /><br />It makes you wait for launcher to reload every time you hit home key, but keeps Voice Dialer and Sprint TV at the ready, in case you want to use them, based on the usage patern. Oh, wait, but WHOSE usage patern? Since you haven't used either of the apps EVER, and loath the fact that you can't uninstall them since the moment you discovered they were generously included.<br /><br />You describe the issue as it should be, and not how it is. The inclusion of an Exit button gives the user EXPLICIT control to tell the system which apps to kill, if need arises, and doesn't leave you praying for Google's or Gods divine intervention.Tonasz P. Kołudahttps://fb.me/Tomasz.Koludanoreply@blogger.comtag:blogger.com,1999:blog-10735231.post-56565610017287749962011-03-08T18:04:50.923+00:002011-03-08T18:04:50.923+00:00In my case, my phone is a Motorola CLIQ running An...In my case, my phone is a Motorola CLIQ running Android 2.1 (official, not modded), barely, and I do miss the Exit button that the Android browser had in 1.6. I have two reasons for wishing it there: first, because it would quickly close out all browser windows, which on a phone that is very close to the edge spec-wise is helpful. Second, because I disagree with this comment from the "Multitasking the Android Way" blog entry:<br />"If a user later returns to an application that's been killed, Android needs a way to re-launch it in the same state as it was last seen, to preserve the "all applications are running all of the time" experience."<br /><br />No. If I have exited out of my browser, I want it to return as a single window that loads the browser homepage (in my case, T-Mobile's customized Web2Go). That's what the homepage is for. Loading whatever random page I was on before isn't the experience I want. So, I will perhaps restate your "what is an exit button for" position from the start of this column:<br /><br />"An unambiguous way to guarantee that an app will stop consuming resources (battery, CPU cycles, data transfer, etc), and to have it load in a default state the next time it is run." Alternatively, you could say that reloading an app in the same state it was in when it was "exited" renders the "guarantee that it was not consuming resources" ambiguous.Marknoreply@blogger.comtag:blogger.com,1999:blog-10735231.post-90456515601942249352011-02-27T19:00:43.584+00:002011-02-27T19:00:43.584+00:00Hi appleboy, there are may ways to quit all activi...Hi appleboy, there are may ways to quit all activities you start, for example (most of these ways are bad programming but who cares ) - <br />1. use static boolean var in the activities, say doQuit, and have a loop on separate thread monitoring this every minute. Set this attribute to true before you call onDestroy()<br />2. Use putExtra(boolean..) and pass it to the intent you want to close before calling onDestroy<br />3. use broadcastReceiver and register the activities, send doQuit before you call onDestroy<br />4. Use Preferences (persistent data) to pass info between activities.<br />5. Use Java events (probably the best option, tho Google would recommend #3)<br /><br />UdiMail Doverhttps://www.blogger.com/profile/05625577717301061284noreply@blogger.comtag:blogger.com,1999:blog-10735231.post-16220066251039428742011-02-25T09:57:47.124+00:002011-02-25T09:57:47.124+00:00"If you build an application that's predi..."If you build an application that's predictable, configurable, and unambiguous your users won't ask for an exit button. The first time they see an unknown background Service that's been running for an hour, or the GPS icon unexpectedly starts flashing, or the device gets hot while in their pocket they're going to get narky."<br /><br />No they wont. Most users don't understand the problem and have no interest in learning. I guess most simply just blame Android, no problems like these on the iphone so it much be Android. <br /><br />The Spotify app for example gets it wrong, exit button, leaves service running, does not remember its state, breaks media key functionality, stores data in the wrong location on the sdcard and so on, and it still gets high reviews on Market.Anonymoushttps://www.blogger.com/profile/15931752755728984432noreply@blogger.comtag:blogger.com,1999:blog-10735231.post-66810933554139634712011-02-24T18:39:28.480+00:002011-02-24T18:39:28.480+00:00Well I am finishing up a finger painting app for m...Well I am finishing up a finger painting app for my young kids. My wife and I both got the HTC EVO 4G and the kids frequently hit the home and/or back button accidentally when using my app or playing a game. I overrode the back button for an undo function, and sure wish I could disable the home button, so they won't exit out and roam around our phones, deleting contacts, calling 900 numbers, ordering apps or other stuff we want to prevent. In other words we need them contained in the app, with only us using a code to exit the app.Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-10735231.post-10854613476254718052011-02-24T09:26:15.981+00:002011-02-24T09:26:15.981+00:00i have developed an application it has lot of acti...i have developed an application it has lot of activities and say activity1->activity2->activity3 now i need to exit from activity3 out of the application right away how do i do this?? when i press home button my application is still running at the background :(Unknownhttps://www.blogger.com/profile/18151722636305397604noreply@blogger.comtag:blogger.com,1999:blog-10735231.post-71357564130005561192011-02-13T12:29:27.307+00:002011-02-13T12:29:27.307+00:00Thanks for the nice and IMHO correct explanations....Thanks for the nice and IMHO correct explanations. I wanted to add an example regarding the useless-ness of an exit button. The app is called "DB navigator" and quite useful. Yet, if you hit the "back" button on the main screen, you will be asked "are you sure you want to exit?". After reading and understanding your post, it should be obvious to tell that it doesn't really matter whether you click "yes" or "no". The "yes" button takes you back as expected but doesn't exit anything (the application still is running). The "no" button simply lets you stay in the app.<br /><br />Probably another point to your posting would be: "An exit button is useless since there is no way for an application on android to exit itself." (besides deliberately causing a FC)Unknownhttps://www.blogger.com/profile/18357204805418342352noreply@blogger.com