October 30th, 2009
In just about every field of manufacturing, from soap dispensers to performance cars, prototypes are used to validate and test an idea or design.
Prototyping in the software industry is not so common but the benefits are just as compelling.
There are two main types of software prototype: functional prototypes and user interface prototypes.
Functional prototypes are nearly always technical in nature and their purpose is to test whether an idea or design is actually feasible using a given technology. For example, whether a particular system might be able to handle 100,000 transactions a second or whether it’s really possible to perform a content match on thousands of data records in real time as a user types in a search query.
Functional prototypes will always involve getting down and dirty with the code and trying to build a working version of something that can be tested to validate the idea.
User Interface Prototypes
User interface prototypes, on the other hand, are more about the presentation of concepts and ideas, and are therefore less technical and more accessible. Interface prototypes represent the front-end of an application or system; the part a user will actually see and interact with. In fact, in most cases, this is all the user is really interested in.
User interface mock-ups and prototypes allow both users and developers to understand the application before it’s built; to test its usability and ensure that all of the requirements are covered. All too often, software is built that has the most amazing functional engine, under the hood, that runs at lightning speed, but users hate it because they can’t understand how to use it. The user interface has just been hacked together rather than carefully thought through.
There are many different techniques for creating user interface prototypes, covering the full spectrum from using nothing more than pen and paper to the use of full-blown development tools. In-between there are more specialised tools, like GUI Design Studio, that are more suited to the job.
In the next part of this article weâ€™ll talk about the difference between a â€œThrowaway Prototypeâ€ and an â€œEvolutionary Prototypeâ€.