Last modified: 2014-06-05 05:08:04 UTC

Wikimedia Bugzilla is closed!

Wikimedia migrated from Bugzilla to Phabricator. Bug reports are handled in Wikimedia Phabricator.
This static website is read-only and for historical purposes. It is not possible to log in and except for displaying bug reports and their history, links might be broken. See T67734, the corresponding Phabricator task for complete and up-to-date bug report information.
Bug 65734 - Light-weight tour launcher module
Light-weight tour launcher module
Status: RESOLVED FIXED
Product: MediaWiki extensions
Classification: Unclassified
GuidedTour (Other open bugs)
master
All All
: High major (vote)
: ---
Assigned To: Sam Smith
: performance
Depends on:
Blocks:
  Show dependency treegraph
 
Reported: 2014-05-25 04:28 UTC by Ori Livneh
Modified: 2014-06-05 05:08 UTC (History)
5 users (show)

See Also:
Web browser: ---
Mobile Platform: ---
Assignee Huggle Beta Tester: ---


Attachments

Description Ori Livneh 2014-05-25 04:28:55 UTC
mediawiki.libs.guiders, ext.guidedTour.lib, and ext.guidedTour.styles are loading on every page for anons on enwiki, where they represent the biggest, second biggest, and fourth biggest ResourceLoader modules. This can't be right -- you should use the lightweight init module pattern instead.
Comment 1 Steven Walling 2014-05-27 16:28:35 UTC
(In reply to Ori Livneh from comment #0)
> mediawiki.libs.guiders, ext.guidedTour.lib, and ext.guidedTour.styles are
> loading on every page for anons on enwiki, where they represent the biggest,
> second biggest, and fourth biggest ResourceLoader modules. This can't be
> right -- you should use the lightweight init module pattern instead.

In the short term, we're disabling the A/B test that is causing these to load (https://gerrit.wikimedia.org/r/#/c/135560/). That will get done hopefully today. 
If, after analysis, we want to re-enable any of these tours for anonymous users, we'll be sure to review this issue beforehand. Matt and Sam may have some comments as well.
Comment 2 Ori Livneh 2014-05-27 16:55:48 UTC
(In reply to Steven Walling from comment #1) 
> In the short term, we're disabling the A/B test that is causing these to
> load (https://gerrit.wikimedia.org/r/#/c/135560/). That will get done
> hopefully today. 
> If, after analysis, we want to re-enable any of these tours for anonymous
> users, we'll be sure to review this issue beforehand. Matt and Sam may have
> some comments as well.

Many thanks for acting quickly!
Comment 3 Steven Walling 2014-05-27 16:59:24 UTC
(In reply to Ori Livneh from comment #2)
> (In reply to Steven Walling from comment #1) 
> > In the short term, we're disabling the A/B test that is causing these to
> > load (https://gerrit.wikimedia.org/r/#/c/135560/). That will get done
> > hopefully today. 
> > If, after analysis, we want to re-enable any of these tours for anonymous
> > users, we'll be sure to review this issue beforehand. Matt and Sam may have
> > some comments as well.
> 
> Many thanks for acting quickly!

No problem. It just so happens the seven day test is over. ;)
Comment 4 Matthew Flaschen 2014-05-28 04:57:52 UTC
As Steven said, the experiment was coincidentally ending anyway.

The issue here is that although the tours were not auto-loaded regardless of an anon's actions, 'ext.gettingstarted.anonymousEditorAcquisition' was, which depends on 'ext.guidedTour.lib' (which then has transitive dependencies on other stuff), since launchTour was called as needed.

Since mw.guidedTour.launchTour is already async, we could just make a trivial launcher module, such that mw.guidedTour.launcher.launchTour (or whatever we call it) handled the mw.loader.using then called the real launchTour.

Then, we could mark mw.guidedTour.launchTour as @private, and discourage use outside the library code itself.

If people like this idea, I'll pivot the bug to that.

Side note, I think the main issue with ext.guidedTour.styles is probably the data URL @embeds (http://bits.wikimedia.org/en.wikipedia.org/load.php?debug=true\u0026lang=en&modules=ext.guidedTour.styles&only=styles&skin=vector&*).

There are two:

* X button - ext.guidedTour.x.svg (data:image/svg+xml...); this is repeated twice for vendor prefixes, but gzip should greatly minimize the impact of that (not sure if that's taken in account in the 4th measurement)
* Arrows - ext.guidedTour.arrows.png - This is bug.  Sam is working on https://trello.com/c/KNOy96ga/426-how-to-redraw-the-pokey .  If that's successful, we can draw the arrows in CSS and greatly reduce the size.  

In the meantime, this spurred me to crush our PNGs with optipng, which is some low-hanging fruit: https://gerrit.wikimedia.org/r/#/c/135739/
Comment 5 Gerrit Notification Bot 2014-06-02 17:53:17 UTC
Change 136788 had a related patch set uploaded by Phuedx:
Add a lightweight launcher for guided tours

https://gerrit.wikimedia.org/r/136788
Comment 6 Gerrit Notification Bot 2014-06-02 18:40:09 UTC
Change 136794 had a related patch set uploaded by Phuedx:
Use the lightweight tour launcher

https://gerrit.wikimedia.org/r/136794
Comment 7 Gerrit Notification Bot 2014-06-05 05:00:26 UTC
Change 136788 merged by jenkins-bot:
Add a lightweight launcher for guided tours

https://gerrit.wikimedia.org/r/136788
Comment 8 Gerrit Notification Bot 2014-06-05 05:05:33 UTC
Change 136794 merged by jenkins-bot:
Use the lightweight tour launcher

https://gerrit.wikimedia.org/r/136794

Note You need to log in before you can comment on or make changes to this bug.


Navigation
Links