Designing a great user experience (UX) for complex business software is non-trivial to say the least.
Screens with complex functionality along with large amounts of data in such systems do not make things easier.
One of the key elements of good UX is making it easy for the end-user to find “things” in the system that is relevant to her.
This is where I think the Locality Principle comes into play. It’s a well known principle in computer science and has implications in memory access optimization.
So what does this principle tell us? To keep things super simple have a look at this video which explains the gist of the principle.
Now how do we apply this concept when designing user experience (UX) in business software?
End-users of a business software system would typically work with (or “reuse”) a relatively small set of data (and screens) during a given time period. (e.g. during a business week). Therefore the information they search for and work with during this period should be fairly predictable.
If we can build some “intelligence” (short of AI 🙂 ) into these systems to identify information access patterns of users in the system, we could use that “intelligence” to suggest the next possible interaction on the current UI for a given user. This would alleviate the need for the user to “find” the next screen to work with in the system and make it easy to “jump” between screens.
It must be noted this is more richer than “Recent Screens” functionality, which merely puts the last used screens of one user in a stack. Think something like Amazon Recommendations instead.
So the idea is simple, we should leverage the principle of locality in UX design to figure out the next information requirement (e.g. next screen) based on users previous UI interaction patterns