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 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" ; by implication a scar or mark; by analogy a shape i.e. a statue,.
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
- 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.
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, 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, 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 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 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
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. This term is rather C/C++-specific; other terms for this notion are signature, type and interface. In prototype-based 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.