|'Bloat-fish' from Finding Nemo 3D|
Any app that connects to a service that is optional within an ecosystem should not be pre-installed and when such an app is a replacement of a local or connected app than the local or connected app should be pre-installed.
We all know that bloatware is added for mostly economical reasons. Be that it may be good or bad, but it helps reducing the price-tag of the devices. Although we have seen that companies, such as Lenovo, also added spyware which is downward evil in my opinion.
In this post I will outline the differences in software and bloatware and, hopefully, will show why I think the statement above is what bloatware is.
Purpose of devicesThere are three (generalized) reasons that people use their devices. So lets take a look at that first.
The first one is that of consuming content. That may be books, movies, series, information from websites and apps, gaming, shopping, social media, et cetera. The second one is that of organizing. This is everything that is done to organize information and relations. Think about planning (calenders), note-keeping, keeping contacts, social media and other actions that support the activity of planning. The last reason people use their devices is that of producing. Albeit this is mostly preserved for laptops and desktops, it also happens on smartphones and tablets. Producing is making content or systems in whatever context that you make it. Think about drawings, video, music, websites, programs, and more.
But there is a sort of "fourth" category. And those are the activities that in some form interact with system components. Most often just because it can (I for one, like stats on my system and all its sensors, geek-stuff I guess). Think about the LED-light on your smartphone that is used as a flashlight. And think about the sensors in your device that give you the ability to use your device as a compass. This functionality of system components are more on an Operating System level and I tend to say that they support the usage of devices to consume, organize and produce.
The layers of softwareWe now have established an understanding of what the purpose of a device can be, so let's plot that on the layers of software on a abstract level. For the sake of reading, I call everything an app or functionality now.
Layer: Operating System (OS)The layer of the OS supplies all other layers with functionality. Think about sensory information and specific hardware elements such as LED-light, camera. So here is a list of functionality, sensors and other important hardware that might be present on the OS layer.
- Camera - To sense images
- LED-light - To create light
- Microphone - To sense sound
- Accelerometer - To sense acceleration
- Gyroscope - To sense position
- Magnetometer - To sense magnetic fields
- Proximity sensor - To sense objects nearby
- Light sensor - To sense light intensity
- Barometer - To sense atmospheric pressure
- Thermometer - To sense temperature (inside device and outside)
- Air humidity sensor - To sense humidity of air
- Pedometer - To sense steps made by a person
- Heart rate monitor - To sens heart rate of a person
- Fingerprint sensor - To sens a fingerprint of a person
- GPS - To determine global position of a device
- NFC - To read nearby chips
- Photo and video camera
- Voice recorder
- Fingerprint scanner
- NFC reader
- Screen control by using the procimity sensor.
- Environment apps that reads sensors such as barometer, thermometer, and humidity sensor.
- Location and direction apps that reads sensors such as accelerometer, gyroscope, magnetometer, and GPS.
- Health apps that reads sensors such as pedometer and heart rate monitor.
- Other apps that read/connects to NFC, WiFi, Bluetooth, Cellular signals, Battery level et cetera.
You will see that apps that resides on the Local and Connected Application are mostly about organizing and planning.
Layer: Local Application Layer
- Contacts list
- Clock, alarm and stopwatch
- Photo and Video viewer
- Filesystem viewer
Layer: Connected Application Layer
- Download Manager
- Update Manager (updates should be where ever possible delivered from outside the ecosystem)
Layer: Ecosystem Application Layer
Cross Layered Apps
So, when is an app bloatware again?
- Gmail is not optional to the Play ecosystem (everyone with a Google account has Gmail). Therefore, Gmail could standard be present on a phone, but it might be redundant. There is in most cases also a connected version of the e-mail app available.
- Google+ is an optional service within the Play ecosystem. It has no local or connected app as a counterpart, so Google+ should not be pre-installed on a device.
- Play Movies is an integrated part of the Play ecosystem (to play videos rented or bought within the Play Store) and it therefore should be present on a device for the sake of user experience.
But when devices are released by third-party manufacturers it suffers very often from bloatware. Especially with consumer devices from companies like Samsung, Dell, Packard Bell, LG, HTC, Sony, Hewlett Packard, Lenovo, et cetera. Most devices come pre-installed with many apps which operate within an ecosystem and often also with games.
I would rather pay a couple of bucks more for a device if it does not come with bloatware.
What do you think about all this? Please share your thoughts in the comments below.