Last modified: 2014-03-14 17:41:22 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 T63742, the corresponding Phabricator task for complete and up-to-date bug report information.
Bug 61742 - Architecture/Performance Review for 'Popups' extension
Architecture/Performance Review for 'Popups' extension
Status: RESOLVED FIXED
Product: MediaWiki extensions
Classification: Unclassified
Popups (Other open bugs)
unspecified
All All
: Normal normal (vote)
: ---
Assigned To: Ori Livneh
:
Depends on:
Blocks: 61167
  Show dependency treegraph
 
Reported: 2014-02-21 09:53 UTC by Prateek Saxena
Modified: 2014-03-14 17:41 UTC (History)
13 users (show)

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


Attachments

Comment 1 Prateek Saxena 2014-03-06 05:25:16 UTC
Here are some numbers that might help-

|---------------------+-------------+------------|
| Performance         | Unminified  | Minified   |
|---------------------+-------------+------------|
| JavaScript          | 15770 bytes | 6432 bytes |
| CSS (Compiled LESS) | 8122 bytes  | 6152 bytes |
|---------------------+-------------+------------|
| Total               | 23kb        | 12kb       |
|---------------------+-------------+------------|
| Time (in ms)        |             |            |
| on 3mbit/s          | ~80ms       | ~40ms      |
|---------------------+-------------+------------|
Comment 2 Prateek Saxena 2014-03-06 05:45:12 UTC
Resources
---------
* Resources being loaded:
 * mediawiki.api
 * mediawiki.jqueryMsg
 * moment [5]
* schema.Popups being loaded if EventLogging[4] is present
* Resources for the extension itself:
 * resources/ext.popups.core.js
 * resources/ext.popups.core.less
 * resources/ext.popups.animation.less


Requests
--------
Apart from the request being made to load the resources a request[1] is made every time a user hovers over a link, this request is aborted if the mouse moves elsewhere. Amongst other things the API call also requests for a 300px thumbnail using the PageImages extension. All successful requests are cached[2] in JavaScript.


Others
------
* Animations are being done in CSS.
* Links clicks are being hijacked[3] for logging events.


[1] http://git.wikimedia.org/blob/mediawiki%2Fextensions%2FPopups.git/dbfd8f415e027c75097ebb0c0c6986900a6592a5/resources%2Fext.popups.core.js#L32
[2] http://git.wikimedia.org/blob/mediawiki%2Fextensions%2FPopups.git/dbfd8f415e027c75097ebb0c0c6986900a6592a5/resources%2Fext.popups.core.js#L82
[3] http://git.wikimedia.org/blob/mediawiki%2Fextensions%2FPopups.git/dbfd8f415e027c75097ebb0c0c6986900a6592a5/resources%2Fext.popups.core.js#L284
[4] https://bugzilla.wikimedia.org/61880 (PATCH_TO_REVIEW)
[5] https://bugzilla.wikimedia.org/61481 (PATCH_TO_REVIEW)
Comment 3 Ori Livneh 2014-03-07 09:08:21 UTC
Can you project how many users will have this feature enabled?
Comment 4 Prateek Saxena 2014-03-07 09:14:32 UTC
I don't, but I've added some people who might :)
Comment 5 Dan Garry 2014-03-07 17:02:44 UTC
(In reply to Ori Livneh from comment #3)
> Can you project how many users will have this feature enabled?

The project will be considered finished when this is enabled by default for all anonymous users.

Note: We, obviously, need detailed user testing and information on user acceptance before we could even consider this end goal, and we're nowhere near that stage yet. If the intended audience find it annoying, we'd never roll it out. But that's our idealistic end goal. In the interim time, it'll be whoever turns the it on in their beta preferences.
Comment 6 Steven Walling 2014-03-10 22:27:34 UTC
(In reply to Dan Garry from comment #5)
> (In reply to Ori Livneh from comment #3)
> > Can you project how many users will have this feature enabled?
> 
> The project will be considered finished when this is enabled by default for
> all anonymous users.
> 
Yes, we should design this so it is performant enough for all readers to see. 

However, the first deployment will be as a Beta Feature, so the upper limit is all registered users on all wikis. This is unlikely however, since all Beta Features are opt-in only. For other popular Beta Features other than VE, we're seeing 5-6k registered users on enwiki, fewer on other wikis. Maybe a total of ~10,000 users across all wikis? We can get a precise number from preferences data if we need to.
Comment 7 Ori Livneh 2014-03-14 00:24:40 UTC
It performs well enough for beta deployment. If / when we enable it more broadly, I'd like to have a second look, for but for now: god speed!
Comment 8 Dan Garry 2014-03-14 17:41:22 UTC
(In reply to Ori Livneh from comment #7)
> It performs well enough for beta deployment. If / when we enable it more
> broadly, I'd like to have a second look, for but for now: god speed!

Noted. We won't deploy more broadly without a more thorough review. Thanks Ori!

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


Navigation
Links