Using Usability Patterns in Software Architecture

It’s okay to admit that even though you’re a seasoned programmer or designer, that your eyes automatically gloss over when someone mentions using usability patterns in software architecture.

Just Look at the terminology there. It sounds like something a cartoon scientist in a white lab coat would spout off while typing on his computer.

But, complex terminology aside, using usability patterns in software architecture is actually very important and it’s not nearly as bad as it sounds. Allow me to explain what it really is, and the best approaches to doing this.

By the time we’re done your eyes won’t gloss over, they’ll light up.

So, what the heck is a usability pattern?

Well, some people might say there’s more to it than this, but if you ask me, the best way to describe is – a general set of components which define UI layouts, navigation and flow. Patterns can be presented in chart form, mockups and describe the software’s actual functions within the code.

Programmers are familiar with flow charting, and how their code works in a visual way. They also must show how the code works – to other programmers and non-programmers alike. They need to have a good eye for any issues that are represented in the code.

Usability pattern in software architecture are usually designed before the code is actually written. The patterns are followed while designing the code in order to perform the necessary actions.

When you decide on the functionality of the software, have your programmers flow chart how the code will work, before they write it. In tandem with this, give them mockups of the interface you wish to use. The flow chart of the software’s inner workings – along with the mockup – will allow you to work out your flow and navigation chart. This enables you to go through the proposed outlines to utilize the charted software functionality.

Your patterns will not be highly precise at this stage, but this will be a very visual and orderly view of how your software architecture will work internally, how it will look, and how the user will interact with it.

This will allow you to comprehensively design your software architecture to match your ideas (rather than your ideas matching some inefficient code and interface decisions, as often occurs with software architecture).

Other elements such, as file formats and database layouts, also comprise usability patterns. You can find many basic patterns pre-made, online. You can build on these to facilitate your vision. But you’re best is to just learn from them and work them out your own. This stage is the first part of mainstream R&D for creating your software.

There you have it. Visualize your software, how it works internally, how the user will interact with it, and how the interface will look. Having the big picture available before you build is important. You don’t build a house without blue prints and you don’t build  software architecture without usability patterns. I hope you now have a better understanding of how to implement usability patterns in software architecture.

Jessica is the Lead Author & Editor of UsabilityLab Blog. Jessica writes for the UsabilityLab blog to create a source for news and discussion about some of the issues, challenges, news, and ideas relating to usability.