TenFourFox
Encyclopedia
TenFourFox is a Mozilla
-based browser closely related to Mozilla Firefox
, written for PowerPC
-based Macintosh
computers running Mac OS X
to retain compatibility with the older architecture and older versions of the operating system, and to add PowerPC
-specific optimizations for improved performance. Like Firefox, it includes compatibility with a wide range of addons, Acid2
compliance and near-Acid3
compliance, and HTML 5 and CSS
3 features; however, it also includes JavaScript
just-in-time compilation
, custom builds for specific PowerPC
processor families, and AltiVec
acceleration of key media codecs
. The primary maintainer is Cameron Kaiser.
's Mike Beltzner announced that the forthcoming Firefox 4 would not be released for Power Macintosh
computers, compatibility with Mac OS X Tiger having already been removed, making Firefox 3.6 the last supported release of Firefox on the older architecture and platform. Mozilla stopped making PowerPC-compatible universal builds
of Firefox 4 with beta 7.
In parallel, developer Cameron Kaiser created a test build of Firefox 4 that could run on his Power Mac G5
at the same time as support was being withdrawn from beta 7. This was released to users in separate builds for AltiVec Macs and G3 Macs on November 8, 2010. Aligning with previous precedent that modified builds of Firefox source could not use Firefox trademarks without permission, the project was forked and named TenFourFox. A full complement of builds for the G3, the 7400 and 7450 G4
families and the G5
were released with beta 8 on December 15, 2010. JavaScript
acceleration using its completed PowerPC version of TraceMonkey was released with beta 9 on January 12, 2011, and enabled fully for beta 11 on February 2, 2011. The finalized first release version, 4.0s, incorporated a security update and a fix for JavaScript performance, and was released on March 24, 2011. Version 4.0.1 incorporated bug fixes and AltiVec
-accelerated WebM
video and pixel compositing and was released on April 22, 2011. Version 4.0.2 also incorporated additional bug and security fixes and was released on May 28, 2011. Version 4.0.3 was a final security fix for 4.x and was released on June 20, 2011.
Version 5.0 switched to the current Mozilla rapid release framework, based on Firefox 5 and including additional AltiVec scaling and color features, and was released on June 16, 2011.
Versions 6.0, 6.0.1 and 7.0 closely mirrored the corresponding Firefox releases, with 6.0 improving AltiVec integration and ending official plugin support as well as introducing an add-on for QuickTime
playback outside of the browser. Version 6.0 was released as 6.0r correcting two high-priority issues on August 16, 2011 and 6.0.1 correcting the DigiNotar SSL
certificate leak on August 31, 2011; 7.0 was released in final form on September 27, 2011.
Although the project shares administration with Classilla
, another Mozilla fork for older Macintosh systems, the codebases are not closely related and target different versions of the Mac OS.
, Swiftfox
and El Furbe, TenFourFox includes specific compiler optimizations to improve its overall performance and issues specific builds tuned for specific processor families. However, it also includes custom new features, in particular its JavaScript
just-in-time compilation
backend and AltiVec
acceleration, and adds glue code
to enable interface features from Firefox 4 and later to still work on Mac OS X Tiger. This has led to favorable reviews on its speed and performance on older Macintosh computers.
Due to its compatibility with the older operating system, however, the browser lacks the entire feature set of modern Firefox versions. In particular, it does not fully support Core Text
, so it does not understand Apple Advanced Typography
features in certain international fonts; it does not support graphics acceleration
for compositing; and it does not support WebGL
(because PowerPC Tiger does not support OpenGL 2). Furthermore, for security and maintainability reasons, plugin support is deprecated, and will be removed in future versions.
Currently, the browser is built by using Mercurial changesets
on top of the existing Firefox source code.
Gecko (layout engine)
Gecko is a free and open source layout engine used in many applications developed by Mozilla Foundation and the Mozilla Corporation , as well as in many other open source software projects....
-based browser closely related to Mozilla Firefox
Mozilla Firefox
Mozilla Firefox is a free and open source web browser descended from the Mozilla Application Suite and managed by Mozilla Corporation. , Firefox is the second most widely used browser, with approximately 25% of worldwide usage share of web browsers...
, written for PowerPC
PowerPC
PowerPC is a RISC architecture created by the 1991 Apple–IBM–Motorola alliance, known as AIM...
-based Macintosh
Macintosh
The Macintosh , or Mac, is a series of several lines of personal computers designed, developed, and marketed by Apple Inc. The first Macintosh was introduced by Apple's then-chairman Steve Jobs on January 24, 1984; it was the first commercially successful personal computer to feature a mouse and a...
computers running Mac OS X
Mac OS X
Mac OS X is a series of Unix-based operating systems and graphical user interfaces developed, marketed, and sold by Apple Inc. Since 2002, has been included with all new Macintosh computer systems...
to retain compatibility with the older architecture and older versions of the operating system, and to add PowerPC
PowerPC
PowerPC is a RISC architecture created by the 1991 Apple–IBM–Motorola alliance, known as AIM...
-specific optimizations for improved performance. Like Firefox, it includes compatibility with a wide range of addons, Acid2
Acid2
Acid2 is a test page published and promoted by the Web Standards Project to expose web page rendering flaws in web browsers and other applications that render HTML. Named after the acid test for gold, it was developed in the spirit of Acid1, a relatively narrow test of compliance with the Cascading...
compliance and near-Acid3
Acid3
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 and JavaScript....
compliance, and HTML 5 and CSS
Cascading Style Sheets
Cascading Style Sheets is a style sheet language used to describe the presentation semantics of a document written in a markup language...
3 features; however, it also includes JavaScript
JavaScript
JavaScript is a prototype-based scripting language that is dynamic, weakly typed and has first-class functions. It is a multi-paradigm language, supporting object-oriented, imperative, and functional programming styles....
just-in-time compilation
Just-in-time compilation
In computing, just-in-time compilation , also known as dynamic translation, is a method to improve the runtime performance of computer programs. Historically, computer programs had two modes of runtime operation, either interpreted or static compilation...
, custom builds for specific PowerPC
PowerPC
PowerPC is a RISC architecture created by the 1991 Apple–IBM–Motorola alliance, known as AIM...
processor families, and AltiVec
AltiVec
AltiVec is a floating point and integer SIMD instruction set designed and owned by Apple, IBM and Freescale Semiconductor, formerly the Semiconductor Products Sector of Motorola, , and implemented on versions of the PowerPC including Motorola's G4, IBM's G5 and POWER6 processors, and P.A. Semi's...
acceleration of key media codecs
Codec
A codec is a device or computer program capable of encoding or decoding a digital data stream or signal. The word codec is a portmanteau of "compressor-decompressor" or, more commonly, "coder-decoder"...
. The primary maintainer is Cameron Kaiser.
History
In 2010, MozillaMozilla Foundation
The Mozilla Foundation is a non-profit organization that exists to support and provide leadership for the open source Mozilla project. The organization sets the policies that govern development, operates key infrastructure and controls trademarks and other intellectual property...
's Mike Beltzner announced that the forthcoming Firefox 4 would not be released for Power Macintosh
Power Macintosh
Power Macintosh, later Power Mac, was a line of Apple Macintosh workstation-class personal computers based on various models of PowerPC microprocessors that were developed, marketed, and supported by Apple Inc. from March 1994 until August 2006. The first models were the Power Macintosh 6100,...
computers, compatibility with Mac OS X Tiger having already been removed, making Firefox 3.6 the last supported release of Firefox on the older architecture and platform. Mozilla stopped making PowerPC-compatible universal builds
Universal binary
A universal binary is, in Apple parlance, an executable file or application bundle that runs natively on either PowerPC or Intel-manufactured IA-32 or Intel 64-based Macintosh computers; it is an implementation of the concept more generally known as a fat binary.With the release of Mac OS X Snow...
of Firefox 4 with beta 7.
In parallel, developer Cameron Kaiser created a test build of Firefox 4 that could run on his Power Mac G5
Power Mac G5
The Power Mac G5 is Apple's marketing name for models of the Power Macintosh that contains the IBM PowerPC G5 CPU. The professional-grade computer was the most powerful in Apple's lineup when it was introduced, widely hailed as the first 64-bit PC, and was touted by Apple as the fastest personal...
at the same time as support was being withdrawn from beta 7. This was released to users in separate builds for AltiVec Macs and G3 Macs on November 8, 2010. Aligning with previous precedent that modified builds of Firefox source could not use Firefox trademarks without permission, the project was forked and named TenFourFox. A full complement of builds for the G3, the 7400 and 7450 G4
PowerPC G4
PowerPC G4 is a designation used by Apple Computer to describe a fourth generation of 32-bit PowerPC microprocessors. Apple has applied this name to various processor models from Freescale, a former part of Motorola....
families and the G5
PowerPC 970
The PowerPC 970, PowerPC 970FX, PowerPC 970GX, and PowerPC 970MP, are 64-bit Power Architecture processors from IBM introduced in 2002. When used in Apple Inc. machines, they were dubbed the PowerPC G5....
were released with beta 8 on December 15, 2010. JavaScript
JavaScript
JavaScript is a prototype-based scripting language that is dynamic, weakly typed and has first-class functions. It is a multi-paradigm language, supporting object-oriented, imperative, and functional programming styles....
acceleration using its completed PowerPC version of TraceMonkey was released with beta 9 on January 12, 2011, and enabled fully for beta 11 on February 2, 2011. The finalized first release version, 4.0s, incorporated a security update and a fix for JavaScript performance, and was released on March 24, 2011. Version 4.0.1 incorporated bug fixes and AltiVec
AltiVec
AltiVec is a floating point and integer SIMD instruction set designed and owned by Apple, IBM and Freescale Semiconductor, formerly the Semiconductor Products Sector of Motorola, , and implemented on versions of the PowerPC including Motorola's G4, IBM's G5 and POWER6 processors, and P.A. Semi's...
-accelerated WebM
WebM
WebM is an audio-video format designed to provide a royalty-free, open video compression format for use with HTML5 video. The project's development is sponsored by Google....
video and pixel compositing and was released on April 22, 2011. Version 4.0.2 also incorporated additional bug and security fixes and was released on May 28, 2011. Version 4.0.3 was a final security fix for 4.x and was released on June 20, 2011.
Version 5.0 switched to the current Mozilla rapid release framework, based on Firefox 5 and including additional AltiVec scaling and color features, and was released on June 16, 2011.
Versions 6.0, 6.0.1 and 7.0 closely mirrored the corresponding Firefox releases, with 6.0 improving AltiVec integration and ending official plugin support as well as introducing an add-on for QuickTime
QuickTime
QuickTime is an extensible proprietary multimedia framework developed by Apple Inc., capable of handling various formats of digital video, picture, sound, panoramic images, and interactivity. The classic version of QuickTime is available for Windows XP and later, as well as Mac OS X Leopard and...
playback outside of the browser. Version 6.0 was released as 6.0r correcting two high-priority issues on August 16, 2011 and 6.0.1 correcting the DigiNotar SSL
Transport Layer Security
Transport Layer Security and its predecessor, Secure Sockets Layer , are cryptographic protocols that provide communication security over the Internet...
certificate leak on August 31, 2011; 7.0 was released in final form on September 27, 2011.
Although the project shares administration with Classilla
Classilla
Classilla is a Gecko-based web browser for PowerPC-based classic Macintosh systems, essentially an updated descendant of the now-defunct Mozilla Application Suite by way of the Mac OS port maintained in the now-aborted project...
, another Mozilla fork for older Macintosh systems, the codebases are not closely related and target different versions of the Mac OS.
Comparison with Mozilla Firefox
Similar to other optimized build projects such as Pale MoonPale Moon (web browser)
Pale Moon is a web browser based on Mozilla Firefox. It uses the Mozilla back-end . It is available for Windows platforms and distributed by Moonchild . Pale Moon builds on Firefox, optimizing for efficiency of code and aimed at current and modern microprocessors. Pale Moon is freely downloadable...
, Swiftfox
Swiftfox
Swiftfox is a web browser based on Mozilla Firefox. It is available for GNU/Linux platforms and distributed by Jason Halme. Swiftfox is a set of builds of Firefox optimized for different Intel and AMD microprocessors. Swiftfox is freely downloadable with open source code and proprietary binaries....
and El Furbe, TenFourFox includes specific compiler optimizations to improve its overall performance and issues specific builds tuned for specific processor families. However, it also includes custom new features, in particular its JavaScript
JavaScript
JavaScript is a prototype-based scripting language that is dynamic, weakly typed and has first-class functions. It is a multi-paradigm language, supporting object-oriented, imperative, and functional programming styles....
just-in-time compilation
Just-in-time compilation
In computing, just-in-time compilation , also known as dynamic translation, is a method to improve the runtime performance of computer programs. Historically, computer programs had two modes of runtime operation, either interpreted or static compilation...
backend and AltiVec
AltiVec
AltiVec is a floating point and integer SIMD instruction set designed and owned by Apple, IBM and Freescale Semiconductor, formerly the Semiconductor Products Sector of Motorola, , and implemented on versions of the PowerPC including Motorola's G4, IBM's G5 and POWER6 processors, and P.A. Semi's...
acceleration, and adds glue code
Glue code
In programming, glue code is code that does not contribute any functionality towards meeting the program's requirements, but instead serves solely to "glue together" different parts of code that would not otherwise be compatible...
to enable interface features from Firefox 4 and later to still work on Mac OS X Tiger. This has led to favorable reviews on its speed and performance on older Macintosh computers.
Due to its compatibility with the older operating system, however, the browser lacks the entire feature set of modern Firefox versions. In particular, it does not fully support Core Text
Core Text
Core Text is a Core Foundation style API in Mac OS X, first introduced in Mac OS X 10.4 Tiger, made public in Mac OS X 10.5 Leopard, and introduced for the iPad with iPhone SDK 3.2. Exposing a C API, it replaces the text rendering abilities of the now-deprecated QuickDraw and ATSUI frameworks in...
, so it does not understand Apple Advanced Typography
Apple Advanced Typography
Apple Advanced Typography is Apple Inc's computer software for advanced font rendering, supporting internationalization and complex features for typographers, a successor to Apple's little-used QuickDraw GX font technology of the mid-1990s...
features in certain international fonts; it does not support graphics acceleration
Graphics processing unit
A graphics processing unit or GPU is a specialized circuit designed to rapidly manipulate and alter memory in such a way so as to accelerate the building of images in a frame buffer intended for output to a display...
for compositing; and it does not support WebGL
WebGL
WebGL is a software library that extends the capability of the JavaScript programming language to allow it to generate interactive 3D graphics within any compatible web browser...
(because PowerPC Tiger does not support OpenGL 2). Furthermore, for security and maintainability reasons, plugin support is deprecated, and will be removed in future versions.
Currently, the browser is built by using Mercurial changesets
Mercurial
Mercurial is a cross-platform, distributed revision control tool for software developers. It is mainly implemented using the Python programming language, but includes a binary diff implementation written in C. It is supported on Windows and Unix-like systems, such as FreeBSD, Mac OS X and Linux...
on top of the existing Firefox source code.
External links
See also
- ClassillaClassillaClassilla is a Gecko-based web browser for PowerPC-based classic Macintosh systems, essentially an updated descendant of the now-defunct Mozilla Application Suite by way of the Mac OS port maintained in the now-aborted project...
- Mozilla Firefox
- List of web browsers
- Comparison of web browsersComparison of web browsersThe following tables compare general and technical information for a number of web browsers. Please see the individual products' articles for further information.-Historical web browsers:...