Skip to navigation
Logo Penaz's Area

cat /dev/random > penaz

Android, Accounts, Optimizers, Developer Mode and other portable nuisances


Many modern smartphones enter our homes with optimizers and some disabled options. Let's see how these choices can annoy a developer.

Hello everyone,

I have been using my smartphone for my job since a big of time ago: being mainly a web developer, there is no emulator that can compare to direct experience on a physical device, when it comes to testing an application.

Sadly, like all widely available devices, smartphones come to us with some "factory settings" that may not suit an advanced user; this is not a problem if such settings can be easily changed and the software doesn't annoy the user to "go back to factory settings".

The sad reality is that such settings may not be easy to change, and the software doesn't "willingly accept" our choices. In my daily use, I found some instances of this behaviour, as well as other "nuisances" that I will summarize in this post.

Optimizers

Inside the devices currently sold (besides some based on "pure" android editions) you will surely find an "optimizer": an app dedicated to periodic maintenance, like cleaning your app cache, cleaning some of the larger files and in some cases even do a "security scan".

Such app (that someone may consider useless) usually simplifies some things that can be done from the android system settings without much trouble, but such app becomes a huge nuisance when some mechanics come into play.

Scores

Many optimizers that are offered by manufacturers shell out a "score" for your device's performance, just to give a rough idea of the current situation; but such score is "tweaked" in many situations when your choices "don't align" with what the manufacturer wants.

Changing your launcher with something other than the manufacturer's will reduce your score, as well as not using their cloud services; everything becomes sort of a "covert advertisement", where the "if you don't use our products, your smartphone is less worthy" idea is pushed onto us.

Automatic "Repairs"

Sometimes I need to use the USB Debugging mode on android, and every single time I go and do a periodic maintenance, the developer mode gets disabled, and with that the USB debug.

Every time I want to connect Firefox's remote debugger, I need to re-enable the developer mode, re-enable the USB debug and re-connect my smartphone. It's really annoying.

Bundled Software

The great majority of devices sold today comes with bundled software that we may not need (automatic backups on the cloud, data transfer, alternative browsers, ...), installed in different ways: sometimes they're part of the system, other times they get automatically downloaded from Play Store.

Such software is considered "system software" and cannot be uninstalled in any way, unless you "root" your device (which can be dangerous and may void your warranty). At most you can uninstall the app updates and then "disable" the app, though such app will continue to waste space on our device.

I think giving "bundled software" is a good thing for customers: many users will have their phone ready to use and the majority of users uses bundled software anyway; but I think that "locking" such software on the device is a regrettable choice that strengthens the concept of "use our products or there will be consequences" (in this case, wasted space).

License Agreements

Another annoying thing is forcing the user to accept a license and/or privacy agreement to allow them to use a certain app. Such practice is even more worrisome when I have to accept a privacy disclaimer for software that has no reason (in its main function) to process data outside my device.

I shouldn't need to accept a privacy disclaimer for a file manager, and if such app integrates with some cloud services, I should have the choice to opt-in on such services (that means the software has such services disabled by default, and I will decide if I want to activate them). Same goes for a local audio player, or a video player too.

This links to the fact that nobody reads license agreements from top to bottom (don't lie, you never read them either), in some cases we may find ourselves accepting agreements that allow the manufacturer to profile us for marketing purposes, tracking and more; without realizing.

The alternative is not being able to use bundled software, with consequential waste of space, since we cannot uninstall such software.

Account-Gating

Another really annoying practice I found is what I call "account-gating", limiting the access of a feature and forcing the user to access their account on the manufacturer's website. This raises some questions and issues that only exacerbate the nuisance of using a smartphone as a developer.

Yet another account

As a developer and IT aficionado, I have lots of active accounts on many different services that I may use or not. Being forced to create yet another account just to be able to use some features of a product I paid is really annoying.

Yet another password to manage, yet more marketing emails that I will receive join the fact that some settings will still be reset by "optimizers", this really makes me want to stop using my device.

Privacy Concerns

For the people that are concerned about privacy, creating a new account entails giving out some data: a web address is needed, sometimes you will need to use your first and last name. Moreover, even the mere accessing an account can give the manufacturer information about what we are doing.

If we access our account because we want to activate developer mode, the manufacturer will know about it, and will be able to hypothesize that we are a developer or someone that has some expertise in the field of smartphone devices. This is part of a profiling habit that I do not appreciate the slightest.

Conclusions

Some may say that such tactics are used to "simplify" and "keep users safe", and my answer is that there are systems to "keep the user safe" already implemented.

Developer mode on android is hidden, its activation method is not really straightaway, there are warnings displayed when activating USB debug: you don't need to force a user to sign in "for their safety", I really can't find a valid reason.

In my personal device I found many instances of "scores" and "account-gating", mostly for developer mode, installing applications via USB (in the case I develop for Android) and, in the more "extreme" cases, unlocking the bootloader (some people may want to change OS or "refresh their devices").

In my opinion, there is no technical reason for using these tactics, if not to exercise control over the users and/or for market profiling purposes.

These profiling methods make me feel like a "resource" more than a person, which is in its way humiliating.

Thank you for reading. See you next time.

Penaz.