When put into list format, the differences between Application Development VS Rapid Prototyping are very stark:
Traditional Application Design
- Engineers and business development teams work on a bloated technical spec often 50-100 pages long that has very little value or meaning because it can’t be visually interpreted and doesn’t reflect the core experience of the product.
- Programmers create an enormous database with little flexibility
- Developers take months to put together choppy wireframes that will later drive the design/skinning process. As all designers know, programmers leading the design process is a dangerous idea.
- Developers hand off template skinning duties to UI designers who have less flexibility than if they were starting from scratch and iterating on templates with the client.
- Eventually the application launches and the design process feels like a quick & dirty effort to put “lipstick on the pig”
Rapid Prototyping Process
- A designer interprets the clients’ ideas for the product goals and user experience, shaving out features that don’t make a real impact and focusing on the core value
- The designer begins working immediately on Photoshop/Illustrator comps of high level pages such as Home, Registration, Account Dashboard and a set of style rules for Forms, Data Tables and Wizards
- One approval is reached, the designer begins coding out high level pages and linking them together in XHTML/CSS.
- All template pages are fleshed out in XHTML and can be easily modified, removed, added to or iterated upon.
- Different states can be developed to show errors, blank states, populated states, etc.
- Designers hand off templates to the client who then gets developers to respond visually and experientially.
Though the design process and programming process is reversed, sometimes it can still take a while to develop the application given the HTML templates, but several key benefits of doing the design first include:
- Ability to get programmers to understand exactly what they’re providing.
- Ability to show investors or early stage clients exactly how the app will look and work to raise money while in development.
- Ability to provide user testing to get feedback and make any major necessary changes to prototype.