Tuesday, June 25, 2024

Identity Field

The Identity Field has to be the most obvious pattern. As Martin Fowler says, it is "mind numbingly simple."



However, imagine a system that lacks it. Total nightmare to deal with, as you have to define complex identity rules (for example, is the name and location the same- how similar enough can be considered "same"). 

I submit that this is also a challenge from a UI perspective in web applications. If you don't have a list-detail UI pattern, it gets very hard to find things. This is frighteningly common in the single page applications, where to get a piece of data you have to go to Dashboard three, left column in mode orange, scroll down 3 items. It requires the user to remember the association between the entity type and which dashboard it is on. The UI becomes incredibly brittle if you want to enable even the most basic hypermedia link of jumping from some reference to the entity to the dashboard in a particular mode.

The detail page for an entity is the page driven by its Identity Field.  It is its homepage. It is easier to find things if they have their own home. The home for the entity type is the list page.  The navigation for the application can reference these list pages, which let you navigate to a particular entity. Again, this seems "mind numbingly simple." However, when you have system that lacks it, it can become mind numbingly complex to navigate.