Version targeting

Last updated

In computing, version targeting is a technique that allows a group of (presumably knowledgeable) users (including software developers) to use some advanced software features that were introduced in a particular software version while allowing users accustomed to the prior versions to still use the same software as if the new features were never added to the software. It is a way to ensure backward compatibility when new software features would otherwise break it.

Contents

In Mozilla Firefox

Version targeting has been used in Mozilla Firefox [1] when it introduced JavaScript 1.6 in Firefox 1.5 [2] and JavaScript 1.7 in Firefox 2.0: [3] developers willing to use the new scripting engine had to explicitly opt-in. [1]

Use in Internet Explorer

Version targeting was proposed by Microsoft for use in its Internet Explorer 8 product-in-development, but the idea was later discarded. [4] [5]

The proposal came after the release of Internet Explorer 7 which improved its CSS 2.1 support [6] at the cost of causing some websites that were developed for Internet Explorer 6 to be rendered incorrectly when viewed with the new browser version. [7] [8]

Microsoft contacted the Web Standards Project and experts on Web standards and asked for assistance in devising a new DOCTYPE-like technique that could work across browsers and let Web developers specify exact browser versions under which their Web sites are known to work correctly, and browsers implementing this form of version targeting would use the correct rendering engine versions to display the site correctly. [7] Members of the WaSP Microsoft Task Force were involved in the proposal, albeit not every member backed it. [9]

Some commentators suggested that it would be possible to use Internet Explorer 8's support for new DOCTYPEs in order to avoid using its version targeting meta tag. [10]

Criticism

The concept of version targeting, especially as proposed by Microsoft, has been criticised for being a new form of browser sniffing and for violating the principle of forward-compatible development where progressive enhancement is preferred. [11]

Version targeting has been criticised for not giving incentives to developers to plan ahead for forward compatibility. [11]

Positive reception

Version targeting has been welcomed by some people as a means to enable browsers to adopt Web standards without breaking compatibility with Web sites depended on old rendering engines for their functionality. [12]

Related Research Articles

<span class="mw-page-title-main">Internet Explorer</span> Web browser series by Microsoft

Internet Explorer is a retired series of graphical web browsers developed by Microsoft that were used in the Windows line of operating systems. While IE has been discontinued on most Windows editions, it remains supported on certain editions of Windows, such as Windows 10 LTSB/LTSC. Starting in 1995, it was first released as part of the add-on package Plus! for Windows 95 that year. Later versions were available as free downloads or in-service packs and included in the original equipment manufacturer (OEM) service releases of Windows 95 and later versions of Windows. Microsoft spent over US$100 million per year on Internet Explorer in the late 1990s, with over 1,000 people involved in the project by 1999. New feature development for the browser was discontinued in 2016 and ended support on June 15, 2022 for Windows 10 Semi-Annual Channel (SAC), in favor of its successor, Microsoft Edge.

Gecko is a browser engine developed by Mozilla. It is used in the Firefox browser, the Thunderbird email client, and many other projects.

<span class="mw-page-title-main">Firefox</span> Free and open-source web browser by Mozilla

Mozilla Firefox, or simply Firefox, is a free and open-source web browser developed by the Mozilla Foundation and its subsidiary, the Mozilla Corporation. It uses the Gecko rendering engine to display web pages, which implements current and anticipated web standards. In November 2017, Firefox began incorporating new technology under the code name "Quantum" to promote parallelism and a more intuitive user interface. Firefox is available for Windows 10 or later versions, macOS, and Linux. Its unofficial ports are available for various Unix and Unix-like operating systems, including FreeBSD, OpenBSD, NetBSD, illumos, and Solaris Unix. It is also available for Android and iOS. However, as with all other iOS web browsers, the iOS version uses the WebKit layout engine instead of Gecko due to platform requirements. An optimized version is also available on the Amazon Fire TV as one of the two main browsers available with Amazon's Silk Browser.

<span class="mw-page-title-main">Browser wars</span> Competition between web browsing applications for share of worldwide usage

A browser war is a competition for dominance in the usage share of web browsers. The "first browser war," (1995–2001) pitted Microsoft's Internet Explorer against Netscape's Navigator. Browser wars continued with the decline of Internet Explorer's market share and the popularity of other browsers including Firefox, Google Chrome, Safari, Microsoft Edge and Opera.

This is a comparison of both historical and current web browsers based on developer, engine, platform(s), releases, license, and cost.

Trident is a proprietary browser engine for the Microsoft Windows version of Internet Explorer, developed by Microsoft.

DOM Events are a signal that something has occurred, or is occurring, and can be triggered by user interactions or by the browser. Client-side scripting languages like JavaScript, JScript, VBScript, and Java can register various event handlers or listeners on the element nodes inside a DOM tree, such as in HTML, XHTML, XUL, and SVG documents.

Mozilla Firefox has features that allow it to be distinguished from other web browsers, such as Chrome and Internet Explorer.

Netscape Plugin Application Programming Interface (NPAPI) is a deprecated application programming interface (API) for web browser plugins, initially developed for Netscape Navigator 2.0 in 1995 and subsequently adopted by other browsers.

<span class="mw-page-title-main">Acid2</span> Online HTML rendering test

Acid2 is a webpage that test web browsers' functionality in displaying aspects of HTML markup, CSS 2.1 styling, PNG images, and data URIs. The test page was released on 13 April 2005 by the Web Standards Project. The Acid2 test page will be displayed correctly in any application that follows the World Wide Web Consortium and Internet Engineering Task Force specifications for these technologies. These specifications are known as web standards because they describe how technologies used on the web are expected to function.

