Matthew Dolan

Information & Communications Technology

Android Android Software Development Developing Android Apps Kotlin

London, England, United Kingdom

Matthew Dolan

Senior Android Engineer

Matt Dolan has been developing with Android since the dark days of v1.6. When he's not eating doughnuts he's passionate about bringing developers and designers together to #buildbetterapps

Current sessions

Why Effective Java still matters to Kotlin developers

Effective Java by Joshua Bloch profoundly influenced the design of Kotlin yet by exploring a selection of "items" from the book we will see how it is still just as relevant to Kotlin developers today when we aim to write Effective Kotlin code.

For example, consider how data classes implement equals, and we can see that it doesn't follow the rules suggested and as such is not always optimal.


KotlinFixt-your tests - generating random test data

When writing unit tests, we often need to set up representative test data. Sometimes we rely on mocks as it is “easier” or we spend time inputting data manually and suffer the cost of future maintenance. Either way, we usually only cover one path through our app based on assumptions of how our code currently works.

What if it were possible to generate your test data using real objects without hard coding fixed values? Today we will look at using random values through “constrained non-determinism” - what it is, why use it, and the new KotlinFixture library.


How to write your own MVI library and why you shouldn't

Model-View-Intent is a simple architectural pattern in principle, but questions come up when you try to implement it yourself. We draw on our 2+ years of experience with orbit-mvi, our MVI library, to show best practices for using an MVI system in your application.

How do you integrate with Android? What happens when you rotate your device? What about navigation or one-off events? How do you make the system type-safe? What about developer experience? If you’ve ever had similar questions come to our talk!


Choosing the right MVI library for you

The Model-View-Intent architectural pattern has been around for a few years. With many mature libraries to choose from we judge the more popular ones.

How do you integrate with Android? What happens when you rotate your device? What about navigation or one-off events? What about developer experience? If you’ve ever had similar questions come to our talk!


Move over certificate pinning. Certificate transparency is here!

Failing to protect your users data can not only result in fines but of course loss of your users trust.

We can protect our apps against man-in-the-middle attacks using techniques such as certificate pinning. However, as we will see, implementing certificate pinning requires us to answer questions such as which certificate to pin against that doesn’t have a straight forward answer.

We will introduce certificate transparency which has already replaced certificate pinning in Google Chrome and show how to use it on Android with a new open source certificate transparency library from Babylon Health.