# Prototype

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. Physical prototyping has a long history, and paper prototyping and virtual prototyping now extensively complement it. 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 πρωτότυπον prototypon, "primitive form", neutral of πρωτότυπος prototypos, "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 more costly levels of design effort are expended.

## Differences in creating a prototype vs. a final product

In general, the creation of prototypes will differ from creation of the final product in some fundamental ways:
* Material: The materials that will be used in a final product may be expensive or difficult to fabricate, so prototypes may be made from different materials than the final product. In some cases, the final production materials may still be undergoing development themselves and not yet available for use in a prototype.
* Process: Mass-production processes are often unsuitable for making a small number of parts, so prototypes may be made using different fabrication processes than the final product. For example, a final product that will be made by plastic injection molding will require expensive custom tooling, so a prototype for this product may be fabricated by machining or stereolithography instead. Differences in fabrication process may lead to differences in the appearance of the prototype as compared to the final product.
* Verification: The final product may be subject to a number of quality assurance tests to verify conformance with drawings or specifications. These tests may involve custom inspection fixtures, statistical sampling methods, and other techniques appropriate for ongoing production of a large quantity of the final product. Prototypes are generally made with much closer individual inspection and the assumption that some adjustment or rework will be part of the fabrication process. Prototypes may also be exempted from some requirements that will apply to the final product.
Engineers and prototype specialists attempt to minimize the impact of these differences on the intended role for the prototype. For example, if a visual prototype is not able to use the same materials as the final product, they will attempt to substitute materials with properties that closely simulate the intended final materials.

## Characteristics and limitations of prototypes

Engineers and prototyping specialists seek to understand the limitations of prototypes to exactly simulate the characteristics of their intended design.
Prototypes represent some compromise from the final production design. This is due to the skill and choices of the designer(s), and the inevitable inherent limitations of a prototype. Due to differences in materials, processes and design fidelity, it is possible that a prototype may fail to perform acceptably although the production design may have been sound. Conversely, prototypes may perform acceptably but the production design and outcome may prove unsuccessful.
In general, it can be expected that individual prototype costs will be substantially greater than the final production costs due to inefficiencies in materials and processes. Prototypes are also used to revise the design for the purposes of reducing costs through optimization and refinement.
It is possible to use prototype testing to reduce the risk that a design may not perform as intended, however prototypes generally cannot eliminate all risk.
Building the full design is often expensive and can be time-consuming, especially when repeated several times—building the full design, figuring out what the problems are and how to solve them, then building another full design. As an alternative, rapid prototyping or rapid application development techniques are used for the initial prototypes, which implement part, but not all, of the complete design. This allows designers and manufacturers to rapidly and inexpensively test the parts of the design that are most likely to have problems, solve those problems, and then build the full design.

## Engineering sciences

In technology research, a technology demonstrator is a prototype serving as proof-of-concept and demonstration model for a new technology or future product, proving its viability and illustrating conceivable applications.
In large development projects, a testbed is a platform and prototype development environment for rigorous experimentation and testing of new technologies, components, scientific theories and computational tools.
With recent advances in computer modeling it is becoming practical to eliminate the creation of a physical prototype (except possibly at greatly reduced scales for promotional purposes), instead modeling all aspects of the final product as a computer model. An example of such a development can be seen in Boeing 787 Dreamliner, in which the first full sized physical realization is made on the series production line. Computer modeling is now being extensively used in automotive design, both for form (in the styling and aerodynamics of the vehicle) and in function—especially for improving vehicle crashworthiness and in weight reduction to improve mileage.

### Mechanical and electrical engineering

The most common use of the word prototype is a functional, although experimental, version of a non-military machine (e.g., automobiles, domestic appliances, consumer electronics) whose designers would like to have built by mass production means, as opposed to a mockup, which is an inert representation of a machine's appearance, often made of some non-durable substance.
An electronics designer often builds the first prototype from breadboard or stripboard or perfboard, typically using "DIP" packages.
However, more and more often the first functional prototype is built on a "prototype PCB" almost identical to the production PCB, as PCB manufacturing prices fall and as many components are not available in DIP packages, but only available in SMT packages optimized for placing on a PCB.
Builders of military machines and aviation prefer the terms "experimental" and "service test".

### Electronics

In electronics, prototyping means building an actual circuit to a theoretical design to verify that it works, and to provide a physical platform for debugging it if it does not. The prototype is often constructed using techniques such as wire wrapping or using a breadboard, stripboard or perfboard, with the result being a circuit that is electrically identical to the design but not physically identical to the final product.
Open-source tools like Fritzing exist to document electronic prototypes (especially the breadboard-based ones) and move toward physical production. Prototyping platforms such as Arduino also simplify the task of programming and interacting with a microcontroller. The developer can choose to deploy their invention as-is using the prototyping platform, or replace it with only the microcontroller chip and the circuitry that is relevant to their product.

## Computer programming and computer science

Prototype software is often referred to as alpha grade, meaning it is the first version to run. Often only a few functions are implemented, the primary focus of the alpha is to have a functional base code on to which features may be added. Once alpha grade software has most of the required features integrated into it, it becomes beta software for testing of the entire software and to adjust the program to respond correctly during situations unforeseen during development.
Often the end users may not be able to provide a complete set of application objectives, detailed input, processing, or output requirements in the initial stage. After the user evaluation, another prototype will be built based on feedback from users, and again the cycle returns to customer evaluation. The cycle starts by listening to the user, followed by building or revising a mock-up, and letting the user test the mock-up, then back. There is now a new generation of tools called Application Simulation Software which help quickly simulate application before their development.
Extreme programming uses iterative design to gradually add one feature at a time to the initial prototype.