A JavaScript engine is a software component that executes JavaScript code. The first JavaScript engines were mere interpreters, but all relevant modern engines use just-in-time compilation for improved performance.

<span class="mw-page-title-main">Internet Explorer 6</span> Web browser for Windows released in 2001

Microsoft Internet Explorer 6 (IE6) is a graphical web browser developed by Microsoft for Windows operating systems. Released on August 24, 2001, it is the sixth, and by now discontinued, version of Internet Explorer and the successor to Internet Explorer 5. It was the default browser in Windows XP and Windows Server 2003 and can replace previous versions of Internet Explorer on Windows NT 4.0, Windows 98, Windows 2000 and Windows ME but unlike version 5, this version does not support Windows 95 or earlier versions. IE6 SP2+ and IE7 were only included in or available (IE7) for Windows XP SP2+.

<span class="mw-page-title-main">Mozilla Application Suite</span> Discontinued Internet suite

The Mozilla Application Suite is a discontinued cross-platform integrated Internet suite. Its development was initiated by Netscape Communications Corporation, before their acquisition by AOL. It was based on the source code of Netscape Communicator. The development was spearheaded by the Mozilla Organization from 1998 to 2003, and by the Mozilla Foundation from 2003 to 2006.

In computing, quirks mode is an approach used by web browsers to maintain backward compatibility with web pages designed for old web browsers, instead of strictly complying with web standards in standards mode. This behavior has since been codified, so what was previously standards mode is now referred to as simply no quirks mode.

<span class="mw-page-title-main">Microsoft Silverlight</span> Application framework for writing and running rich Internet applications

Microsoft Silverlight is a discontinued application framework designed for writing and running rich internet applications, similar to Adobe's runtime, Adobe Flash. While early versions of Silverlight focused on streaming media, later versions supported multimedia, graphics, and animation, and gave support to developers for CLI languages and development tools. Silverlight was one of the two application development platforms for Windows Phone, but web pages using Silverlight did not run on the Windows Phone or Windows Mobile versions of Internet Explorer, as there was no Silverlight plugin for Internet Explorer on those platforms.

<span class="mw-page-title-main">Internet Explorer 8</span> Web browser for Windows released in 2009

Windows Internet Explorer 8 (IE8) is the eighth and, by now, discontinued version of the Internet Explorer web browser for Windows. It was released by Microsoft on March 19, 2009, as the successor to Internet Explorer 7. It was the default browser in Windows 7 and Windows Server 2008 R2.

<span class="mw-page-title-main">Acid3</span> Online HTML rendering test

The Acid3 test is a web test page from the Web Standards Project that checks a web browser's compliance with elements of various web standards, particularly the Document Object Model (DOM) and JavaScript.

<span class="mw-page-title-main">Internet Explorer 9</span> Web browser for Windows released in 2011

Internet Explorer 9 or IE9 is the ninth version of the Internet Explorer web browser for Windows. It was released by Microsoft on March 14, 2011, as the ninth version of Internet Explorer and the successor to Internet Explorer 8. Microsoft released Internet Explorer 9 as a major out-of-band version that was not tied to the release schedule of any particular version of Windows, unlike previous versions. It is the first version of Internet Explorer not to be bundled with a Windows operating system, although some OEMs have installed it with Windows 7 on their PCs. Internet Explorer 9 is the last version that is called Windows Internet Explorer. The software was rebranded simply as Internet Explorer starting in 2012 with the release of Internet Explorer 10.

<span class="mw-page-title-main">WebGL</span> JavaScript bindings for OpenGL in web browsers

WebGL is a JavaScript API for rendering interactive 2D and 3D graphics within any compatible web browser without the use of plug-ins. WebGL is fully integrated with other web standards, allowing GPU-accelerated usage of physics, image processing, and effects in the HTML canvas. WebGL elements can be mixed with other HTML elements and composited with other parts of the page or page background.

A compatibility mode is a software mechanism in which a software either emulates an older version of software, or mimics another operating system in order to allow older or incompatible software or files to remain compatible with the computer's newer hardware or software. Examples of the software using the mode are operating systems and Internet Explorer.

References

  1. 1 2 "Version Targeting: Threat or Menace?". 19 February 2008.
  2. "New in JavaScript 1.6 - Mozilla Developer Center". developer.mozilla.org. Archived from the original on 2008-08-23.
  3. "New in JavaScript 1.7 - Mozilla Developer Center". developer.mozilla.org. Archived from the original on 2008-08-22.
  4. "IEBlog". 17 July 2020.
  5. "Microsoft Backflips on Browser Version Targeting - SitePoint". 4 March 2008.
  6. Mielke, Markus; Massy, Dave (2006-01-31). "Cascading Style Sheet Compatibility in Internet Explorer 7". Microsoft Developer Network . Microsoft . Retrieved 2016-12-26.
  7. 1 2 "Beyond DOCTYPE: Web Standards, Forward Compatibility, and IE8". 22 January 2008.
  8. "IE7: Were they ready?". 2006-10-26. Archived from the original on 2018-01-30. Retrieved 2024-01-03.
  9. "Microsoft's Version Targeting Proposal - the Web Standards Project". Archived from the original on October 2, 2008. Retrieved September 2, 2008.
  10. "John Resig - HTML5 DOCTYPE".
  11. 1 2 "From Switches to Targets: A Standardista's Journey". 23 January 2008.
  12. "In defense of version targeting". 22 January 2008.

Bibliography