In
computing, version targeting is a technique that allows a group of (presumably knowledgeable) users (including
software developer
Software development is the process of conceiving, specifying, designing, Computer programming, programming, software documentation, documenting, software testing, testing, and Software bugs, bug fixing involved in creating and maintaining applic ...
s) 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.
In Mozilla Firefox
Version targeting has been used in
Mozilla Firefox
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 a ...
when it introduced
JavaScript 1.6 in
Firefox 1.5
The project that became Firefox today began as an experimental branch of the Mozilla Suite called ''m/b'' (or ''mozilla/browser''). Firefox retains the cross-platform nature of the original Mozilla browser, using the XUL user interface markup lan ...
and JavaScript 1.7 in
Firefox 2.0: developers willing to use the new
scripting engine
A scripting language or script language is a programming language that is used to manipulate, customize, and automate the facilities of an existing system. Scripting languages are usually interpreted at runtime rather than compiled.
A scripting ...
had to explicitly
opt-in.
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.
The proposal came after the release of
Internet Explorer 7 which improved its
CSS
Cascading Style Sheets (CSS) is a style sheet language used for describing the presentation of a document written in a markup language such as HTML or XML (including XML dialects such as SVG, MathML or XHTML). CSS is a cornerstone techno ...
2.1 support 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.
Microsoft contacted the
Web Standards Project
The Web Standards Project (WaSP) was a group of professional web developers dedicated to disseminating and encouraging the use of the web standards recommended by the World Wide Web Consortium, along with other groups and standards bodies.
Foun ...
and experts on
Web standards and asked for assistance in devising a new
DOCTYPE-like technique that could work across browsers and let
Web developer
A web developer is a programmer who develops World Wide Web applications using a client–server model. The applications typically use HTML, CSS, and JavaScript in the client, and any general-purpose programming language in the server. is used f ...
s 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.
Members of the
WaSP Microsoft Task Force were involved in the proposal, albeit not every member backed it.
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.
Criticism
The concept of version targeting, especially as proposed by Microsoft, has been criticised for being a new form of
browser sniffing
Browser sniffing (also known as browser detection) is a set of techniques used in websites and web applications in order to determine the web browser a visitor is using, and to serve browser-appropriate content to the visitor. It is also used to de ...
and for violating the principle of
forward-compatible development where
progressive enhancement is preferred.
Version targeting has been criticised for not giving incentives to developers to plan ahead for
forward compatibility.
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.
References
{{Reflist, 30em
Bibliography
WaSP IE8 round table discussion
Web browsers