Exploring Firebase ML Kit on Android: Smart Reply

Last week Firebase announced a new feature within ML kit that was entering its beta stage, Smart Reply. If you’re not familiar with Smart Reply, the functionality allows applications to supply a collection of suggestions for user input based off of previous content from the current context. A common use case for this is within email and messaging applications, you may have already seen it in apps such as Gmail: You may have not used these specifically in gmail, but it’s likely that you’ve seen them in other applications that you use. And now thanks to Firebase ML kit, you’ll be…

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 felt that I could go further and create something that could help others engage in areas that I myself find joy, that may not currently be so accessible (whether accessible at all, or just not quite affordable right now). The result of this project was…

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 UI handles a lot of things for us out of the box: All API request required to communicate with Firebase Authentication services All of the UI around authentication for each of the different service providers (email signup forms, phone number verification etc) Automatic handling of…

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 through chance or word of mouth, and having known of them sooner I probably would have been involved a lot earlier. Voice is a simple directory app that aims to help you discover these groups and organisations to help raise awareness and get more people…

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 Firebase Hosting with a single command using the Firebase Command Line Interface. When we host our project using this interface, a subdomain is created for us within firebaseapp.com which our users can then access to view our hosted content. One of the great things about…

Loading data from Firestore with Flutter

In a recent side-project of mine I needed to perform some simple loading of data from an external data source. This was all data that I had collated myself so I decided to manually load it up into Firestore — in this post we’re going to quickly take a look at how we can hook up our Flutter application to load data from a Firestore datastore to display to our users. This post will hopefully act as both a guide to show you how to implement Firestore in your apps and also a way to show you how little work is involved…

An introduction to UI Testing on iOS

I’ve always been a big fan of UI testing where appropriate, we can use it to automate the validation of visual components in our applications which allows us to reduce bugs, regressions and confusing behaviour within our applications — all helping us to save time from manually checking the behaviour and display of our view components. In this article we’re going to take a brief look at the XCTest framework which allows us to create a collection of tests for our iOS projects — this time around we’re going to focus on User Interface tests. At this point I’m going to presume that you…