At Google I/O 2021, Google announced that Hilt is now stable and is the recommended approach for Dependency Injection (DI) on Android. I have followed Hilt since it was first announced and have been really happy with the performance and capabilities that it provides. I have been anxiously waiting for the stable release so that I could begin using this at my clients — we are finally here!

My interest and excitement for Hilt surprised many of my colleagues since I at times argued against the use of Dagger (the foundation of Hilt) within my client codebases. While I love…

What is Compose?

Jetpack Compose is Android’s new declarative UI Framework. Android Developers have long been accustomed to writing UI in xml with Stateful Views that are updated by stepping through the View Hierarchy. With Jetpack Compose, UI is written in a Stateless manner through the use of Kotlin Functions.

Composable functions are annotated with the @Composable annotation. Composable functions must be annotated with this annotation which informs the compiler that this function adds UI to the View Hierarchy. While Composable functions can call other standard functions, Composables themselves can only be called from other Composables.

If you have not done so yet…

Demo of how a bottom navigation behaves when on a scrollable screen (left) versus how its desired for this post’s demo.


Android 11 introduces several WindowInsets API additions. These additions allow developers to animate views based on the IME(soft keyboard) expansion, control the IME expansion, or just simply query the visibility of the IME and other Inset types. While the WindowInsets API exposes many great new features, this blog will focus on just a high level overview and a deep dive into IME Visibility queries. If you would like to learn more about WindowInset Animations & Controllers, I’d highly recommend checking out the WindowInsets Animation Tutorial provided by Google.

Prior to Android 11, determining whether the IME was visible or not…


Recently, I was discussing Model-View-ViewModel (MVVM) & Google’s Architecture Components with a colleague of mine. One seemingly trivial task that came up in discussion is not all that obvious on the surface — Navigation and Event handling. How can our ViewModel send events that are not stateful to the View for handling? At first glance, the obvious option is leveraging LiveData to bridge this gap. However, LiveData is stateful and using it to deliver one time events could result in the View/Observer being delivered the same event more than once. …

Getting Started With Augmented Faces with ARCore


Recently, Google introduced Augmented Faces as a part of ARCore. With this announcement, developers can more easily add Augmented Reality experiences overtop user’s faces via their devices camera. This post will give you a technical understanding of how Augmented Faces within ARCore works and show you how to get started today in your own application.


Augmented Faces allows your AR experience to automatically identify regions of a detected face. Augmented Faces then uses those regions to overlay textures and/or 2D/3D content that matches those identified regions.

ARCore does this by identifiying the center pose of the users face or the…

Last year at Google IO ’18 we saw ARCore for Android take a leap forward with Sceneform. Google introduced improvements to the platform that made augmented reality (AR) more attainable for developers to achieve in their applications. Checkout this blog for a recap of these enhancements!

Skipping forward to 2019, Google introduced further enhancements to ARCore — specifically Augmented Images, that will help developers create even more realistic AR experiences. These Augmented Image enhancements include the ability to track moving images, and once an image has been detected, continue tracking even after the image leaves the camera frame. …

With Google IO 2019 in our rearview mirror, now is a good time to take a look back on what was delivered and determine the effects on your enterprise. Google IO goes beyond just mobile, with big announcements covering a broad range of technologies such as ML, AI, Web, Mobile, and Assistant. Google spent very little time covering releases in their Cloud platform this year, with most of those announcements being delivered just a few weeks prior to IO at Google Cloud Next.

In this post, we will take a look at a few of these key releases and how…

At Google IO ’18, Google quietly introduced sizeable improvements to the existing ARCore for Android. These improvements are crucial to making AR features attainable for application developers and collaborative for their users. Along with Cloud Anchors, which enables multi-device AR experiences, and Augmented Images, which enables AR apps to interact with 2D spaces, Google introduced Sceneform. With Sceneform, Google has drastically reduced the barrier to entry of creating AR features for your everyday Android developer. As an Android developer, you no longer need to be well versed in OpenGL or Unity to build AR features in your application.

Before Sceneform

When ARCore…

If you haven’t heard by now, one of the biggest announcements at Google IO was Android’s official support for Kotlin. Over the past couple of years, Kotlin has gained a large following in the Android Community, and the official support is great response to that by the Android Team at Google.

There are many blogs that already take a deep dive into Kotlin as a language, and I encourage you to check those posts and the official Kotlin Documentation out. The purpose of this blog, however, is to look at an end to end product implemented in Kotlin with an…

Machine Learning (ML), Augmented Reality (AR), and user engagement were some of the core tenants at Google IO ’18. Google has doubled down on their investment in ML, and they are making it readily available for enterprise Android and iOS applications via Firebase ML Kit. AR for Android (ARCore) got a facelift with new features for cross device and platform AR experiences. And finally, true to Google’s core, Google has made connecting users with applications that fit their needs a top priority with App Actions and Slices.

Among these updates, here are some announcements that businesses should pay close attention…

Clinton Teegarden

Mobile Lead & Architect @ CapTech. I specialize in delivering products for Fortune 500 clients in Mobile, Android Architecture, & IoT

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store