A major aspect in user interface and interaction design is prototyping. Typically, prototypes are either low-fidelity prototypes (flip-charts, drawings, PowerPoint, etc.) to evaluate conceptual designs or high-fidelity prototypes (HTML/JavaScript, Flash, application code, etc.) for design, evaluation and development.

Learn more about Paper Prototyping.

Here’s a nice article on avoiding the pitfalls in prototyping website and applications. It’s called The dark side of prototyping.

I do most of my high-fidelity prototyping using HTML and JavaScript for both website and application design. Use whatever tools and skills you have. One of the important issues with prototypes is to manage business and user expectations. If the prototype is too conceptual, it may not be taken seriously. If it looks too polished, users may not be inclined to make changes and development managers might say, “That’s not a protoype! Ship it – it’s a product!”

Any thoughts?