Category: Uncategorized
-
Android MotionLayout Tutorial – Collapsing View
MotionLayout is a layout class that extends from ConstraintLayout. MotionLayout has all the features of ConstraintLayout. On top of that, it also provides the ability to easily animate changes to your UI, without needing to know much about UI interactions and the Android Animation Frameworks. Take for example this subtle animation of a view being…
-
ConstraintLayout 2.0: ImageFilterView
Whilst browsing through the various examples online with the new ConstraintLayout 2.0, I stumbled upon ImageFilterView. This got my attention immediately and I decided to investigate further. An ImageFilterView allows you to perform some common image filtering techniques on an ImageView, including saturation, contrast, warmth and crossfade. If you have tried to implement these image filters before, you may have…
-
Building a Custom Machine Learning Model on Android with TensorFlow Lite
Building a custom TensorFlow Lite model sounds really scary. As it turns out, you don’t need to be a Machine Learning or TensorFlow expert to add Machine Learning capabilities to your Android/iOS App. One of the simplest ways to add Machine Learning capabilities is to use the new ML Kit from Firebase recently announced at…
-
Teaching High School Girls about the Different Careers in Software Engineering
Yesterday I was invited to speak at St. Mary’s Diocesan School for Girls in Pretoria about Software Engineering and the different aspects of my every day job. I was really excited to share my story with them. When I was in High School we didn’t have this kind of opportunity. We had a Career Expo but…
-
Google Developer Launchpad Build SSA – Nairobi and Cape Town Events
I was lucky enough to be invited to speak in Nairobi and Cape Town this past week for the Google Developer Launchpad Build Series events. The theme this year was Firebase. The event was a huge success and I had the best time! I gave a talk about Firebase Remote Config and Test Lab. Here…
-
Android – Reduce the size of your APK files
If it is one thing that I hate – it is apps that are HUGE downloads for really simplistic functionality. 40MB for an app that just accesses some messages and has hardly any images, what is it doing?? I have recently had quite an obsession trying to reduce my app size and have managed to shave off…
-
Google Cloud Test Lab – and why you should care about it.
If you have worked on any really popular app you will know the pains involved in development: thousands of different devices, different configurations, or different versions of Android. Now we may think that we have the most of these devices covered but the inevitable will happen. You are bound to have some guy with some…
-
Four Apps I Can’t Live Without
I’m always really curious to know what apps people use on a daily basis, and what about those apps makes them so awesome? I have a couple of apps that have just slotted so easily into my everyday life, that I don’t even realise I am using them. Here they are: PushBullet https://www.pushbullet.com/ This app…
-
A Robotic Guide Dog and Why its a Bad Idea
For my honours dissertation, I decided to undertake a project involving the programming of a Lego Mindstorm Robot. Granted, this blog post is a bit late (2 years later!), but I figured I’d share my experiences so that someone doesn’t attempt the same 🙂 .The outcome of the application was to have a robotic “guide…
-
Calories Burnt Calculation for Walking or Running in Java
Its surprisingly difficult to find a calorie calculation for Java for performing a number of steps at a certain speed. Based on the Compendium of Physical Activities (https://sites.google.com/site/compendiumofphysicalactivities/corrected-mets ) and using Corrected METS, I have converted the formulas on their website into Java code! I found the website particularly difficult to read as it did not…