Pale Moon future roadmap

Last update: 2017-02-07

General Information

The Pale Moon project is a community-driven project, and as such the future roadmap of the browser is determined not only by what is decided by the project owner and other developers, but also by the community. There are occasional polls and constructive discussions on the forum that determine the inclusion and progress of certain features in the browser.

Pale Moon, over the course of its life, has been a product steadily diverging from its common Mozilla ancestor, with increasing differences between Pale Moon and Mozilla-based browser products. This divergent path will remain Pale Moon's future. To quote: "Pale Moon is not Firefox, and will never be again."
Of course there are a number of challenges on this kind of divergent (some might even say rebellious) path, like adoption of the browser as a truly independent force by the Internet community, and a number of technical advances as the Web develops.

Having a common ancestor in Mozilla code, it can draw in part on the public sources and feature developments in Mozilla products, and where possible, desired features will be ported across or re-implemented based on code from the Mozilla core code. However: Pale Moon will be selective in what is adopted into its core from Mozilla or written to implement features, and the current feature set is and will always be different as a result. Pale Moon does not aim to provide 100% parity with other browsers, but rather to offer a sane balance of features and workflow to its users now and in the future. Asking for such parity for specific features may bring the attention to such features and result in an evaluation of desirability based on the many factors involved, but never expect that Pale Moon will implement something "just because such-and-such other browser has it too".

This is a preliminary document with forward-looking statements. Development of a complex piece of software like the Pale Moon browser depends on many factors, so this roadmap should be seen as an indication or general direction - and a dynamic document to be updated as the need arises to change plans around.

Technology support

Pale Moon supports and will continue to support the following features/technologies:
  • Full UI customization
  • Full theming (complete themes) and lightweight theming (personas)
  • XUL and XBL to build interfaces and applications (including the ability to launch independent XUL-apps from the browser binaries).
  • NPAPI plug-ins
  • XPCOM binary components for extensions
  • Overlay and bootstrapped extensions, including restartless ones
  • Access to low-level APIs from extensions
  • Pale Moon Sync (in the secure, time-tested Weave fashion)

Core Work

Pale Moon's core is in flux, just like the web is. With the current practice of a total lack of standards and everyone implementing things based on draft specifications and recommendations instead of established standards, a lot of the features in Pale Moon are determined on an on-demand basis: If there is enough demand for a certain feature or if it is considered beneficial to the browser and the web, it will be implemented - other features may be put on hold or decided against altogether.

