Prototypes allow for rapid, iterative design changes and the ability to conduct meaningful user tests to evaluate complex functionality and to help determine system specifics.
We spend a lot of time talking about our User Interface Prototypes. In fact, they're one of our primary deliverables on just about every project we engage in.
But what exactly do we mean when we say we "build medium-fidelity prototypes?" This article provides insight into the process of building Medium-Fidelity Prototypes and describes the benefits they provide to our clients and to application development teams.
Inovdesigns' prototypes are primarily text-driven interactive tools that communicate the organization and navigation of the application - often called the Information Architecture. They also serve to depict how individual pages should be structured for usability purposes.
A typical prototype contains very few graphical elements, most (if not all) back-end functionality is simulated, and data is static. For web sites and web applications (and even for software applications), we use a combination of HTML, CSS, and Javascript to simulate the actual intended behavior of the system.
The level of "fidelity" of a prototype refers to how closely it resembles the final product. For simplicity's sake, we'll consider three levels of fidelity used for prototypes: Low, Medium, and High.
Low-Fidelity Prototypes have been implemented as a jumbled mass of sticky notes on an office wall; as multi-colored, cryptic scrawlings on a white-board, or even as a set of BON (Back of Napkin) scribbles. They're easy to create, inexpensive to change, and are good for providing a basic "high-level view" of the overall system structure.

A low-fidelity prototype can be as simple as a sketch on paper.
High-Fidelity Prototypes, on the other hand, are often deployed with an almost-full set of graphics, functionality (such as usernames and passwords, session variables, etc.) and tie-ins to dynamic data sources. They are very detailed systems that are expensive to create, difficult to change quickly, and usually require more rigid software development practices in order to successfully complete. In fact, High-Fidelity Prototypes are sometimes so close to the final product that they actually become the final product (something we disagree with, but that is a topic for another Coffee Talk).
The higher the level of fidelity of a prototype, the more complete and accurate it is at representing the final application. However, that completeness comes at a cost.
Our solution is to therefore create Medium-Fidelity Prototypes. These prototypes are sort of a best-of-both-worlds implementation that allows for a combination of both high-level and detailed views; rapid, iterative changes; and the ability to conduct meaningful user tests to evaluate complex functionality and to help determine system specifics.
By combining HTML, CSS, and Javascript (for web applications), we're able to relatively quickly create an interactive example system that is designed to help the client, the development team, and the visual designers better understand the requirements guiding the project. When used as part of an application development project, a prototype can:
Despite their many benefits, using prototypes in an application development setting often require some setting of expectations among users and client team members.
Because they lack graphics and dynamic data, they are generally not considered "final" products. Yet it is easy for both clients and team members to want to see more and more functionality and detail included in the prototype. We recommend avoiding this temptation, however, and reminding your clients of the benefits of keeping the prototype at a medium-level of fidelity. For it is only at this level that you can completely enjoy the benefits outlined above.
Although Medium-Fidelity Prototypes maintain a relatively "unpolished" presentation, they can support highly relevant system interactions, and are easily modified to illustrate alternative designs. Because of this, we find our prototypes are often at the center of many critical discussions involving the members of both the client and the development teams. Ultimately, these discussions result in a better solution, and our clients (and their customers) are happier for it.