Forward compatibility: Difference between revisions
Citation bot (talk | contribs) Removed parameters. | Use this bot. Report bugs. | Suggested by AManWithNoPlan | Category:CS1 maint: url-status | #UCB_Category 684/1592 |
m →Examples: ws |
||
(7 intermediate revisions by 5 users not shown) | |||
Line 1: | Line 1: | ||
{{short description|Design characteristic that allows a system to accept input intended for a later version of itself}} |
{{short description|Design characteristic that allows a system to accept input intended for a later version of itself}} |
||
'''Forward compatibility''' or '''upward compatibility''' is a design characteristic that allows a [[system]] to accept [[Input/output|input]] intended for a later [[software versioning|version]] of itself. The concept can be applied to entire systems, electrical [[User interface|interface]]s, [[telecommunication]] [[ |
'''Forward compatibility''' or '''upward compatibility''' is a design characteristic that allows a [[system]] to accept [[Input/output|input]] intended for a later [[software versioning|version]] of itself. The concept can be applied to entire systems, electrical [[User interface|interface]]s, [[telecommunication]] [[signals]], data communication [[Communications protocol|protocols]], [[file format]]s, and [[programming language]]s. A [[technical standard|standard]] supports forward compatibility if a [[product (business)|product]] that complies with earlier versions can "[[graceful exit|gracefully]]" process input designed for later versions of the standard, ignoring new parts which it does not understand. |
||
The objective for forward compatible technology is for old devices to recognise when data has been generated for new devices.<ref name=Tulach>{{cite book|url=https://books.google.com/books?id=DXYZZVlWOAkC&pg=PA233|title=Practical API Design: Confessions of a Java Framework Architect|first=Jaroslav|last=Tulach|publisher=Apress|date=2008|isbn=978-1-4302-0973-7|page=233}}</ref> |
The objective for forward compatible technology is for old devices to recognise when data has been generated for new devices.<ref name=Tulach>{{cite book|url=https://books.google.com/books?id=DXYZZVlWOAkC&pg=PA233|title=Practical API Design: Confessions of a Java Framework Architect|first=Jaroslav|last=Tulach|publisher=Apress|date=2008|isbn=978-1-4302-0973-7|page=233}}</ref> |
||
Line 6: | Line 7: | ||
Forward compatibility for the older system usually means [[backward compatibility]] for the new system, i.e. the ability to process data from the old system; the new system usually has ''full'' compatibility with the older one, by being able to both process and generate data in the format of the older system. |
Forward compatibility for the older system usually means [[backward compatibility]] for the new system, i.e. the ability to process data from the old system; the new system usually has ''full'' compatibility with the older one, by being able to both process and generate data in the format of the older system. |
||
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]] |
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== |
==Examples== |
||
Line 15: | Line 16: | ||
===Video gaming=== |
===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 referred to such titles as being "Dual Mode".<ref>[https://www.nintendo.com/consumer/systems/gameboy/compatibilitychart.jsp Game Boy - Compatibility Chart]. Nintendo of America. Retrieved 3 October 2017.</ref>{{clarify|These are all examples of backwards compatibility, unless backwards compatibility inherently creates forwards compatibility in which case this should be merged with that article|date=September 2017}} |
* 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 referred to such titles as being "Dual Mode".<ref>[https://www.nintendo.com/consumer/systems/gameboy/compatibilitychart.jsp Game Boy - Compatibility Chart]. Nintendo of America. Retrieved 3 October 2017.</ref>{{clarify|These are all examples of backwards compatibility, unless backwards compatibility inherently creates forwards compatibility in which case this should be merged with that article|date=September 2017}} |
||
* The [[Leapster]] is able to play |
* The [[Leapster]] is able to play Leapster L-Max games, and the Leapster L-Max is able to play [[Leapster2]] games.{{clarify|These are all examples of backwards compatibility, unless backwards compatibility inherently creates forwards compatibility in which case this should be merged with that article|date=September 2017}} |
||
⚫ | * The original [[PlayStation (console)|PlayStation]] is compatible with the [[DualShock 2]] controller.<ref>{{Cite web|url=https://forum.digitpress.com/forum/showthread.php?152198-Will-the-ps2-controller-work-on-a-ps1|title=Will the ps2 controller work on a ps1?|website=forum.digitpress.com|language=en|access-date=2017-12-27}}</ref> Likewise the [[PlayStation 3]] can be played with a [[DualShock 4]] and [[DualSense]] controller.<ref>{{Cite web|url=https://www.gamespot.com/articles/playstation-4-controller-now-works-wirelessly-with-playstation-3/1100-6420866/|title=PlayStation 4 Controller Now Works Wirelessly With PlayStation 3|last=Newhouse|first=Alex|date=2014-07-01|website=GameSpot|language=en-US|access-date=2017-12-27}}</ref><ref>{{cite web |url=https://screenrant.com/ps5-dualsense-controller-works-ps3-not-ps4/ |title=PS5 DualSense Controller Works Perfectly On PS3 (But Not PS4) |work=ScreenRant |last=Santa Maria |first=Alex |date=2 November 2020 |access-date=1 July 2021 }} </ref><ref>{{Cite web|url=https://www.gamesradar.com/ps5-dualsense-controller-works-on-ps3/|title=PS5 DualSense controller works on PS3|first=Demi |last=Williams |date=2 November 2020|website=gamesradar}}</ref> |
||
* The Leapster L-Max is able to play [[Leapster2]] games.{{clarify|These are all examples of backwards compatibility, unless backwards compatibility inherently creates forwards compatibility in which case this should be merged with that article|date=September 2017}} |
|||
⚫ | * The original [[PlayStation (console)|PlayStation]] is compatible with the [[ |
||
*The [[Neo Geo Pocket]] was able to play most games from [[Neo Geo Pocket Color]].{{citation needed|date=September 2018}} |
*The [[Neo Geo Pocket]] was able to play most games from [[Neo Geo Pocket Color]].{{citation needed|date=September 2018}} |
||
*The [[WonderSwan]] is able to play some WonderSwan Color games.{{Clarify|reason=|date=September 2018}} |
*The [[WonderSwan]] is able to play some WonderSwan Color games.{{Clarify|reason=|date=September 2018}} |
||
*The [[Xbox One]] can use the controller from the [[Xbox Series X]] and [[Xbox Series S]], and |
*The [[Xbox One]] can use the controller from the [[Xbox Series X]] and [[Xbox Series S]], and likewise an Xbox One controller will work on the Xbox Series X and Series S.<ref>{{cite web |title=Can you use an Xbox Series X controller on Xbox One? Why, yes |url=https://www.windowscentral.com/does-xbox-series-x-series-s-controller-work-xbox-one |website=Windows Central |access-date=24 March 2021 |date=18 March 2021}}</ref> |
||
*The [[V.Smile]] Smartridge is compatible with every [[VTech]] console and handheld game system. However, it does not support the [[v.smile|V.Smile Baby]], [[V.smile|PC Pal]], and [[V.Flash]] systems.<ref>{{cite web |title=a deep dive of V.smile extended universe |url=https://youtube/neM43vgWhB0?si=-jBrjmsUumppKtJN |website=youtube |access-date=23 October 2024}}</ref> Depending on the device inserted, some functions may be limited, reflecting the varied capabilities of each console.<ref>{{cite web |title=V.Smile emulators |url=https://emulation.gametechwiki.com/index.php/V.Smile_emulators#google_vignette |website=Emulation General wiki |access-date=23 October 2024 }}</ref> |
|||
===HTML=== |
===HTML=== |
||
[[HTML]] is designed to treat all tags in the same way (as inert, unstyled [[inline element]]s) unless their appearance or behavior is overridden; either by the browser's default settings, or by scripts or styles included in the page.<ref>''[http://meyerweb.com/eric/thoughts/2004/09/15/emreallyem-undoing-htmlcss/ Really undoing html.css]'' by Eric A. Meyer.</ref> 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 |
[[HTML]] is designed to treat all tags in the same way (as inert, unstyled [[inline element]]s) unless their appearance or behavior is overridden; either by the browser's default settings, or by scripts or styles included in the page.<ref>''[http://meyerweb.com/eric/thoughts/2004/09/15/emreallyem-undoing-htmlcss/ Really undoing html.css]'' by Eric A. Meyer.</ref> 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 contents are meant to be interpreted by the browser instead of being part of the page. Such cases were dealt with by enclosing the contents within comment blocks.<ref>''[https://www.w3schools.com/tags/tag_comment.asp HTML <nowiki><!--...--></nowiki> Tag]'' at w3schools.com: 'You can also use the comment tag to "hide" scripts from browsers without support for scripts [...]'.</ref> |
||
As there is no mandatory upgrade of computers or web browsers, many web developers use a [[graceful degradation]] or [[progressive enhancement]] approach, attempting to make newly-created websites that are usable by people who have turned off Javascript or who have old computers or old web browsers or on a slow connection, yet still taking advantage of faster hardware and better JavaScript support in more modern web browsers, when available.<ref> |
|||
[https://www.w3.org/wiki/Graceful_degradation_versus_progressive_enhancement "Graceful degradation versus progressive enhancement"]. |
[https://www.w3.org/wiki/Graceful_degradation_versus_progressive_enhancement "Graceful degradation versus progressive enhancement"]. |
||
</ref> |
</ref> |
||
===Optical media=== |
===Optical media=== |
||
Each of the three most common 12 cm [[ |
Each of the three most common 12 cm [[optical media]] formats ([[CD]], [[DVD]], and [[Blu-ray]]) was first released in read-only form years before writable forms were available. Within each format, there is both forward and backward compatibility, in that most older read-only drives and players can read (but not write) writable media in the same format, while read/write drives can read (but not write) old read-only media. There is no forward compatibility between formats; a CD player, for instance, can't read a DVD (a newer format), not even the audio tracks. There may be backward compatibility for better marketability (such as a DVD player playing an audio CD), but it is not intrinsic to the standards.<ref> |
||
{{cite web|url=http://www.blu-raydisc.com/en/Technical/FAQs/Blu-rayDiscFormat.html|title=Can Blu-ray Disc products play DVD and CD?|access-date=January 25, 2009|archive-url=https://web.archive.org/web/20090218032036/http://www.blu-raydisc.com/en/Technical/FAQs/Blu-rayDiscFormat.html|archive-date=February 18, 2009|url-status=live|df=mdy-all}} |
{{cite web|url=http://www.blu-raydisc.com/en/Technical/FAQs/Blu-rayDiscFormat.html|title=Can Blu-ray Disc products play DVD and CD?|access-date=January 25, 2009|archive-url=https://web.archive.org/web/20090218032036/http://www.blu-raydisc.com/en/Technical/FAQs/Blu-rayDiscFormat.html|archive-date=February 18, 2009|url-status=live|df=mdy-all}} |
||
</ref> |
</ref> |
||
== |
==Not upwardly compatible<span class="anchor" id="NUC"></span>== |
||
{{unreferenced section|date=September 2017}} |
{{unreferenced section|date=September 2017}} |
||
Some products are not designed to be forward compatible, which has been referred to as NUC (not upwardly compatible). In some cases this might be intentional by the designers as a form of [[vendor lock-in]] or [[software regression]]. |
Some products are not designed to be forward compatible, which has been referred to as NUC (not upwardly compatible). In some cases this might be intentional by the designers as a form of [[vendor lock-in]] or [[software regression]]. |
||
For example, a cubicle producer considers changing their cubicle design. One designer promotes changing the footprint from 4 |
For example, a cubicle producer considers changing their cubicle design. One designer promotes changing the footprint from {{convert|4|foot|m|sigfig=3}} square to 1.2 meter square. Immediately, the sales manager calls "NUC" and the problem is understood: if the footprint changes and existing customers are considering buying more from the producer, they will have to fit a different sized unit in an office designed for the 4 foot <!-- just converted --> square cubicle. |
||
[[Planned obsolescence]] is a type of upward compatibility, but rather than adopting a policy of backwards compatibility, companies adopt a commercial policy of backwards incompatibility so that newer apps require newer devices. |
[[Planned obsolescence]] is a type of upward compatibility, but rather than adopting a policy of backwards compatibility, companies adopt a commercial policy of backwards incompatibility so that newer apps require newer devices. |
||
==See also== |
==See also== |
||
* [[Backward compatibility]] |
* [[Backward compatibility]] |
||
* [[Bug compatibility]], backward compatibility that maintains the known flaws |
* [[Bug compatibility]], backward compatibility that maintains the known flaws |
Latest revision as of 16:47, 21 November 2024
Forward compatibility or upward 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 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, ignoring new parts which it does not understand.
The objective for forward compatible technology is for old devices to recognise when data has been generated for new devices.[1]
Forward compatibility for the older system usually means backward compatibility for the new system, i.e. the ability to process data from the old system; the new system usually has full compatibility with the older one, by being able to both process and generate data in the format of the older system.
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
[edit]Telecommunication standards
[edit]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.[citation needed]
Video gaming
[edit]- 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 referred to such titles as being "Dual Mode".[2][clarification needed]
- The Leapster is able to play Leapster L-Max games, and the Leapster L-Max is able to play Leapster2 games.[clarification needed]
- The original PlayStation is compatible with the DualShock 2 controller.[3] Likewise the PlayStation 3 can be played with a DualShock 4 and DualSense controller.[4][5][6]
- The Neo Geo Pocket was able to play most games from Neo Geo Pocket Color.[citation needed]
- The WonderSwan is able to play some WonderSwan Color games.[clarification needed]
- The Xbox One can use the controller from the Xbox Series X and Xbox Series S, and likewise an Xbox One controller will work on the Xbox Series X and Series S.[7]
- The V.Smile Smartridge is compatible with every VTech console and handheld game system. However, it does not support the V.Smile Baby, PC Pal, and V.Flash systems.[8] Depending on the device inserted, some functions may be limited, reflecting the varied capabilities of each console.[9]
HTML
[edit]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.[10] 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 contents are meant to be interpreted by the browser instead of being part of the page. Such cases were dealt with by enclosing the contents within comment blocks.[11]
As there is no mandatory upgrade of computers or web browsers, many web developers use a graceful degradation or progressive enhancement approach, attempting to make newly-created websites that are usable by people who have turned off Javascript or who have old computers or old web browsers or on a slow connection, yet still taking advantage of faster hardware and better JavaScript support in more modern web browsers, when available.[12]
Optical media
[edit]Each of the three most common 12 cm optical media formats (CD, DVD, and Blu-ray) was first released in read-only form years before writable forms were available. Within each format, there is both forward and backward compatibility, in that most older read-only drives and players can read (but not write) writable media in the same format, while read/write drives can read (but not write) old read-only media. There is no forward compatibility between formats; a CD player, for instance, can't read a DVD (a newer format), not even the audio tracks. There may be backward compatibility for better marketability (such as a DVD player playing an audio CD), but it is not intrinsic to the standards.[13]
Not upwardly compatible
[edit]Some products are not designed to be forward compatible, which has been referred to as NUC (not upwardly compatible). In some cases this might be intentional by the designers as a form of vendor lock-in or software regression.
For example, a cubicle producer considers changing their cubicle design. One designer promotes changing the footprint from 4 foot (1.22 m) square to 1.2 meter square. Immediately, the sales manager calls "NUC" and the problem is understood: if the footprint changes and existing customers are considering buying more from the producer, they will have to fit a different sized unit in an office designed for the 4 foot square cubicle.
Planned obsolescence is a type of upward compatibility, but rather than adopting a policy of backwards compatibility, companies adopt a commercial policy of backwards incompatibility so that newer apps require newer devices.
See also
[edit]- Backward compatibility
- Bug compatibility, backward compatibility that maintains the known flaws
- Computer compatibility
- Downcycling
- Future proofing
- Repurposing
References
[edit]- ^ a b Tulach, Jaroslav (2008). Practical API Design: Confessions of a Java Framework Architect. Apress. p. 233. ISBN 978-1-4302-0973-7.
- ^ Game Boy - Compatibility Chart. Nintendo of America. Retrieved 3 October 2017.
- ^ "Will the ps2 controller work on a ps1?". forum.digitpress.com. Retrieved 2017-12-27.
- ^ Newhouse, Alex (2014-07-01). "PlayStation 4 Controller Now Works Wirelessly With PlayStation 3". GameSpot. Retrieved 2017-12-27.
- ^ Santa Maria, Alex (2 November 2020). "PS5 DualSense Controller Works Perfectly On PS3 (But Not PS4)". ScreenRant. Retrieved 1 July 2021.
- ^ Williams, Demi (2 November 2020). "PS5 DualSense controller works on PS3". gamesradar.
- ^ "Can you use an Xbox Series X controller on Xbox One? Why, yes". Windows Central. 18 March 2021. Retrieved 24 March 2021.
- ^ "a deep dive of V.smile extended universe". youtube. Retrieved 23 October 2024.
{{cite web}}
: Check|url=
value (help) - ^ "V.Smile emulators". Emulation General wiki. Retrieved 23 October 2024.
- ^ 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 [...]'.
- ^ "Graceful degradation versus progressive enhancement".
- ^ "Can Blu-ray Disc products play DVD and CD?". Archived from the original on February 18, 2009. Retrieved January 25, 2009.