The QuickSurvey extension uses OOjs UI. All it does is render some buttons in a panel like so:
{F7797097}
{F7797100}
Running a quick survey adds about 70kb to a mobile page load [1] even when limiting the libraries being used to oojs-ui-core. As can be seen the majority of the offending code is in OOjs UI.
The majority of the styles inside oojs-ui.styles.icons and oojs-ui-core.styles are not being used according to a Chrome audit.
Please rethink how styles are loaded in OOjs UI.
= Audit of additional code loaded when enabling a quicksurvey
+oojs-ui-core 138.1kb
+oojs-ui-widgets 120.3kb
+oojs-ui.styles.icons 105.4kb
+oojs-ui-core.styles 63.2kb
+oojs-ui.styles.indicators 14.1 KiB
+ mediawiki.template.muhogan 9.1kb
+ext.quicksurveys.lib 4.4kb
+oojs-ui.styles.textures "4.0 KiB"
+ext.quicksurveys.views 6.5kb
+schema.QuickSurveysResponses 879 bytes
+ext.quicksurveys.init 683bytes
+schema.QuickSurveyInitiation 406 bytes
+ext.quicksurveys.survey.drink-survey 290 bytes
[1] https://en.m.wikipedia.beta.wmflabs.org/w/load.php?debug=false&lang=en&modules=ext.quicksurveys.survey.internal.example.survey%7Cext.quicksurveys.views%7Cmediawiki.template.muhogan%7Coojs-ui%2Coojs-ui-core%2Coojs-ui-toolbars%2Coojs-ui-widgets%2Coojs-ui-windows%7Coojs-ui-core.styles%7Coojs-ui.styles.icons%2Cindicators%2Ctextures%7Cschema.QuickSurveysResponses&skin=minerva&version=05pxip4
= Acceptance criteria
[] Drop use of oojs-ui-widgets and update styling rules
[] The connect event is no longer available - we'll have to assign a click event to every ButtonWidget. This click handler will need to communicate with the QuickSurvey so that the final pane is set.