A. 'Enabled' user preference
Provide a preference checkbox with Media Viewer enabled by default (e.g.:
'Show
images in Media Viewer'). To disable MV, users can uncheck this
preference.
* Pros: preferable from a UX point of view, indicates
this is our
recommended option, more user-friendy than JS gadget option below
* Cons: this approach has caused problems before[..]
Really? What problems?
B. 'Disable' user preference
Provide a preference checkbox where Media Viewer can be disabled (e.g.:
'Disable Media Viewer'). To re-enable MV, users can uncheck that
preference.
* Pros: addresses user concerns about pre-selection,
more user-friendy
than JS gadget option below
* Cons: unclear what Media Viewer is, confusing
because you have to
uncheck the preference to re-enable Media Viewer, adds to
preference bloat
issue
My understanding is that negations are harder to understand at a glance.
Check pref to not do X is more confusing than check pref to do X no matter
what the default state is.
I find it hard to believe users would object to having something checked by
default but not object to having its meaning reversed and unchecked by
default. If people are going to object its going to be to enabling the
feature. Phrasing it as a double negative wouldn't change that. Otoh humans
are silly sometimes.
C. Javascript gadget or script
Provide a site-wide gadget (or personal JS script) that would let users
disable
Media Viewer.
* Pros: no preference bloat, no cache fragmentation,
can simply ride on
#263 and provide example JS code.
* Cons: not user-friendly (the gadget has to be
installed manually), the
bootstrap script would still get loaded.
(Parser) Cache fragmentation should not be an issue either way. This sort
of pref should not need to vary the parser cache. (If it was implemented in
that way, i would predict strong objections in gerrit. We have only a few
cache varying prefs, and my understanding is we dont want to add any more
without a very very good reason).
-bawolff