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…

Native Flutter Experiences: Tabbed Navigation

When building Flutter applications, we have the ability to create native components which are styled for the native experience on both Android and iOS. Whilst by default we may implement things in a material style, it is important to bear this native experience in mind. In the first set of these articles we will take a quick look at implementing tabbed navigation for the styling of both Android and iOS. Material Tabbed Navigation When it comes to creating tabbed navigation with a Material approach, we make use of what is known as a TabBar — typically this will be placed within an…

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…

Exploring Google Play App Signing

When distributing our Android Applications we’ve always been required to sign our APK using a keystore for our application — this has allowed us to ensure that only the developer(s) of our app are able to upload updated APKs to the play console. However, because this keystore acts as a fingerprint to the lifecycle of our application — if anything was to happen to this then we hit a bit of a tricky situation. Because of the disadvantages that the current signing process brings, Google Play App Signing is here to help make things smoother. In this article I want to dive into this…

Building HashTrack with Flutter: Authentication logic

If you haven’t check out the previous post in these series, then you can do so here: Building HashTrack with Flutter: Intro and setup Building HashTrack with Flutter: Main class and Localization setup You can also find the code for this guide here: Now that we have the foundations of our application built, we’re going to go ahead and setup the first screens which will be shown to the user when opening the app — the authentication screens. This is going to require us to create and configure several different components: A sign-in screen — Providing a button that allows the user to sign-in…

Exploring Android P: Enhanced Notifications

With Android P now out in the wild, there are a bunch of new features and APIs which have become available for us to make use of in our applications. Some of these new features fall under the notification APIs, allowing us to create more contextual and detailed notifications for our applications. In this post, I want to dive into the new notification enhancements that have been added to the Notification APIs. This enhancement for notifications is focused around the display of messages within the notification content. The first part that we’re going to look at is the display of…