Outdated interfaces. Technology obsolescence occurs when hardware and software have been superseded by more advanced versions. For example, when CPU chips migrated from 16 bits to 32 and then 64 bits, operating systems had to accommodate the older architecture. Microsoft, Apple and other OS developers had to decide whether to maintain old code for applications that were not updated by the developer. In many cases, old programs, whether off the shelf apps or custom programmed, may work perfectly well but can no longer run in the latest hardware environment. See
64-bit computing.
Very often, dropping support is a marketing decision as well as a desire to stop spending development resources on old technologies. However, there are times when it is obvious that things must change. For example, when the USB interface debuted, enabling vendors to use one type of plug, socket and specification for just about everything, the old serial and parallel hardware interfaces disappeared in a relatively short time. See
standards.