33 Web Development Terms You May Not Have Heard Of
Tags: glossary, webdev, knowledge, tips
Published: 2020-06-30 15:17:50

Web Development has its own, special vocabulary that easily consists of <a href="https://leanpub.com/web-development-glossary">several thousand terms</a>. Even if you’re an experienced developer you’re unlikely to know all of them. Still, do you like to try your knowledge? How many of the following 33 terms&nbsp;<a href="#note-licenses"><sup>*</sup></a> do you know?

<ol>
<li><p>Alternate style sheet: A style sheet mutually exclusive to other style sheets, which can be selected for alternative styling. An alternate style sheet is indicated through the <code>alternate</code> keyword, as in <code>&lt;link rel="alternate stylesheet" href=example.css title=Example&gt;</code>.</p></li>
<li><p>AT-SPI (Assistive Technology Service Provider Interface): A platform-neutral framework for providing bi-directional communication between assistive technologies (AT) and applications. AT-SPI is the <i>de facto</i> standard for providing accessibility to free and open desktops, like GNU/Linux or OpenBSD, led by the GNOME Project.</p></li>
<li><p>Bounding box: The smallest possible rectangle (aligned with the axes of that element’s user coordinate system) that entirely encloses an element and its descendants.</p></li>
<li><p>CHSS (Cascading HTML Style Sheets): A style sheet language proposal drafted in 1994 by Håkon Wium Lie. <a href="https://www.w3.org/People/howcome/p/cascade.html">w3.org/People/howcome/p/cascade</a></p></li>
<li><p>CommonJS: A discontinued project with the goal to establish conventions on a module ecosystem for JavaScript outside of the web browser. The primary reason for its creation was a major lack of commonly accepted form of JavaScript scripts module units which could be reusable in environments different from that provided by a conventional web browser. CommonJS maintains specifications (including drafts) and a list of implementations. Work on CommonJS started in 2009, and ended in 2014.</p></li>
<li><p>Design by Contract: An approach for designing software. DBC prescribes that software designers should define formal, precise, and verifiable interface specifications for software components, which extend the ordinary definition of abstract data types with preconditions, postconditions, and invariants. These specifications are referred to as “contracts,” in accordance with a conceptual metaphor with the conditions and obligations of business contracts. The approach assumes all client components that invoke an operation on a server component will meet the preconditions specified as required for that operation.</p></li>
<li><p>First-class function: A function that is treated like any other variable in respective language.</p></li>
<li><p>Flock: A discontinued web browser that specialized in providing social networking and Web&nbsp;2.0 facilities built into its user interface. Flock was released in 2005 and discontinued in 2011.</p></li>
<li><p>Font failure period: A part of the font display timeline that governs that if a particular font face is not loaded, the user agent treats it as a failed load causing normal font fallback.</p></li>
<li><p>GWS (Google Web Server): A proprietary web server software that Google uses for its web infrastructure. GWS is used exclusively inside Google’s ecosystem for website hosting.</p></li>
<li><p>hasLayout: A peculiarity in Internet Explorer ≤8 that influences how page elements are drawn or interact. Though some elements “automatically” “have layout,” hasLayout can also be forced by particular CSS properties and declarations. <a href="https://www.sitepoint.com/internet-explorer-haslayout-property/">is.gd/KcpK3B</a></p></li>
<li><p>Image replacement: An early web design technique that uses CSS to replace text on a web page with an image containing that text. Image replacement is intended to keep the page accessible to users of screen readers, text-only web browsers, or other browsers where support for images or style sheets is either disabled or non-existent, while allowing the image to differ between styles. <a href="https://translate.google.com/translate?sl=de&tl=en&u=https%3A%2F%2Fmeiert.com%2Fde%2Fpublications%2Farticles%2F20050513%2F">is.gd/LVXQZj</a></p></li>
<li><p>Information scent: Cues in the information environment pointing to possible answers. Human users estimate how much useful information they are likely to get on a given path, and after seeking information compare the actual outcome with their predictions. When the information scent stops getting stronger (i.e., when users no longer expect to find useful additional information), users move to a different information source. Poor information scent is one reason for the ineffectiveness of “(click) here” and “(learn) more” links.</p></li>
<li><p>Lambda abstraction (anonymous function): A function definition that is not bound to an identifier. Anonymous functions are often arguments being passed to higher-order functions, or used for constructing the result of a higher-order function that needs to return a function. If the function is only used once, or a limited number of times, an anonymous function may be syntactically lighter than using a named function. Anonymous functions are ubiquitous in functional programming languages and other languages with first-class functions.</p></li>
<li><p>Layout table: An HTML table used not for intended functional purposes (for tabular data), but for layout. Using tables for layout, often in conjunction with spacer images, is a popular web design method from the 1990s and early 2000s that is largely not in use anymore.</p></li>
<li><p>Long task: Any uninterrupted period where the main UI thread is busy for 50&nbsp;ms or longer. Common examples include long running event handlers, expensive reflows and other re-renders, and work the browser does between different turns of the event loop. <a href="https://w3c.github.io/longtasks/">w3c.github.io/longtasks</a></p></li>
<li><p>MDL (Microsoft Design Language): A design language created by Microsoft. MDL is focused on typography and simplified icons, absence of clutter, increased content to chrome ratio (“content before chrome”), and basic geometric shapes. Early examples of MDL principles can be found in Encarta 95 and MSN 2.0. The design language evolved in Windows Media Center and Zune and was formally introduced as Metro during the unveiling of Windows Phone 7. It has since been incorporated into several of the company’s other products, including the Xbox 360 system software, Xbox One, Windows 8, Windows Phone, and Outlook.com.</p></li>
<li><p>n-based indexing: The option to freely choose the base index of an array. Usually programming languages allowing n-based indexing also allow negative index values and other scalar data types like enumerations, or characters may be used as an array index.</p></li>
<li><p>Orca: An extensible screen reader from the GNOME project for individuals who are blind or visually impaired. Using various combinations of speech synthesis and braille, Orca helps provide access to applications and toolkits that support the AT-SPI. The name Orca, which is the name of a killer whale, is a nod to the long-standing tradition of naming screen readers after aquatic creatures. <a href="https://wiki.gnome.org/Projects/Orca">wiki.gnome.org/Projects/Orca</a></p></li>
<li><p>Packed: A property of an array that consists only of elements (no holes), and that can be optimized accordingly.</p></li>
<li><p>Palpable content: Content that makes an element non-empty by providing either some descendant non-empty text, or else something users can hear (<code>audio</code> elements) or view (<code>video</code>, <code>img</code>, or <code>canvas</code> elements), or otherwise interact with (for example, interactive form controls). That elements whose content model allows flow content or phrasing content should have at least one node in its contents that is palpable (and that does not have the <code>hidden</code> attribute specified) is not a hard requirement.</p></li>
<li><p>QUIC (Quick UDP Internet Connection): A general-purpose transport-layer network protocol. While still an Internet Draft, QUIC is used by more than half of all connections from the Chrome web browser to Google’s servers. Most other web browsers do not support the protocol. Among other applications, QUIC improves performance of connection-oriented web applications that are currently using TCP. QUIC was designed by Jim Roskind at Google, implemented in 2012, announced in 2013, and then proposed to the IETF.</p></li>
<li><p>Recidivism: As an Agile metric, the total number of user stories completed in a Sprint that entered development for the second time divided by the total number of completed stories.</p></li>
<li><p>Referential transparency: A property of computer programs, an expression is called referentially transparent if it can be replaced with its corresponding value without changing the program’s behavior. This requires that the expression be pure, that is to say the expression value must be the same for the same inputs and its evaluation must have no side effects.</p></li>
<li><p>security.txt: A proposed standard for website security information that is meant to allow security researchers to easily report security vulnerabilities. The standard prescribes a text file called security.txt that is similar to robots.txt but intended to be read by humans wishing to contact a website’s owner about security issues.</p></li>
<li><p>Sliding Doors: A once-popular obsolete CSS technique to layer background images. It was presented in 2003 by Douglas Bowman. <a href="https://alistapart.com/article/slidingdoors/">alistapart.com/article/slidingdoors</a></p></li>
<li><p>Star hack: A once-popular CSS hack allowing to apply declarations only to Internet Explorer 7 and below. The hack consisted of adding an asterisk (<kbd>*</kbd>) right in front of the property of a declaration so to apply it in IE, while a declaration using the same—but “unprefixed”—property held for other browsers. The star hack is one of a class of similar hacks for Internet Explorer, as other characters, like an underscore (<kbd>_</kbd>), would have the same effect and would be used as well (underscore hack). <a href="http://browserhacks.com/#ie">browserhacks.com/#ie</a></p></li>
<li><p>Test pyramid: A concept by which unit tests, service tests, and UI tests, when drawn in comparison to their desired number and suspected cost (from many cheap unit tests to few expensive UI tests), form a pyramid. The test (automation) pyramid is attributed to Mike Cohn, who wrote about it in 2009.</p></li>
<li><p>TOFU (Trust on First Use): A security model used by client software which needs to establish a trust relationship with an unknown or not-yet-trusted endpoint. In a TOFU model, the client will try to look up the endpoint’s identifier, usually some kind of public key, in its local trust database. If no identifier exists yet for the endpoint, the client software will either prompt the user to determine if the client should trust the identifier or it will simply trust the identifier which was given and record the trust relationship into its trust database. If a different identifier is received in subsequent connections to the endpoint the client software will consider it to be untrusted. The TOFU approach can be used when connecting to arbitrary or unknown endpoints which do not have a trusted third party, such as a certificate authority.</p></li>
<li><p>URC (Uniform Resource Characteristic): A string of characters representing the metadata of a Uniform Resource Identifier (URI), a string identifying a web resource. A URC binds a URI’s associated Uniform Resource Name (URN), a unique name for a web resource, to its Uniform Resource Locator (URL), the location at which a web resource can be found. URCs were proposed as a specification in the mid-1990s, but were never adopted.</p></li>
<li><p>WCAG Samurai: A group of developers independent of the World Wide Web Consortium (W3C), led by Joe Clark, that from 2006 to 2008 published suggestions, corrections, and extensions to WCAG&nbsp;1.0.</p></li>
<li><p>Web Bundles: A draft standard to bundle and store HTTP responses. Web Bundles are a part of Google’s Web Packaging effort. <a href="https://github.com/WICG/webpackage">github.com/WICG/webpackage</a></p></li>
<li><p>Zombie cookie: An HTTP cookie that is recreated after deletion, usually from backups stored outside the web browser’s dedicated cookie storage. A zombie cookie may be stored online or directly onto a visitor’s computer, in a breach of browser security and making it difficult to remove. Zombie cookies may be installed on a web browser that has opted not to receive cookies.</p></li>
</ol>

