Building resilience with a therapist

When we sense something isn’t quite right with our body, or something has changed that we are unsure of, we get it checked out. We do so in a preventative way – our body and health is what keeps us going, and we don’t want anything sneaking up on us. Maybe you’ve got a bit of a toothache, best to see your dentist before that turns into a cavity. Maybe you’ve started feeling something in your throat, so you see your doctor to get it checked out – you know, just in case something serious is up. Or maybe you’ve…

Exploring Android Q: Bubbles

A few weeks back we saw the announcement of the Android Q beta release 🎉 With this version of Android comes a collection of exciting changes which we need to get our apps ready for. In this set of articles I’m going to be diving into each one of these so that we are fully prepared for getting our apps ready! As outlined in the beta (version 2) release notes for Android Q, we are seeing the introduction of what are known as bubbles. These bubbles aim to improve multitasking as well as provide a unified way for apps to provide such…

Exploring Android Q: Sharing Shortcuts

A few weeks back we saw the announcement of the Android Q beta release 🎉 With this version of Android comes a collection of exciting changes which we need to get our apps ready for. In this set of articles I’m going to be diving into each one of these so that we are fully prepared for getting our apps ready! Note: You can find the code for this article here. As outlined in the beta release notes for Android Q, one of the changes we are seeing some changes into how the direct share functionality of android works. The Direct Share API allows developers to…

Exploring Android Q: Location Permissions

Last week we saw the announcement of the Android Q beta release 🎉 With this version of Android comes a collection of exciting changes which we need to get our apps ready for. In this set of articles I’m going to be diving into each one of these so that we are fully prepared for getting our apps ready! Note: You can find the code for this article here. As outlined in the beta release notes for Android Q, one of the changes we are seeing introduced is the way in which we work with user locations inside of our applications – these changes affect the…

Exploring Android Q: Settings Panels

It’s here! Yesterday we saw the announcement of the Android Q beta release 🎉 With this version of Android comes a collection of exciting changes which we need to get our apps ready for. In my next set of articles I’m going to be diving into each one of these so that we are fully prepared for getting our apps ready! Note: You can find the code for this article here. As outlined in the beta release notes for Android Q, one of the new features we are seeing introduced is what are known as Settings Panels. These allow us to…

Handling pricing changes with the Google Play Billing Library

Sometimes things change. And in these cases, it’s likely that you’ll want to be able to make adjustments to reflect these changes. In the context of applications, we may offer subscriptions – and it’s common for the prices of these to change along the way. In this case, we’ll want to adjust the prices for our in-app subscriptions. From the Google Play Console, we’re able to change the prices of our products and when we do so, these changes will be seen almost instantly for all new purchasers of these products. However, for existing users who may already have purchased…

Chords, Conversations and the Kotlin Client Library

I recently launched a side-project I had been working on for the last several months, Chord Assist. Whilst this guitar is made up of many different moving parts, at the centre is the brain of the conversational tool. Whilst I made use of dialogflow to build this functionality, I needed to make use of some server-side component to handle the logic of the conversational tool that could not be handled inside of dialogflow itself (known as fulfilment). For this I decided to use the Kotlin Client Library for Actions on Google! Note: This project is completely open-source and can be…