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… Continue reading
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… Continue reading
Flutter CI with Bitrise
If you weren’t already aware, I’m already a big fan of bitrise – and when I heard they were adding support for Flutter, I gained even more love for the product. Naturally I wanted to take this for a spin – so I decided to setup Bitrise CI with my Voice flutter project. Let’s take… Continue reading
Exploring the View Pager 2
It’s likely when working in the Android realm you’ve come across the ViewPager class at some point. This view allows us display a collection of fragments or views to display to the user in a swipe-able format – especially popular within on-boarding and content display screens. This component has been with us in the Android… Continue reading
Chord Assist: Building an accessible smart guitar for the mute, deaf and blind
In 2017 I created an Android Things project called BrailleBox — a Braille News Reader for the partially sighted. I’m really passionate about helping others and using the knowledge I have to do so, even if it means learning new things to help achieve that goal. This was the main driver for creating Braille Box, but I… Continue reading
Exploring Firebase UI on Android: Authentication
Firebase UI provides us with a collection of utilities that make it easier to implement common UI components within applications. Firebase authentication provides us a way for our users to validate their identity, without the need to implement all of the back-end work ourselves. hen compared to interacting with the authentication APIs directly, Firebase Authentication… Continue reading
Digging into failed redirects within Android Webviews
Header Photo by The Nigmatic on Unsplash Discovering the issue It was the 14th December and we were winding down ready for the Christmas break. Our code freeze had kicked in several days previously and we had shipped an update at that time to get a couple of priority bug fixes before the holidays. We… Continue reading
8 Steps to Google Pay on Android
Within our Android Apps we can use the Google Pay API to plugin a convenient way for our users to checkout in our app, without the need for them to enter any of their payment information (after an initial setup). This brings the user a collection of advantages such as: A centralised place to complete… Continue reading
Giving Voice to the Voiceless with Flutter
Outside of my working hours I have often spent time with other people involved in animal rights — be it volunteering for a local animal sanctuary, visiting shelters or planning with other animal rights groups. One thing I’ve noticed along this time is that the awareness of these groups has never been too accessible — I’ve only discovered them… Continue reading
Serving web pages with Firebase Hosting
Firebase Hosting is a tool that provides us with a way to host web applications, allowing us to serve both static and dynamic content to our users with a simplified method of hosting. Whether it’s a web app, or a simple static landing page for a pre-launch of our product, we can deploy content to… Continue reading