July 24, 2014

Android and You: User Responsibility

droid_responsiblyBack on 6 Oct., AndroidGuys published a Newbtorial called “How to Keep the Zip in Your Android.” The article laid out some rudimentary pointers about how to avoid sluggishness on your Android device by not over-taxing the available memory. Killing background tasks, clearing caches, and managing your home screen were a few of the featured suggestions. As a whole, I think the article was well received, but what I wasn’t expecting were the comments speaking to the issue behind the need for such an article in the first place.

As I read over the comments, the more I feel that this issue needs to be discussed. So let’s just come out and ask the questions. Is Android’s task management shooting Android in the foot? Is Google making a mistake by giving the user to much freedom to run processes simultaneously?

As a quick answer I say, “No.” For those of us who have used a system like Android, how could we go back? Can you seriously see yourself being as productive on another phone where you are limited to running one task at a time?

So is the problem truly related to the way the OS manages tasks? IMO, no it isn’t and here is why…

The first thing that needs to be looked at is the distinction between the OS and the hardware. In my eyes, I see no task management breakdown within the OS. After all, Android manages tasks the way it is programmed to manage tasks, openly. The problem occurs when the functionality of the OS bumps up against the limitation of the hardware.

Here is where a bunch of people will say, “But why create an OS that out-performs the hardware to the point of it being non-usable?” To which I respond, “Why not? Besides the ‘non-usable’ idea isn’t a result of the OS, it is a result of exceeding resource.” Who activates the applications that use resources? Users. This is the same thing that we have always been doing with technology. Just look at any PC as an example. People just have a tendency to take some piece of technology and push it to the limit and then complain when it can’t do more.

This is where user responsibility is crucial. Maybe I am speaking too much from my IT fantasy land, but when a user adopts a product, they should understand what they have and what it is capable of in the context of how they use it.

It would be insane to think you could run something like Android – in the same fashion as it is currently being used – yet somehow apply some “smart-tasking” code that would make educated guesses at what should be closed and what should remain running. What happens when the “smart-tasking” closes something based on its parameters that I actually want left open? I’ll tell you what, users would complain about that too! The fact remains that the phone isn’t connected to your mind. It can’t tell what the user really wants. All the smart-tasking coding in the world would eventually come into conflict somewhere with user desire. So why not just leave the real decisions to real people?

This makes Android phones more Iphone than iPhone. I choose what I want to close. I decide what apps get to run in tandem. In short, I manage my phone. The iPhone in this respect may as well be renamed the wechooseforyouwhatyoucanandcantdoPhone. (Maybe Steve thought the name was too long.)

Here again is where a bunch of you are probably red in the face screaming “you can’t expect a user to be responsible for…blah blah blah.”

To use something as open as Android? Yes, I can. At least for now. I don’t think it’s asking too much.

Eventually Android will be placed on more sophisticated hardware with faster processors and more memory. At some point it will reach the stage where the hardware is greater in might than what the general user experience demands. When this happens it won’t mean the user responsibility has gone away. It just means that ignorance is bliss and as long as a user has some headroom between what they want to do and what the hardware limitation is they will be happy because they don’t have to recognize their responsibility.

Of course all this is just opinion. I’m not a programmer or developer, so I don’t know all the ins and outs. What do you think?