Popups in current form will add the following 96.1KiB code to the initially loaded JavaScript of a page:
* ext.popups.desktop (26.8 KiB)
* ~~jquery.jStorage (12.0 KiB)~~
* ~~moment (48.8 KiB)~~
* ext.popups.targets.desktopTarget (2.2 KiB)
* jquery.hidpi (1.4 KiB)
* ext.popups.renderer.desktopRenderer (4.9 KiB)
I recommend the following.
[x] Remove the use of moment. 48.8kb simply to render the line "Edited 33 minutes ago" is unacceptable. Consider using the library in MobileFrontend which is considerably smaller.
[x] Replace usage of jquery.jStorage with the much smaller and more limited mediawiki.storage
---
### Recommendations that've been shelved
> Only load the bare minimum needed for Popups on start up
> On the first hover pull down the remaining libraries. For users who do not hover over links they should not be penalised and future loads will come from localStorage.
AFAICT these recommendations both mean the same thing. Regardless, they were discussed at length during the rewrite, though we never wrote anything down, and our decision was that delaying the initial preview would damage the user experience for those users who have Page Previews enabled – bearing in mind that Page Previews will eventually be enabled for all anons on a majority of the Wikipedias.