The problems with current popular MV solutions and an introduction to a functional reactive solution with explicit state, commonly called Model View Intent, or MVI.

This article (among other sources linked throughout) was the inspiration for an extremely small library called kontent, it is a set of base components that aim to help reduce the boilerplate of MVI and solve the problems of current popular MV solutions.


MV architectures don’t inherently cause issues, but I believe they make it easy to write code that is difficult to reuse, test and maintain. By being aware and conscious of these common pitfalls we can hopefully write better code.

This article goes into detail describing the issues with some ModelViewWhatever solutions commonly used in Android (with examples from…

This article discusses the benefits of having multi-project builds, the drawbacks of this structure and offers a possible solution to one of the main problems with multi-project builds — managing dependencies and versioning of third party libraries. The full example repo can be found here.

It is common practice to structure your project so items are packaged by features rather than layers. For example, if you were using mvp, you would place your login view with your login presenter, as opposed to bundling all your views together and your presenters together. …

Arran Lomas

Android developer at Canva - lover of Android and the outdoors

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