How many terms did you know? Some? Many? All of them? Congratulations—you have a good sense of the field, and have probably been a member of it for some time.

Now, although there have been a great number of attempts to map web development vocabulary, <a href="https://www.wholewhale.com/tips/developer-terms-glossary/">most</a> <a href="https://www.smashingmagazine.com/2009/05/web-design-industry-jargon-glossary-and-resources/">glossaries</a> <a href="https://www.mediaheroes.com.au/insights/glossary-of-web-design-development-terminology/">consist</a> <a href="https://www.intechnic.com/blog/a-web-development-glossary-7-key-terms-you-should-know/">only</a> <a href="https://www.impactbnd.com/blog/42-web-development-terms-everyone-should-know">of a</a> <a href="https://redonion.se/en/web-design-and-web-development-glossary/">few</a> <a href="https://www.wearediagram.com/blog/web-design-glossary-common-terms-explained">dozen</a> <a href="https://www.designbrooklyn.com/resources/help-center/Website-Planning/Glossary-of-25-commonly-used-tech-terms-in-web-development.html">terms</a>, with <a href="http://www.landofcode.com/web-computer-terms-glossary.php">Land of Code</a> and the <a href="https://developer.mozilla.org/en-US/docs/Glossary">MDN Web Docs Glossary</a> so far having covered most ground with 250–500 terms.

