• Preview image of Converting non-Amazon eBooks and sending them to your Kindle using Calibre

    Converting non-Amazon eBooks and sending them to your Kindle using Calibre

    eBooks are an ever-expanding alternative to traditional books, with a lot of benefits. Since getting a Kindle a couple of years ago, I use it for all eBooks that aren’t picture heavy! Whilst some of these books are from Amazon, so are downloaded automatically to my Kindle, some are from other sources and need converting & sending.

  • Preview image of Creating a history clearing Chrome extension

    Creating a history clearing Chrome extension

    Chrome extensions are small plugins that modify how Chrome (or websites viewed in it) look and behave. These can notify you of events (e.g. Google Mail Checker or Inoreader Companion), modify sites (e.g. Reddit Enhancement Suite or uBlock Origin), or add functionality (e.g. HTTPS Everywhere).

  • Preview image of How To Free Up Space in Google Drive, Gmail, and Google Photos

    How To Free Up Space in Google Drive, Gmail, and Google Photos

    I’ve been lightly using Google Drive, Gmail, and Google Photos for close to 6 years, with no major complaints. The default space limitation is 15GB, with an extra 2GB available for each year the security checkup is completed. There was also previously 100GB (expiring after a year) available for local guides, but this program is now cancelled.

  • Preview image of Ensuring Your Android App's Quality With Firebase Performance Monitoring

    Ensuring Your Android App's Quality With Firebase Performance Monitoring

    Firebase Performance Monitoring allows you to gather automatic performance data about your app, as well as performing manual performance traces for later analysis. All of these contain aggregated information about user’s devices, meaning long-term issues can be quickly identified and resolved.

  • Preview image of Android Development Discord Communities

    Android Development Discord Communities

    Whilst developing for Android, it’s often necessary to ask others for help, or discuss concepts / news. Whilst StackOverflow is excellent for solving problems long-term, sometimes it’s easier to talk through something in realtime. To that end, Discord is an excellent resource, this post will introduce a few of the larger communities.

  • Preview image of Scheduling A Repeating Background Task On Android, With Power / Internet Requirements

    Scheduling A Repeating Background Task On Android, With Power / Internet Requirements

    Whilst developing Android apps, performing a scheduled task at set intervals is a very common requirement. Despite this, there are a surprisingly high number of solutions, each with their own advantages and disadvantages. This tutorial will focus on using Firebase JobDispatcher, a library that uses Google Play services to provide a backwards compatible (API 14+) job scheduling library. This makes it an attractive option for those that need to support older devices, and know their users will have Google Play installed:

  • Preview image of Growing Your Android App With Firebase Invites

    Growing Your Android App With Firebase Invites

    Firebase Invites provide a simple way to add user referral schemes to your app for free, without any additional resources. The system runs on top of Firebase Dynamic Links, and supports both email and SMS referrals.

  • Preview image of Adding A Splash Screen To An Android App

    Adding A Splash Screen To An Android App

    Often, an app may take a few seconds to start-up, especially the first time. A plain white screen is shown by default, luckily this can be customised relatively easily! The solution is to add a splash screen to your app, whilst being careful to avoid increasing the app’s load time.

  • Preview image of How To Display App Version Inside a Submodule

    How To Display App Version Inside a Submodule

    Usually, getting the current version code of your app is as simple as BuildConfig.VERSION_CODE. Easy! However, this doesn’t work if you want to retrieve your app’s version code whilst inside a submodule. Instead, the submodule‘s version code is returned.

  • Preview image of Ensuring Your Android App's Quality With Firebase Crashlytics

    Ensuring Your Android App's Quality With Firebase Crashlytics

    Firebase Crashlytics provides an extremely powerful automatic crash reporting tool for Android (and iOS) apps. In addition to providing a full stack trace for all crashes, it also tracks all ANRs (App Not Responding) in your app. All crashes / ANRs come with lots of metadata about the device, operating system, and can be enhanced with custom data