An Android app is a forest of trees: views, contexts, navigation, and model. These hierarchical structures are distinct but often entangled, making apps complex, hard to build, and harder to understand.
This talk focuses on how Square has cleared the forest, teasing the trees apart to build simple, testable, maintainable apps. It covers the techniques we use to work with each tree individually and to manage their interactions to minimize complexity.