An undocumented feature is an unintended or undocumented hardware operation, for example an undocumented instruction, or software feature found in computer hardware and software that is considered beneficial or useful. Sometimes the documentation is omitted through oversight, but undocumented features are sometimes not intended for use by end users, but left available for use by the vendor for software support and development. Also, some unintended operation of hardware or software that ends up being of utility to users is simply a bug, flaw or quirk.

Since the suppliers of the software usually consider the software documentation to constitute a contract for the behavior of the software, undocumented features are generally left unsupported and may be removed or changed at will and without notice to the users.

Undocumented or unsupported features are sometimes also called "not manufacturer supported" (NOMAS), a term coined by PPC Journal in the early 1980s.[1][2][3][4] Some user-reported defects are viewed by software developers as working as expected, leading to the catchphrase "it's not a bug, it's a feature" (INABIAF) and its variations.[5]

Hardware

edit

Undocumented instructions, known as illegal opcodes, on the MOS Technology 6502 and its variants are sometimes used by programmers. These were removed in the WDC 65C02.

 
A Commodore 64 demo using undocumented features to bypass the machine's usual screen border

Video game and demoscene programmers have taken advantage of the unintended operation of computers' hardware to produce new effects or optimizations.[citation needed]

In 2019, researchers discovered that a manufacturer debugging mode, known as VISA, had an undocumented feature on Intel Platform Controller Hubs (PCHs), chipsets included on most Intel-based motherboards, which makes the mode accessible with a normal motherboard.[6] Since the chipset has direct memory access this is problematic for security reasons.

Software

edit

Undocumented features (for example, the ability to change the switch character in MS-DOS, usually to a hyphen) can be included for compatibility purposes (in this case with Unix utilities) or for future-expansion reasons. However; if the software provider changes their software strategy to better align with the business, the absence of documentation makes it easier to justify the feature's removal.

New versions of software might omit mention of old (possibly superseded) features in documentation but keep them implemented for users who've grown accustomed to them.[7]

In some cases, software bugs are referred to by developers either jokingly or conveniently as undocumented features.[5][8] This usage may have been popularised in some of Microsoft's responses to bug reports for its first Word for Windows product,[9] but doesn't originate there. The oldest surviving reference on Usenet dates to 5 March 1984.[10] Between 1969 and 1972, Sandy Mathes, a systems programmer for PDP-8 software at Digital Equipment Corporation (DEC) in Maynard, MA, used the terms "bug" and "feature" in her reporting of test results to distinguish between undocumented actions of delivered software products that were unacceptable and tolerable, respectively. This usage may have been perpetuated.[11]

Undocumented features themselves have become a major feature of computer games. Developers often include various cheats and other special features ("easter eggs") that are not explained in the packaged material, but have become part of the "buzz" about the game on the Internet and among gamers. The undocumented features of foreign games are often elements that were not localized from their native language.

Closed source APIs can also have undocumented functions that are not generally known. These are sometimes used to gain a commercial advantage over third-party software by providing additional information or better performance to the application provider.

See also

edit

References

edit
  1. ^ PPC HP-75 Description (PDF). NOMAS series. Vol. II. Fountain Valley, California, USA: Personal Programming Center. 1983. Archived (PDF) from the original on 2023-08-12. Retrieved 2023-08-12. p. i: The information contained in this document is made available with the understanding that it is not supported by Hewlett-Packard. […] When you read this document you will quickly notice that there is no effort to explain to non-design team members how or what is going on. At the time of [development] there was no plan to do this. While this document may stimulate more questions than it answers that situation must be accepted "as is". See the NOMAS statement stamped below. This material is being made available to the user community through PPC because we believe that information in this form is better than none at all. PPC offers this information as a service to the community. […] NOMAS - NOt MAnufacturer Supported - recipient agrees NOT to contact manufacturer […] (710 pages)
  2. ^ "Nomas - An Explanation". ZENROM - The HP-41 Programmer's Module - ZENROM 3B User's Handbook - A Programmer's Module - For Use With The HP-41 Handheld Computer (PDF). UK: Zengrange Ltd. / Leeds Booklet Printing Company. June 1984. p. viii. Archived (PDF) from the original on 2023-08-12. Retrieved 2023-08-12. (2+2+viii+152+2 pages)
  3. ^ "NOMAS Listings" (PDF). PPC Journal (PPC Special Issue E). Fountain Valley, California, USA: Personal Programming Center: 3. 1985. Archived (PDF) from the original on 2023-08-11. Retrieved 2023-08-11. p. 3: NOMAS Listings - PPC has selected listings of the HP-41 system, associated ROMs (HP-IL, […] etc.), and HP-75 system listings available on a NOt MAnufacturer Supported basis. These listings have been made available to the user community with the understanding that those receiving the listings not contact the manufacturer regarding them.
  4. ^ Wright, Gene (2023-08-03). "HP-15c CE hidden features - NOMAS". MoHPC - The Museum of HP Calculators. Archived from the original on 2023-08-09. Retrieved 2023-08-09.
  5. ^ a b Carr, Nicholas G. (2018-08-19). "'It's Not a Bug, It's a Feature.' Trite—or Just Right?". Business. wired.com. Archived from the original on 2023-08-09. Retrieved 2023-08-09.
  6. ^ Armasu, Lucian (2019-03-29). "Intel Chipsets' Undocumented Feature Can Help Hackers Steal Data". Tom's Hardware. Archived from the original on 2023-08-09. Retrieved 2023-08-09.
  7. ^ Arredondo, Larry (1984-03-26). "Review: WordStar 3.3". InfoWorld.
  8. ^ Older versions of the hacker Jargon File [1] define FEATURE as "A surprising property of a program. Occasionally documented."
  9. ^ James Gleick, What Just Happened, ch. 1
  10. ^ First Use on Usenet. Google Groups
  11. ^ Memories of Sandy Mathes, now Sandra Lee Harris, MIT Class of 1969, as of August 2010.