Bloat vs. Functionality
Yesterday, we merged in a new CM File Manager application into our CM 10 source. This was met with overwhelming support (plus some requests for network features and a Holo-Dark theme). But in those same comments, there was another (smaller) consensus: “Yeah! More Bloatware!”.
So, is it bloatware akin to a Nascar app or Blockbuster app? Or is it something that is functionally useful to our users? How do we, as CM and ‘gatekeepers’ for these applications decide where the line is? Below is our thought process for including these types of applications, and how we decide what is needed, and what is not. This isn’t meant as ‘justification’ for our actions, because quite frankly, you are choosing to utilize the software as we provide it; instead, it is meant as another window into the CM process.
System space versus Data space:
A lot of concerns we hear are about “lost space”. This is a misnomer in that unused space on the system partition, is just that: unused. It is not available to the end user for application storage (all Market or user installed apps are installed to /data/app). You as an end user of CM do not gain any space by the removal of apps like Apollo/File Manager from our builds. Conversely, while publishing these apps on the market is possible, users installing it would trade free space on /data for free space on /system - and free space on /system is wasted space.
Is it really necessary when we can get X from Market?
A fact that doesn’t dawn on a lot of our users is that stock CM does not include a market. You as an end user are supplying your own zips to enable that functionality. Further, even for those with Market access, region restrictions can limit what you are allowed to download. Instead of trying to account for all the variations post-CM install, we focus on out of the box experience. If a new user who doesn’t install a market wants to play music, do they have that ability? What if they want to delete a pdf that was downloaded via an email, or unzip a file they’ve copied to their system?
Would a user expect to be able to do those actions by default, or should they be required (without a market) to hunt the web for a reasonable apk?
These apps are Open Source:
With the exception of ROM Manager (which has been removed from our builds), apps added to CM not only fulfill a purpose, but allow for community contribution for improvements. This is important to us, and is something that helps us crowdsource updates, fixes and management of the application.
You are still in control:
In ICS and JellyBean you have the ability to assign default applications, and disable applications. In addition, leveraging root or our backup script, you can make it so you never see one of these supplemental applications ever again.
In the end, we aren’t oblivious to the fact that users may have already established favorite apps to provide these functions. We are also aware that our apps aren’t perfect or 1-to-1 on feature parity with market apps. But, that’s not our goal. Our goal is to ensure that out of the box, you can manage your system, play your music, update your rom, and enjoy CM without the need to flash on a market.
-The CyanogenMod Team
PS. An Apollo refresh should be arriving in the near future. Andrew Neal has been working hard on improving the application.