Breaking Big Applications into Small Applications

Reflections on modern software complexity and how to solve it

Erik Engheim
21 min readDec 19, 2022

Modern software is increasingly complex, inflexible and ironically too minimalist, all at the same time. Understanding the reasons is a huge and complex topic. That is why I will focus on a small part of the problem, which, I hope, will illuminate some underlying drivers of this complexity.

Let me start by giving you some observations to clarify the issue I intend to explore.

Apple Mail.app
Apple Mail.app

A lot of the software used daily follow a very common pattern: A large number of objects to organize and some kind of interface to manipulate and view each of these individual objects. In an email application, for instance, these objects are individual emails. Tools are provided to organize, search, sort and remove emails. Another part of the email application allows you to view, compose and alter individual emails. Essentially, we have what is called a master-detail relation in the user interface.

A photo album application follows a similar pattern: A way to organize photos and put them into different albums or give them different tags. Next…

--

--

Erik Engheim

Geek dad, living in Oslo, Norway with passion for UX, Julia programming, science, teaching, reading and writing.