ResourceLoader

Feature justification
On Wikimedia wikis, every page view includes hundreds of kilobytes of JavaScript, mostly for interface enhancements (written by the usability initiative). Parts of this will not be used, because e.g. the user doesn't click a certain button or because their old browser doesn't support a feature. In these cases, we are wasting bandwidth and loading time (for downloading, parsing and executing JS). This is especially bad on older browsers like IE6, where almost all features are unsupported (so a high percentage of all JS is 'wasted'), and parsing and executing JavaScript is extremely slow.

With on-demand loading, we can solve these problems. We can also make our resource loading more efficient by aggressively combining and minifying JavaScript and CSS, a practice employed by the UsabilityInitiative extension but not by MediaWiki core.

User requirements
Input was taken from a variety of sources and developed into a list of requirements.

Specifications
Prior to and during development of the ResourceLoader, detailed design specifications were developed and maintained. During transition from legacy JavaScript code, please refer to the list of JavaScript deprecations.

Test plan
Google Docs.

User interface design docs
N/A

Schedule
Google Docs.

Task management
Mostly in Google Docs. There is a tracking bug in Bugzilla.