It is beyond the scope of this document to list planned HTML/content improvements in Pale Moon in detail, since many of those are small, individual changes and additions (even though some require a lot of work to implement by re-writing parts of the parser and renderer in Pale Moon's core).

The status of planned improvements is, to some extent, available on the GitHub issues page.

Layout and Rendering

The current layout and rendering engine (Goanna) is Pale Moon's independent implementation derived from Gecko. This engine debuted in v26 of the browser, and aims to improve upon the previous Pale Moon engine by steadily adopting more desired HTML and CSS features as well as improving rendering techniques. Some implementations will be significantly different than those found in other browsers, even Gecko-based ones, and aim to provide the best solutions to web design problems.

Version 27 of the browser carries the engine and subsequently platform version 3 of Goanna. This tackles a few rather technical issues and improve support for current operating systems and hardware - further improvements will be made over time.

JavaScript

JavaScript development is one of the ongoing focuses of the core work performed on Pale Moon, and the resulting implementation in v27 has a lot more of the ECMAScript version 6 (ES6) standard implemented than previous versions, which provides a solid base for websites to build their scripting on.

Please understand that implementing these changes is slow and meticulous work that requires extensive coding and testing to do properly. There is very little margin for error, because JavaScript not only runs in webpages in Pale Moon, but drives everything in the browser, including many parts of the program itself.

Media support

Media support is a regularly-discussed topic for Pale Moon users, since part of the user base would prefer a browser to also be a full-featured and fully dedicated&specialized media player. This is, however, not a goal of Pale Moon because of the inherent shift of focus from document content to media content. That being said, the Web has shifted to be more visual-media heavy and as such will require a browser to at least to some extent take on the media player role.

The following specific media streaming feature(s) is/are not on Pale Moon's roadmap:
  • In-browser DRM (EME)
We are extending the browser (especially for Linux) with FFmpeg media as a replacement for the (generally problematic) GStreamer and libstagefright solutions that are currently in place. Work is underway to make this the default decoding/media back-end for all supported platforms.

Platform (operating system) support

Pale Moon is originally a Microsoft Windows product.
On the roadmap are the following specific platforms to support in addition to Windows:
  • Linux (x86 and x64) -- Completed and actively maintained
  • Mac OS X -- Currently in development
    There is some movement on this front and we hope to have an official OS X version available later in the year
  • Android ARM -- Completed, but not actively developed due to lack of manpower
    We do plan to lift Android development up to the new milestone after desktop versions are released and have stabilized.

Front-end

Pale Moon's front-end features are well-established, tried-and-tested features that work well in terms of flexibility and customizability for users. The front-end is and will remain XUL-based and fully extensible by the user and browser extensions.

User Interface

The User Interface in Pale Moon is stable, based on the Firefox 4-28 browser era UI and will not be changed in any major way as far as how the UI operates. "Australis", the UI rework done by Mozilla in Firefox 29 and later which completely removed many customization features, will not be adopted. This also means full and ongoing support for total restyling (complete themes).

Developer Tools

We include Web Developer tools in our release versions of Pale Moon. These tools are based on the Mozilla-adaptation of Firebug, and provide a fairly broad set of tools for web developers and extension developers alike.

Plug-ins

Pale Moon supports NPAPI plug-ins. Unlike Firefox, we will not be deprecating or removing support for these kinds of plug-ins. This means that you will be able to continue using your media, authentication, and other plug-ins in Pale Moon like Flash, Silverlight, bank-authenticators or networking plug-ins for specific purposes.

Extensions and extension API

Pale Moon would not be complete without its support for browser extensions, of course, and the extension compatibility maintained in Pale Moon is purposefully kept (mostly) at the Firefox v24-28 front-end level. It provides compatibility with most of the browser extensions originally written for Mozilla Firefox (by accepting installations for Firefox application IDs) even though Pale Moon, from v25 onwards, is a different application altogether from an extension point of view.

The future of Pale Moon is to maintain this general level of compatibility with traditional (XUL) Firefox-targeted extensions, although the (transitional) dual-ID setup will eventually be removed, at which point only Pale Moon targeted extensions will be accepted. This will still allow developers to target both Pale Moon and Firefox with specific code for them in a single package, but Firefox-only extensions will not longer be accepted by the browser when this lands.

Pale Moon v27 has been fitted with an indicator in the add-on manager to make users aware which add-ons are native to Pale Moon and which are running as "Firefox compatible", to assist in troubleshooting.

One issue with Pale Moon accepting Firefox IDed XUL extensions is the fact that this compatibility mode does not extend beyond the installation manifest. This is on purpose, to not break with the chrome manifest specification for application targeting. XUL extensions will therefore have to add manifest entries for overlays, skins and content if they target individual applications, now and in the future. Of course, it would be greatly preferred if extension developers, while doing this, actually add full installation support for Pale Moon as well, targeting Pale Moon's GUID of {8de7fcbb-c55c-4fbe-bfc5-fc555c87dbc4}.

XUL extensions

This kind of extension uses the time-tested native extension capabilities to the browser XUL (UI markup) code, combined with JavaScript. XUL extensions are strongly preferred because they are independent of browser-included libraries that may change over time. With Pale Moon aiming to keep approximate front-end compatibility with v24 of Firefox, this is the API level that should be aimed for.

Version 27 of the browser may need some changes to cater to some changed toolkit APIs (most notably the way downloads and the find bar are handled).

Binary components in extensions

Unlike Firefox, Pale Moon will continue to offer full support for XUL and XPCOM binary-component extensions and there is no plan to discard the current extension system in lieu of Chrome-like alternatives (WebExtensions).
Mozilla has already marked XUL extensions and bootstrapped extensions as "legacy" and will be phasing out support for all but WebExtensions, which will affect many Firefox extensions. We have no plans to do this and many "legacy" Firefox extensions will continue to be possible on Pale Moon when targeting it.

JetPack (Add-on SDK) extensions

With Pale Moon v27, no extensions of this type are supported anymore.
As an alternative, a slightly-limited subset of the Jetpack SDK is available in the new PMkit set of libraries, included and available in v27.1 and beyond, which will offer support for many jpm-based SDK extensions. Extension developers can easily target this set of libraries with a few simple changes and a build specifically for the Pale Moon browser instead of Firefox.

Additional tools and services

Pale Moon authored utilities

Some of the tools used in conjunction with Pale Moon are due for an update. No solid date has been set for these improvements:
  • Improvement of the profile migration tool to deal with increasing issues with potentially installed and incompatible Firefox add-ons and Firefox profile file formats. (currently unavailable pending an update)
  • Improvement of the web installer to offer automatic selection/configuration based on a few different user templates.

Pale Moon Sync

Pale Moon Sync is still lacking two features on the server side, which should be addressed. The following improvements are planned, although no date has been set for completion. Potentially, it requires hiring a PHP web developer to add the features:
  • Account deletion.
    This would require the user's credentials (e-mail + password) to be entered, after which the user account and associated data are removed from the database.
  • Password recovery.
    Offering a password reset option by sending an e-mail to the user requesting this.

Pale Moon start page

We are partnered up with a start portal provider to improve the user experience on the Pale Moon Start page with customizability of shortcuts and localized content. This went live in the first quarter of 2015 and will likely remain the offered start page solution of choice.

Pale Moon add-on site services

The second generation add-on site will be one that has been created from the ground up to serve the Pale Moon project and community. This incarnation will take a protracted period of time to materialize and planning is still in the most preliminary of stages.

However, broad goals for the second generation site is to try and replicate core functionality from Mozilla's Add-on Site including:

  • Accounting system
  • Self-publishing and management of add-ons by add-on developers
  • Proper integration of all add-on site services including those for the add-on manager
  • All features from first generation add-on site

The add-ons site is in a state of constant refinement and development as such we have set up a forum thread and page for announcements and updates pertaining to the add-ons site.


Site and contents © 2009-2017 Moonchild Productions - All rights reserved
Pale Moon is subject to the following licensing.
Policies: Cookies - User Content - Privacy.