Google has extremely privileged access to people’s lives through Google Play Services on billions of Android devices. Due to the history of Android and it’s adoption by phone manufacturers, Google Play Services provides APIs and capabilities that would normally have been programmed into the operating system instead. Since Play Services can get updated far faster than Android itself on the majority of phones, it’s easier for Google and developers to get the latest technology up and running on as many devices as possible.
For example, by pushing Nearby Share as a Google Play Service update, it’s been able to run on devices running Android 6!
However, there is a dark side to this. The position in which Play Services sits, in between the operating system and the regular user apps, allows it to collect huge amounts of information, as documented in many studies. For example, the Google Dialer and Messages apps collect sensitive info for the purposes of spam prevention
In the midst of all this, MicroG is a cool project that aims to replace the preinstalled Google Play Services that are preinstalled on nearly all Android phones in the world (outside China, anyway). They reimplement the many APIs that lots of common apps rely on. Not all the APIs are there, so it’s not 100% perfect, but I’ve found that it works fine for my usage, and I suspect that for many third party apps, it may work perfectly fine.
MicroG also sends the least amount of information to Google’s servers for maximum privacy. You don’t even have to have a Google account if you want to use any apps, the only time the Google account becomes necessary is if you want to use any Google apps on your phone, and even that’s not completely set in stone.
I now use MicroG on my phone.
Most of my apps are from F-Droid anyway, and these have almost no reliance on Google Play Services. I’ve also found that these apps don’t need any extraneous permissions, are privacy-friendly, and are sometimes even lighter and more responsive than their commerical counterparts due to being available only for Android and so, use native SDKs instead of some framework or WebView.
Google Maps etc require a signin to work properly, so I have to use my account for this. I have tried to use alternatives to Google Maps but almost nothing else does the job as well, so this is why I have my Google Account logged into my phone.
The rest of the Google suite, I try to use alternatives. Gmail for example gets replaced by a generic email client. I join Google Meet using a web browser instead that I keep signed in (it tries very hard to redirect to download the app, but if you request the desktop site, it works fine, albeit with tiny controls in portrait mode). This doesn’t bother me much since 99% of the time, I attend the meetings on my laptop, and for the 1% of times I’m on a phone, I can live with the inconvenience.
In fact, lots of popular apps are also available as Progressive Web Apps (PWAs), so they can run right from the browser, albeit with certain features unavailable, and due to reliance on the browser (which doesn’t have as hard a requirement of Google Play Services as the native apps themselves), they can run better than the app.
This is a sweet setup that works well enough that even if you have stock Google Play Services, it doesn’t make a lot of sense to use the full fat apps that request all those permissions. Not all the features will work, mind you, but if it’s an app you don’t really need to use much, it could be worth a shot.
As for Maps, it doesn’t have navigation in the web app version, which is why I keep the app around.
Some apps I’ve tried to use don’t work properly. Some just error out with no real reason given, so I didn’t bother to really check, and since they weren’t important, I just uninstalled them.
I even installed Netflix for a bit and it worked just amazingly! The information section in the app confirmed that my device was certified for WideVine L1, which is the highest quality playback specification and allows 4K streaming. So I guess SafetyNet (once properly configured) can actually work with MicroG.
Sounds pretty good right?
This is something 99% of people won’t do, and for good reason- it’s too technical and convoluted. No OEM really sells MicroG equipped phones, likely because it’s not perfect and I’m fairly sure Google won’t be happy to see their revenue being attacked this way.
Some organizations, like e Foundation do in fact provide phones with such modifications preinstalled, so if you want to support their work you can buy from them if you can.
Lots of functionality, like account controls etc are not yet written into MicroG. Nearby Share, for example, is not supported inside MicroG.
I had a lot of trouble running Google Maps earlier, and one of the fixes I found involved downgrading MicroG to a slightly older release, which worked.
However, I now have to perform a little “ritual” in order to get Google Maps to get my location and start navigation.
1. Open Google Maps and allow it to access my location
2. Exit out of Google Maps, open up MicroG and go to the Location Backend
3. Click on any one of the backends and wait for it to get your coordinates
4. Go back to Google Maps, click on the icon to get current location, wait a bit and then find that location tracking works
MicroG is good enough for me that I can switch to it. I tend to fit into the exact market that can live with it, so if you’re dependent on Google’s myriad of services or are not very comfortable with performing certain critical tasks on your smartphone, I don’t really recommend it.
If you want to check the compatibility of your apps with MicroG or Ungoogled Android, you can head here. Additionally, you can add reports yourself to the website by adding a pull request on their project page.
That’s all for today. Bye now!
This website was made using Markdown, Pandoc, and a custom program to automatically add headers and footers (including this one) to any document that’s published here.
Copyright © 2023 Saksham Mittal. All rights reserved. Unless otherwise stated, all content on this website is licensed under the CC BY-SA 4.0 International License