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 world for some time, it was even ported to the androidx libraries – but now we have a newer version of this component, the View Pager 2, which has recently seen an alpha release go out live. Let’s take a look into exactly what’s so…

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…

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 are currently working on some bigger updates on our beta branch, so there hasn’t been any bigger updates merged into master recently — so all should be good for us to settle down, right? At the start of the week we had about two reports of failed…

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 all their payments within your apps, just like they are able to do on the web or in stores A streamlined process when completing the checkout stage of a purchase from within your app A feeling of safety whilst paying due to the secure storage…

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…