As you already know, Web Development is much larger than that. Even with the about 2,000 terms <a href="https://leanpub.com/web-development-glossary"><cite>The Web Development Glossary</cite></a> charts now, the field’s special vocabulary easily consists of a few thousand terms more—just count the <a href="https://meiert.com/en/indices/html-elements/">hundreds of HTML elements</a>, <a href="https://meiert.com/en/indices/css-properties/">CSS properties</a>, and likely hundreds of language characteristics JavaScript alone include and that have, if anything, only temporarily been documented in their entirety in something like a glossary. Though that’s already a large chunk that’s not even documented in <cite>The Web Development Glossary</cite>, there’s still more.

Web Development is a great field.

<a href="https://leanpub.com/web-development-glossary" class="media alt"><img src="https://d3rdtowr0c5lpf.cloudfront.net/de/publications/books/the-web-development-glossary/cover-s.png" alt="The cover of “The Web Development Glossary.”" /></a>

<em id="note-licenses"><sup>*</sup> Some explanations are based on Wikipedia, the MDN Web Docs, or the HTML Living Standard. All references are available in the <a href="https://docs.google.com/gview?url=http://samples.leanpub.com/web-development-glossary-sample.pdf&hl=en">Appendix of <cite>The Web Development Glossary</cite> (PDF)</a>. This post is licensed under a <a href="https://creativecommons.org/licenses/by-sa/4.0/">CC BY-SA 4.0 (Attribution-ShareAlike 4.0 International) license</a>.</em>