In system programmer
In-System Programmer (abbreviated ISP) is a device which can program Microcontrollers and other programmable electronic devices while installed in a existing circuit(system), instead of pre-programming these devices before inserting them to their intended circuits.
Generally Speaking ISP is a device which interfaces your computer with a programmable chip for writing (send) a program which is compiled on your computer to the chip.There are other devices called gang programmers and various programing kits which offer a wide range of features and support more than one type of Microcontrollers (Microcontrollers differ from one manufacturer to the other and most differ in their socket(For each application the socket and the logic design may change) and based on this ISPs differ in nature) . ISPs are mostly intended to be cheap and affordable where as the others are for the so-called niche market and highly priced.
The industrial uses of ISP are many but the single most important feature for is that it allows manufacturers of electronic devices to reduce manufacturing time by integrating programming and testing into the same production line, rather than requiring two separate processes for assembling the circuit(Pcb with components) and programming the Microcontroller used in it. This will allow manufacturers to program the chips on their own instead of buying preprogrammed chips from a manufacturer , distributor or outsource the job to third party, there by making it easy to make any changes with out stopping the production. Overall time frames can be reduced and costs overruns due to programing bugs may be avoided at the manufacturing stage itself.
These features are also useful in R&D activities for professionals,companies,students working on new designs and logics.
Nowadays most beginners are interested in buying an ISPs over other devices as their availability increased and cost decreased. As the market segment gets crowded with many manufacturers of Isps the reliability of many ISPs available in the market can be quite a problem when choosing a right one for your needs. The best buy is not necessarily the one which supports the maximum devices but the one which can program your series of microcontrollers (AVR) and supports all features available on the microcontroller.Its more important to choose the right microcontroller for your application and then go for its ISP.
An example of ISP is Apocalypse In System serial programmer for Atmega microcontrollers
http://apocalypse.in/