We've recently used OOUI for Media Viewer and had to make an effort to
"keep it in its own corner" due to its size. At the moment it's loaded on
demand when you click on a button that opens the dialog where all our
OOUI-dependent UI elements happen to be.
I was wondering if there was any plan to make OOUI more modular. Or if
there's somehow an option like that which we entirely missed. It's already
relatively large (41kb gzipped on beta right now) and likely to keep
growing. While I imagine that VE needs all of it, if the goal is for it to
be reused across all projects, it seems to be like the cold cache
experience could be improved if it was available in different parts that
can be loaded on demand.
Is something like that in the works? If not, what's the reasoning for
keeping it all under one JS file in production?
Maybe it will become so ubiquitous in mediawiki code that at some point in
the future it will make sense to load all of it as part of every page. But
to me it seems like OOUI is at a turning point at the moment, where teams
likes ours are judging whether or not they should use it for their project.
Which creates an entirely different situation, because project X has to
live with the consequences of being likely to be the way through which
users will load OOUI for the first time, just because it has more traffic
that the existing places where OOUI is currently deployed. And you don't
want to be the project that people feel is slow to open the first time they
use it, due to a dependency that is quite large compared to the small
portion that is really being used in the context of that project.
With that in mind, OOUI modularity is an important factor, in my opinion,
in the decision we're soon going to have to make as a team regarding
UploadWizard.