The best app is one that’s customized for your user, and machine learning is one of the best ways to accomplish this. Machine learning can seem like a daunting topic, but Google’s MLKit makes it easy. In this talk, we’ll go over how you can make use of this tool in your own mobile applications, with special attention to the new Smart Reply and Language Detection. We’ll also cover how you can easily create your very own custom models with Auto ML Vision Edge. You’ll leave with an understanding of the tools needed to use machine learning in your apps. More
Testing on Android is slowly becoming more approachable. With AndroidX Test, you can use a single test API to run your instrumentation tests either on your mobile device, or on your computer using Robolectric. This is great, so how do you start? In this talk you’ll learn how to use AndroidX Test and Espresso to get started writing Integration tests for your app. More
Test-Driven Development (TDD) is a software development process where you write failing tests before writing the code to make it pass. This can be a common practice in some technology circles, but we’ve seen slow adoption on Android. Because it’s not embedded in the Android culture, it can be hard to learn how to get started with TDD. In this talk, we’ll go over the basics of TDD, how you can apply it at varying levels in an Android architecture, and what steps to take if you’re working with legacy code. You should walk away from this talk with the tools you need to get started exploring practicing TDD on your own. More
For the most part, programming in Android has meant living in the imperative programming world. Recently, many aspects of functional programming have become standard with the adoption of Kotlin and RxJava. What does it mean to use functional paradigm properties in our Android code, and how can it help us? In this talk you’ll learn some of the fundamentals of functional programming, and what this might look like on Android. More
We know we should write tests, and we know that Kotlin gives us some nice features to use in our code, so how can we put these two together? There are some really great ways that Kotlin is being used in test writing, and we’ll look at a number of them. This will include features such as higher order functions and escaping back-ticks and how they can make your tests more expressive. We’ll also look at some testing libraries that take advantage of Kotlin’s features. At the end of this talk you’ll walk away with an understanding of how you can use Kotlin to make your tests more enjoyable. More
We have users and potential users all over the globe. How can we make our apps accessible and comfortable for those in any local? This short talk goes over the basics of what internationalization is and what you need to consider when working towards it.
In this talk, we learn about some of the basics of accessibility on Android, and how we can improve the Buffer app. More
Kotlin allows us to write more concise and expressive code. Does this come at the cost of understanding it? In this talk we will learn about how each and every Kotlin statement is compiled down to a class file, and use some inspection tools to apply this to our own codebase. You will walk away from this investigation with a deeper understanding of Kotlin, and the tools for continued exploration. More
Kotlin does a lot for us in the way of reducing boilerplate. But what is it really doing? We will be inspecting some decompiled Kotlin to discover how it does its job. By looking underneath at how it handles data classes, lambdas, and delegation, we can better understand how the language executes what we write. If you’re curious about the language, or already using it in production, you should walk away from this investigation with a deeper understanding of Kotlin, and some tools for continued exploration. More
There are many steps included in working on an application end to end. Researching, assessing requirements, and addressing an end user’s needs are all part of this. Turns out, it follows many of the same steps as those for designing lights for a dance or theater performance. This talk will bring some enlightenment to the things lighting designers and software developers can bring to each other. More
We can learn a lesson from dancers about how to respond to feedback. More
Podcast and Vlog appearances
If you like my work, consider buying me a coffee!