Forward compatibility
Forward compatibility is a design characteristic that allows a system to accept input intended for a later version of itself. The concept can be applied to entire systems, electrical interfaces, telecommunication signals, data communication protocols, file formats, and computer programming languages. A standard supports forward compatibility if a product that complies with earlier versions can "gracefully" process input designed for later versions of the standard; the ability of a system to select known input and ignore unknown input also depends on whether the new standard is backward compatible.
The objective for forward compatible technology is for old devices to recognise when data has been generated for new devices.[1]
Forward compatibility is not the same as extensibility. A forward compatible design can process at least some of the data from a future version of itself. An extensible design makes upgrading easy. An example of both design ideas can be found in web browsers. At any point in time, a current browser is forward compatible if it gracefully accepts a newer version of HTML. Whereas how easily the browser code can be upgraded to process the newer HTML determines how extensible it is.
Examples
Telecommunication standards
The introduction of FM stereo transmission, or color television, allowed forward compatibility, since monophonic FM radio receivers and black-and-white TV sets still could receive a signal from a new transmitter.[1] It also allowed backward compatibility since new receivers could receive monophonic or black-and-white signals generated by old transmitters.
Video gaming
- The Game Boy is able to play certain games released for the Game Boy Color. These games utilize the same cartridge design as games for the original Game Boy, though the plastic used is typically black rather than gray and feature the GBC's logo on the label and packaging; Nintendo officially refers to such titles as being "Dual Mode".[2]
- The Leapster is able to play Leapster L-Max games.[3]
- The Leapster L-Max is able to play Leapster2 games.[4]
- The original PlayStation is compatible with the DualShock 2 controller. Likewise the PlayStation 3 can be played with a DualShock 4 controller.[5]
HTML
HTML is designed to treat all tags in the same way (as inert, unstyled inline elements) unless their appearance or behavior is overridden; either by the browser's default settings, or by scripts or styles included in the page.[6] This makes most new features degrade gracefully in older browsers. One case where this did not work as intended was script and style blocks, whose content is meant to be interpreted by the browser instead of being part of the page. Such cases were dealt with by enclosing the content within comment blocks.[7]
See also
References
- 1 2 Tulach, Jaroslav (2008). Practical API Design: Confessions of a Java Framework Architect. Apress. p. 233. ISBN 978-1-4302-0973-7.
- ↑ https://www.nintendo.com/consumer/systems/gameboy/compatibilitychart.jsp
- ↑ http://leapfrog.custhelp.com/app/answers/detail/a_id/1432
- ↑ http://leapfrog.custhelp.com/app/answers/detail/a_id/1433
- ↑ http://www.ign.com/wikis/playstation-4/DualShock_4_Compatible_PlayStation_3_Games
- ↑ Really undoing html.css by Eric A. Meyer.
- ↑ HTML <!--...--> Tag at w3schools.com: 'You can also use the comment tag to "hide" scripts from browsers without support for scripts [...]'.
This article is based on material taken from the Free On-line Dictionary of Computing prior to 1 November 2008 and incorporated under the "relicensing" terms of the GFDL, version 1.3 or later.
External links
- Rule of Extensibility: Design for the future, because it will be here sooner than you think, in The Art of Unix Programming