Good Software Has a Clear Geography
February 1, 2022
I think that one of the most important things when building good software is that the user always knows where they are, relative to the appâs geography.
For me, not knowing where I am in an appâs navigational structure is disorienting and overwhelming. If Iâm four pages deep and donât understand where I am anymore, I feel like I donât know how to navigate this app confidently. I donât feel like I have a good grip on whatâs going on.
Thatâs why I try to have really clear geographical indicators in apps I make. I want people to quickly have a sense of the appâs hierarchy, and where they are within that hierarchy.
Thereâs a couple ways that Iâve tried to indicate geographical location in apps:

The first way is through the use of âbreadcrumbsâ, which are quite common. Theyâre a super simple but effective way of showing where the user is in the app, and invokes a sense of hierarchy.
From the screenshot above, you can understand that the Edit page for âUpdates from Ben Borgersâ is under the general page for âUpdates from Ben Borgersâ, which is in turn under the overarching Dashboard. Thereâs a clear sense that things are organized in a reasonable way.

Another solution that Iâve gone with in a different app is the idea of being able to see the last page poking up behind the current page. Itâs heavily inspired by Basecamp:

I like the depth that it gives, relating the current page with what came before it. The link also gives a really easy way to return to the previous page, and gives context about what you would be returning to.

Lastly, it helps to make use of overlaying bits over the current interface instead of directing the user to another page and then back again. This way, the whole interaction feels âlighterâ â it all happened on the same page, and you werenât pulled from one page to another and then back again.
The goal is to make software as non-disorienting as possible. The app should get its own geography straight, and then it should make that geography visible to the user.
Subscribe to my newsletter!
A weekly round-up of new blog posts and updates to projects Iâm working on.