A prototype is an early sample, model, or release of a product built to test a concept or process. It is a term used in a variety of contexts, including semantics, design, electronics, and software programming. A prototype is generally used to evaluate a new design to enhance precision by system analysts and users. Prototyping serves to provide specifications for a real, working system rather than a theoretical one. In some design workflow models, creating a prototype (a process sometimes called materialization) is the step between the formalization and the evaluation of an idea. A prototype can also mean a typical example of something such as in the use of the derivation 'prototypical'. This is a useful term in identifying objects, behaviours and concepts which are considered the accepted norm and is analogous with terms such as stereotypes and archetypes. The word prototype derives from the Greek , "primitive form", neutral of , "original, primitive", from πρῶτος protos, "first" and τύπος typos, "impression" (originally in the sense of a mark left by a blow, then by a stamp struck by a die (note "typewriter"); by implication a scar or mark; by analogy a shape i.e. a statue, (figuratively) style, or resemblance; a model for imitation or illustrative example—note "typical"). Types Prototypes explore different aspects of an intended design: A proof-of-principle prototype serves to verify some key functional aspects of the intended design, but usually does not have all the functionality of the final product. A working prototype represents all or nearly all of the functionality of the final product. A visual prototype represents the size and appearance, but not the functionality, of the intended design. A form study prototype is a preliminary type of visual prototype in which the geometric features of a design are emphasized, with less concern for color, texture, or other aspects of the final appearance. A user experience prototype represents enough of the appearance and function of the product that it can be used for user research. A functional prototype captures both function and appearance of the intended design, though it may be created with different techniques and even different scale from final design. A paper prototype is a printed or hand-drawn representation of the user interface of a software product. Such prototypes are commonly used for early testing of a software design, and can be part of a software walkthrough to confirm design decisions before