For complex applications, flow diagrams are critical design artifacts. They establish the appropriate system limits within which you should be designing. Not using them means you’re compensating with other, less suitable artifacts, or you’re avoiding the problem they solve altogether, which means your product or service is going to run into potentially serious challenges in scope and functionality as it moves through the analysis and development phases of it’s lifecycle – Agile or not. Far too often, that’s exactly what happens.
November 14, 2010
October 29, 2010
Sometimes, we come across user experiences that create what could be called the Ping-Pong Effect, where the user’s attention must bounce back and forth between two UI components, and in fact two separate task flows, in order to use the product. The problem typically emerges when each task flow is given equal prioritization, forcing the UI to balance two things. You might be thinking, “why would anyone do that?” – but it is more common than you might think. HUD UI components in immersive video games are a very common example. Another example that I had some experience with was a workflow that supported the collection of data, while simultaneously allowing users to explore the data being collected. According to the original specifications, it was not desirable to force users to have to fill in all of their data prior to showing them any of the exploration, because the exploration itself was intended to drive engagement and establish the value of the tool.
The devised solution broke the data and the exploration into several sections and then captured the data for each section prior to displaying the aggregate data from others. The data display and the inputs occupied different parts of the screen, so as users moved through the tool, they have to constantly switch between data entry and exploration. Predictably, the tool’s performance suffered a bit, exacerbated by the fact that most users will naturally be more interested in a subset of the sections. The solution to this problem is of course to disentangle data entry into a separate, optional flow. Some users will never go into that flow, but we knew from previous analytics that those that do would likely complete the whole form, covering all sections. In addition to that, more contextual – and secondary – data capture could be integrated into the exploratory flows as well, to gain data on a piecemeal basis.