On Tue, Jan 30, 2024 at 1:57 PM Ori Livneh <ori.livneh(a)gmail.com> wrote:
If we're collecting exemplars, I'd like to add
Bartosz
Ciechanowski's superlative articles <https://ciechanow.ski/archives/>,
like the ones on bicycles <https://ciechanow.ski/bicycle/> and sound
<https://ciechanow.ski/sound/>. His articles are the best examples I know
of interactive content that complements long-form text content.
This concept was popularized by Bret Victor under the name "explorable
explanations <http://worrydream.com/ExplorableExplanations/>". There is a
whole Wikipedia article
<https://en.wikipedia.org/wiki/Explorable_explanation> on it. There are
some great examples on his website, and there are some websites for
collecting similar content, such as explorabl.es and an awesome list
<https://github.com/blob42/awesome-explorables>. I agree they are really
cool but...
The critical issue is *security*. Security is the
reason the graph
extension is not enabled. Security is the reason why interactive SVGs are
not enabled. Interactive visualizations have a programmatic element that
consists of code that executes in the user's browser. Such code needs to be
carefully sandboxed to ensure it cannot be used to exfiltrate user data or
surreptitiously perform actions on wiki.
I think it's fundamentally a human scaling problem. Being able to create
good interactive content is just a much more niche skill than being able to
create good text content. Interactive animations were very much part of
Yuri's vision
<https://meta.wikimedia.org/wiki/User:Yurik/I_Dream_of_Content> for the
Graph extension, but during the decade Graph was deployed in production the
number of such animations made was approximately zero. Granted Vega is
probably not the easiest framework for creating animations, but I don't
think there are other tools which would make it much easier. You could just
write arbitrary Javascript and package it as a gadget; but no one did that
either. Instead, both gadgets and Graph usage are mostly focused on very
basic things like showing a chess board or showing bar charts, because
those are the things that can be reused across a large number of articles
without manually tailoring the code to each, so the economics of creating
them work out.
Security is a challenge but could be worked around via iframes. But it's
hard to justify the effort required for doing that when there is no
community of animation makers interested in it - there are plenty of
volunteers who want to *have* animations, but it's not very clear that
there are any who want to *make* animations. This is the same problem geni
mentioned for videos - a lot of people say "we should have more videos",
but it's not very clear who would make them. If platform support were the
bottleneck here, I think the platform support would happen. But as things
look now, it would just be a poor investment of resources IMO (compared to
e.g. the Gadgets extension or Toolforge or Scribunto which do sustain
vibrant volunteer ecosystems which are significantly held back by the
limitations of these platforms).