Android without Google Apps

As part of my Keybits project I wanted to see how feasible it was to run my entire personal computing en­vi­ron­ment without being tied to a single major commercial entity. This means using as much open source software as possible on the devices I use:

  1. personal computer (a laptop running Xubuntu)
  2. personal server (a virtual private server providing email, web hosting and other services that need to be online and easily ad­dress­able from the internet)
  3. a mobile phone (an Android device (currently Nexus 4) running Cyanogen­mod)

This post focuses on number three.

My Nexus 4 (like many others) was suffering terrible random battery drain issues since the update to KitKat. This was in­fu­ri­at­ing as the phone would randomly drain all battery and die for no iden­ti­fi­able reason. And yes, I tried plenty of suggested fixes from the forums but all to no avail. So I was inspired to install a custom ROM to see if that would improve things.

No Google Apps

I decided to try a pure Cyanogen­mod in­stal­la­tion as they have a stable release of Android 4.3 for the Nexus 4. There are plenty of guides on the internet to help you learn how to install custom ROMs on your phone so I won't go into that here. Suffice it to say that this has completely fixed my battery issues so it was definitely a software problem. Cyanogen­mod has lots of nice touches not found in the stock ROM that you really value once you get used to it.

What's hopefully more noteworthy is that I decided to try running the phone without Google Apps. To quote from Cyanogen­mod on Google Apps:

Google Apps are the pro­pri­etary Google-branded ap­pli­ca­tions that come pre-installed with most Android devices, such as the Play Store, Gmail, Maps, etc. Due to licensing re­stric­tions, these apps cannot come pre-installed with Cyanogen­Mod and must be installed separately. The Google Apps are not required to boot or run Cyanogen­Mod, however many users find them beneficial to take full advantage of the Android ecosystem.

Enter F-Droid

Thanks to the wonderful F-Droid, I've found it quite easy to get by without Google Apps. In fact it feels great (please note the sub­jec­tiv­i­ty here - this won't be for everyone)!

Here's a quick rundown of the main apps I'm using:

The default calendar, contacts, SMS and camera apps all work fine.

Syncing calendar, contacts and tasks

Setting up calendar and contact syncing proved to be a pain! I'm using Thun­der­bird / Lightning on the desktop and it really needs work to make setting up remote Calendars easier.

For now I'm using a hosted solution, Fruux, which is working really well. Un­for­tu­nate­ly the setup process in Thun­der­bird / Lightning is extremely tedious and there's no way anyone but the die-hard tinkerer would choose to do this over the super simple solution offered by Google. Once it's up and running it's reliable and effective but I hope I don't have to reinstall and re­con­fig­ure everything any time soon!

An elegant self hosted solution is not far away. There are a number of Android CardDAV and CalDAV solutions emerging - most notably DAVdroid since it is open source. On the server I plan to install and configure Radicale as part of the Keybits server.

Owncloud can also help you with syncing (and more) but I'm not a fan of it's monolithic approach. If you're interested in what OwnCloud can do for you in this setup, this post has some useful sug­ges­tions.

Still using some pro­pri­etary apps

It's possible to download APKs of free (as in beer) Android ap­pli­ca­tions and 'side load' them. This is what I've done for some ap­pli­ca­tions that I haven't found suitable open source al­ter­na­tives for, e.g:

  • Read it later offline article reading: Pocket
  • ToDo lists and project planning: Trello

I'm planning to replace Pocket with a self hosted solution soon - watch this space!

Syncing files and zim

I'm using rsync and SSHelper to keep files in sync between my laptop and phone. I won't detail the setup for this just now as I plan to replace it with git-annex when the Android app becomes a bit more stable. Joey is working on this at the moment so it shouldn't be too far away!

Zim has completely replaced Evernote for me. It's easy to sync notebooks to Android and then view them as text files when you're offline or out and about.

What about paid apps?

There are a few useful apps that I've previously paid for on the Play Store. I'm happy to do this to suport quality niche ap­pli­ca­tions and avoid ads. Running my phone without the Play Store / Google Play services installed means there's no legal way to get hold of them. I wonder if an in­de­pen­dent 'paid for' Android app store could be 'a good thing'?

You can install Google Play services from an APK but it has a few de­pen­den­cies such as Google login services. The NOGAPPS project on XDA has some sug­ges­tions too but I've not tried them as everything seems a bit 'beta'!

Conclusion: much happiness but room for im­prove­ment

As a hacker and tinkerer this approach to mobile computing has brough me a great deal of sat­is­fac­tion. The knowledge that the ap­pli­ca­tions I'm running are mostly open source and aren't relying on mining personal data to justify their existence is very valuable. It also gives a great feeling of control over your device and, in my case, better stability.

There are still some areas that I'd like to improve and I'll document the solutuions as I find them on this blog.

blog comments powered by Disqus