### Other programming/computing concepts

In many programming languages, a function prototype is the declaration of a subroutine or function (and should not be confused with software prototyping). This term is rather C/C++-specific; other terms for this notion are signature, type and interface. In prototype-based programming (a form of object-oriented programming), new objects are produced by cloning existing objects, which are called prototypes.
The term may also refer to the Prototype Javascript Framework.
Additionally, the term may refer to the prototype design pattern.
Continuous learning approaches within organizations or businesses may also use the concept of business or process prototypes through software models.
The concept of prototypicality is used to describe how much a website deviates from the expected norm, and leads to a lowering of user preference for that site's design.

### Data prototyping

A data prototype is a form of functional or working prototype. The justification for its creation is usually a data migration, data integration or application implementation project and the raw materials used as input are an instance of all the relevant data which exists at the start of the project.
The objectives of data prototyping are to produce:
* A set of data cleansing and transformation rules which have been seen to produce data which is all fit for purpose.
* A dataset which is the result of those rules being applied to an instance of the relevant raw (source) data.
To achieve this, a data architect uses a graphical interface to interactively develop and execute transformation and cleansing rules using raw data. The resultant data is then evaluated and the rules refined. Beyond the obvious visual checking of the data on-screen by the data architect, the usual evaluation and validation approaches are to use Data profiling software and then to insert the resultant data into a test version of the target application and trial its use.

### Prototyping for Human-Computer Interaction

When developing software or digital tools that humans interact with, a prototype is an artifact that is used to ask and answer a design question. Prototypes provide the means for examining design problems and evaluating solutions.
HCI practitioners can employ several different types of prototypes:
* "Wizard of Oz" prototype: named after the Wizard of Oz in the film The Wizard of Oz. This is a prototyping method with which the computer-side of the interaction is faked by an offsite or hidden human. This prototyping technique is particularly useful for demonstrating functionality that is difficult or lengthy to engineer, such as applications like voice user interface.
* role prototype: this prototype may not be engineered or look and feel like a finished product, but the purpose of this type of prototype is to investigate and evaluation a user need, or what the prototype could do for the user. They can present features and functionality that the user might benefit from, to demonstrate what role an artifact like the prototype might fulfill for the user. A famous example of this kind of prototype would be the block of wood carried by Jeff Hawkins, when developing the Palm Pilot.
* paper prototype: this prototype may use cut paper, cardboard, or other inexpensive materials to demonstrate an interface. The purpose of this prototype is to test with users, without having to use a digital tool or develop a program to test functionality. Recently, paper prototyping has fallen out of favor within certain design circles, particularly because the low-fidelity nature of this method and the lack of effectiveness when testing with users.

## Scale modeling

In the field of scale modeling (which includes model railroading, vehicle modeling, airplane modeling, military modeling, etc.), a prototype is the real-world basis or source for a scale model—such as the real EMD GP38-2 locomotive—which is the prototype of Athearn's (among other manufacturers) locomotive model. Technically, any non-living object can serve as a prototype for a model, including structures, equipment, and appliances, and so on, but generally prototypes have come to mean full-size real-world vehicles including automobiles (the prototype 1957 Chevy has spawned many models), military equipment (such as M4 Shermans, a favorite among US Military modelers), railroad equipment, motor trucks, motorcycles, and space-ships (real-world such as Apollo/Saturn Vs, or the ISS). As of 2014, basic rapid prototype machines (such as 3D printers) cost about $2,000, but larger and more precise machines can cost as much as $500,000.

## Architecture

In architecture, prototyping refers to either architectural model making (as form of scale modelling) or as part of aesthetic or material experimentation, such as the Forty Wall House open source material prototyping centre in Australia.
Architects prototype to test ideas structurally, aesthetically and technically. Whether the prototype works or not is not the primary focus: architectural prototyping is the revelatory process through which the architect gains insight.

## Metrology

In the science and practice of metrology, a prototype is a human-made object that is used as the standard of measurement of some physical quantity to base all measurement of that physical quantity against. Sometimes this standard object is called an artifact. In the International System of Units (SI), there remains no prototype standard since May 20, 2019. Before that date, the last prototype used was the international prototype of the kilogram, a solid platinum-iridium cylinder kept at the Bureau International des Poids et Mesures (International Bureau of Weights and Measures) in Sèvres France (a suburb of Paris) that by definition was the mass of exactly one kilogram. Copies of this prototype are fashioned and issued to many nations to represent the national standard of the kilogram and are periodically compared to the Paris prototype. Now the kilogram is redefined in such a way that the Planck constant h is prescribed a value of exactly 6.62607015×10$^{−34}$ joule-second (J⋅s)
Until 1960, the meter was defined by a platinum-iridium prototype bar with two marks on it (that were, by definition, spaced apart by one meter), the international prototype of the metre, and in 1983 the meter was redefined to be the distance in free space covered by light in 1/299,792,458 of a second (thus defining the speed of light to be 299,792,458 meters per second).

## Natural sciences

In many sciences, from pathology to taxonomy, prototype refers to a disease, species, etc. which sets a good example for the whole category. In biology, prototype is the ancestral or primitive form of a species or other group; an archetype. For example, the Senegal bichir is regarded as the prototypes of its genus, Polypterus.