• 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.

  • 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

  • Developing Android Apps With Firebase ML Kit

    Machine Learning is, at its core, a way of letting programs learn how to do things by example. It can be used to get a program to self-learn how to play Mario, or how to walk. In this tutorial, Firebase’s Machine Learning Kit (commonly known as ML Kit) will be used to retrieve text, faces, barcodes, and objects from an image.

  • Developing Web Apps With Firebase Hosting

    Firebase hosting provides an extremely simple way to deploy JavaScript web apps. Whilst it lacks almost all of the advanced features other hosts have, it does have the major advantage of being free for low-traffic usage. This tutorial will cover creating a basic site, as well as utilising a custom subdomain with Cloudflare.

  • Developing Android Apps With Firebase Cloud Storage

    Firebase Cloud Storage provides an easy way to store user’s files, or provide existing files to the user. Additionally, heavily customisable access control is included, and all files can be browsed via a web interface. In this tutorial’s implementation, the user will be able to download sample files, and upload / delete their own arbitrary files.

  • Creating Multiple Translations Per Language In Loco

    For most translation projects, the goal is to translate the base language to other dialects. However, if you are creating an app with multiple variants, translations can also be used to localise the project to specific audiences. For example, a collection of fast food apps may have different text for Pizza, Indian, or Chinese food.

  • Learning How To Manage Your Apps With Google Play’s Academy for App Success

    A couple of weeks ago, Google announced the Academy for App Success. This online tutorial series contains 10 collections of “courses”. Each course consists of a few pages of information, useful graphics, and sometimes a question or two at the end. Every aspect of the Play Store process is likely covered somewhere, thanks to the over 60 courses offered.

  • How To Automatically Backup WordPress Posts To GitHub

    When programming, most developers use GitHub (or another hosted git solution) to make sure all of their work is backed up in multiple places to ensure it is never lost. If you’re anything like me, when writing blog posts you want the same peace of mind you have with the rest of your work. This post will cover how to automatically export all WordPress posts to GitHub (and keep it updated), so that they can be imported later if necessary.

  • Developing Android Apps With Firebase Cloud Functions

    Firebase Cloud Functions provide an easy way to execute JavaScript on Google’s servers, and call this code from your own apps. It removes the need to manually manage any sort of server, and can be up and running very quickly. Firebase’s free plan is somewhat limited, and cannot make network requests to other servers, but it can do plenty of processing.

  • How To Migrate A Subdomain Site From WordPress.com To Another Host

    As you may have (hopefully not!) noticed, this blog was recently moved from WordPress.com’s hosted solution to another host, namely Bluehost. Bluehost were chosen due to being the only host recommended by both WordPress.com and WordPress.org, and their low prices. This post isn’t sponsored by them! This tutorial will walk through every step taken by myself during this process, to hopefully give you an idea of the work involved and avoid the same mistakes being made.



Looking for non-software development posts? I've got another blog for those!