tag:blogger.com,1999:blog-10735231.post6422384859365803341..comments2024-03-09T17:42:04.882+00:00Comments on The Radioactive Yak: Android App Surgery: "MySettings"Reto Meierhttp://www.blogger.com/profile/04583545000534514486noreply@blogger.comBlogger28125tag:blogger.com,1999:blog-10735231.post-65116749113177518092010-10-03T20:05:31.144+01:002010-10-03T20:05:31.144+01:00I just purchased the MySettings App, When does the...I just purchased the MySettings App, When does the every 5 sec.Donate stop flashing??? Great App.I bought it 30 minutes ago!.Frankhttps://www.blogger.com/profile/12422136485617433774noreply@blogger.comtag:blogger.com,1999:blog-10735231.post-30873959478999757792010-09-27T14:59:43.987+01:002010-09-27T14:59:43.987+01:00Most apps would not need an exit button because th...Most apps would not need an exit button because the UI and the app are usually synonymous.free droid apphttp://www.freedroidapp.net/noreply@blogger.comtag:blogger.com,1999:blog-10735231.post-88135364298323977972010-06-30T06:40:13.724+01:002010-06-30T06:40:13.724+01:00I vote for no exit button.
Your UI should be obvi...I vote for no exit button.<br /><br />Your UI should be obvious enough to turn off and on needed services. A big red / green light, play / stop, for example. Something that makes sense in the context of your application.<br /><br />Android apps were meant to be more "web like", so a standard app should do what it needs to display the page and no more, unless it absolutely requires it, like a media player, a feed of some kind, etc.<br /><br />As of 2.1, all background tasks require an icon if they don't want to be culled automatically. In this way, you know whether or not the application is fiddling with something in the background.Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-10735231.post-2929857121547829762010-05-05T19:53:49.718+01:002010-05-05T19:53:49.718+01:00I found that some service apps running in the back...I found that some service apps running in the background triggers a lot of garbage collection. It slows down the performance of foreground apps. I'd like to see this being reviewed in the future.Honsohttps://www.blogger.com/profile/04712367883749937432noreply@blogger.comtag:blogger.com,1999:blog-10735231.post-52479609814417358252010-05-05T09:22:27.446+01:002010-05-05T09:22:27.446+01:00@Al - exactly, but more importantly it would be a ...@Al - exactly, but more importantly it would be a Service method since there may well be no activity running at all.<br /><br />This would definitely make sense but wouldn't really solve this problem, because the user wouldn't have any confidence the app is being a good power-saving citizen.Marknoreply@blogger.comtag:blogger.com,1999:blog-10735231.post-64051841925940830412010-05-05T08:08:02.006+01:002010-05-05T08:08:02.006+01:00On the issue of exiting to save power; Maybe we ne...On the issue of exiting to save power; Maybe we need an onLowPower activity method so developers can deal with low power situations as well as low memory ones (e.g. reducing the frequency of updates, pausing downloads, etc.).Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-10735231.post-9010354101685627312010-05-05T08:06:24.418+01:002010-05-05T08:06:24.418+01:00@JQSoft - Meeting user requests is never a bad thi...@JQSoft - Meeting user requests is never a bad thing, and with the Market rating system as it is (i.e. with no developer replies) ignoring them isn't a great idea.<br /><br />I think the main problem is user education. They're used to "exiting" applications, so they expect to do it, and when they can't they assume it's a problem with the app.Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-10735231.post-88548656803494832532010-05-05T06:10:07.340+01:002010-05-05T06:10:07.340+01:00Btw, our Exit button make only finish() (same Back...Btw, our Exit button make only finish() (same Back button). Other action we run in onPause()JQ Softhttps://www.blogger.com/profile/12286130147153027927noreply@blogger.comtag:blogger.com,1999:blog-10735231.post-5202872180650284162010-05-05T06:08:33.476+01:002010-05-05T06:08:33.476+01:00Hi, all again :) We added Exit button, because our...Hi, all again :) We added Exit button, because our users are asked to make this.<br /><br />Once we removed the Exit button from MySettings, but many users vote badly for this app (low rating) because of it. By the way, a user has even asked to make a cross (X) in the top-right corner of the application for the closing of the application that it does not not have to press the hardware buttons.JQ Softhttps://www.blogger.com/profile/12286130147153027927noreply@blogger.comtag:blogger.com,1999:blog-10735231.post-14112307354167866892010-05-04T21:39:26.544+01:002010-05-04T21:39:26.544+01:00@Edi- sometimes you don't want to modify the s...@Edi- sometimes you don't want to modify the settings because you only want to temporarily stop background activity.<br /><br />In your scenario, the user would have to go through the app to do all the things necessary to stop background processing. How to do this will not always be clear. Then later, when battery levels are not a problem, they would need to go back in and change everything back to how it was.<br /><br />"Exit" says it all. Its a clearer contract between user and app.<br /><br />Better still would be for the user to be able to suggest to the OS to "take it easy". The OS would then propagate that suggestion to the apps. Apps that don't follow suit could be killed.<br /><br />The underlying problem is that the user just doesn't trust the apps so you will always have users wanting to use task killers. The best we can do is give the user as much confidence as possible that their battery life is being looked after and this is best done at the OS level. And yes, 2.1, goes some way in doing this, but I think we need more.Marknoreply@blogger.comtag:blogger.com,1999:blog-10735231.post-53858092530960661632010-05-04T21:23:57.171+01:002010-05-04T21:23:57.171+01:00I agree with Reto and Romain. There is no good rea...I agree with Reto and Romain. There is no good reason to have an exit button in Android apps.<br />Regarding Twitter clients, feed updates are done ONLY if the user selected this option in the settings. It's his choice.<br />A good app always has a way to stop the background services in the settings. There's no need to have an exit button.<br />Task killers are just for misbehaving apps (that keep running services in the background, even if the users didn't choose so in the settings). But for this, you already have the ability to kill services in Android 2.1, so they're only helpful for 1.5 and 1.6.<br />I know the users expect an exit button... and it's tough for us to make them understand that Android apps do not need one.Unknownhttps://www.blogger.com/profile/17923302784604074150noreply@blogger.comtag:blogger.com,1999:blog-10735231.post-69544403681470478092010-05-04T20:36:24.112+01:002010-05-04T20:36:24.112+01:00A user needs a way to say to the OS "preserve...A user needs a way to say to the OS "preserve my battery where possible" so that lower priority services (maybe twitter feed updates) are put on hold for a while.<br /><br />This might also be done automatically when the battery is low.<br /><br />No idea how this can be done at the SDK level but I'm sure its possible.Marknoreply@blogger.comtag:blogger.com,1999:blog-10735231.post-38710159611040863732010-05-04T19:49:39.611+01:002010-05-04T19:49:39.611+01:00Great review & suggestions Reto!!
I'm won...Great review & suggestions Reto!!<br /><br />I'm wondering why people aren't talking about the home key though. To me the exit button in Android is the home key and so a specific "exit" menu option/button doesn't seem to have much value.<br /><br />To me any clean-up routines should either be in onStop/onPause (as Reto said), or, if it really is necessary to carry it on in the background, in onLowMemory, and leave the OS to decide when and how it should be tidied.<br /><br />It's worth remembering that an exiting an application is not a real world "user" experience and only came into the mainstream because computers needed a way of allowing users to tell them when they were finished with an application, and Androids process management makes that a redundant concept.<br /><br />Still, I have seen requests for an exit option before, but they mainly came from users on hardware not designed for Android which didn't have a home button available.Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-10735231.post-11332318178559534392010-05-04T19:48:16.779+01:002010-05-04T19:48:16.779+01:00This comment has been removed by the author.Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-10735231.post-23765191839006464862010-05-04T19:23:01.579+01:002010-05-04T19:23:01.579+01:00everybody are debating technical reasons but i t...everybody are debating technical reasons but i think it more UX debate - exit is a commonly used UI component. Average user has no idea that pressing back is pretty much the same and people don't know about Activities and life cycles. Note, i didn't say android user. I said just a user, who throughout the years got trained that to close the app, some thingy with Exit or big cross should be pressed. So in my opinion faking it and provide Exit perfectly acceptable as long as actions that follows are the same as pressing back. Yes it takes one question "how i exit from here?" to educate yourself about backbutton, but why not have an Exit. It comforting to the user to have it. I know company who put a sleep() after their error check function, because user test group didn't feel confident that error check can be done so quickly.Alexey Volovoyhttps://www.blogger.com/profile/17782566258819233145noreply@blogger.comtag:blogger.com,1999:blog-10735231.post-73678826454058091992010-05-04T18:56:39.597+01:002010-05-04T18:56:39.597+01:00Ed Burnette: The only app I've seen who truly ...Ed Burnette: The only app I've seen who truly deserved an exit button, is the CoPilot Live GPS software - and that button might as well just be called "Halt navigation services" or similar, but Exit is shorter. ;)Casper Banghttps://www.blogger.com/profile/09493174484116672294noreply@blogger.comtag:blogger.com,1999:blog-10735231.post-69086362730847181532010-05-04T18:20:38.552+01:002010-05-04T18:20:38.552+01:00Another way to look at this is...
The back button...Another way to look at this is...<br /><br />The back button is the user's way of saying "I've finished using your UI".<br /><br />The exit button is the user's way of saying "I've finished using your app".<br /><br />Most apps would not need an exit button because the UI and the app are usually synonymous.Marknoreply@blogger.comtag:blogger.com,1999:blog-10735231.post-84033838729841963022010-05-04T18:13:43.478+01:002010-05-04T18:13:43.478+01:00Re: Exit buttons: As a user, an exit button can be...Re: Exit buttons: As a user, an exit button can be very useful. Therefore, as a developer who wants to provide the best experience for his users, it would be foolish for me to dismiss them.<br /><br />Its a user's way to cleanly say "Look, I don't care if you've got pending alarms, server polling etc, I just want you to stop everything!". Unlike with task killers, this at least gives the app a chance to do it all properly.<br /><br />Take the twitter app. I guess that it will poll twitter's servers from time to time, but hang on, right now battery juice and bandwidth quota is low so I want to make sure that sort of app is stopped pronto. An Exit button is a natural way to do this for the user. Otherwise, I'm forced to use Task Killers or uninstalling the app.Marknoreply@blogger.comtag:blogger.com,1999:blog-10735231.post-8201482772643756842010-05-04T17:39:38.806+01:002010-05-04T17:39:38.806+01:00Re: Exit buttons; I will straddle the fence on thi...Re: Exit buttons; I will straddle the fence on this one in terms of agreeing that in well behaved apps it is not necessary. However the fence-straddler in me also reckons that people still to want to be able to say "Die, app, die!". <br /><br />Also for task killers; again, I think their necessity is borne out of misbehaving apps combined with an old fashion desire from developers to be able to send kill commands regardless of the quality of the app.simonskihttps://www.blogger.com/profile/03645376711542569952noreply@blogger.comtag:blogger.com,1999:blog-10735231.post-5527088563785978982010-05-04T17:22:51.117+01:002010-05-04T17:22:51.117+01:00The 3 arguments in favor of Exit buttons I've ...The 3 arguments in favor of Exit buttons I've seen in the comments here can be summarized by: it's easier than to write the app correctly. Write your app correctly, don't do anything in the background if it's not needed/not the point of the app, and if you need to perform in the background, do so carefully.Unknownhttps://www.blogger.com/profile/12152434186915235602noreply@blogger.comtag:blogger.com,1999:blog-10735231.post-13100346426039402010-05-04T15:44:19.423+01:002010-05-04T15:44:19.423+01:00@Ed If an app knows it can't do anything usefu...@Ed If an app knows it can't do anything useful in the background, it should clean up its resources / kill Services / unregister Receivers whenever it is no longer visible (within onStop). Alternatively, the user hitting the back button will kill the Activity, so as long as the app hasn't started any Services that will effectively kill it. What does the exit button offer that the back button doesn't?<br /><br />As for task killer apps. In my view, their existence isn't sufficient justification for their necessity.Reto Meierhttps://www.blogger.com/profile/04583545000534514486noreply@blogger.comtag:blogger.com,1999:blog-10735231.post-55612882957917510072010-05-04T15:32:43.435+01:002010-05-04T15:32:43.435+01:00I didn't like exit buttons at first but now I&...I didn't like exit buttons at first but now I'm ok with them. The reason I changed my mind is that apps running in the background can and do impact foreground performance, either through CPU use or increased memory pressure. In an ideal world we would not have to worry about that, but apparently we don't live in an ideal world.<br /><br />So if an app realizes it can't do anything useful in the background and there's no reason to keep it around, why not do a real exit and get it out of the way quickly rather than waiting for Android to heuristically kill it later. That said, maybe this could be accomplished in a cleaner way through some sort of application hint.<br /><br />I'd love for there to be absolutely no need for task killer apps, but unfortunately they seem to still be needed (and even recommended by many performance-intensive games and apps).Ed Burnettehttps://www.blogger.com/profile/00602922769425368599noreply@blogger.comtag:blogger.com,1999:blog-10735231.post-46648839224769965662010-05-04T14:15:37.803+01:002010-05-04T14:15:37.803+01:00@christophermahan.com i don't think it does an...@christophermahan.com i don't think it does anything special beyond finish(). Therefore it exactly same in terms of functionality as back button. And to be honest i strongly believe that memory management should be left to android. They implemented activity life cycle for a reason and developers should follow platform best practices rather trying to bend the rules. <br />But in this case, it just more of UX decision than technical. People over the years got used to that you need to EXIT the app. So there you go. A familiar usage pattern nothing else.Alexey Volovoyhttps://www.blogger.com/profile/17782566258819233145noreply@blogger.comtag:blogger.com,1999:blog-10735231.post-137931155673707822010-05-04T10:43:31.341+01:002010-05-04T10:43:31.341+01:00I too am going to defend the exit button. I assume...I too am going to defend the exit button. I assume that it kills the app and stops draining power. I want to be able to tell an app to "stop doing anything and just stop using juice."Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-10735231.post-42134109823361662052010-05-04T10:01:38.831+01:002010-05-04T10:01:38.831+01:00Thanks for doing this, Reto - interesting and usef...Thanks for doing this, Reto - interesting and useful without being a multi-page teardown that takes forever to read :o) The how-to links for discrete items of functionality are v handy, too. Cheers!Stevehttps://www.blogger.com/profile/02236563135018573831noreply@blogger.com